:root{--green:#123f36;--green2:#1f6b56;--sage:#dfeadf;--mint:#eef5ef;--cream:#f7f4ec;--gold:#d7b06b;--ink:#18302b;--muted:#667871;--line:#dfe6e1;--danger:#a53d3d;--shadow:0 18px 50px rgba(18,63,54,.10)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#edf3ef}button,input,select,textarea{font:inherit}button{cursor:pointer}.lb-login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#dfeadf 0,transparent 36%),linear-gradient(135deg,#eef5ef,#f7f4ec)}.login-card{width:min(430px,100%);background:#fff;border-radius:26px;padding:34px;box-shadow:var(--shadow);text-align:center}.login-card img{max-width:210px;height:auto}.login-card h1{margin:20px 0 8px;font-size:30px}.login-card p{color:var(--muted)}.field{display:grid;gap:7px;text-align:left;margin:14px 0}.field label{font-size:13px;font-weight:700;color:#36584f}.field input,.field select,.field textarea,.toolbar input,.toolbar select{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus,.toolbar input:focus,.toolbar select:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(31,107,86,.11)}.btn{border:0;border-radius:12px;padding:10px 15px;font-weight:750;background:var(--green2);color:#fff;box-shadow:0 8px 18px rgba(31,107,86,.15)}.btn:hover{filter:brightness(.96)}.btn.alt{background:#e7efe9;color:var(--green)}.btn.ghost{background:#fff;color:var(--green);border:1px solid var(--line);box-shadow:none}.btn.danger{background:#f8e5e5;color:var(--danger);box-shadow:none}.btn.small{padding:7px 10px;border-radius:9px;font-size:13px}.lb-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:linear-gradient(180deg,#123f36,#0d302a);color:#fff;padding:22px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 22px}.brand img{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:14px;padding:6px}.brand b{display:block;font-size:16px}.brand span{font-size:12px;color:#b7d0c7}.nav{display:grid;gap:5px}.nav button{border:0;background:transparent;color:#dcebe6;text-align:left;padding:11px 12px;border-radius:12px;font-weight:650;display:flex;gap:10px;align-items:center}.nav button.active,.nav button:hover{background:rgba(255,255,255,.12);color:#fff}.nav .ico{width:22px;text-align:center}.side-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.13);padding-top:14px}.side-foot button{width:100%}.main{min-width:0}.topbar{height:76px;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar h1{font-size:23px;margin:0}.topbar small{color:var(--muted)}.content{padding:28px;max-width:1500px;margin:auto}.hero{background:linear-gradient(135deg,#123f36,#28745e);color:#fff;border-radius:24px;padding:28px;display:flex;justify-content:space-between;gap:20px;align-items:center;box-shadow:var(--shadow);margin-bottom:22px}.hero h2{font-size:30px;margin:0 0 8px}.hero p{margin:0;color:#d8ece5}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero .btn{background:#fff;color:var(--green)}.hero .btn.alt{background:rgba(255,255,255,.14);color:#fff}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:18px 0}.metric{background:#fff;border:1px solid rgba(18,63,54,.06);border-radius:18px;padding:17px;box-shadow:0 8px 26px rgba(18,63,54,.06)}.metric span{font-size:13px;color:var(--muted);font-weight:650}.metric b{display:block;font-size:28px;margin-top:7px}.metric i{font-style:normal;float:right;background:var(--mint);border-radius:10px;padding:8px}.grid2{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.panel{background:#fff;border-radius:20px;padding:19px;box-shadow:0 8px 30px rgba(18,63,54,.06);border:1px solid rgba(18,63,54,.06)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel h3{margin:0;font-size:18px}.muted{color:var(--muted)}.quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quick button{border:1px solid var(--line);background:linear-gradient(145deg,#fff,#f5f9f6);border-radius:16px;padding:16px;text-align:left;color:var(--ink);min-height:105px}.quick button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(18,63,54,.09)}.quick strong{display:block;margin:8px 0 3px}.quick span{font-size:12px;color:var(--muted)}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.toolbar input{max-width:320px}.toolbar select{max-width:220px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px}.table{width:100%;border-collapse:collapse;min-width:760px}.table th{background:#f1f6f2;color:#36584f;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:11px 12px}.table td{padding:11px 12px;border-top:1px solid var(--line);vertical-align:top}.table tr:hover td{background:#fbfdfb}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--mint);color:var(--green);font-size:12px;font-weight:750}.badge.warn{background:#fff0d9;color:#885c18}.badge.danger{background:#fae4e4;color:#9d3030}.actions{display:flex;gap:6px;flex-wrap:wrap}.empty{padding:34px;text-align:center;color:var(--muted)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px}.tabs button.active{background:var(--green);color:#fff;border-color:var(--green)}.barrow{display:grid;grid-template-columns:minmax(110px,1fr) 3fr 45px;gap:10px;align-items:center;margin:10px 0}.bar{height:12px;background:#edf2ee;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--green2),#6fa68e);border-radius:999px}.activity{display:grid;gap:10px}.activity-item{padding:11px 0;border-bottom:1px solid var(--line)}.activity-item:last-child{border-bottom:0}.activity-item b{display:block}.activity-item small{color:var(--muted)}.modal{position:fixed;inset:0;background:rgba(5,28,23,.52);display:none;align-items:center;justify-content:center;padding:18px;z-index:100}.modal.show{display:flex}.dialog{background:#fff;border-radius:22px;width:min(700px,100%);max-height:92vh;overflow:auto;box-shadow:0 28px 80px rgba(0,0,0,.24)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:19px 22px;border-bottom:1px solid var(--line)}.dialog-head h3{margin:0}.dialog-body{padding:20px 22px}.dialog-foot{display:flex;justify-content:flex-end;gap:9px;padding:16px 22px;border-top:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .wide{grid-column:1/-1}.toast{position:fixed;right:22px;bottom:22px;background:#143f36;color:#fff;padding:13px 17px;border-radius:12px;box-shadow:var(--shadow);z-index:200;display:none}.toast.show{display:block}.print-head{display:none}@media(max-width:1100px){.cards{grid-template-columns:repeat(3,1fr)}.quick{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}}@media(max-width:760px){.lb-shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.nav{grid-template-columns:repeat(3,1fr)}.nav button{justify-content:center;font-size:0}.nav .ico{font-size:19px}.brand{padding-bottom:12px}.side-foot{display:none}.topbar{height:auto;padding:15px 18px}.content{padding:16px}.hero{align-items:flex-start;flex-direction:column}.cards{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}@media print{body{background:#fff}.sidebar,.topbar,.toolbar,.tabs,.actions,.btn,.hero-actions{display:none!important}.lb-shell{display:block}.content{padding:0}.panel{box-shadow:none;border:0;padding:0}.print-head{display:block;margin-bottom:20px}.print-head h1{color:var(--green)}.table-wrap{border:0;overflow:visible}.table{min-width:0;font-size:11px}.table th{background:#e9f0eb!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.hero,.cards,.grid2:not(.printable){display:none!important}}

.logout-top{display:inline-flex;align-items:center;gap:7px;border-color:#cfdcd5;background:#fff}.logout-top:hover{background:#f5f9f6;border-color:#9fb9ac;color:#0d302a}

.table th.sortable{cursor:pointer;user-select:none;white-space:nowrap}.table th.sortable:after{content:' ⇅';opacity:.35;font-size:11px}.table th.sort-asc:after{content:' ▲';opacity:1}.table th.sort-desc:after{content:' ▼';opacity:1}.reminder-books{display:grid;gap:3px;margin-top:7px;color:var(--muted);font-size:12px}.reminder-books span:before{content:'• ';color:var(--green2)}

.person-summary{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr)) auto;gap:12px;align-items:center;background:linear-gradient(135deg,#edf6ef,#f8fbf9);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin:0 0 16px}.person-summary div{display:flex;flex-direction:column;gap:3px}.person-summary span{font-size:12px;color:var(--muted)}.person-summary b{font-size:19px;color:var(--green)}.selection-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;margin:12px 0 18px;background:#eef5f0;border:1px solid var(--line);border-radius:14px}.selection-actions label{font-weight:700}.reminder-choice{width:18px;height:18px;accent-color:var(--green)}@media(max-width:900px){.person-summary{grid-template-columns:repeat(2,1fr)}}

/* Udskriftscenter 1.4 */
.print-center-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:14px;margin:18px 0 22px}.print-choice{appearance:none;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px;cursor:pointer;transition:.18s;min-height:92px}.print-choice:hover,.print-choice.active{border-color:var(--green);box-shadow:0 8px 24px rgba(31,107,86,.12);transform:translateY(-1px)}.print-choice.active{background:#eef6f1}.print-choice b,.print-choice span{display:block}.print-choice b{font-size:16px;color:var(--green-dark);margin-bottom:6px}.print-choice span{color:var(--muted);font-size:13px}.print-filter label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px}.print-preview{margin-top:20px}.preview-sheet{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}.preview-head{display:flex;align-items:center;gap:18px;border-bottom:3px solid var(--green);padding-bottom:14px;margin-bottom:16px}.preview-head img{max-height:55px;max-width:175px}.preview-head h2{margin:0 0 4px;color:var(--green-dark)}
