:root{color-scheme:light;--bg: #f2f2f7;--surface: #ffffff;--surface-2: #f7f7fa;--surface-3: #ececf0;--surface-raised: #ffffff;--ink: #1d1d1f;--ink-2: #56565c;--ink-3: #8a8a8e;--ink-4: #b4b4b8;--line: rgba(60, 60, 67, .11);--line-strong: rgba(60, 60, 67, .2);--accent: #007aff;--accent-hover: #0071eb;--accent-ink: #ffffff;--accent-tint: rgba(0, 122, 255, .1);--accent-tint-strong: rgba(0, 122, 255, .16);--green: #248a3d;--green-tint: rgba(52, 199, 89, .14);--orange: #9a6200;--orange-tint: rgba(255, 149, 0, .16);--red: #c9271c;--red-tint: rgba(255, 59, 48, .12);--shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .03);--shadow-2: 0 1px 2px rgba(0, 0, 0, .05), 0 6px 16px -6px rgba(0, 0, 0, .1);--shadow-3: 0 4px 12px rgba(0, 0, 0, .08), 0 24px 48px -16px rgba(0, 0, 0, .18);--ring: 0 0 0 3.5px rgba(0, 122, 255, .28);--r-card: 12px;--r-control: 8px;--r-small: 6px;--r-pill: 980px;--ease: cubic-bezier(.32, .72, 0, 1);--fast: .16s var(--ease);--med: .24s var(--ease);--sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}:root[data-theme=dark]{color-scheme:dark;--bg: #000000;--surface: #1c1c1e;--surface-2: #232325;--surface-3: #2c2c2e;--surface-raised: #2c2c2e;--ink: #f5f5f7;--ink-2: #a1a1a6;--ink-3: #7c7c80;--ink-4: #5a5a5e;--line: rgba(84, 84, 88, .36);--line-strong: rgba(84, 84, 88, .6);--accent: #0a84ff;--accent-hover: #3395ff;--accent-ink: #ffffff;--accent-tint: rgba(10, 132, 255, .18);--accent-tint-strong: rgba(10, 132, 255, .26);--green: #30d158;--green-tint: rgba(48, 209, 88, .18);--orange: #ff9f0a;--orange-tint: rgba(255, 159, 10, .18);--red: #ff453a;--red-tint: rgba(255, 69, 58, .18);--shadow-1: 0 1px 2px rgba(0, 0, 0, .5);--shadow-2: 0 2px 8px rgba(0, 0, 0, .55);--shadow-3: 0 8px 32px rgba(0, 0, 0, .7);--ring: 0 0 0 3.5px rgba(10, 132, 255, .38)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.47;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mono{font-family:var(--mono);letter-spacing:0}.num{font-variant-numeric:tabular-nums}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-small)}::selection{background:var(--accent-tint-strong)}.shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:12px 10px;gap:6px;background:var(--surface-2);border-right:1px solid var(--line)}@supports (backdrop-filter: blur(20px)){.sidebar{background:color-mix(in srgb,var(--surface-2) 72%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}}.brand{display:grid;gap:1px;padding:10px 12px 14px}.brand b{font-size:17px;font-weight:600;letter-spacing:-.022em}.brand span{font-size:12px;color:var(--ink-3);letter-spacing:-.005em}.nav{display:grid;gap:2px;align-content:start;flex:1;overflow-y:auto}.nav a{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:var(--r-control);color:var(--ink-2);font-size:13.5px;font-weight:500;text-decoration:none;transition:background var(--fast),color var(--fast)}.nav a:hover{background:var(--surface-3);color:var(--ink);text-decoration:none}.nav a.active{background:var(--accent);color:var(--accent-ink);font-weight:590}.nav .glyph{display:inline-flex;align-items:center;justify-content:center;width:18px;flex:0 0 18px;opacity:.72}.nav a.active .glyph{opacity:1}.sidebar-foot{display:grid;gap:10px;padding:12px 4px 4px;border-top:1px solid var(--line)}.sidebar-foot .hint{font-size:11.5px;color:var(--ink-3);padding:0 8px;line-height:1.4}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:22px 28px 16px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}.topbar h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-.028em}.topbar .sub{color:var(--ink-3);font-size:13.5px}.topbar .spacer{margin-left:auto}.page{padding:22px 28px 72px;display:grid;gap:20px;align-content:start}.panel{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-1);overflow:hidden}.panel-head{display:flex;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:14.5px;font-weight:600;letter-spacing:-.016em}.panel-head .spacer{margin-left:auto}.panel-body{padding:18px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.tile{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-1);padding:16px 18px;display:grid;gap:4px}.tile .label{font-size:12.5px;font-weight:500;color:var(--ink-3);letter-spacing:-.006em}.tile .value{font-size:30px;font-weight:640;letter-spacing:-.032em;font-variant-numeric:tabular-nums;line-height:1.1}.tile .foot{font-size:12.5px;color:var(--ink-3)}table.data{width:100%;border-collapse:collapse;font-size:13.5px}table.data th{text-align:left;padding:10px 18px;background:transparent;border-bottom:1px solid var(--line);font-size:12px;font-weight:590;color:var(--ink-3);letter-spacing:-.006em;white-space:nowrap}table.data td{padding:11px 18px;border-bottom:1px solid var(--line);vertical-align:middle}table.data tbody tr:last-child td{border-bottom:0}table.data tbody tr{transition:background var(--fast)}table.data tbody tr:hover{background:var(--surface-2)}table.data td.right,table.data th.right{text-align:right}.empty{padding:34px 18px;text-align:center;color:var(--ink-3);font-size:13.5px}.badge{display:inline-flex;align-items:center;padding:2.5px 9px;border-radius:var(--r-pill);font-size:11.5px;font-weight:590;letter-spacing:-.004em;white-space:nowrap;text-transform:capitalize}.badge.neutral{background:var(--surface-3);color:var(--ink-2)}.badge.good{background:var(--green-tint);color:var(--green)}.badge.warn{background:var(--orange-tint);color:var(--orange)}.badge.bad{background:var(--red-tint);color:var(--red)}.badge.accent{background:var(--accent-tint);color:var(--accent)}button,.btn{font:inherit;font-size:13.5px;font-weight:510;letter-spacing:-.01em;padding:7px 14px;border:none;background:var(--surface-3);color:var(--ink);border-radius:var(--r-control);cursor:pointer;transition:background var(--fast),transform var(--fast),opacity var(--fast);-webkit-tap-highlight-color:transparent}button:hover:not(:disabled){background:var(--line-strong)}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-ink)}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.danger{background:var(--red-tint);color:var(--red)}button.danger:hover:not(:disabled){background:var(--red);color:#fff}button.plain{background:transparent;color:var(--accent);padding:6px 8px}button.plain:hover:not(:disabled){background:var(--accent-tint)}button.small{padding:4.5px 10px;font-size:12.5px;border-radius:var(--r-small)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.stack{display:grid;gap:16px;align-content:start}.segmented{display:inline-flex;padding:2px;gap:2px;background:var(--surface-3);border-radius:var(--r-control)}.segmented button{flex:1;padding:5px 12px;font-size:12.5px;font-weight:510;background:transparent;color:var(--ink-2);border-radius:6px;transition:background var(--fast),color var(--fast),box-shadow var(--fast)}.segmented button:hover:not(:disabled){background:transparent;color:var(--ink)}.segmented button:active:not(:disabled){transform:none}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}:root[data-theme=dark] .segmented button[aria-pressed=true]{background:var(--ink-4);color:var(--ink)}input,select,textarea{font:inherit;font-size:13.5px;padding:8px 11px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--r-control);width:100%;transition:border-color var(--fast),box-shadow var(--fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}input::placeholder{color:var(--ink-4)}input[type=search]{-webkit-appearance:none;appearance:none}label.field{display:grid;gap:6px;font-size:12.5px;color:var(--ink-2);font-weight:500}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.modal-backdrop{position:fixed;inset:0;background:#00000057;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:grid;place-items:center;padding:24px;z-index:100;animation:fade var(--med) both}.modal{background:var(--surface-raised);border-radius:16px;width:min(540px,100%);max-height:86vh;overflow:auto;box-shadow:var(--shadow-3);animation:sheet .3s var(--ease) both}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes sheet{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}.notice{padding:11px 14px;border-radius:var(--r-control);font-size:13.5px;font-weight:500}.notice.bad{background:var(--red-tint);color:var(--red)}.notice.good{background:var(--green-tint);color:var(--green)}.notice.info{background:var(--accent-tint);color:var(--accent)}.meter{height:6px;background:var(--surface-3);border-radius:var(--r-pill);overflow:hidden;min-width:64px}.meter i{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill);transition:width var(--med)}.meter i.full{background:var(--orange)}.split{display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:start}.kv{display:grid;grid-template-columns:128px 1fr;gap:0 16px;font-size:13.5px}.kv dt{color:var(--ink-3);font-size:13px;padding:9px 0;border-bottom:1px solid var(--line)}.kv dd{margin:0;padding:9px 0;border-bottom:1px solid var(--line)}.kv dt:last-of-type,.kv dd:last-of-type{border-bottom:0}.daybar{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.daybar button.active{background:var(--accent);color:var(--accent-ink)}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;gap:10px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:4px 8px}.nav{grid-auto-flow:column;grid-auto-columns:max-content;flex:1}.sidebar-foot{border-top:0;padding:0}.sidebar-foot .hint{display:none}.split{grid-template-columns:1fr}.topbar{padding:16px 18px 12px}.topbar h1{font-size:22px}.page{padding:16px 18px 56px}button{padding:9px 16px}button.small{padding:7px 12px}table.data td{padding:13px 16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
