:root{--bg:#f7f5f2;--surface:#fff;--ink:#1f1b16;--muted:#6f675e;--line:#e7e1d9;--accent:#c2541b;--accent-ink:#fff;--trial:#2f6fb0;--trial-bg:#e5effa;--active:#23824a;--active-bg:#e2f4e8;--expired:#8a8178;--expired-bg:#efebe6;--warn:#a86400;--warn-bg:#fdf0d9;--danger:#b42318;--danger-bg:#fdecea;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.45}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 16px;font-size:22px}h2{margin:0 0 12px;font-size:15px}button,input{font:inherit}input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;padding:7px 14px}button:hover:not(:disabled){border-color:#cfc6bb}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button.danger{color:var(--danger);border-color:#f1c4bf}button.link{color:var(--accent);background:0 0;border:0;padding:0}button.active{background:var(--ink);border-color:var(--ink);color:#fff}.brand{letter-spacing:-.01em;font-size:17px;font-weight:700}.brand span{color:var(--accent);margin-left:4px;font-weight:600}.brand.big{margin-bottom:8px;font-size:22px}.shell{grid-template-columns:210px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:24px;padding:20px 14px;display:flex}.sidebar nav{flex-direction:column;gap:2px;display:flex}.sidebar nav a{color:var(--ink);border-radius:8px;padding:8px 10px}.sidebar nav a:hover{background:var(--bg);text-decoration:none}.sidebar nav a.active{background:var(--bg);box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.who{color:var(--muted);word-break:break-all;flex-direction:column;gap:4px;margin-top:auto;font-size:12px;display:flex}.content{width:100%;max-width:1280px;padding:28px 32px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;padding:18px}.card.flush{padding:0;overflow-x:auto}.grid-2{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px;display:grid}.grid-2>.card{margin-bottom:0}.grid-2+.card,.grid-2+.grid-2{margin-top:16px}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.stat{color:var(--ink);border-top:3px solid var(--line);margin:0}.stat:hover{border-color:#cfc6bb;text-decoration:none}.stat.trial{border-top-color:var(--trial)}.stat.active{border-top-color:var(--active)}.stat.expired{border-top-color:var(--expired)}.stat.warn{border-top-color:var(--warn)}.stat-value{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.stat-label{color:var(--muted)}.chart{width:100%;height:auto}.chart rect{fill:var(--accent);opacity:.85}.chart rect:hover{opacity:1}.chart text{fill:var(--muted);font-size:10px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:9px 12px}th{color:var(--muted);white-space:nowrap;background:#fbfaf8;font-size:12px;font-weight:600}tr:last-child td{border-bottom:0}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#fbf8f4}tr.revoked td{color:var(--muted);text-decoration:line-through}tr.revoked td:last-child{text-decoration:none}.num{text-align:right;font-variant-numeric:tabular-nums}.center{text-align:center}.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}.muted{color:var(--muted)}.small{font-size:12px}.badge{text-transform:capitalize;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.trial{color:var(--trial);background:var(--trial-bg)}.badge.active{color:var(--active);background:var(--active-bg)}.badge.expired{color:var(--expired);background:var(--expired-bg)}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.toolbar form{flex:0 340px}.tabs{gap:6px;display:flex}.pager{color:var(--muted);justify-content:flex-end;align-items:center;gap:12px;display:flex}.title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.title-row h1,.title-row h2{margin-bottom:12px}.title-row h1+.badge{margin-bottom:12px;margin-right:auto}.back{margin-bottom:10px;display:inline-block}dl{grid-template-columns:110px 1fr;gap:6px 12px;margin:0;display:grid}dt{color:var(--muted)}dd{margin:0}.grant{border-top:1px solid var(--line);flex-direction:column;gap:10px;margin-top:16px;padding-top:16px;display:flex}.grant label,.login label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.grant input[type=number]{max-width:140px}.quick,.actions{flex-wrap:wrap;gap:6px;display:flex}.error,.ok{border-radius:8px;margin-bottom:12px;padding:10px 12px}.error{color:var(--danger);background:var(--danger-bg)}.ok{color:var(--active);background:var(--active-bg)}.login{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{flex-direction:column;gap:14px;width:100%;max-width:360px;padding:28px;display:flex}.login-card .error{margin:0}@media (width<=760px){.shell{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;padding:12px 16px}.sidebar nav{flex-direction:row}.who{margin:0 0 0 auto}.content{padding:20px 16px}}
