:root{--bg: #0c1020;--panel: #121832;--panel-strong: #0d1328;--border: rgba(255, 255, 255, .08);--muted: #9aa4c7;--text: #e7e9f4;--accent: #7dd3fc;--accent-strong: #38bdf8;--danger: #f87171;--success: #34d399;--warning: #fbbf24;--radius: 14px;--shadow: 0 20px 60px rgba(0, 0, 0, .35);font-family:Manrope,Inter,Segoe UI,system-ui,-apple-system,sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 20%,rgba(56,189,248,.08),transparent 25%),radial-gradient(circle at 80% 0%,rgba(244,114,182,.08),transparent 25%),linear-gradient(135deg,#0c1020,#0b1023,#0d142e);color:var(--text)}a{color:var(--accent);text-decoration:none}main{max-width:1200px;margin:0 auto;padding:32px 24px 48px}.hero{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px;margin:0 0 6px}h1{font-size:32px;margin:0 0 6px}.subtitle{color:var(--muted);margin:0}.badge{padding:10px 14px;border-radius:999px;background:#7dd3fc1f;border:1px solid rgba(125,211,252,.25);color:#cfeeff;font-weight:600}.grid{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 960px){.grid{grid-template-columns:2fr 1fr}}.span-2{grid-column:1 / -1}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.card__header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.hint{color:var(--muted);font-size:13px}form{display:grid;grid-template-columns:1fr 1fr;gap:12px}form .full{grid-column:1 / -1;width:100%}label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#c6cee8;font-size:14px}input,select,textarea{background:var(--panel-strong);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:10px;font-size:14px}input:focus,select:focus,textarea:focus{outline:2px solid rgba(125,211,252,.35)}button{border:none;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;transition:transform .08s ease,box-shadow .12s ease}button:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(135deg,var(--accent-strong),#60a5fa);color:#0b1020;box-shadow:0 10px 30px #60a5fa59}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-danger{background:linear-gradient(135deg,#f43f5e,#fb7185);color:#0c1020}.stack{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pill{background:#ffffff0d;border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:12px;color:var(--muted)}table{width:100%;border-collapse:collapse;margin-top:12px}thead{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}th,td{padding:10px 8px;border-bottom:1px solid var(--border)}tbody tr:hover{background:#ffffff05}.status{padding:6px 10px;border-radius:999px;font-weight:700;font-size:12px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border)}.status.pending{color:#fbbf24;border-color:#fbbf2466;background:#fbbf2414}.status.accepted{color:#34d399;border-color:#34d39966;background:#34d39914}.status.expired{color:#94a3b8;border-color:#94a3b880;background:#94a3b814}.status.revoked{color:#f87171;border-color:#f8717180;background:#f8717114}.error{border-radius:10px;background:#f871711f;border:1px solid rgba(248,113,113,.45);color:#fecdd3;padding:10px 12px;margin-top:10px}.success{border-radius:10px;background:#34d3991f;border:1px solid rgba(52,211,153,.4);color:#d1fae5;padding:10px 12px;margin-top:10px}.muted{color:var(--muted);font-size:13px}.hidden{display:none}.table-empty{text-align:center;color:var(--muted);padding:20px 0}.toast{position:fixed;right:20px;bottom:20px;min-width:240px;padding:12px 14px;border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border);background:#11182f;color:var(--text);animation:slide-in .25s ease forwards}.toast.success{border-color:#34d39980}.toast.error{border-color:#f8717180}@keyframes slide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.register-page{max-width:520px;margin:0 auto}.notice{padding:10px 12px;border-radius:10px;background:#7dd3fc1f;border:1px solid rgba(125,211,252,.35);color:#e0f2fe}
