:root{
  --red:#a4123c; --red-d:#7e0e2e; --ink:#22242a; --muted:#7a7f88;
  --line:#e6e8ec; --bg:#f4f5f7; --card:#fff; --ok:#0a7d4b;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}
a{color:var(--red);text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:22px;margin:0 0 16px}
h2{font-size:16px;margin:26px 0 12px}

/* Venstremenu (sidebar) */
.sidebar{position:fixed;top:0;left:0;width:214px;height:100vh;overflow-y:auto;background:var(--red);color:#fff;display:flex;flex-direction:column;z-index:20}
.sidebar .brand{padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.15)}
.sidebar .brand a{color:#fff;font-weight:bold;font-size:18px}
.sidebar .brand em{display:block;font-style:normal;font-size:10px;opacity:.8;margin-top:1px}
.sidenav{display:flex;flex-direction:column;gap:2px;padding:12px 10px;flex:1}
.sidenav a,.sidenav span{color:#fff;padding:9px 12px;border-radius:7px;font-size:13.5px;display:block}
.sidenav a:hover{background:rgba(255,255,255,.12);text-decoration:none}
.sidenav a.on{background:rgba(0,0,0,.22);font-weight:bold}
.sidenav .muted{opacity:.45;cursor:default}
.sideuser{padding:12px 14px;border-top:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column;gap:9px}
.sideuser .uinfo{display:flex;flex-direction:column;gap:5px;font-size:12px;opacity:.97}
.sideuser .uname{font-weight:bold}
.sideuser .role{align-self:flex-start;background:rgba(255,255,255,.18);padding:1px 7px;border-radius:4px;text-transform:capitalize}
.sideuser .langsw a{color:#fff;opacity:.6;padding:2px 6px 2px 0;font-weight:bold}
.sideuser .langsw a.on{opacity:1;text-decoration:underline}
.sideuser .btn.logout{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25);color:#fff;width:100%;text-align:center}
.sideuser .btn.logout:hover{background:rgba(255,255,255,.24)}
.content{margin-left:214px;min-width:0}
.navtoggle{display:none}
.hamburger{display:none}

.wrap{max-width:1180px;margin:24px auto;padding:0 24px}
.wrap.center{max-width:420px;margin-top:8vh}

/* Mobil: menuen foldes bag en ☰-knap og folder ud ved tryk */
@media(max-width:820px){
  .sidebar{position:sticky;top:0;width:100%;height:auto;z-index:30}
  .sidebar .brand{display:flex;align-items:center;justify-content:space-between}
  .hamburger{display:block;cursor:pointer;font-size:22px;line-height:1;color:#fff;padding:2px 12px;border:1px solid rgba(255,255,255,.35);border-radius:7px;user-select:none}
  .sidenav,.sideuser{display:none}
  .navtoggle:checked ~ .sidenav{display:flex}
  .navtoggle:checked ~ .sideuser{display:flex}
  .content{margin-left:0}
}
.foot{text-align:center;color:var(--muted);font-size:12px;padding:30px}

.btn{display:inline-block;background:#eef0f3;border:1px solid var(--line);color:var(--ink);padding:8px 14px;border-radius:7px;cursor:pointer;font-size:13px}
.btn:hover{text-decoration:none;background:#e6e9ee}
.btn.small{padding:5px 10px;font-size:12px}
.btn.primary{background:var(--red);border-color:var(--red);color:#fff;width:100%;font-weight:bold;padding:11px}
.btn.primary:hover{background:var(--red-d)}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px}
.card .num{font-size:26px;font-weight:bold}
.card .lbl{color:var(--muted);font-size:12px;margin-top:4px}
.card.warn{border-color:#f2c94c;background:#fffaf0}

.zonebars{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px;max-width:640px}
.zb{display:flex;align-items:center;gap:12px;margin:8px 0}
.zlab{width:150px;display:flex;align-items:center;gap:8px}
.dot{width:11px;height:11px;border-radius:50%;display:inline-block}
.bar{flex:1;background:#eef0f3;border-radius:6px;height:14px;overflow:hidden}
.bar span{display:block;height:100%}
.zn{width:56px;text-align:right;font-variant-numeric:tabular-nums}

.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.filters input,.filters select{padding:9px 11px;border:1px solid var(--line);border-radius:7px;font-size:13px}
.filters input[type=search]{min-width:280px}

table.grid{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
table.grid th,table.grid td{padding:9px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
table.grid th{background:#fafbfc;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
table.grid tr:last-child td{border-bottom:none}
table.grid tr:hover td{background:#fcfcfd}
.thumb{width:42px;height:42px;object-fit:cover;border-radius:6px;border:1px solid var(--line);background:#fff}
.noimg{width:42px;height:42px;border-radius:6px;border:1px dashed var(--line);color:#bcc0c6;display:flex;align-items:center;justify-content:center;font-size:10px}
.badge{display:inline-block;color:#fff;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:bold;white-space:nowrap}
.num-c{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.rev{color:#b58105;font-size:11px}
.muted-s{color:var(--muted);font-size:12px}

.pager{display:flex;gap:8px;align-items:center;margin-top:16px}
.pager .info{color:var(--muted);font-size:12px;margin-right:auto}

.loginbox{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:30px}
.loginbox h1{margin:0;color:var(--red)}
.loginbox .tag{color:var(--muted);margin:2px 0 20px}
.stack{display:flex;flex-direction:column;gap:14px}
.stack label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:bold}
.stack input{padding:10px 12px;border:1px solid var(--line);border-radius:7px;font-size:14px;font-weight:normal}
.stack label.check{flex-direction:row;align-items:center;gap:9px;font-weight:normal;cursor:pointer}
.stack label.check input{width:auto;padding:0}
.alert{padding:10px 12px;border-radius:7px;margin-bottom:14px;font-size:13px}
.alert.err{background:#fdeaee;color:#a4123c;border:1px solid #f3c4d0}
.alert.ok{background:#e8f6ef;color:var(--ok);border:1px solid #bfe6d1}
.center{text-align:center}
.langsw.center{margin-top:16px}
.langsw.center a{color:var(--muted);margin:0 6px}

.detail{display:grid;grid-template-columns:220px 1fr;gap:26px;align-items:start}
.detail img.big{width:100%;border-radius:10px;border:1px solid var(--line);background:#fff}
.kv{width:100%;border-collapse:collapse}
.kv th{text-align:left;color:var(--muted);font-weight:normal;padding:6px 12px 6px 0;width:180px;vertical-align:top;font-size:13px}
.kv td{padding:6px 0;border-bottom:1px solid var(--line)}
.editform{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px;margin-top:22px}
.editform .row{display:grid;grid-template-columns:180px 1fr;gap:12px;align-items:center;margin-bottom:12px;max-width:640px}
.editform input{padding:8px 10px;border:1px solid var(--line);border-radius:7px;font-size:13px;width:100%}
.editform .actions{margin-top:8px;display:flex;gap:10px}
@media(max-width:720px){.detail{grid-template-columns:1fr}.editform .row{grid-template-columns:1fr}}
