:root{color-scheme:dark;--bg:#101214;--surface:#171a1d;--raised:#202428;--text:#ecf0ef;--muted:#a1aaa8;--line:#323a3b;--accent:#c0eccb;--accent-ink:#102519;--danger:#ffb4ad;--radius:12px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{min-height:44px;padding:9px 16px;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--text);cursor:pointer;font-size:.875rem;font-weight:600;transition:background .16s,border-color .16s}button:hover:not(:disabled){background:#303739;border-color:#596563}button:disabled{cursor:wait;opacity:.55}.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.primary:hover:not(:disabled){background:#d6f6dd;border-color:transparent}.subtle{background:transparent}.danger{color:var(--danger);border-color:#784c49;background:#332321}.danger:hover:not(:disabled){background:#51322f}input,select{width:100%;min-height:44px;padding:10px 12px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px}input::placeholder{color:#939e9b}input:focus,select:focus{border-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--accent-ink)}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:7px}h1,h2,h3,p{margin:0}h1{font-size:1.8rem;line-height:1.2;letter-spacing:-.025em;font-weight:650}h2{font-size:1.125rem;font-weight:650;letter-spacing:-.015em}h3{font-size:1rem}.muted{color:var(--muted);font-size:.875rem}.fine{font-size:.75rem;color:var(--muted);margin-top:16px;max-width:85ch}.error{color:var(--danger);font-size:.875rem;white-space:pre-wrap}.error:empty{display:none}.brand{font-size:1.4rem;font-weight:720;letter-spacing:-.03em;text-decoration:none;color:var(--text);white-space:nowrap}.brand span{font-size:.85rem;font-weight:450;letter-spacing:0;color:var(--muted)}[hidden]{display:none!important}.login-wrap{min-height:100svh;display:grid;place-items:center;padding:24px}.login-box{width:100%;max-width:430px}.login-box .brand{margin-bottom:52px}.login-box h1{margin-bottom:12px}.login-box form{margin-top:32px}.password-row,.reveal-row{display:flex;gap:8px}.password-row input,.reveal-row input{min-width:0}.login-box .error{margin:14px 0}.full{width:100%;margin-top:20px}.login-box .fine{text-align:center;margin-top:24px}.topbar{height:76px;border-bottom:1px solid var(--line);padding:0 max(24px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px}.top-actions{display:flex;gap:24px;align-items:center}.workspace{max-width:1328px;padding:40px 24px 24px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.page-title p{margin-top:9px}#app-error{margin:0 0 20px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin-bottom:34px}.metrics>div{padding:0 24px;border-left:1px solid var(--line)}.metrics>div:first-child{padding-left:0;border:0}.metrics span{display:block;color:var(--muted);font-size:.875rem}.metrics strong{font-size:2.2rem;font-weight:550;line-height:1.35;display:block;margin-top:8px;font-variant-numeric:tabular-nums}.section{margin-bottom:30px;padding:24px;background:var(--surface);border-radius:var(--radius)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.title-count{display:flex;gap:12px;align-items:center}.count{font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--muted);padding:2px 8px;border:1px solid var(--line);border-radius:5px}.chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:16px;height:156px;align-items:end;border-bottom:1px solid var(--line);padding:0 10px}.chart-day{display:flex;flex-direction:column;justify-content:end;align-items:center;gap:6px;height:100%;position:relative;padding-bottom:26px}.chart-value{font-size:.75rem;color:var(--text);font-variant-numeric:tabular-nums}.chart-track{height:100px;width:min(48px,75%);display:flex;align-items:flex-end}.chart-bar{width:100%;background:var(--accent);border-radius:4px 4px 0 0;min-height:2px}.chart-label{position:absolute;bottom:2px;color:var(--muted);font-size:.75rem}.create-panel,.key-reveal{padding:20px;background:var(--raised);border-radius:8px;margin-bottom:20px}.create-fields{display:grid;grid-template-columns:minmax(180px,2fr) minmax(140px,1fr);gap:16px;max-width:740px}.inline-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:16px}.create-panel .inline-actions{justify-content:flex-start}.create-panel .error,.key-reveal p{margin-top:10px}.key-reveal label{margin-top:16px}.key-reveal input{font-family:ui-monospace,Consolas,monospace;font-size:.875rem}.key-reveal .inline-actions{justify-content:space-between}.filter-row{max-width:340px;margin-bottom:20px}.filter-row label{font-size:.75rem;color:var(--muted)}.table-wrap{overflow-x:auto;scrollbar-color:#56605d var(--surface)}table{border-collapse:collapse;width:100%;text-align:left;font-size:.875rem}th{font-size:.75rem;color:var(--muted);font-weight:500;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:15px 12px;border-bottom:1px solid #2a3032;vertical-align:middle;font-variant-numeric:tabular-nums}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{padding-right:0}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#1d2225}.key-name{display:block;max-width:280px;overflow-wrap:anywhere}.key-id{display:block;font-size:.75rem;color:var(--muted);margin-top:2px}.badge{display:inline-block;white-space:nowrap;font-size:.75rem;padding:3px 8px;border-radius:5px;background:#26382b;color:#c0eccb}.badge.inactive{background:#342b28;color:#e1beb0}.badge.pending{background:#29333b;color:#bdd5e7}.table-action{min-height:44px;color:var(--danger);background:transparent;border-color:transparent;padding:8px 12px}.empty{padding:30px 0;color:var(--muted);font-size:.875rem;text-align:center}.version{font-family:ui-monospace,Consolas,monospace;font-size:.75rem;overflow-wrap:anywhere}footer{font-size:.75rem;color:var(--muted);display:flex;justify-content:space-between;gap:20px;padding:0 2px 18px}.boot{min-height:100svh;display:grid;place-items:center;color:var(--muted)}dialog{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:12px;max-width:480px;width:calc(100% - 32px);padding:28px}dialog::backdrop{background:#000a}dialog h2{margin-bottom:16px}dialog p{margin-bottom:12px;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.topbar{height:66px;padding:0 20px}.top-actions{gap:10px}.top-actions>span{display:none}.workspace{padding:28px 16px 12px}.metrics{grid-template-columns:repeat(2,1fr);gap:22px 0;padding:20px 0}.metrics>div{padding:0 16px}.metrics>div:nth-child(3){padding-left:0;border:0}.metrics span{font-size:.75rem}.metrics strong{font-size:1.9rem}.section{padding:18px 16px}.section-heading{align-items:flex-start}.section-heading>.muted{font-size:.75rem;max-width:110px;text-align:right}.section-heading h2{font-size:1rem}.section-heading button{padding:8px 12px}.create-fields{grid-template-columns:1fr}.chart{gap:4px;padding:0}.reveal-row{flex-direction:column}.filter-row{max-width:none}.page-title{align-items:flex-start}h1{font-size:1.55rem}footer{flex-direction:column;gap:4px}td{min-width:90px}td:first-child{min-width:160px}.key-name{max-width:230px}.login-box .brand{margin-bottom:40px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
:where(.chart-track) svg{width:100%;height:100%}.chart-bar{fill:var(--accent)}
.table-wrap{position:relative}
#release-current{overflow-wrap:anywhere}#upload-status{min-width:0;overflow-wrap:anywhere}#upload-form input[type=file]{max-width:100%}
