@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7452ca4a93358909-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e0ecb571b51ea3b5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/6e8c7cb283336a9d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_fdb222{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_fdb222{--next-font-display:"Fraunces","Fraunces Fallback"}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/adb45196eddef626-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d0ba92e140f0dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans Fallback;src:local("Arial");ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.00%;size-adjust:102.74%}.__className_3d9088{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.__variable_3d9088{--next-font-body:"Instrument Sans","Instrument Sans Fallback"}:root{color-scheme:light;--paper:#faf1e8;--surface:#ffffff;--surface-2:#f4e8d5;--ink:#1b3158;--ink-2:#3f5580;--ink-3:#7d8cab;--line:#e9dcc6;--line-soft:#f0e6d3;--accent:#eea851;--accent-deep:#b97a1f;--accent-soft:#fdeed8;--teal:#436f78;--teal-soft:#e2ecec;--good:#4d9e76;--good-soft:#ddeee4;--bad:#99433c;--bad-soft:#f6ddd9;--warn:#b97a1f;--warn-soft:#f9ecd4;--radius:16px;--shadow:0 1px 0 rgba(27,49,88,0.04),0 8px 24px rgba(27,49,88,0.07);--font-display:var(--next-font-display,Georgia,serif);--font-body:var(--next-font-body,-apple-system,sans-serif)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:radial-gradient(1200px 500px at 80% -10%,rgba(238,168,81,.1),transparent 60%),var(--paper);color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit}h1,h2,h3{margin:0}.shell{display:flex;min-height:100dvh}.sidebar{width:232px;flex-shrink:0;border-right:1px solid var(--line);padding:22px 16px;display:flex;flex-direction:column;gap:26px;position:-webkit-sticky;position:sticky;top:0;height:100dvh}.brand{display:flex;align-items:center;gap:11px;padding:0 6px}.brand-logo{display:block;width:132px;height:auto}.brand-logo.small{width:104px}.brand-sub{font-size:11px;color:var(--ink-3);margin-top:4px}.nav{display:flex;flex-direction:column;gap:2px;flex:1 1}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:var(--ink-2);font-size:13.5px;font-weight:500;transition:background .15s,color .15s}.nav-link:hover{background:var(--surface-2);color:var(--ink)}.nav-link.active{background:var(--ink);color:var(--paper)}.nav-link svg{flex-shrink:0;opacity:.75}.nav-link.active svg{opacity:1}.logout-btn{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:13px;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s}.logout-btn:hover{border-color:var(--ink-3);color:var(--ink)}.main{flex:1 1;min-width:0;padding:26px 30px 80px}.main-inner{max-width:1120px;margin:0 auto}.page-head{margin-bottom:22px}.page-head h1{font-family:var(--font-display);font-size:27px;font-weight:600;letter-spacing:-.4px}.page-head .desc{color:var(--ink-3);font-size:13px;margin-top:4px}.page-head .asof{color:var(--ink-3);font-size:11.5px;margin-top:2px}.mobile-top,.tabbar{display:none}@media (max-width:840px){.sidebar{display:none}.main{padding:16px 16px 96px}.mobile-top{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 88%,transparent);position:-webkit-sticky;position:sticky;top:0}.mobile-top,.tabbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:40}.tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;background:color-mix(in srgb,var(--surface) 92%,transparent);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.tab-link{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 4px;border-radius:10px;color:var(--ink-3);font-size:10.5px;font-weight:500}.tab-link.active{color:var(--accent-deep);background:var(--accent-soft)}}.grid{display:grid;grid-gap:14px;gap:14px}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.two-col{grid-template-columns:1.5fr 1fr;margin-top:14px}.two-col-even{grid-template-columns:1fr 1fr}.one-col,.two-col-even{margin-top:14px}@media (max-width:1000px){.two-col,.two-col-even{grid-template-columns:1fr}}@media (max-width:840px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:420px){.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);min-width:0}.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;flex-wrap:wrap}.card-head h2{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.2px}.card-note{font-size:11.5px;color:var(--ink-3)}.kpi h3{font-size:11px;color:var(--ink-3);font-weight:600;text-transform:uppercase;letter-spacing:.7px;margin-bottom:7px}.kpi .value{font-family:var(--font-display);font-size:27px;font-weight:600;letter-spacing:-.5px;font-feature-settings:"lnum";font-variant-numeric:lining-nums}.kpi .meta{display:flex;align-items:center;gap:7px;margin-top:6px;font-size:11.5px;color:var(--ink-3);flex-wrap:wrap}@media (max-width:420px){.card{padding:14px 15px}.kpi .value{font-size:22px}}.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-weight:600;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pill.up{background:var(--good-soft);color:var(--good)}.pill.down{background:var(--bad-soft);color:var(--bad)}.pill.flat{background:var(--surface-2);color:var(--ink-2)}.chart-box{height:270px;min-width:0}.chart-box.short{height:230px}.table-wrap{overflow-x:auto;margin:0 -20px;padding:0 20px}table.data{width:100%;border-collapse:collapse;font-size:13px;min-width:560px}table.data th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}table.data td{padding:11px 10px;border-bottom:1px solid var(--line-soft);vertical-align:middle;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.data tr:last-child td{border-bottom:0}table.data td.num,table.data th.num{text-align:right}.cell-main{font-weight:600;color:var(--ink)}.cell-sub{display:block;font-size:11px;color:var(--ink-3);margin-top:2px;font-weight:400}.bar-track{width:110px;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden;display:inline-block;vertical-align:middle}.bar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),#79a3a6)}.bar-fill.bad{background:linear-gradient(90deg,#cf7a72,var(--bad))}.tag{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:500;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}.tag.hot{background:var(--bad-soft);color:var(--bad)}.banner{display:flex;gap:12px;align-items:flex-start;background:var(--warn-soft);border:1px solid #ecd9b4;border-radius:var(--radius);padding:13px 18px;margin-bottom:16px;font-size:13px;color:#6b4a10}.banner b{color:#533a0c}.callout{display:flex;gap:12px;align-items:flex-start;background:linear-gradient(135deg,#fdf6ec,var(--warn-soft));border:1px solid #ecd9b4;border-radius:var(--radius);padding:14px 18px;margin-top:14px;font-size:13px;color:#6b4a10}.callout b{color:#533a0c}.callout .icon{font-size:16px;line-height:1.4}.cohort-wrap{overflow-x:auto;margin:0 -20px;padding:0 20px}table.cohort{border-collapse:separate;border-spacing:2px;font-size:10.5px;min-width:640px}table.cohort th{color:var(--ink-3);font-weight:600;padding:4px 2px}table.cohort td{padding:5px 3px;text-align:center;border-radius:5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:36px}table.cohort td.lbl{text-align:left;color:var(--ink-2);font-weight:500;padding-right:8px;white-space:nowrap;background:transparent}.reason-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line-soft)}.reason-row:last-child{border-bottom:0}.reason-name{flex:1 1;font-size:13px;min-width:0}.reason-count{font-size:12px;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(900px 480px at 15% 0,rgba(238,168,81,.16),transparent 55%),radial-gradient(700px 420px at 90% 100%,rgba(67,111,120,.12),transparent 55%),var(--paper)}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:34px 32px 30px}.login-card .brand{padding:0;margin-bottom:22px}.login-card h1{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.3px}.login-card .desc{color:var(--ink-3);font-size:13px;margin:6px 0 22px}.login-field label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;color:var(--ink-3);margin-bottom:7px}.login-field input{width:100%;padding:11px 13px;border-radius:11px;border:1px solid var(--line);background:var(--paper);font-size:14px;font-family:inherit;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}.login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.login-error{margin-top:10px;font-size:12.5px;color:var(--bad);background:var(--bad-soft);border-radius:9px;padding:8px 12px}.login-btn{width:100%;margin-top:18px;padding:12px;border:0;border-radius:11px;cursor:pointer;background:var(--ink);color:var(--paper);font-size:14px;font-weight:600;transition:background .15s,transform .1s}.login-btn:hover{background:#2a4573}.login-btn:active{transform:scale(.99)}.login-btn:disabled{opacity:.6;cursor:default}.login-foot{margin-top:20px;text-align:center;font-size:11px;color:var(--ink-3)}.recharts-cartesian-axis-tick text{fill:var(--ink-3);font-size:11px}.recharts-default-tooltip{border-radius:10px!important;border-color:var(--line)!important;box-shadow:var(--shadow)}.recharts-tooltip-label{color:var(--ink)!important;font-weight:600}