:root{--teal:#0d8a87;--teal-dark:#0a6b69;--teal-tint:#e6f4f3;--accent:#ea580c;--accent-dark:#b04205;--accent-tint:#fff4ec;--navy:#0b1d33;--page:#faf7f2;--cream:#fbf6ef;--surface:#fff;--surface-2:#faf7f2;--surface-3:#f4f1ec;--rule:#e7e0d4;--rule-soft:#f0e8db;--rail-bg:#0b1d33;--rail-fill:#16263a;--rail-text:#cbd5e1;--rail-muted:#8696ab;--ink:#14253c;--muted:#5b6675;--subtle:#64748b;--ok:#047857;--ok-tint:#ecfdf5;--ok-rule:#a7f3d0;--warn:#b45309;--warn-tint:#fff7ed;--warn-rule:#fed7aa;--bad:#b91c1c;--bad-tint:#fef2f2;--bad-rule:#fecaca;--info:#1d4ed8;--info-tint:#eff6ff;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-pill:999px;--shadow-sm:0 1px 2px rgba(11,29,51,.06),0 1px 3px rgba(11,29,51,.08);--shadow-md:0 8px 24px -12px rgba(11,29,51,.18);--shadow-lg:0 24px 48px -20px rgba(11,29,51,.28);--focus:0 0 0 3px var(--teal-tint);color-scheme:light}[data-theme=dark]{--page:#0e141d;--cream:#11161e;--surface:#161d28;--surface-2:#1b2330;--surface-3:#232c3a;--rule:#2b3543;--rule-soft:#222c3a;--ink:#eef2f7;--muted:#aeb8c4;--subtle:#8893a2;--teal-tint:rgba(13,138,135,.22);--accent-tint:rgba(234,88,12,.18);--ok:#34d399;--ok-tint:rgba(16,185,129,.16);--ok-rule:rgba(52,211,153,.38);--warn:#fbbf24;--warn-tint:rgba(217,119,6,.18);--warn-rule:rgba(251,191,36,.38);--bad:#f87171;--bad-tint:hsla(0,91%,71%,.16);--bad-rule:hsla(0,91%,71%,.38);--info:#60a5fa;--info-tint:rgba(37,99,235,.18);--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 8px 24px -12px rgba(0,0,0,.5);--shadow-lg:0 24px 48px -20px rgba(0,0,0,.6);color-scheme:dark}body,html{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;color:var(--ink);background:var(--page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s ease,color .2s ease}.app-main h1,.app-main h2{font-family:Fraunces,Georgia,Times New Roman,serif;letter-spacing:-.01em;font-weight:600}@keyframes acc-bounce{0%,80%,to{transform:scale(.5);opacity:.4}40%{transform:scale(1);opacity:1}}@keyframes acc-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.acc-in{animation:acc-fade .28s ease both}@keyframes acc-spin{to{transform:rotate(1turn)}}.app-main ::-webkit-scrollbar{height:10px;width:10px}.app-main ::-webkit-scrollbar-thumb{background:#d8d4cc;border-radius:999px}.app-main ::-webkit-scrollbar-track{background:transparent}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}:focus:not(:focus-visible){outline:none}.skip-link{position:fixed;top:-60px;left:12px;z-index:1000;background:var(--navy);color:#fff;padding:10px 16px;border-radius:8px;font-weight:600;font-size:14px;text-decoration:none;transition:top .15s ease}.skip-link:focus{top:12px}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:700;font-size:14px;line-height:1;border:1px solid transparent;border-radius:var(--r-pill);padding:10px 18px;cursor:pointer;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease,border-color .15s ease}.ui-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.ui-btn--sm{padding:7px 13px;font-size:13px}.ui-btn--lg{padding:13px 24px;font-size:15px}.ui-btn--block{width:100%}.ui-btn--primary{background:linear-gradient(180deg,var(--accent),var(--accent-dark));color:#fff;box-shadow:0 10px 24px -10px rgba(234,88,12,.5)}.ui-btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 30px -10px rgba(234,88,12,.6)}.ui-btn--secondary{background:var(--teal);color:#fff}.ui-btn--secondary:hover:not(:disabled){background:var(--teal-dark)}.ui-btn--ghost{background:var(--surface);color:var(--ink);border-color:var(--rule)}.ui-btn--ghost:hover:not(:disabled){border-color:var(--teal);color:var(--teal-dark);background:var(--teal-tint)}.ui-btn--danger{background:var(--surface);color:var(--bad);border-color:var(--bad-rule)}.ui-btn--danger:hover:not(:disabled){background:var(--bad-tint)}.ui-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-sm);border:none;background:none;color:var(--subtle);cursor:pointer;transition:background .15s ease,color .15s ease}.ui-iconbtn:hover:not(:disabled){background:var(--teal-tint);color:var(--teal-dark)}.ui-iconbtn--danger:hover:not(:disabled){background:var(--bad-tint);color:var(--bad)}.ui-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);padding:18px}.ui-badge{display:inline-flex;align-items:center;gap:5px;border-radius:var(--r-pill);padding:3px 10px;font-size:12px;font-weight:700;border:1px solid transparent}.ui-badge--ok{background:var(--ok-tint);color:var(--ok);border-color:var(--ok-rule)}.ui-badge--warn{background:var(--warn-tint);color:var(--warn);border-color:var(--warn-rule)}.ui-badge--bad{background:var(--bad-tint);color:var(--bad);border-color:var(--bad-rule)}.ui-badge--neutral{background:#f4f1ec;color:var(--muted);border-color:var(--rule)}.ui-skeleton{background:linear-gradient(100deg,#f1ece3 30%,#faf7f1 50%,#f1ece3 70%);background-size:200% 100%;animation:ui-shimmer 1.2s linear infinite;border-radius:var(--r-sm)}@keyframes ui-shimmer{to{background-position:-200% 0}}.ui-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.kpi-link{transition:transform .15s ease,box-shadow .15s ease}.kpi-link:hover{transform:translateY(-2px);box-shadow:0 12px 26px -16px rgba(11,29,51,.22)}.dash-charts{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px;margin-bottom:18px}.dash-charts>.wide{grid-column:span 2}.dash-charts>*{min-width:0}@media (max-width:760px){.dash-charts{grid-template-columns:1fr}.dash-charts>.wide{grid-column:auto}}@media (max-width:640px){.app-main table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}