:root{--ink-900:#1f2135;--ink-700:#474b6b;--ink-500:#666b8f;--paper:#fffdfa;--card:#fff;--line:#e8e2da;--brand:#0e8c7f;--brand-dark:#0b7167;--warm:#f3a712;--danger:#d64545;--ok:#1ea672;--mono:"IBM Plex Mono", monospace;--display:"Space Grotesk", sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(1200px 800px at 20% -10%, #ffecc7 0%, transparent 70%), radial-gradient(1000px 600px at 100% 0%, #d9fff8 0%, transparent 65%), var(--paper);color:var(--ink-900);font-family:var(--display)}.bg-layer{pointer-events:none;z-index:-1;background-image:linear-gradient(90deg,#0f8c7f0d 1px,#0000 1px),linear-gradient(#0f8c7f0d 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0}.topbar{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:20px;display:flex}.brand{color:var(--ink-900);letter-spacing:.4px;font-size:1.2rem;font-weight:700;text-decoration:none}.layout{max-width:1100px;margin:0 auto;padding:0 20px 40px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:24px;box-shadow:0 8px 24px #1f213514}.auth-card{max-width:520px;margin:30px auto}h1,h2{margin:0 0 8px;line-height:1.2}.subtitle{color:var(--ink-700);margin:0 0 18px}.subtitle.small{margin:0;font-size:.9rem}.tabbar{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:18px;display:grid}.tab{border:1px solid var(--line);color:var(--ink-700);cursor:pointer;font-family:var(--display);background:#fff;border-radius:10px;padding:10px;font-weight:600}.tab.active{background:var(--ink-900);color:#fff;border-color:var(--ink-900)}.form{gap:14px;display:grid}label{color:var(--ink-700);gap:6px;font-weight:500;display:grid}label.inline{grid-auto-flow:column;align-items:center;gap:8px;display:inline-grid}input{border:1px solid var(--line);width:100%;color:var(--ink-900);background:#fff;border-radius:10px;padding:11px 12px;font-size:.95rem}select{border:1px solid var(--line);color:var(--ink-900);background:#fff;border-radius:10px;padding:9px 10px;font-size:.95rem}input:focus{border-color:var(--brand);outline:2px solid #0e8c7f33}.two-col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.btn{cursor:pointer;font-family:var(--display);border:1px solid #0000;border-radius:10px;padding:10px 14px;font-weight:600}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-dark)}.btn-ghost{border-color:var(--line);color:var(--ink-700);background:#fff}.btn-ghost:hover{border-color:var(--ink-500);color:var(--ink-900)}.dashboard{gap:18px;display:grid}.table-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.activity-actions{align-items:center;gap:10px;display:flex}.activity-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 10px}th{color:var(--ink-700);text-transform:uppercase;letter-spacing:.5px;font-size:.86rem;font-weight:700}.mono{font-family:var(--mono);font-size:.86rem}.badge{border-radius:999px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-block}.badge-on{color:var(--ok);background:#1ea67226}.badge-off{color:var(--danger);background:#d645451f}.actions{gap:8px;display:flex}.row-btn{border:1px solid var(--line);color:var(--ink-700);cursor:pointer;background:#fff;border-radius:8px;padding:7px 9px}.row-btn.delete{color:var(--danger);border-color:#d6454566}.user-badge{border:1px solid var(--line);color:var(--ink-700);background:#fff;border-radius:999px;padding:8px 12px;font-size:.86rem}.message{min-height:22px;color:var(--ink-700);margin-top:10px}.message.error{color:var(--danger)}.message.success{color:var(--ok)}.new-key-box{background:#f3a71214;border:1px solid #f3a71273;border-radius:10px;margin-top:16px;padding:12px}.warning{color:#915f00;margin:0 0 8px;font-weight:600}.new-key-box code{word-break:break-all;background:#fff;border:1px dashed #915f0066;border-radius:8px;padding:8px;font-size:.83rem;display:block}.hidden{display:none!important}@media (width<=760px){.topbar,.layout{padding-left:14px;padding-right:14px}.card{border-radius:14px;padding:16px}.two-col{grid-template-columns:1fr}.topbar{flex-wrap:wrap;gap:10px}}
