:root{--ink: #0b2d36;--teal: #1c7293;--teal-soft: #5fa8b8;--amber: #e8a33d;--bg: #f4f7f8;--panel: #ffffff;--panel-alt: #fafcfc;--border: #e3eaec;--border-strong: #cfdbde;--text: #11343d;--muted: #5e7883;--faint: #8ca3ab;--warn-bg: #fdf6e8;--warn-border: #efd49a;--warn-text: #8a6115;--error-bg: #fdeeec;--error-border: #f0c0b8;--error-text: #9b3523;--ok-bg: #edf6f3;--ok-border: #a9d3c5;--ok-text: #1f6b55;--info-bg: #eef5f8;--info-border: #c3dbe5;--info-text: #1a5a75;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--radius: 10px;--shadow: 0 1px 2px rgba(11, 45, 54, .04), 0 4px 16px rgba(11, 45, 54, .05);--shadow-lift: 0 2px 6px rgba(11, 45, 54, .07), 0 12px 32px rgba(11, 45, 54, .09)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--teal);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--ink)}code,.mono,td.num,th.num{font-family:var(--mono);font-variant-numeric:tabular-nums}code{background:var(--panel-alt);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:.9em}.app{display:flex;min-height:100vh}.sidebar{width:248px;flex:0 0 248px;background:var(--ink);color:#dbe8ec;padding:22px 0 16px;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}.sidebar .brand{padding:0 18px 18px}.sidebar .brand img{width:170px;height:auto;display:block}.sidebar nav{flex:1}.sidebar nav a{display:block;padding:8px 18px;color:#c3d6dc;text-decoration:none;font-size:14px;border-left:3px solid transparent;transition:background .12s ease,color .12s ease}.sidebar nav a:hover{background:#ffffff0f;color:#fff}.sidebar nav a.active{background:#5fa8b824;border-left-color:var(--amber);color:#fff;font-weight:600}.sidebar .section{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:#7e9aa4;margin:20px 18px 6px}.lab-switch{padding:0 18px 6px}.lab-switch label{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:#7e9aa4;margin-bottom:5px}.lab-switch select{background:#ffffff14;border-color:#ffffff29;color:#fff}.lab-switch select option{color:var(--text)}.whoami{margin:14px 18px 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);font-size:12.5px;color:#9fb8c0}.whoami .name{color:#e8f1f3;font-weight:600}.main{flex:1;padding:30px 38px 80px;max-width:1200px;min-width:0}h2{font-size:25px;letter-spacing:-.01em;margin:0 0 6px;color:var(--ink)}h3{font-size:16px;margin:0 0 12px;color:var(--ink)}h4{font-size:11.5px;margin:22px 0 8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.lede{color:var(--muted);margin:0 0 24px;max-width:72ch}.cite{font-size:12.5px;color:var(--muted);line-height:1.5}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;margin-bottom:20px;box-shadow:var(--shadow)}.panel>h3:first-child{margin-top:0}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 1000px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.app{flex-direction:column}.sidebar{width:auto;flex:none;height:auto;position:static}.sidebar nav{display:flex;flex-wrap:wrap}.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.main{padding:20px 18px 60px}}.stat{border:1px solid var(--border);border-radius:var(--radius);padding:13px 15px;background:var(--panel)}.stat .label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.stat .value{font-size:24px;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);margin-top:2px;word-break:break-word}.stat .note{font-size:12px;color:var(--faint);margin-top:2px}table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{text-align:left;padding:9px 11px;border-bottom:1px solid var(--border)}thead th{font-weight:600;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;background:var(--panel-alt);border-bottom-color:var(--border-strong)}td.num,th.num{text-align:right}tbody tr:hover{background:var(--panel-alt)}tbody tr:last-child td{border-bottom:none}.scroll{overflow-x:auto;border-radius:8px}tr.excluded td{opacity:.45;text-decoration:line-through}tr.holdout td:first-child:after{content:" holdout";font-size:10px;color:var(--teal);text-decoration:none}.msg{border-radius:8px;padding:11px 14px;margin:12px 0;font-size:13.5px;border:1px solid;line-height:1.55}.msg.warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.msg.error{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.msg.ok{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-text)}.msg.info{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.msg ul{margin:7px 0 0;padding-left:20px}.msg li+li{margin-top:4px}.msg strong{font-weight:650}.pill{display:inline-block;font-size:11px;padding:2px 9px;border-radius:20px;border:1px solid var(--border-strong);color:var(--muted);background:var(--panel-alt);white-space:nowrap}.pill+.pill{margin-left:4px}.pill.warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.pill.error{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.pill.ok{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-text)}label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px;font-weight:500}input,select,textarea{font:inherit;font-size:14px;color:var(--text);background:var(--panel);border:1px solid var(--border-strong);border-radius:7px;padding:8px 10px;width:100%;transition:border-color .12s ease,box-shadow .12s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #1c729321}input[readonly]{background:var(--panel-alt);color:var(--muted)}input[type=file]{padding:7px;background:var(--panel-alt)}textarea{min-height:70px;resize:vertical}button{font:inherit;font-size:14px;width:auto;cursor:pointer;background:var(--teal);color:#fff;border:1px solid transparent;border-radius:7px;padding:9px 18px;font-weight:600;transition:background .12s ease,box-shadow .12s ease,transform .06s ease}button:hover:not(:disabled){background:#175f7b;box-shadow:var(--shadow)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:var(--panel);color:var(--text);border-color:var(--border-strong);font-weight:500}button.secondary:hover:not(:disabled){background:var(--panel-alt)}button.link{background:none;border:none;color:var(--teal);padding:0;font-weight:500;text-decoration:underline;text-underline-offset:2px}button.link:hover:not(:disabled){background:none;color:var(--ink);box-shadow:none}.row{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.row>*{flex:0 0 auto}.field{min-width:150px;flex:1 1 160px}.checkrow{display:flex;gap:9px;align-items:flex-start;margin:12px 0}.checkrow input{width:auto;margin-top:3px}.checkrow label{margin:0;color:var(--text);font-size:13.5px;font-weight:400}.steps{display:flex;margin-bottom:22px;font-size:12.5px;flex-wrap:wrap}.steps .step{padding:7px 16px;border:1px solid var(--border-strong);border-right:none;color:var(--muted);background:var(--panel)}.steps .step:last-child{border-right:1px solid var(--border-strong);border-radius:0 7px 7px 0}.steps .step:first-child{border-radius:7px 0 0 7px}.steps .step.current{background:var(--teal);color:#fff;border-color:var(--teal);font-weight:600}.steps .step.done{color:var(--ink);background:var(--panel-alt)}.chart{width:100%;height:auto;overflow:visible}.chart text{font-size:10px;fill:var(--muted);font-family:var(--mono)}.chart .axis{stroke:var(--border-strong)}.chart .zero{stroke:var(--faint);stroke-dasharray:2 3}.chart .band{fill:var(--teal);opacity:.13}.chart .line{fill:none;stroke:var(--teal);stroke-width:1.8}.chart .dot{fill:var(--teal)}.landing{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(1100px 500px at 18% -8%,rgba(95,168,184,.16),transparent 60%),radial-gradient(900px 440px at 88% 8%,rgba(232,163,61,.11),transparent 62%),var(--bg)}.landing-inner{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:56px 28px 72px;display:flex;flex-direction:column;justify-content:center}.landing .lockup{width:300px;max-width:72vw;height:auto;margin-bottom:34px}.landing h1{font-size:40px;line-height:1.18;letter-spacing:-.022em;margin:0 0 16px;color:var(--ink);max-width:17ch}.landing h1 em{font-style:normal;color:var(--teal)}.landing .sub{font-size:17px;line-height:1.6;color:var(--muted);max-width:60ch;margin:0 0 34px}.landing .cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.landing .cta button{padding:12px 24px;font-size:15px}.landing .points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:56px}.landing .point{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.landing .point .ico{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;background:#1c72931a}.landing .point h3{font-size:14.5px;margin:0 0 6px}.landing .point p{font-size:13.5px;color:var(--muted);margin:0;line-height:1.55}.landing footer{border-top:1px solid var(--border);padding:20px 28px;font-size:12.5px;color:var(--faint);text-align:center}@media (max-width: 860px){.landing .points{grid-template-columns:1fr}.landing h1{font-size:31px}.landing-inner{padding:40px 20px 56px}}.card{max-width:480px;margin:0 auto;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:30px;box-shadow:var(--shadow-lift)}.card h2{font-size:21px}.signin{max-width:480px;margin:72px auto}.gate{text-align:center;padding:30px 22px}.centered{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
