:root{--ink: #0A0A0A;--ink-soft: #2E2E2C;--ink-mute: #6E6E68;--ink-faint: #9F9C94;--paper: #FAFAF7;--paper-soft: #F4F2ED;--paper-sink: #ECE9E1;--rule: #E6E3DC;--rule-strong: #CFCBC0;--accent: #B89020;--accent-fill: #FFF7D9;--ok: #1B5E20;--ok-fill: #E7F0E8;--bad: #B0202A;--bad-fill: #FBEBEC;--warn: #8A6A1A;--warn-fill: #FAF0D5;--sb-bg: #0A0A0A;--sb-ink: #FAFAF7;--sb-mute: #6E6E68;--sb-hover: #1E1E1C;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, Menlo, monospace;--rad: 6px;--rad-sm: 4px;--rad-pill: 999px;--sb-w: 220px}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh}html{scrollbar-gutter:stable;background:var(--paper)}body{font-family:var(--font);font-size:14px;line-height:1.45;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","ss03"}a{color:inherit}code{font-family:var(--mono);font-size:.92em}button{font-family:inherit}.app{display:grid;grid-template-columns:var(--sb-w) 1fr;min-height:100vh}.sidebar{background:var(--sb-bg);color:var(--sb-ink);padding:22px 18px;display:flex;flex-direction:column}.app{min-height:100vh}.sb-brand{display:flex;align-items:baseline;gap:4px;margin-bottom:32px;font-weight:800;font-size:19px;letter-spacing:-.02em;text-decoration:none;color:var(--sb-ink)}.sb-brand .sb-brand-mark{color:var(--accent);margin-left:2px}.sb-nav{display:flex;flex-direction:column;gap:2px}.sb-eyebrow{text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--sb-mute);padding:14px 10px 6px}.sb-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--rad-sm);color:var(--sb-ink);text-decoration:none;font-weight:500;font-size:13.5px}.sb-link:hover,.sb-link.is-active{background:var(--sb-hover)}.sb-link .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:0 0 6px}.sb-foot{margin-top:auto;border-top:1px solid #1E1E1C;padding-top:14px;display:flex;flex-direction:column;gap:10px}.sb-user{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--sb-ink);min-width:0}.sb-user-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.sb-avatar{flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;letter-spacing:.02em}.sb-out{width:100%;background:transparent;border:1px solid #2A2A28;color:var(--sb-ink);padding:8px 12px;border-radius:var(--rad-sm);cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.04em;transition:background-color .12s ease,border-color .12s ease}.sb-out:hover{background:var(--sb-hover);border-color:#3a3a38}.main{padding:36px 44px 80px;max-width:1200px}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:600;letter-spacing:.16em;color:var(--ink-mute);margin-bottom:8px}.masthead{margin-bottom:28px}.masthead-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}.masthead h1{margin:0 0 6px;font-size:28px;font-weight:700;letter-spacing:-.022em;line-height:1.1}.masthead h1 .count{font-weight:500;color:var(--ink-mute);letter-spacing:-.01em}.masthead .sub{color:var(--ink-soft);max-width:62ch;margin:0;font-size:14px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.stat{background:var(--paper);border:1px solid var(--rule);border-radius:var(--rad);padding:14px 16px 15px}.stat-label{text-transform:uppercase;font-size:10.5px;font-weight:600;letter-spacing:.14em;color:var(--ink-mute);margin-bottom:8px}.stat-value{font-size:26px;font-weight:700;letter-spacing:-.025em;color:var(--ink);line-height:1}.stat-value.is-ok{color:var(--ok)}.stat-value.is-warn{color:var(--warn)}.stat-value.is-bad{color:var(--bad)}.filter-bar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.filter-bar .input{flex:1}.filter-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-faint);pointer-events:none}.search-wrap{position:relative;flex:1}.search-wrap .input{padding-left:36px}.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border:1px solid var(--ink);border-radius:var(--rad-pill);background:var(--ink);color:var(--paper);font-weight:600;font-size:13px;letter-spacing:.005em;cursor:pointer;text-decoration:none;transition:transform .08s ease,opacity .15s ease,background .15s ease}.cta:hover:not(:disabled){transform:translateY(-.5px)}.cta:active:not(:disabled){transform:translateY(0)}.cta:disabled{opacity:.45;cursor:not-allowed}.cta-ghost{background:transparent;color:var(--ink);border-color:var(--rule-strong)}.cta-ghost:hover:not(:disabled){background:var(--paper-soft);border-color:var(--ink)}.cta-danger{background:transparent;color:var(--bad);border-color:var(--bad)}.cta-danger:hover:not(:disabled){background:var(--bad);color:var(--paper)}.cta-sm{padding:6px 12px;font-size:12px}.input,.select{width:100%;padding:10px 13px;border:1px solid var(--rule-strong);border-radius:var(--rad-sm);background:var(--paper);color:var(--ink);font:400 14px/1.3 var(--font);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.input:hover,.select:hover{border-color:var(--ink)}.input:focus,.select:focus{border-color:var(--ink);box-shadow:0 0 0 3px #0a0a0a14}.input::placeholder{color:var(--ink-faint)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 18px) 15px,calc(100% - 13px) 15px;background-size:5px 5px;background-repeat:no-repeat}.field{margin-bottom:16px}.field-label{display:block;font-weight:600;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px;color:var(--ink)}.field-help{margin-top:6px;font-size:12.5px;color:var(--ink-soft);line-height:1.4}.field-required{color:var(--bad);margin-left:2px}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 4px;border-radius:var(--rad-pill);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.3}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}.pill-ok{background:var(--ok-fill);color:var(--ok)}.pill-bad{background:var(--bad-fill);color:var(--bad)}.pill-warn{background:var(--warn-fill);color:var(--warn)}.pill-info{background:var(--paper-sink);color:var(--ink-soft)}.table-wrap{background:var(--paper);border:1px solid var(--rule);border-radius:var(--rad);overflow:hidden}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:13px 16px;vertical-align:middle;border-bottom:1px solid var(--rule)}.table tr:last-child td{border-bottom:0}.table th{font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-mute);background:var(--paper-soft);padding-top:11px;padding-bottom:11px}.table tbody tr{transition:background-color .1s ease}.table tbody tr:hover td{background:var(--paper-soft)}.table td.actions{text-align:right;white-space:nowrap}.table td.actions .cta+.cta{margin-left:6px}.table .muted{color:var(--ink-faint)}.table code{background:var(--paper-sink);padding:2px 6px;border-radius:3px;font-size:12px}.table .empty{text-align:center;padding:48px 16px;color:var(--ink-mute);font-size:13.5px}.alert{padding:11px 14px;border-radius:var(--rad-sm);background:var(--paper-soft);border:1px solid var(--rule);margin-bottom:14px;font-size:13.5px}.alert.is-bad{background:var(--bad-fill);border-color:#f0c7c7;color:var(--bad)}.alert.is-ok{background:var(--ok-fill);border-color:#c5e0c8;color:var(--ok)}.alert.is-warn{background:var(--warn-fill);border-color:#e8d59a;color:var(--warn)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--paper);border-radius:var(--rad);width:min(560px,calc(100vw - 32px));max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 60px -20px #0000004d}.modal-head{padding:18px 22px 14px;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:17px;font-weight:700;letter-spacing:-.015em}.modal-close{background:none;border:0;cursor:pointer;font-size:22px;line-height:1;color:var(--ink-mute);padding:4px 8px;border-radius:var(--rad-sm)}.modal-close:hover{background:var(--paper-soft);color:var(--ink)}.modal-body{padding:18px 22px;overflow-y:auto}.modal-foot{padding:14px 22px;border-top:1px solid var(--rule);display:flex;justify-content:flex-end;gap:8px;background:var(--paper-soft)}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-cover{background:var(--sb-bg);color:var(--sb-ink);padding:48px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-cover:before{content:"";position:absolute;bottom:-60px;right:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(184,144,32,.18) 0%,transparent 70%)}.login-cover .lc-brand{display:flex;align-items:baseline;gap:4px;font-weight:800;font-size:22px;letter-spacing:-.02em}.login-cover .lc-brand .lc-mark{color:var(--accent)}.login-cover .lc-pitch{position:relative;max-width:30ch}.login-cover .lc-pitch h2{font-size:36px;font-weight:700;letter-spacing:-.025em;line-height:1.1;margin:0 0 14px}.login-cover .lc-pitch p{color:var(--ink-faint);font-size:14.5px;margin:0;line-height:1.55}.login-cover .lc-meta{font-size:12px;color:var(--sb-mute);letter-spacing:.04em}.login-form{display:flex;align-items:center;justify-content:center;padding:48px;background:var(--paper)}.login-form-inner{width:100%;max-width:360px}.login-form h1{margin:0 0 4px;font-size:24px;font-weight:700;letter-spacing:-.02em}.login-form .sub{margin:0 0 26px;color:var(--ink-soft);font-size:14px}.login-form .cta{width:100%;margin-top:6px}@media (max-width: 880px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;padding:14px 18px}.sb-brand{margin-bottom:0}.sb-nav{flex-direction:row;gap:4px;margin-left:18px}.sb-eyebrow{display:none}.sb-foot{margin:0 0 0 auto;border-top:0;padding-top:0}.main{padding:24px 18px 60px}.stats{grid-template-columns:repeat(2,1fr)}.login{grid-template-columns:1fr}.login-cover{padding:32px;min-height:240px}}.dl-meta{display:grid;grid-template-columns:130px 1fr;gap:8px 16px;font-size:13.5px;margin-bottom:16px}.dl-meta dt{color:var(--ink-mute);font-weight:500}.dl-meta dd{margin:0}.dl-meta code{background:var(--paper-sink);padding:2px 6px;border-radius:3px}.key-box{display:block;background:var(--ink);color:var(--accent);padding:16px 18px;border-radius:var(--rad-sm);font-family:var(--mono);word-break:break-all;font-size:14px;font-weight:500;margin:14px 0;letter-spacing:.01em}:root{--ease: cubic-bezier(.22, .61, .36, 1)}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-from-left{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes slide-from-right{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.login-cover{animation:slide-from-left .8s var(--ease) both}.login-form{animation:slide-from-right .8s .08s var(--ease) both}.app{animation:fade-in .42s var(--ease) both}.sidebar{animation:slide-from-left .65s var(--ease) both}.main{animation:fade-up .7s .1s var(--ease) both}.stat:nth-child(1){animation:fade-up .55s .18s var(--ease) both}.stat:nth-child(2){animation:fade-up .55s .26s var(--ease) both}.stat:nth-child(3){animation:fade-up .55s .34s var(--ease) both}.stat:nth-child(4){animation:fade-up .55s .42s var(--ease) both}.modal-backdrop{animation:fade-in .22s ease-out both}.modal{animation:fade-up .32s var(--ease) both}@media (prefers-reduced-motion: reduce){.login-cover,.login-form,.app,.sidebar,.main,.stat,.modal-backdrop,.modal,.transit-veil{animation:none}}.transit-veil{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--paper);z-index:100;pointer-events:none;animation:fade-in .18s ease-in both,fade-out .42s .18s var(--ease) both}@keyframes fade-out{0%{opacity:1}to{opacity:0}}
