:root{color-scheme:light;--bg: #f5f7fb;--bg-elev: #ffffff;--surface: #ffffff;--surface-2: #f7f9fd;--surface-3: #eef2fa;--border: #e8ecf4;--border-strong: #d7dded;--text: #12172f;--text-muted: #565f86;--text-faint: #8b93b4;--navy: #0c1130;--accent: #3355c1;--accent-2: #4d70e2;--accent-hover: #2845ac;--accent-soft: #e9edfb;--accent-ring: rgba(51, 85, 193, .16);--green: #0e885c;--green-bg: #e4f6ed;--amber: #b1760f;--amber-bg: #fbf1da;--red: #d43f47;--red-bg: #fce7e8;--shadow-sm: 0 1px 2px rgba(14, 20, 54, .05);--shadow: 0 1px 2px rgba(14, 20, 54, .04), 0 8px 22px -8px rgba(14, 20, 54, .12);--shadow-md: 0 2px 5px rgba(14, 20, 54, .05), 0 16px 40px -14px rgba(14, 20, 54, .18);--radius: 14px;--radius-sm: 9px;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--sans: "Inter", "Inter Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv05" 1,"ss01" 1}button{font-family:inherit}.tnum{font-variant-numeric:tabular-nums}.app{min-height:100%;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;padding:12px 24px;background:#ffffffd1;-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--border);box-shadow:0 1px #0e143605,0 6px 18px -14px #0e143666;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap}.brand-logo{height:26px;width:auto;display:block}.brand-sep{width:1px;height:22px;background:var(--border-strong)}.brand-tag{font-weight:650;letter-spacing:-.01em;font-size:14px;color:var(--text)}.brand-tag small{color:var(--text-faint);font-weight:500;font-size:11px;display:block;letter-spacing:.01em}.topbar-spacer{flex:1}.topbar-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tabs{display:flex;gap:4px;padding:8px 18px;background:#ffffffd1;-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--border);overflow-x:auto;position:sticky;top:57px;z-index:20}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;color:var(--text-muted);padding:8px 14px;font-size:13px;font-weight:560;cursor:pointer;border-radius:999px;white-space:nowrap;transition:background .14s ease,color .14s ease}.tab:hover{color:var(--text);background:var(--surface-2)}.tab.active{color:var(--accent);background:var(--accent-soft);font-weight:640}.tab .badge{margin-left:6px}.main{padding:22px;max-width:1440px;width:100%;margin:0 auto}.section{margin-bottom:26px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:13px}.section-head h2{font-size:17px;font-weight:700;margin:0;letter-spacing:-.02em;color:var(--navy)}.section-head .sub{color:var(--text-faint);font-size:12.5px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:18px}.grid{display:grid;gap:12px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:12px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:17px 18px;position:relative;box-shadow:var(--shadow-sm);transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease}.kpi:hover{box-shadow:var(--shadow);border-color:var(--border-strong)}.kpi.wide{grid-column:span 2}.kpi-label{color:var(--text-muted);font-size:11px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;display:flex;align-items:center;gap:6px}.kpi-value{font-size:27px;font-weight:720;letter-spacing:-.03em;margin-top:9px;color:var(--navy)}.kpi-value.sm{font-size:20px}.kpi-sub{font-size:12px;color:var(--text-faint);margin-top:5px}.kpi-accent{border-color:color-mix(in srgb,var(--accent) 32%,var(--border));background:linear-gradient(150deg,#3355c10f,#3355c104 55%),var(--surface)}.kpi-accent:after{content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:var(--radius) 0 0 var(--radius);background:linear-gradient(var(--accent),var(--accent-2))}.pos{color:var(--green)}.neg{color:var(--red)}.warn{color:var(--amber)}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.6;white-space:nowrap}.pill .dot{width:7px;height:7px;border-radius:50%;flex:none}.pill.green{background:var(--green-bg);color:var(--green)}.pill.green .dot{background:var(--green)}.pill.yellow{background:var(--amber-bg);color:var(--amber)}.pill.yellow .dot{background:var(--amber)}.pill.red{background:var(--red-bg);color:var(--red)}.pill.red .dot{background:var(--red)}.pill.neutral{background:var(--surface-3);color:var(--text-muted)}.pill.neutral .dot{background:var(--text-faint)}.badge{display:inline-flex;min-width:18px;height:18px;padding:0 5px;border-radius:9px;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:var(--surface-3);color:var(--text-muted)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.yellow{background:var(--amber-bg);color:var(--amber)}.bar{height:8px;background:var(--surface-3);border-radius:999px;overflow:hidden;position:relative}.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .4s cubic-bezier(.22,1,.36,1)}.bar-fill.green{background:var(--green)}.bar-fill.yellow{background:var(--amber)}.bar-fill.red{background:var(--red)}.bar-marker{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--navy);opacity:.55}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:left;color:var(--text-faint);font-weight:650;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;padding:12px 15px;border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;background:var(--surface-2)}tbody td{padding:13px 15px;border-bottom:1px solid var(--border);white-space:nowrap}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .12s ease}tbody tr:hover td{background:var(--surface-2)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.cell-strong{font-weight:650;color:var(--navy)}.cell-name{font-weight:600;color:var(--text)}.cell-obj{font-size:11px;color:var(--text-faint)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);padding:8px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:570;cursor:pointer;display:inline-flex;align-items:center;gap:7px;box-shadow:var(--shadow-sm);transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .06s ease}.btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn:active{transform:translateY(.5px)}.btn.primary{background:linear-gradient(180deg,var(--accent-2),var(--accent));border-color:transparent;color:#fff;font-weight:620;box-shadow:0 1px 2px #0e14361f,0 6px 16px -8px var(--accent)}.btn.primary:hover{background:linear-gradient(180deg,var(--accent),var(--accent-hover))}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{padding:5px 10px;font-size:12px}.btn.danger{color:var(--red);border-color:#f0c9c9}.btn:disabled{opacity:.5;cursor:not-allowed}.select,.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface);border:1px solid var(--border-strong);color:var(--text);padding:8px 12px;border-radius:var(--radius-sm);font-size:13px;font-family:inherit}.select{padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235c6488' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;cursor:pointer}.input:hover,.select:hover{border-color:var(--text-faint)}.input:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3.5px var(--accent-ring)}label.field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--text-muted);font-weight:550}label.field .input,label.field .select{color:var(--text)}.seg{display:inline-flex;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px;gap:2px}.seg button{border:none;background:none;color:var(--text-muted);padding:5px 11px;border-radius:6px;font-size:12.5px;font-weight:570;cursor:pointer}.seg button.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.month-nav{display:inline-flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.month-nav button{border:none;background:none;color:var(--text-muted);cursor:pointer;padding:6px 10px;font-size:15px}.month-nav button:hover{color:var(--accent)}.month-nav .label{padding:0 6px;font-weight:620;font-size:13px;min-width:120px;text-align:center}.row{display:flex;gap:12px}.row.wrap{flex-wrap:wrap}.between{justify-content:space-between}.center{align-items:center}.stack{display:flex;flex-direction:column;gap:12px}.divider{height:1px;background:var(--border);margin:4px 0}.callout{border-radius:var(--radius);padding:14px 16px;border:1px solid var(--border);background:var(--surface);display:flex;gap:11px;align-items:flex-start;box-shadow:var(--shadow-sm)}.callout .lead{font-weight:640;color:var(--navy)}.callout.red{border-color:#f3cccc;background:#fdf4f4}.callout.yellow{border-color:#f0dcb4;background:#fdf8ee}.callout.green{border-color:#bfe6d3;background:#f1faf5}.rank{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}.rank.red{background:var(--red-bg);color:var(--red)}.rank.yellow{background:var(--amber-bg);color:var(--amber)}.rank.green{background:var(--green-bg);color:var(--green)}.score-ring{--v: 0;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ring-color, var(--accent)) calc(var(--v) * 1%),var(--surface-3) 0);position:relative}.score-ring:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:50%;background:var(--surface)}.score-ring .score-inner{position:relative;text-align:center}.score-ring .score-num{font-size:24px;font-weight:700;line-height:1}.score-ring .score-max{font-size:11px;color:var(--text-faint)}.empty{text-align:center;padding:40px 20px;color:var(--text-faint)}.chart-card{padding:14px 12px 6px}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-muted);padding:0 4px 8px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:3px;border-radius:2px;display:inline-block}.tooltip{background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;font-size:12px;box-shadow:var(--shadow)}.tooltip .t-date{font-weight:640;margin-bottom:4px;color:var(--navy)}.tooltip .t-row{display:flex;justify-content:space-between;gap:16px}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-head{text-align:center;font-size:11px;color:var(--text-faint);font-weight:600;padding-bottom:2px}.cal-cell{border:1px solid var(--border);border-radius:8px;padding:6px 8px;min-height:64px;background:var(--surface);position:relative}.cal-cell.empty{background:transparent;border:none;box-shadow:none}.cal-cell.future{opacity:.55;background:var(--surface-2)}.cal-cell .d{font-size:11px;color:var(--text-faint);font-weight:600}.cal-cell .amt{font-size:12px;font-weight:650;font-variant-numeric:tabular-nums;margin-top:3px;color:var(--navy)}.cal-cell .sig{position:absolute;right:7px;top:7px;width:8px;height:8px;border-radius:50%}.cal-cell.g{border-color:#bfe6d3;background:#f4fbf7}.cal-cell.g .sig{background:var(--green)}.cal-cell.y{border-color:#f0dcb4;background:#fefaf1}.cal-cell.y .sig{background:var(--amber)}.cal-cell.r{border-color:#f3cccc;background:#fdf6f6}.cal-cell.r .sig{background:var(--red)}.wizard-steps{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.wizard-step{display:flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);font-size:12px;color:var(--text-muted);background:var(--surface)}.wizard-step.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.wizard-step.done{color:var(--green);border-color:#bfe6d3;background:var(--green-bg)}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,#e7ecfb 0%,var(--bg) 55%)}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-md);padding:34px 30px;text-align:center}.auth-card img.logo{display:block;height:30px;margin-bottom:18px}.auth-card h1{font-size:19px;margin:0 0 6px;color:var(--navy)}.auth-card p{color:var(--text-muted);font-size:13.5px;margin:0 0 20px}.auth-card .input{width:100%;margin-bottom:12px;text-align:left}.auth-card .btn{width:100%;justify-content:center}.scrub-stage{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#06091a;color:#fff}.scrub-video{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:70% center;z-index:0}.scrub-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(95deg,#06091ae6,#06091a9e 30%,#06091a26 56%,#06091a00 74%),linear-gradient(180deg,#06091a59,#06091a00 25%,#06091a00 65%,#06091a8c)}.scrub-nav{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:20px clamp(20px,4vw,44px)}.scrub-logo{display:flex;align-items:center;gap:12px}.scrub-logo img{height:26px;filter:brightness(0) invert(1)}.scrub-ast{font-size:26px;line-height:1;color:#fff;-webkit-user-select:none;user-select:none;letter-spacing:-.02em}.scrub-cta{color:#fff;font-size:15px;text-decoration:underline;text-underline-offset:3px;opacity:.9;transition:opacity .2s}.scrub-cta:hover{opacity:.55}.scrub-hero{position:relative;z-index:2;height:100vh;height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:0 clamp(20px,5vw,56px)}.scrub-col{max-width:620px;width:100%}.scrub-eyebrow{pointer-events:none;-webkit-user-select:none;user-select:none;margin-bottom:18px;font-size:clamp(14px,2.6vw,18px);line-height:1.45;font-weight:400;color:#ffffffeb;text-shadow:0 1px 18px rgba(6,9,26,.6)}.type-line{margin:0 0 26px;font-size:clamp(20px,4.2vw,30px);line-height:1.34;font-weight:500;color:#fff;min-height:54px;text-wrap:balance;text-shadow:0 2px 22px rgba(6,9,26,.55)}.blink-cursor{display:inline-block;width:2px;height:1.05em;background:#fff;vertical-align:middle;margin-left:3px;animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.scrub-actions{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}.scrub-actions.in{opacity:1;transform:none}.login-pill{display:flex;align-items:center;gap:6px;max-width:460px;width:100%;padding:6px 6px 6px 20px;border-radius:999px;background:#fffffff5;box-shadow:0 18px 44px #06091a66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-pill-input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-family:inherit;font-size:16px;color:var(--navy);padding:8px 0}.login-pill-input::placeholder{color:#8a92ad}.login-pill-btn{flex:none;border:none;cursor:pointer;background:var(--accent);color:#fff;font-family:inherit;font-weight:600;font-size:14.5px;padding:11px 20px;border-radius:999px;white-space:nowrap;transition:background .2s,transform .1s}.login-pill-btn:hover{background:var(--accent-hover)}.login-pill-btn:disabled{opacity:.7;cursor:default}.login-subline{margin-top:14px;font-size:13.5px;color:#ffffffb8}.login-error{margin-top:12px;font-size:13.5px;color:#ff9b9b}.scrub-sent{max-width:460px}.scrub-sent-title{font-size:20px;font-weight:600;margin-bottom:6px}.scrub-sent p{margin:0 0 14px;color:#ffffffd1;font-size:15px;line-height:1.55}.scrub-textbtn{background:none;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:999px;padding:9px 18px;font-family:inherit;font-size:14px;cursor:pointer;transition:background .2s,color .2s}.scrub-textbtn:hover{background:#fff;color:var(--navy)}.scrub-hint{margin-top:34px;font-size:12.5px;letter-spacing:.03em;color:#fff9;display:flex;align-items:center;gap:8px}.scrub-hint-arrows{font-size:16px;animation:nudge 1.8s ease-in-out infinite}@keyframes nudge{0%,to{transform:translate(0)}50%{transform:translate(4px)}}@media (max-width: 700px){.scrub-hero{justify-content:flex-end;padding-bottom:48px}.scrub-scrim{background:linear-gradient(180deg,#06091a66,#06091a00 30%,#06091ad1)}}@media (prefers-reduced-motion: reduce){.scrub-hint-arrows{animation:none}}.hero-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr)}@media (max-width: 900px){.hero-grid{grid-template-columns:1fr}}@media (max-width: 720px){.main{padding:14px}.kpi-value{font-size:21px}.topbar{padding:10px 14px}}
