:root { --ink:#112033; --blue:#0756a1; --red:#f8403a; --cream:#f7f1e7; --line:#d7dfe6; --muted:#65758a; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#f4f6f8; font:16px/1.5 Arial, sans-serif; }
a { color:var(--blue); }
.admin-header { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:72px; padding:14px max(24px, calc((100% - 1280px)/2)); color:#fff; background:var(--ink); }
.admin-brand { color:#fff; font-family:Georgia,serif; font-size:22px; text-decoration:none; } .admin-brand span { color:#f9d74d; font:700 11px/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.admin-header nav { display:flex; flex-wrap:wrap; align-items:center; gap:16px; } .admin-header nav a,.admin-header nav button { margin:0; padding:0; border:0; color:#fff; background:transparent; font:700 12px/1 Arial,sans-serif; text-decoration:none; text-transform:uppercase; cursor:pointer; }
.admin-header nav form { margin:0; }
.admin-main { width:min(1280px, calc(100% - 40px)); margin:42px auto 70px; }
.admin-title { margin:0 0 8px; font:700 clamp(34px,5vw,56px)/1.05 Georgia,serif; } .admin-lead { margin:0 0 28px; color:var(--muted); }
.admin-card { margin:20px 0; padding:28px; border:1px solid var(--line); background:#fff; box-shadow:0 12px 32px rgba(17,32,51,.05); }
.admin-filters { display:flex; gap:12px; align-items:end; } .admin-filters label { display:grid; flex:1; gap:6px; font-size:13px; font-weight:700; }
input,select,textarea { width:100%; padding:12px 13px; border:1px solid #b9cadb; color:var(--ink); background:#fff; font:inherit; } input:focus,select:focus,textarea:focus { outline:2px solid rgba(7,86,161,.22); border-color:var(--blue); }
button,.admin-button { display:inline-flex; justify-content:center; align-items:center; min-height:46px; padding:11px 18px; border:1px solid var(--red); color:#fff; background:var(--red); font-weight:800; text-decoration:none; cursor:pointer; } .admin-button--quiet { border-color:var(--blue); background:var(--blue); }
.admin-button--danger { border-color:#9e2424; background:#9e2424; }
.admin-table-wrap { overflow:auto; } table { width:100%; min-width:920px; border-collapse:collapse; } th,td { padding:13px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; } th { color:var(--muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; } td { font-size:14px; } .admin-status { display:inline-block; padding:4px 7px; font-size:11px; font-weight:800; text-transform:uppercase; } .admin-status--registered { color:#805200; background:#fff0bc; } .admin-status--activated { color:#07562f; background:#d8f1df; } .admin-status--blocked { color:#9e2424; background:#fbe0df; }
.admin-flash { margin:0 0 20px; padding:14px 16px; font-weight:700; } .admin-flash--success { color:#07562f; background:#d8f1df; } .admin-flash--error { color:#9e2424; background:#fbe0df; }
.admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; } .admin-data dt { margin-top:12px; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; } .admin-data dd { margin:2px 0 0; white-space:pre-wrap; }
.admin-qr { display:grid; gap:12px; align-content:start; } .admin-qr img { width:min(100%,260px); padding:10px; border:1px solid var(--line); background:#fff; image-rendering:auto; } .admin-actions { display:flex; flex-wrap:wrap; gap:10px; } .admin-actions form { margin:0; }
.admin-login { width:min(510px,calc(100% - 40px)); margin:8vh auto; } .admin-login .admin-card { padding:38px; } .admin-login label,.admin-form label { display:grid; gap:7px; margin:16px 0; font-size:13px; font-weight:800; }
.admin-form { max-width:720px; } .admin-note { color:var(--muted); font-size:13px; }
@media(max-width:760px){ .admin-header{align-items:flex-start;flex-direction:column;padding:17px 20px}.admin-header nav{gap:13px}.admin-main{width:min(100% - 28px,1280px);margin-top:28px}.admin-card{padding:20px}.admin-filters{align-items:stretch;flex-direction:column}.admin-grid{grid-template-columns:1fr} }
