:root{
  --bg:#f5f7fb;
  --card:#fff;
  --line:#b7c1cf;
  --line-strong:#8190a3;
  --text:#182230;
  --muted:#667085;
  --primary:#1f5eff;
  --danger:#c62828;
  --ok:#137333;
  --warn:#b45309;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);font-size:12px}
a{color:var(--primary);text-decoration:none}
button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:4px 7px;cursor:pointer;font-size:12px}
button:hover{background:#f0f4ff}
.topbar{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:8px 14px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.topbar h1{margin:0;font-size:18px}.top-title{min-width:220px}
.topbar nav{display:flex;gap:8px;align-items:center}
.muted{color:var(--muted);font-size:11px}
.weekbar{display:flex;gap:14px;align-items:center;justify-content:center;padding:0}
.weekbar form{display:flex;gap:6px;align-items:center}
.header-weekbar{justify-self:center}
.button-link{display:inline-block;border:1px solid var(--line);background:#fff;border-radius:6px;padding:4px 7px;color:var(--text);font-size:12px}
.button-link:hover{background:#f0f4ff}
.planner{padding:0 8px 18px;max-width:1920px;margin:0 auto}
.week,.unplanned,.capacity{background:#fff;border:1px solid var(--line);border-radius:10px;margin:8px 0;padding:6px;box-shadow:0 1px 2px rgba(16,24,40,.05)}
.week h2,.unplanned h2{margin:0 0 6px;font-size:15px}
.grid{display:grid;grid-template-columns:145px repeat(5,minmax(0,1fr))}
.header-row{font-weight:bold;border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong);margin-left:28px}
.header-row>div{padding:4px 5px;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:#f8fafc}
.day-head{text-align:center}
.day-head span{font-weight:normal;color:var(--muted)}
.name-col{font-weight:bold;background:#fbfcff;padding:4px 5px;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line);display:flex;align-items:center;min-height:34px}
.mechanic-name{border-left:1px solid var(--line-strong)}
.foreman-row{display:none}
.foreman-group{display:grid;grid-template-columns:28px 1fr;border-left:1px solid var(--line-strong);border-right:1px solid var(--line-strong);border-bottom:2px solid var(--line-strong);margin-top:0}
.foreman-group:first-of-type{border-top:1px solid var(--line-strong)}
.foreman-vertical{background:#e7eefc;border-right:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;min-height:100%;font-weight:bold;color:#123c73}
.foreman-vertical span{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;letter-spacing:.2px;font-size:11px;line-height:1}
.no-foreman-group .foreman-vertical{background:#fff;color:transparent}
.foreman-vertical-blank span{display:none}
.foreman-mechanics{min-width:0}
.mech-row{border-left:0}
.foreman-mechanics .mech-row:nth-child(even) .name-col,
.foreman-mechanics .mech-row:nth-child(even) .drop-cell{background:#fbfdff}
.foreman-mechanics .mech-row:hover .name-col,
.foreman-mechanics .mech-row:hover .drop-cell{background:#f3f7ff}
.drop-cell{min-height:38px;padding:2px 3px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;vertical-align:top}
.drop-active{outline:2px solid var(--primary);outline-offset:-2px;background:#eef4ff!important}
.job-card{background:var(--card);border:1px solid #aeb8c8;border-radius:4px;margin:2px 0;padding:2px 4px;box-shadow:none;font-size:10.5px;line-height:1.18;cursor:grab;min-height:15px;max-width:100%}
.job-card.dragging{opacity:.45}
.job-continuation{border-style:dashed;background:#fbfdff}
.job-line{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cell-jobs{min-height:30px}
.timeoff-chip{display:flex;align-items:center;justify-content:space-between;gap:4px;border-radius:0;padding:1px 4px;margin:0;font-size:9px;font-weight:bold;line-height:1.1;border-bottom:1px solid rgba(0,0,0,.18)}
.timeoff-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.unplanned{margin-top:10px}
.unplanned-master-drop{display:block!important;background:#f8fafc;border-color:#9fb3cc;color:#405066;text-align:center;font-weight:bold;margin-bottom:8px}
.unplanned-group{border-top:1px solid var(--line);padding-top:8px}
.unplanned-group h3{margin:4px 0 6px}
.unplanned-drop{min-height:32px;padding:5px;border-radius:8px;border:1px dashed transparent}
.unplanned-card{max-width:350px;font-size:10.5px}
.modal{position:fixed;inset:0;background:rgba(16,24,40,.55);display:flex;align-items:center;justify-content:center;z-index:20}
.modal.hidden{display:none}
.modal-box{background:#fff;border-radius:16px;box-shadow:0 18px 60px rgba(0,0,0,.25);width:min(560px,92vw);padding:18px;position:relative}
.modal-box-small{width:min(420px,92vw)}
.modal-close{position:absolute;right:12px;top:12px}
.modal label,.login-card label{display:block;margin:9px 0;color:var(--muted);font-size:12px}
.modal input,.modal select,.modal textarea,.login-card input,.user-form input,.user-form select{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}
.modal textarea{height:90px}
.form-row.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.form-row.two-fields label{margin:9px 0}
@media(max-width:650px){.form-row.two-fields{grid-template-columns:1fr}}

.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.danger{color:#fff;background:var(--danger);border-color:var(--danger)}
.login-body{display:grid;place-items:center;min-height:100vh}
.login-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;width:min(380px,92vw);box-shadow:0 8px 35px rgba(16,24,40,.12)}
.login-card h1{margin-top:0}
.error{background:#fee;border:1px solid #f6baba;color:#9b1c1c;padding:8px;border-radius:8px}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{border:1px solid var(--line);padding:8px;text-align:left}
.ok{color:var(--ok);font-weight:bold}.warn{color:var(--warn);font-weight:bold}
.okbox{background:#e8f5e9;border:1px solid #b7dfbb;padding:9px;border-radius:8px;margin-bottom:10px}
.user-form{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.inline{display:flex;gap:6px}
.hint{margin-top:4px}
.context-menu{position:absolute;z-index:30;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 20px rgba(0,0,0,.15);padding:4px}
.context-menu.hidden{display:none}
.context-menu button{display:block;width:100%;text-align:left;border:0;background:#fff;border-radius:6px;padding:7px 10px}
.context-menu button.hidden{display:none!important}
.context-menu button:hover{background:#f3f6fb}
footer{text-align:center;padding:8px}

@media(max-width:900px){
  .grid{grid-template-columns:120px repeat(5,180px);overflow-x:auto}
  .header-row{margin-left:28px}
  .week{overflow-x:auto}
  .user-form{grid-template-columns:1fr}
  .topbar{display:flex;align-items:flex-start;gap:10px;flex-direction:column}.header-weekbar{justify-content:flex-start;flex-wrap:wrap}
}

@media(min-width:1400px){
  .unplanned-group .unplanned-drop{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:4px}
  .unplanned-card{max-width:none;margin:0}
}

.bulk-textarea{min-height:560px;width:100%;font-family:Consolas,Monaco,"Courier New",monospace;font-size:13px;line-height:1.35;resize:vertical}
.bulk-box{max-width:1600px;margin-left:auto;margin-right:auto}
.import-example{background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:8px;margin:8px 0;font-family:Consolas,Monaco,"Courier New",monospace;font-size:12px;overflow-x:auto;white-space:nowrap}
.topbar nav .button-link{white-space:nowrap}

/* Helligdage og topmenu */
.gear-menu{position:relative;display:inline-block}
.gear-menu summary{list-style:none;border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 9px;cursor:pointer;font-size:16px;line-height:1}
.gear-menu summary::-webkit-details-marker{display:none}
.gear-panel{position:absolute;right:0;top:calc(100% + 6px);min-width:185px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 30px rgba(16,24,40,.18);z-index:40;padding:5px}
.gear-panel a{display:block;padding:8px 10px;border-radius:7px;color:var(--text);white-space:nowrap}
.gear-panel a:hover{background:#f3f6fb}
.holiday-head{background:#eef2f7!important;position:relative;color:#475467}
.holiday-full-head{background:#e5e7eb!important;color:#344054}
.holiday-head-name{font-size:10.5px;font-weight:bold;margin-top:2px;color:#b42318;line-height:1.1;white-space:normal}
.holiday-cell{background:repeating-linear-gradient(135deg,#f8fafc,#f8fafc 8px,#eef2f7 8px,#eef2f7 16px);opacity:.82}
.holiday-full-cell{background:#e5e7eb!important;opacity:.62;cursor:not-allowed}
.holiday-full-cell .cell-jobs{pointer-events:none}
.admin-two-col{display:grid;grid-template-columns:minmax(320px,430px) 1fr;gap:10px;align-items:start}
.stack-form label{display:block;margin:9px 0;color:var(--muted);font-size:12px}
.stack-form input,.stack-form select{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}
.section-header-line{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.section-header-line h2{margin:0}
@media(max-width:900px){.admin-two-col{display:block}.gear-panel{left:0;right:auto}}

.narrow-page{max-width:560px;margin:18px auto}
.password-form{max-width:420px}
.password-form label{display:block;margin:10px 0;color:var(--muted);font-size:12px}
.password-form input{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}
.users-page{overflow-x:auto}
.users-table input,.users-table select{width:100%;min-width:95px;padding:5px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12px}
.users-table input[type="checkbox"]{width:auto;min-width:auto}
.users-table td{vertical-align:middle;padding:5px}
.users-table th{white-space:nowrap}
.users-table .inline{min-width:190px}
.users-table .danger:disabled{opacity:.45;cursor:not-allowed}
.inactive-row{opacity:.55;background:#f6f7f9}
.table-hint{margin:-4px 0 8px}

.log-filter-form{display:grid;grid-template-columns:220px 180px 1fr auto;gap:10px;align-items:end}
.log-filter-form label{display:block;color:var(--muted);font-size:12px}
.log-filter-form input,.log-filter-form select{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}
.log-filter-actions{display:flex;gap:8px;align-items:center;padding-bottom:1px}
.compact-table th,.compact-table td{padding:6px 8px}
.job-log-table{font-size:11.5px}
.job-log-table th,.job-log-table td{vertical-align:top;padding:6px}
.log-details{max-width:420px;white-space:normal;word-break:break-word;color:var(--muted)}
@media(max-width:900px){.log-filter-form{grid-template-columns:1fr}.job-log-table{display:block;overflow-x:auto}}

/* v1.0.23 drag/drop-forbedringer og fraværstyper */
.drop-cell,.unplanned-drop{position:relative;transition:background .12s ease, outline .12s ease, box-shadow .12s ease}
.drop-active{outline:3px solid #155eef!important;outline-offset:-3px;background:#dbeafe!important;box-shadow:inset 0 0 0 2px rgba(21,94,239,.18)}
.drop-active::after{content:attr(data-drop-label);position:absolute;left:6px;right:6px;bottom:4px;background:rgba(21,94,239,.92);color:#fff;border-radius:5px;padding:3px 6px;font-size:10px;font-weight:bold;text-align:center;pointer-events:none;z-index:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.job-card:hover{outline:2px solid rgba(21,94,239,.35);background:#f8fbff}
.job-card.drag-source{outline:2px solid #155eef;background:#eaf2ff;opacity:.55}
.job-card.drop-success{animation:dropSuccess .9s ease-out}
@keyframes dropSuccess{0%{box-shadow:0 0 0 4px rgba(19,115,51,.35);background:#ecfdf3}100%{box-shadow:none}}
.drag-hint{position:fixed;z-index:9999;pointer-events:none;background:#172b4d;color:#fff;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:bold;box-shadow:0 10px 24px rgba(0,0,0,.25);max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drag-hint.hidden{display:none}
.is-dragging-job .drop-cell:not(.holiday-full-cell),.is-dragging-job .unplanned-drop{box-shadow:inset 0 0 0 1px rgba(21,94,239,.14)}
.absence-preview{display:inline-block;min-width:92px;text-align:center;padding:3px 7px;border-radius:4px;font-weight:bold;font-size:11px}
.absence-type-form{display:grid;grid-template-columns:minmax(130px,1fr) 48px 48px 78px auto;gap:6px;align-items:center;margin-bottom:4px}
.absence-types-table td{vertical-align:middle}
@media(max-width:900px){.absence-type-form{grid-template-columns:1fr 1fr}.drop-active::after{position:static;display:block;margin-top:3px}}

/* v1.0.24 kapacitet historik og dagsfarver */
.capacity-page{max-width:1500px;margin-left:auto;margin-right:auto}
.capacity-weeks{display:grid;gap:10px}
.capacity-week-card{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.capacity-week-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px 6px}
.capacity-week-head h3{margin:0;font-size:15px}
.capacity-pct{font-size:18px;white-space:nowrap}
.capacity-week-bar{height:5px;background:#edf1f7;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}
.capacity-week-bar span{display:block;height:100%;min-width:2px}
.capacity-day-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.capacity-day{border-right:1px solid var(--line);padding:7px 8px;min-height:70px;background:#fff}
.capacity-day:last-child{border-right:0}
.capacity-day-title{font-weight:bold;font-size:12px}
.capacity-day-title span{font-weight:normal;color:var(--muted)}
.capacity-day-pct{font-size:18px;font-weight:bold;margin-top:4px}
.capacity-day-count{font-size:11px;color:var(--muted)}
.cap-ok{color:#137333!important;background:#e8f5e9!important}
.cap-warn{color:#9a5b00!important;background:#fff4d6!important}
.cap-bad{color:#b42318!important;background:#fee4e2!important}
.cap-holiday{color:#667085!important;background:repeating-linear-gradient(135deg,#f2f4f7,#f2f4f7 8px,#e5e7eb 8px,#e5e7eb 16px)!important;opacity:.8}
.capacity-week-bar .cap-ok{background:#137333!important}
.capacity-week-bar .cap-warn{background:#f59e0b!important}
.capacity-week-bar .cap-bad{background:#d92d20!important}
.button-link.disabled{opacity:.45;pointer-events:none;color:var(--muted)}
@media(max-width:900px){.capacity-day-grid{grid-template-columns:1fr}.capacity-day{border-right:0;border-bottom:1px solid var(--line)}}

.capacity-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:10px}
.capacity-summary-card{min-height:150px}
.capacity-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 10px 10px}
.capacity-metric{border:1px solid var(--line);border-radius:8px;background:#f8fafc;padding:8px;text-align:center}
.capacity-metric span{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}
.capacity-metric strong{font-size:17px}
.cap-ok-bg{background:#e8f5e9!important;border-color:#9bd6a1!important;color:#137333!important}
@media(max-width:1100px){.capacity-summary-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media(max-width:650px){.capacity-summary-grid{grid-template-columns:1fr}.capacity-metrics{grid-template-columns:1fr}}

/* v1.0.27 PowerBI-agtig kapacitetsoversigt - samme tema */
.capacity-dashboard{max-width:1720px;background:#fff;border:1px solid var(--line);border-radius:12px;margin:8px auto 18px;padding:16px;box-shadow:0 1px 2px rgba(16,24,40,.06)}
.cap-dashboard-title{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}
.cap-dashboard-title h2{margin:0;font-size:22px;letter-spacing:-.02em}
.cap-dashboard-title p{margin:4px 0 0}
.cap-dashboard-note{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:8px 10px;max-width:420px}
.cap-card-grid{display:grid;grid-template-columns:repeat(4,minmax(250px,1fr));gap:14px;margin-bottom:14px}
.cap-bi-card{position:relative;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fff,#fbfcff);padding:14px;box-shadow:0 8px 18px rgba(16,24,40,.06);overflow:hidden;min-height:245px}
.cap-bi-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:#d0d5dd}
.cap-bi-card.cap-dash-ok{background:linear-gradient(180deg,#fbfffb,#f2fbf4);border-color:#b7dfbb}
.cap-bi-card.cap-dash-ok::before{background:#137333}
.cap-bi-card.cap-dash-warn{background:linear-gradient(180deg,#fffefa,#fff8e7);border-color:#f6d48b}
.cap-bi-card.cap-dash-warn::before{background:#f59e0b}
.cap-bi-card.cap-dash-bad{background:linear-gradient(180deg,#fffafa,#fff3f1);border-color:#f4b3aa}
.cap-bi-card.cap-dash-bad::before{background:#d92d20}
.cap-bi-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:12px}
.cap-bi-top h3{margin:0;font-size:16px;text-transform:uppercase;letter-spacing:.03em}
.cap-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:5px 8px;font-size:11px;font-weight:bold;text-transform:uppercase;white-space:nowrap;background:#eef2f7;color:#344054}
.cap-dash-ok .cap-status-pill{background:#dff3df;color:#137333}
.cap-dash-warn .cap-status-pill{background:#fff0c7;color:#9a5b00}
.cap-dash-bad .cap-status-pill{background:#fee4e2;color:#b42318}
.cap-bi-main{display:grid;grid-template-columns:1fr 128px;gap:12px;align-items:center;margin-bottom:12px}
.cap-big-kpi strong{display:block;font-size:43px;line-height:1;font-weight:800;letter-spacing:-.04em;color:#1d2939}
.cap-dash-ok .cap-big-kpi strong{color:#137333}
.cap-dash-warn .cap-big-kpi strong{color:#d97706}
.cap-dash-bad .cap-big-kpi strong{color:#b42318}
.cap-big-kpi span{display:block;margin-top:4px;color:var(--muted)}
.cap-big-kpi em{display:block;margin-top:12px;font-style:normal;font-weight:bold;color:#344054}
.cap-donut{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:inset 0 0 0 1px rgba(16,24,40,.04)}
.cap-donut::after{content:"";position:absolute;width:68px;height:68px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.08)}
.cap-donut span{position:relative;z-index:1;font-size:20px;font-weight:bold;color:#101828}
.cap-bi-values{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e4e7ec;border-bottom:1px solid #e4e7ec;margin:4px 0 12px}
.cap-bi-values div{padding:10px 6px;border-right:1px solid #e4e7ec}
.cap-bi-values div:last-child{border-right:0}
.cap-bi-values span{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}
.cap-bi-values strong{display:block;font-size:20px;letter-spacing:-.02em}
.cap-bi-values small{display:block;color:var(--muted);font-size:11px}
.cap-progress-wrap{margin-top:8px}
.cap-progress-track{height:8px;border-radius:999px;background:#e4e7ec;overflow:hidden}
.cap-progress-track span{display:block;height:100%;border-radius:999px;min-width:3px}
.cap-progress-label{text-align:right;margin-top:5px;font-size:11px;color:var(--muted);font-weight:bold}
.cap-overall-panel{display:grid;grid-template-columns:300px minmax(420px,1fr) minmax(480px,1.4fr);gap:0;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 18px rgba(16,24,40,.06);overflow:hidden;margin-top:14px}
.cap-overall-left{display:flex;align-items:center;gap:18px;padding:16px;border-right:1px solid #e4e7ec;background:#fbfcff}
.cap-overall-title{display:flex;gap:10px;align-items:center;min-width:130px}
.cap-overall-title strong{display:block;font-size:14px}.cap-overall-title span.muted{display:block;margin-top:4px}
.cap-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:#344054;font-weight:bold}
.cap-overall-ring{width:104px;height:104px;border-radius:50%;display:grid;place-items:center;position:relative;flex:0 0 auto}
.cap-overall-ring::after{content:"";position:absolute;width:66px;height:66px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.08)}
.cap-overall-ring span,.cap-overall-ring small{position:relative;z-index:1;display:block;text-align:center}.cap-overall-ring span{font-size:26px;font-weight:800;color:#d97706}.cap-overall-ring small{font-size:10px;color:var(--muted);margin-top:30px;position:absolute;top:42px;left:0;right:0}
.cap-overall-kpis{display:grid;grid-template-columns:repeat(4,1fr);align-items:center}
.cap-overall-kpis div{padding:18px 16px;border-right:1px solid #e4e7ec;min-height:132px;display:flex;flex-direction:column;justify-content:center}
.cap-overall-kpis div:last-child{border-right:0}
.cap-overall-kpis span{font-size:12px;color:var(--muted);margin-bottom:8px}.cap-overall-kpis strong{font-size:26px;letter-spacing:-.03em}.cap-overall-kpis small{font-size:12px;color:var(--muted);margin-top:4px}.cap-overall-kpis .pos{color:#137333}.cap-overall-kpis .neg{color:#d92d20}
.cap-trend{padding:14px 16px;background:linear-gradient(180deg,#fff,#fbfcff)}
.cap-trend-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}
.cap-trend-head strong{font-size:13px}.cap-trend-head span{font-size:11px;color:var(--muted);display:flex;gap:9px;align-items:center}.cap-trend-head i,.cap-trend-head b{display:inline-block;width:24px;height:0;border-top:3px solid #155eef}.cap-trend-head b{border-top-style:dashed}
.cap-trend svg{width:100%;height:170px;display:block}.cap-trend .axis{stroke:#d0d5dd;stroke-width:1}.cap-trend .area{fill:#dbeafe;opacity:.38}.cap-trend .actual-line{fill:none;stroke:#155eef;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.cap-trend .target-line{fill:none;stroke:#155eef;stroke-width:2;stroke-dasharray:6 6;opacity:.75}.cap-trend .actual-dot{fill:#155eef;stroke:#fff;stroke-width:2}.cap-trend .chart-label{font-size:11px;font-weight:bold;fill:#101828}.cap-trend .chart-week,.cap-trend .chart-axis-label{font-size:10px;fill:#667085}
.cap-footnote{margin:12px 2px 0}
@media(max-width:1350px){.cap-card-grid{grid-template-columns:repeat(2,minmax(250px,1fr))}.cap-overall-panel{grid-template-columns:1fr}.cap-overall-left{border-right:0;border-bottom:1px solid #e4e7ec}.cap-overall-kpis div{border-top:0}}
@media(max-width:760px){.capacity-dashboard{padding:10px}.cap-dashboard-title{display:block}.cap-card-grid{grid-template-columns:1fr}.cap-bi-main{grid-template-columns:1fr;justify-items:start}.cap-overall-kpis{grid-template-columns:1fr 1fr}.cap-overall-kpis div{min-height:auto;border-bottom:1px solid #e4e7ec}.cap-overall-left{display:block}.cap-overall-ring{margin-top:12px}.cap-bi-values{grid-template-columns:1fr}.cap-bi-values div{border-right:0;border-bottom:1px solid #e4e7ec}.cap-bi-values div:last-child{border-bottom:0}}

/* v1.0.28 Kapacitetsoversigt som tabel */
.capacity-table-page{max-width:1500px;margin:8px auto 18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:0 1px 2px rgba(16,24,40,.06)}
.capacity-table-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:12px}
.capacity-table-head h2{margin:0;font-size:21px}.capacity-table-head p{margin:4px 0 0}
.capacity-summary-pill{min-width:140px;border:1px solid var(--line);border-radius:12px;padding:9px 12px;background:#fff8e7;text-align:center}
.capacity-summary-pill span,.capacity-summary-pill small{display:block;color:var(--muted);font-size:11px}.capacity-summary-pill strong{display:block;font-size:28px;line-height:1.05}.cap-not-ok strong{color:#d97706}
.capacity-overview-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}
.capacity-overview-table th,.capacity-overview-table td{border:0;border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:middle}
.capacity-overview-table thead th{background:#0b2e5f;color:#fff;font-size:12px;letter-spacing:.02em;white-space:nowrap}
.capacity-overview-table tbody tr:last-child td{border-bottom:1px solid var(--line)}
.capacity-overview-table tfoot th{background:#f8fafc;font-size:13px;border-bottom:0}
.capacity-overview-table tfoot th,.capacity-overview-table tfoot td{font-weight:bold}
.capacity-overview-table .cap-row-ok{background:#f3fbf4}.capacity-overview-table .cap-row-warn{background:#fffdf7}
.capacity-overview-table .cap-row-ok td:first-child{box-shadow:inset 5px 0 0 #137333}.capacity-overview-table .cap-row-warn td:first-child{box-shadow:inset 5px 0 0 #f59e0b}
.cap-target-badge{display:inline-block;border-radius:999px;padding:4px 8px;background:#eef2f7;font-weight:bold;color:#344054;font-size:12px}
.cap-progress-cell{min-width:260px}.cap-table-percent{display:flex;gap:6px;align-items:baseline;margin-bottom:5px}.cap-table-percent strong{font-size:20px}.cap-table-percent span{color:var(--muted);font-size:11px}
.cap-table-progress{height:10px;border-radius:999px;background:#e4e7ec;position:relative;overflow:visible}
.cap-table-progress span{display:block;height:100%;border-radius:999px;min-width:3px}.cap-bar-ok{background:#137333}.cap-bar-warn{background:#f59e0b}
.cap-table-progress i{position:absolute;top:-4px;width:2px;height:18px;background:#101828;opacity:.45;transform:translateX(-1px)}
.cap-status-table{display:inline-block;border-radius:8px;padding:5px 8px;font-weight:bold;font-size:11px}.cap-status-table.ok{background:#dff3df;color:#137333}.cap-status-table.warn{background:#fff0c7;color:#9a5b00}
.capacity-overview-table .pos{color:#137333;font-weight:bold}.capacity-overview-table .neg{color:#d92d20;font-weight:bold}.small-note{margin-top:4px}.capacity-footnote{margin:10px 2px 0}
@media(max-width:900px){.capacity-table-head{display:block}.capacity-summary-pill{margin-top:10px}.capacity-table-page{overflow-x:auto}.capacity-overview-table{min-width:980px}}

/* v1.0.29 bruger-valgte temaer */
body.theme-scania-blue{
  --bg:#eef3f8;
  --card:#ffffff;
  --line:#9fb2c7;
  --line-strong:#52708f;
  --text:#071d36;
  --muted:#52657a;
  --primary:#0b4f8a;
  --danger:#b42318;
  --ok:#16723a;
  --warn:#b26a00;
}
body.theme-scania-blue .topbar{
  background:linear-gradient(90deg,#041e42,#0b3a6b);
  color:#fff;
  border-bottom-color:#00152d;
  box-shadow:0 2px 10px rgba(4,30,66,.22);
}
body.theme-scania-blue .topbar h1,
body.theme-scania-blue .topbar .muted,
body.theme-scania-blue .topbar a{color:#fff}
body.theme-scania-blue .topbar .button-link,
body.theme-scania-blue .topbar button,
body.theme-scania-blue .weekbar button{
  background:#ffffff;
  color:#041e42;
  border-color:#a9bed3;
}
body.theme-scania-blue .gear-menu summary{
  background:#ffffff;
  color:#041e42;
  border-color:#a9bed3;
}
body.theme-scania-blue .gear-panel{color:#071d36}
body.theme-scania-blue .gear-panel a{color:#071d36}
body.theme-scania-blue .week,
body.theme-scania-blue .unplanned,
body.theme-scania-blue .capacity,
body.theme-scania-blue .capacity-dashboard{
  border-color:#9fb2c7;
  box-shadow:0 2px 8px rgba(4,30,66,.08);
}
body.theme-scania-blue .header-row>div,
body.theme-scania-blue .name-col{background:#f4f8fc}
body.theme-scania-blue .foreman-vertical{background:#dce8f5;color:#041e42}
body.theme-scania-blue .foreman-mechanics .mech-row:hover .name-col,
body.theme-scania-blue .foreman-mechanics .mech-row:hover .drop-cell{background:#eaf3fb}
body.theme-scania-blue .job-card{border-color:#7e99b7;background:#fff;box-shadow:inset 3px 0 0 #0b4f8a}
body.theme-scania-blue .job-continuation{background:#f6faff}
body.theme-scania-blue .drop-active{outline-color:#0b4f8a!important;background:#dcecff!important}
body.theme-scania-blue .drop-active::after{background:#0b4f8a}
body.theme-scania-blue .button-link:hover,
body.theme-scania-blue button:hover,
body.theme-scania-blue .context-menu button:hover,
body.theme-scania-blue .gear-panel a:hover{background:#e8f1fb}
body.theme-scania-blue table th{background:#e9f1f9;color:#041e42}
body.theme-scania-blue .cap-ok-bg{background:#dff3e6!important;border-color:#7ecb96!important;color:#0f6b36!important}
body.theme-scania-blue footer{color:#52657a}
.theme-form{margin-top:10px}
.theme-choice{display:flex!important;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px;margin:10px 0!important;color:var(--text)!important;cursor:pointer}
.theme-choice input{width:auto!important;margin-top:3px}
.theme-choice span{display:block}.theme-choice strong{display:block;font-size:14px}.theme-choice em{display:block;color:var(--muted);font-style:normal;margin-top:2px}
.theme-choice-scania{border-color:#8aa8c8;background:linear-gradient(180deg,#fff,#f3f8fd)}
.theme-preview-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.theme-preview{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.preview-top{padding:8px 10px;font-weight:bold;background:#f8fafc;border-bottom:1px solid var(--line)}
.theme-preview .preview-card{margin:12px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;display:flex;justify-content:space-between;gap:10px}
.theme-preview-default .preview-card{box-shadow:inset 3px 0 0 #1f5eff}
.theme-preview-scania .preview-top{background:#041e42;color:#fff}.theme-preview-scania .preview-card{box-shadow:inset 3px 0 0 #0b4f8a;background:#f9fcff}
@media(max-width:650px){.theme-preview-row{grid-template-columns:1fr}}
.foreman-initial{float:right;display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;border-radius:999px;background:#e7eefc;color:#123c73;font-weight:bold;font-size:10px;margin-left:6px;border:1px solid #b7c1cf}


/* Plan search */
.planner-search{display:flex;gap:5px;align-items:center;flex-wrap:nowrap}
.planner-search-input{width:245px;max-width:28vw;border:1px solid var(--line);border-radius:6px;padding:4px 7px;font-size:12px;background:#fff;color:var(--text)}
.planner-search select{border:1px solid var(--line);border-radius:6px;padding:4px 7px;font-size:12px;background:#fff;color:var(--text)}
.search-results-box{background:#fff;border:1px solid var(--line);border-radius:10px;margin:8px 0;padding:8px;box-shadow:0 1px 2px rgba(16,24,40,.05)}
.search-results-title{margin-bottom:6px}
.search-results-list{display:grid;gap:4px}
.search-result-item{display:grid;grid-template-columns:2fr 90px 90px 100px 120px 80px;gap:8px;align-items:center;color:var(--text);border:1px solid var(--line);border-radius:7px;padding:5px 7px;background:#fbfdff}
.search-result-item:hover{background:#eef4ff}
.search-result-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-results-box + .week .job-card{box-shadow:0 0 0 2px rgba(31,94,255,.18)}
@media(max-width:1100px){
  .planner-search{width:100%;order:3}
  .planner-search-input{width:190px;max-width:none}
  .search-result-item{grid-template-columns:1fr;gap:2px}
}



body.theme-black{
  --bg:#050507;
  --card:#17171a;
  --line:#303036;
  --line-strong:#555660;
  --text:#f5f5f7;
  --muted:#a1a1aa;
  --primary:#0a84ff;
  --danger:#ff453a;
  --ok:#32d74b;
  --warn:#ffd60a;
}
body.theme-black{
  background:#050507;
  color:#f5f5f7;
}
body.theme-black .topbar{
  background:rgba(18,18,20,.92);
  color:#f5f5f7;
  border-bottom-color:#303036;
  box-shadow:0 2px 18px rgba(0,0,0,.45);
  backdrop-filter:blur(14px);
}
body.theme-black .topbar h1,
body.theme-black .topbar .muted,
body.theme-black .topbar a{color:#f5f5f7}
body.theme-black .week,
body.theme-black .unplanned,
body.theme-black .capacity,
body.theme-black .search-results-box,
body.theme-black .modal-box,
body.theme-black .login-card,
body.theme-black .theme-choice,
body.theme-black .theme-preview,
body.theme-black table{
  background:#111114;
  border-color:#303036;
  color:#f5f5f7;
  box-shadow:0 2px 12px rgba(0,0,0,.32);
}
body.theme-black .header-row>div,
body.theme-black .name-col,
body.theme-black table th,
body.theme-black .preview-top{
  background:#1c1c20;
  color:#f5f5f7;
  border-color:#3a3a42;
}
body.theme-black .drop-cell,
body.theme-black .foreman-mechanics .mech-row:nth-child(even) .drop-cell,
body.theme-black .foreman-mechanics .mech-row:nth-child(even) .name-col{
  background:#111114;
  border-color:#303036;
}
body.theme-black .foreman-mechanics .mech-row:hover .name-col,
body.theme-black .foreman-mechanics .mech-row:hover .drop-cell{
  background:#1b1b1f;
}
body.theme-black .foreman-group,
body.theme-black .header-row{
  border-color:#555660;
}
body.theme-black .foreman-vertical{
  background:#1c1c20;
  color:#f5f5f7;
  border-color:#555660;
}
body.theme-black .no-foreman-group .foreman-vertical{background:#111114}
body.theme-black .job-card{
  background:#202025;
  border-color:#4a4a53;
  color:#f5f5f7;
  box-shadow:inset 3px 0 0 #0a84ff;
}
body.theme-black .job-continuation{background:#18181c}
body.theme-black .button-link,
body.theme-black button,
body.theme-black input,
body.theme-black select,
body.theme-black textarea,
body.theme-black .planner-search-input,
body.theme-black .planner-search select{
  background:#1c1c20;
  color:#f5f5f7;
  border-color:#3a3a42;
}
body.theme-black button:hover,
body.theme-black .button-link:hover,
body.theme-black .context-menu button:hover,
body.theme-black .gear-panel a:hover{
  background:#2a2a30;
}
body.theme-black .gear-menu summary{
  background:#1c1c20;
  color:#f5f5f7;
  border-color:#3a3a42;
}
body.theme-black .gear-panel,
body.theme-black .context-menu{
  background:#1c1c20;
  color:#f5f5f7;
  border-color:#3a3a42;
  box-shadow:0 12px 30px rgba(0,0,0,.55);
}
body.theme-black .gear-panel a,
body.theme-black .context-menu button{
  color:#f5f5f7;
  background:#1c1c20;
}
body.theme-black .muted,
body.theme-black .day-head span,
body.theme-black .theme-choice em{
  color:#a1a1aa;
}
body.theme-black .drop-active{
  outline-color:#0a84ff!important;
  background:#10243d!important;
}
body.theme-black .drop-active::after{background:#0a84ff}
body.theme-black .search-result-item{
  background:#17171a;
  border-color:#303036;
  color:#f5f5f7;
}
body.theme-black .search-result-item:hover{background:#202025}
body.theme-black .foreman-initial{
  background:#0a84ff;
  color:#fff;
  border-color:#0a84ff;
}
body.theme-black .okbox{background:#11351d;border-color:#1f7a38;color:#d8ffe0}
body.theme-black .error{background:#3a1111;border-color:#7a2525;color:#ffd6d6}
body.theme-black .cap-ok-bg{background:#11351d!important;border-color:#1f7a38!important;color:#d8ffe0!important}
body.theme-black footer{color:#a1a1aa}
.theme-choice-black{border-color:#3a3a42;background:linear-gradient(180deg,#1c1c20,#101013);color:#f5f5f7!important}
.theme-preview-black{background:#111114;color:#f5f5f7}
.theme-preview-black .preview-top{background:#050507;color:#f5f5f7;border-bottom-color:#303036}
.theme-preview-black .preview-card{background:#202025;color:#f5f5f7;border-color:#4a4a53;box-shadow:inset 3px 0 0 #0a84ff}



/* Fravær-planlægning */
.absence-planner-form .form-row.three-fields{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:10px}
.absence-mode-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.absence-mode-card{display:flex!important;gap:8px;align-items:flex-start;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:10px;cursor:pointer;color:var(--text)!important}
.absence-mode-card input{width:auto!important;margin-top:3px}
.absence-mode-card strong{display:block;font-size:13px}
.absence-mode-card em{display:block;font-style:normal;color:var(--muted);font-size:11px;margin-top:2px}
.absence-panel{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:10px;margin:10px 0}
.absence-panel h3{margin:0 0 8px;font-size:14px}
.weekday-checks{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.weekday-checks label{display:flex!important;align-items:center;gap:5px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 10px;color:var(--text)!important}
.weekday-checks input{width:auto!important}
.static-chip{display:inline-block;position:static;cursor:default;border-radius:999px;padding:3px 8px;font-weight:bold;font-size:11px}
body.theme-black .absence-mode-card,
body.theme-black .absence-panel,
body.theme-black .weekday-checks label{background:#17171a;border-color:#303036;color:#f5f5f7!important}
@media(max-width:950px){
  .absence-planner-form .form-row.three-fields,
  .absence-mode-grid{grid-template-columns:1fr}
}

/* Outlook-agtig fraværsplanlægning */
.absence-outlook-page{max-width:1100px}.outlook-card{padding:14px}.outlook-form{display:grid;gap:12px;max-width:820px}
.outlook-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.outlook-date-box{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:end;background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:12px}.outlook-arrow{font-size:22px;color:var(--muted);padding-bottom:8px}
.outlook-weekdays{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#fbfcff;border:1px solid var(--line);border-radius:12px;padding:10px}.outlook-weekdays label{display:inline-flex!important;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:#fff;color:var(--text)!important;margin:0!important}.outlook-weekdays input{width:auto!important}
.outlook-help{display:grid;gap:3px;background:#eef4ff;border:1px solid #c7d7ff;border-radius:12px;padding:10px;color:var(--text)}.outlook-help span{font-size:12px}.static-chip{display:inline-block;position:static;cursor:default;border-radius:999px;padding:3px 8px;font-weight:bold;font-size:11px}
body.theme-black .outlook-date-box,body.theme-black .outlook-weekdays{background:#17171a;border-color:#303036}body.theme-black .outlook-weekdays label{background:#1c1c20;border-color:#3a3a42;color:#f5f5f7!important}body.theme-black .outlook-help{background:#10243d;border-color:#1f4f88;color:#f5f5f7}
@media(max-width:750px){.outlook-row,.outlook-date-box{grid-template-columns:1fr}.outlook-arrow{display:none}}


/* Fravær - professionelt kalenderlayout */
.absence-outlook-page{
  max-width:1180px;
  margin:0 auto;
  padding:18px 18px 28px;
}
.absence-hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin:8px 0 14px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(135deg,#ffffff,#f3f7ff);
  box-shadow:0 8px 24px rgba(16,24,40,.08);
}
.absence-hero h2{
  margin:0 0 4px;
  font-size:22px;
  letter-spacing:-.2px;
}
.absence-hero p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}
.absence-hero-badge{
  white-space:nowrap;
  border:1px solid #c7d7ff;
  background:#eef4ff;
  color:#174ea6;
  border-radius:999px;
  padding:8px 12px;
  font-weight:bold;
}
.absence-outlook-page .outlook-card{
  max-width:900px;
  margin:0 auto 14px;
  padding:0;
  overflow:hidden;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(16,24,40,.10);
}
.outlook-card-head{
  padding:16px 20px;
  border-bottom:1px solid var(--line);
  background:#fbfcff;
}
.outlook-card-head h2{
  margin:0 0 3px;
  font-size:18px;
}
.absence-outlook-page .outlook-form{
  max-width:none;
  padding:18px 20px 20px;
  gap:14px;
}
.outlook-section-title{
  font-weight:bold;
  font-size:12px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-top:2px;
}
.absence-outlook-page label{
  font-weight:bold;
  color:var(--text);
}
.absence-outlook-page input,
.absence-outlook-page select{
  width:100%;
  min-height:38px;
  margin-top:5px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#fff;
  padding:8px 10px;
  font-size:13px;
}
.absence-outlook-page .outlook-row{
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.absence-outlook-page .outlook-date-box{
  border-radius:16px;
  background:#f8fafc;
  padding:16px;
  gap:14px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);
}
.absence-outlook-page .outlook-arrow{
  align-self:center;
  padding:0;
  font-size:24px;
}
.absence-outlook-page .outlook-weekdays{
  border-radius:16px;
  padding:12px;
  background:#fbfcff;
}
.absence-outlook-page .outlook-weekdays label{
  font-weight:bold;
  min-width:62px;
  justify-content:center;
  transition:.15s ease;
}
.absence-outlook-page .outlook-weekdays label:hover{
  background:#eef4ff;
  border-color:#aac2ff;
}
.absence-outlook-page .outlook-help{
  border-radius:16px;
  padding:12px 14px;
  background:#f6f9ff;
  border-color:#d7e3ff;
}
.absence-outlook-page .outlook-help strong{
  margin-bottom:2px;
}
.absence-outlook-page .outlook-actions{
  justify-content:flex-end;
  padding-top:4px;
}
.absence-outlook-page .outlook-actions button{
  min-height:38px;
  padding:8px 18px;
  border-radius:10px;
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
  font-weight:bold;
}
.absence-outlook-page .outlook-actions button:hover{
  filter:brightness(.96);
}
.absence-outlook-page > .week:not(.outlook-card){
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
  border-radius:16px;
  padding:12px;
}
body.theme-scania-blue .absence-hero{
  background:linear-gradient(135deg,#ffffff,#edf5fc);
}
body.theme-scania-blue .outlook-card-head{
  background:#f3f8fd;
}
body.theme-black .absence-hero{
  background:linear-gradient(135deg,#17171a,#101013);
  border-color:#303036;
  box-shadow:0 10px 30px rgba(0,0,0,.45);
}
body.theme-black .absence-hero-badge{
  background:#10243d;
  border-color:#1f4f88;
  color:#f5f5f7;
}
body.theme-black .outlook-card-head{
  background:#17171a;
  border-color:#303036;
}
body.theme-black .absence-outlook-page input,
body.theme-black .absence-outlook-page select{
  background:#1c1c20;
  color:#f5f5f7;
  border-color:#3a3a42;
}
body.theme-black .absence-outlook-page .outlook-date-box,
body.theme-black .absence-outlook-page .outlook-weekdays,
body.theme-black .absence-outlook-page .outlook-help{
  background:#17171a;
  border-color:#303036;
}
body.theme-black .absence-outlook-page .outlook-weekdays label:hover{
  background:#202025;
  border-color:#4a4a53;
}
@media(max-width:760px){
  .absence-outlook-page{padding:10px}
  .absence-hero{display:block;padding:14px}
  .absence-hero-badge{display:inline-block;margin-top:10px}
  .absence-outlook-page .outlook-row,
  .absence-outlook-page .outlook-date-box{grid-template-columns:1fr}
}


/* Kompakt søgning i topbar */
.planner-search-compact{
  gap:4px;
}
.planner-search-box{
  position:relative;
  display:flex;
  align-items:center;
}
.planner-search-compact .planner-search-input{
  width:265px;
  padding-right:34px;
}
.planner-search-submit{
  position:absolute;
  right:3px;
  top:50%;
  transform:translateY(-50%);
  width:27px;
  height:27px;
  min-height:0;
  padding:0;
  border:0;
  border-left:1px solid var(--line);
  border-radius:0 6px 6px 0;
  background:transparent;
  color:var(--primary);
  font-size:13px;
  line-height:1;
}
.planner-search-submit:hover{
  background:#eef4ff;
}
.planner-search-clear{
  padding-left:6px;
  padding-right:6px;
}
body.theme-black .planner-search-submit{
  border-left-color:#3a3a42;
  color:#0a84ff;
}
body.theme-black .planner-search-submit:hover{
  background:#2a2a30;
}
@media(max-width:1100px){
  .planner-search-compact .planner-search-input{width:210px}
}


/* Lager pluk-status på jobkort */
.job-card.has-pick-status{position:relative;overflow:hidden}
.pick-status-band{position:absolute;right:0;top:0;bottom:0;width:22%;z-index:0;border-left:1px solid rgba(0,0,0,.12);opacity:.9}
.job-card.pick-picked .pick-status-band{background:#22c55e}
.job-card.pick-to_pick .pick-status-band{background:#fde047}
.job-card.pick-ordered .pick-status-band{background:#fb923c}
.job-card.has-pick-status .job-line{position:relative;z-index:1}
.job-card.has-pick-status .foreman-initial{position:relative;z-index:2;background:rgba(255,255,255,.72)}
.pick-legend{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.pick-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-weight:bold;border:1px solid rgba(0,0,0,.12)}
.pick-picked{background:#22c55e;color:#063b16}.pick-to_pick{background:#fde047;color:#4a3500}.pick-ordered{background:#fb923c;color:#4a1d00}
.pick-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.pick-stats div{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:10px;text-align:center}
.pick-stats strong{display:block;font-size:18px}.pick-stats span{display:block;color:var(--muted);font-size:11px}
.pick-upload-form input[type=file]{padding:8px;background:#fff;border:1px dashed var(--line)}
body.theme-black .job-card.has-pick-status .foreman-initial{background:rgba(0,0,0,.55);color:#fff}
body.theme-black .pick-stats div{background:#17171a;border-color:#303036}
body.theme-black .pick-upload-form input[type=file]{background:#1c1c20;border-color:#3a3a42;color:#f5f5f7}
@media(max-width:800px){.pick-stats{grid-template-columns:1fr 1fr}}


/* Afdelingsvælger / ressourceadministration */
.department-selector{display:flex;align-items:center;gap:6px;margin:0 8px}
.department-selector label{display:flex;align-items:center;gap:6px;font-weight:bold;color:var(--muted)}
.department-selector select{min-height:32px;border:1px solid var(--line);border-radius:8px;padding:4px 8px;background:var(--card);color:var(--text)}
.checkline{display:flex!important;align-items:center;gap:8px}
.checkline input{width:auto!important}
body.theme-black .department-selector select{background:#1c1c20;color:#f5f5f7;border-color:#3a3a42}


/* Afdelingsvælger flyttet væk fra topheader */
.department-panel{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  margin-bottom:10px;
}
.department-panel > div:first-child{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.department-panel .department-selector{
  margin:0;
}
@media(max-width:760px){
  .department-panel{display:block}
  .department-panel .department-selector{margin-top:8px}
}


/* Ens søgefiltre på log/slettede jobs */
.log-filter-form{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
  align-items:end;
}
.log-filter-form label{font-weight:bold}
.log-filter-form input,.log-filter-form select{
  width:100%;
  min-height:34px;
  border:1px solid var(--line);
  border-radius:8px;
  padding:6px 8px;
  background:var(--card);
  color:var(--text);
}
.log-filter-actions{display:flex;gap:8px;align-items:center}
body.theme-black .log-filter-form input,
body.theme-black .log-filter-form select{
  background:#1c1c20;
  color:#f5f5f7;
  border-color:#3a3a42;
}


/* No-reload fjernelse */
.job-card.removing,
.timeoff-chip.removing{
  opacity:.25;
  transform:scale(.96);
  transition:opacity .12s ease, transform .12s ease;
}
