/* Giraffe: a bright, calm savanna with high-contrast report surfaces. */
html[data-theme="giraffe"] {
    --brand-50: #fff8df; --brand-100: #ffedaf; --brand-200: #fbd474; --brand-300: #efb341;
    --brand-400: #d9871e; --brand-500: #b66314; --brand-600: #925018; --brand-700: #713a16;
    --brand-800: #552b16; --brand-900: #3a1d10;
    --surface: #fff4d5; --surface-warm: #fffaf0; --surface-card: #fffdf7;
    --text-primary: #43240f; --text-secondary: #68411f; --text-muted: #8a6844;
    --border-light: #edcf97; --border-medium: #d69d4e; --glass: #fffaf0; --glass-border: #d8ad67;
    --ambient-primary: transparent; --ambient-secondary: transparent;
    --age-fresh-bg: #e7f2be; --age-warning-bg: #ffe4a8; --age-stale-bg: #f8d6bc;
    --radius-sm: 10px; --radius-md: 15px; --radius-lg: 22px; --radius-xl: 28px;
}
html[data-theme="giraffe"] body { color: var(--text-primary); background-color: #fff3cf; background-image: radial-gradient(#c8802a28 1px, transparent 1.5px), linear-gradient(135deg, #fff7dd 0%, #f9dd9a 100%); background-size: 15px 15px, auto; }
html[data-theme="giraffe"] body::before, html[data-theme="giraffe"] body::after { display: none; }
html[data-theme="giraffe"] .app-header { background: #fff9e9; border-bottom: 3px solid #6b3d17; box-shadow: 0 4px 0 #b76e1d2b; backdrop-filter: none; }
html[data-theme="giraffe"] .logo-mark-bg { inset: -4px; border-radius: 50%; background: #f9c957 url('../images/giraffe.svg') center 39% / 75px auto no-repeat; }
html[data-theme="giraffe"] .logo-mark-inner { visibility: hidden; }
html[data-theme="giraffe"] :is(.logo-title, .logo-title span) { color: #5b3213; }
html[data-theme="giraffe"] .version-badge { color: #6b3d17; background: #ffedaf; border-color: #d69d4e; }

html[data-theme="giraffe"] .kpi-grid { gap: 18px; margin-bottom: 32px; }
html[data-theme="giraffe"] .kpi-card { padding: 24px; border: 2px solid #7a461c; border-radius: 20px 20px 20px 7px; background-color: #fffdf7; background-image: radial-gradient(circle at 88% 20%, #d681291f 0 7px, transparent 8px), radial-gradient(circle at 78% 38%, #d681291f 0 5px, transparent 6px); box-shadow: 3px 4px 0 #d69d4e; }
html[data-theme="giraffe"] .kpi-card:nth-child(4n + 2) { background-color: #fff0bd; } html[data-theme="giraffe"] .kpi-card:nth-child(4n + 3) { background-color: #f9dfad; } html[data-theme="giraffe"] .kpi-card:nth-child(4n) { background-color: #f7edcc; }
html[data-theme="giraffe"] .kpi-card::after { content: ''; position: absolute; top: 0; left: 23px; width: 45px; height: 12px; border-radius: 0 0 7px 7px; background: #7a461c; } html[data-theme="giraffe"] .kpi-card:hover { transform: translateY(-2px); box-shadow: 3px 6px 0 #d69d4e; }
html[data-theme="giraffe"] .kpi-label { color: #68411f; text-transform: none; letter-spacing: 0; font-size: 12px; padding-right: 42px; } html[data-theme="giraffe"] .kpi-value { color: #4c290f !important; font-size: 40px; font-weight: 850; } html[data-theme="giraffe"] .kpi-icon { top: 21px; right: 17px; width: 37px; height: 37px; border: 1px solid #d69d4e; border-radius: 50%; background: #fff9e9 !important; } html[data-theme="giraffe"] .kpi-icon :is(i, svg) { color: #a35b18 !important; }
html[data-theme="giraffe"] :is(.branch-card, .cap-tree-card, .login-card, .drop-zone) { color: #43240f; border: 2px solid #a76421; border-radius: 20px; background: #fffdf7; box-shadow: 3px 4px 0 #e3bd79; }
html[data-theme="giraffe"] .branch-header { background: linear-gradient(90deg, #6c3b18, #9b581b); border-bottom: 3px solid #49270f; } html[data-theme="giraffe"] .branch-header :is(h2, h3, .branch-title) { color: #fff9e9; }
html[data-theme="giraffe"] .region-label { color: #5b3213; border: 1px solid #d69d4e; border-radius: 8px; background: #ffedaf; box-shadow: 2px 2px 0 #e3bd79; } html[data-theme="giraffe"] .region-line { background: #d69d4e; }
html[data-theme="giraffe"] :is(table, .vacancy-table) { background: #fffdf7; color: #43240f; } html[data-theme="giraffe"] thead th { color: #5b3213 !important; border-color: #e3bd79 !important; background: #ffedaf !important; } html[data-theme="giraffe"] tbody tr { border-color: #efd7a9 !important; } html[data-theme="giraffe"] tbody tr:nth-child(even) { background: #fff7df !important; } html[data-theme="giraffe"] tbody tr:hover { background: #ffe9a8 !important; } html[data-theme="giraffe"] td { color: #43240f; border-color: #efd7a9 !important; }
html[data-theme="giraffe"] :is(.manual-note, .stats-card-copy, .upload-desc, .text-slate-400, .text-slate-500) { color: #8a6844 !important; }
html[data-theme="giraffe"] :is(.btn-upload, .btn-icon, #countryNav, #globalSearch, .manual-select, .login-input, select) { color: #5b3213; border-color: #d69d4e; background-color: #fffdf7; } html[data-theme="giraffe"] :is(.btn-upload, .btn-icon):hover { color: #4c290f; border-color: #9b581b; background: #ffedaf; } html[data-theme="giraffe"] :is(#globalSearch, .login-input)::placeholder { color: #9b7c59; } html[data-theme="giraffe"] #countryNav button { color: #68411f; } html[data-theme="giraffe"] #countryNav button.bg-blue-600 { color: #fff9e9; background: #925018; } html[data-theme="giraffe"] .btn-primary-upload { color: #fff9e9; background: #925018; box-shadow: 2px 3px 0 #5b3213; } html[data-theme="giraffe"] .phase-dropdown, html[data-theme="giraffe"] :is(#funnelContent, #capUploadZone > div) { border-color: #d69d4e; background: #fffdf7 !important; } html[data-theme="giraffe"] #loadingOverlay { background: #fff8e9ef !important; } html[data-theme="giraffe"] :is(button, input, select):focus-visible { outline: 3px solid #a35b18; outline-offset: 3px; }
.giraffe-field { position: fixed; z-index: 3; inset: 0; overflow: hidden; pointer-events: none; }.giraffe-side-leaf { position: absolute; bottom: 14px; width: 80px; height: 170px; border-radius: 80% 8% 70% 8%; background: linear-gradient(100deg, #b97023, #6c8438); opacity: .76; }.giraffe-side-leaf::after { content: ''; position: absolute; inset: 30px 28px; border-left: 3px solid #fff3cf80; transform: rotate(-18deg); }.giraffe-side-leaf--left { left: -38px; transform: rotate(-18deg); }.giraffe-side-leaf--right { right: -38px; transform: scaleX(-1) rotate(-18deg); }
.giraffe-peek { position: absolute; bottom: -30px; right: 10px; width: 100px; transform: rotate(-8deg); }
@media (max-width: 1510px) { .giraffe-side-leaf, .giraffe-peek { display: none; } }
@media (max-width: 480px) { html[data-theme="giraffe"] .kpi-grid { gap: 12px; } html[data-theme="giraffe"] .kpi-card { padding: 23px 14px 22px; } html[data-theme="giraffe"] .kpi-icon { top: 16px; right: 10px; width: 28px; height: 28px; } html[data-theme="giraffe"] .kpi-label { min-height: 28px; margin-bottom: 4px; padding-right: 25px; font-size: 10px; } html[data-theme="giraffe"] .kpi-value { font-size: 32px; } }
@media (prefers-reduced-motion: reduce) { html[data-theme="giraffe"] *, html[data-theme="giraffe"] *::before, html[data-theme="giraffe"] *::after { animation: none !important; transition: none !important; } }
