/*
 * Recob admin interface theme
 * Light operational layout based on the supplied dashboard references.
 */

:root {
    --dark-bg: #eef6ff;
    --dark-bg-secondary: #f7fbff;
    --dark-card: rgba(255, 255, 255, 0.82);
    --dark-card-hover: rgba(255, 255, 255, 0.94);
    --dark-light: #eaf3ff;
    --dark-border: #d4e0ee;
    --dark-text: #07143d;
    --dark-text-secondary: #536487;
    --dark-text-muted: #7180a1;

    --page-bg: #eef6ff;
    --page-bg-soft: #f7fbff;
    --surface: rgba(255, 255, 255, 0.82);
    --surface-strong: rgba(255, 255, 255, 0.96);
    --surface-muted: rgba(238, 246, 255, 0.82);
    --surface-control: #f9fcff;
    --border: #d4e0ee;
    --border-strong: #c2d2e6;
    --ink: #07143d;
    --ink-soft: #253559;
    --muted: #536487;
    --muted-soft: #7180a1;
    --primary-blue: #2377ff;
    --primary-blue-hover: #0f63ee;
    --primary-blue-soft: #e7f0ff;
    --success-green: #12b981;
    --success-green-hover: #0c9f6d;
    --success-green-soft: #dcf8ec;
    --warning-yellow: #f4b63f;
    --warning-yellow-hover: #d99b19;
    --warning-yellow-soft: #fff4ce;
    --danger-red: #ef3f42;
    --danger-red-hover: #d9292d;
    --danger-red-soft: #ffe6e8;
    --purple-accent: #9357f5;
    --purple-accent-hover: #7c3aed;
    --purple-accent-soft: #f0e7ff;
    --orange-accent: #f47d3f;
    --orange-accent-soft: #ffeadf;
    --radius-card: 14px;
    --radius-control: 8px;
    --shadow-subtle: 0 4px 8px rgba(31, 78, 121, 0.08);
    --shadow-raised: 0 7px 8px rgba(31, 78, 121, 0.1);
    --shadow-modal: 0 22px 52px rgba(31, 58, 96, 0.24);
    --focus-ring: 0 0 0 3px rgba(35, 119, 255, 0.16);
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    overflow-x: hidden;
}

body {
    min-height: 100vh;
    margin: 0;
    padding: 0;
    color: var(--ink);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.5;
    background:
        linear-gradient(135deg, rgba(238, 246, 255, 0.98) 0%, rgba(248, 252, 255, 0.96) 48%, rgba(232, 243, 255, 0.96) 100%),
        url("../images/recob-logo-header.png") center 42% / min(920px, 72vw) auto no-repeat fixed;
    position: relative;
}

body.bg-gradient-to-br {
    background:
        linear-gradient(135deg, rgba(238, 246, 255, 0.98) 0%, rgba(248, 252, 255, 0.96) 48%, rgba(232, 243, 255, 0.96) 100%),
        url("../images/recob-logo-header.png") center 42% / min(920px, 72vw) auto no-repeat fixed !important;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(115deg, transparent 0 64%, rgba(155, 198, 239, 0.16) 64% 65%, transparent 65% 100%),
        linear-gradient(160deg, transparent 0 72%, rgba(105, 163, 226, 0.11) 72% 73%, transparent 73% 100%);
    opacity: 0.55;
}

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: #e7f0fb;
}

::-webkit-scrollbar-thumb {
    background: #b8c8de;
    border: 2px solid #e7f0fb;
    border-radius: 999px;
}

::-webkit-scrollbar-thumb:hover {
    background: #9fafc7;
}

body > header,
body > nav,
body > main,
body > footer {
    position: relative;
    z-index: 1;
}

body > header {
    z-index: 700;
}

.recob-toast {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 1200;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    max-width: min(26rem, calc(100vw - 2rem));
    padding: 0.875rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 0.75rem;
    box-shadow: 0 18px 40px rgba(7, 20, 61, 0.28);
    color: #ffffff;
    line-height: 1.35;
}

.recob-toast > i {
    flex: 0 0 auto;
}

.recob-toast span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.recob-toast button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    margin-left: 0.25rem;
    border-radius: 9999px;
    color: inherit;
    opacity: 0.86;
    transition: background-color 0.15s ease, opacity 0.15s ease;
}

.recob-toast button:hover {
    background: rgba(255, 255, 255, 0.16);
    opacity: 1;
}

.recob-toast-success {
    background: var(--success-green-hover);
}

.recob-toast-error {
    background: var(--danger-red-hover);
}

.recob-toast-warning {
    background: var(--warning-yellow-hover);
}

.recob-toast-info {
    background: var(--primary-blue-hover);
}

@media (max-width: 640px) {
    .recob-toast {
        right: 0.75rem;
        left: 0.75rem;
        max-width: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .recob-toast {
        transition: none !important;
    }

    .dalia-progress__bar {
        transition: none !important;
    }
}

body > header .max-w-7xl,
body > nav .max-w-7xl,
main.max-w-7xl {
    max-width: 1600px !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    color: var(--ink) !important;
    font-weight: 700;
    letter-spacing: 0;
    text-wrap: balance;
}

h1 {
    line-height: 1.12;
}

h2 {
    line-height: 1.18;
}

a {
    color: var(--primary-blue);
    text-decoration: none;
    transition: color 180ms ease-out, transform 180ms ease-out;
}

a:hover {
    color: var(--primary-blue-hover);
}

.text-dark-text,
.text-gray-900,
.text-gray-800,
.text-gray-700 {
    color: var(--ink) !important;
}

.text-dark-text-secondary,
.text-gray-600,
.text-gray-500,
.text-gray-400,
.text-muted,
.text-secondary {
    color: var(--muted) !important;
}

.text-blue-400,
.text-blue-500,
.text-blue-600 {
    color: var(--primary-blue) !important;
}

.text-green-400,
.text-green-500,
.text-green-600 {
    color: var(--success-green) !important;
}

.text-red-400,
.text-red-500,
.text-red-600 {
    color: var(--danger-red) !important;
}

.text-purple-400,
.text-purple-500,
.text-purple-600 {
    color: var(--purple-accent) !important;
}

.text-orange-400,
.text-orange-500,
.text-orange-600 {
    color: var(--orange-accent) !important;
}

.bg-dark-bg,
.bg-dark-light,
.bg-gray-50,
.bg-gray-100,
.bg-gray-200,
.bg-rose-50,
.bg-red-50,
.bg-blue-50 {
    background: var(--surface-muted) !important;
}

.bg-dark-card,
.bg-white,
.card,
.dashboard-card {
    background: var(--surface) !important;
    color: var(--ink) !important;
    border-color: var(--border) !important;
}

.bg-dark-card:hover,
.bg-white:hover,
.card:hover,
.dashboard-card:hover {
    background: var(--dark-card-hover) !important;
}

.border,
.border-gray-200,
.border-gray-300,
.border-dark-border,
.border-t,
.border-b,
.border-l,
.border-r {
    border-color: var(--border) !important;
}

.shadow,
.shadow-sm,
.shadow-md,
.hover\:shadow-md:hover {
    box-shadow: var(--shadow-subtle) !important;
}

.shadow-lg,
.shadow-xl {
    box-shadow: var(--shadow-raised) !important;
}

.shadow-2xl {
    box-shadow: var(--shadow-modal) !important;
}

/* Header */
header {
    overflow: visible !important;
    position: relative;
    padding-top: 22px;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    z-index: 120;
}

header .py-4 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

header .logo-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 154px;
    height: 56px;
    padding: 0;
    overflow: hidden;
    background: #9b9b99;
    border: 1px solid #d9e4f2;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(15, 35, 65, 0.08);
    cursor: pointer;
}

button.logo-container {
    appearance: none;
    font: inherit;
}

button.logo-container:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring), 0 2px 6px rgba(15, 35, 65, 0.08);
}

header .logo-container img {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover;
    filter: none;
    transition: transform 180ms ease-out, opacity 180ms ease-out;
}

header .logo-container img:hover {
    transform: scale(1.02);
}

.logo-container-login {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 220px;
    height: 80px;
    margin: 0 auto 16px;
    overflow: hidden;
    background: #9b9b99;
    border: 1px solid #d9e4f2;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(15, 35, 65, 0.08);
}

.logo-container-login img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

header h1 {
    color: var(--ink) !important;
    font-size: 1.72rem !important;
    font-weight: 800 !important;
}

header p {
    color: var(--muted) !important;
}

#userMenuButton {
    min-width: 48px;
    min-height: 48px;
    color: var(--muted) !important;
    border-radius: 999px !important;
}

#userMenuButton:hover,
#userMenuButton:focus-visible {
    color: var(--ink) !important;
    background: rgba(255, 255, 255, 0.62) !important;
}

#userMenuButton .fa-user-circle {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #7788a7;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid var(--border);
    border-radius: 999px;
    box-shadow: var(--shadow-subtle);
}

#userMenu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 1000 !important;
    min-width: 192px;
    padding: 6px;
    white-space: nowrap;
    background: var(--surface-strong) !important;
    border: 1px solid var(--border) !important;
    border-radius: 12px;
    box-shadow: 0 16px 32px rgba(31, 58, 96, 0.18) !important;
}

#userMenu a {
    display: block;
    padding: 10px 12px;
    color: var(--ink) !important;
    border-radius: 8px;
    font-size: 14px;
}

#userMenu a:hover {
    background: var(--primary-blue-soft);
    color: var(--primary-blue-hover) !important;
}

.dropdown-visible {
    position: relative;
    z-index: 1000 !important;
    overflow: visible !important;
}

/* Navigation */
nav {
    margin-top: 22px;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    position: relative;
    z-index: 120 !important;
    overflow: visible !important;
}

nav > .max-w-7xl {
    position: relative;
    z-index: 120;
    overflow: visible !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

nav > .max-w-7xl > .flex {
    position: relative;
    z-index: 120;
    min-height: 74px;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    overflow: visible !important;
    padding: 12px 14px;
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid var(--border);
    border-radius: 16px;
    box-shadow: var(--shadow-subtle);
    backdrop-filter: blur(10px);
}

nav > .max-w-7xl > .space-x-8 > :not([hidden]) ~ :not([hidden]) {
    margin-left: 0 !important;
}

.nav-link {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    min-width: 118px;
    min-height: 50px;
    justify-content: center;
    padding: 0 14px !important;
    color: var(--muted) !important;
    border: 0 !important;
    border-radius: 11px;
    font-weight: 600 !important;
    transition: color 180ms ease-out, background 180ms ease-out, transform 180ms ease-out;
}

.nav-link::after {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 5px;
    height: 4px;
    background: var(--primary-blue);
    border-radius: 999px;
    opacity: 0;
    transform: scaleX(0.55);
    transition: opacity 180ms ease-out, transform 180ms ease-out;
}

.nav-link:hover {
    color: var(--primary-blue) !important;
    background: rgba(255, 255, 255, 0.68);
    transform: translateY(-1px);
}

.nav-link.border-blue-400,
.nav-link.text-blue-400,
.nav-link.is-active {
    color: var(--primary-blue) !important;
    background: rgba(255, 255, 255, 0.9);
}

.nav-link.border-blue-400::after,
.nav-link.text-blue-400::after,
.nav-link.is-active::after {
    opacity: 1;
    transform: scaleX(1);
}

.nav-dropdown {
    display: inline-flex;
    align-items: stretch;
    position: relative;
    z-index: 140;
    overflow: visible !important;
}

.nav-dropdown > button {
    appearance: none;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.nav-dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 160;
    min-width: 190px;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--surface-strong);
    box-shadow: var(--shadow-raised);
    pointer-events: auto;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 160ms ease-out, transform 160ms ease-out, visibility 160ms ease-out;
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.nav-dropdown-menu a {
    display: flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 10px;
    border-radius: 8px;
    color: var(--ink);
    font-size: 0.875rem;
    font-weight: 600;
    white-space: nowrap;
}

.nav-dropdown-menu a:hover,
.nav-dropdown-menu a:focus-visible {
    color: var(--primary-blue);
    background: var(--primary-blue-soft);
    outline: none;
}

.k1-import-card,
.oderich-import-card,
.dalia-import-card {
    position: relative;
    z-index: 1;
}

.k1-import-card[data-export-card-active="true"],
.oderich-import-card[data-export-card-active="true"],
.dalia-import-card[data-export-card-active="true"],
.k1-import-card[data-actions-card-active="true"],
.oderich-import-card[data-actions-card-active="true"],
.dalia-import-card[data-actions-card-active="true"] {
    z-index: 80;
}

.k1-export-portal,
.oderich-export-portal,
.dalia-export-portal {
    position: fixed;
    z-index: 900;
    display: none;
    gap: 4px;
    overflow: hidden;
    border: 1px solid var(--border-strong);
    border-radius: 12px;
    background: var(--surface-strong);
    box-shadow: 0 14px 34px rgba(31, 58, 96, 0.18);
    padding: 8px;
    backdrop-filter: blur(10px);
}

.k1-export-portal:not(.hidden),
.oderich-export-portal:not(.hidden),
.dalia-export-portal:not(.hidden) {
    display: grid;
}

.k1-export-portal {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 224px;
    max-width: min(320px, calc(100vw - 24px));
}

.oderich-export-portal,
.dalia-export-portal {
    position: fixed;
}

.k1-export-option,
.oderich-export-option,
.dalia-export-option {
    display: flex;
    width: 100%;
    min-height: 42px;
    align-items: center;
    gap: 10px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--ink);
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 650;
    padding: 9px 10px;
    text-align: left;
    transition: background-color 160ms ease-out, color 160ms ease-out, transform 160ms ease-out;
}

.k1-export-option i,
.oderich-export-option i,
.dalia-export-option i {
    display: inline-flex;
    width: 20px;
    justify-content: center;
    font-size: 0.95rem;
}

.k1-export-option:hover,
.k1-export-option:focus-visible,
.oderich-export-option:hover,
.oderich-export-option:focus-visible,
.dalia-export-option:hover,
.dalia-export-option:focus-visible {
    background: var(--primary-blue-soft);
    color: var(--primary-blue-hover);
    outline: none;
    transform: translateY(-1px);
}

.k1-export-option:focus-visible,
.oderich-export-option:focus-visible,
.dalia-export-option:focus-visible {
    box-shadow: var(--focus-ring);
}

.k1-actions-menu,
.oderich-actions-menu,
.dalia-actions-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 120;
    display: grid;
    min-width: 190px;
    gap: 4px;
    padding: 8px;
    border: 1px solid var(--border-strong);
    border-radius: 12px;
    background: var(--surface-strong);
    box-shadow: 0 14px 34px rgba(31, 58, 96, 0.18);
}

.k1-actions-menu.hidden,
.oderich-actions-menu.hidden,
.dalia-actions-menu.hidden {
    display: none;
}

.k1-action-option,
.oderich-action-option,
.dalia-action-option {
    display: flex;
    width: 100%;
    min-height: 40px;
    align-items: center;
    gap: 10px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--ink);
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 650;
    padding: 9px 10px;
    text-align: left;
    transition: background-color 160ms ease-out, color 160ms ease-out, transform 160ms ease-out;
}

.k1-action-option i,
.oderich-action-option i,
.dalia-action-option i {
    display: inline-flex;
    width: 20px;
    justify-content: center;
    font-size: 0.95rem;
}

.k1-action-option:hover,
.k1-action-option:focus-visible,
.oderich-action-option:hover,
.oderich-action-option:focus-visible,
.dalia-action-option:hover,
.dalia-action-option:focus-visible {
    background: var(--primary-blue-soft);
    color: var(--primary-blue-hover);
    outline: none;
    transform: translateY(-1px);
}

.k1-action-option-danger:hover,
.k1-action-option-danger:focus-visible,
.oderich-action-option-danger:hover,
.oderich-action-option-danger:focus-visible,
.dalia-action-option-danger:hover,
.dalia-action-option-danger:focus-visible {
    background: var(--danger-red-soft);
    color: var(--danger-red-hover);
}

.k1-action-option:focus-visible,
.oderich-action-option:focus-visible,
.dalia-action-option:focus-visible {
    box-shadow: var(--focus-ring);
}

.k1-more-actions-button,
.oderich-more-actions-button,
.dalia-more-actions-button {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    gap: 7px;
    padding: 5px 9px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--muted);
    cursor: pointer;
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1;
    transition: background-color 160ms ease-out, border-color 160ms ease-out, color 160ms ease-out, transform 160ms ease-out;
}

.k1-more-actions-button i,
.oderich-more-actions-button i,
.dalia-more-actions-button i {
    font-size: 0.82rem;
}

.k1-more-actions-button:hover,
.k1-more-actions-button:focus-visible,
.k1-more-actions-button[aria-expanded="true"],
.oderich-more-actions-button:hover,
.oderich-more-actions-button:focus-visible,
.oderich-more-actions-button[aria-expanded="true"],
.dalia-more-actions-button:hover,
.dalia-more-actions-button:focus-visible,
.dalia-more-actions-button[aria-expanded="true"] {
    border-color: var(--border-strong);
    background: var(--surface-control);
    color: var(--primary-blue-hover);
    outline: none;
    transform: translateY(-1px);
}

.k1-more-actions-button:focus-visible,
.oderich-more-actions-button:focus-visible,
.dalia-more-actions-button:focus-visible {
    box-shadow: var(--focus-ring);
}

.dalia-progress {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--border-strong);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 251, 255, 0.9));
    color: var(--ink);
    box-shadow: 0 5px 8px rgba(31, 78, 121, 0.08);
}

.dalia-progress.hidden {
    display: none;
}

.dalia-progress__header {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.dalia-progress__icon {
    display: inline-flex;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--primary-blue-soft);
    color: var(--primary-blue-hover);
}

.dalia-progress[data-stage="ocr"] .dalia-progress__icon {
    background: var(--purple-accent-soft);
    color: var(--purple-accent-hover);
}

.dalia-progress[data-stage="salvando"] .dalia-progress__icon {
    background: var(--warning-yellow-soft);
    color: var(--warning-yellow-hover);
}

.dalia-progress[data-stage="concluido"] .dalia-progress__icon {
    background: var(--success-green-soft);
    color: var(--success-green-hover);
}

.dalia-progress[data-stage="erro"] .dalia-progress__icon {
    background: var(--danger-red-soft);
    color: var(--danger-red-hover);
}

.dalia-progress[data-stage="erro"] .dalia-progress__percent {
    color: var(--danger-red-hover);
}

.dalia-progress__copy {
    display: grid;
    min-width: 0;
    gap: 1px;
}

.dalia-progress__message {
    overflow: hidden;
    color: var(--ink-soft);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dalia-progress__detail {
    overflow: hidden;
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 600;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dalia-progress__percent {
    margin-left: auto;
    color: var(--primary-blue-hover);
    font-size: 1rem;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
}

.dalia-progress__track {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #dfeaf7;
}

.dalia-progress__bar {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--primary-blue), var(--success-green));
    transition: width 220ms ease-out;
}

.dalia-progress__footer {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: var(--muted-soft);
    font-size: 0.72rem;
    font-weight: 650;
}

@media (max-width: 640px) {
    .dalia-progress__header {
        align-items: flex-start;
    }

    .dalia-progress__percent {
        font-size: 0.9rem;
    }
}

/* Page rhythm */
main {
    padding-top: 32px !important;
    padding-bottom: 40px !important;
}

.section {
    animation: section-enter 220ms ease-out both;
}

@keyframes section-enter {
    from {
        opacity: 0.72;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.section > .flex.justify-between.items-center {
    margin-bottom: 26px !important;
}

.section h2 {
    font-size: 1.78rem !important;
    font-weight: 800 !important;
}

.grid {
    min-width: 0;
}

/* Surfaces and cards */
.bg-dark-card.rounded-lg,
.bg-dark-card.rounded-xl,
.bg-white.rounded-lg,
.bg-white.rounded-xl,
.card,
.dashboard-card {
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-card) !important;
    box-shadow: var(--shadow-subtle) !important;
    backdrop-filter: blur(8px);
    transition: background 180ms ease-out, border-color 180ms ease-out, box-shadow 180ms ease-out, transform 180ms ease-out;
}

.bg-dark-card.rounded-lg:hover,
.bg-dark-card.rounded-xl:hover,
.bg-white.rounded-lg:hover,
.bg-white.rounded-xl:hover,
.card:hover,
.dashboard-card:hover {
    border-color: var(--border-strong) !important;
}

.section > .bg-dark-card.p-6.mb-6,
.section > .bg-dark-card.rounded-lg.shadow.p-6.mb-6 {
    padding: 26px !important;
    background: rgba(255, 255, 255, 0.78) !important;
}

.section > .bg-dark-card.overflow-hidden,
.section > .bg-dark-card.rounded-lg.shadow.overflow-hidden {
    overflow: visible !important;
    background: rgba(255, 255, 255, 0.74) !important;
}

.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 > .bg-dark-card,
.grid.grid-cols-1.md\:grid-cols-4 > .bg-dark-card {
    min-height: 126px;
    padding: 22px !important;
}

.grid .rounded-full {
    width: 76px;
    height: 76px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.7), var(--shadow-subtle);
}

.bg-blue-500\/20 {
    background: #ddebff !important;
    color: var(--primary-blue) !important;
}

.bg-green-500\/20 {
    background: var(--success-green-soft) !important;
    color: var(--success-green) !important;
}

.bg-red-500\/20 {
    background: var(--danger-red-soft) !important;
    color: var(--danger-red) !important;
}

.bg-purple-500\/20 {
    background: var(--purple-accent-soft) !important;
    color: var(--purple-accent) !important;
}

.bg-orange-500\/20 {
    background: var(--orange-accent-soft) !important;
    color: var(--orange-accent) !important;
}

/* Forms */
label {
    color: var(--ink) !important;
    font-weight: 650 !important;
}

input,
select,
textarea {
    min-height: 46px;
    width: 100%;
    padding: 10px 14px !important;
    color: var(--ink) !important;
    background: var(--surface-control) !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: var(--radius-control) !important;
    box-shadow: inset 0 1px 2px rgba(31, 78, 121, 0.04);
    font: inherit;
    transition: border-color 160ms ease-out, box-shadow 160ms ease-out, background 160ms ease-out;
}

textarea {
    min-height: 112px;
    resize: vertical;
}

input:hover,
select:hover,
textarea:hover {
    border-color: #aebfda !important;
}

input:focus,
select:focus,
textarea:focus,
button:focus-visible,
a:focus-visible {
    outline: none !important;
    border-color: var(--primary-blue) !important;
    box-shadow: var(--focus-ring) !important;
}

input::placeholder,
textarea::placeholder {
    color: #7c8ba8 !important;
    opacity: 1;
}

input[type="checkbox"],
input[type="radio"] {
    width: 18px !important;
    min-height: 18px;
    accent-color: var(--primary-blue);
    box-shadow: none;
}

/* Buttons */
button,
a.bg-blue-600,
a.bg-green-600,
a.bg-purple-600,
a.bg-red-600,
a.bg-yellow-600,
a.bg-orange-600,
a.bg-gray-600 {
    transition: transform 160ms ease-out, background 160ms ease-out, border-color 160ms ease-out, color 160ms ease-out, box-shadow 160ms ease-out;
}

.bg-blue-600,
.btn-primary {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #edf5ff !important;
    border: 1px solid #d9e8fb !important;
    border-radius: var(--radius-control) !important;
    color: var(--primary-blue-hover) !important;
    font-weight: 760 !important;
    box-shadow: var(--shadow-subtle) !important;
}

.bg-blue-600:hover,
.hover\:bg-blue-700:hover,
.btn-primary:hover {
    background: #e3efff !important;
    border-color: #c7dcf6 !important;
    transform: translateY(-1px);
    box-shadow: var(--shadow-raised) !important;
}

.bg-blue-600:active,
.btn-primary:active {
    transform: translateY(0);
}

.bg-green-600 {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #ebfbf4 !important;
    color: #0b8f61 !important;
    border: 1px solid #d1f2e4 !important;
    border-radius: var(--radius-control) !important;
    font-weight: 760 !important;
    box-shadow: var(--shadow-subtle) !important;
}

.bg-green-600:hover,
.hover\:bg-green-700:hover {
    background: #def7ec !important;
    border-color: #bdebd7 !important;
    transform: translateY(-1px);
    box-shadow: var(--shadow-raised) !important;
}

.bg-gray-600,
.bg-gray-300,
.bg-gray-400,
.bg-dark-light {
    min-height: 46px;
    background: #eef4ff !important;
    color: var(--ink) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-control) !important;
    font-weight: 650 !important;
}

.bg-gray-600:hover,
.hover\:bg-gray-700:hover,
.bg-gray-300:hover,
.hover\:bg-gray-400:hover,
.bg-dark-light:hover,
.hover\:bg-dark-border:hover {
    background: #e4eefc !important;
    color: var(--primary-blue-hover) !important;
    transform: translateY(-1px);
}

.bg-red-600 {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #fff1f3 !important;
    color: #c52232 !important;
    border: 1px solid #f3c4cb !important;
    border-radius: var(--radius-control) !important;
    font-weight: 760 !important;
    box-shadow: var(--shadow-subtle) !important;
}

.bg-red-600:hover,
.hover\:bg-red-700:hover {
    background: #ffe8eb !important;
    border-color: #edb3bd !important;
    transform: translateY(-1px);
    box-shadow: var(--shadow-raised) !important;
}

.bg-yellow-600 {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #fff8eb !important;
    color: #805800 !important;
    border: 1px solid #f1cf95 !important;
    border-radius: var(--radius-control) !important;
    font-weight: 760 !important;
    box-shadow: var(--shadow-subtle) !important;
}

.bg-yellow-600:hover,
.hover\:bg-yellow-700:hover {
    background: #fff2d6 !important;
    border-color: #e7c17e !important;
    transform: translateY(-1px);
    box-shadow: var(--shadow-raised) !important;
}

.bg-purple-600 {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #f3ebff !important;
    color: var(--purple-accent-hover) !important;
    border: 1px solid #e6d8ff !important;
    border-radius: var(--radius-control) !important;
    font-weight: 760 !important;
    box-shadow: var(--shadow-subtle) !important;
}

.bg-purple-600:hover,
.hover\:bg-purple-700:hover {
    background: #eadfff !important;
    border-color: #d8c4fb !important;
    transform: translateY(-1px);
    box-shadow: var(--shadow-raised) !important;
}

.bg-orange-600 {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--orange-accent-soft) !important;
    color: #bd5422 !important;
    border: 1px solid #f8cfbb !important;
    border-radius: var(--radius-control) !important;
    font-weight: 760 !important;
    box-shadow: var(--shadow-subtle) !important;
}

.bg-orange-600:hover,
.hover\:bg-orange-700:hover {
    background: #ffdfce !important;
    border-color: #f2b796 !important;
    transform: translateY(-1px);
    box-shadow: var(--shadow-raised) !important;
}

.bg-blue-600 i,
.bg-green-600 i,
.bg-purple-600 i,
.bg-red-600 i,
.bg-yellow-600 i,
.bg-orange-600 i,
.bg-gray-600 i,
.btn-primary i {
    margin-right: 0 !important;
    font-size: 16px;
}

.text-xs.bg-blue-600,
.text-xs.bg-green-600,
.text-xs.bg-purple-600,
.text-xs.bg-red-600,
.text-xs.bg-yellow-600,
.text-xs.bg-orange-600,
.text-xs.bg-gray-600 {
    min-height: 34px;
    gap: 7px;
    padding: 0 12px !important;
    font-size: 12px !important;
}

button[title] {
    min-width: 36px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

button[title]:hover {
    background: rgba(35, 119, 255, 0.08);
}

/* Lists */
.admin-list-row,
.bg-rose-50,
.bg-red-50,
.bg-dark-bg\/50 {
    background: rgba(255, 255, 255, 0.78) !important;
    border: 1px solid var(--border) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    transition: background 160ms ease-out, border-color 160ms ease-out, transform 160ms ease-out, box-shadow 160ms ease-out;
}

.admin-list-row:hover,
.bg-rose-50:hover,
.bg-red-50:hover,
.bg-dark-bg\/50:hover {
    background: var(--surface-strong) !important;
    border-color: var(--border-strong) !important;
    transform: translateY(-1px);
    box-shadow: var(--shadow-subtle) !important;
}

#listaTitulos > .grid,
#listaColaboradores > .grid {
    padding: 18px;
}

#listaTitulos > .devedor-title-groups {
    padding: 18px;
}

.devedor-title-groups {
    display: grid;
    gap: 14px;
}

.titles-group-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    color: var(--ink);
    background: rgba(247, 251, 255, 0.88);
    border: 1px solid var(--border);
    border-radius: 12px;
}

.titles-group-summary-title {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
}

.titles-group-summary-text {
    margin: 2px 0 0;
    color: var(--muted);
    font-size: 13px;
}

.titles-group-summary-total {
    display: grid;
    gap: 2px;
    text-align: right;
}

.titles-group-summary-total span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.titles-group-summary-total strong {
    color: var(--success-green);
    font-size: 18px;
    font-weight: 850;
}

.devedor-title-group {
    overflow: hidden;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid var(--border);
    border-radius: 12px;
}

.devedor-title-header {
    width: 100%;
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    color: var(--ink);
    text-align: left;
    background: rgba(255, 255, 255, 0.7);
    border: 0;
    cursor: pointer;
    transition: background 160ms ease-out;
}

.devedor-title-header:hover,
.devedor-title-header:focus-visible {
    background: var(--surface-strong);
    outline: none;
}

.devedor-title-header:focus-visible {
    box-shadow: var(--focus-ring);
}

.devedor-title-identity,
.devedor-title-metrics,
.devedor-title-buttons {
    display: flex;
    align-items: center;
}

.devedor-title-identity {
    min-width: 220px;
    gap: 12px;
}

.devedor-title-avatar {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: var(--primary-blue);
    background: var(--primary-blue-soft);
    border: 1px solid #cfe0fa;
    border-radius: 10px;
}

.devedor-title-identity strong {
    display: block;
    color: var(--ink);
    font-size: 16px;
    font-weight: 850;
}

.devedor-title-identity small {
    display: block;
    margin-top: 2px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 600;
}

.devedor-title-metrics {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.devedor-title-metrics > span,
.devedor-title-priority {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    background: var(--surface-muted);
    border: 1px solid var(--border);
    border-radius: 8px;
}

.devedor-title-metrics strong {
    color: var(--success-green);
    font-size: 16px;
    font-weight: 850;
}

.devedor-title-priority.devedor-priority-alta {
    color: #c52232;
    background: #fff1f3;
    border-color: #f3c4cb;
}

.devedor-title-priority.devedor-priority-media {
    color: #8a520d;
    background: #fff8eb;
    border-color: #f1cf95;
}

.devedor-title-priority.devedor-priority-baixa {
    color: #08784f;
    background: var(--success-green-soft);
    border-color: #b9ead8;
}

.devedor-title-list {
    max-height: 360px;
    overflow-y: auto;
    padding: 0 16px 16px;
    scrollbar-gutter: stable;
}

.devedor-title-list.hidden {
    display: none;
}

.devedor-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 0;
    border-top: 1px solid var(--border);
}

.devedor-title-row-main {
    min-width: 0;
}

.devedor-title-number,
.devedor-title-company,
.devedor-title-meta,
.devedor-title-value,
.devedor-title-date {
    margin: 0;
}

.devedor-title-number {
    color: var(--ink);
    font-size: 16px;
    font-weight: 850;
}

.devedor-title-company {
    color: var(--muted);
    font-size: 13px;
}

.devedor-title-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
    color: var(--danger-red);
    font-size: 12px;
    font-weight: 650;
}

.devedor-title-row-actions {
    flex: 0 0 auto;
    text-align: right;
}

.devedor-title-value {
    color: var(--danger-red);
    font-size: 15px;
    font-weight: 850;
}

.devedor-title-date {
    color: var(--muted);
    font-size: 12px;
}

.devedor-title-buttons {
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
}

.devedor-title-expand-button {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: var(--muted);
    background: rgba(237, 245, 255, 0.78);
    border: 1px solid var(--border);
    border-radius: 8px;
    cursor: pointer;
    transition: background 160ms ease-out, color 160ms ease-out, transform 160ms ease-out;
}

.devedor-title-expand-button:hover,
.devedor-title-expand-button:focus-visible {
    color: var(--primary-blue-hover);
    background: var(--primary-blue-soft);
    outline: none;
    transform: translateY(-1px);
}

@media (max-width: 768px) {
    .titles-group-summary,
    .devedor-title-header,
    .devedor-title-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .titles-group-summary-total,
    .devedor-title-row-actions {
        width: 100%;
        text-align: left;
    }

    .devedor-title-metrics {
        justify-content: flex-start;
    }

    .devedor-title-buttons {
        justify-content: flex-start;
    }
}

.debtor-collapsible-card {
    overflow: hidden;
}

.debtor-card-header {
    width: 100%;
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    color: var(--ink);
    text-align: left;
    background: rgba(255, 255, 255, 0.72);
    border: 0;
    cursor: pointer;
    transition: background 160ms ease-out, border-color 160ms ease-out;
}

.debtor-card-header:hover,
.debtor-card-header:focus-visible {
    background: var(--surface-strong);
    outline: none;
}

.debtor-card-header:focus-visible {
    box-shadow: var(--focus-ring);
}

.debtor-card-identity {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.debtor-card-avatar {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: var(--primary-blue);
    background: var(--primary-blue-soft);
    border: 1px solid #cfe0fa;
    border-radius: 10px;
}

.debtor-card-identity strong {
    display: block;
    color: var(--ink);
    font-size: 16px;
    font-weight: 850;
    line-height: 1.2;
}

.debtor-card-identity small {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 650;
}

.debtor-card-chevron {
    color: var(--muted);
    flex: 0 0 auto;
}

.debtor-card-details {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 20px 18px;
    border-top: 1px solid var(--border);
    background: rgba(247, 251, 255, 0.64);
}

.debtor-card-details.hidden {
    display: none;
}

.debtor-card-info {
    display: grid;
    gap: 8px;
    color: var(--muted);
    font-size: 14px;
}

.debtor-detail-line {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.debtor-detail-line i {
    width: 18px;
    margin-top: 2px;
    color: var(--primary-blue);
    text-align: center;
}

.debtor-card-actions {
    min-width: 92px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}

.empresa-collapsible-card {
    overflow: hidden;
}

.empresa-card-header {
    width: 100%;
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 20px;
    color: var(--ink);
    text-align: left;
    background: rgba(255, 255, 255, 0.72);
    border: 0;
    cursor: pointer;
    transition: background 160ms ease-out, border-color 160ms ease-out;
}

.empresa-card-header:hover,
.empresa-card-header:focus-visible {
    background: var(--surface-strong);
    outline: none;
}

.empresa-card-header:focus-visible {
    box-shadow: var(--focus-ring);
}

.empresa-card-identity {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.empresa-card-avatar {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: var(--primary-blue);
    background: var(--primary-blue-soft);
    border: 1px solid #cfe0fa;
    border-radius: 10px;
}

.empresa-card-identity strong {
    display: block;
    color: var(--ink);
    font-size: 16px;
    font-weight: 850;
    line-height: 1.2;
}

.empresa-card-identity small {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 650;
}

.empresa-card-metrics {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.empresa-card-metrics span {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    color: var(--primary-blue-dark);
    background: var(--primary-blue-soft);
    border: 1px solid #cfe0fa;
    border-radius: 999px;
    white-space: nowrap;
}

.empresa-card-metrics strong {
    color: var(--ink);
    font-size: 14px;
    font-weight: 850;
}

.empresa-card-metrics .empresa-card-total {
    color: #047857;
    background: #e8f8f0;
    border-color: #bdebd2;
}

.empresa-card-metrics .empresa-card-total strong {
    color: #06613f;
}

.empresa-card-chevron {
    color: var(--muted);
    flex: 0 0 auto;
}

.empresa-card-details {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 20px 18px;
    border-top: 1px solid var(--border);
    background: rgba(247, 251, 255, 0.64);
}

.empresa-card-details.hidden {
    display: none;
}

.empresa-card-info {
    display: grid;
    gap: 8px;
    color: var(--muted);
    font-size: 14px;
}

.empresa-detail-line {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.empresa-detail-line i {
    width: 18px;
    margin-top: 2px;
    color: var(--primary-blue);
    text-align: center;
}

.empresa-card-actions {
    min-width: 92px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}

@media (max-width: 768px) {
    .debtor-card-header,
    .debtor-card-details,
    .empresa-card-header,
    .empresa-card-details {
        align-items: flex-start;
    }

    .empresa-card-header {
        flex-direction: column;
    }

    .debtor-card-details,
    .empresa-card-details {
        flex-direction: column;
    }

    .empresa-card-metrics {
        width: 100%;
        justify-content: flex-start;
    }

    .debtor-card-actions,
    .empresa-card-actions {
        width: 100%;
        align-items: flex-start;
    }
}

#listaEmpresas > div,
#listaDevedores > div {
    padding: 18px !important;
}

/* Badges and states */
.status-badge,
.bg-green-100,
.bg-red-100,
.bg-yellow-100,
.bg-blue-100,
.bg-purple-100,
.bg-orange-100,
.bg-gray-100 {
    border-radius: 999px !important;
    padding: 4px 12px !important;
    font-size: 12px !important;
    font-weight: 750 !important;
}

.bg-green-100 {
    background: var(--success-green-soft) !important;
    color: #08784f !important;
}

.bg-red-100 {
    background: var(--danger-red-soft) !important;
    color: #c61f25 !important;
}

.bg-yellow-100 {
    background: var(--warning-yellow-soft) !important;
    color: #805800 !important;
}

.bg-blue-100 {
    background: var(--primary-blue-soft) !important;
    color: var(--primary-blue-hover) !important;
}

.bg-purple-100 {
    background: var(--purple-accent-soft) !important;
    color: #6f31d4 !important;
}

.bg-orange-100 {
    background: var(--orange-accent-soft) !important;
    color: #bd5422 !important;
}

.alert {
    padding: 12px 16px;
    margin-bottom: 16px;
    border-radius: 10px;
}

.alert-success {
    color: #08784f;
    background: var(--success-green-soft);
    border: 1px solid rgba(18, 185, 129, 0.24);
}

.alert-error {
    color: #c61f25;
    background: var(--danger-red-soft);
    border: 1px solid rgba(239, 63, 66, 0.22);
}

.alert-warning {
    color: #805800;
    background: var(--warning-yellow-soft);
    border: 1px solid rgba(244, 182, 63, 0.28);
}

.alert-info {
    color: var(--primary-blue-hover);
    background: var(--primary-blue-soft);
    border: 1px solid rgba(35, 119, 255, 0.2);
}

/* Charts */
.chart-container,
canvas {
    color: var(--ink);
}

/* Modals */
#empresaModal:not(.hidden),
#devedorModal:not(.hidden),
#colaboradorModal:not(.hidden),
#detalhesTituloModal:not(.hidden),
#acionamentoModal:not(.hidden),
#tituloModal:not(.hidden) {
    padding: 28px 16px;
    align-items: center;
    background: rgba(226, 238, 252, 0.76) !important;
    backdrop-filter: blur(9px);
}

#empresaModal > div,
#devedorModal > div,
#colaboradorModal > div,
#detalhesTituloModal > div,
#acionamentoModal > div,
#tituloModal > div {
    width: min(100% - 24px, 760px) !important;
    max-height: min(92vh, 1120px) !important;
    padding: 32px !important;
    color: var(--ink) !important;
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 14px !important;
    box-shadow: var(--shadow-modal) !important;
    animation: modal-enter 190ms ease-out both;
}

#devedorModal > div,
#detalhesTituloModal > div {
    width: min(100% - 24px, 980px) !important;
}

#tituloModal > div,
#colaboradorModal > div,
#acionamentoModal > div {
    width: min(100% - 24px, 760px) !important;
}

#empresaModal h3,
#devedorModal h3,
#colaboradorModal h3,
#detalhesTituloModal h3,
#acionamentoModal h3,
#tituloModal h3 {
    font-size: 1.5rem !important;
    font-weight: 800 !important;
}

#empresaModal form,
#devedorModal form,
#colaboradorModal form,
#acionamentoModal form,
#tituloModal form {
    gap: 20px !important;
}

#empresaModal form .grid,
#devedorModal form .grid,
#colaboradorModal form .grid,
#tituloModal form .grid {
    gap: 22px 24px !important;
}

#empresaModal .bg-dark-light\/30,
#devedorModal .bg-dark-light\/30,
#colaboradorModal .bg-dark-light\/30,
#tituloModal .bg-dark-light\/30 {
    background: rgba(244, 249, 255, 0.9) !important;
    border-color: var(--border) !important;
    border-radius: 12px !important;
}

#empresaModal button[onclick*="fecharModal"],
#devedorModal button[onclick*="fecharModal"],
#colaboradorModal button[onclick*="fecharModal"],
#detalhesTituloModal button[onclick*="fecharModal"],
#acionamentoModal button[onclick*="fecharModal"],
#tituloModal button[onclick*="fecharModal"] {
    min-width: 40px;
    min-height: 40px;
    color: var(--muted) !important;
    border-radius: 999px;
}

#empresaModal button[onclick*="fecharModal"]:hover,
#devedorModal button[onclick*="fecharModal"]:hover,
#colaboradorModal button[onclick*="fecharModal"]:hover,
#detalhesTituloModal button[onclick*="fecharModal"]:hover,
#acionamentoModal button[onclick*="fecharModal"]:hover,
#tituloModal button[onclick*="fecharModal"]:hover {
    color: var(--ink) !important;
    background: var(--surface-muted);
}

@keyframes modal-enter {
    from {
        opacity: 0;
        transform: translateY(10px) scale(0.985);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Calendar */
input[type="date"] {
    position: relative;
    appearance: none;
    -webkit-appearance: none;
}

input[type="date"]::-webkit-calendar-picker-indicator {
    width: 20px;
    height: 20px;
    cursor: pointer;
    opacity: 0.8;
    filter: invert(19%) sepia(20%) saturate(1475%) hue-rotate(186deg) brightness(91%) contrast(89%);
}

.custom-calendar {
    position: absolute;
    z-index: 70;
    width: 320px;
    padding: 18px;
    user-select: none;
    color: var(--ink);
    background: var(--surface-strong);
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: var(--shadow-modal);
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 160ms ease-out, transform 160ms ease-out;
}

.custom-calendar.calendar-show {
    opacity: 1;
    transform: translateY(0);
}

.calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
}

.calendar-header h3 {
    margin: 0;
    color: var(--ink);
    font-size: 16px;
    font-weight: 750;
}

.calendar-nav-btn,
.calendar-btn {
    min-height: 34px;
    color: var(--ink);
    background: #eef4ff;
    border: 1px solid var(--border);
    border-radius: 8px;
    cursor: pointer;
}

.calendar-nav-btn:hover,
.calendar-btn:hover {
    color: var(--primary-blue-hover);
    background: #e4eefc;
}

.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
    margin-bottom: 16px;
}

.calendar-day-header {
    padding: 8px 4px;
    color: var(--muted);
    background: var(--surface-muted);
    border-radius: 6px;
    text-align: center;
    font-size: 12px;
    font-weight: 700;
}

.calendar-day {
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 4px;
    color: var(--ink);
    background: transparent;
    border: 1px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    transition: background 160ms ease-out, color 160ms ease-out, transform 160ms ease-out;
}

.calendar-day:hover:not(.disabled):not(.other-month),
.calendar-day.selected {
    color: #ffffff !important;
    background: var(--primary-blue) !important;
    border-color: var(--primary-blue) !important;
}

.calendar-day.today {
    color: var(--primary-blue);
    background: var(--primary-blue-soft);
    border-color: rgba(35, 119, 255, 0.28);
    font-weight: 700;
}

.calendar-day.other-month,
.calendar-day.disabled {
    color: var(--muted-soft);
    opacity: 0.45;
}

.date-input-container,
.custom-calendar-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
}

.date-input-icon,
.custom-calendar-btn {
    position: absolute;
    right: 12px;
    top: 50%;
    z-index: 10;
    padding: 4px;
    color: var(--muted);
    background: transparent;
    border: 0;
    border-radius: 6px;
    transform: translateY(-50%);
    cursor: pointer;
}

.date-input-icon:hover,
.custom-calendar-btn:hover {
    color: var(--primary-blue);
    background: var(--primary-blue-soft);
}

/* Skeleton and loading */
.loading-skeleton {
    min-width: 100px;
    min-height: 1em;
    display: inline-block;
    color: transparent;
    background: linear-gradient(90deg, #e8f1fc 25%, #f7fbff 50%, #e8f1fc 75%);
    background-size: 200% 100%;
    border-radius: 6px;
    animation: loading-shimmer 1.35s infinite;
}

@keyframes loading-shimmer {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

.loading-skeleton.large {
    min-width: 200px;
    min-height: 1.5em;
}

.loading-skeleton.small {
    min-width: 60px;
    min-height: 0.8em;
}

.data-loaded .loading-skeleton {
    display: none;
}

.spinner {
    width: 20px;
    height: 20px;
    border: 2px solid var(--border);
    border-top: 2px solid var(--primary-blue);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.toast {
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: var(--shadow-raised) !important;
}

/* Development sync button */
body > div[style*="position: fixed"] button {
    min-height: 50px;
    padding-right: 22px !important;
    padding-left: 22px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
}

/* Case detail page compatibility */
.case-detail-page {
    color: var(--ink);
}

.case-detail-page > header {
    padding: 14px 0;
    background: rgba(255, 255, 255, 0.78) !important;
    border-bottom: 1px solid var(--border) !important;
    box-shadow: var(--shadow-subtle) !important;
    backdrop-filter: blur(10px);
}

.case-detail-page > header .py-4 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.case-detail-page > header .h-8.w-px {
    background: var(--border) !important;
}

.case-detail-page .case-brandbar {
    min-height: 76px;
}

.case-detail-page .case-actionbar {
    background: rgba(255, 255, 255, 0.42);
}

.case-detail-page .case-actionbar h2 {
    color: var(--ink) !important;
    line-height: 1.1;
}

.case-detail-page .case-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.case-detail-page .case-actions button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 22px !important;
    border-radius: 8px !important;
    border: 1px solid transparent !important;
    font-size: 14px !important;
    font-weight: 760 !important;
    box-shadow: var(--shadow-subtle) !important;
}

.case-detail-page .case-actions button i {
    margin-right: 0 !important;
    font-size: 16px;
}

.case-detail-page .case-actions .bg-purple-600 {
    color: var(--purple-accent-hover) !important;
    background: #f3ebff !important;
    border-color: #e6d8ff !important;
}

.case-detail-page .case-actions .bg-blue-600 {
    color: var(--primary-blue-hover) !important;
    background: #edf5ff !important;
    border-color: #d9e8fb !important;
}

.case-detail-page .case-actions .bg-green-600 {
    color: #0b8f61 !important;
    background: #ebfbf4 !important;
    border-color: #d1f2e4 !important;
}

.case-detail-page .case-actions button:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-raised) !important;
}

.case-detail-page > header button,
.case-detail-page > header a {
    min-height: 42px;
}

.case-detail-page main {
    padding-top: 28px !important;
}

.case-detail-page section,
.case-detail-page main > div {
    animation: section-enter 220ms ease-out both;
}

.case-detail-page .text-white,
.case-detail-page .text-gray-300,
.case-detail-page .text-gray-400 {
    color: var(--ink) !important;
}

.case-detail-page .text-dark-text-secondary,
.case-detail-page .text-gray-500,
.case-detail-page .text-gray-600 {
    color: var(--muted) !important;
}

.case-detail-page .text-blue-400,
.case-detail-page .text-blue-500,
.case-detail-page .text-blue-600 {
    color: var(--primary-blue) !important;
}

.case-detail-page .text-green-400,
.case-detail-page .text-green-500,
.case-detail-page .text-green-600 {
    color: var(--success-green) !important;
}

.case-detail-page .text-red-400,
.case-detail-page .text-red-500,
.case-detail-page .text-red-600 {
    color: var(--danger-red) !important;
}

.case-detail-page .text-purple-400,
.case-detail-page .text-purple-500,
.case-detail-page .text-purple-600 {
    color: var(--purple-accent) !important;
}

.case-detail-page .text-orange-400,
.case-detail-page .text-orange-500,
.case-detail-page .text-orange-600 {
    color: var(--orange-accent) !important;
}

.case-detail-page .bg-dark-card,
.case-detail-page .bg-dark-card\/80,
.case-detail-page .bg-dark-bg,
.case-detail-page .bg-dark-light,
.case-detail-page .bg-dark-light\/20,
.case-detail-page .bg-dark-light\/30,
.case-detail-page .bg-dark-light\/50,
.case-detail-page .bg-slate-700,
.case-detail-page .bg-slate-800 {
    background: var(--surface) !important;
    border-color: var(--border) !important;
}

.case-detail-page .bg-gradient-to-r {
    background: rgba(255, 255, 255, 0.66) !important;
}

.case-detail-page .bg-slate-600 {
    background: var(--primary-blue-soft) !important;
    border: 1px solid rgba(35, 119, 255, 0.12);
}

.case-detail-page .rounded-xl,
.case-detail-page .rounded-lg {
    border-radius: var(--radius-card) !important;
}

.case-detail-page .shadow-2xl,
.case-detail-page .shadow-xl,
.case-detail-page .shadow-lg {
    box-shadow: var(--shadow-subtle) !important;
}

.case-detail-page .border-dark-border,
.case-detail-page .border-gray-200,
.case-detail-page .border-gray-300 {
    border-color: var(--border) !important;
}

.case-detail-page .bg-yellow-600 {
    color: #805800 !important;
}

.case-detail-page button.bg-gray-600,
.case-detail-page a.bg-gray-600,
.case-detail-page .bg-gray-100.text-gray-800 {
    color: var(--ink) !important;
}

.case-detail-page .bg-dark-card.rounded-xl,
.case-detail-page .bg-dark-card.rounded-lg,
.case-detail-page .bg-dark-card.p-6,
.case-detail-page .bg-dark-light\/30,
.case-detail-page .bg-dark-light\/50 {
    background: rgba(255, 255, 255, 0.82) !important;
    border: 1px solid var(--border) !important;
    box-shadow: var(--shadow-subtle) !important;
}

.case-detail-page .bg-dark-light\/30,
.case-detail-page .bg-dark-light\/50,
.case-detail-page .bg-dark-bg {
    background: rgba(246, 250, 255, 0.86) !important;
}

.case-detail-page [id^="detalheCaso"],
.case-detail-page [id^="devedor"],
.case-detail-page [id^="totalAcoes"],
.case-detail-page [id^="diasAtraso"],
.case-detail-page [id^="ultimoContato"],
.case-detail-page [id^="proximaAcao"] {
    color: var(--ink) !important;
}

.case-detail-page #detalheCasoValor {
    color: var(--success-green) !important;
}

.case-detail-page #detalheCasoAtraso,
.case-detail-page #diasAtrasoCaso {
    color: var(--danger-red) !important;
}

.case-detail-page .case-status-summary {
    gap: 14px !important;
}

.case-detail-page .case-detail-secondary-grid {
    align-items: stretch;
}

.case-detail-page .case-history-section,
.case-detail-page .case-debtor-section {
    min-height: 0;
}

.case-detail-page .case-history-card,
.case-detail-page .case-debtor-card {
    height: 100%;
}

.case-detail-page .case-history-card {
    display: flex;
    min-height: 520px;
    flex-direction: column;
    overflow: hidden;
}

.case-detail-page .case-history-body {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
}

.case-detail-page #historicoCaso {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 520px;
    padding-right: 6px;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.case-detail-page #historicoCaso::-webkit-scrollbar {
    width: 8px;
}

.case-detail-page #historicoCaso::-webkit-scrollbar-track {
    background: rgba(212, 224, 238, 0.45);
    border-radius: 999px;
}

.case-detail-page #historicoCaso::-webkit-scrollbar-thumb {
    background: rgba(83, 100, 135, 0.38);
    border-radius: 999px;
}

@media (min-width: 1024px) {
    .case-detail-page .case-history-card {
        min-height: 100%;
    }

    .case-detail-page #historicoCaso {
        max-height: none;
    }
}

.case-detail-page .case-section-icon,
.case-detail-page .case-history-icon {
    width: 58px !important;
    height: 58px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-blue) !important;
    background: linear-gradient(180deg, #edf5ff 0%, #e5f0ff 100%) !important;
    border: 1px solid rgba(35, 119, 255, 0.14);
    border-radius: 14px !important;
}

.case-detail-page .case-section-icon {
    width: 42px !important;
    height: 42px !important;
    border-radius: 12px !important;
}

.case-detail-page .case-history-icon {
    width: 40px !important;
    height: 40px !important;
    color: var(--primary-blue) !important;
    background: var(--primary-blue-soft) !important;
    border: 1px solid #cfe0fa;
    border-radius: 8px !important;
}

.case-detail-page .case-section-icon i,
.case-detail-page .case-history-icon i {
    color: currentColor !important;
    font-size: 24px;
}

.case-detail-page .case-section-icon i {
    font-size: 17px;
}

.case-detail-page .case-history-icon i {
    font-size: 16px;
}

.case-detail-page .case-status-title {
    margin: 0;
    color: var(--ink) !important;
    font-size: 15px;
    line-height: 1.25;
    font-weight: 760;
}

.case-detail-page .case-state-row,
.case-detail-page .case-history-actions {
    gap: 14px !important;
}

.case-detail-page .case-state-row {
    width: fit-content;
    max-width: 100%;
    display: inline-flex !important;
    flex-wrap: wrap;
    background: transparent !important;
    border: 0 !important;
}

.case-detail-page .case-state-row > * + * {
    margin-left: 0 !important;
}

.case-detail-page .case-state-chip {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 14px !important;
    border-radius: 12px !important;
    border: 1px solid transparent;
    font-size: 13px !important;
    font-weight: 760 !important;
    line-height: 1;
    white-space: nowrap;
    transition: transform 160ms ease-out, background 160ms ease-out, border-color 160ms ease-out;
}

.case-detail-page .case-state-chip i {
    font-size: 12px;
}

.case-detail-page .case-state-chip-sm {
    min-height: 28px;
    padding: 0 10px !important;
    gap: 6px;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.case-detail-page .case-state-button {
    cursor: pointer;
}

.case-detail-page .case-state-button:hover {
    transform: translateY(-1px);
}

.case-detail-page .case-state-warning {
    color: #8a520d !important;
    background: #fff8eb !important;
    border-color: #f1cf95 !important;
}

.case-detail-page .case-state-danger {
    color: #c52232 !important;
    background: #fff1f3 !important;
    border-color: #f3c4cb !important;
}

.case-detail-page .case-state-success {
    color: #08784f !important;
    background: var(--success-green-soft) !important;
    border-color: #b9ead8 !important;
}

.case-detail-page .case-state-info {
    color: #18396f !important;
    background: #f3f8ff !important;
    border-color: #d6e3f2 !important;
}

.case-detail-page .case-state-purple {
    color: var(--purple-accent-hover) !important;
    background: var(--purple-accent-soft) !important;
    border-color: #d8c4fb !important;
}

.case-detail-page .case-state-neutral {
    color: var(--muted) !important;
    background: var(--surface-muted) !important;
    border-color: var(--border) !important;
}

.case-detail-page .case-history-item {
    gap: 16px !important;
    padding: 16px !important;
}

.case-detail-page .case-history-title {
    color: var(--ink) !important;
    font-size: 14px !important;
    line-height: 1.25;
    font-weight: 650 !important;
}

.case-detail-page .case-history-description {
    color: var(--muted) !important;
    font-size: 14px !important;
    line-height: 1.5;
}

.case-detail-page .case-history-description-button {
    display: block;
    width: 100%;
    padding: 0;
    text-align: left;
    background: transparent;
    border: 0;
    cursor: pointer;
}

.case-detail-page .case-history-description-button:hover,
.case-detail-page .case-history-description-button:focus-visible {
    color: var(--primary-blue-hover) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
    outline: none;
}

.case-detail-page .case-history-description-button:focus-visible {
    border-radius: 6px;
    box-shadow: var(--focus-ring);
}

.case-detail-page .case-history-date {
    color: var(--muted) !important;
    font-size: 12px !important;
    line-height: 1.25;
    font-weight: 500;
}

.case-detail-page .case-actions button.is-disabled,
.case-detail-page .case-actions button:disabled {
    opacity: 0.48;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
}

.case-detail-page .case-history-title-badge {
    min-height: 20px;
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    padding: 0 7px;
    color: var(--primary-blue-hover);
    background: var(--primary-blue-soft);
    border: 1px solid #cfe0fa;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
    font-weight: 600;
    vertical-align: middle;
}

.case-detail-page .case-linked-titles {
    color: var(--ink);
}

.case-detail-page .case-linked-title-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
    padding: 14px 16px;
    background: rgba(247, 251, 255, 0.9);
    border: 1px solid var(--border);
    border-radius: 12px;
}

.case-detail-page .case-linked-title-toolbar h3 {
    margin: 0;
    color: var(--ink);
    font-size: 17px;
    font-weight: 850;
}

.case-detail-page .case-linked-title-toolbar p {
    margin: 2px 0 0;
    color: var(--muted);
    font-size: 13px;
}

.case-detail-page .case-linked-title-summary {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.case-detail-page .case-linked-title-summary span,
.case-detail-page .case-linked-title-summary strong {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
}

.case-detail-page .case-linked-title-summary span {
    color: #18396f;
    background: #f3f8ff;
    border: 1px solid #d6e3f2;
}

.case-detail-page .case-linked-title-summary strong {
    color: var(--success-green);
    background: var(--success-green-soft);
    border: 1px solid #b9ead8;
}

.case-detail-page .case-linked-title-list {
    max-height: 430px;
    overflow-y: auto;
    padding: 0;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid #cfe0fa;
    border-radius: 10px;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    box-shadow: 0 14px 38px rgba(39, 76, 128, 0.08);
}

.case-detail-page .case-linked-title-table {
    width: 100%;
    min-width: 1120px;
    border-collapse: separate;
    border-spacing: 0;
    color: #233864;
    background: transparent !important;
    table-layout: fixed;
}

.case-detail-page .case-linked-title-table th {
    height: 42px;
    padding: 8px 12px;
    color: #1d2f5f;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.1;
    text-align: center;
    text-transform: uppercase;
    vertical-align: middle;
    background: rgba(248, 251, 255, 0.82);
    border-bottom: 1px solid #d5e4fb;
}

.case-detail-page .case-linked-title-table th:nth-child(2),
.case-detail-page .case-linked-title-table th:nth-child(3) {
    text-align: left;
}

.case-detail-page .case-linked-title-values-heading {
    border: 1px solid #cfe0fa;
    border-bottom: 1px solid #d5e4fb;
    border-radius: 9px 9px 0 0;
    background: rgba(246, 250, 255, 0.94) !important;
}

.case-detail-page .case-linked-title-subhead th:nth-child(1) {
    border-left: 1px solid #cfe0fa;
}

.case-detail-page .case-linked-title-subhead th:nth-child(5) {
    border-right: 1px solid #cfe0fa;
}

.case-detail-page .case-linked-title {
    transition: background 160ms ease-out;
}

.case-detail-page .case-linked-title td {
    height: 76px;
    padding: 10px 12px;
    color: #415681;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.25;
    vertical-align: middle;
    background: rgba(255, 255, 255, 0.76);
    border-bottom: 1px solid #d5e4fb;
}

.case-detail-page .case-linked-title:hover td,
.case-detail-page .case-linked-title.is-selected:hover td {
    background: rgba(248, 251, 255, 0.94) !important;
}

.case-detail-page .case-linked-title.is-selected td {
    background: rgba(255, 255, 255, 0.9);
}

.case-detail-page .case-linked-title-check-heading,
.case-detail-page .case-linked-title-check-cell {
    width: 44px;
    padding-right: 8px !important;
    padding-left: 8px !important;
    text-align: center;
}

.case-detail-page .case-linked-title-title-cell {
    width: 170px;
}

.case-detail-page .case-linked-title-status-cell {
    width: 104px;
    padding-right: 6px !important;
    padding-left: 6px !important;
}

.case-detail-page .case-linked-title-money {
    width: 104px;
    padding-right: 6px !important;
    padding-left: 6px !important;
    text-align: center;
    white-space: nowrap;
}

.case-detail-page .case-linked-title-date,
.case-detail-page .case-linked-title-delay {
    width: 120px;
    text-align: center;
    white-space: nowrap;
}

.case-detail-page .case-linked-title-select {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.case-detail-page .case-title-checkbox {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #1f8fff;
    cursor: pointer;
}

.case-detail-page .case-linked-title-heading {
    min-width: 0;
}

.case-detail-page .case-linked-title-heading h3,
.case-detail-page .case-linked-title-heading h4 {
    margin: 0;
    color: #13265c;
    font-size: 20px;
    font-weight: 850;
    letter-spacing: 0;
}

.case-detail-page .case-linked-title-heading p {
    margin: 7px 0 0;
    color: #5f739c;
    font-size: 14px;
    font-weight: 650;
}

.case-detail-page .case-linked-title-badges {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 4px;
    justify-content: center;
}

.case-detail-page .case-linked-title-status-cell .case-state-chip-sm {
    min-height: 20px;
    padding: 0 7px !important;
    gap: 4px;
    border-radius: 999px;
    font-size: 9px !important;
    line-height: 1;
}

.case-detail-page .case-linked-title-status-cell .case-state-chip-sm i {
    font-size: 9px;
}

.case-detail-page .case-linked-title-fixed-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    justify-content: flex-end;
}

.case-detail-page .case-linked-title-fixed-actions button {
    min-width: 128px;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 24px;
    color: #173764;
    background: rgba(255, 255, 255, 0.92);
    border: 2px solid #b8dcff;
    border-radius: 18px;
    font-size: 18px;
    font-weight: 850;
    line-height: 1;
    box-shadow: 0 8px 18px rgba(34, 120, 220, 0.12);
    transition: transform 160ms ease-out, background 160ms ease-out, border-color 160ms ease-out, box-shadow 160ms ease-out, color 160ms ease-out;
}

.case-detail-page .case-linked-title-fixed-actions button i {
    font-size: 21px;
}

.case-detail-page .case-linked-title-fixed-actions button:hover:not(:disabled) {
    transform: translateY(-1px);
    background: #f8fbff;
    box-shadow: 0 12px 24px rgba(34, 120, 220, 0.16);
}

.case-detail-page #editarTituloSelecionadoCaso {
    color: #123f7a;
    border-color: #9dcfff;
}

.case-detail-page #editarTituloSelecionadoCaso i {
    color: #0d65bf;
}

.case-detail-page #editarTituloSelecionadoCaso:hover:not(:disabled) {
    border-color: #6eb5ff;
}

.case-detail-page #excluirTitulosSelecionadosCaso {
    color: #173764;
    border-color: #f3a3a3;
    box-shadow: 0 8px 18px rgba(220, 46, 46, 0.12);
}

.case-detail-page #excluirTitulosSelecionadosCaso i {
    color: #e04b4b;
}

.case-detail-page #excluirTitulosSelecionadosCaso:hover:not(:disabled) {
    border-color: #ee7f7f;
    box-shadow: 0 12px 24px rgba(220, 46, 46, 0.16);
}

.case-detail-page .case-linked-title-fixed-actions button:disabled {
    color: #8ea0bd;
    background: #f5f8fc;
    border-color: #d7e2ef !important;
    box-shadow: none;
    cursor: not-allowed;
    opacity: 0.72;
}

.case-detail-page .case-linked-title-fixed-actions button:disabled i {
    color: #9aaccc !important;
}

.case-detail-page #acionamentoModalCaso:not(.hidden),
.case-detail-page #modalSimulacao:not(.hidden),
.case-detail-page #modalHistoricoDetalhado:not(.hidden),
.case-detail-page #modalDetalhesSimulacao:not(.hidden) {
    background: rgba(226, 238, 252, 0.76) !important;
    backdrop-filter: blur(9px);
}

.case-detail-page #modalHistoricoDetalhado > .fixed.inset-0,
.case-detail-page #modalDetalhesSimulacao > .fixed.inset-0 {
    background: rgba(226, 238, 252, 0.76) !important;
    backdrop-filter: blur(9px);
}

.case-detail-page #acionamentoModalCaso > div,
.case-detail-page #modalSimulacao > div,
.case-detail-page #modalHistoricoDetalhado .relative,
.case-detail-page #modalDetalhesSimulacao .bg-dark-card {
    color: var(--ink) !important;
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 14px !important;
    box-shadow: var(--shadow-modal) !important;
    animation: modal-enter 190ms ease-out both;
}

.case-detail-page table {
    background: transparent !important;
}

.case-detail-page tbody tr:hover {
    background: rgba(35, 119, 255, 0.06) !important;
}

@media (max-width: 900px) {
    .case-detail-page .case-brandbar,
    .case-detail-page .case-actionbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .case-detail-page .case-actions {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .case-detail-page .case-actions {
        gap: 10px;
    }

    .case-detail-page .case-actions button {
        width: 100%;
        justify-content: center;
    }

    .case-detail-page .case-status-summary,
    .case-detail-page .case-history-item {
        flex-direction: column;
        gap: 14px !important;
    }

    .case-detail-page .case-state-row,
    .case-detail-page .case-history-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .case-detail-page .case-state-chip {
        width: 100%;
        justify-content: flex-start;
    }

    .case-detail-page .case-history-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .case-detail-page .case-linked-title-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .case-detail-page .case-linked-title-list {
        max-height: 420px;
        overflow-x: auto;
    }

    .case-detail-page .case-linked-title-summary {
        justify-content: flex-start;
    }

    .case-detail-page .case-linked-title-table {
        min-width: 1040px;
    }

    .case-detail-page .case-linked-title-actions {
        opacity: 1;
        pointer-events: auto;
    }
}

/* Responsive */
@media (max-width: 900px) {
    header .flex.justify-between {
        gap: 18px;
        align-items: flex-start;
    }

    header h1 {
        font-size: 1.35rem !important;
    }

    header .logo-container {
        width: 132px;
        height: 48px;
    }

    nav {
        margin-top: 18px;
    }

    nav .flex {
        min-height: 66px;
        justify-content: flex-start;
    }

    .nav-link {
        min-width: 118px;
    }

    main {
        padding-top: 24px !important;
    }
}

@media (max-width: 640px) {
    body {
        background-attachment: scroll;
        background-size: 820px auto;
    }

    header .flex.justify-between {
        flex-direction: column;
        align-items: stretch;
    }

    header .text-right {
        text-align: left !important;
    }

    .section > .flex.justify-between.items-center {
        flex-direction: column;
        align-items: stretch !important;
        gap: 14px;
    }

    .section h2 {
        font-size: 1.45rem !important;
    }

    .grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-4 > .bg-dark-card,
    .grid.grid-cols-1.md\:grid-cols-4 > .bg-dark-card {
        min-height: auto;
    }

    #empresaModal > div,
    #devedorModal > div,
    #colaboradorModal > div,
    #detalhesTituloModal > div,
    #acionamentoModal > div,
    #tituloModal > div {
        padding: 22px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 1ms !important;
    }
}

@media print {
    body {
        color: #000000 !important;
        background: #ffffff !important;
    }

    .card,
    .bg-white,
    .bg-dark-card {
        color: #000000 !important;
        background: #ffffff !important;
        border: 1px solid #cccccc !important;
        box-shadow: none !important;
    }

    .custom-calendar {
        display: none !important;
    }
}
