:root{--bg:#0f0f11;--surface:#16161a;--surface-hover:#1c1c21;--line:#26262c;--line-strong:#36363e;--text:#ededf0;--muted:#8f8f9a;--red:#c4182f;--red-hover:#d62339;--red-text:#f0566a;--amber:#e0a63a;--good:#5bb98b;--sans:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}:focus-visible{outline:2px solid var(--red-text);outline-offset:2px}.site{flex-direction:column;min-height:100dvh;display:flex}.nav{border-bottom:1px solid var(--line);align-items:center;height:64px;padding:0 clamp(20px,5vw,48px);display:flex}.brand{align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.brand-logo{object-fit:contain;width:26px;height:26px}#app{flex:1;width:100%;max-width:600px;margin:0 auto;padding:clamp(40px,10vh,96px) 20px 64px}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding:20px clamp(20px,5vw,48px);font-size:13px}.welcome-screen>p{color:var(--muted);margin:0;font-size:15px}.welcome-screen>p a{color:var(--text);text-underline-offset:3px;text-decoration:underline}.status-screen{border:1px solid var(--line);border-left:3px solid var(--tone,var(--line-strong));background:var(--surface);border-radius:10px;padding:28px 28px 30px}.status-screen h1{letter-spacing:-.3px;margin:0 0 8px;font-size:22px;font-weight:650}.status-screen p{max-width:46ch;color:var(--muted);margin:0;font-size:15px;line-height:1.55}.status-neutral{--tone:var(--good)}.status-denied{--tone:var(--red)}.status-failed{--tone:var(--amber)}.status-retry,.primary-button{background:var(--red);color:#fff;border-radius:8px;margin-top:22px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .15s;display:inline-block}.status-retry:hover,.primary-button:hover{background:var(--red-hover)}.simple-dashboard{flex-direction:column;display:flex}.simple-greeting{letter-spacing:-.8px;margin:0 0 6px;font-size:clamp(28px,5vw,36px);font-weight:650;line-height:1.15}.simple-prompt{color:var(--muted);margin:0 0 28px;font-size:16px}.access-denied{color:var(--red-text)}.simple-actions{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.simple-role{border:0;border-left:3px solid var(--role,var(--red));border-bottom:1px solid var(--line);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;align-items:center;padding:16px 20px 16px 17px;transition:background .15s;display:flex}.simple-role:last-child{border-bottom:0}.simple-role:hover{background:var(--surface-hover)}.role-text{flex-direction:column;gap:3px;min-width:0;display:flex}.role-text strong{font-size:15px;font-weight:600}.role-text small{color:var(--muted);font-size:13px;line-height:1.4}.simple-note{color:var(--muted);margin:16px 0 0;font-size:13px}.simple-footer{gap:8px;margin-top:28px;display:flex}.simple-link{border:1px solid var(--line-strong);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:500;transition:background .15s}.simple-link:hover{background:var(--surface-hover)}.simple-link:disabled{cursor:default;opacity:.55}.simple-status{min-height:34px;color:var(--amber);margin:14px 0 0;font-size:13px}.admin-dashboard{width:100%}.admin-heading h1{letter-spacing:-.6px;margin:0 0 8px;font-size:clamp(26px,5vw,32px);font-weight:650}.admin-heading>p{max-width:54ch;color:var(--muted);margin:0 0 28px;font-size:15px;line-height:1.55}.admin-add{gap:8px;display:flex}.admin-input{border:1px solid var(--line-strong);background:var(--surface);min-width:0;color:var(--text);font-family:var(--mono);border-radius:8px;flex:1;padding:10px 14px;font-size:13px}.admin-input::placeholder{color:#5f5f69}.admin-input:focus{border-color:var(--red-text);outline:none}.admin-toolbar{justify-content:space-between;align-items:center;gap:12px;margin:32px 0 12px;display:flex}.admin-count{color:var(--text);margin:0;font-size:14px;font-weight:600}.admin-count-gap{margin:36px 0 4px}.admin-hint{color:var(--muted);margin:0 0 12px;font-size:13px}.admin-list{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.admin-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.admin-row:last-child{border-bottom:0}.admin-row strong{margin-bottom:3px;font-size:15px;font-weight:600;display:block}.admin-row small{color:var(--muted);font:12px/1.6 var(--mono)}.invalidate-button{border:1px solid var(--line-strong);color:var(--red-text);cursor:pointer;background:0 0;border-radius:8px;flex:none;padding:7px 12px;font-size:13px;font-weight:500;transition:background .15s,color .15s,border-color .15s}.invalidate-button:hover:not(:disabled){border-color:var(--red);background:var(--red);color:#fff}.invalidate-button:disabled{cursor:default;opacity:.55}.admin-empty{color:var(--muted);margin:0;padding:22px 18px;font-size:14px}.admin-status{min-height:18px;color:var(--good);margin:16px 0 0;font-size:13px}@media (width<=520px){.status-screen{padding:22px 20px 24px}.admin-add{flex-direction:column}.admin-row{flex-direction:column;align-items:flex-start}}@keyframes enter{0%{opacity:0;transform:translateY(6px)}}@keyframes settle{0%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}#app>main{animation:.35s cubic-bezier(.2,.7,.2,1) both enter}#app>main.still{animation:none}.simple-role{animation:.4s cubic-bezier(.2,.7,.2,1) backwards enter}.simple-role:first-child{animation-delay:80ms}.simple-role:nth-child(2){animation-delay:.125s}.simple-role:nth-child(3){animation-delay:.17s}.simple-role:nth-child(4){animation-delay:.215s}.simple-role:nth-child(5){animation-delay:.26s}.simple-role:nth-child(n+6){animation-delay:.3s}.still .simple-role{animation:none}.simple-actions{transition:opacity .2s}.simple-actions.is-refreshing{opacity:.5}.still .simple-actions{animation:.25s both settle}.simple-link.is-busy{align-items:center;gap:8px;display:inline-flex}.simple-link.is-busy:before{content:"";border:2px solid var(--line-strong);border-top-color:var(--text);border-radius:50%;width:11px;height:11px;animation:.7s linear infinite spin}.simple-status.ok{border:1px solid var(--line);width:fit-content;min-height:0;color:var(--good);background:#09090b;border-radius:999px;align-items:center;gap:8px;padding:8px 14px 8px 12px;font-size:13px;font-weight:500;transition:opacity .3s;animation:.3s cubic-bezier(.2,.7,.2,1) backwards enter;display:flex}.simple-status.ok.leaving{opacity:0}.simple-status.ok svg{flex:none}.simple-role,.simple-link,.invalidate-button,.status-retry{transition:background .15s,border-color .15s,color .15s,transform .1s}.simple-role:active,.simple-link:active,.invalidate-button:active,.status-retry:active{transform:scale(.985)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.status-loading{border-left:1px solid var(--line)}.status-head{align-items:center;gap:12px;margin-bottom:8px;display:flex}.status-head h1{margin:0}.spinner{border:2px solid var(--line-strong);border-top-color:var(--text);border-radius:50%;flex:none;width:16px;height:16px;animation:.7s linear infinite spin}
