@font-face {
    font-family: 'Manrope';
    src: url('../fonts/manrope-400.ttf') format('truetype');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('../fonts/manrope-500.ttf') format('truetype');
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('../fonts/manrope-600.ttf') format('truetype');
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('../fonts/manrope-700.ttf') format('truetype');
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('../fonts/manrope-800.ttf') format('truetype');
    font-style: normal;
    font-weight: 800;
    font-display: swap;
}

@font-face {
    font-family: 'Sora';
    src: url('../fonts/sora-500.ttf') format('truetype');
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Sora';
    src: url('../fonts/sora-600.ttf') format('truetype');
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Sora';
    src: url('../fonts/sora-700.ttf') format('truetype');
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Sora';
    src: url('../fonts/sora-800.ttf') format('truetype');
    font-style: normal;
    font-weight: 800;
    font-display: swap;
}

body {
    font-family: Manrope, sans-serif;
}

.glass-panel {
    backdrop-filter: blur(16px);
}

[data-auth-theme="ff-auth"] {
    background-color: #F0F9FE;
}

.metric-card {
    border-radius: 1.75rem;
    border: 1px solid rgba(0, 120, 200, 0.12);
    background: #fff;
    padding: 1.5rem;
    box-shadow: 0 18px 40px rgba(0, 120, 200, 0.08);
}

.section-card {
    border-radius: 1.75rem;
    border: 1px solid rgba(0, 120, 200, 0.12);
    background: #fff;
    padding: 1.5rem;
    box-shadow: 0 18px 40px rgba(0, 120, 200, 0.07);
}

[data-auth-theme="ff-auth"] .section-card,
[data-auth-theme="ff-auth"] .metric-card {
    backdrop-filter: blur(8px);
}

[data-auth-theme="ff-auth"] input,
[data-auth-theme="ff-auth"] select,
[data-auth-theme="ff-auth"] textarea {
    border-color: rgba(0, 120, 200, 0.16);
    color: #0B0F14;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

[data-auth-theme="ff-auth"] input::placeholder,
[data-auth-theme="ff-auth"] textarea::placeholder {
    color: #64748b;
}

[data-auth-theme="ff-auth"] input:focus,
[data-auth-theme="ff-auth"] select:focus,
[data-auth-theme="ff-auth"] textarea:focus {
    outline: none;
    border-color: #0078C8;
    box-shadow: 0 0 0 4px rgba(189, 231, 255, 0.45);
}

[data-auth-theme="ff-auth"] table thead {
    color: #0078C8;
}

[data-auth-theme="ff-auth"] table tbody tr {
    transition: background-color 0.2s ease;
}

[data-auth-theme="ff-auth"] table tbody tr:hover {
    background-color: rgba(189, 231, 255, 0.18);
}

[data-auth-theme="ff-auth"] .rounded-2xl.bg-slate-50,
[data-auth-theme="ff-auth"] .rounded-3xl.bg-slate-50,
[data-auth-theme="ff-auth"] .bg-slate-50 {
    background-color: rgba(189, 231, 255, 0.24) !important;
}

[data-auth-theme="ff-auth"] .border-slate-100,
[data-auth-theme="ff-auth"] .border-slate-200,
[data-auth-theme="ff-auth"] .divide-slate-100 > :not([hidden]) ~ :not([hidden]) {
    border-color: rgba(0, 120, 200, 0.10) !important;
}

[data-auth-theme="ff-auth"] .text-slate-900 {
    color: #0B0F14 !important;
}

[data-auth-theme="ff-auth"] .text-slate-500,
[data-auth-theme="ff-auth"] .text-slate-600 {
    color: #4d6b7d !important;
}

[data-auth-theme="ff-auth"] .text-brand-600 {
    color: #0078C8 !important;
}

[data-auth-theme="ff-auth"] .hover\:text-brand-900:hover {
    color: #0066B0 !important;
}

[data-auth-theme="ff-auth"] .bg-brand-900,
[data-auth-theme="ff-auth"] .hover\:bg-brand-900:hover {
    background-color: #0078C8 !important;
}

[data-auth-theme="ff-auth"] .bg-brand-700,
[data-auth-theme="ff-auth"] .hover\:bg-brand-700:hover {
    background-color: #0066B0 !important;
}

[data-auth-theme="ff-auth"] .bg-brand-50\/20,
[data-auth-theme="ff-auth"] .hover\:bg-brand-50\/20:hover,
[data-auth-theme="ff-auth"] .hover\:bg-brand-50\/15:hover {
    background-color: rgba(189, 231, 255, 0.22) !important;
}

[data-auth-theme="ff-auth"] .border-brand-100\/80,
[data-auth-theme="ff-auth"] .border-brand-100\/70,
[data-auth-theme="ff-auth"] .border-brand-100\/50,
[data-auth-theme="ff-auth"] .border-brand-200,
[data-auth-theme="ff-auth"] .border-brand-700\/20 {
    border-color: rgba(0, 120, 200, 0.16) !important;
}

[data-auth-theme="ff-auth"] .bg-white\/92 {
    background-color: rgba(255, 255, 255, 0.94) !important;
}

[data-auth-theme="ff-auth"] [data-sidebar] {
    width: 18rem;
}

[data-auth-theme="ff-auth"] [data-sidebar-shell] {
    position: relative;
}

[data-auth-theme="ff-auth"] [data-sidebar-scroll] {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.35) transparent;
}

[data-auth-theme="ff-auth"] [data-sidebar-scroll]::-webkit-scrollbar {
    width: 8px;
}

[data-auth-theme="ff-auth"] [data-sidebar-scroll]::-webkit-scrollbar-track {
    background: transparent;
}

[data-auth-theme="ff-auth"] [data-sidebar-scroll]::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.28);
    border-radius: 9999px;
}

[data-auth-theme="ff-auth"] [data-sidebar-scroll]::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.42);
}

[data-auth-theme="ff-auth"] .sidebar-toggle {
    flex-shrink: 0;
}

[data-auth-theme="ff-auth"] .sidebar-link-icon svg {
    height: 1.15rem;
    width: 1.15rem;
}

[data-auth-theme="ff-auth"] .sidebar-logo-expanded,
[data-auth-theme="ff-auth"] .sidebar-logo-collapsed {
    transition: opacity 0.2s ease, transform 0.2s ease;
}

@media (min-width: 1024px) {
    [data-auth-theme="ff-auth"].sidebar-collapsed [data-sidebar] {
        width: 6rem;
        padding-left: 0.875rem;
        padding-right: 0.875rem;
    }

    [data-auth-theme="ff-auth"].sidebar-collapsed [data-sidebar-role],
    [data-auth-theme="ff-auth"].sidebar-collapsed [data-sidebar-label],
    [data-auth-theme="ff-auth"].sidebar-collapsed [data-sidebar-footer],
    [data-auth-theme="ff-auth"].sidebar-collapsed .sidebar-logo-expanded {
        display: none !important;
    }

    [data-auth-theme="ff-auth"].sidebar-collapsed .sidebar-logo-collapsed {
        display: block !important;
    }

    [data-auth-theme="ff-auth"].sidebar-collapsed [data-sidebar-link] {
        justify-content: center;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    [data-auth-theme="ff-auth"].sidebar-collapsed [data-sidebar-link] .sidebar-link-icon {
        margin-right: 0;
    }

    [data-auth-theme="ff-auth"].sidebar-collapsed [data-sidebar] .sidebar-toggle {
        margin-inline: auto;
    }

    [data-auth-theme="ff-auth"].sidebar-collapsed [data-sidebar] a[aria-label="Voltar para o painel"] {
        justify-content: center;
        width: 100%;
    }
}

.timeline-item::before {
    content: '';
    position: absolute;
    left: 0.55rem;
    top: 2rem;
    height: calc(100% - 0.5rem);
    width: 1px;
    background: rgba(0, 120, 200, 0.18);
}

.timeline-item:last-child::before {
    display: none;
}

/* Utilitários usados nas telas que não estavam no CSS compilado do Tailwind
   (sem eles, botões ficavam com texto branco sobre fundo transparente). */
.bg-emerald-700{background-color:#047857}.hover\:bg-emerald-800:hover{background-color:#065f46}
.bg-amber-600{background-color:#d97706}.hover\:bg-amber-700:hover{background-color:#b45309}
.bg-slate-900\/50{background-color:rgb(15 23 42/.5)}
.bg-amber-50\/60{background-color:rgb(255 251 235/.6)}.border-amber-300{border-color:#fcd34d}
.bg-emerald-50\/40{background-color:rgb(236 253 245/.4)}
.bg-indigo-50\/40{background-color:rgb(238 242 255/.4)}.border-indigo-100{border-color:#e0e7ff}.text-indigo-500{color:#6366f1}
.bg-sky-50\/50{background-color:rgb(240 249 255/.5)}.border-sky-100{border-color:#e0f2fe}
.bg-green-100{background-color:#dcfce7}.text-green-700{color:#15803d}
.bg-brand-50\/10{background-color:rgb(181 227 248/.1)}.border-brand-600{border-color:rgb(0 120 200)}.hover\:border-brand-600:hover{border-color:rgb(0 120 200)}
.bg-ffs-200\/20{background-color:rgb(181 227 248/.2)}.text-ffs-100\/90{color:rgb(224 242 251/.9)}.text-ffs-500{color:rgb(0 120 200)}.text-ffs-700{color:rgb(10 110 157)}
.border-rose-300{border-color:#fda4af}.hover\:bg-rose-100:hover{background-color:#ffe4e6}.text-rose-800{color:#9f1239}.hover\:text-rose-800:hover{color:#9f1239}.text-rose-900{color:#881337}
.hover\:bg-slate-100:hover{background-color:#f1f5f9}.hover\:text-slate-900:hover{color:#0f172a}.text-slate-100{color:#f1f5f9}
.hover\:border-red-400:hover{border-color:#f87171}.hover\:text-red-600:hover{color:#dc2626}.text-red-700\/80{color:rgb(185 28 28/.8)}
.focus\:border-emerald-500:focus{border-color:#10b981}.focus\:ring-emerald-500:focus{--tw-ring-color:#10b981}
