/* site.css — login and admin pages; tokens, header and wordmark copied from the course (static/course.html) */
:root{
  --blue:#3A557C; --head:rgb(29,81,132); --silver:#B4B7B9; --silver-l:#E6E8E9;
  --ink:#111; --muted:#5B6168; --paper:#FBFBFA; --card:#fff;
  --ok:#2E7D5B; --ok-bg:#E8F3EE; --warn:#A8741A; --warn-bg:#FBF3E4; --bad:#A23B3B; --bad-bg:#F8E9E9;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:Verdana,Geneva,sans-serif;font-size:14px;line-height:1.6;color:var(--ink);background:var(--paper)}
em,i{font-style:normal}
a{color:var(--head)}
header{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.hwrap{max-width:1040px;margin:0 auto;padding:22px 24px 18px;position:relative}
.wordmark{display:block;font-weight:bold;font-size:22px;letter-spacing:.45em;color:#CDCDCD;line-height:1;white-space:nowrap}
.wordmark .m{color:#899AB7;font-size:1.25em}
header .wordmark{padding-bottom:10px;border-bottom:1px solid #8AA5D1}
.brand small{display:block;letter-spacing:.08em;font-size:11px;color:var(--muted);margin-top:8px}
.langs{position:absolute;top:22px;right:24px;display:flex;gap:4px}
.langs a{font-size:11px;letter-spacing:.12em;color:var(--blue);background:#fff;border:1px solid rgba(58,85,124,.35);border-radius:12px;padding:3px 10px;text-decoration:none}
.langs a.on{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:bold}
.htools{position:absolute;top:22px;right:24px;display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted)}
main{max-width:1040px;margin:0 auto;padding:36px 24px 60px}
main.narrow{max-width:460px}
h1{color:var(--head);font-size:24px;line-height:1.3;margin:6px 0 14px}
h2{color:var(--head);font-size:17px;margin:30px 0 10px}
.kicker{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.card{background:var(--card);border:1px solid var(--silver-l);border-radius:6px;padding:20px 22px}
.field{display:flex;flex-direction:column;gap:4px;margin:0 0 14px}
.field label{font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.field input,.field select{font-family:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--silver);border-radius:4px;background:#fff}
button.btn,a.btn{display:inline-block;font-family:inherit;font-size:13px;border-radius:4px;padding:9px 18px;cursor:pointer;border:1px solid var(--blue);text-decoration:none}
.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:var(--head)}
.btn.ghost{background:#fff;color:var(--blue)}.btn.ghost:hover{background:#EEF2F7}
.btn.small{padding:4px 10px;font-size:12px}
.btn.danger{color:var(--bad);border-color:var(--bad);background:#fff}
.msg{border-radius:4px;padding:10px 12px;margin:0 0 14px;font-size:13px}
.msg.err{background:var(--bad-bg);color:var(--bad)}.msg.ok{background:var(--ok-bg);color:var(--ok)}
.muted{color:var(--muted);font-size:12px}
table.list{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--silver-l);font-size:13px}
table.list th,table.list td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--silver-l);vertical-align:middle}
table.list th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#F6F7F8}
table.list td.n{text-align:right;white-space:nowrap}
.pill{display:inline-block;font-size:11px;padding:2px 9px;border-radius:10px;background:#EEF0F2;color:var(--muted);white-space:nowrap}
.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.bad{background:var(--bad-bg);color:var(--bad)}.pill.run{background:#EEF2F7;color:var(--blue)}
.actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.actions form{margin:0}
.newuser{display:grid;grid-template-columns:2fr 1fr 1.4fr .8fr auto;gap:10px;align-items:end}
.newuser .field{margin:0}
details.edit summary{cursor:pointer;color:var(--blue);font-size:12px;list-style:none}
footer{max-width:1040px;margin:0 auto;padding:0 24px 30px;font-family:Menlo,Consolas,monospace;font-size:10.5px;color:var(--muted)}
@media (max-width:760px){.newuser{grid-template-columns:1fr}.hide-sm{display:none}}
@media print{header,footer,.noprint{display:none !important}body{background:#fff}}
@media (max-width:760px){header .wordmark{font-size:17px}}
/* admin list + popup (modal contract copied from design-system components/admin-surface/hub.css) */
.listhead{display:flex;justify-content:space-between;align-items:center;margin:30px 0 10px}
.listhead h2{margin:0}
table.list td.nowrap{white-space:nowrap}
table.list tr.off td{opacity:.5}
.modal-overlay{position:fixed;inset:0;background:rgba(17,24,39,.35);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}
.modal-overlay[hidden]{display:none}
.modal{position:relative;width:min(420px,92vw);background:#fff;border-radius:12px;box-shadow:0 24px 64px rgba(0,0,0,.22);padding:26px;max-height:92vh;overflow-y:auto}
.modal--form{width:min(560px,94vw)}
.modal__title{font-size:17px;color:var(--head);margin:0 0 18px;padding-right:34px}
.modal-x{position:absolute;top:14px;right:14px;width:30px;height:30px;border:none;background:none;color:var(--silver);font-size:22px;line-height:1;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;padding:0}
.modal-x:hover{background:#F1F3F5;color:var(--ink)}
.modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.mgrid{display:grid;grid-template-columns:1.6fr 1fr;gap:10px;align-items:end;padding-bottom:16px;border-bottom:1px solid var(--silver-l)}
.mgrid .field{margin:0}
.mgrid__save{grid-column:1/-1;text-align:right}
.mact__row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--silver-l)}
.mact__row:last-child{border-bottom:0}
.mact__row b{display:block;font-size:13px}
.mact__row span{font-size:12px;color:var(--muted)}
.mact__row form{margin:0}
.btn.danger:hover{background:var(--bad-bg)}
button.btn.danger.primary,#cok.danger{background:var(--bad);color:#fff;border-color:var(--bad)}
@media (max-width:760px){.mgrid{grid-template-columns:1fr}.mact__row{flex-direction:column;align-items:flex-start}}
#confirm .modal__title{font-size:14.5px;line-height:1.5;color:var(--ink);font-weight:normal}
