/* ═══════════════════════════════════════════════════════════════
   CFO-Connect Cream Theme — Papel quente + Bordô clássico
   Alinhado ao guia de paleta CFO: creme #FBF8F4, bordô #7A1E26,
   tinta quase-preta quente, bordas derivadas de bordô.
   ═══════════════════════════════════════════════════════════════ */

body.cfo-connect-cream {
    /* ── Paleta base ── */
    --cream-50:   #FBF8F4;
    --cream-100:  #F5EDE0;
    --cream-200:  #EADDCB;

    --burgundy-600: #7A1E26;
    --burgundy-700: #5C1519;
    --burgundy-800: #3D0E10;
    --cfo-bar:      #8B1D23;

    --ink-900:      #0A0506;
    --text-secondary: rgba(20, 10, 12, 0.75);
    --text-muted:   rgba(20, 10, 12, 0.5);

    --gold-500:     #B88A56;
    --amber:        #F7C437;

    --border-subtle: rgba(122, 30, 38, 0.10);
    --border-strong: rgba(122, 30, 38, 0.28);

    /* ── Tokens globais (overrides de app.css) ── */
    --bg:           var(--cream-50);
    --bg-card:      #FFFFFF;
    --text:         var(--ink-900);
    --text-light:   var(--text-secondary);
    --text-muted:   var(--text-muted);
    --border:       var(--border-subtle);
    --border-light: rgba(122, 30, 38, 0.06);

    --background:        var(--cream-50);
    --foreground:        var(--ink-900);
    --card:              #FFFFFF;
    --card-foreground:   var(--ink-900);
    --muted-foreground:  var(--text-muted);
    --primary:           var(--burgundy-600);
    --primary-foreground:#FFFFFF;
    --secondary:         rgba(122, 30, 38, 0.08);

    /* Marca — sobrescreve --wine pra ficar bordô clássico em cream */
    --wine-dark: var(--burgundy-800);
    --wine:      var(--burgundy-600);
    --wine-light:#9A2832;
    --gold:      var(--gold-500);
    --gold-light:#D0A775;

    /* Shadows quentes derivadas do bordô */
    --shadow:    0 2px 8px rgba(122, 30, 38, 0.06);
    --shadow-lg: 0 16px 40px -16px rgba(122, 30, 38, 0.18);

    background: var(--cream-50) !important;
    color: var(--ink-900) !important;
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    position: relative;
}

/* ── Atmosfera: mesh gradient + grid sutil bordô ── */
body.cfo-connect-cream::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    opacity: 0.4;
    background:
        radial-gradient(ellipse 60% 40% at 20% 10%, rgba(122, 30, 38, 0.18), transparent 65%),
        radial-gradient(ellipse 50% 40% at 85% 90%, rgba(184, 138, 86, 0.10), transparent 65%);
}
body.cfo-connect-cream::after {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background-image:
        linear-gradient(rgba(122, 30, 38, 0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(122, 30, 38, 0.07) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, black 20%, transparent 100%);
    -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, black 20%, transparent 100%);
}
body.cfo-connect-cream .app-layout { position: relative; z-index: 1; }

/* ── Tipografia display: Instrument Serif pra títulos ── */
body.cfo-connect-cream h1, body.cfo-connect-cream h2, body.cfo-connect-cream h3,
body.cfo-connect-cream h4, body.cfo-connect-cream h5, body.cfo-connect-cream h6,
body.cfo-connect-cream .hero-title,
body.cfo-connect-cream .gov-hero-title,
body.cfo-connect-cream .home-section-title {
    font-family: 'Instrument Serif', Georgia, serif !important;
    font-weight: 400 !important;
    letter-spacing: -0.015em !important;
    color: var(--ink-900) !important;
}

/* ── Sidebar — creme degradê pra destacar o cartão branco ── */
body.cfo-connect-cream .sidebar-icon {
    background: linear-gradient(180deg, #EBE0CE 0%, #F5EDE0 55%, #FBF8F4 100%) !important;
    color: var(--burgundy-700) !important;
    border-right: 1px solid rgba(122, 30, 38, 0.12) !important;
}
body.cfo-connect-cream .si-logo {
    background: rgba(122, 30, 38, 0.08) !important;
}
body.cfo-connect-cream .si-logo:hover {
    background: rgba(122, 30, 38, 0.14) !important;
}
body.cfo-connect-cream .si-logo img {
    filter: none !important;
    opacity: 1 !important;
}
body.cfo-connect-cream .si-item {
    color: rgba(20, 10, 12, 0.55) !important;
}
body.cfo-connect-cream .si-item:hover {
    background: rgba(122, 30, 38, 0.07) !important;
    color: var(--burgundy-700) !important;
}
body.cfo-connect-cream .si-item.active {
    background: rgba(122, 30, 38, 0.12) !important;
    color: var(--burgundy-700) !important;
}
body.cfo-connect-cream .si-item.active > .material-icons-outlined {
    color: var(--burgundy-600) !important;
}
body.cfo-connect-cream .si-item.active::before {
    background: var(--burgundy-600) !important;
}
body.cfo-connect-cream .si-label { color: inherit !important; }

/* ── Topbar ── */
body.cfo-connect-cream .app-layout.cfo-connect-layout .topbar {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border-bottom: 1px solid var(--border-subtle) !important;
    color: var(--ink-900) !important;
    box-shadow: 0 1px 2px rgba(122, 30, 38, 0.04);
    position: sticky !important;
    top: 0;
}
/* Faixa bordô superior — assinatura CFO */
body.cfo-connect-cream .topbar::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--cfo-bar);
    pointer-events: none;
    z-index: 1;
}
body.cfo-connect-cream .topbar-logo-mark {
    background: var(--cream-50) !important;
    border: 1px solid var(--border-subtle) !important;
}
body.cfo-connect-cream .topbar-logo-mark span {
    color: var(--burgundy-600) !important;
}
body.cfo-connect-cream .topbar-brand:hover .topbar-logo-mark {
    border-color: var(--burgundy-600) !important;
}
body.cfo-connect-cream .topbar-title {
    color: var(--burgundy-700) !important;
    font-family: 'Instrument Serif', Georgia, serif !important;
    font-weight: 400 !important;
}
body.cfo-connect-cream .topbar-brand:hover .topbar-title {
    color: var(--burgundy-600) !important;
}
body.cfo-connect-cream .topbar-tagline {
    color: var(--text-muted) !important;
}
/* Overrides inline do home.html que assumem topbar dark (especificidade maior vence) */
body.cfo-connect-cream .topbar-title { display: block !important; }
body.cfo-connect-cream .topbar-brand-text { display: flex !important; }
body.cfo-connect-cream .topbar-icon { color: var(--text-muted) !important; }
body.cfo-connect-cream .topbar-icon:hover {
    color: var(--burgundy-600) !important;
    background: rgba(122, 30, 38, 0.08) !important;
}
body.cfo-connect-cream .user-name { color: var(--ink-900) !important; }
body.cfo-connect-cream .user-role {
    background: rgba(122, 30, 38, 0.10) !important;
    color: var(--burgundy-700) !important;
}
body.cfo-connect-cream .sidebar-toggle { color: var(--text-secondary) !important; }
body.cfo-connect-cream .sidebar-toggle:hover {
    color: var(--burgundy-600) !important;
    background: rgba(122, 30, 38, 0.08) !important;
}
body.cfo-connect-cream .topbar-title,
body.cfo-connect-cream .topbar-brand .topbar-title {
    color: var(--burgundy-700) !important;
    font-family: 'Instrument Serif', Georgia, serif !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em !important;
}
body.cfo-connect-cream .user-name { color: var(--ink-900) !important; }
body.cfo-connect-cream .topbar-icon { color: var(--text-muted) !important; }
body.cfo-connect-cream .topbar-icon:hover {
    color: var(--burgundy-600) !important;
    background: rgba(122, 30, 38, 0.06) !important;
}
body.cfo-connect-cream .user-role {
    background: rgba(122, 30, 38, 0.10) !important;
    color: var(--burgundy-700) !important;
}
body.cfo-connect-cream .sidebar-toggle { color: var(--text-secondary) !important; }
body.cfo-connect-cream .sidebar-toggle:hover { color: var(--burgundy-600) !important; }
body.cfo-connect-cream .page-title { color: var(--ink-900) !important; }

/* ── Content area ── */
body.cfo-connect-cream .app-layout.cfo-connect-layout .content-area {
    background: transparent !important;
}

/* ═══════════ HOME — cobertura dos seletores hardcoded ═══════════ */

/* Hero: gradiente bordô institucional
   (background-size 100% neutraliza o mesh-move sem matar fadeSlideUp do .anim-in) */
body.cfo-connect-cream .hero-section {
    background: linear-gradient(135deg, var(--burgundy-600) 0%, var(--burgundy-800) 100%) !important;
    background-size: 100% 100% !important;
    box-shadow: 0 16px 40px -16px rgba(122, 30, 38, 0.35) !important;
    border: none !important;
}
body.cfo-connect-cream .hero-title { color: var(--cream-50) !important; }
body.cfo-connect-cream .hero-subtitle { color: rgba(251, 248, 244, 0.72) !important; }
body.cfo-connect-cream .hero-btn-accent {
    background: var(--cream-50) !important;
    color: var(--burgundy-700) !important;
    box-shadow: 0 10px 24px -8px rgba(0, 0, 0, 0.25) !important;
}
body.cfo-connect-cream .hero-btn-accent:hover {
    background: #FFFFFF !important;
    color: var(--burgundy-800) !important;
    box-shadow: 0 14px 30px -8px rgba(0, 0, 0, 0.35) !important;
}
body.cfo-connect-cream .hero-btn-ghost {
    background: rgba(251, 248, 244, 0.08) !important;
    color: var(--cream-50) !important;
    border: 1px solid rgba(251, 248, 244, 0.22) !important;
}
body.cfo-connect-cream .hero-btn-ghost:hover {
    background: rgba(251, 248, 244, 0.14) !important;
    color: #FFFFFF !important;
}
body.cfo-connect-cream .hero-login {
    background: rgba(251, 248, 244, 0.12) !important;
    border: 1px solid rgba(251, 248, 244, 0.22) !important;
}
body.cfo-connect-cream .hero-login p { color: rgba(251, 248, 244, 0.85) !important; }
body.cfo-connect-cream .hero-login .btn-sso-cfo {
    background: var(--cream-50) !important;
    color: var(--burgundy-700) !important;
    box-shadow: 0 6px 16px -4px rgba(0, 0, 0, 0.25) !important;
}
body.cfo-connect-cream .hero-login .btn-sso-cfo:hover {
    background: #FFFFFF !important;
    color: var(--burgundy-800) !important;
}
body.cfo-connect-cream .hero-login .btn-sso-cfo .material-icons-outlined {
    color: var(--burgundy-600) !important;
}

/* KPIs do hero — glass claro sobre gradiente bordô */
body.cfo-connect-cream .kpi-card {
    background: rgba(251, 248, 244, 0.10) !important;
    border: 1px solid rgba(251, 248, 244, 0.18) !important;
    color: var(--cream-50) !important;
}
body.cfo-connect-cream .kpi-card:hover {
    background: rgba(251, 248, 244, 0.18) !important;
    border-color: rgba(251, 248, 244, 0.32) !important;
    box-shadow: 0 8px 24px -8px rgba(0, 0, 0, 0.3) !important;
    animation: none !important;
}
body.cfo-connect-cream .kpi-val { color: var(--cream-50) !important; }
body.cfo-connect-cream .kpi-label { color: rgba(251, 248, 244, 0.65) !important; }
body.cfo-connect-cream .kpi-sub { color: var(--amber) !important; }

/* Section headers */
body.cfo-connect-cream .sh-title {
    font-family: 'Instrument Serif', Georgia, serif !important;
    font-weight: 400 !important;
    color: var(--ink-900) !important;
    letter-spacing: -0.015em !important;
}
body.cfo-connect-cream .sh-title .material-icons-outlined {
    color: var(--burgundy-600) !important;
    font-family: 'Material Icons Outlined' !important;
}
body.cfo-connect-cream .sh-link {
    color: var(--burgundy-600) !important;
}
body.cfo-connect-cream .sh-link:hover {
    color: var(--burgundy-700) !important;
}

/* Glass cards (.gc) — viram cartões brancos elevados */
body.cfo-connect-cream .gc {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid var(--border-subtle) !important;
    animation: none !important;
    box-shadow: 0 2px 8px rgba(122, 30, 38, 0.04) !important;
}
body.cfo-connect-cream .gc:hover {
    border-color: var(--border-strong) !important;
    box-shadow: 0 12px 30px -12px rgba(122, 30, 38, 0.18) !important;
}
body.cfo-connect-cream .gc-t {
    /* Remove shimmer animation, restaura cor sólida */
    background: none !important;
    -webkit-text-fill-color: var(--ink-900) !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    color: var(--ink-900) !important;
    animation: none !important;
    font-family: 'Instrument Serif', Georgia, serif !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em !important;
}
body.cfo-connect-cream .gc-t .material-icons-outlined {
    color: var(--burgundy-600) !important;
    -webkit-text-fill-color: var(--burgundy-600) !important;
}
body.cfo-connect-cream .gc-l {
    color: var(--burgundy-600) !important;
}
body.cfo-connect-cream .gc-l:hover {
    color: var(--burgundy-700) !important;
}

/* Neutralização de efeitos futuristas (não combinam com creme) */
body.cfo-connect-cream #particles-canvas { display: none !important; }
body.cfo-connect-cream .geo-float { display: none !important; }
body.cfo-connect-cream .data-stream { display: none !important; }
body.cfo-connect-cream .scan-line { display: none !important; }
body.cfo-connect-cream .hero-corner { display: none !important; }
body.cfo-connect-cream .hero-orb { display: none !important; }
body.cfo-connect-cream .hero-grid {
    /* Grid sutil branco sobre o bordô do hero */
    background-image: radial-gradient(circle, rgba(251, 248, 244, 0.08) 1px, transparent 1px) !important;
    animation: none !important;
}
body.cfo-connect-cream .hero-ambient { display: none !important; }

/* Sub-title typing cursor — usa creme no lugar de branco */
body.cfo-connect-cream .hero-subtitle-typed {
    border-right-color: rgba(251, 248, 244, 0.6) !important;
}

/* Section title neon underline — troca por linha sólida discreta bordô */
body.cfo-connect-cream .sh-title::after {
    background: var(--border-strong) !important;
    box-shadow: none !important;
    animation: none !important;
}

/* Timeline */
body.cfo-connect-cream .tl-item { border-bottom-color: var(--border-light) !important; }
body.cfo-connect-cream .tl-line { background: var(--border-light) !important; }
body.cfo-connect-cream .tl-title { color: var(--ink-900) !important; }
body.cfo-connect-cream .tl-date { color: var(--text-muted) !important; }
body.cfo-connect-cream .tl-meta { color: var(--text-muted) !important; }
body.cfo-connect-cream .tl-prog { background: rgba(122, 30, 38, 0.08) !important; }
body.cfo-connect-cream .tl-prog-bar { background: var(--burgundy-600) !important; }
body.cfo-connect-cream .tl-b-em_andamento { background: rgba(37, 99, 235, 0.12) !important; color: #1E40AF !important; }
body.cfo-connect-cream .tl-b-bloqueada { background: rgba(220, 38, 38, 0.12) !important; color: #991B1B !important; }
body.cfo-connect-cream .tl-b-planejada { background: rgba(217, 119, 6, 0.14) !important; color: #92400E !important; }
body.cfo-connect-cream .tl-b-backlog { background: rgba(107, 114, 128, 0.12) !important; color: #4B5563 !important; }
body.cfo-connect-cream .tl-b-concluida { background: rgba(21, 128, 61, 0.12) !important; color: #15803D !important; }
body.cfo-connect-cream .tl-date-late { color: #DC2626 !important; }

/* Contracts */
body.cfo-connect-cream .contract-item { border-bottom-color: var(--border-light) !important; }
body.cfo-connect-cream .contract-item:hover {
    background: rgba(122, 30, 38, 0.04) !important;
}
body.cfo-connect-cream .contract-title { color: var(--ink-900) !important; }
body.cfo-connect-cream .contract-meta { color: var(--text-muted) !important; }
body.cfo-connect-cream .contract-value { color: var(--ink-900) !important; }
body.cfo-connect-cream .contract-supplier {
    background: rgba(122, 30, 38, 0.10) !important;
    color: var(--burgundy-700) !important;
}
body.cfo-connect-cream .contract-days-danger { background: rgba(220, 38, 38, 0.12) !important; color: #991B1B !important; }
body.cfo-connect-cream .contract-days-warn { background: rgba(217, 119, 6, 0.14) !important; color: #92400E !important; }
body.cfo-connect-cream .contract-days-ok { background: rgba(21, 128, 61, 0.12) !important; color: #15803D !important; }

/* Chart bars */
body.cfo-connect-cream .chart-bar-label { color: var(--text-muted) !important; }
body.cfo-connect-cream .chart-bar-track { background: rgba(122, 30, 38, 0.06) !important; }
body.cfo-connect-cream .chart-bar-count { color: var(--text-muted) !important; }
body.cfo-connect-cream .chart-total { color: var(--text-muted) !important; }
body.cfo-connect-cream .chart-total strong { color: var(--ink-900) !important; }

/* Systems panel */
body.cfo-connect-cream .sys-search {
    background: rgba(255, 255, 255, 0.85) !important;
    border: 1px solid var(--border-subtle) !important;
}
body.cfo-connect-cream .sys-search input { color: var(--ink-900) !important; }
body.cfo-connect-cream .sys-search input::placeholder { color: var(--text-muted) !important; }
body.cfo-connect-cream .sys-search .material-icons-outlined { color: var(--text-muted) !important; }
body.cfo-connect-cream .sys-stat {
    background: rgba(255, 255, 255, 0.85) !important;
    border: 1px solid var(--border-subtle) !important;
}
body.cfo-connect-cream .sys-stat:hover {
    border-color: var(--border-strong) !important;
    box-shadow: 0 8px 20px -6px rgba(122, 30, 38, 0.12) !important;
    animation: none !important;
}
body.cfo-connect-cream .sys-stat-val { color: var(--burgundy-700) !important; }
body.cfo-connect-cream .sys-stat-label { color: var(--text-muted) !important; }

/* Empty states */
body.cfo-connect-cream .empty .material-icons-outlined { color: var(--text-muted) !important; }
body.cfo-connect-cream .empty p { color: var(--text-muted) !important; }

/* Footer */
body.cfo-connect-cream .home-footer {
    border-top-color: var(--border-subtle) !important;
    color: var(--text-muted) !important;
}
body.cfo-connect-cream .home-footer::before { display: none !important; }
body.cfo-connect-cream .home-footer a { color: var(--burgundy-600) !important; }
body.cfo-connect-cream .home-footer-brand img {
    filter: none !important;
    opacity: 0.65 !important;
}

/* Tooltip do floormap */
body.cfo-connect-cream .floormap-tooltip-home {
    background: var(--burgundy-700) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: var(--cream-50) !important;
    box-shadow: 0 6px 16px rgba(122, 30, 38, 0.25) !important;
}

/* ═══════════ FLOORMAP (home + page) — planta creme ═══════════ */
body.cfo-connect-cream .floormap-home .sala-card {
    background: rgba(255, 255, 255, 0.85) !important;
    border: 1px solid var(--border-subtle) !important;
}
body.cfo-connect-cream .floormap-home .sala-card:hover {
    border-color: var(--border-strong) !important;
    box-shadow: 0 6px 16px -4px rgba(122, 30, 38, 0.15) !important;
}
body.cfo-connect-cream .floormap-home .sala-card:hover svg { animation: none !important; }

/* SVG do floormap — tons bordô translúcidos no lugar do dark */
body.cfo-connect-cream .floormap-home .floormap-svg .room {
    fill: none !important;
    stroke: var(--border-strong) !important;
    stroke-width: 1.5 !important;
}
body.cfo-connect-cream .floormap-home .floormap-svg .room-bg-gerencia,
body.cfo-connect-cream .floormap-home .floormap-svg .room-bg-dev,
body.cfo-connect-cream .floormap-home .floormap-svg .room-bg-infra,
body.cfo-connect-cream .floormap-home .floormap-svg .room-bg-ops {
    fill: rgba(122, 30, 38, 0.04) !important;
}
body.cfo-connect-cream .floormap-home .floormap-svg .room-label {
    fill: var(--burgundy-700) !important;
    font-weight: 700 !important;
}
body.cfo-connect-cream .floormap-home .floormap-svg .desk {
    fill: rgba(122, 30, 38, 0.10) !important;
    stroke: rgba(122, 30, 38, 0.28) !important;
}
body.cfo-connect-cream .floormap-home .floormap-svg .chair {
    fill: var(--burgundy-600) !important;
    opacity: 0.85 !important;
}
body.cfo-connect-cream .floormap-home .floormap-svg .monitor {
    fill: rgba(122, 30, 38, 0.45) !important;
}
body.cfo-connect-cream .floormap-home .floormap-svg .seat-area:hover {
    fill: rgba(122, 30, 38, 0.08) !important;
}
body.cfo-connect-cream .floormap-home .floormap-svg .seat-area.active {
    fill: rgba(122, 30, 38, 0.14) !important;
}
body.cfo-connect-cream .floormap-home .floormap-svg .person-label {
    fill: var(--ink-900) !important;
}
body.cfo-connect-cream .floormap-home .floormap-svg .person-label[fill="#999"] {
    fill: var(--text-muted) !important;
}
/* WC boxes — tom creme claro */
body.cfo-connect-cream .floormap-home .floormap-svg rect[fill="#f5f2f2"] {
    fill: var(--cream-100) !important;
    stroke: var(--border-subtle) !important;
}
body.cfo-connect-cream .floormap-home .floormap-svg text[fill="#888"] {
    fill: var(--text-muted) !important;
}
body.cfo-connect-cream .floormap-home .floormap-svg line[stroke="white"] {
    stroke: var(--cream-50) !important;
}
body.cfo-connect-cream .floormap-home .floormap-svg line[stroke="#444"] {
    stroke: rgba(122, 30, 38, 0.35) !important;
}
body.cfo-connect-cream .floormap-home .floormap-svg line[stroke="#666"] {
    stroke: rgba(122, 30, 38, 0.22) !important;
}
body.cfo-connect-cream .floormap-home .floormap-svg path[stroke="#999"],
body.cfo-connect-cream .floormap-home .floormap-svg path[stroke="#666"] {
    stroke: rgba(122, 30, 38, 0.18) !important;
}
body.cfo-connect-cream .floormap-home .floormap-svg rect[fill="#e8e4e4"] {
    fill: rgba(122, 30, 38, 0.06) !important;
    stroke: var(--border-subtle) !important;
}
body.cfo-connect-cream .mapa-legenda-dark { color: var(--text-muted) !important; }

/* ═══════════ COMPONENTES COMPARTILHADOS ═══════════ */

/* Cards genéricos */
body.cfo-connect-cream .card,
body.cfo-connect-cream .home-card,
body.cfo-connect-cream .home-sala-card,
body.cfo-connect-cream .system-card,
body.cfo-connect-cream .gov-content-block,
body.cfo-connect-cream .gov-benefit-card,
body.cfo-connect-cream .manage-item,
body.cfo-connect-cream .quick-action,
body.cfo-connect-cream .indicator,
body.cfo-connect-cream .team-dept,
body.cfo-connect-cream .floormap-container {
    background: #FFFFFF !important;
    border: 1px solid var(--border-subtle) !important;
    color: var(--ink-900) !important;
    box-shadow: 0 2px 8px rgba(122, 30, 38, 0.04) !important;
}
body.cfo-connect-cream .card:hover,
body.cfo-connect-cream .home-card:hover,
body.cfo-connect-cream .home-sala-card:hover,
body.cfo-connect-cream .system-card:hover,
body.cfo-connect-cream .manage-item:hover,
body.cfo-connect-cream .quick-action:hover,
body.cfo-connect-cream .indicator:hover {
    border-color: var(--border-strong) !important;
    box-shadow: 0 8px 20px -8px rgba(122, 30, 38, 0.14) !important;
}

/* Títulos de cards */
body.cfo-connect-cream .home-section-title,
body.cfo-connect-cream .home-card-title,
body.cfo-connect-cream .gov-section-title,
body.cfo-connect-cream .gov-hero-title,
body.cfo-connect-cream .card-header h3,
body.cfo-connect-cream .detail-section h3 {
    color: var(--ink-900) !important;
}
body.cfo-connect-cream .home-section-title .material-icons-outlined,
body.cfo-connect-cream .home-card-title .material-icons-outlined,
body.cfo-connect-cream .gov-section-title .material-icons-outlined {
    color: var(--burgundy-600) !important;
}

/* Links */
body.cfo-connect-cream a[href] { color: var(--burgundy-600) !important; }
body.cfo-connect-cream a[href]:hover { color: var(--burgundy-700) !important; }
body.cfo-connect-cream .home-card-link:hover { color: var(--burgundy-700) !important; }

/* Tabelas */
body.cfo-connect-cream .data-table th,
body.cfo-connect-cream .catalog-table th {
    background: var(--burgundy-600) !important;
    color: var(--cream-50) !important;
    border-bottom-color: var(--border-subtle) !important;
}
body.cfo-connect-cream .data-table td,
body.cfo-connect-cream .catalog-table td {
    border-bottom-color: var(--border-light) !important;
    color: var(--ink-900) !important;
}
body.cfo-connect-cream .data-table tbody tr:hover,
body.cfo-connect-cream .catalog-table tbody tr:hover {
    background: var(--cream-50) !important;
}

/* Formulários */
body.cfo-connect-cream .form-control {
    background: var(--cream-50) !important;
    border-color: rgba(20, 10, 12, 0.14) !important;
    color: var(--ink-900) !important;
}
body.cfo-connect-cream .form-control:focus {
    border-color: var(--burgundy-600) !important;
    background: #FFFFFF !important;
    box-shadow: 0 0 0 3px rgba(122, 30, 38, 0.22) !important;
}
body.cfo-connect-cream .form-group label { color: var(--ink-900) !important; }
body.cfo-connect-cream select.form-control { background: var(--cream-50) !important; }

/* Botões */
body.cfo-connect-cream .btn-primary {
    background: var(--burgundy-600) !important;
    color: var(--cream-50) !important;
    box-shadow: 0 12px 30px -8px rgba(122, 30, 38, 0.22) !important;
}
body.cfo-connect-cream .btn-primary:hover {
    background: var(--burgundy-700) !important;
    transform: translateY(-1px);
    box-shadow: 0 14px 32px -8px rgba(122, 30, 38, 0.30) !important;
}
body.cfo-connect-cream .btn-outline {
    background: transparent !important;
    border-color: var(--border-strong) !important;
    color: var(--burgundy-700) !important;
}
body.cfo-connect-cream .btn-outline:hover {
    background: rgba(122, 30, 38, 0.06) !important;
    color: var(--burgundy-800) !important;
}

/* KPI icons (legado de outras páginas) */
body.cfo-connect-cream .kpi-icon.wine { background: rgba(122, 30, 38, 0.12) !important; color: var(--burgundy-600) !important; }
body.cfo-connect-cream .kpi-icon.gold { background: rgba(184, 138, 86, 0.14) !important; color: var(--gold-500) !important; }
body.cfo-connect-cream .kpi-icon.success { background: rgba(21, 128, 61, 0.12) !important; color: #15803D !important; }
body.cfo-connect-cream .kpi-icon.danger { background: rgba(220, 38, 38, 0.12) !important; color: #991B1B !important; }
body.cfo-connect-cream .kpi-icon.warning { background: rgba(217, 119, 6, 0.14) !important; color: #92400E !important; }
body.cfo-connect-cream .kpi-icon.info { background: rgba(14, 116, 144, 0.12) !important; color: #155E75 !important; }
body.cfo-connect-cream .kpi-content h4 { color: var(--ink-900) !important; }
body.cfo-connect-cream .kpi-content p { color: var(--text-muted) !important; }
body.cfo-connect-cream .indicator-value { color: var(--burgundy-700) !important; }
body.cfo-connect-cream .indicator-label { color: var(--text-secondary) !important; }

/* Team */
body.cfo-connect-cream .team-dept-header { background: var(--cream-100) !important; }
body.cfo-connect-cream .team-dept-name {
    color: var(--burgundy-700) !important;
    font-family: 'Instrument Serif', Georgia, serif !important;
    font-weight: 400 !important;
}
body.cfo-connect-cream .team-member:hover { background: var(--cream-50) !important; }
body.cfo-connect-cream .team-member.active { background: rgba(122, 30, 38, 0.08) !important; }
body.cfo-connect-cream .team-name { color: var(--ink-900) !important; }
body.cfo-connect-cream .team-role { color: var(--text-muted) !important; }

/* Misc */
body.cfo-connect-cream .pillar,
body.cfo-connect-cream .gov-pillar-item,
body.cfo-connect-cream .gov-highlight-box,
body.cfo-connect-cream .gov-content-footer { background: var(--cream-100) !important; }
body.cfo-connect-cream .person-detail { background: #FFFFFF !important; }
body.cfo-connect-cream .sys-tag {
    background: rgba(122, 30, 38, 0.10) !important;
    color: var(--burgundy-700) !important;
}
body.cfo-connect-cream .modal { background: #FFFFFF !important; border: 1px solid var(--border-subtle) !important; }
body.cfo-connect-cream .modal-overlay { background: rgba(10, 5, 6, 0.35) !important; }
body.cfo-connect-cream .gov-footer {
    border-top-color: var(--border-subtle) !important;
    color: var(--text-muted) !important;
    background: #FFFFFF !important;
}
body.cfo-connect-cream .gov-area { background: #FFFFFF !important; border: 1px solid var(--border-subtle) !important; }
body.cfo-connect-cream .gov-area:hover { background: var(--cream-50) !important; }
body.cfo-connect-cream .gov-login { background: var(--cream-100) !important; border-color: var(--border-subtle) !important; }

body.cfo-connect-cream .portal-nav a { color: var(--ink-900) !important; background: var(--cream-100) !important; }
body.cfo-connect-cream .portal-nav a:hover { background: var(--cream-200) !important; color: var(--burgundy-600) !important; }
body.cfo-connect-cream .portal-nav a.active { background: var(--burgundy-600) !important; color: var(--cream-50) !important; }

body.cfo-connect-cream .catalog-group { border-color: var(--border-light) !important; }
body.cfo-connect-cream .catalog-group-header { background: var(--cream-100) !important; color: var(--ink-900) !important; }

body.cfo-connect-cream .quick-action:hover { border-color: var(--burgundy-600) !important; background: var(--cream-50) !important; }

body.cfo-connect-cream .breadcrumb { color: var(--text-muted) !important; }
body.cfo-connect-cream .breadcrumb a { color: var(--text-muted) !important; }
body.cfo-connect-cream .breadcrumb a:hover { color: var(--burgundy-600) !important; }

body.cfo-connect-cream .pagination-link { border-color: var(--border-subtle) !important; color: var(--ink-900) !important; }
body.cfo-connect-cream .pagination-link:hover { background: var(--cream-50) !important; color: var(--burgundy-600) !important; }
body.cfo-connect-cream .pagination-link.active {
    background: var(--burgundy-600) !important;
    color: var(--cream-50) !important;
    border-color: var(--burgundy-600) !important;
}

/* Alerts */
body.cfo-connect-cream .alert-error { background: #FAE7E7 !important; color: #7A1E1E !important; border-color: #E8C4C4 !important; }
body.cfo-connect-cream .alert-success { background: #E8F3EC !important; color: #1F5A30 !important; border-color: #C4DDCC !important; }
body.cfo-connect-cream .alert-warning { background: #F6EDD6 !important; color: #7A5C1A !important; border-color: #E2D49B !important; }
body.cfo-connect-cream .alert-info { background: #E4EDF2 !important; color: #2A5E6B !important; border-color: #C4D6DC !important; }

/* Scrollbar */
body.cfo-connect-cream ::-webkit-scrollbar { width: 6px; height: 6px; }
body.cfo-connect-cream ::-webkit-scrollbar-track { background: transparent; }
body.cfo-connect-cream ::-webkit-scrollbar-thumb { background: rgba(122, 30, 38, 0.25); border-radius: 3px; }
body.cfo-connect-cream ::-webkit-scrollbar-thumb:hover { background: rgba(122, 30, 38, 0.45); }

/* Board (tasks) */
body.cfo-connect-cream .board-header .cell { background: var(--cream-100) !important; color: var(--text-muted) !important; }
body.cfo-connect-cream .board-header .cell-name { background: var(--cream-100) !important; }
body.cfo-connect-cream .board-header .cell-backlog { background: var(--cream-100) !important; }
body.cfo-connect-cream .board-header .cell.today { background: rgba(184, 138, 86, 0.16) !important; }

/* Floormap standalone (page /mapa-ti) */
body.cfo-connect-cream .floormap-svg { background: #FFFFFF !important; }
body.cfo-connect-cream .floormap-svg .room { fill: var(--cream-100) !important; }
body.cfo-connect-cream .floormap-svg .room-label { fill: var(--burgundy-700) !important; }
body.cfo-connect-cream .floormap-svg .person-label { fill: var(--ink-900) !important; }

/* Hero CFO-Connect (outras páginas) — gradiente bordô institucional */
body.cfo-connect-cream .hero-cfo-connect .hero-inner.mesh-gradient {
    background: linear-gradient(135deg, var(--burgundy-600) 0%, var(--burgundy-800) 100%) !important;
    animation: none !important;
}
body.cfo-connect-cream .hero-cfo-connect .hero-inner {
    background: linear-gradient(135deg, var(--burgundy-600) 0%, var(--burgundy-800) 100%) !important;
    border: none !important;
    color: var(--cream-50) !important;
}
