:root{--bg:#f4f7fb;--card:#fff;--text:#172033;--muted:#667085;--line:#e5e7eb;--blue:#2563eb;--green:#059669;--red:#dc2626}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text)}
a{color:var(--blue);text-decoration:none}.wrap{max-width:1180px;margin:auto;padding:28px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.brand{font-size:23px;font-weight:800}.muted{color:var(--muted)}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:18px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{font-size:30px;font-weight:800}.label{color:var(--muted);font-size:13px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}label{display:block;font-weight:650;margin-bottom:6px}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid #cfd5df;border-radius:9px;font:inherit}.btn{border:0;border-radius:9px;padding:10px 15px;background:var(--blue);color:#fff;font-weight:700;cursor:pointer}.green{background:var(--green)}.gray{background:#475467}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);font-size:14px}.badge{padding:4px 8px;border-radius:99px;font-size:12px;font-weight:700}.active{background:#d1fae5;color:#065f46}.expired{background:#fef3c7;color:#92400e}.revoked{background:#fee2e2;color:#991b1b}
.notice{padding:12px 14px;border-radius:9px;background:#eff6ff;border:1px solid #bfdbfe;margin-bottom:15px}.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.login{max-width:440px;margin:70px auto}
@media(max-width:800px){.grid{grid-template-columns:1fr 1fr}.row{grid-template-columns:1fr}.wrap{padding:16px}}
