:root{--bg: #f5f2ed;--bg-card: #fffefb;--bg-dark: #0f1923;--navy: #0f2d4a;--navy-mid: #1a4a73;--amber: #c9822a;--amber-light: #e8a84e;--text-primary: #0f1923;--text-secondary: #4a5568;--text-muted: #8a9bb0;--border: #ddd8cf;--border-strong: #c4bcb0;--shadow-sm: 0 1px 3px rgba(15,25,35,.08);--shadow-md: 0 4px 16px rgba(15,25,35,.1);--shadow-lg: 0 12px 40px rgba(15,25,35,.14);--radius: 2px;--radius-lg: 4px;--font-display: "DM Serif Display", Georgia, serif;--font-body: "DM Sans", sans-serif;--font-mono: "DM Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-body);background:var(--bg);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:.4}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideRight{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.fade-up{animation:fadeUp .5s ease forwards}.fade-in{animation:fadeIn .4s ease forwards}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#fff;padding:0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-logo{padding:32px 28px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo h1{font-family:var(--font-display);font-size:1.6rem;font-weight:400;letter-spacing:-.02em;line-height:1.1;color:#fff}.sidebar-logo h1 span{color:var(--amber-light);font-style:italic}.sidebar-logo p{font-size:.72rem;color:#fff6;letter-spacing:.12em;text-transform:uppercase;margin-top:6px}.sidebar-nav{padding:20px 0;flex:1}.nav-label{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:#ffffff4d;padding:0 28px;margin:16px 0 8px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 28px;cursor:pointer;font-size:.88rem;color:#fff9;transition:all .2s;border-left:3px solid transparent;font-weight:400}.nav-item:hover{color:#fff;background:#ffffff0d}.nav-item.active{color:#fff;border-left-color:var(--amber-light);background:#c9822a1f}.nav-item .nav-icon{font-size:1rem;width:20px;text-align:center}.main-content{overflow-y:auto;background:var(--bg)}.page-header{padding:48px 48px 32px;border-bottom:1px solid var(--border);background:var(--bg-card)}.page-header .eyebrow{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--amber);font-weight:500;margin-bottom:8px}.page-header h2{font-family:var(--font-display);font-size:2rem;font-weight:400;letter-spacing:-.02em;color:var(--navy);line-height:1.15}.page-header p{margin-top:8px;font-size:.9rem;color:var(--text-secondary);max-width:560px}.page-body{padding:40px 48px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-sm)}.card-title{font-family:var(--font-display);font-size:1.05rem;font-weight:400;color:var(--navy);margin-bottom:20px;display:flex;align-items:baseline;gap:10px}.card-title .subtitle{font-family:var(--font-body);font-size:.75rem;color:var(--text-muted);font-weight:400}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 28px;position:relative;overflow:hidden}.kpi-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--navy),var(--amber));transform-origin:left;animation:slideRight .8s ease forwards}.kpi-label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.kpi-value{font-family:var(--font-display);font-size:2.2rem;color:var(--navy);line-height:1;letter-spacing:-.02em}.kpi-unit{font-family:var(--font-body);font-size:.85rem;color:var(--text-secondary);margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);font-weight:500}.year-range-wrapper{padding:8px 0 4px}.year-display{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.88rem;color:var(--navy);font-weight:500;margin-bottom:14px}.range-track{height:4px;background:var(--border);border-radius:2px;position:relative;cursor:pointer}.range-fill{position:absolute;height:100%;background:linear-gradient(90deg,var(--navy),var(--amber));border-radius:2px;transition:all .1s}.chart-container{width:100%;margin-top:8px}.recharts-cartesian-axis-tick-value{font-family:var(--font-mono)!important;font-size:11px!important;fill:var(--text-muted)!important}.recharts-legend-item-text{font-family:var(--font-body)!important;font-size:12px!important}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th{text-align:left;padding:10px 16px;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);font-weight:500}.data-table td{padding:12px 16px;border-bottom:1px solid var(--border);color:var(--text-primary);font-family:var(--font-mono);font-size:.82rem}.data-table tr:hover td{background:#0f2d4a08}.data-table .label-cell{font-family:var(--font-body);font-size:.83rem;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pct-positive{color:#16a34a}.pct-negative{color:#dc2626}.pct-neutral{color:var(--text-muted)}.badge{display:inline-block;padding:2px 8px;border-radius:2px;font-size:.7rem;font-weight:500;letter-spacing:.05em;background:#0f2d4a14;color:var(--navy)}.empty-state{text-align:center;padding:64px 32px;color:var(--text-muted)}.empty-state .icon{font-size:2.5rem;margin-bottom:16px}.empty-state p{font-size:.9rem}.loading{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:.85rem;padding:24px 0}.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--navy);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.rs__control{border-color:var(--border)!important;border-radius:var(--radius)!important;background:var(--bg-card)!important;box-shadow:none!important;min-height:42px!important;font-size:.88rem}.rs__control:hover{border-color:var(--border-strong)!important}.rs__control--is-focused{border-color:var(--navy)!important}.rs__menu{border-radius:var(--radius)!important;border:1px solid var(--border)!important}.rs__option{font-size:.85rem!important;white-space:normal!important;word-break:break-word!important}.rs__option--is-focused{background:#0f2d4a0f!important}.rs__option--is-selected{background:var(--navy)!important}.rs__multi-value{background:#0f2d4a14!important;border-radius:2px!important}.rs__multi-value__label{color:var(--navy)!important;font-size:.8rem!important}.index-up{color:#16a34a;font-weight:500}.index-down{color:#dc2626;font-weight:500}.divider{height:1px;background:var(--border);margin:32px 0}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
