:root{--c-brand: #f49918;--c-accent: #1f2933;--c-brand-50: #fef6e9;--c-brand-100: #fde9c4;--c-brand-300: #f8c164;--c-brand-500: #f49918;--c-brand-700: #b8710f;--c-bg: #ffffff;--c-bg-alt: #f7f8fa;--c-surface: #ffffff;--c-border: #e4e7eb;--c-text: #1f2933;--c-text-muted: #616e7c;--c-text-faint: #9aa5b1;--c-positive: #1a9c6b;--c-negative: #d64545;--c-neutral: #8a94a6;--c-mixed: #b98900;--c-emo-joy: #f4c542;--c-emo-trust: #3aa0e0;--c-emo-fear: #7b4fb0;--c-emo-surprise: #e07bd0;--c-emo-sadness: #5b7ea6;--c-emo-disgust: #6b8f3f;--c-emo-anger: #d64545;--c-emo-anticipation: #e08a2e;--c-emo-indignation: #b0332f;--c-emo-hope: #2fae7d;--c-emo-distrust: #7a5c3e;--c-emo-apathy: #9aa5b1;--font-sans: "Calibri", "Carlito", system-ui, -apple-system, sans-serif;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.5rem;--fs-2xl: 2rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 12px rgba(16, 24, 40, .08)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--c-bg: #14181d;--c-bg-alt: #1b2027;--c-surface: #1e242c;--c-border: #2c333d;--c-text: #eef1f4;--c-text-muted: #a7b0bc;--c-text-faint: #6b7684}}:root[data-theme=dark]{--c-bg: #14181d;--c-bg-alt: #1b2027;--c-surface: #1e242c;--c-border: #2c333d;--c-text: #eef1f4;--c-text-muted: #a7b0bc;--c-text-faint: #6b7684}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);background:var(--c-bg-alt);color:var(--c-text);font-size:var(--fs-base)}a{color:var(--c-brand-700)}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--c-surface);border-right:1px solid var(--c-border);display:flex;flex-direction:column;padding:var(--space-4)}.sidebar-brand{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-5)}.sidebar-brand img{width:32px;height:32px}.sidebar-brand span{font-weight:700;font-size:var(--fs-lg);letter-spacing:.02em}.nav-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);color:var(--c-text-muted);text-decoration:none;font-size:var(--fs-sm);font-weight:500}.nav-link:hover{background:var(--c-bg-alt);color:var(--c-text)}.nav-link.active{background:var(--c-brand-50);color:var(--c-brand-700)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.main-header{padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--c-border);display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.main-header h1{margin:0 0 var(--space-1);font-size:var(--fs-xl)}.main-header p{margin:0;color:var(--c-text-muted);font-size:var(--fs-sm)}.main-content{padding:var(--space-6);flex:1}.grid{display:grid;gap:var(--space-4)}.grid-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.tile{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.tile h3{margin:0 0 var(--space-3);font-size:var(--fs-sm);font-weight:600;color:var(--c-text-muted)}.metric-card{display:flex;flex-direction:column;gap:var(--space-1)}.metric-card .label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--fs-xs);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.04em}.metric-card .value{font-size:var(--fs-2xl);font-weight:700;line-height:1.1}.metric-card .delta{font-size:var(--fs-xs);font-weight:600}.metric-card .delta.up{color:var(--c-positive)}.metric-card .delta.down{color:var(--c-negative)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);font-size:var(--fs-sm);cursor:pointer}.btn:hover{border-color:var(--c-brand-500)}.btn.active{background:var(--c-brand-500);border-color:var(--c-brand-500);color:#fff}.input,.select{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);font-size:var(--fs-sm)}.pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:999px;font-size:var(--fs-xs);font-weight:600}.pill.positive{background:color-mix(in srgb,var(--c-positive) 15%,transparent);color:var(--c-positive)}.pill.negative{background:color-mix(in srgb,var(--c-negative) 15%,transparent);color:var(--c-negative)}.pill.neutral{background:color-mix(in srgb,var(--c-neutral) 20%,transparent);color:var(--c-text-muted)}.pill.mixed{background:color-mix(in srgb,var(--c-mixed) 18%,transparent);color:var(--c-mixed)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.table th{text-align:left;padding:var(--space-2) var(--space-3);color:var(--c-text-muted);font-weight:600;border-bottom:1px solid var(--c-border);white-space:nowrap}.table td{padding:var(--space-3);border-bottom:1px solid var(--c-border);vertical-align:top}.table tr.expandable{cursor:pointer}.table tr.expandable:hover{background:var(--c-bg-alt)}.filters-bar{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4);align-items:center}.detail-row{background:var(--c-bg-alt)}.detail-row td{padding:var(--space-4)}.detail-section{margin-bottom:var(--space-3)}.detail-section h4{margin:0 0 var(--space-2);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-muted)}.state-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6);text-align:center;color:var(--c-text-muted)}.skeleton{background:linear-gradient(90deg,var(--c-bg-alt) 25%,var(--c-border) 50%,var(--c-bg-alt) 75%);background-size:200% 100%;animation:skeleton-sheen 1.4s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-sheen{0%{background-position:200% 0}to{background-position:-200% 0}}.info-tooltip{position:relative;display:inline-flex;cursor:help;color:var(--c-text-faint)}.info-tooltip .bubble{position:absolute;bottom:130%;left:50%;transform:translate(-50%);background:var(--c-accent);color:#fff;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--fs-xs);width:220px;z-index:10;box-shadow:var(--shadow-md)}
