:root{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#172033;background:#f4f6fa}*{box-sizing:border-box}body{margin:0}.topbar{min-height:64px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px max(20px,calc((100vw - 1180px)/2));flex-wrap:wrap}.brand{color:#fff;font-weight:800;letter-spacing:1px;text-decoration:none}.topbar nav{display:flex;gap:16px;flex-wrap:wrap}.topbar nav a{color:#e5e7eb;text-decoration:none;font-size:14px}.topbar nav a:hover{color:#fff}.container{max-width:1180px;margin:30px auto;padding:0 18px}.card{background:#fff;border:1px solid #e2e7ef;border-radius:12px;padding:22px;margin-bottom:20px;box-shadow:0 3px 12px #1720330a}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.metric{font-size:28px;font-weight:800;margin:5px 0}.muted{color:#667085}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:block;font-weight:650;font-size:14px;margin:13px 0 6px}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #cbd2df;border-radius:7px;background:white;font:inherit}textarea{font-family:Consolas,monospace;font-size:12px;overflow-wrap:anywhere}button,.button{display:inline-block;border:0;border-radius:7px;background:#172033;color:#fff;text-decoration:none;padding:10px 15px;margin-top:15px;font-weight:700;cursor:pointer}.button.secondary,button.secondary{background:#e8edf5;color:#172033}.button.danger,button.danger{background:#a61b1b}.alert{padding:12px 14px;border-radius:8px;margin:14px 0}.error{background:#fff0f0;color:#991b1b;border:1px solid #fecaca}.success{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:11px 10px;border-bottom:1px solid #e7ebf1;text-align:left;vertical-align:top}th{background:#f8fafc;white-space:nowrap}.badge{display:inline-block;padding:3px 8px;border-radius:99px;background:#e8edf5;font-size:12px}.badge.active{background:#dcfce7;color:#166534}.badge.revoked,.badge.suspended,.badge.expired{background:#fee2e2;color:#991b1b}.footer{text-align:center;color:#667085;padding:20px}.auth{max-width:440px;margin:8vh auto}.actions{display:flex;gap:8px;flex-wrap:wrap}.small{font-size:12px}@media(max-width:720px){.grid,.grid.three{grid-template-columns:1fr}.container{margin:18px auto}.topbar{padding:14px 18px}}
