:root{color-scheme:light}*{box-sizing:border-box}body{margin:0;background:linear-gradient(140deg,#eff5ed,#fffdf8);color:#153d2b;font:16px/1.5 system-ui,Arial,sans-serif;min-height:100vh}.shell{max-width:560px;margin:6vh auto;padding:20px}.logo{font-family:Georgia,serif;font-size:27px;margin-bottom:20px;font-weight:bold}.logo span{display:block;font:12px system-ui;color:#96702e;letter-spacing:.1em;text-transform:uppercase}.panel{background:#fff;border:1px solid #dce7dd;border-radius:20px;padding:28px;box-shadow:0 20px 50px #092b1b13}h1{font:32px Georgia,serif;margin:0 0 17px}h2{font:24px Georgia,serif}p{color:#547064}label{display:block;font-size:13px;font-weight:700;margin:15px 0 6px}input{width:100%;border:1px solid #cddcd1;border-radius:10px;padding:13px 14px;font:inherit;background:#fff}button,.button{display:inline-block;background:#0b4a36;color:white;border:0;border-radius:999px;padding:12px 23px;font:700 15px system-ui;cursor:pointer;margin-top:18px;text-decoration:none}button:hover,.button:hover{background:#0f6549}a{color:#116448}footer{font-size:12px;color:#738579;text-align:center;margin-top:24px}.error{background:#fff1ed;color:#8f2a20;padding:12px;border-radius:9px}.good{background:#e4f4e8;color:#135a34;padding:12px;border-radius:9px}.codes{padding:16px;background:#f4f8f4;border-radius:10px;font:16px/1.9 monospace;white-space:pre-wrap;word-break:break-all}.hint{font-size:13px}.links{display:flex;gap:14px;flex-wrap:wrap}code{background:#eff3ed;padding:3px}.warn{border-left:4px solid #b47c2a;padding-left:10px}

/* 3.1 — CMS dashboard */
.cms-body{background:#f5f7f2;color:#153d2b}
.cms-layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}
.cms-side{background:#0b4433;color:white;display:flex;flex-direction:column;padding:29px 18px 22px;gap:35px}
.cms-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;padding:8px 10px}.cms-brand strong{font:700 23px Georgia,serif}.cms-brand small{display:block;color:#e7ce9f;font-size:11px;text-transform:uppercase;letter-spacing:.09em}.cms-emblem{display:grid;place-items:center;flex:0 0 38px;height:38px;border:1px solid #8faa96;border-radius:13px;font-size:23px}
.cms-nav{display:grid;gap:5px}.cms-nav a{display:block;color:#cddfd3;text-decoration:none;border-radius:12px;padding:13px 14px;font-size:14px;font-weight:650}.cms-nav a:hover,.cms-nav a[aria-current=page]{color:#0d4c36;background:#fff}
.cms-side-foot{margin-top:auto;display:flex;align-items:center;gap:12px;border-top:1px solid #ffffff35;padding:24px 9px 0}.cms-side-foot strong{display:block;font-size:13px}.cms-side-foot small{display:block;color:#c5dacc;font-size:12px}.cms-avatar{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;background:#e9d1a8;color:#0b4433;border-radius:50%;font-weight:800}
.cms-content{min-width:0;display:flex;flex-direction:column}.cms-top{display:flex;align-items:center;justify-content:space-between;padding:20px max(26px,4vw);background:#fff;border-bottom:1px solid #e3e8df}.cms-crumb{font-size:11px;font-weight:800;letter-spacing:.12em;color:#7b8c80}.cms-logout{margin:0}.btn-quiet{background:transparent;color:#174934;margin:0;padding:8px 14px;border:1px solid #dde7de}.btn-quiet:hover{background:#eef5ed}
.cms-main{max-width:1330px;width:100%;margin:0 auto;padding:38px max(26px,4vw) 70px;flex:1}.cms-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:22px}.cms-heading h1{font-size:clamp(32px,3vw,46px);margin:5px 0}.cms-kicker{font-size:10px;color:#bc7c2c;letter-spacing:.17em;font-weight:800}.cms-secure{background:#e0f1e5;color:#24613a;padding:8px 12px;font-size:12px;border-radius:999px;font-weight:700}.cms-lead{max-width:850px;margin-bottom:26px}
.cms-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.cms-stat{background:#fff;border:1px solid #e2e9df;border-radius:18px;padding:22px;box-shadow:0 8px 25px #152e1e08}.cms-stat span,.cms-stat small{display:block;color:#637b6d;font-size:13px}.cms-stat strong{display:block;font:700 39px Georgia,serif;margin:12px 0;color:#0b4a36}.cms-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:19px}.cms-grid.narrow{grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr)}
.cms-card{background:#fff;padding:26px;border:1px solid #e1e8de;border-radius:20px;box-shadow:0 8px 25px #152e1e08}.cms-card h2{margin:0 0 14px}.cms-card-top{display:flex;gap:12px;justify-content:space-between;align-items:center}.cms-card-top h2{margin:0}.cms-card p{color:#60746a}.pill{display:inline-block;padding:5px 10px;background:#fff2dc;color:#906124;border-radius:999px;font-weight:700;font-size:11px}.pill.muted{background:#edf1eb;color:#607269}.pill-ok{background:#dff2e6;color:#185d37}.cms-action-list{display:grid;margin-top:20px}.cms-action-list a{display:flex;justify-content:space-between;border-top:1px solid #e5ebe2;padding:14px 3px;text-decoration:none;color:#15543b;font-weight:700}.cms-roadmap>div{display:flex;align-items:center;gap:18px;border-bottom:1px solid #e4e9e3;padding:16px 0}.cms-roadmap b{color:#c18231}.cms-roadmap span{color:#60746a}.cms-banner{display:grid;gap:3px;margin-top:20px;padding:18px 22px;border-radius:16px;background:#e9f0e6;color:#31523d;font-size:13px}.cms-banner strong{font-size:15px}.cms-footer{font-size:12px;color:#7a8d7f;padding:20px;text-align:center}
.cms-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.cms-toolbar .button{margin:0}.cms-table-wrap{overflow-x:auto}.table-card{padding:12px 22px}table{border-collapse:collapse;width:100%;min-width:640px}th{text-align:left;text-transform:uppercase;font-size:11px;letter-spacing:.09em;color:#697d70}td,th{padding:16px 12px;border-bottom:1px solid #e6ede6}td small{display:block;font-size:12px;color:#6f8274}.inline-form{margin:0}.btn-small{margin:0;padding:7px 12px;border-radius:10px;font-size:12px}.btn-danger{background:#fff1ed;color:#8e3c2d}.btn-danger:hover{background:#fbe0d9}.subdued{color:#8a9b8e;font-size:12px}.button-secondary{background:#f0f4ee;color:#244f36}.cms-help{font-size:13px;color:#647b6c;margin-top:18px}select{width:100%;font:inherit;border:1px solid #cddcd1;border-radius:10px;padding:13px 14px;background:#fff}.cms-details{display:grid;gap:5px}.cms-details dt{font-size:11px;font-weight:700;color:#829486;text-transform:uppercase}.cms-details dd{margin:0 0 14px;font-weight:650}
@media(max-width:1100px){.cms-stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.cms-layout{grid-template-columns:1fr}.cms-side{gap:12px;padding:15px}.cms-nav{display:flex;flex-wrap:wrap}.cms-nav a{padding:9px 12px}.cms-side-foot{display:none}.cms-grid,.cms-grid.narrow{grid-template-columns:1fr}.cms-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-heading{display:block}.cms-secure{display:inline-block;margin-top:7px}.cms-main{padding:26px 16px}.cms-top{padding:12px 16px}}
@media(max-width:450px){.cms-stat-grid{grid-template-columns:1fr}.cms-toolbar{align-items:flex-start;flex-direction:column}}

/* Etape 3.2: Opret medarbejder – adgangskodegenerator */
.generated-password-row{display:flex;gap:8px;align-items:stretch}
.generated-password-row input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.generated-password-row .password-tool{margin:0;border-radius:10px;padding:10px 16px;white-space:nowrap}
.password-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.password-actions button{margin:0}
.password-actions button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:480px){.password-actions button{flex:1 1 100%}}
