:root{--bg:#f4f5f7;--panel:#fff;--ink:#1a1d21;--muted:#6b7280;--line:#e3e6ea;--line2:#cfd4da;--accent:#e6007e;--accent-soft:#fde4f1;--field:#fbfcfd;--ok:#0a7d4a;--err:#b4233a;--sans:"Inter","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px}
.auth-card,.admin{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 30px rgba(0,0,0,.06);padding:26px;width:100%}
.auth-card{max-width:380px}
.admin{max-width:780px}
h1{font-size:18px;margin:0 0 4px}
.muted{color:var(--muted);font-size:13px}
p.muted{margin:0 0 16px}
label{display:block;font-size:12px;color:var(--muted);margin:0 0 12px}
label input,label select{display:block;width:100%;margin-top:4px;font-size:14px;padding:9px 10px;border:1px solid var(--line2);border-radius:9px;background:var(--field);color:var(--ink)}
label input:focus,label select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}
button{font:inherit;font-weight:650;font-size:13px;padding:9px 14px;border:none;border-radius:9px;background:var(--accent);color:#fff;cursor:pointer}
button:hover{filter:brightness(1.05)}
.err{background:#fdecef;color:var(--err);border:1px solid #f6c9d2;border-radius:9px;padding:9px 12px;font-size:13px;margin:0 0 14px}
.ok{background:#e8f6ee;color:var(--ok);border:1px solid #bfe6cd;border-radius:9px;padding:9px 12px;font-size:13px;margin:0 0 14px}
.topbar{display:flex;align-items:center;gap:14px;margin:0 0 18px;flex-wrap:wrap}
.topbar h1{margin:0}
.topbar .sp{flex:1}
.topbar a{color:var(--accent);text-decoration:none;font-size:13px}
.topbar a:hover{text-decoration:underline}
table{width:100%;border-collapse:collapse;margin:6px 0 20px;font-size:13px}
th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.badge{font-size:11px;padding:2px 9px;border-radius:99px;background:#eef1f4;color:var(--muted)}
.badge.admin{background:var(--accent-soft);color:var(--accent)}
.inline{display:inline}
.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.row-actions button{background:#fff;color:var(--ink);border:1px solid var(--line2);font-weight:500;font-size:12px;padding:5px 9px}
.row-actions button:hover{border-color:var(--accent);color:var(--accent)}
fieldset{border:1px solid var(--line);border-radius:11px;padding:14px 16px 16px;margin:0}
legend{font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:0 6px}
.formgrid{display:grid;grid-template-columns:1fr 1fr auto auto;gap:10px;align-items:end}
@media(max-width:600px){.formgrid{grid-template-columns:1fr 1fr}}
