
/* Plattformstyrt vedlikeholdsmodus. */
.app-tab.module-paused{position:relative;opacity:.6;cursor:not-allowed}
.app-tab.module-paused::after{content:"PAUSE";position:absolute;right:5px;top:5px;padding:2px 4px;border-radius:4px;background:#fff0d6;color:#8a5a00;font-size:var(--bs-text-6);font-weight:900;letter-spacing:.05em}
.maintenance-settings-card{border:1px solid #e7bd72;background:#fffaf0}
.maintenance-settings-card .settings-icon{background:#b56c0b}
.maintenance-module-row{grid-template-columns:28px minmax(0,1fr) 42px}
.maintenance-module-row.paused{border-color:#e7bd72;background:#fff4df}
.maintenance-module-row.paused .module-grip{background:#b56c0b;color:#fff}
.maintenance-module-row .switch input:checked+span{background:#d84842}

/* Søkbare flyplassvalg og individuelle reisedager. */
.shift-worker-form{grid-template-columns:minmax(180px,1.1fr) minmax(140px,.7fr) minmax(220px,1.1fr) minmax(190px,.9fr) minmax(190px,.9fr) auto;align-items:end}
.shift-hired-worker-form{grid-template-columns:repeat(3,minmax(190px,1fr));align-items:end}
.shift-project-form{grid-template-columns:minmax(180px,1.1fr) 130px minmax(160px,.8fr) minmax(230px,1.1fr) minmax(210px,1fr) auto;align-items:end}
.shift-worker-form label,.shift-hired-worker-form label{display:grid;gap:4px}
.shift-worker-form label>span,.shift-hired-worker-form label>span{color:#687a83;font-size:var(--bs-text-7-5);font-weight:850;text-transform:uppercase}
@media(max-width:1250px){.shift-worker-form,.shift-hired-worker-form,.shift-project-form{grid-template-columns:1fr 1fr 1fr}.shift-worker-form button,.shift-hired-worker-form button,.shift-project-form button{width:max-content}}
@media(max-width:750px){.shift-worker-form,.shift-hired-worker-form,.shift-project-form{grid-template-columns:1fr}.shift-worker-form button,.shift-hired-worker-form button,.shift-project-form button{width:100%}}

/* Bestilte flyreiser i arbeidsplanen. */
.shift-booked-travel-control{display:flex;align-items:center;gap:14px;margin-left:auto}.shift-booked-travel-control>label{display:flex;grid-template-columns:none;align-items:center;gap:9px;cursor:pointer}.shift-booked-travel-control input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.shift-switch-track{position:relative;display:block!important;width:38px;height:22px;flex:none;border-radius:999px;background:#bec9ce;transition:background .16s ease}.shift-switch-track i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #17354840;transition:transform .16s ease}.shift-booked-travel-control input:checked+.shift-switch-track{background:#2776a5}.shift-booked-travel-control input:checked+.shift-switch-track i{transform:translateX(16px)}.shift-booked-travel-control input:focus-visible+.shift-switch-track{outline:3px solid #2776a544;outline-offset:2px}.shift-booked-travel-copy{display:grid!important;gap:2px}.shift-booked-travel-copy strong{color:var(--navy);font-size:var(--bs-text-9-5)}.shift-booked-travel-copy small{color:var(--muted);font-size:var(--bs-text-7-5)}.shift-booked-travel-legend{display:flex;align-items:center;gap:5px;padding-left:12px;border-left:1px solid #d7e0e3;color:#5b707b;font-size:var(--bs-text-8);white-space:nowrap}.shift-booked-travel-legend b{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#2776a5;color:#fff;font-size:var(--bs-text-11)}.shift-booked-travel-legend b.planned{background:#c76808}.shift-booked-travel-legend span{display:inline-flex;align-items:center;gap:5px}.shift-grid td.travel-planned{position:relative;background:#fff1d6!important;box-shadow:inset 0 0 0 2px #d97706}.shift-grid td.travel-planned>button{position:relative}.shift-grid td.travel-planned>button.assigned{box-shadow:inset 0 0 0 2px #b85f05}.shift-grid td.travel-planned.conflict{box-shadow:inset 0 0 0 2px #d84842,inset 0 0 0 4px #d97706}
.shift-grid td.travel-booked{position:relative;background:#dcefff!important;box-shadow:inset 0 0 0 2px #2776a5}.shift-grid td.travel-booked>button{position:relative}.shift-grid td.travel-booked>button.assigned{box-shadow:inset 0 0 0 2px #24678f}.shift-grid td.travel-booked.conflict{box-shadow:inset 0 0 0 2px #d84842,inset 0 0 0 4px #2776a5}.shift-grid td>button .shift-booked-travel-marker,.shift-grid td>button.assigned .shift-booked-travel-marker{position:absolute;top:2px;right:2px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;margin:0;border:1px solid #fff;border-radius:50%;background:#175f8b;color:#fff;font-size:var(--bs-text-9);line-height:1;box-shadow:0 1px 3px #17354842;pointer-events:none}.shift-grid td>button .shift-booked-travel-marker.planned,.shift-grid td>button.assigned .shift-booked-travel-marker.planned{background:#c76808}.shift-booked-travel-marker.booked{background:#175f8b}.shift-booked-travel-marker b{font-size:var(--bs-text-10)}.shift-booked-travel-marker em{position:absolute;top:-4px;right:-5px;display:grid;place-items:center;width:11px;height:11px;border-radius:50%;background:var(--red);color:#fff;font-size:var(--bs-text-6);font-style:normal;font-weight:900}
@media(max-width:1050px){.shift-booked-travel-control{width:100%;margin-left:0;justify-content:space-between}}
@media(max-width:620px){.shift-booked-travel-control{align-items:flex-start;flex-direction:column;gap:8px}.shift-booked-travel-legend{padding-left:0;border-left:0}}

/* Vedleggsvisning, dagbokbilder, trykkprøver og presise modulikoner */
.nav-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-tab.active .nav-icon svg{stroke:#fff}
.order-form-grid textarea{font-size:var(--bs-text-14);line-height:1.5}
.order-form-grid .status-control,.rebar-form-grid .status-control{width:auto}
.order-form-grid .status-control select,.rebar-form-grid .status-control select{width:100%}
.attachment-item{grid-template-columns:minmax(0,1fr) 28px}.attachment-open{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center;min-width:0;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.attachment-open:hover .attachment-info strong{color:var(--red);text-decoration:underline}.attachment-thumb{width:48px;height:48px}.attachment-info strong{display:block;color:var(--ink);font-size:var(--bs-text-12);font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-info span{font-size:var(--bs-text-10)}.attachment-preview-dialog{width:min(1120px,94vw);height:min(850px,90dvh);max-height:90dvh}.attachment-preview-dialog[open]{display:grid;grid-template-rows:76px minmax(0,1fr) 62px}.attachment-preview-dialog .dialog-head{height:76px}.attachment-preview-body{height:auto;min-height:0;background:#e8edef;display:grid;place-items:center;overflow:auto}.attachment-preview-body:has(>img){overflow:hidden}.attachment-preview-body>img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;image-orientation:from-image}.attachment-preview-body>iframe{width:100%;height:100%;border:0;background:#fff}.attachment-preview-footer{height:62px;display:flex;align-items:center;justify-content:flex-end;padding:0 20px;border-top:1px solid var(--line);background:#fff}.attachment-preview-footer a{display:inline-flex;align-items:center;height:38px;padding:0 14px;border-radius:7px;background:var(--navy);color:#fff;font-size:var(--bs-text-12);font-weight:800;text-decoration:none}.attachment-preview-unsupported{max-width:480px;padding:34px;text-align:center;color:#52656f}.attachment-preview-unsupported>span{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 17px;border-radius:14px;background:#fff;color:var(--navy);font-size:var(--bs-text-14);font-weight:900}.attachment-preview-unsupported strong{display:block;color:var(--ink);font-size:var(--bs-text-16)}.attachment-preview-unsupported p{font-size:var(--bs-text-12);line-height:1.55}
.diary-photos{padding:20px 25px;border-top:1px solid var(--line);background:#fbfcfc}.diary-photos .section-head{margin-bottom:12px}.diary-photo-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.diary-photo-card{position:relative;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.diary-photo-card>button:first-child{display:block;width:100%;padding:0;border:0;background:#fff;text-align:left;cursor:pointer}.diary-photo-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#edf1f2}.diary-photo-card span{display:block;padding:9px 10px;color:var(--ink);font-size:var(--bs-text-11);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diary-photo-remove{position:absolute;top:7px;right:7px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(15,34,45,.84);color:#fff;font-size:var(--bs-text-17)}.diary-photo-card:hover{border-color:#aebcc3;box-shadow:0 5px 16px rgba(20,44,58,.1)}
.pressure-toggle-card{margin-top:18px;padding:0;overflow:hidden}.pressure-toggle{display:flex;flex-direction:row;align-items:center;gap:13px;padding:18px 21px;cursor:pointer}.pressure-toggle input{width:19px;height:19px;accent-color:var(--red);flex:none}.pressure-toggle span,.pressure-toggle strong,.pressure-toggle small{display:block}.pressure-toggle strong{font-size:var(--bs-text-14);color:var(--ink)}.pressure-toggle small{margin-top:4px;color:var(--muted);font-size:var(--bs-text-11);font-weight:500}.pressure-panel{margin-top:14px;padding:0;overflow:hidden}.pressure-panel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:22px 24px}.pressure-panel-head h2{font-size:var(--bs-text-21);margin:0 0 5px}.pressure-panel-head p:last-child{max-width:780px;margin:0;color:var(--muted);font-size:var(--bs-text-12);line-height:1.5}.pressure-criteria{display:flex;flex-wrap:wrap;gap:8px;padding:13px 24px;border-top:1px solid var(--line);background:#f7f9fa}.pressure-criteria>span{padding:7px 10px;border:1px solid #d8e1e4;border-radius:999px;background:#fff;color:#536772;font-size:var(--bs-text-10)}.pressure-table-wrap{overflow:auto;border-top:1px solid var(--line);scrollbar-color:#aebdc4 #eef2f3;scrollbar-width:thin}.pressure-table{width:max-content;min-width:2550px;border-collapse:collapse}.pressure-table th{height:52px;padding:8px 9px;white-space:nowrap;text-align:center;line-height:1.4}.pressure-table td{height:48px;padding:0;border-right:1px solid #e2e8ea;vertical-align:middle;text-align:center}.pressure-table input{width:115px;height:47px;padding:0 8px;border:0;border-radius:0;background:transparent;text-align:center;font-size:var(--bs-text-12)}.pressure-table input:focus{background:#fff;box-shadow:inset 0 0 0 2px #6f8996}.pressure-table .pressure-recipe{width:110px}.pressure-table .pressure-construction{width:210px;text-align:left}.pressure-table .pressure-building{min-width:140px;padding:0 10px;text-align:left;font-size:var(--bs-text-12);font-weight:700}.pressure-table .pressure-comment{width:210px;text-align:left}.pressure-result{min-width:75px;font-weight:800;color:var(--navy)}.pressure-status{display:inline-flex;justify-content:center;min-width:66px;padding:6px 8px;border-radius:999px;font-size:var(--bs-text-9);font-weight:850;white-space:nowrap}.pressure-status.ok{background:var(--green-bg);color:var(--green)}.pressure-status.failed{background:var(--danger-bg);color:var(--danger)}.pressure-status.missing{background:#eef2f3;color:#74848c}.pressure-note{margin:0;padding:15px 24px;border-top:1px solid var(--line);background:#f8fafb;color:#60737d;font-size:var(--bs-text-10-5);line-height:1.55}.pressure-note sub,.pressure-criteria sub,.pressure-table sub{font-size:var(--bs-relative-text-0-75-em)}.pressure-panel .empty-pours{padding:36px 20px}
@media(max-width:900px){.diary-photo-list{grid-template-columns:repeat(2,minmax(0,1fr))}.pressure-panel-head{align-items:stretch;flex-direction:column}.attachment-preview-dialog{width:96vw}}
@media(max-width:560px){.diary-photo-list{grid-template-columns:1fr}.attachment-preview-body{height:calc(90vh - 148px)}.pressure-panel-head .pour-heading-actions{flex-direction:column}.pressure-panel-head .pour-heading-actions button{width:100%}}

/* Prosjekt-, modul-, gruppe- og malinnstillinger */
.project-context select{grid-column:1;border:0;background:transparent;color:#eaf0f2;font-size:var(--bs-text-12);font-weight:800;height:20px;padding:0 24px 0 0;outline:0;appearance:none;cursor:pointer}.project-context select option{color:var(--ink);background:#fff}.settings-tab{margin-left:auto}.settings-heading{align-items:center}.settings-role{padding:7px 11px;border-radius:999px;background:#e7f4ed;color:#176548;font-size:var(--bs-text-10);font-weight:850;text-transform:uppercase;letter-spacing:.06em}.settings-notice{margin-bottom:18px;padding:16px 18px;border:1px solid #e9c587;border-left:4px solid var(--amber);border-radius:8px;background:#fff9eb}.settings-notice strong{font-size:var(--bs-text-13)}.settings-notice p{margin:4px 0 0;color:#75633e;font-size:var(--bs-text-11)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-card{padding:22px}.settings-wide{grid-column:1/-1}.settings-card-head{display:flex;gap:13px;align-items:flex-start;padding-bottom:16px;margin-bottom:17px;border-bottom:1px solid var(--line)}.settings-card-head h2{margin:0 0 4px;font-size:var(--bs-text-16)}.settings-card-head p{margin:0;color:var(--muted);font-size:var(--bs-text-11);line-height:1.45}.settings-icon{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:8px;background:var(--navy);color:#fff;font-size:var(--bs-text-12);font-weight:900}.settings-card select{width:100%;height:42px;padding:0 10px;border:1px solid #cfd7db;border-radius:6px;background:#fff;color:var(--ink)}.current-project-summary{display:grid;gap:4px;margin-top:12px;padding:13px 14px;border-radius:7px;background:#f1f5f6}.current-project-summary strong{font-size:var(--bs-text-13)}.current-project-summary span,.current-project-summary small{color:var(--muted);font-size:var(--bs-text-10)}.settings-details{margin-top:15px;border-top:1px solid var(--line);padding-top:14px}.settings-details summary{color:var(--red);font-size:var(--bs-text-11);font-weight:800;cursor:pointer}.settings-form{display:grid;grid-template-columns:1fr 150px;gap:11px;margin-top:14px}.settings-form label:first-child,.settings-form label:nth-child(3),.settings-form button{grid-column:1/-1}.settings-form button{justify-self:start;height:39px;padding:0 15px}.settings-module-list{display:grid;gap:7px}.settings-module-row{display:grid;grid-template-columns:28px minmax(0,1fr) 68px 42px;gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:#fafcfc}.module-grip{display:grid;place-items:center;width:25px;height:25px;border-radius:6px;background:#e8eef0;color:#60727b;font-size:var(--bs-text-10);font-weight:850}.settings-module-row strong,.settings-module-row small{display:block}.settings-module-row strong{font-size:var(--bs-text-12)}.settings-module-row small{margin-top:3px;color:var(--muted);font-size:var(--bs-text-9)}.module-order{display:flex;gap:4px}.module-order button{width:30px;height:30px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#52656f}.module-order button:disabled{opacity:.3}.switch{display:inline-flex!important;align-items:center}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch span{position:relative;width:38px;height:22px;border-radius:999px;background:#bcc8cd;transition:.2s}.switch span::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:.2s}.switch input:checked+span{background:var(--green)}.switch input:checked+span::after{transform:translateX(16px)}.settings-footnote{margin:12px 0 0;color:var(--muted);font-size:var(--bs-text-9-5)}.group-create-row,.settings-invite-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.3fr) auto;gap:9px;margin-bottom:16px}.group-create-row input,.settings-invite-row input,.settings-invite-row select{height:40px}.group-create-row button,.settings-invite-row button{height:40px;padding:0 14px}.settings-invite-row{grid-template-columns:minmax(200px,1.2fr) 150px 190px auto}.settings-group-list{display:grid;gap:12px}.settings-group-card{border:1px solid var(--line);border-radius:9px;overflow:hidden}.settings-group-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:14px 16px;background:#f6f9f9;border-bottom:1px solid var(--line)}.settings-group-card h3{margin:0 0 4px;font-size:var(--bs-text-13)}.settings-group-card header p{margin:0;color:var(--muted);font-size:var(--bs-text-10)}.group-delete{width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:var(--danger);font-size:var(--bs-text-18)}.group-delete:hover{background:var(--danger-bg)}.group-access-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:0}.group-access-grid fieldset{min-width:0;margin:0;padding:15px 16px;border:0}.group-access-grid fieldset+fieldset{border-left:1px solid var(--line)}.group-access-grid legend{padding:0;font-size:var(--bs-text-10);font-weight:850;color:#51636d}.group-checks{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.group-check{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;padding:7px 9px;border:1px solid #d6dfe2;border-radius:999px;background:#fff}.group-check:has(input:checked){border-color:#9bc9b5;background:#edf8f3}.group-check input{width:auto;height:auto;accent-color:var(--green)}.group-check span{font-size:var(--bs-text-10);font-weight:750}.group-check small{font-size:var(--bs-text-8);color:var(--muted)}.member-check{border-radius:7px}.member-check.automatic{opacity:.7}.settings-user-table{display:grid;border:1px solid var(--line);border-radius:8px;overflow:hidden}.settings-user-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.7fr);gap:15px;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line)}.settings-user-row:last-child{border-bottom:0}.settings-user-row>div strong,.settings-user-row>div small{display:block}.settings-user-row strong{font-size:var(--bs-text-11)}.settings-user-row small,.settings-user-row>span{margin-top:3px;color:var(--muted);font-size:var(--bs-text-9-5)}.settings-user-row.pending{background:#fff9eb}.template-settings-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:24px}.template-help{padding:18px;border-radius:8px;background:#f1f5f6}.template-help h3{margin:0 0 10px;font-size:var(--bs-text-13)}.template-help ol{margin:0;padding-left:18px;color:#53656f;font-size:var(--bs-text-10-5);line-height:1.65}.template-example{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.template-example b{width:100%;font-size:var(--bs-text-9);text-transform:uppercase;color:#64757e}.template-example span{padding:5px 7px;border-radius:5px;background:#fff;color:#344b57;font-size:var(--bs-text-9)}.settings-empty{margin:0;color:var(--muted);font-size:var(--bs-text-11)}
.company-license-list{display:grid;gap:8px}.company-license-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid var(--line);border-radius:8px;background:#fafcfc}.company-license-row.active{border-color:#9bc9b5;background:#edf8f3}.company-license-row.suspended{border-color:#e1c48e;background:#fffaf0}.company-license-row strong,.company-license-row small{display:block}.company-license-row strong{font-size:var(--bs-text-12)}.company-license-row small{margin-top:3px;color:var(--muted);font-size:var(--bs-text-9-5)}.company-license-row .company-license-owner{margin-top:6px;color:#344f5b;font-weight:750}.company-license-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.company-license-meta>span{padding:5px 7px;border-radius:999px;background:#e8eef0;color:#536872;font-size:var(--bs-text-8);font-weight:850;text-transform:uppercase}.company-license-meta>.company-license-status{background:#e1f2e8;color:#176548}.company-license-meta>.company-license-status.suspended{background:#fff0cf;color:#8b5c00}.company-license-actions{display:flex;gap:5px}.company-license-actions button{height:29px;padding:0 9px;border:1px solid #cbd6da;border-radius:6px;background:#fff;color:#28414d;font-size:var(--bs-text-9);font-weight:800;cursor:pointer}.company-license-actions button:hover{background:#f1f5f6}.company-license-actions .company-license-delete{border-color:#efb1ad;color:var(--danger)}.company-license-actions .company-license-delete:hover{background:var(--danger-bg)}.company-license-access{margin:11px 0 0;color:var(--muted);font-size:var(--bs-text-9-5)}.project-settings-form label:nth-child(2),.project-settings-form label:nth-child(4){grid-column:1/-1}
@media(max-width:950px){.settings-grid{grid-template-columns:1fr}.settings-wide{grid-column:auto}.group-access-grid,.template-settings-layout{grid-template-columns:1fr}.group-access-grid fieldset+fieldset{border-left:0;border-top:1px solid var(--line)}.settings-invite-row{grid-template-columns:1fr 1fr}.settings-invite-row input{grid-column:1/-1}.settings-invite-row button{grid-column:1/-1}.settings-tab{margin-left:0}}
@media(max-width:600px){.group-create-row,.settings-form,.settings-invite-row{grid-template-columns:1fr}.group-create-row button,.settings-form>*{grid-column:auto!important}.settings-module-row{grid-template-columns:28px minmax(0,1fr) 42px}.module-order{display:none}.settings-card{padding:16px}.settings-user-row{grid-template-columns:1fr}}
.settings-user-row{grid-template-columns:minmax(0,1fr) 145px minmax(150px,.7fr) 32px;gap:11px}.settings-user-row select{height:34px;font-size:var(--bs-text-10)}.settings-user-remove,.settings-invite-revoke{width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:var(--danger);font-size:var(--bs-text-17)}.settings-user-remove:hover,.settings-invite-revoke:hover{background:var(--danger-bg)}.settings-user-row.pending{grid-template-columns:minmax(0,1fr) minmax(150px,.7fr) 32px}
@media(max-width:700px){.settings-user-row,.settings-user-row.pending{grid-template-columns:1fr}.settings-user-row>button{justify-self:end}}

/* Bedriftsbemanning og skiftplaner */
.shift-grid td.saving{position:relative;background:#edf3f5!important}.shift-grid td.saving::after{content:"";position:absolute;inset:0;margin:auto;width:13px;height:13px;border:2px solid #9aabb3;border-top-color:var(--navy);border-radius:50%;pointer-events:none;animation:shift-cell-saving .7s linear infinite}.shift-grid td>button.saving{opacity:.35;cursor:progress}.shift-project-head-actions button:disabled{cursor:not-allowed;opacity:.55}@keyframes shift-cell-saving{to{transform:rotate(360deg)}}
.shift-heading{align-items:center}.shift-heading-status{display:flex;align-items:center;gap:8px}.shift-heading-status>span{padding:7px 10px;border-radius:999px;font-size:var(--bs-text-9);font-weight:850;text-transform:uppercase;letter-spacing:.05em}.shift-heading-status .working{background:#fff3dc;color:#865c14}.shift-heading-status .official{background:var(--green-bg);color:var(--green)}.shift-conflict-count{background:var(--danger-bg)!important;color:var(--danger)!important}.shift-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:14px 16px;margin-bottom:14px}.shift-period-controls,.shift-print-controls{display:flex;align-items:flex-end;gap:8px}.shift-toolbar label{display:grid;gap:5px}.shift-toolbar label>span{color:#677881;font-size:var(--bs-text-8);font-weight:850;text-transform:uppercase;letter-spacing:.05em}.shift-toolbar input,.shift-toolbar select{height:35px;border:1px solid #ccd6da;border-radius:6px;background:#fff;padding:0 9px;color:var(--ink);font-size:var(--bs-text-10-5)}.shift-period-controls>button{width:35px;height:35px;border:1px solid #cbd5d9;border-radius:6px;background:#fff;color:var(--navy);font-size:var(--bs-text-16)}.shift-worker-search input{width:210px}.shift-view-tabs{display:flex;gap:4px;margin-bottom:14px;padding:4px;border-radius:8px;background:#e8edef;width:max-content}.shift-view-tabs button{height:34px;padding:0 13px;border:0;border-radius:6px;background:transparent;color:#61727b;font-size:var(--bs-text-10);font-weight:850}.shift-view-tabs button.active{background:#fff;color:var(--navy);box-shadow:0 2px 8px #17354218}.shift-panel{display:none}.shift-panel.active{display:block}.shift-loading,.shift-error,.shift-empty{padding:32px;text-align:center;color:var(--muted)}.shift-error strong,.shift-empty strong{display:block;color:var(--ink);font-size:var(--bs-text-14)}.shift-error p,.shift-empty p{margin:6px 0 0;font-size:var(--bs-text-11)}.shift-projects{display:grid;gap:17px}.shift-project-card{padding:0;overflow:hidden}.shift-project-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;border-bottom:1px solid var(--line);background:#f8fafb}.shift-project-head p{margin:0 0 3px;color:var(--red);font-size:var(--bs-text-8);font-weight:900;letter-spacing:.08em}.shift-project-head h2{margin:0;font-size:var(--bs-text-16)}.shift-project-head>div>span{display:block;margin-top:4px;color:var(--muted);font-size:var(--bs-text-9)}.shift-grid-wrap{overflow:auto;scrollbar-color:#aebdc4 #eef2f3;scrollbar-width:thin}.shift-grid{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.shift-grid th,.shift-grid td{border-right:1px solid #d7e0e3;border-bottom:1px solid #d7e0e3}.shift-grid thead th{position:sticky;top:0;z-index:3;min-width:43px;height:52px;background:#e8edef;text-align:center}.shift-grid thead th span,.shift-grid thead th small,.shift-grid thead th em{display:block}.shift-grid thead th span{font-size:var(--bs-text-8);text-transform:uppercase}.shift-grid thead th small{margin-top:3px;font-size:var(--bs-text-8);font-weight:550}.shift-grid thead th em{position:absolute;top:2px;right:3px;color:#8a6b2f;font-size:var(--bs-text-7);font-style:normal}.shift-grid .shift-worker-name{position:sticky;left:0;z-index:2;width:230px;min-width:230px;max-width:230px;background:#fff;text-align:left}.shift-grid thead .shift-worker-name{z-index:4;padding-left:13px;background:#dce5e8;font-size:var(--bs-text-9);text-transform:uppercase}.shift-grid tbody .shift-worker-name{display:flex;align-items:center;gap:8px;height:39px;padding:0 9px}.shift-worker-name strong,.shift-worker-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift-worker-name strong{font-size:var(--bs-text-9-5)}.shift-worker-name small{margin-top:2px;color:var(--muted);font-size:var(--bs-text-7-5)}.shift-number{display:grid!important;place-items:center;width:22px;height:22px;flex:none;border-radius:5px;background:#e8edef;color:#405866;font-size:var(--bs-text-9);font-weight:900}.shift-grid td{width:43px;min-width:43px;height:39px;padding:0;background:#fff}.shift-grid .weekend{background:#f5f6f6}.shift-grid td>button{display:grid;place-items:center;width:100%;height:38px;border:0;background:transparent;color:#fff;cursor:pointer}.shift-grid td>button:hover{background:#e7f2e1}.shift-grid td>button.assigned,.shift-grid td.official-assigned{background:#97cf5c!important;color:#173b24;font-weight:900}.shift-grid td>button.assigned span,.shift-grid td.official-assigned span{display:grid;place-items:center;margin:auto;width:21px;height:21px;border-radius:50%;background:#fff9;font-size:var(--bs-text-8)}.shift-grid td.conflict{background:#f9d9d6!important;box-shadow:inset 0 0 0 2px #d84842}.shift-grid td.conflict>button.assigned{background:#e5655e!important}.shift-conflict-banner{display:flex;margin-bottom:14px;padding:14px 16px;border:1px solid #e9aaa5;border-left:4px solid var(--danger);border-radius:8px;background:#fff2f1}.shift-conflict-banner strong{color:#8d2528;font-size:var(--bs-text-11)}.shift-conflict-banner p{margin:5px 0 0;color:#77504e;font-size:var(--bs-text-9-5);line-height:1.55}.shift-official-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:15px}.shift-publication-sidebar{padding:15px;align-self:start;position:sticky;top:78px}.shift-publication-sidebar .section-head{margin-bottom:10px}.shift-publication-item{display:block;width:100%;padding:10px;border:0;border-radius:7px;background:transparent;text-align:left;color:var(--ink)}.shift-publication-item:hover{background:#f4f7f8}.shift-publication-item.active{background:#eaf0f2;box-shadow:inset 3px 0 var(--red)}.shift-publication-item strong,.shift-publication-item span,.shift-publication-item small{display:block}.shift-publication-item strong{font-size:var(--bs-text-10-5)}.shift-publication-item span{margin-top:3px;color:#536873;font-size:var(--bs-text-8-5)}.shift-publication-item small{margin-top:2px;color:var(--muted);font-size:var(--bs-text-8)}.shift-official-preview{padding:0;overflow:hidden}.shift-official-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 19px;border-bottom:1px solid var(--line)}.shift-official-head p{margin:0 0 4px;color:var(--red);font-size:var(--bs-text-8);font-weight:900;letter-spacing:.08em}.shift-official-head h2{margin:0;font-size:var(--bs-text-17)}.shift-official-head>div>span{display:block;margin-top:4px;color:var(--muted);font-size:var(--bs-text-9)}.shift-official-actions{display:flex;gap:7px}.shift-official-foot{padding:10px 17px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--bs-text-8);text-align:right}.shift-admin-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:15px}.shift-roster-card,.shift-planner-card{padding:19px}.shift-worker-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) 110px auto;gap:8px;margin-bottom:14px}.shift-worker-form input,.shift-worker-form select,.shift-planner-form input{height:38px}.shift-worker-list{display:grid;border:1px solid var(--line);border-radius:8px;overflow:hidden}.shift-worker-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,.65fr) 100px 65px 62px;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line)}.shift-worker-row:last-child{border-bottom:0}.shift-worker-row input,.shift-worker-row select{height:33px;border:1px solid transparent;background:transparent}.shift-worker-row input:focus,.shift-worker-row select:focus{border-color:#bfcdd3;background:#fff}.shift-worker-row>button{height:30px;border:1px solid #cbd6da;border-radius:5px;background:#fff;color:var(--navy);font-size:var(--bs-text-9);font-weight:800}.shift-active-check{display:flex!important;flex-direction:row!important;align-items:center;gap:5px}.shift-active-check input{width:auto;height:auto;accent-color:var(--green)}.shift-active-check span{font-size:var(--bs-text-9)}.shift-planner-form{display:grid;gap:8px}.shift-planner-form button{width:100%}.shift-planner-row{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-top:9px;padding:9px 10px;border-radius:7px;background:#f3f6f7}.shift-planner-row strong,.shift-planner-row small{display:block}.shift-planner-row strong{font-size:var(--bs-text-9-5)}.shift-planner-row small{margin-top:2px;color:var(--muted);font-size:var(--bs-text-8)}.shift-planner-row button{border:0;background:transparent;color:var(--danger);font-size:var(--bs-text-16)}.shift-admin-empty{margin:10px 0 0;color:var(--muted);font-size:var(--bs-text-9);line-height:1.5}
@media(max-width:1050px){.shift-toolbar{align-items:stretch;flex-direction:column}.shift-period-controls{flex-wrap:wrap}.shift-print-controls{justify-content:flex-end}.shift-official-layout,.shift-admin-grid{grid-template-columns:1fr}.shift-publication-sidebar{position:static}.shift-worker-form{grid-template-columns:1fr 1fr}.shift-worker-row{grid-template-columns:1fr 1fr 90px 65px}.shift-worker-row>button{grid-column:1/-1}.shift-grid .shift-worker-name{width:190px;min-width:190px;max-width:190px}}
@media(max-width:620px){.shift-heading{align-items:flex-start}.shift-heading-status{flex-wrap:wrap}.shift-period-controls{display:grid;grid-template-columns:35px 1fr 1fr 35px}.shift-worker-search{grid-column:1/-1}.shift-worker-search input{width:100%}.shift-view-tabs{width:100%;overflow:auto}.shift-view-tabs button{flex:1;white-space:nowrap}.shift-project-head,.shift-official-head{align-items:flex-start;flex-direction:column}.shift-worker-form,.shift-worker-row{grid-template-columns:1fr}.shift-worker-row>button{grid-column:auto}.shift-grid .shift-worker-name{width:160px;min-width:160px;max-width:160px}}

@media print{
  body.shift-plan-printing{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.shift-plan-printing .topbar,body.shift-plan-printing .app-tabs,body.shift-plan-printing .viewer-banner,body.shift-plan-printing .shift-heading,body.shift-plan-printing .shift-toolbar,body.shift-plan-printing .shift-view-tabs,body.shift-plan-printing .shift-conflict-banner,body.shift-plan-printing .toast,body.shift-plan-printing dialog{display:none!important}
  body.shift-plan-printing .page{display:block!important;max-width:none;margin:0;padding:0}
  body.shift-plan-printing .app-view{display:none!important}
  body.shift-plan-printing #shiftPlansView{display:block!important}
  body.shift-plan-printing .shift-panel{display:none!important}
  body.shift-plan-printing .shift-panel.shift-print-panel{display:block!important}
  body.shift-plan-printing .shift-official-layout{display:block!important}
  body.shift-plan-printing .shift-publication-sidebar{display:none!important}
  body.shift-plan-printing .shift-print-target{display:block!important;width:100%;margin:0!important}
  body.shift-plan-printing .shift-print-target .shift-project-card,body.shift-plan-printing .shift-print-target.shift-official-preview{display:block!important;margin:0 0 5mm;box-shadow:none;border:0;border-radius:0;break-after:page;overflow:visible}
  body.shift-plan-printing .shift-print-target .shift-project-card:last-child{break-after:auto}
  body.shift-plan-printing .shift-project-head,body.shift-plan-printing .shift-official-head{padding:3mm 2mm;border-bottom:.3mm solid #53656e;background:#fff!important}
  body.shift-plan-printing .shift-project-head button,body.shift-plan-printing .shift-official-actions{display:none!important}
  body.shift-plan-printing .shift-grid-wrap{overflow:visible}
  body.shift-plan-printing .shift-grid{width:100%;table-layout:fixed;border-collapse:collapse}
  body.shift-plan-printing .shift-grid th,body.shift-plan-printing .shift-grid td{position:static!important;border:.2mm solid #53656e!important}
  body.shift-plan-printing .shift-grid .shift-worker-name{width:35mm;min-width:35mm;max-width:35mm}
  body.shift-plan-printing .shift-grid thead th{height:10mm;min-width:0;background:#dfe5e8!important}
  body.shift-plan-printing .shift-grid tbody .shift-worker-name{height:7mm;padding:0 1.5mm}
  body.shift-plan-printing .shift-grid td{width:auto;min-width:0;height:7mm}
  body.shift-plan-printing .shift-grid td>button{height:6.5mm}
  body.shift-plan-printing .shift-grid td>button.assigned,body.shift-plan-printing .shift-grid td.official-assigned{background:#97cf5c!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.shift-plan-printing .shift-grid .weekend{background:#f0f1f1!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.shift-plan-printing .shift-official-foot{padding:2mm;font-size:var(--bs-print-text-6)}
}

.shift-revoke-btn{height:34px;padding:0 10px;border:1px solid #e7b0ac;border-radius:5px;background:#fff;color:var(--danger);font-size:var(--bs-text-8-5);font-weight:850}

/* Bemanningsområde, prosjektutvalg og skiftrotasjon */
.shift-worker-form{grid-template-columns:minmax(170px,1.2fr) minmax(135px,.8fr) 92px 155px 132px minmax(190px,auto) auto;align-items:center}
.shift-rotation-custom{display:flex;align-items:center;gap:5px;height:38px;padding:0 7px;border:1px solid var(--line);border-radius:6px;background:#fff;white-space:nowrap}
.shift-rotation-custom input{width:48px;height:28px!important;padding:0 4px}.shift-rotation-custom span{font-size:var(--bs-text-8);color:var(--muted)}
.shift-allocation-form{display:flex;align-items:center;gap:9px;padding:9px 18px;border-bottom:1px solid var(--line);background:#fff}
.shift-allocation-form select{min-width:260px;height:34px}.shift-allocation-form label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:var(--bs-text-9)}.shift-allocation-form label input{accent-color:var(--green)}
.shift-allocation-form button{height:32px;border:1px solid #bfcdd3;border-radius:5px;background:#fff;color:var(--navy);font-size:var(--bs-text-9);font-weight:850}.shift-allocation-form button:disabled{opacity:.45}
.shift-project-empty{padding:22px;color:var(--muted);font-size:var(--bs-text-10);text-align:center}.shift-rotation-mark{color:#24805a;font-size:var(--bs-text-10);font-style:normal}
.shift-project-worker-remove{width:23px!important;height:23px!important;margin-left:auto!important;border:1px solid #e4b4b1!important;border-radius:50%!important;background:#fff!important;color:var(--danger)!important;font-size:var(--bs-text-13)!important}
.shift-worker-row{grid-template-columns:minmax(180px,1.1fr) 78px minmax(180px,.9fr) 64px 126px;min-height:52px}
.shift-worker-identity strong,.shift-worker-identity small{display:block}.shift-worker-identity strong{font-size:var(--bs-text-10-5)}.shift-worker-identity small{margin-top:3px;color:var(--muted);font-size:var(--bs-text-8-5)}
.shift-worker-shift,.shift-worker-rotation{font-size:var(--bs-text-9)}.shift-worker-rotation{color:var(--muted)}.shift-worker-state{color:#8a979d;font-size:var(--bs-text-8);font-weight:850}.shift-worker-state.active{color:#25805a}
.shift-worker-actions{display:flex;justify-content:flex-end;gap:5px}.shift-worker-actions button{height:29px;padding:0 8px;border:1px solid #cbd6da;border-radius:5px;background:#fff;color:var(--navy);font-size:var(--bs-text-8-5);font-weight:800}.shift-worker-actions button.danger{border-color:#ecc1be;color:var(--danger)}
.shift-worker-row.editing{grid-template-columns:minmax(150px,1fr) minmax(125px,.7fr) 90px minmax(270px,1.2fr) 65px 120px}.shift-worker-rotation-edit{display:flex;align-items:center;gap:4px}.shift-worker-rotation-edit input[type="number"]{width:48px}.shift-worker-rotation-edit input[type="date"]{width:125px}.shift-worker-rotation-edit span{font-size:var(--bs-text-8);color:var(--muted)}
.shift-project-form{display:grid;grid-template-columns:minmax(180px,1fr) 120px minmax(150px,.8fr) minmax(170px,.9fr) minmax(210px,1fr) auto;gap:8px;margin-bottom:14px}.shift-project-form input,.shift-project-form select{height:38px}
.shift-project-list{display:grid;border:1px solid var(--line);border-radius:8px;overflow:hidden}.shift-project-admin-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,.8fr) 70px;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid var(--line)}.shift-project-admin-row:last-child{border-bottom:0}.shift-project-admin-row strong,.shift-project-admin-row small{display:block}.shift-project-admin-row strong{font-size:var(--bs-text-10-5)}.shift-project-admin-row small,.shift-project-admin-row>span{margin-top:3px;color:var(--muted);font-size:var(--bs-text-8-5)}.shift-project-admin-row button{height:29px;border:1px solid #cbd6da;border-radius:5px;background:#fff;color:var(--navy);font-size:var(--bs-text-8-5);font-weight:800}
@media(max-width:1250px){.shift-worker-form{grid-template-columns:1fr 1fr 100px 160px}.shift-worker-form button{grid-column:auto}.shift-worker-row.editing{grid-template-columns:1fr 1fr 90px}.shift-worker-rotation-edit{grid-column:1/-1}.shift-worker-actions{grid-column:1/-1}}
@media(max-width:750px){.shift-worker-form,.shift-project-form{grid-template-columns:1fr}.shift-allocation-form{align-items:stretch;flex-direction:column}.shift-allocation-form select{min-width:0;width:100%}.shift-worker-row,.shift-worker-row.editing,.shift-project-admin-row{grid-template-columns:1fr}.shift-worker-actions{justify-content:flex-start}}

/* Prosjektvis utskrift, innleie og bemanningsvarsler */
.shift-print-help{align-self:center;color:var(--muted);font-size:var(--bs-text-9)}.shift-project-head-actions{display:flex;gap:7px;align-items:center}.shift-project-head-actions .secondary-btn,.shift-project-head-actions .primary-small{height:34px}.shift-print-dialog{width:min(520px,calc(100vw - 28px));max-width:none;padding:0;border:0;border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 24px 80px rgba(12,34,45,.28)}.shift-print-dialog::backdrop{background:rgba(10,29,39,.42);backdrop-filter:blur(1px)}.shift-print-dialog form>header{display:flex;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid #dce4e7;background:#f7f9fa}.shift-print-dialog header p{margin:0 0 6px;color:var(--red);font-size:var(--bs-text-8);font-weight:950;letter-spacing:.1em}.shift-print-dialog header h3{margin:0;color:var(--navy);font-size:var(--bs-text-19)}.shift-print-dialog header span{display:block;margin-top:6px;color:var(--muted);font-size:var(--bs-text-9)}.shift-print-dialog header button{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:1px solid #cbd6da;border-radius:50%;background:#fff;color:var(--navy);font-size:var(--bs-text-19);cursor:pointer}.shift-print-dialog-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:24px}.shift-print-dialog-fields label{display:grid;gap:6px}.shift-print-dialog-fields label:last-child{grid-column:1/-1}.shift-print-dialog-fields span{color:#61757f;font-size:var(--bs-text-8);font-weight:850;text-transform:uppercase;letter-spacing:.04em}.shift-print-dialog-fields input,.shift-print-dialog-fields select{width:100%;height:42px;border:1px solid #c5d2d7;border-radius:7px;padding:0 11px;background:#fff;color:var(--ink)}.shift-print-dialog-fields input:focus,.shift-print-dialog-fields select:focus{outline:2px solid #5b9b7a44;border-color:#559170}.shift-print-dialog form>footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid #dce4e7;background:#f7f9fa}.shift-print-dialog form>footer button{height:39px;padding:0 14px;border:1px solid #c7d3d8;border-radius:7px;background:#fff;color:var(--navy);font-size:var(--bs-text-9);font-weight:850;cursor:pointer}.shift-print-dialog form>footer .primary-small{border-color:var(--red);background:var(--red);color:#fff}.shift-allocation-rotation{display:inline-flex!important;align-items:center!important;gap:6px!important;width:auto!important;height:30px;padding:0 9px;border:1px solid #d3dde1;border-radius:6px;background:#f8fafb;white-space:nowrap}.shift-allocation-rotation input{flex:none;width:14px!important;height:14px!important;margin:0;accent-color:var(--green)}.shift-allocation-rotation span{font-size:var(--bs-text-8-5)!important;font-weight:750;color:#536873}.shift-grid td>button.assigned,.shift-grid td.official-assigned{background:#97cf5c!important}.shift-grid td>button.assigned::after{content:"";width:7px;height:7px;border-radius:50%;background:#3e792c55}.shift-unallocated-badge{display:inline-flex;margin-left:7px;padding:3px 6px;border-radius:999px;background:#fff0d2;color:#8b5b0d;font-size:var(--bs-text-7);font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.shift-hired-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:15px;align-items:start}.shift-agency-form{display:grid;grid-template-columns:1.2fr .7fr 1fr 1fr .7fr auto;gap:8px;margin-bottom:14px}.shift-agency-form input{min-width:0;height:38px}.shift-agency-list{display:grid;gap:10px}.shift-agency-card{border:1px solid var(--line);border-radius:9px;overflow:hidden}.shift-agency-card.archived{background:#fafbfb}.shift-agency-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:12px 13px;background:#f5f8f9;border-bottom:1px solid var(--line)}.shift-agency-card header strong,.shift-agency-card header span,.shift-agency-card header small{display:block}.shift-agency-card header strong{font-size:var(--bs-text-11)}.shift-agency-card header span{margin-top:3px;color:#536873;font-size:var(--bs-text-8-5)}.shift-agency-card header small{margin-top:3px;color:var(--muted);font-size:var(--bs-text-8)}.shift-agency-card header>div:last-child{display:flex;gap:5px}.shift-agency-card button,.shift-agency-document-form button,.shift-agency-document-form select{height:29px;padding:0 8px;border:1px solid #cbd6da;border-radius:5px;background:#fff;color:var(--navy);font-size:var(--bs-text-8);font-weight:800}.shift-agency-card button.danger{border-color:#ecc1be;color:var(--danger)}.shift-archived-label{padding:4px 7px;border-radius:999px;background:#e8edef;color:#697a82!important;font-size:var(--bs-text-7)!important;font-weight:900;text-transform:uppercase}.shift-agency-documents{padding:10px 12px}.shift-agency-document{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #e7edef}.shift-agency-document:first-child{padding-top:0}.shift-agency-document strong,.shift-agency-document small{display:block}.shift-agency-document strong{font-size:var(--bs-text-9)}.shift-agency-document small{margin-top:3px;color:var(--muted);font-size:var(--bs-text-7-5)}.shift-agency-document>div:last-child{display:flex;gap:4px}.shift-agency-document-form{display:grid;grid-template-columns:90px minmax(120px,1fr) 120px auto auto;gap:6px;align-items:center;margin-top:10px}.shift-agency-document-form input,.shift-agency-document-form select{min-width:0;height:32px}.shift-agency-document-form .upload-btn{height:32px;padding:0 9px}.shift-hired-worker-form{display:grid;grid-template-columns:1fr 1fr 1fr 85px 145px 125px auto;gap:7px;margin-bottom:14px}.shift-hired-worker-form input,.shift-hired-worker-form select{min-width:0;height:38px}.shift-hired-archive{margin-top:14px;border:1px solid var(--line);border-radius:8px}.shift-hired-archive summary{padding:11px 12px;color:#536873;font-size:var(--bs-text-9);font-weight:850;cursor:pointer}.shift-hired-archive>div{border-top:1px solid var(--line)}.shift-archived-worker{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-bottom:1px solid var(--line)}.shift-archived-worker:last-child{border-bottom:0}.shift-archived-worker strong,.shift-archived-worker small{display:block}.shift-archived-worker strong{font-size:var(--bs-text-9)}.shift-archived-worker small,.shift-archived-worker>span{margin-top:3px;color:var(--muted);font-size:var(--bs-text-7-5)}#shiftPrintSheets{display:none}
@media(max-width:1250px){.shift-hired-layout{grid-template-columns:1fr}.shift-agency-form{grid-template-columns:1fr 1fr 1fr}.shift-hired-worker-form{grid-template-columns:1fr 1fr 1fr}.shift-agency-form button,.shift-hired-worker-form button{width:max-content}}
@media(max-width:700px){.shift-project-head-actions{width:100%;flex-wrap:wrap}.shift-print-dialog-fields{grid-template-columns:1fr}.shift-print-dialog-fields label:last-child{grid-column:auto}.shift-agency-form,.shift-hired-worker-form,.shift-agency-document-form{grid-template-columns:1fr}.shift-agency-card>header,.shift-agency-document,.shift-archived-worker{flex-direction:column}.shift-agency-card header>div:last-child{width:100%}}

/* Official shift-plan archive and email delivery preview */
.shift-publication-tools{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0 0 12px}.shift-publication-tools label{display:grid;gap:4px}.shift-publication-tools label>span{color:var(--muted);font-size:var(--bs-text-7);font-weight:900;text-transform:uppercase;letter-spacing:.05em}.shift-publication-tools select{min-width:0;height:34px;border:1px solid #cbd6da;border-radius:6px;padding:0 7px;background:#fff;color:var(--ink);font-size:var(--bs-text-8-5)}.shift-publication-group{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.shift-publication-group:last-child{margin-bottom:0;border-bottom:0}.shift-publication-group h4{display:flex;justify-content:space-between;gap:8px;margin:0 0 5px;padding:0 7px;color:var(--navy)}.shift-publication-group h4 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--bs-text-9)}.shift-publication-group h4 small{flex:none;color:var(--muted);font-size:var(--bs-text-7);font-weight:750}.shift-publication-newest>span{display:block;margin:8px 10px 0;color:var(--muted);font-size:var(--bs-text-7);font-weight:850;text-transform:uppercase}.shift-publication-newest+.shift-publication-newest{border-top:1px solid var(--line)}
.shift-email-dialog{width:min(980px,calc(100vw - 28px));max-width:none;padding:0;border:0;border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 24px 80px rgba(12,34,45,.3)}.shift-email-dialog::backdrop{background:rgba(10,29,39,.46);backdrop-filter:blur(1px)}.shift-email-dialog form>header{display:flex;justify-content:space-between;gap:20px;padding:21px 24px;border-bottom:1px solid #dce4e7;background:#f7f9fa}.shift-email-dialog header p{margin:0 0 5px;color:var(--red);font-size:var(--bs-text-8);font-weight:950;letter-spacing:.1em}.shift-email-dialog header h3{margin:0;color:var(--navy);font-size:var(--bs-text-19)}.shift-email-dialog header span{display:block;margin-top:5px;color:var(--muted);font-size:var(--bs-text-9)}.shift-email-dialog header button{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid #cbd6da;border-radius:50%;background:#fff;color:var(--navy);font-size:var(--bs-text-19)}.shift-email-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);min-height:440px}.shift-email-recipients,.shift-email-content{padding:20px 22px}.shift-email-recipients{border-right:1px solid #dce4e7}.shift-email-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.shift-email-section-head strong,.shift-email-section-head small{display:block}.shift-email-section-head strong{font-size:var(--bs-text-12)}.shift-email-section-head small{margin-top:3px;color:var(--muted);font-size:var(--bs-text-8)}.shift-email-section-head button{border:0;background:transparent;color:#2d6fa8;font-size:var(--bs-text-8);font-weight:850}.shift-email-recipient-list{max-height:250px;overflow:auto;border:1px solid var(--line);border-radius:8px}.shift-email-recipient{display:flex;align-items:center;gap:9px;padding:9px 11px;border-bottom:1px solid #e3e9eb}.shift-email-recipient:last-child{border-bottom:0}.shift-email-recipient input{width:15px;height:15px;accent-color:#2c6dcc}.shift-email-recipient strong,.shift-email-recipient small{display:block}.shift-email-recipient strong{font-size:var(--bs-text-9-5)}.shift-email-recipient small{margin-top:2px;color:var(--muted);font-size:var(--bs-text-8)}.shift-email-recipient.missing{justify-content:space-between;background:#fff7e8}.shift-email-recipient.missing small{color:#9a650f}.shift-email-recipient.missing button{max-width:115px;border:0;background:transparent;color:#2d6fa8;font-size:var(--bs-text-7-5);font-weight:850;text-align:right}.shift-email-extra{margin-top:15px}.shift-email-extra label{display:grid;gap:6px}.shift-email-extra label>span,.shift-email-content label>span,.shift-email-from>span{color:#60727b;font-size:var(--bs-text-8);font-weight:850;text-transform:uppercase;letter-spacing:.04em}.shift-email-extra label>div{display:flex;gap:6px}.shift-email-extra input,.shift-email-content input,.shift-email-content textarea{width:100%;border:1px solid #c6d2d7;border-radius:7px;background:#fff;color:var(--ink)}.shift-email-extra input,.shift-email-content input{height:40px;padding:0 10px}.shift-email-extra button{padding:0 12px;border:1px solid #becdd3;border-radius:7px;background:#fff;color:var(--navy);font-size:var(--bs-text-8);font-weight:850}.shift-email-extra-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.shift-email-extra-list>span{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:999px;background:#e8f0f4;color:#365362;font-size:var(--bs-text-7-5)}.shift-email-extra-list button{height:auto;padding:0;border:0;background:transparent;color:#60727b;font-size:var(--bs-text-13);line-height:1}.shift-email-content{display:grid;align-content:start;gap:13px;background:#fbfcfc}.shift-email-content label{display:grid;gap:6px}.shift-email-content textarea{min-height:130px;padding:10px;resize:vertical;line-height:1.5}.shift-email-from{display:flex;justify-content:space-between;align-items:center;padding:10px 11px;border:1px solid #d6e0e3;border-radius:7px;background:#fff}.shift-email-from strong{font-size:var(--bs-text-9)}.shift-email-link{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #cfe0e8;border-radius:8px;background:#eef6fa}.shift-email-link>span{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#2c6dcc;color:#fff}.shift-email-link strong,.shift-email-link small{display:block}.shift-email-link strong{font-size:var(--bs-text-9)}.shift-email-link small{margin-top:3px;color:var(--muted);font-size:var(--bs-text-8)}.shift-email-status{margin:0;padding:10px 11px;border-radius:7px;font-size:var(--bs-text-8-5);line-height:1.5}.shift-email-status.sending{background:#edf3f6;color:#395565}.shift-email-status.success{background:#e7f4e8;color:#2f6a36}.shift-email-status.error{background:#fff0ef;color:#982f32}.shift-email-dialog form>footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 22px;border-top:1px solid #dce4e7;background:#f7f9fa}.shift-email-dialog footer p{margin:0;color:var(--muted);font-size:var(--bs-text-8)}.shift-email-dialog footer>div{display:flex;gap:8px}.shift-email-dialog footer button{height:39px;padding:0 14px;border:1px solid #c7d3d8;border-radius:7px;background:#fff;color:var(--navy);font-size:var(--bs-text-9);font-weight:850}.shift-email-dialog footer .primary-small{border-color:var(--red);background:var(--red);color:#fff}.shift-email-dialog footer .primary-small:disabled{opacity:.6}
@media(max-width:760px){.shift-publication-tools{grid-template-columns:1fr}.shift-email-body{grid-template-columns:1fr;max-height:65vh;overflow:auto}.shift-email-recipients{border-right:0;border-bottom:1px solid #dce4e7}.shift-email-dialog form>footer{align-items:stretch;flex-direction:column}.shift-email-dialog footer>div{justify-content:flex-end}.shift-official-actions{flex-wrap:wrap}}

/* Skiftplan: flervalg, stabile navn/handlinger og lesbare rotasjonsverdier. */
.shift-grid .shift-worker-name{width:280px;min-width:280px;max-width:280px}
.shift-grid-worker-identity{min-width:0;flex:1}
.shift-grid-worker-identity strong,.shift-grid-worker-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shift-week-comment-toggle,.shift-project-worker-remove{flex:none}
.shift-allocation-end-toggle{flex:none;width:28px;height:25px!important;padding:0!important;border:1px solid #d3dde1!important;border-radius:5px;background:#fff!important;color:#657680!important;font-size:var(--bs-text-7-5)!important;font-weight:850}.shift-allocation-end-toggle.has-end{border-color:#caa94d!important;background:#fff7d9!important;color:#71560d!important}.shift-allocation-end-row th{height:41px!important;padding:4px 9px!important}.shift-allocation-end-row th label{display:flex;align-items:center;gap:7px;width:100%;font-size:var(--bs-text-8);color:#536873}.shift-allocation-end-row th input{min-width:0;height:29px;border:1px solid #cbd6da;border-radius:5px;padding:0 5px;font-size:var(--bs-text-8)}.shift-allocation-end-row td{height:41px!important;padding:0 10px!important;background:#fffaf0!important;color:#6a5a2f;font-size:var(--bs-text-8)}.shift-grid td.after-allocation,.shift-grid td.after-allocation>button{background:#f2f4f5!important;cursor:not-allowed}.shift-worker-row.hired-editing{grid-template-columns:minmax(150px,1fr) minmax(120px,.7fr) 85px minmax(310px,1.2fr) minmax(130px,.8fr) minmax(120px,.7fr) minmax(170px,1fr) 65px 120px}.shift-worker-row.hired-editing>input,.shift-worker-row.hired-editing>select{min-width:0}
.shift-travel-required-toggle{display:grid!important;place-items:center;flex:none;width:25px!important;height:25px!important;padding:0!important;border:1px solid #b8ccd4!important;border-radius:5px;background:#edf6f9!important;color:#2b657a!important;font-size:var(--bs-text-11)!important;cursor:pointer}.shift-travel-required-toggle.not-required{border-color:#d3d9dc!important;background:#f2f4f5!important;color:#7d898e!important}.shift-travel-required-toggle:disabled{cursor:wait;opacity:.6}
.shift-worker-picker{min-width:300px;max-width:520px;flex:1;border:1px solid #cbd6da;border-radius:6px;background:#fff}
.shift-worker-picker summary{display:flex;align-items:center;min-height:34px;padding:0 11px;color:var(--navy);font-size:var(--bs-text-9-5);font-weight:800;cursor:pointer;list-style:none}
.shift-worker-picker summary::-webkit-details-marker{display:none}
.shift-worker-picker summary:after{content:"⌄";margin-left:auto;color:var(--muted)}
.shift-worker-picker[open] summary{border-bottom:1px solid var(--line)}
.shift-worker-picker-options{display:grid;max-height:230px;overflow:auto;padding:6px}
.shift-worker-picker-group>b{display:block;padding:7px 6px 4px;color:var(--muted);font-size:var(--bs-text-8);text-transform:uppercase;letter-spacing:.05em}
.shift-worker-picker-option{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:7px 6px;border-radius:5px;color:var(--ink)!important;cursor:pointer}
.shift-worker-picker-option:hover{background:#f1f5f6}.shift-worker-picker-option input{accent-color:var(--green)}
.shift-worker-picker-option strong,.shift-worker-picker-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shift-worker-picker-option strong{font-size:var(--bs-text-9)}.shift-worker-picker-option small{margin-top:2px;color:var(--muted);font-size:var(--bs-text-7-5)}
.shift-rotation-custom input{width:68px;min-width:68px;padding:0 7px}
.shift-worker-row.editing{grid-template-columns:minmax(150px,1fr) minmax(125px,.7fr) 90px minmax(340px,1.35fr) 65px 120px}
.shift-worker-rotation-edit input[type="number"]{width:68px;min-width:68px;padding:0 7px}
.shift-workspace-settings{margin-bottom:15px;padding:19px}
.shift-workspace-form{display:grid;grid-template-columns:minmax(240px,460px) auto;gap:7px;align-items:end}
.shift-workspace-form label{grid-column:1/-1;color:var(--muted);font-size:var(--bs-text-8);font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.shift-workspace-form input{height:38px}
@media(max-width:1250px){.shift-worker-row.hired-editing{grid-template-columns:1fr 1fr 90px}.shift-worker-row.hired-editing .shift-worker-rotation-edit,.shift-worker-row.hired-editing .shift-worker-actions{grid-column:1/-1}}
@media(max-width:750px){.shift-grid .shift-worker-name{width:250px;min-width:250px;max-width:250px}.shift-worker-picker{min-width:0;max-width:none;width:100%}.shift-workspace-form{grid-template-columns:1fr}.shift-workspace-form label{grid-column:auto}.shift-worker-rotation-edit input[type="number"]{width:72px;min-width:72px}.shift-worker-row.hired-editing{grid-template-columns:1fr}.shift-worker-row.hired-editing .shift-worker-rotation-edit,.shift-worker-row.hired-editing .shift-worker-actions{grid-column:auto}}

@media print{
  body.shift-plan-printing{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.shift-plan-printing .topbar,body.shift-plan-printing .app-tabs,body.shift-plan-printing .viewer-banner,body.shift-plan-printing .toast,body.shift-plan-printing .feedback-button,body.shift-plan-printing dialog{display:none!important}
  body.shift-plan-printing .page{display:block!important;max-width:none!important;margin:0!important;padding:0!important}
  body.shift-plan-printing .app-view{display:none!important}
  body.shift-plan-printing #shiftPlansView{display:block!important}
  body.shift-plan-printing #shiftPlansView>:not(#shiftPrintSheets){display:none!important}
  body.shift-plan-printing #shiftPrintSheets{display:block!important}
  body.shift-plan-printing .shift-print-sheet{display:block;break-after:page;page-break-after:always}
  body.shift-plan-printing .shift-print-sheet:last-child{break-after:auto;page-break-after:auto}
  body.shift-plan-printing .shift-print-sheet-head{display:flex;justify-content:space-between;align-items:flex-end;gap:8mm;padding:0 0 3mm;border-bottom:1mm solid #d8aa27}
  body.shift-plan-printing .shift-print-sheet-head p{margin:0 0 1mm;color:#b62f34;font-size:var(--bs-print-text-7);font-weight:900;letter-spacing:.08em;text-transform:uppercase}
  body.shift-plan-printing .shift-print-sheet-head h1{margin:0;font-size:var(--bs-print-text-17);line-height:1.05}
  body.shift-plan-printing .shift-print-sheet-head span{display:block;margin-top:1mm;color:#536873;font-size:var(--bs-print-text-7-5)}
  body.shift-plan-printing .shift-print-sheet-head>div:last-child{text-align:right;white-space:nowrap}
  body.shift-plan-printing .shift-print-sheet-head strong{display:block;font-size:var(--bs-print-text-12)}
  body.shift-plan-printing .shift-print-table{width:100%!important;margin-top:3mm;border-collapse:collapse!important;table-layout:fixed!important}
  body.shift-plan-printing .shift-print-table thead{display:table-header-group}
  body.shift-plan-printing .shift-print-table tr{break-inside:avoid;page-break-inside:avoid}
  body.shift-plan-printing .shift-print-table th,body.shift-plan-printing .shift-print-table td{position:static!important;border:.25mm solid #53656e!important}
  body.shift-plan-printing .shift-print-table thead th{height:11mm;padding:.6mm;background:#dfe5e8!important;text-align:center;vertical-align:middle}
  body.shift-plan-printing .shift-print-table thead th span,body.shift-plan-printing .shift-print-table thead th small,body.shift-plan-printing .shift-print-table thead th em{display:block}
  body.shift-plan-printing .shift-print-table thead th span{font-size:var(--bs-print-text-6-5);text-transform:uppercase}
  body.shift-plan-printing .shift-print-table thead th small{margin-top:.4mm;font-size:var(--bs-print-text-6);font-weight:500}
  body.shift-plan-printing .shift-print-table thead th em{margin-top:.4mm;color:#7a5e22;font-size:var(--bs-print-text-5-5);font-style:normal}
  body.shift-plan-printing .shift-print-table .shift-print-worker{width:48mm!important;min-width:48mm!important;max-width:48mm!important;padding:1.2mm 1.6mm!important;background:#fff!important;text-align:left!important;white-space:normal!important}
  body.shift-plan-printing .shift-print-table thead .shift-print-worker{background:#d5e0e4!important;font-size:var(--bs-print-text-7);text-transform:uppercase}
  body.shift-plan-printing .shift-print-table tbody .shift-print-worker{height:8.5mm}
  body.shift-plan-printing .shift-print-worker strong,body.shift-plan-printing .shift-print-worker small{display:block;overflow:visible;white-space:normal;overflow-wrap:anywhere}
  body.shift-plan-printing .shift-print-worker strong{font-size:var(--bs-print-text-7-5);line-height:1.12}
  body.shift-plan-printing .shift-print-worker small{margin-top:.6mm;color:#536873;font-size:var(--bs-print-text-5-8);line-height:1.1}
  body.shift-plan-printing .shift-print-table td{height:8.5mm;padding:0;background:#fff!important}
  body.shift-plan-printing .shift-print-table .weekend{background:#f0f1f1!important}
  body.shift-plan-printing .shift-print-table td.assigned{background:#97cf5c!important}
  body.shift-plan-printing .shift-print-table tr.shift-print-group-row>th,body.shift-plan-printing .shift-print-table tr.shift-print-group-row>td{height:6mm!important;background:#e5efed!important;border-color:#73918a!important}
  body.shift-plan-printing .shift-print-table .shift-print-group-label{width:48mm!important;padding:1mm 1.6mm!important;color:#24443e;text-align:left!important;white-space:nowrap!important}
  body.shift-plan-printing .shift-print-group-label span,body.shift-plan-printing .shift-print-group-label small{display:inline;font-weight:900;letter-spacing:.04em}
  body.shift-plan-printing .shift-print-group-label span{font-size:var(--bs-print-text-7)}
  body.shift-plan-printing .shift-print-group-label small{margin-left:1mm;color:#58726c;font-size:var(--bs-print-text-6)}
  body.shift-plan-printing .shift-print-empty{padding:8mm!important;color:#536873;text-align:center}
  body.shift-plan-printing .shift-print-sheet footer{display:flex;justify-content:space-between;padding-top:2mm;color:#536873;font-size:var(--bs-print-text-6)}
}

#shiftOfficialPreview .official-grid .official-shift-group-row>th,#shiftOfficialPreview .official-grid .official-shift-group-row>td{height:35px!important;background:#e5efed!important;border-color:#a9bfba!important}
#shiftOfficialPreview .official-grid .official-shift-group-label{padding:0 13px!important;color:#24443e;text-align:left!important;white-space:nowrap!important}
#shiftOfficialPreview .official-shift-group-label span,#shiftOfficialPreview .official-shift-group-label small{display:inline;font-weight:900;letter-spacing:.04em}
#shiftOfficialPreview .official-shift-group-label span{font-size:var(--bs-text-9)}
#shiftOfficialPreview .official-shift-group-label small{margin-left:5px;color:#58726c;font-size:var(--bs-text-7-5)}

/* Final responsive overrides for the shift-plan administration patch. */
.shift-admin-grid-single{grid-template-columns:1fr}.shift-hired-layout{grid-template-columns:1fr}.shift-agency-form{grid-template-columns:repeat(3,minmax(180px,1fr))}.shift-agency-form button{width:max-content}.shift-hired-worker-form{grid-template-columns:repeat(3,minmax(180px,1fr))}.shift-hired-worker-form button{width:max-content}.shift-agency-document-form{grid-template-columns:130px minmax(220px,1fr) 150px auto auto}.shift-project-head-actions{flex-wrap:wrap;justify-content:flex-end}.shift-publish-period{display:flex;align-items:center;gap:5px}.shift-publish-period input{height:34px;padding:0 7px;border:1px solid #cbd6da;border-radius:5px;background:#fff;color:var(--ink);font-size:var(--bs-text-9)}.shift-grid td.holiday,.shift-grid td.holiday>button,.shift-grid td.holiday>button.assigned{background:#efb4b1!important}.shift-grid td.holiday>button{cursor:not-allowed}.shift-week-comment-toggle{flex:none;width:25px;height:25px!important;border:1px solid #d3dde1!important;border-radius:5px;background:#fff!important;color:#657680!important;font-size:var(--bs-text-10)}.shift-week-comment-toggle.has-comment{border-color:#d6a62e!important;background:#fff7d9!important;color:#71560d!important}.shift-week-comments th{height:37px!important;padding-left:39px!important;color:#657680;font-size:var(--bs-text-8)!important;text-transform:uppercase}.shift-week-comments td{height:37px!important;padding:3px!important;background:#f8fafb}.shift-week-comments input{width:100%;height:29px;border:1px solid #ccd7dc;border-radius:5px;padding:0 7px;background:#fff;color:var(--ink);font-size:var(--bs-text-8-5)}.shift-holiday-form,.shift-access-form{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:8px;margin-bottom:14px}.shift-holiday-form input,.shift-holiday-form select,.shift-access-form input,.shift-access-form select{min-width:0;height:38px}.shift-holiday-list,.shift-access-list{display:grid;gap:6px}.shift-holiday-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:7px}.shift-holiday-row strong,.shift-holiday-row small{display:block}.shift-holiday-row strong{font-size:var(--bs-text-9-5)}.shift-holiday-row small{margin-top:2px;color:var(--muted);font-size:var(--bs-text-8)}.shift-holiday-swatch{width:16px;height:16px;border-radius:4px;background:#efb4b1}.shift-holiday-row button,.shift-archived-worker button{height:30px;border:1px solid #d3dde1;border-radius:5px;background:#fff;color:var(--navy);font-size:var(--bs-text-8);font-weight:800}.shift-holiday-row button.danger{border-color:#ecc1be;color:var(--danger)}
@media(max-width:900px){.shift-agency-form,.shift-hired-worker-form,.shift-holiday-form,.shift-access-form,.shift-agency-document-form{grid-template-columns:1fr 1fr}.shift-project-head{align-items:flex-start;flex-direction:column}.shift-project-head-actions{justify-content:flex-start}.shift-archived-worker{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.shift-agency-form,.shift-hired-worker-form,.shift-holiday-form,.shift-access-form,.shift-agency-document-form{grid-template-columns:1fr}.shift-publish-period{width:100%}.shift-publish-period input{min-width:0;width:100%}}
@media print{body.shift-plan-printing .shift-print-table td.holiday{background:#efb4b1!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Final diary, planning and profile overrides. */
.planning-week-toggle{height:43px}.planning-week-toggle small{display:block;margin-top:-2px;font-size:var(--bs-text-7);font-weight:650;color:#71838c}.planning-week-toggle.available-week{border-style:dashed;background:#fff8e7;color:#6d5a24}.planning-week-toggle.available-week span{color:#b88714}.planning-table tfoot th{position:static;height:45px}.planning-table tfoot .planning-availability-row th{background:#f5f8f9;color:#526872;border-bottom:0}.planning-table tfoot .planning-availability-row th[data-planning-available-date]{color:#157452;font-weight:850}.profile-settings-card{margin-bottom:18px;max-width:720px}.profile-name-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:10px;align-items:end}.profile-name-form label{display:grid;gap:7px}.profile-name-form button{margin-bottom:1px}.settings-member-name{width:100%;height:32px;font-weight:750}.settings-user-row>div>small{display:block;margin-top:3px}.diary-rich-editor.field-locked-by-me{box-shadow:inset 3px 0 0 #229267}.diary-rich-editor.locked-by-other{background:#f2f5f6;color:#71808a;cursor:not-allowed}.diary-rich-editor.locked-by-other:after{content:"Redigeres av en annen bruker";display:block;margin-top:8px;color:#a05b5d;font-size:var(--bs-text-10);font-weight:750}
@media(max-width:900px){.planning-controls,.planning-settings{align-items:stretch;flex-direction:column}.planning-actions{width:100%;flex-wrap:wrap}.planning-actions button{flex:1;min-width:150px}.profile-settings-card{max-width:none}}

/* Security-first administrator settings */
.profile-platform-mfa{width:100%;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.profile-platform-mfa-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.profile-platform-mfa-heading strong,.profile-platform-mfa-heading small{display:block}.profile-platform-mfa-heading strong{color:var(--navy);font-size:var(--bs-text-12)}.profile-platform-mfa-heading small{max-width:620px;margin-top:4px;color:var(--muted);font-size:var(--bs-text-9-5);line-height:1.5}.profile-mfa-badge{flex:none;padding:6px 9px;border-radius:999px;background:#edf1f3;color:#536872;font-size:var(--bs-text-8);font-weight:900}.profile-mfa-badge.active{background:#e3f4eb;color:#176548}.profile-mfa-badge.required{background:#fff3d8;color:#825d0b}.profile-mfa-status{margin:12px 0;padding:10px 12px;border-radius:7px;background:#f3f6f7;color:#435965;font-size:var(--bs-text-10);line-height:1.45}.profile-mfa-status.error{background:#fff0ef;color:#a32720}.profile-mfa-qr{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center;margin-top:12px;padding:13px;border:1px solid #d9e3e6;border-radius:8px;background:#fbfcfc}.profile-mfa-qr img{display:block;width:150px;height:150px;background:#fff}.profile-mfa-qr strong,.profile-mfa-qr small{display:block}.profile-mfa-qr small{margin-top:7px;color:var(--muted);font-size:var(--bs-text-9);line-height:1.5}.profile-mfa-qr code{overflow-wrap:anywhere;color:var(--navy);font-weight:800}.profile-mfa-verify{display:flex;align-items:end;gap:9px;margin-top:12px}.profile-mfa-verify label{display:grid;gap:5px}.profile-mfa-verify label span{color:#536a75;font-size:var(--bs-text-8-5);font-weight:850}.profile-mfa-verify input{width:160px;height:39px;padding:0 10px;border:1px solid #c8d4d8;border-radius:6px;background:#fff;font-size:var(--bs-text-12);letter-spacing:.18em}.profile-mfa-verify button{height:39px}
.settings-scope-tabs{display:inline-flex;gap:4px;margin:0 0 20px;padding:4px;border:1px solid var(--line);border-radius:9px;background:#eef3f4}.settings-scope-tabs button{height:37px;padding:0 16px;border:0;border-radius:6px;background:transparent;color:#52666f;font-size:var(--bs-text-10-5);font-weight:850;cursor:pointer}.settings-scope-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 1px 4px #1735421c}.administrator-settings-grid.hidden{display:none}.platform-settings-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}.platform-settings-nav{position:sticky;top:82px;display:grid;gap:5px;padding:12px}.platform-settings-nav>div{display:grid;gap:4px;margin-bottom:6px;padding:9px 9px 13px;border-bottom:1px solid var(--line)}.platform-settings-nav strong{font-size:var(--bs-text-12)}.platform-settings-nav small{color:var(--muted);font-size:var(--bs-text-8-5);line-height:1.4}.platform-settings-nav button{min-height:38px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:#536771;text-align:left;font-size:var(--bs-text-10);font-weight:780;cursor:pointer}.platform-settings-nav button:hover{background:#f1f5f6}.platform-settings-nav button.active{background:var(--navy);color:#fff}.platform-settings-content{min-width:0}.platform-settings-section{display:none;gap:16px}.platform-settings-section.active{display:grid}.platform-security-banner{display:flex;align-items:center;gap:15px;padding:17px 18px;border:1px solid #efb2ad;border-left:4px solid var(--red);border-radius:9px;background:#fff7f6}.platform-security-banner>span{padding:6px 8px;border-radius:5px;background:var(--red);color:#fff;font-size:var(--bs-text-8);font-weight:900;letter-spacing:.08em}.platform-security-banner strong{display:block;font-size:var(--bs-text-13)}.platform-security-banner p{margin:4px 0 0;color:#795652;font-size:var(--bs-text-9-5);line-height:1.45}.platform-metrics,.platform-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.platform-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-metrics article,.platform-status-card{padding:16px 17px!important;border:1px solid var(--line);border-radius:9px;background:#fff}.platform-metrics span,.platform-status-card>span{display:block;color:#687b84;font-size:var(--bs-text-8-5);font-weight:850;text-transform:uppercase;letter-spacing:.05em}.platform-metrics strong,.platform-status-card strong{display:block;margin-top:6px;color:var(--ink);font-size:var(--bs-text-22)}.platform-metrics small,.platform-status-card small{display:block;margin-top:5px;color:var(--muted);font-size:var(--bs-text-8-5)}.platform-overview-card{margin:0}.platform-check-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.platform-check-list span{padding:10px 11px;border-radius:7px;background:#edf8f3;color:#176548;font-size:var(--bs-text-9-5);font-weight:750}.platform-action-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fafcfc}.platform-action-row strong,.platform-action-row small{display:block}.platform-action-row strong{font-size:var(--bs-text-11)}.platform-action-row small{max-width:620px;margin-top:4px;color:var(--muted);font-size:var(--bs-text-9);line-height:1.45}.danger-outline{min-height:38px;padding:0 13px;border:1px solid #e8a6a1;border-radius:6px;background:#fff;color:var(--danger);font-size:var(--bs-text-9-5);font-weight:850;cursor:pointer}.danger-outline:hover{background:var(--danger-bg)}.platform-email-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.platform-email-form label{display:grid;gap:6px}.platform-email-form label>span{font-size:var(--bs-text-9);font-weight:800;color:#526771}.platform-email-form input,.platform-email-form textarea{width:100%;border:1px solid #cfd8dc;border-radius:6px;background:#fff;color:var(--ink)}.platform-email-form input{height:40px;padding:0 11px}.platform-email-form input[readonly]{background:#f2f5f6;color:#5f737c}.platform-email-form textarea{min-height:78px;padding:10px;resize:vertical}.platform-email-form .platform-checkbox{display:flex;flex-direction:row;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:7px}.platform-checkbox input{width:auto;height:auto;accent-color:var(--green)}.platform-email-form .platform-email-reason,.platform-email-form button{grid-column:1/-1}.platform-email-form button{justify-self:start}.platform-integration-list{display:grid;gap:8px}.platform-integration-list>div{display:grid;grid-template-columns:120px minmax(150px,.45fr) 1fr;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:7px}.platform-integration-list strong{font-size:var(--bs-text-11)}.platform-integration-list span{font-size:var(--bs-text-9);font-weight:800;color:#806825}.platform-integration-list .status-ok{color:#176548}.platform-integration-list small{color:var(--muted);font-size:var(--bs-text-9)}.platform-event-list,.platform-backup-list{display:grid;gap:7px}.platform-event-row,.platform-backup-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:7px;background:#fafcfc}.platform-event-row strong,.platform-event-row small,.platform-backup-row strong,.platform-backup-row small{display:block}.platform-event-row strong,.platform-backup-row strong{font-size:var(--bs-text-10)}.platform-event-row small,.platform-backup-row small{margin-top:3px;color:var(--muted);font-size:var(--bs-text-8-5)}.platform-event-row>span,.platform-backup-row>span,.platform-status-chip{padding:5px 7px;border-radius:999px;background:#e8eef0;color:#50666f;font-size:var(--bs-text-8);font-weight:850}.platform-status-chip.completed,.platform-status-chip.sent,.platform-status-chip.healthy{background:#e1f2e8;color:#176548}.platform-status-chip.failed,.platform-status-chip.blocked{background:#fff0ef;color:#a33832}.platform-status-chip.reserved,.platform-status-chip.warning{background:#fff4d9;color:#8b6500}.platform-audit-table{overflow:auto;border:1px solid var(--line);border-radius:8px}.platform-audit-row{display:grid;grid-template-columns:145px minmax(155px,.7fr) minmax(180px,1fr) minmax(200px,1.4fr) 86px;gap:10px;align-items:center;min-width:850px;padding:10px 11px;border-bottom:1px solid var(--line);font-size:var(--bs-text-9)}.platform-audit-row:last-child{border-bottom:0}.platform-audit-row.header{background:#f2f5f6;color:#60727b;font-size:var(--bs-text-8);font-weight:850;text-transform:uppercase}.platform-audit-row strong{font-size:var(--bs-text-9-5)}.platform-audit-row small{display:block;margin-top:3px;color:var(--muted);font-size:var(--bs-text-8)}.critical-action-dialog{width:min(520px,calc(100vw - 28px));padding:0;border:0;border-radius:11px;box-shadow:0 26px 80px #0c25314d}.critical-action-dialog::backdrop{background:#102d3ba8;backdrop-filter:blur(3px)}.critical-action-dialog form{margin:0}.critical-action-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line)}.critical-action-dialog header p{margin:0 0 5px;color:var(--red);font-size:var(--bs-text-8);font-weight:900;letter-spacing:.1em}.critical-action-dialog h2{margin:0;font-size:var(--bs-text-17)}.critical-action-dialog header span{display:block;margin-top:5px;color:var(--muted);font-size:var(--bs-text-9-5);line-height:1.4}.critical-action-dialog header button{border:0;background:transparent;color:#657780;font-size:var(--bs-text-20);cursor:pointer}.critical-action-body{display:grid;gap:14px;padding:20px 22px}.critical-action-warning{display:grid;gap:3px;padding:11px 12px;border:1px solid #edc0bc;border-radius:7px;background:#fff6f5}.critical-action-warning strong{font-size:var(--bs-text-10);color:#9b342f}.critical-action-warning span{font-size:var(--bs-text-9);color:#75504d}.critical-action-body label{display:grid;gap:7px}.critical-action-body label span{font-size:var(--bs-text-9);font-weight:750}.critical-action-body input{height:42px;padding:0 11px;border:1px solid #cbd6da;border-radius:6px}.critical-action-body p{margin:0;padding:9px 10px;border-radius:6px;background:var(--danger-bg);color:var(--danger);font-size:var(--bs-text-9);font-weight:750}.critical-action-dialog footer{display:flex;justify-content:flex-end;gap:8px;padding:15px 22px;border-top:1px solid var(--line);background:#f8fafb}.critical-action-dialog footer button{min-height:38px}.maintenance-module-row input:disabled+span{opacity:.45;cursor:wait}
@media(max-width:1050px){.platform-settings-layout{grid-template-columns:1fr}.platform-settings-nav{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.platform-settings-nav>div{grid-column:1/-1}.platform-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.settings-scope-tabs{display:grid;grid-template-columns:1fr;width:100%}.platform-settings-nav{grid-template-columns:1fr 1fr}.platform-status-grid,.platform-metrics,.platform-check-list,.platform-email-form{grid-template-columns:1fr}.platform-email-form .platform-email-reason,.platform-email-form button{grid-column:auto}.platform-action-row{align-items:stretch;flex-direction:column}.platform-integration-list>div,.platform-event-row,.platform-backup-row{grid-template-columns:1fr}.platform-security-banner{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.profile-name-form{grid-template-columns:1fr}.profile-name-form button{width:100%}.planning-week-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.planning-week-toggle{width:100%}.planning-actions{display:grid;grid-template-columns:1fr}.planning-actions button{width:100%}}
.profile-security-card{flex-wrap:wrap}.profile-security-card>.profile-platform-mfa{display:block;flex:1 0 100%}.profile-security-card>.profile-platform-mfa.hidden{display:none}
@media(max-width:600px){.profile-platform-mfa-heading{display:grid}.profile-mfa-badge{justify-self:start}.profile-mfa-qr{grid-template-columns:1fr}.profile-mfa-verify{display:grid}.profile-mfa-verify input,.profile-mfa-verify button{width:100%}}

/* Diary attribution/presence and exact week-boundary geometry. */
.planning-table tfoot th:nth-child(6n+6):not(.planning-week-start){border-left:1px solid #d8e0e3!important}.planning-table .planning-week-start{border-left:3px solid #aebdc4!important}
.diary-date-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.diary-note-cell{position:relative;display:flex;min-width:0;flex-direction:column;background:#fff}.diary-field-presence{position:absolute;z-index:2;right:8px;top:7px;padding:4px 7px;border-radius:999px;background:#e8f6ef;color:#176548;font-size:var(--bs-text-8-5);font-weight:800;pointer-events:none}.diary-field-presence.remote{background:#fff0dc;color:#80540b}.diary-rich-editor{padding-top:24px!important}.diary-field-meta{display:block;min-height:20px;padding:3px 12px 6px;color:#7a8991;font-size:var(--bs-text-8);line-height:1.35}.diary-history-dialog{width:min(900px,92vw)}.diary-history-list{display:grid;gap:10px;max-height:65vh;overflow:auto;padding:16px 18px}.diary-history-item{border:1px solid var(--line);border-radius:8px;overflow:hidden}.diary-history-item header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:10px 12px;background:#f5f8f9}.diary-history-item header strong,.diary-history-item header span{display:block}.diary-history-item header strong{font-size:var(--bs-text-11)}.diary-history-item header span{margin-top:3px;color:var(--muted);font-size:var(--bs-text-8-5)}.diary-history-item header b{font-size:var(--bs-text-9);color:#647681}.diary-history-change{display:grid;grid-template-columns:1fr 1fr}.diary-history-change p{min-width:0;margin:0;padding:11px 12px;white-space:pre-wrap;overflow-wrap:anywhere;color:#344b57;font-size:var(--bs-text-10);line-height:1.5}.diary-history-change p+p{border-left:1px solid var(--line);background:#f7fcf9}.diary-history-change p>span{display:block;margin-bottom:5px;color:#7b8990;font-size:var(--bs-text-8);font-weight:850;text-transform:uppercase}
@media(max-width:600px){.diary-date-title{align-items:flex-start;flex-direction:column}.diary-history-change{grid-template-columns:1fr}.diary-history-change p+p{border-left:0;border-top:1px solid var(--line)}}

/* Prosjektspesifikke skift, søkbar allokering og lesbar skiftplan. */
.shift-workspace-title{display:flex;align-items:center;gap:8px}.shift-workspace-title h1{margin:0}.shift-workspace-title button{display:grid;place-items:center;width:28px;height:28px;border:1px solid #cbd6da;border-radius:7px;background:#fff;color:var(--navy);font-size:var(--bs-text-12);cursor:pointer}.shift-workspace-title button:hover{border-color:#8fa4ad;background:#f3f7f8}.shift-workspace-inline{display:flex;align-items:center;gap:6px;margin-top:8px}.shift-workspace-inline input{width:min(360px,70vw);height:35px;border:1px solid #bfcdd3;border-radius:6px;padding:0 10px;font-size:var(--bs-text-11)}.shift-workspace-inline button{height:35px;padding:0 10px;border:1px solid #cbd6da;border-radius:6px;background:#fff;color:var(--navy);font-size:var(--bs-text-9);font-weight:800}.shift-workspace-inline button[type="submit"]{border-color:var(--red);background:var(--red);color:#fff}
.shift-worker-picker-search{position:sticky;top:0;z-index:2;padding:8px;background:#f5f8f9;border-bottom:1px solid var(--line)}.shift-worker-picker-search input{width:100%;height:34px;border:1px solid #c4d0d5;border-radius:6px;padding:0 10px;background:#fff;color:var(--ink);font-size:var(--bs-text-10)}.shift-worker-picker-options{padding-top:4px}.shift-worker-picker-option{min-height:43px}.shift-worker-picker-option strong{font-size:var(--bs-text-10)}.shift-worker-picker-option small{font-size:var(--bs-text-8-5)}.shift-worker-picker-group>b{font-size:var(--bs-text-9)}
.shift-allocation-rotation{position:relative;height:44px!important;padding:0 11px!important;gap:9px!important;background:#fff!important;cursor:pointer}.shift-allocation-rotation>input{position:absolute;opacity:0;pointer-events:none}.shift-toggle-visual{position:relative;width:31px;height:18px;flex:none;border-radius:999px;background:#c7d1d5;box-shadow:inset 0 0 0 1px #aebdc4;transition:.18s}.shift-toggle-visual:after{content:"";position:absolute;left:3px;top:3px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #142c3a44;transition:.18s}.shift-allocation-rotation>input:checked+.shift-toggle-visual{background:#2f8b62;box-shadow:inset 0 0 0 1px #267653}.shift-allocation-rotation>input:checked+.shift-toggle-visual:after{transform:translateX(13px)}.shift-allocation-rotation-copy strong,.shift-allocation-rotation-copy small{display:block}.shift-allocation-rotation-copy strong{font-size:var(--bs-text-9);color:var(--navy)}.shift-allocation-rotation-copy small{margin-top:2px;font-size:var(--bs-text-7-5);color:var(--muted)}
.shift-allocation-shift{width:34px;height:28px;flex:none;border:1px solid #c5d1d6;border-radius:6px;padding:0 3px;background:#eef2f3;color:var(--navy);font-size:var(--bs-text-10);font-weight:900;text-align:center;cursor:pointer}.shift-allocation-shift:focus{outline:2px solid #7aa99066;outline-offset:1px}
.shift-grid .shift-worker-name{width:360px;min-width:360px;max-width:360px}.shift-grid tbody .shift-worker-name{height:46px}.shift-grid td{height:46px}.shift-grid td>button{height:45px}.shift-grid-worker-identity small{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.25;font-size:var(--bs-text-8-5)}.shift-grid-worker-identity strong{font-size:var(--bs-text-10)}.shift-grid thead th span{font-size:var(--bs-text-8-5)}.shift-grid thead th small{font-size:var(--bs-text-8)}
.shift-grid thead .shift-worker-name-head{display:flex;align-items:center;justify-content:space-between;gap:10px;height:46px;padding:7px 10px 7px 13px}.shift-grid-add-personnel{height:30px;padding:0 10px;border:1px solid #bfcdd3;border-radius:6px;background:#fff;color:var(--navy);font-size:var(--bs-text-8);font-weight:850;line-height:1;white-space:nowrap;cursor:pointer;text-transform:none}.shift-grid-add-personnel:hover:not(:disabled){border-color:var(--red);color:var(--red)}.shift-grid-add-personnel:disabled{cursor:not-allowed;opacity:.5}.shift-project-empty .shift-grid-add-personnel{display:block;margin:12px auto 0}.shift-directory-secondary{color:#526872;font-size:var(--bs-text-9-5);font-weight:650;line-height:1.4}
.shift-worker-row{grid-template-columns:minmax(230px,1.2fr) minmax(260px,1fr) 80px 140px}.shift-worker-row.editing{grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) minmax(340px,1.2fr) 70px 130px}.shift-worker-row.hired-editing{grid-template-columns:minmax(170px,1fr) minmax(140px,.7fr) minmax(330px,1.15fr) minmax(160px,.8fr) minmax(130px,.7fr) minmax(190px,1fr) 70px 130px}.shift-worker-identity strong{font-size:var(--bs-text-11)}.shift-worker-identity small{font-size:var(--bs-text-9-5);line-height:1.45;overflow-wrap:anywhere}.shift-worker-rotation{font-size:var(--bs-text-9-5);line-height:1.4}.shift-worker-state{font-size:var(--bs-text-9)}.shift-worker-actions button{font-size:var(--bs-text-9)}
.shift-worker-form{grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr) minmax(190px,.8fr) 145px minmax(220px,auto) auto}.shift-hired-worker-form{grid-template-columns:repeat(3,minmax(210px,1fr))}.shift-agency-card>header{padding:14px 15px}.shift-agency-card header strong{font-size:var(--bs-text-13);overflow-wrap:anywhere}.shift-agency-card header span{font-size:var(--bs-text-9-5)}.shift-agency-card header small{font-size:var(--bs-text-9);line-height:1.45;overflow-wrap:anywhere}.shift-agency-card button{font-size:var(--bs-text-9)}.shift-view-tabs button{font-size:var(--bs-text-11)}.shift-project-head p,.shift-official-head p{font-size:var(--bs-text-9)}.shift-project-head>div>span,.shift-official-head>div>span{font-size:var(--bs-text-10)}.shift-admin-empty,.shift-print-help{font-size:var(--bs-text-10)}.shift-project-admin-row strong{font-size:var(--bs-text-11)}.shift-project-admin-row small,.shift-project-admin-row>span{font-size:var(--bs-text-9-5)}.shift-holiday-row strong{font-size:var(--bs-text-10-5)}.shift-holiday-row small{font-size:var(--bs-text-9)}
@media(max-width:1250px){.shift-worker-row,.shift-worker-row.editing,.shift-worker-row.hired-editing{grid-template-columns:1fr 1fr}.shift-worker-row .shift-worker-actions,.shift-worker-row .shift-worker-rotation-edit{grid-column:1/-1}.shift-worker-form{grid-template-columns:1fr 1fr 1fr}.shift-grid .shift-worker-name{width:330px;min-width:330px;max-width:330px}}
@media(max-width:750px){.shift-grid .shift-worker-name{width:285px;min-width:285px;max-width:285px}.shift-worker-row,.shift-worker-row.editing,.shift-worker-row.hired-editing,.shift-worker-form,.shift-hired-worker-form{grid-template-columns:1fr}.shift-worker-row .shift-worker-actions,.shift-worker-row .shift-worker-rotation-edit{grid-column:auto}.shift-workspace-inline{align-items:stretch;flex-wrap:wrap}.shift-workspace-inline input{width:100%}}

/* Egress-efficient diary thumbnails and compact shift allocation controls. */
.diary-photo-placeholder{display:grid!important;place-items:center;align-content:center;gap:5px;width:100%;aspect-ratio:4/3;padding:0!important;background:#edf2f3;color:#647680}.diary-photo-placeholder b{font-size:var(--bs-text-25);font-weight:500}.diary-photo-placeholder small{font-size:var(--bs-text-9);font-weight:800}.diary-photo-preview-loading b{width:24px;height:24px;border:3px solid #cbd6da;border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite}.diary-photo-preview-error{background:#edf2f3;color:#536873}.attachment-preview-loading{display:grid;place-items:center;align-content:center;gap:11px;color:#536873}.attachment-preview-loading>span{width:28px;height:28px;border:3px solid #cbd6da;border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite}.attachment-preview-loading strong{font-size:var(--bs-text-11)}
.shift-allocation-rotation{height:32px!important;padding:0 2px!important;border:0!important;border-radius:0!important;background:transparent!important}.shift-allocation-rotation:focus-within{outline:2px solid #7aa99066;outline-offset:3px;border-radius:5px!important}.shift-allocation-rotation-copy strong{font-size:var(--bs-text-9-5)}.shift-worker-picker-options{padding:3px 5px 5px}.shift-worker-picker-option{min-height:32px;padding:4px 6px}.shift-worker-picker-option small{margin-top:1px;font-size:var(--bs-text-8)}.shift-worker-picker-group>b{padding:5px 6px 3px}
.shift-config{border-bottom:1px solid var(--line);background:#f8fafb}.shift-config>summary{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;color:var(--navy);font-size:var(--bs-text-9-5);font-weight:850;cursor:pointer;list-style:none}.shift-config>summary::-webkit-details-marker{display:none}.shift-config>summary:before{content:"›";font-size:var(--bs-text-15);transition:.15s}.shift-config[open]>summary:before{transform:rotate(90deg)}.shift-config>summary b{margin-left:auto;padding:4px 7px;border-radius:999px;background:#e5ecef;color:#536873;font-size:var(--bs-text-8)}.shift-config-body{display:grid;gap:7px;padding:0 18px 12px}.shift-config-row{display:grid;grid-template-columns:58px minmax(105px,1fr) 75px 75px 145px 110px 110px auto;gap:7px;align-items:end;padding:9px;border:1px solid #d8e1e4;border-radius:8px;background:#fff}.shift-config-row.new{border-style:dashed;background:#fbfcfc}.shift-config-row label{display:grid;gap:4px}.shift-config-row label>span{color:#687a83;font-size:var(--bs-text-7-5);font-weight:850;text-transform:uppercase}.shift-config-row input{min-width:0;height:33px;padding:0 7px;border:1px solid #c7d3d8;border-radius:5px;background:#fff;color:var(--ink);font-size:var(--bs-text-9)}.shift-config-row input[readonly]{background:#eef2f3;color:#536873;font-weight:900}.shift-config-actions{display:flex;gap:5px}.shift-config-actions button{height:33px;padding:0 9px;border:1px solid #bfcdd3;border-radius:5px;background:#fff;color:var(--navy);font-size:var(--bs-text-8);font-weight:850;white-space:nowrap}.shift-config-actions button.danger{border-color:#ecc1be;color:var(--danger)}.shift-config-row>small{grid-column:1/-1;color:var(--muted);font-size:var(--bs-text-8)}.shift-add-to-shift{display:grid!important;gap:3px!important;min-width:190px}.shift-add-to-shift>span{font-size:var(--bs-text-7-5)!important;font-weight:850!important;text-transform:uppercase}.shift-add-to-shift select{width:100%;height:34px;border:1px solid #c7d3d8;border-radius:6px;padding:0 8px;background:#fff;color:var(--navy);font-size:var(--bs-text-9);font-weight:800}.shift-worker-projects{color:var(--muted);font-size:var(--bs-text-9);line-height:1.4}.shift-worker-form{grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr) auto}.shift-worker-row.editing{grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) 70px 130px}.shift-worker-row.hired-editing{grid-template-columns:minmax(170px,1fr) minmax(140px,.7fr) minmax(160px,.8fr) minmax(130px,.7fr) minmax(190px,1fr) 70px 130px}
@media(max-width:1250px){.shift-config-row{grid-template-columns:58px 1fr 75px 75px 145px 110px 110px}.shift-config-actions{grid-column:1/-1}.shift-worker-form{grid-template-columns:1fr 1fr auto}}
@media(max-width:750px){.shift-config-body{padding:0 10px 10px}.shift-config-row{grid-template-columns:1fr 1fr}.shift-config-row label:nth-child(2),.shift-config-row label:nth-child(5),.shift-config-actions{grid-column:1/-1}.shift-worker-form{grid-template-columns:1fr}.shift-add-to-shift{min-width:0;width:100%}}

/* Senere patch: personelloppstart, stabile sammendragskolonner og samlet områdeadministrasjon. */
.shift-personnel-launch{align-items:center;justify-content:space-between}.shift-personnel-launch>div{display:grid;gap:3px}.shift-personnel-launch strong{color:var(--navy);font-size:var(--bs-text-10)}.shift-personnel-launch span{color:var(--muted);font-size:var(--bs-text-8-5)}.shift-personnel-launch button{margin-left:auto;white-space:nowrap}.shift-allocation-end-toggle{width:auto!important;min-width:42px;padding:0 5px!important;font-size:var(--bs-text-7-5)!important}.shift-allocation-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:5px}.shift-allocation-date-fields label{display:grid;gap:3px}.shift-allocation-date-fields span{color:var(--muted);font-size:var(--bs-text-7);font-weight:850;text-transform:uppercase}.shift-allocation-date-fields input{min-width:0;height:31px;border:1px solid #c8d4d8;border-radius:5px;padding:0 5px;font-size:var(--bs-text-8)}.shift-grid td.before-allocation,.shift-grid td.after-allocation{background:repeating-linear-gradient(135deg,#f4f6f7,#f4f6f7 5px,#e9edef 5px,#e9edef 10px)}
.shift-personnel-modal{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:22px;background:rgba(9,26,35,.68);backdrop-filter:blur(3px)}.shift-personnel-dialog{width:min(980px,96vw);max-height:min(760px,92vh);overflow:auto;border:1px solid #b9c7cc;border-radius:14px;background:#fff;box-shadow:0 28px 80px rgba(8,28,38,.32)}.shift-personnel-dialog>header{display:flex;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--line);background:#f8fafb}.shift-personnel-dialog>header p{margin:0 0 5px;color:var(--red);font-size:var(--bs-text-8);font-weight:900;letter-spacing:.12em}.shift-personnel-dialog>header h2{margin:0;color:var(--navy);font-size:var(--bs-text-20)}.shift-personnel-dialog>header span{display:block;margin-top:6px;color:var(--muted);font-size:var(--bs-text-10)}.shift-personnel-dialog>header button{width:34px;height:34px;border:1px solid #cbd5d9;border-radius:50%;background:#fff;color:var(--navy);font-size:var(--bs-text-19)}.shift-personnel-body{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(390px,1.1fr);min-height:420px}.shift-personnel-body>section{padding:20px 22px}.shift-personnel-workers{border-right:1px solid var(--line);background:#fbfcfc}.shift-personnel-workers>label,.shift-personnel-setup>label{display:grid;gap:6px}.shift-personnel-workers>label>span,.shift-personnel-setup>label>span{color:#60737d;font-size:var(--bs-text-8);font-weight:850;text-transform:uppercase}.shift-personnel-workers input[type="search"],.shift-personnel-setup select,.shift-personnel-setup input[type="date"]{width:100%;height:40px;border:1px solid #c2ced3;border-radius:7px;padding:0 11px;background:#fff;color:var(--ink);font-size:var(--bs-text-10)}.shift-personnel-options{max-height:330px;overflow:auto;margin-top:12px;border:1px solid #d7e0e3;border-radius:8px;background:#fff}.shift-personnel-options>p{padding:22px;color:var(--muted);font-size:var(--bs-text-10);text-align:center}.shift-personnel-options .shift-worker-picker-option{display:flex}.shift-personnel-setup{display:grid;align-content:start;grid-template-columns:1fr 1fr;gap:14px}.shift-personnel-info,.shift-personnel-setup>[data-personnel-preview]{grid-column:1/-1}.shift-personnel-info{padding:13px 14px;border-left:3px solid #e7aa25;border-radius:5px;background:#fff8e7}.shift-personnel-info b{color:var(--navy);font-size:var(--bs-text-10)}.shift-personnel-info p{margin:4px 0 0;color:#5f6e75;font-size:var(--bs-text-9);line-height:1.5}.shift-personnel-preview-head{display:flex;justify-content:space-between;gap:12px;margin:3px 0 8px;color:var(--navy);font-size:var(--bs-text-9)}.shift-personnel-preview-head span{color:var(--muted)}.shift-personnel-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.shift-personnel-calendar>div{display:grid;place-items:center;gap:2px;min-height:46px;border:1px solid #dbe3e6;border-radius:5px;background:#f5f7f8;color:#819098}.shift-personnel-calendar>div span{font-size:var(--bs-text-7)}.shift-personnel-calendar>div b{font-size:var(--bs-text-10)}.shift-personnel-calendar>div.work{border-color:#56a67c;background:#e4f5ec;color:#176d4c}.shift-personnel-calendar>div.sunday{border-color:#ecd0cd;background:#fff3f2;color:#9c4b4b}.shift-personnel-calendar>div.before{opacity:.5}.shift-personnel-setup>[data-personnel-preview]>p{margin:8px 0 0;color:var(--muted);font-size:var(--bs-text-8-5)}.shift-personnel-dialog>footer{display:flex;justify-content:flex-end;gap:9px;padding:15px 22px;border-top:1px solid var(--line);background:#f8fafb}.shift-personnel-dialog>footer button{min-width:120px}
.pour-area-admin-toggle{display:grid;place-items:center;width:34px;height:34px;border:1px solid #c4d0d5;border-radius:50%;background:#fff;color:var(--navy);font-size:var(--bs-text-14);cursor:pointer}.pour-area-admin-toggle:hover,.pour-area-admin-toggle.active{border-color:var(--red);background:var(--red);color:#fff}.pour-area-admin-tools{display:flex;gap:7px;padding:9px 0}.pour-area-admin-tools button{flex:1;min-width:0}.pour-area-item.admin{display:grid}.pour-area-admin-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:5px;padding:0 7px 7px}.pour-area-admin-row input{min-width:0;height:32px;border:1px solid #c5d1d6;border-radius:5px;padding:0 8px;color:var(--ink);font-size:var(--bs-text-9)}.pour-area-admin-row button{height:32px;border:1px solid #ecc3c1;border-radius:5px;background:#fff4f3;color:var(--danger);font-size:var(--bs-text-16)}.pour-area-item:not(.admin) .pour-area-actions{display:none}
.planning-table tfoot th{position:sticky!important;z-index:7;height:45px}.planning-table tfoot tr:first-child th{bottom:45px}.planning-table tfoot tr:last-child th{bottom:0}.planning-table tfoot tr:first-child th:first-child,.planning-table tfoot tr:last-child th:first-child{left:0;z-index:10;width:310px;min-width:310px;max-width:310px}.planning-table tfoot tr:first-child th:nth-child(2){left:310px;z-index:10;width:72px;min-width:72px;max-width:72px}.planning-table tfoot tr:first-child th:nth-child(3){left:382px;z-index:10;width:72px;min-width:72px;max-width:72px}.planning-table tfoot tr:first-child th:nth-child(4){left:454px;z-index:10;width:72px;min-width:72px;max-width:72px;box-shadow:5px 0 8px rgba(20,44,58,.08)}.planning-table tfoot .planning-availability-row th:nth-child(2){left:310px;z-index:10;width:216px;min-width:216px;max-width:216px;box-shadow:5px 0 8px rgba(20,44,58,.08)}
@media(max-width:750px){.shift-personnel-modal{padding:8px}.shift-personnel-dialog{max-height:96vh}.shift-personnel-dialog>header{padding:16px}.shift-personnel-body{grid-template-columns:1fr}.shift-personnel-body>section{padding:15px}.shift-personnel-workers{border-right:0;border-bottom:1px solid var(--line)}.shift-personnel-options{max-height:230px}.shift-personnel-setup{grid-template-columns:1fr}.shift-personnel-info,.shift-personnel-setup>[data-personnel-preview]{grid-column:auto}.shift-personnel-dialog>footer{position:sticky;bottom:0}.shift-personnel-launch{align-items:stretch;flex-direction:column}.shift-personnel-launch button{width:100%;margin-left:0}.shift-allocation-date-fields{grid-template-columns:1fr}}
@media(max-width:600px){.planning-table tfoot tr:first-child th:first-child,.planning-table tfoot tr:last-child th:first-child{width:320px;min-width:320px;max-width:320px}.planning-table tfoot tr:first-child th:nth-child(2){left:320px}.planning-table tfoot tr:first-child th:nth-child(3){left:415px}.planning-table tfoot tr:first-child th:nth-child(4){left:510px}.planning-table tfoot .planning-availability-row th:nth-child(2){left:320px;width:285px;min-width:285px;max-width:285px}}
.shift-personnel-options .shift-worker-picker-option.hidden{display:none!important}
.shift-hired-filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);gap:10px;margin:14px 0}.shift-hired-filters label{display:grid;gap:5px}.shift-hired-filters label>span{color:var(--muted);font-size:var(--bs-text-8);font-weight:850;text-transform:uppercase}.shift-hired-filters input,.shift-hired-filters select{min-height:38px;border:1px solid var(--line);border-radius:6px;padding:0 10px;background:#fff;color:var(--ink)}.shift-project-picker select{min-width:220px}.shift-project-admin-actions{display:flex;justify-content:flex-end;gap:6px}.shift-project-admin-actions .danger{border-color:#ecc1be;color:var(--danger)}@media(max-width:700px){.shift-hired-filters{grid-template-columns:1fr}.shift-project-picker{width:100%}.shift-project-picker select{width:100%;min-width:0}}

/* Visuelle registerflater for bemanning, innleie og bemanningsprosjekter. */
.shift-directory-card{padding:0;overflow:hidden;border-color:#d6e0e4;box-shadow:0 10px 30px rgba(18,43,55,.07)}
.shift-directory-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 26px 18px}.shift-directory-head .kicker{margin:0 0 7px;color:var(--red);font-size:var(--bs-text-8);font-weight:950;letter-spacing:.12em}.shift-directory-head h2{margin:0;color:var(--navy);font-size:var(--bs-text-20);letter-spacing:-.025em}.shift-directory-head p:not(.kicker){max-width:650px;margin:6px 0 0;color:var(--muted);font-size:var(--bs-text-10);line-height:1.5}.shift-directory-head-actions{display:flex;gap:8px}.shift-directory-head .primary-small,.shift-directory-head .secondary-btn{height:38px;white-space:nowrap}
.shift-directory-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 26px 18px;border:1px solid #dce5e8;border-radius:10px;background:#f8fafb}.shift-directory-metrics article{display:grid;gap:2px;padding:14px 16px;border-right:1px solid #dce5e8}.shift-directory-metrics article:last-child{border-right:0}.shift-directory-metrics span{color:#667a84;font-size:var(--bs-text-7-5);font-weight:900;letter-spacing:.05em;text-transform:uppercase}.shift-directory-metrics strong{color:var(--navy);font-size:var(--bs-text-22);line-height:1.1}.shift-directory-metrics small{color:#839198;font-size:var(--bs-text-8)}#shiftWorkersPanel .shift-directory-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.shift-collapsible-form{margin:0 26px 18px;padding:14px;border:1px solid #d7e1e4;border-radius:9px;background:#f7f9fa}.shift-collapsible-form:not(.hidden){animation:shift-form-in .16s ease-out}@keyframes shift-form-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.shift-directory-toolbar{display:grid;grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(150px,.7fr));gap:9px;padding:14px 26px;border-top:1px solid #e2e8ea;background:#fbfcfc}.shift-directory-toolbar label{display:grid;gap:5px}.shift-directory-toolbar label>span{color:#667983;font-size:var(--bs-text-7);font-weight:900;letter-spacing:.05em;text-transform:uppercase}.shift-directory-toolbar input,.shift-directory-toolbar select{min-width:0;height:38px;border:1px solid #c8d4d8;border-radius:7px;padding:0 10px;background:#fff;color:var(--ink);font-size:var(--bs-text-9-5)}.shift-directory-toolbar input:focus,.shift-directory-toolbar select:focus{outline:2px solid #5b9b7a44;border-color:#559170}
.shift-directory-table-head,.shift-directory-row{display:grid;align-items:center;gap:12px}.shift-directory-table-head{min-height:38px;padding:0 26px;border-top:1px solid #dce4e7;border-bottom:1px solid #cdd8dc;background:#eef3f5;color:#627680;font-size:var(--bs-text-7);font-weight:950;letter-spacing:.055em;text-transform:uppercase}.shift-directory-list{border:0;border-radius:0}.shift-directory-row{min-height:61px;padding:9px 26px;border-bottom:1px solid #e0e7e9;background:#fff}.shift-directory-row:hover{background:#fbfdfd}.shift-directory-row:last-child{border-bottom:0}.shift-worker-columns{grid-template-columns:minmax(190px,1.1fr) minmax(110px,.6fr) minmax(110px,.55fr) minmax(220px,1.25fr) 70px 105px}.shift-hired-columns{grid-template-columns:minmax(170px,1.15fr) minmax(125px,.8fr) minmax(110px,.65fr) minmax(105px,.6fr) minmax(180px,1.1fr) 65px 100px}.shift-project-columns{grid-template-columns:minmax(170px,1.1fr) 80px 55px minmax(135px,.9fr) 105px 62px 100px}
.shift-worker-identity{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px}.shift-worker-identity strong,.shift-worker-identity small{display:block;min-width:0}.shift-worker-identity strong{font-size:var(--bs-text-10-5);overflow-wrap:anywhere}.shift-worker-identity small{margin-top:3px;color:#75868e;font-size:var(--bs-text-7-5);overflow-wrap:anywhere}.shift-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e5eef1;color:#264857;font-size:var(--bs-text-9);font-weight:950}.shift-airport{width:max-content;max-width:100%;padding:5px 8px;border-radius:999px;background:#e7f2f8;color:#245873;font-size:var(--bs-text-8-5);font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift-airport.missing{background:#fff1d8;color:#82590b}.shift-worker-projects{display:flex;gap:4px;flex-wrap:wrap}.shift-worker-projects b,.shift-link-chip{width:max-content;padding:4px 7px;border-radius:999px;background:#eef2f4;color:#445e6a;font-size:var(--bs-text-8);font-weight:800}.shift-worker-state{width:max-content;padding:4px 8px;border-radius:999px;background:#edf0f1;color:#677980}.shift-worker-state.active{background:#e3f4e8;color:#207044}.shift-worker-actions{display:flex;justify-content:flex-end;align-items:center;gap:5px}.shift-worker-actions button,.shift-worker-actions summary,.shift-project-admin-actions button,.shift-project-admin-actions summary{display:grid;place-items:center;min-height:29px;padding:0 8px;border:1px solid #cbd6da;border-radius:6px;background:#fff;color:var(--navy);font-size:var(--bs-text-8);font-weight:850;cursor:pointer;list-style:none}.shift-worker-actions summary::-webkit-details-marker,.shift-project-admin-actions summary::-webkit-details-marker{display:none}.shift-worker-actions details,.shift-project-admin-actions details{position:relative}.shift-worker-actions details[open]>button,.shift-project-admin-actions details[open]>button{position:absolute;z-index:8;right:0;top:33px;min-width:90px;box-shadow:0 8px 22px #19364422}.shift-directory-footnote{display:block;padding:10px 26px;border-top:1px solid #e0e7e9;background:#fafcfc;color:#71838c;font-size:var(--bs-text-8);text-align:right}
.shift-subtabs{display:flex;gap:4px;margin:0 26px;padding:4px;border-radius:8px;background:#edf2f4;width:max-content}.shift-subtabs button{height:32px;padding:0 14px;border:0;border-radius:6px;background:transparent;color:#5f747e;font-size:var(--bs-text-9);font-weight:850}.shift-subtabs button.active{background:#fff;color:var(--navy);box-shadow:0 2px 7px #1e40531a}.shift-hired-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;margin-top:14px;border-top:1px solid #dde5e8}.shift-hired-overview-grid>.shift-agency-sidebar{padding:16px;border-left:1px solid #dde5e8;background:#f7f9fa}.shift-hired-overview-grid .shift-directory-toolbar{grid-template-columns:1fr 1fr;border-top:0}.shift-hired-overview-grid .shift-directory-table-head,.shift-hired-overview-grid .shift-directory-row{padding-left:18px;padding-right:18px}.shift-agency-sidebar .section-head{margin-bottom:11px}.shift-agency-sidebar .shift-agency-card>header{padding:11px}.shift-agency-sidebar .shift-agency-card>header>div:last-child,.shift-agency-sidebar .shift-agency-documents{display:none}#shiftHiredAgenciesView,#shiftHiredArchiveView{padding:18px 26px}#shiftHiredAgenciesView .shift-agency-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.shift-project-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;border-top:1px solid #dce4e7}.shift-project-overview-grid>.shift-project-sidebar{display:grid;align-content:start;gap:12px;padding:16px;border-left:1px solid #dde5e8;background:#f7f9fa}.shift-project-sidebar article{padding:15px;border:1px solid #d7e1e4;border-radius:9px;background:#fff}.shift-project-sidebar h3{margin:0;color:var(--navy);font-size:var(--bs-text-11)}.shift-project-sidebar p{display:grid;gap:4px;margin:7px 0 0;color:#647781;font-size:var(--bs-text-9);line-height:1.5}.shift-project-sidebar p strong{color:var(--navy)}.shift-project-sidebar p span{display:block}.shift-project-sidebar button{width:100%;margin-top:12px}.shift-project-admin-row{border-radius:0}.shift-project-admin-row>span{margin:0}.shift-project-admin-row>span>b{font-size:var(--bs-text-12);color:var(--navy)}.shift-project-admin-actions details{position:relative}
.shift-worker-editor-dialog{position:fixed;z-index:1300;inset:0 0 0 auto;width:min(460px,100vw);max-width:none;height:100dvh;max-height:none;margin:0 0 0 auto;padding:0;border:0;background:#fff;color:var(--ink);box-shadow:-24px 0 70px rgba(12,34,45,.25)}.shift-worker-editor-dialog[open]{display:block;animation:shift-drawer-in .2s ease-out}.shift-worker-editor-dialog::backdrop{background:rgba(10,29,39,.42);backdrop-filter:blur(1px)}@keyframes shift-drawer-in{from{transform:translateX(100%)}to{transform:none}}.shift-worker-editor-form{display:flex;min-height:100%;flex-direction:column}.shift-worker-editor-form>header{display:flex;justify-content:space-between;gap:20px;padding:24px;border-bottom:1px solid #dce4e7;background:#f7f9fa}.shift-worker-editor-form header p{margin:0 0 6px;color:var(--red);font-size:var(--bs-text-8);font-weight:950;letter-spacing:.1em}.shift-worker-editor-form header h3{margin:0;color:var(--navy);font-size:var(--bs-text-20)}.shift-worker-editor-form header span{display:block;margin-top:6px;color:var(--muted);font-size:var(--bs-text-9)}.shift-worker-editor-form header button{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:1px solid #cbd6da;border-radius:50%;background:#fff;color:var(--navy);font-size:var(--bs-text-19);cursor:pointer}.shift-worker-editor-fields{display:grid;gap:15px;overflow:auto;padding:24px}.shift-worker-editor-fields label{display:grid;gap:6px}.shift-worker-editor-fields label>span{color:#61757f;font-size:var(--bs-text-8);font-weight:850}.shift-worker-editor-fields input,.shift-worker-editor-fields select{width:100%;height:42px;border:1px solid #c5d2d7;border-radius:7px;padding:0 11px;background:#fff;color:var(--ink)}.shift-worker-editor-fields input:focus,.shift-worker-editor-fields select:focus{outline:2px solid #5b9b7a44;border-color:#559170}.shift-worker-editor-fields .shift-active-check{display:flex;align-items:center;gap:9px}.shift-worker-editor-fields .shift-active-check input{width:16px;height:16px}.shift-worker-editor-form>footer{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding:17px 24px;border-top:1px solid #dce4e7;background:#f7f9fa}.shift-worker-editor-form>footer button{height:39px;padding:0 14px;border:1px solid #c7d3d8;border-radius:7px;background:#fff;color:var(--navy);font-size:var(--bs-text-9);font-weight:850;cursor:pointer}.shift-worker-editor-form>footer .primary-small{background:var(--red);color:#fff;border-color:var(--red)}.shift-worker-editor-form>footer button:disabled{cursor:wait;opacity:.65}.shift-directory-row.is-selected{background:#f3f8fa;box-shadow:inset 3px 0 #559170}
@media(max-width:1250px){.shift-hired-overview-grid,.shift-project-overview-grid{grid-template-columns:1fr}.shift-hired-overview-grid>.shift-agency-sidebar,.shift-project-overview-grid>.shift-project-sidebar{border-left:0;border-top:1px solid #dde5e8}.shift-directory-table-head{display:none}.shift-worker-columns,.shift-hired-columns,.shift-project-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.shift-directory-row>div:first-child{grid-column:span 2}.shift-worker-actions,.shift-project-admin-actions{grid-column:auto}.shift-directory-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.shift-directory-head{padding:18px;flex-direction:column}.shift-directory-head-actions{width:100%;flex-wrap:wrap}.shift-directory-head-actions button,.shift-directory-head>button{flex:1}.shift-directory-metrics{grid-template-columns:1fr 1fr!important;margin:0 18px 14px}.shift-directory-metrics article:nth-child(2){border-right:0}.shift-directory-metrics article:nth-child(-n+2){border-bottom:1px solid #dce5e8}.shift-directory-toolbar{grid-template-columns:1fr;padding:12px 18px}.shift-worker-columns,.shift-hired-columns,.shift-project-columns{grid-template-columns:1fr}.shift-directory-row{padding:13px 18px}.shift-directory-row>div:first-child,.shift-worker-actions,.shift-project-admin-actions{grid-column:auto;justify-content:flex-start}.shift-subtabs{margin:0 18px;max-width:calc(100% - 36px);overflow:auto}#shiftHiredAgenciesView .shift-agency-list{grid-template-columns:1fr}.shift-hired-overview-grid .shift-directory-toolbar{grid-template-columns:1fr}.shift-hired-overview-grid .shift-directory-row{padding-left:18px;padding-right:18px}.shift-worker-editor-dialog{width:100vw}}

.shift-project-travel-form{grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end}.shift-project-travel-form label{display:grid;gap:5px}.shift-project-travel-form label>span{color:#61757f;font-size:var(--bs-text-8-5);font-weight:850}.shift-project-travel-form label input,.shift-project-travel-form label select{width:100%}.shift-project-travel-form>button{height:38px}.shift-project-travel-form .shift-iata-field{max-width:150px}.shift-project-travel-form #shiftProjectLink{min-width:210px}
.shift-travel-card{overflow:hidden}.shift-travel-head{padding:22px 26px}.shift-travel-head h2{font-size:var(--bs-text-22)}.shift-travel-card .shift-directory-head p:not(.kicker){max-width:720px;font-size:var(--bs-text-14);line-height:1.5}.shift-travel-head>button{min-height:42px;padding:0 16px;font-size:var(--bs-text-13);white-space:nowrap}
.shift-travel-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #dce4e7;border-bottom:1px solid #dce4e7;background:#fafcfc}.shift-travel-metrics button{position:relative;display:grid;min-height:92px;align-content:center;gap:4px;padding:14px 20px;border:0;border-right:1px solid #dce4e7;background:transparent;color:var(--navy);text-align:left;cursor:pointer}.shift-travel-metrics button:last-child{border-right:0}.shift-travel-metrics button:hover{background:#f2f7f8}.shift-travel-metrics button.active{background:#fff5e7;box-shadow:inset 4px 0 #df8426}.shift-travel-metrics button:focus-visible{z-index:1;outline:3px solid #2e759944;outline-offset:-3px}.shift-travel-metrics span{color:#617680;font-size:var(--bs-text-12);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.shift-travel-metrics strong{font-size:var(--bs-text-28);line-height:1.05;font-weight:750}.shift-travel-metrics small{color:#687c86;font-size:var(--bs-text-12);line-height:1.35}
.shift-travel-toolbar{grid-template-columns:minmax(180px,.8fr) minmax(210px,.9fr) 150px 150px minmax(240px,1.2fr);padding:15px 20px}.shift-travel-card .shift-directory-toolbar label>span{font-size:var(--bs-text-12)}.shift-travel-card .shift-directory-toolbar input,.shift-travel-card .shift-directory-toolbar select{height:42px;font-size:var(--bs-text-14)}
.shift-travel-warning{display:flex;gap:10px;align-items:flex-start;margin:0;padding:14px 20px;border-top:1px solid #e5b55f;border-bottom:1px solid #e5b55f;background:#fff8e8;color:#76520c;font-size:var(--bs-text-13);line-height:1.45}.shift-travel-warning strong{font-size:var(--bs-text-14);white-space:nowrap}
.shift-travel-workspace{display:grid;grid-template-columns:minmax(730px,1fr) 430px;min-height:565px;border-top:1px solid #dce4e7}.shift-travel-queue{min-width:0}.shift-travel-queue>header{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:18px;padding:0 18px;background:#edf3f5;border-bottom:1px solid #dce4e7}.shift-travel-queue>header>div{display:flex;align-items:baseline;gap:9px}.shift-travel-queue h3{margin:0;font-size:var(--bs-text-15)}.shift-travel-queue header span{color:#657984;font-size:var(--bs-text-12)}.shift-travel-queue header p{display:flex;align-items:center;gap:6px;margin:0;color:#667a84;font-size:var(--bs-text-11)}.shift-travel-queue header i{display:inline-block;width:8px;height:8px;margin-left:8px;border-radius:50%}.shift-travel-queue header i.overdue{background:#ca4f3f}.shift-travel-queue header i.urgent{background:#dc8529}
.shift-travel-list-head,.shift-travel-queue-row{display:grid;grid-template-columns:minmax(160px,1.05fr) minmax(130px,.75fr) minmax(180px,1.2fr) minmax(180px,1.2fr) minmax(125px,.75fr);gap:10px;align-items:center}.shift-travel-list-head{min-height:39px;padding:0 16px;background:#f8fafb;border-bottom:1px solid #dce4e7;color:#5d727d;font-size:var(--bs-text-10);font-weight:850;letter-spacing:.045em;text-transform:uppercase}.shift-travel-list{max-height:565px;overflow:auto;scrollbar-gutter:stable}.shift-travel-list>.shift-admin-empty{min-height:180px;display:grid;place-items:center;padding:30px;color:#6a7d87;font-size:var(--bs-text-14);text-align:center}
.shift-travel-queue-row{position:relative;min-height:96px;padding:11px 16px;border-bottom:1px solid #e0e7ea;background:#fff;cursor:pointer;transition:background .12s ease,box-shadow .12s ease}.shift-travel-queue-row:hover{background:#f7fafb}.shift-travel-queue-row.selected{background:#f0f7fb;box-shadow:inset 4px 0 #2676a5}.shift-travel-queue-row:focus-visible{outline:3px solid #2676a544;outline-offset:-3px}.shift-travel-queue-row.travel-deadline-overdue,.shift-travel-queue-row.travel-deadline-past{box-shadow:inset 4px 0 #ca4f3f}.shift-travel-queue-row.travel-deadline-today,.shift-travel-queue-row.travel-deadline-urgent{box-shadow:inset 4px 0 #dc8529}.shift-travel-queue-row.travel-deadline-soon{box-shadow:inset 4px 0 #d5aa2d}.shift-travel-queue-row.selected.travel-deadline-overdue,.shift-travel-queue-row.selected.travel-deadline-past,.shift-travel-queue-row.selected.travel-deadline-today,.shift-travel-queue-row.selected.travel-deadline-urgent,.shift-travel-queue-row.selected.travel-deadline-soon{box-shadow:inset 4px 0 #2676a5}
.shift-travel-bulk{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid #dce4e7;background:#f7fafb;color:#536c79;font-size:var(--bs-text-14)}.shift-travel-bulk button{min-height:42px}.shift-travel-bulk-choice{position:absolute;top:12px;left:9px;z-index:2;display:grid;place-items:center;width:28px;height:28px;cursor:pointer}.shift-travel-bulk-choice input{width:18px;height:18px;accent-color:#2676a5}.shift-travel-queue-row:has(.shift-travel-bulk-choice){padding-left:40px}
.shift-travel-person strong,.shift-travel-period strong{display:block;color:var(--navy);font-size:var(--bs-text-15);font-weight:650;line-height:1.3}.shift-travel-person span,.shift-travel-person small,.shift-travel-period span,.shift-travel-period small{display:block;margin-top:4px;color:#657984;font-size:var(--bs-text-12);line-height:1.35}.shift-travel-period span{color:#9b5420;font-weight:700}.shift-travel-hired-badge{display:inline-grid!important;width:20px;height:20px;margin-left:6px!important;place-items:center;border-radius:50%;background:#dceef8;color:#176a98!important;font-size:var(--bs-text-11)!important;font-weight:700;vertical-align:1px}
.shift-travel-leg-overview{min-width:0;padding:9px 10px;border:1px solid #cfdae0;border-radius:8px;background:#fff}.shift-travel-leg-overview strong,.shift-travel-leg-overview small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift-travel-leg-overview strong{font-size:var(--bs-text-13);font-weight:650}.shift-travel-leg-overview strong span{margin-right:6px;color:#2478a8}.shift-travel-leg-overview small{margin-top:5px;color:#647984;font-size:var(--bs-text-11)}.shift-travel-leg-overview.booked{border-color:#bcdcca;background:#f5fbf7}.shift-travel-leg-overview.not-required{border-color:#d5dde1;background:#f5f7f8;color:#697b84}.shift-travel-row-status{display:flex;align-items:center;justify-content:flex-end;gap:8px}.shift-travel-row-status>span{color:#3b697f;font-size:var(--bs-text-22)}.shift-travel-summary{display:inline-flex!important;max-width:125px;min-height:29px;align-items:center;justify-content:center;margin:0;padding:6px 10px;border-radius:999px;background:#fff0de;color:#8a4d12;font-size:var(--bs-text-11);font-weight:700;line-height:1.2;text-align:center}.shift-travel-summary.complete{background:#e3f4e8;color:#207044}.shift-travel-summary.profile{background:#fdeceb;color:#a44238}
.shift-travel-detail{position:relative;z-index:1;min-width:0;border-left:1px solid #afc2ce;background:#f2f6f8;box-shadow:-10px 0 24px rgba(35,77,98,.1)}.shift-travel-detail-empty{display:grid;min-height:520px;place-content:center;justify-items:center;padding:34px;color:#667b86;text-align:center}.shift-travel-detail-empty>span{display:grid;width:54px;height:54px;place-items:center;border-radius:50%;background:#e5f1f7;color:#2478a8;font-size:var(--bs-text-24)}.shift-travel-detail-empty strong{margin-top:14px;color:var(--navy);font-size:var(--bs-text-17)}.shift-travel-detail-empty p{max-width:250px;margin:7px 0 0;font-size:var(--bs-text-13);line-height:1.5}.shift-travel-detail-form{display:grid;gap:12px;padding:18px}.shift-travel-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:-18px -18px 0;padding:18px 18px 15px;border-bottom:1px solid #afc2ce;background:#e7f0f5}.shift-travel-detail-head p{margin:0 0 5px;color:var(--red);font-size:var(--bs-text-10);font-weight:900;letter-spacing:.08em}.shift-travel-detail-head h3{margin:0;color:var(--navy);font-size:var(--bs-text-19)}.shift-travel-detail-head>div>span{display:block;margin-top:5px;color:#627681;font-size:var(--bs-text-12);line-height:1.4}.shift-travel-detail-head>button{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border:1px solid #c8d5da;border-radius:8px;background:#fff;color:#60747f;font-size:var(--bs-text-20);cursor:pointer}.shift-travel-detail-priority{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:8px;background:#fff3e3;color:#8c5219}.shift-travel-detail-priority span{font-size:var(--bs-text-13);font-weight:750}.shift-travel-detail-priority small{font-size:var(--bs-text-11)}
.shift-travel-leg-editor{padding:13px;border:1px solid #d4dfe3;border-radius:9px;background:#fff}.shift-travel-leg-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.shift-travel-leg-editor header>div>span,.shift-travel-leg-editor header>div>strong,.shift-travel-leg-editor header>div>small{display:block}.shift-travel-leg-editor header>div>span{color:#526a77;font-size:var(--bs-text-12);font-weight:800;text-transform:uppercase}.shift-travel-leg-editor header>div>strong{margin-top:3px;color:var(--navy);font-size:var(--bs-text-15)}.shift-travel-leg-editor header>div>small{margin-top:3px;color:#687c86;font-size:var(--bs-text-11)}.shift-travel-leg-editor header label{display:grid;gap:4px}.shift-travel-leg-editor header label>span,.shift-travel-departure>span,.shift-travel-note>span{color:#5c717c;font-size:var(--bs-text-11);font-weight:750}.shift-travel-leg-editor select,.shift-travel-leg-editor input,.shift-travel-note textarea{width:100%;border:1px solid #c7d4d9;border-radius:7px;background:#fff;color:var(--ink);font-size:var(--bs-text-13)}.shift-travel-leg-editor select{height:37px;padding:0 30px 0 9px}.shift-travel-departure{display:grid;gap:5px;margin-top:9px}.shift-travel-departure input{height:39px;padding:0 9px}.shift-travel-leg-editor.outside{border-style:dashed;background:#f3f6f7;color:#687b85}.shift-travel-leg-editor.outside header b{padding:5px 8px;border-radius:999px;background:#e8edef;font-size:var(--bs-text-10)}.shift-travel-leg-editor.outside p{margin:10px 0 0;font-size:var(--bs-text-12);line-height:1.45}
.shift-travel-route{margin:10px 0 0}.shift-travel-route>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:7px;padding:8px 9px;border:1px solid #d3dde1;border-radius:7px;background:#f3f6f8}.shift-travel-route>div:first-child span{overflow-wrap:anywhere;font-size:var(--bs-text-12);font-weight:650;line-height:1.35}.shift-travel-route>div:first-child button{display:grid;width:30px;height:30px;place-items:center;border:1px solid #c5d2d7;border-radius:6px;background:#fff;color:var(--navy);font-size:var(--bs-text-13);cursor:pointer}.shift-travel-route.overridden>div:first-child{border-color:#d3aa45;background:#fff9e9}.shift-travel-route>small{display:block;margin:5px 0;color:#87610e;font-size:var(--bs-text-11)}.shift-travel-route-editor{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;margin-top:7px}.shift-travel-route-editor input{height:38px;margin:0;padding:0 8px}.shift-travel-route-editor button{grid-column:1/-1;width:max-content;border:0;background:transparent;color:#376b82;font-size:var(--bs-text-11);font-weight:750;cursor:pointer}.shift-travel-note{display:grid;gap:5px}.shift-travel-note textarea{min-height:70px;padding:9px;line-height:1.45;resize:vertical}.shift-travel-detail-form>footer{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}.shift-travel-detail-form>footer button{min-height:40px;padding:0 14px;font-size:var(--bs-text-13)}.shift-travel-detail-form>footer .primary-small{min-width:130px}
.shift-travel-stale{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(260px,1.5fr) auto;align-items:center;gap:16px;padding:14px 16px;border-bottom:1px solid #e4cf9e;background:#fff8e8;color:#71551d}.shift-travel-stale strong,.shift-travel-stale span{display:block}.shift-travel-stale strong{font-size:var(--bs-text-14)}.shift-travel-stale span{margin-top:3px;font-size:var(--bs-text-12)}.shift-travel-stale b{font-size:var(--bs-text-13)}.shift-travel-stale button{white-space:nowrap}
@media(max-width:1180px){.shift-travel-workspace{grid-template-columns:1fr}.shift-travel-queue{border-right:0}.shift-travel-detail{border-top:1px solid #afc2ce;border-left:0;box-shadow:0 -8px 22px rgba(35,77,98,.08)}.shift-travel-list{max-height:480px}.shift-travel-detail-empty{min-height:240px}.shift-travel-detail-form{max-width:720px;margin:0 auto}.shift-project-travel-form{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-travel-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.shift-travel-metrics{grid-template-columns:1fr 1fr}.shift-travel-metrics button:nth-child(2){border-right:0}.shift-travel-metrics button:nth-child(-n+2){border-bottom:1px solid #dce4e7}.shift-travel-list-head{display:none}.shift-travel-queue-row{grid-template-columns:1fr 1fr;padding:14px 18px}.shift-travel-person,.shift-travel-row-status{grid-column:1/-1}.shift-travel-row-status{justify-content:flex-start}.shift-travel-toolbar{grid-template-columns:1fr}.shift-travel-stale{grid-template-columns:1fr}.shift-travel-warning{flex-direction:column}.shift-travel-warning strong{white-space:normal}}
@media(max-width:560px){.shift-travel-metrics{grid-template-columns:1fr}.shift-travel-metrics button{border-right:0;border-bottom:1px solid #dce4e7}.shift-travel-queue-row{grid-template-columns:1fr}.shift-travel-person,.shift-travel-row-status{grid-column:auto}.shift-travel-head{padding:18px}.shift-travel-detail-form{padding:15px}.shift-travel-detail-head{margin:-15px -15px 0;padding:16px 15px 14px}.shift-travel-leg-editor>header{flex-direction:column}.shift-travel-leg-editor header label{width:100%}.shift-travel-route-editor{grid-template-columns:1fr}.shift-travel-route-editor>span{display:none}.shift-travel-route-editor button{grid-column:auto}}

/* Visuell årsplan for ferie. */
.shift-holiday-card{overflow:visible}
.shift-holiday-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:23px 26px 18px}
.shift-holiday-head .kicker{margin:0 0 6px;color:var(--red);font-size:var(--bs-text-8);font-weight:950;letter-spacing:.1em}
.shift-holiday-head h2{margin:0;color:var(--navy);font-size:var(--bs-text-20)}.shift-holiday-head p:not(.kicker){margin:5px 0 0;color:var(--muted);font-size:var(--bs-text-10)}
.shift-holiday-head-actions{display:flex;align-items:end;gap:8px}.shift-holiday-head-actions label{display:grid;gap:4px}.shift-holiday-head-actions label>span{color:#657984;font-size:var(--bs-text-7);font-weight:900;text-transform:uppercase}
.shift-holiday-head-actions select{height:37px;min-width:125px;border:1px solid #c8d4d8;border-radius:6px;padding:0 9px;background:#fff}.shift-holiday-head-actions .primary-small{height:37px}
.shift-holiday-create{grid-template-columns:minmax(240px,1.4fr) minmax(160px,.8fr) minmax(160px,.8fr) auto;margin:0 26px 16px;padding:13px;border:1px solid #d8e2e5;border-radius:9px;background:#f7f9fa}.shift-holiday-create label{display:grid;gap:4px}.shift-holiday-create label>span{color:#657984;font-size:var(--bs-text-8);font-weight:850}.shift-holiday-create>div{display:flex;justify-content:flex-end;align-items:end;gap:6px}.shift-holiday-create>div button{height:38px}
.shift-holiday-timeline{margin:0 26px 18px;border:1px solid #d7e1e4;border-radius:10px;overflow:hidden}.shift-holiday-months,.shift-holiday-timeline-row{display:grid;grid-template-columns:180px repeat(12,1fr)}.shift-holiday-months{min-height:34px;background:#eef3f5}.shift-holiday-months b{display:grid;place-items:center;border-left:1px solid #d9e2e5;color:#526873;font-size:var(--bs-text-8)}
.shift-holiday-timeline-row{min-height:62px;border-top:1px solid #dce4e7}.shift-holiday-timeline-row>div:first-child{grid-column:1;padding:13px 14px}.shift-holiday-timeline-row>div:first-child strong,.shift-holiday-timeline-row>div:first-child small{display:block}.shift-holiday-timeline-row>div:first-child strong{color:var(--navy);font-size:var(--bs-text-9-5)}.shift-holiday-timeline-row>div:first-child small{margin-top:3px;color:var(--muted);font-size:var(--bs-text-7-5)}.shift-holiday-timeline-row>div:last-child{position:relative;grid-column:2/14;background:repeating-linear-gradient(to right,transparent 0,transparent calc(8.333% - 1px),#e1e7e9 calc(8.333% - 1px),#e1e7e9 8.333%)}
.shift-holiday-bar{position:absolute;top:13px;height:35px;min-width:22px;overflow:hidden;border:1px solid #9bb5e6;border-radius:6px;background:#dce7fb;color:#254a7d;font-size:var(--bs-text-8);font-weight:850;text-align:left;cursor:default}.shift-holiday-bar span{display:block;overflow:hidden;padding:0 8px;text-overflow:ellipsis;white-space:nowrap}.shift-holiday-timeline-empty{position:absolute;inset:0;display:grid;place-items:center;color:#7b8d95;font-size:var(--bs-text-8)}
.shift-holiday-section-head{display:flex;align-items:flex-start;justify-content:space-between;padding:17px 26px 12px}.shift-holiday-section-head h3{margin:0;color:var(--navy);font-size:var(--bs-text-13)}.shift-holiday-section-head p{margin:3px 0 0;color:var(--muted);font-size:var(--bs-text-8-5)}
.shift-holiday-list-section{border-top:1px solid #dce4e7}.shift-holiday-table-head,.shift-holiday-row{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(150px,.65fr) minmax(100px,.45fr) 38px;align-items:center;gap:10px}.shift-holiday-table-head{min-height:36px;padding:0 26px;border-top:1px solid #dce4e7;border-bottom:1px solid #dce4e7;background:#eef3f5;color:#627680;font-size:var(--bs-text-7);font-weight:950;text-transform:uppercase}.shift-holiday-row{padding:10px 26px;border:0;border-bottom:1px solid #e0e7e9;border-radius:0}.shift-holiday-row>div:first-child{display:flex;align-items:center;gap:9px}.shift-holiday-row strong,.shift-holiday-row small{display:block}.shift-holiday-row strong{font-size:var(--bs-text-10)}.shift-holiday-row small{margin-top:2px;color:var(--muted);font-size:var(--bs-text-8)}.shift-holiday-row>span{color:#526872;font-size:var(--bs-text-9)}.shift-holiday-row>span b{color:var(--navy)}
.shift-holiday-swatch{flex:0 0 auto;width:18px;height:18px;background:#b9cdf5}.shift-holiday-row button.danger{width:32px;color:#7b8b92}
@media(max-width:900px){.shift-holiday-head{align-items:flex-start;flex-direction:column}.shift-holiday-create{grid-template-columns:1fr 1fr}.shift-holiday-create>div{grid-column:1/-1}.shift-holiday-months,.shift-holiday-timeline-row{grid-template-columns:135px repeat(12,minmax(46px,1fr))}.shift-holiday-timeline{overflow-x:auto}.shift-holiday-months,.shift-holiday-timeline-row{min-width:760px}}
@media(max-width:620px){.shift-holiday-create{grid-template-columns:1fr}.shift-holiday-create>div{grid-column:auto}.shift-holiday-table-head{display:none}.shift-holiday-row{grid-template-columns:1fr auto}.shift-holiday-row>div:first-child{grid-column:1/-1}}

/* Booked travel remains visually confirmed outside the editable allocation range. */
.shift-grid td.travel-booked.before-allocation,.shift-grid td.travel-booked.after-allocation{background:#dcefff!important}
.shift-grid td.travel-booked.before-allocation>button,.shift-grid td.travel-booked.after-allocation>button{background:#c5e3f7!important;cursor:not-allowed}

/* Filter-aware rebar totals stay visible while the delivery table scrolls. */
.rebar-table tfoot th{position:sticky;bottom:0;z-index:2;border-top:2px solid #b8c8cf;background:#eaf1f4;color:var(--navy);font-size:var(--bs-text-10)}
.rebar-table tfoot .rebar-number{white-space:nowrap;text-align:right}

/* Kundeoppsett, tydelige tilgangspakker og operativ backupstatus. */
.access-model-note{display:grid;gap:4px;margin:0 0 13px;padding:11px 12px;border:1px solid #c9dce5;border-radius:8px;background:#f1f8fb}.access-model-note strong{color:var(--navy);font-size:var(--bs-text-10)}.access-model-note span{color:#55707d;font-size:var(--bs-text-9);line-height:1.45}.customer-onboarding-details>summary{font-size:var(--bs-text-10)}.customer-onboarding-form{display:grid;gap:14px;margin-top:13px}.customer-onboarding-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden;border:1px solid #d4dee2;border-radius:8px;background:#f4f7f8}.customer-onboarding-progress span{position:relative;padding:10px 8px;color:#6a7d86;font-size:var(--bs-text-8);font-weight:850;text-align:center}.customer-onboarding-progress span+span{border-left:1px solid #dbe3e6}.customer-onboarding-progress span.active{background:var(--navy);color:#fff}.customer-onboarding-form fieldset{min-width:0;margin:0;padding:13px;border:1px solid var(--line);border-radius:9px;background:#fbfcfc}.customer-onboarding-form legend{padding:0 6px;color:var(--navy);font-size:var(--bs-text-10);font-weight:900}.customer-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.customer-form-grid label,.customer-onboarding-form>.platform-email-reason{display:grid;gap:5px}.customer-form-grid label.wide{grid-column:1/-1}.customer-form-grid label>span,.customer-onboarding-form>.platform-email-reason>span{color:#536a75;font-size:var(--bs-text-8-5);font-weight:850}.customer-form-grid input,.customer-form-grid select,.customer-onboarding-form textarea{width:100%;border:1px solid #c8d4d8;border-radius:6px;background:#fff;color:var(--ink)}.customer-form-grid input,.customer-form-grid select{height:39px;padding:0 10px}.customer-form-grid small{color:var(--muted);font-size:var(--bs-text-7-5);line-height:1.35}.customer-onboarding-form textarea{min-height:72px;padding:9px;resize:vertical}.customer-agreement-note{margin:11px 0 0;padding:10px 11px;border-radius:7px;background:#fff8e8;color:#76570f;font-size:var(--bs-text-8-5);line-height:1.5}.customer-form-actions,.platform-backup-actions{display:flex;justify-content:flex-end;gap:8px}.company-license-row{align-items:flex-start}.company-license-row.pending{border-left:4px solid #d39a24;background:#fffaf0}.company-license-row .company-customer-details{display:grid;gap:3px;margin-top:7px}.company-license-row .company-customer-details small{margin:0}.company-agreement-statuses{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.company-agreement-statuses button,.company-agreement-statuses span{min-height:26px;padding:5px 7px;border:1px solid #d6e0e3;border-radius:999px;background:#f5f8f9;color:#576d77;font-size:var(--bs-text-7-5);font-weight:800}.company-agreement-statuses button{cursor:pointer}.company-agreement-statuses .accepted{border-color:#bfe0cc;background:#e8f5ed;color:#176548}.company-agreement-statuses .pending{border-color:#e5ce91;background:#fff6dc;color:#82600f}.company-license-status.pending{background:#fff1c9;color:#815e0b}.platform-backup-actions{justify-content:flex-start;margin-top:12px}.platform-backup-actions button{min-height:36px}.platform-backup-row.not_connected,.platform-backup-row.warning{border-left:3px solid #d39a24}.platform-backup-row.failed{border-left:3px solid var(--danger)}
.platform-pilot-card{border-top:4px solid var(--navy)}.platform-pilot-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:3px 0 13px;padding:14px 15px;border:1px solid #edb9b5;border-radius:8px;background:#fff5f4}.platform-pilot-summary.ready{border-color:#acd7c3;background:#edf8f3}.platform-pilot-summary strong,.platform-pilot-summary span{display:block}.platform-pilot-summary strong{color:#9b342f;font-size:var(--bs-text-12)}.platform-pilot-summary.ready strong{color:#176548}.platform-pilot-summary span{color:#6f5a58;font-size:var(--bs-text-9)}.platform-pilot-summary.ready span{color:#486e5e}.platform-readiness-list{display:grid;gap:7px}.platform-readiness-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid #e3aaa6;border-radius:8px;background:#fffafa}.platform-readiness-row>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#f8deda;color:#9e342f;font-size:var(--bs-text-11);font-weight:950}.platform-readiness-row>div{min-width:0}.platform-readiness-row strong,.platform-readiness-row small{display:block}.platform-readiness-row strong{color:var(--navy);font-size:var(--bs-text-10)}.platform-readiness-row small{margin-top:3px;color:var(--muted);font-size:var(--bs-text-8-5);line-height:1.4}.platform-readiness-row>b{padding:5px 8px;border-radius:999px;background:#fff0ef;color:#a33832;font-size:var(--bs-text-8);white-space:nowrap}.platform-readiness-row.healthy{border-color:#cce2d5;background:#f7fbf9}.platform-readiness-row.healthy>span{background:#dff1e7;color:#176548}.platform-readiness-row.healthy>b{background:#e1f2e8;color:#176548}.platform-readiness-row.warning{border-color:#e9d394;background:#fffbef}.platform-readiness-row.warning>span,.platform-readiness-row.warning>b{background:#fff1c9;color:#815e0b}.platform-pilot-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:13px}.platform-pilot-actions a{color:#286c54;font-size:var(--bs-text-9);font-weight:850;text-decoration:none}.platform-pilot-actions a:hover{text-decoration:underline}
.agreement-template-panel{display:grid;gap:10px;margin-bottom:15px;padding:13px;border:1px solid #cbdde4;border-radius:9px;background:#f4f9fb}.agreement-template-panel>div:first-child strong,.agreement-template-panel>div:first-child small{display:block}.agreement-template-panel>div:first-child strong{font-size:var(--bs-text-11)}.agreement-template-panel>div:first-child small{margin-top:3px;color:var(--muted);font-size:var(--bs-text-8-5);line-height:1.45}.agreement-template-list{display:grid;gap:6px}.agreement-template-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid #d6e1e5;border-radius:7px;background:#fff}.agreement-template-row strong,.agreement-template-row small{display:block}.agreement-template-row strong{font-size:var(--bs-text-9-5)}.agreement-template-row small{margin-top:3px;color:var(--muted);font-size:var(--bs-text-7-5)}.agreement-template-row .missing{color:var(--danger);font-weight:800}.agreement-template-actions{display:flex;gap:5px}.agreement-template-actions button{height:29px;padding:0 8px;border:1px solid #c9d5d9;border-radius:6px;background:#fff;color:#29434f;font-size:var(--bs-text-8);font-weight:800}.company-profile-missing{margin-top:7px!important;color:var(--danger)!important;font-weight:800}.company-agreement-statuses .document-link{border-color:#c7d9e0;background:#f3f8fa;color:#254b5e}.company-license-actions{flex-wrap:wrap;justify-content:flex-end}.company-license-actions .company-license-delete{border-color:#efb1ad;color:var(--danger)}
.customer-invite-panel{display:grid;gap:14px;margin:0 0 16px;padding:15px;border:1px solid #bcd5df;border-radius:10px;background:#f4f9fb}.customer-invite-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.customer-invite-head strong,.customer-invite-head small{display:block}.customer-invite-head strong{color:var(--navy);font-size:var(--bs-text-11)}.customer-invite-head small{margin-top:3px;color:var(--muted);font-size:var(--bs-text-8-5)}.customer-invite-head>span{padding:5px 7px;border-radius:999px;background:#dcebf1;color:#315c6e;font-size:var(--bs-text-7);font-weight:900;letter-spacing:.05em}.customer-invite-progress{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid #d4e0e4;border-radius:7px;background:#fff}.customer-invite-progress span{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;color:#667b85;font-size:var(--bs-text-7-5);font-weight:850;text-align:center}.customer-invite-progress span+span{border-left:1px solid #dce5e8}.customer-invite-progress b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#e5ecef;color:#526a75;font-size:var(--bs-text-7)}.customer-invite-progress .active{background:var(--navy);color:#fff}.customer-invite-progress .active b{background:#fff;color:var(--navy)}.customer-invite-grid{display:grid;grid-template-columns:1fr 1fr 150px;gap:10px}.customer-invite-grid label{display:grid;gap:5px}.customer-invite-grid label.wide{grid-column:1/-1}.customer-invite-grid label>span{color:#536a75;font-size:var(--bs-text-8);font-weight:850}.customer-invite-grid input,.customer-invite-grid select,.customer-invite-grid textarea{width:100%;border:1px solid #c8d4d8;border-radius:6px;background:#fff;color:var(--ink)}.customer-invite-grid input,.customer-invite-grid select{height:39px;padding:0 10px}.customer-invite-grid textarea{min-height:58px;padding:9px;resize:vertical}.customer-editor-note{margin:0;padding:10px 11px;border-left:3px solid #5f8798;background:#f1f7f9;color:#526c78;font-size:var(--bs-text-8-5);line-height:1.45}.customer-invitation-status{display:grid;gap:2px;margin-top:8px;padding:9px 10px;border-left:3px solid #d39a24;background:#fff7df}.customer-invitation-status strong{color:#765b15;font-size:var(--bs-text-9)}.customer-invitation-status small{margin:0!important}
@media(max-width:700px){.customer-onboarding-progress,.customer-invite-progress{grid-template-columns:1fr}.customer-onboarding-progress span+span,.customer-invite-progress span+span{border-top:1px solid #dbe3e6;border-left:0}.customer-form-grid,.customer-invite-grid{grid-template-columns:1fr}.customer-form-grid label.wide,.customer-invite-grid label.wide{grid-column:auto}.customer-form-actions,.platform-backup-actions{align-items:stretch;flex-direction:column}.customer-form-actions button,.platform-backup-actions button{width:100%}.customer-invite-head{align-items:flex-start;flex-direction:column}.agreement-template-row{grid-template-columns:1fr}.agreement-template-actions{flex-wrap:wrap}.company-license-actions{justify-content:flex-start}.platform-pilot-summary{align-items:flex-start;flex-direction:column}.platform-readiness-row{grid-template-columns:30px minmax(0,1fr)}.platform-readiness-row>b{grid-column:2;justify-self:start}.platform-pilot-actions{align-items:stretch;flex-direction:column}.platform-pilot-actions button{width:100%}}

/* Visuelt skiftoppsett. */
.shift-config-overview{border-top:1px solid #dde5e8;border-bottom:1px solid #dde5e8;background:#f7f9fa;padding:14px 18px}.shift-config-overview>header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:11px}.shift-config-overview>header strong,.shift-config-overview>header span{display:block}.shift-config-overview>header strong{color:var(--navy);font-size:var(--bs-text-12)}.shift-config-overview>header span{margin-top:3px;color:var(--muted);font-size:var(--bs-text-9)}.shift-config-overview>header button,.shift-config-card-head button{height:31px;border:1px solid #c6d3d8;border-radius:6px;background:#fff;color:var(--navy);font-size:var(--bs-text-8-5);font-weight:850;cursor:pointer}.shift-config-overview>header button{padding:0 11px}.shift-config-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px}.shift-config-card{padding:11px;border:1px solid #d7e1e4;border-radius:9px;background:#fff;box-shadow:0 3px 10px rgba(18,43,55,.04)}.shift-config-card-head{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px}.shift-config-card-head strong,.shift-config-card-head small{display:block}.shift-config-card-head strong{color:var(--navy);font-size:var(--bs-text-11)}.shift-config-card-head small{margin-top:2px;color:var(--muted);font-size:var(--bs-text-8)}.shift-config-card-head button{padding:0 9px}.shift-config-badge{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:#173548;color:#fff;font-size:var(--bs-text-11);font-weight:950}.shift-config-cycle{display:flex;min-height:38px;margin:13px 0 6px;overflow:hidden;border-radius:7px;background:#edf1f2}.shift-config-cycle>span{display:flex;min-width:72px;align-items:center;justify-content:space-between;gap:6px;padding:0 10px}.shift-config-cycle>span.work{background:#64b94d;color:#fff}.shift-config-cycle>span.off{background:#e6ecee;color:#536a75}.shift-config-cycle b,.shift-config-cycle small{font-size:var(--bs-text-8)}.shift-config-cycle b{font-weight:900}.shift-config-cycle small{opacity:.9}.shift-config-cycle-caption{display:flex;justify-content:space-between;gap:10px;color:#6c7e87;font-size:var(--bs-text-7-5)}.shift-preset-card>div>i{height:9px;border-radius:2px;background:#e8edef}.shift-preset-card>div>i.work{background:#66b84e}.shift-config-card-foot{display:flex;align-items:center;gap:7px;margin-top:8px;flex-wrap:wrap;color:#6c7e87;font-size:var(--bs-text-8)}.shift-config-card-foot span{padding:3px 6px;border-radius:999px;background:#f0f4f5}.shift-config-card-foot .adjusted{background:#fff0cf;color:#805b10}
.shift-config-dialog{width:min(1180px,calc(100vw - 28px));max-width:none;max-height:94vh;padding:0;border:0;border-radius:13px;background:#fff;color:var(--ink);box-shadow:0 24px 90px rgba(12,34,45,.32)}.shift-config-dialog::backdrop{background:rgba(10,29,39,.45);backdrop-filter:blur(2px)}.shift-config-dialog-form{display:flex;max-height:94vh;flex-direction:column}.shift-config-dialog-form>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid #dce4e7;background:#fbfcfc}.shift-config-dialog-form>header p{margin:0 0 5px;color:var(--red);font-size:var(--bs-text-8);font-weight:950;letter-spacing:.1em}.shift-config-dialog-form>header h2{margin:0;color:var(--navy);font-size:var(--bs-text-21)}.shift-config-dialog-form>header span{display:block;margin-top:5px;color:var(--muted);font-size:var(--bs-text-9)}.shift-config-dialog-form>header button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #cad5da;border-radius:50%;background:#fff;color:var(--navy);font-size:var(--bs-text-19);cursor:pointer}.shift-config-dialog-body{overflow:auto}.shift-config-step{padding:16px 24px;border-bottom:1px solid #e0e7e9}.shift-config-step-title{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.shift-config-step-title>b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#173548;color:#fff;font-size:var(--bs-text-9)}.shift-config-step-title h3{margin:0;color:var(--navy);font-size:var(--bs-text-13)}.shift-config-step-title p{margin:3px 0 0;color:var(--muted);font-size:var(--bs-text-9)}.shift-preset-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:15px}.shift-preset-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.shift-preset-card{display:block;padding:11px;border:1px solid #d3dde1;border-radius:9px;background:#fff;cursor:pointer}.shift-preset-card.selected{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.shift-preset-card>input{width:15px;height:15px;margin:0 6px 0 0;accent-color:var(--red)}.shift-preset-card>strong{color:var(--navy);font-size:var(--bs-text-12)}.shift-preset-card>div{display:grid;grid-template-columns:repeat(14,1fr);gap:3px;margin:12px 0 9px}.shift-preset-card>span{color:#647781;font-size:var(--bs-text-8-5)}.shift-preset-card.custom>div{grid-template-columns:1fr 1fr;gap:7px}.shift-preset-card.custom>div label{display:grid;gap:3px;color:#657984;font-size:var(--bs-text-8)}.shift-preset-card.custom input[type=number]{width:100%;height:30px;border:1px solid #c8d4d8;border-radius:5px;padding:0 7px}.shift-config-basics{display:grid;gap:8px;padding-left:14px;border-left:1px solid #dde5e8}.shift-config-basics label,.shift-config-holiday-select,.shift-config-resume{display:grid;gap:4px}.shift-config-basics label>span,.shift-config-holiday-select>span,.shift-config-resume>span{color:#627680;font-size:var(--bs-text-8);font-weight:850}.shift-config-basics input,.shift-config-holiday-select select,.shift-config-resume input{width:100%;height:36px;border:1px solid #c7d3d8;border-radius:6px;padding:0 9px;background:#fff}.shift-config-basics>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.shift-config-basics>small{padding:8px;border-radius:6px;background:#eef3f5;color:#536a75;font-size:var(--bs-text-8)}
.shift-config-weeks{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #d7e1e4;border-radius:8px;overflow:hidden}.shift-config-weeks>div{border-right:1px solid #d7e1e4;border-bottom:1px solid #d7e1e4}.shift-config-weeks>div:nth-child(4n){border-right:0}.shift-config-weeks>div:nth-last-child(-n+4){border-bottom:0}.shift-config-weeks header{display:flex;justify-content:space-between;padding:6px 8px;background:#f2f5f6}.shift-config-weeks header strong{color:var(--navy);font-size:var(--bs-text-8)}.shift-config-weeks header span{color:#71838c;font-size:var(--bs-text-7)}.shift-config-weeks>div>div{display:grid;grid-template-columns:repeat(7,1fr)}.shift-config-weeks i{display:grid;place-items:center;gap:1px;height:38px;border-right:1px solid #e2e8ea;background:#edf1f2;color:#6f8088;font-style:normal}.shift-config-weeks i:last-child{border-right:0}.shift-config-weeks i.work{background:#69bb50;color:#fff}.shift-config-weeks i.holiday{background:#d8c4f3;color:#4d3470}.shift-config-weeks i span{font-size:var(--bs-text-6);text-transform:uppercase}.shift-config-weeks i b{font-size:var(--bs-text-8)}.shift-config-legend{display:flex;gap:15px;margin-top:9px;color:#657984;font-size:var(--bs-text-8)}.shift-config-legend span:before{content:"";display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:2px;background:#edf1f2;vertical-align:-1px}.shift-config-legend .work:before{background:#69bb50}.shift-config-legend .holiday:before{background:#d8c4f3}.shift-config-legend .adjusted:before{background:#efa52f}.shift-config-holiday{background:#fffaf0}.shift-config-holiday-grid{display:grid;grid-template-columns:minmax(310px,.85fr) minmax(0,1.15fr);gap:14px}.shift-adjustment-options{display:grid;gap:7px;margin:9px 0}.shift-adjustment-options>label{display:flex;gap:9px;padding:9px;border:1px solid #d5dfe3;border-radius:7px;background:#fff;cursor:pointer}.shift-adjustment-options>label:has(input:checked){border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.shift-adjustment-options input{width:15px;height:15px;accent-color:var(--red)}.shift-adjustment-options strong,.shift-adjustment-options small{display:block}.shift-adjustment-options strong{color:var(--navy);font-size:var(--bs-text-9)}.shift-adjustment-options small{margin-top:2px;color:#6c7e87;font-size:var(--bs-text-8)}.shift-config-impact{padding:12px;border:1px solid #e2c77f;border-radius:8px;background:#fff}.shift-config-impact-empty{display:grid;place-items:center;min-height:150px;text-align:center}.shift-config-impact-empty strong{color:var(--navy);font-size:var(--bs-text-11)}.shift-config-impact-empty p{max-width:300px;color:var(--muted);font-size:var(--bs-text-9)}.shift-config-impact-note{display:flex;justify-content:space-between;gap:15px;padding:9px;border-radius:6px;background:#fff3d6}.shift-config-impact-note strong{color:#7f5510;font-size:var(--bs-text-10)}.shift-config-impact-note span{color:#7f6331;font-size:var(--bs-text-8)}.shift-config-compare{display:grid;gap:5px;margin:11px 0}.shift-config-compare>span{text-align:center;color:#9b6c16}.shift-config-compare-row{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:7px}.shift-config-compare-row>strong{font-size:var(--bs-text-8)}.shift-config-compare-row>div{display:grid;grid-template-columns:repeat(35,1fr);gap:1px}.shift-config-compare-row i{height:13px;background:#edf1f2}.shift-config-compare-row i.work{background:#69bb50}.shift-config-compare-row i.holiday{background:#d8c4f3}.shift-config-impact>button{border:0;background:transparent;color:#27627f;font-size:var(--bs-text-8);font-weight:850;cursor:pointer}.shift-config-dialog-form>footer{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;padding:14px 24px;border-top:1px solid #dce4e7;background:#f7f9fa}.shift-config-dialog-form>footer button{height:38px;padding:0 13px;border:1px solid #c7d3d8;border-radius:7px;background:#fff;color:var(--navy);font-size:var(--bs-text-9);font-weight:850;cursor:pointer}.shift-config-dialog-form>footer .danger{border-color:#e8b9b5;color:var(--danger)}.shift-config-dialog-form>footer .primary-small{border-color:var(--red);background:var(--red);color:#fff}

/* Samlet, dokumenterbar elektronisk avtaleaksept. */
.company-agreement-bundle{display:flex;align-items:center;gap:7px;margin-top:8px}
.company-agreement-bundle .agreement-bundle-action{min-height:31px;padding:0 11px;border:1px solid var(--red);border-radius:7px;background:var(--red);color:#fff;font-size:var(--bs-text-8);font-weight:900;cursor:pointer}
.company-agreement-bundle .agreement-bundle-action:disabled{border-color:#cbd6da;background:#e8edef;color:#71828a;cursor:not-allowed}
.agreement-bundle-receipt{display:inline-flex;align-items:center;min-height:28px;padding:5px 8px;border:1px solid #bfe0cc;border-radius:999px;background:#e8f5ed;color:#176548;font-size:var(--bs-text-8);font-weight:850}


/* Dagbok UI preview: roligere navigasjon, én datokontekst og kompakte tomme felt. */
#diaryView .view-heading{align-items:flex-end;margin-bottom:22px}
#diaryView .view-heading h1{letter-spacing:-.035em}
#diaryView .diary-heading-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:9px}
#diaryView .diary-heading-actions .secondary-btn{border-color:#d2dce0;background:#fbfcfc;box-shadow:none;color:#29424f}
#diaryView .diary-heading-actions .secondary-btn:hover{border-color:#aebec5;background:#f5f8f9}
#diaryView .diary-heading-actions .save-state{display:inline-flex;align-items:center;min-height:30px;margin:0;padding:0 9px;border-radius:999px;background:#edf8f2;color:#167049;font-size:var(--bs-text-10);font-weight:800;white-space:nowrap}

.diary-layout{grid-template-columns:248px minmax(0,1fr);gap:14px}
.day-list-card{padding:16px;border-color:#dce4e7;box-shadow:0 7px 22px rgba(19,43,55,.055)}
.day-list-card .section-head{margin-bottom:12px}
.day-list-card .section-head h3{font-size:var(--bs-text-14)}
.day-list-card .section-head p{margin-top:3px;color:#71828b}
.diary-search{margin-bottom:14px}
.diary-search>span:first-child{color:#344d59;font-size:var(--bs-text-10)}
.diary-search-control input{height:40px;border-color:#d6e0e4;background:#fbfcfc}
.diary-month-group{border-color:#dde5e8;border-radius:9px}
.diary-month-summary{min-height:40px;padding:0 11px;background:#f7f9fa}
.diary-month-group[open]>.diary-month-summary{border-bottom-color:#e5eaec;background:#f2f5f6}
.diary-month-days{gap:2px;padding:5px}
.diary-month-days .day-item{min-height:42px;padding:10px 11px;color:#60727b}
.diary-month-days .day-item strong{margin:0;color:inherit;font-size:var(--bs-text-12);line-height:1.3}
.diary-month-days .day-item:hover{background:#f5f7f8;color:var(--navy)}
.diary-month-days .day-item.active{padding-left:13px;background:#fff0ed;color:var(--navy);box-shadow:inset 4px 0 #ef4a42}

.diary-editor{padding:0;border-color:#dce4e7;box-shadow:0 8px 26px rgba(19,43,55,.06)}
.diary-context-bar{display:block;padding:10px 14px;border-bottom:1px solid #dfe6e9;background:#fbfcfc}
.diary-date-picker{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);grid-template-areas:"label label" "icon copy";align-items:center;column-gap:10px;row-gap:5px;width:min(100%,330px);min-width:0;min-height:58px;padding:9px 11px;border:1px solid #d5e0e4;border-radius:8px;background:#fff;color:var(--navy);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.diary-date-picker:hover{border-color:#cbd8dd;background:#fdfefe}
.diary-date-picker:focus-within{border-color:#ec7b75;box-shadow:0 0 0 3px rgba(229,59,54,.1)}
.diary-date-label{grid-area:label;color:#667b85;font-size:var(--bs-text-8);font-weight:900;letter-spacing:.065em;text-transform:uppercase}
.diary-date-picker>svg{grid-area:icon;width:20px;height:20px;fill:none;stroke:#526c78;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.diary-date-copy{grid-area:copy;display:grid;min-width:0;gap:2px}
.diary-date-copy strong{overflow:hidden;color:var(--navy);font-size:var(--bs-text-15);font-weight:850;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}
.diary-date-copy small{overflow:hidden;color:#6e8089;font-size:var(--bs-text-9);font-weight:550;text-overflow:ellipsis;white-space:nowrap}
.diary-date-picker input{position:absolute;right:8px;bottom:8px;width:1px;height:1px;margin:0;padding:0;border:0;opacity:0;pointer-events:none}

.diary-grid .staffing-box{align-self:start;display:flex;min-width:0;flex-direction:column;margin:0;padding:11px 13px;border:1px solid #d9e3e6;border-radius:9px;background:#fff}
.diary-grid .staffing-head{align-items:flex-start;margin-bottom:5px;padding-bottom:7px}
.diary-grid .staffing-head h3{font-size:var(--bs-text-13)}
.diary-grid .staffing-head p{font-size:var(--bs-text-9-5)}
.diary-grid .staffing-head button{width:29px;height:29px;border-radius:6px}
.diary-grid #staffingRows:not(:empty){display:grid;gap:5px;margin:3px 0 2px}
.diary-grid .staff-row{grid-template-columns:minmax(0,1fr) 54px 26px;gap:5px}
.diary-grid .staff-row input{min-width:0;height:30px;padding:0 7px;font-size:var(--bs-text-10)}
.diary-grid .staff-row button{width:26px;height:30px}
.diary-grid .staffing-total{margin-top:auto;padding-top:7px;font-size:var(--bs-text-10)}

/* Dagbokregister og bemanning følger den rolige, lesbare rytmen fra skiftplanmodulen. */
#diaryView .day-list-card{overflow:hidden;padding:0;border-color:#d6e0e4;border-radius:10px;background:#fff;box-shadow:0 7px 22px rgba(19,43,55,.055)}
#diaryView .day-list-card>.section-head{align-items:center;margin:0;padding:15px 15px 14px;border-bottom:1px solid #dce4e7;background:#f8fafb}
#diaryView .day-list-card>.section-head h3{margin:0;color:var(--navy);font-family:var(--bs-font-family);font-size:var(--bs-text-15);font-weight:600;line-height:1.25}
#diaryView .day-list-card>.section-head p{margin:4px 0 0;color:#687b84;font-size:var(--bs-text-12);font-weight:400;line-height:1.3}
#diaryView .diary-new-day{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:76px;height:36px;padding:0 13px;border:1px solid var(--red);border-radius:7px;background:var(--red);color:#fff;font-family:var(--bs-font-family);font-size:var(--bs-text-13);font-weight:500;line-height:1;cursor:pointer}
#diaryView .diary-new-day:hover{border-color:#c9342f;background:#c9342f}
#diaryView .diary-new-day:focus-visible,#diaryView .diary-add-company:focus-visible{outline:3px solid rgba(229,59,54,.18);outline-offset:2px}
#diaryView .diary-search{margin:0;padding:13px 14px 14px;border-bottom:1px solid #e0e7ea;background:#fff}
#diaryView .diary-search>span:first-child{margin-bottom:7px;color:#526974;font-size:var(--bs-text-12);font-weight:500}
#diaryView .diary-search-control input{height:40px;border-color:#ccd8dd;border-radius:7px;background:#fff;font-size:var(--bs-text-13)}
#diaryView .day-list{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 14px 14px;background:#fbfcfc}
#diaryView .diary-month-group{border-color:#d5dfe3;border-radius:8px;box-shadow:0 1px 2px rgba(20,44,58,.025)}
#diaryView .diary-month-summary,#diaryView .diary-month-group[open]>.diary-month-summary{min-height:48px;padding:7px 11px;background:#fff}
#diaryView .diary-month-summary strong{font-size:var(--bs-text-14);font-weight:600}
#diaryView .diary-month-summary small{font-size:var(--bs-text-12);font-weight:400}
#diaryView .diary-month-summary em{margin-top:1px;color:#71838c;font-size:var(--bs-text-11);font-weight:400;line-height:1.3}
#diaryView .diary-month-group[open]>.diary-month-summary{border-bottom-color:#dce5e8;background:#f3f6f7}
#diaryView .diary-month-days{gap:3px;padding:6px}
#diaryView .diary-month-days .day-item,#diaryView .diary-month-days .day-item strong{font-size:var(--bs-text-13);font-weight:500}
#diaryView .diary-month-days .day-item{min-height:44px;padding:10px 11px;border-radius:6px}
#diaryView .diary-month-days .day-item.active{padding-left:14px;background:#eaf5f0;box-shadow:inset 3px 0 #299267}

#diaryView .diary-grid .staffing-box{overflow:hidden;padding:0;border-color:#d6e0e4;border-radius:10px;background:#fff;box-shadow:0 3px 12px rgba(20,44,58,.045)}
#diaryView .diary-grid .staffing-head{align-items:center;margin:0;padding:14px 15px;border-bottom:1px solid #dce4e7;background:#f8fafb}
#diaryView .diary-grid .staffing-head h3{margin:0;color:var(--navy);font-family:var(--bs-font-family);font-size:var(--bs-text-15);font-weight:600;line-height:1.25}
#diaryView .diary-grid .staffing-head p{margin:4px 0 0;color:#687b84;font-size:var(--bs-text-12);font-weight:400;line-height:1.3}
#diaryView .diary-add-company{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;width:auto;height:36px;padding:0 10px;border:1px solid #c7d3d8;border-radius:7px;background:#fff;color:var(--navy);font-family:var(--bs-font-family);font-size:var(--bs-text-12);font-weight:500;line-height:1;cursor:pointer}
#diaryView .diary-add-company:hover{border-color:#91a7b0;background:#f4f7f8}
#diaryView .diary-add-company b{color:var(--red);font-size:var(--bs-text-17);font-weight:500;line-height:1}
#diaryView .diary-grid #staffingRows:not(:empty){display:grid;gap:8px;margin:0;padding:12px 13px}
#diaryView .diary-grid .staff-row{grid-template-columns:minmax(0,1fr) 58px 34px;gap:7px;margin:0}
#diaryView .diary-grid .staff-row input{height:38px;padding:0 9px;border-color:#cbd7dc;border-radius:7px;background:#fff;font-size:var(--bs-text-13);font-weight:400}
#diaryView .diary-grid .staff-row input:focus{border-color:#7d9e8e;box-shadow:0 0 0 3px rgba(41,146,103,.1);outline:0}
#diaryView .diary-grid .staff-row button{display:grid;place-items:center;width:34px;height:38px;border-radius:7px;color:#819097;font-size:var(--bs-text-15);cursor:pointer}
#diaryView .diary-grid .staff-row button:hover{background:#fff0ef;color:#b43d38}
#diaryView .diary-grid .staffing-total{align-items:center;margin:0;padding:11px 14px;border-top:1px solid #dce4e7;background:#fbfcfc;color:#526974;font-size:var(--bs-text-12);font-weight:500}
#diaryView .diary-grid .staffing-total strong{color:var(--navy);font-size:var(--bs-text-15);font-weight:600}

.diary-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,300px);align-items:start;gap:16px;padding:16px 20px 20px}
.section-editors{display:grid;gap:7px;overflow:visible;border:0;border-radius:0;background:transparent}
.diary-section{display:grid;grid-template-columns:182px minmax(0,1fr);min-height:0;overflow:hidden;border:1px solid #dce4e7;border-radius:8px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease}
.diary-section>label{display:flex;align-items:flex-start;justify-content:flex-start;flex-direction:row;min-width:0;padding:17px 15px 14px 14px;border:0;border-right:1px solid #dce4e7;background:#f3f5f6;color:#203945;font-size:var(--bs-text-12);font-weight:850;line-height:1.4;text-align:left}
.diary-section>label>span:first-child{display:block;width:100%;text-align:left}
.diary-section .diary-note-cell{margin:0;border:0;border-radius:0;background:#fff;transition:background .16s ease}
.diary-section .diary-rich-editor{min-height:86px;padding:22px 18px 12px!important;border-radius:0;color:#20333d;font-size:var(--bs-text-14);line-height:1.6}
.diary-section .diary-field-meta{min-height:20px;padding:2px 18px 8px;color:#71828a;font-size:var(--bs-text-8-5)}
.diary-section .diary-note-cell:hover{background:#fdfefe}
.diary-section:focus-within{border-color:#ef8c86;box-shadow:0 0 0 3px rgba(229,59,54,.08)}
.diary-section:focus-within .diary-note-cell{background:#fffdfc}
.diary-section:focus-within>label{color:#c8322e}
.diary-section.is-empty:not(:focus-within) .diary-note-cell{margin:0;background:#fff}
.diary-section.is-empty:not(:focus-within) .diary-rich-editor{min-height:44px;padding:11px 16px!important;color:#6f8088}
.diary-section.is-empty:not(:focus-within) .diary-rich-editor:before{content:attr(data-placeholder);color:#8a989f;pointer-events:none}
.diary-section.is-empty:not(:focus-within) .diary-rich-editor>div{display:none}
.diary-section.is-empty:not(:focus-within) .diary-field-meta:empty{display:none}
.diary-section.is-empty:not(:focus-within)>label{align-items:center;padding-top:13px;padding-bottom:13px}
.diary-section.is-empty:focus-within .diary-rich-editor{min-height:86px;padding:22px 18px 12px!important}
.diary-photos{padding:18px 20px;border-top-color:#e2e8ea;background:#fbfcfc}
.editor-footer{padding:12px 20px;background:#fff}

@media(max-width:900px){
  .diary-grid{grid-template-columns:minmax(0,1fr)}
  .diary-grid .staffing-box{grid-column:1/-1}
}


/* Storage trash and recovery */
.attachment-trash-card{margin:18px 0}
.attachment-trash-card .settings-card-head{align-items:flex-start}
.attachment-trash-card .count{margin-left:auto;white-space:nowrap}
.attachment-trash-list{display:grid;gap:10px;margin-top:14px}
.attachment-trash-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 14px;border:1px solid var(--line,#d7e0e6);border-radius:12px;background:var(--surface-soft,#f7f9fa)}
.attachment-trash-row div{display:grid;gap:4px;min-width:0}
.attachment-trash-row strong,.attachment-trash-row small{overflow-wrap:anywhere}
.attachment-trash-row small{color:var(--muted,#667784)}
@media(max-width:720px){.attachment-trash-row{align-items:stretch;flex-direction:column}.attachment-trash-row button{width:100%}}

.project-profile-card>label{display:grid;gap:5px}.project-profile-card>label>span{color:#536a75;font-size:var(--bs-text-8-5);font-weight:850}.current-project-summary{gap:14px}.project-profile-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.project-profile-heading strong{display:block;color:var(--navy);font-size:var(--bs-text-16)}.project-profile-heading small{display:block;margin-top:3px}.project-archive-badge{padding:5px 8px;border-radius:999px;background:#fff0d5;color:#7d5a12!important;font-size:var(--bs-text-8)!important;font-weight:900;text-transform:uppercase}.project-profile-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-profile-section{padding:12px;border:1px solid #dbe4e7;border-radius:8px;background:#fff}.project-profile-section h3{margin:0 0 9px;color:var(--navy);font-size:var(--bs-text-10)}.project-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}.project-profile-field{min-width:0}.project-profile-field.wide{grid-column:1/-1}.project-profile-field span,.project-profile-field strong{display:block}.project-profile-field span{margin-bottom:2px;color:#71828a;font-size:var(--bs-text-7-5);font-weight:850;text-transform:uppercase}.project-profile-field strong{overflow-wrap:anywhere;color:#253e4a;font-size:var(--bs-text-10);line-height:1.45;white-space:pre-wrap}.project-profile-empty{margin:0;color:var(--muted);font-size:var(--bs-text-10)}.project-profile-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.project-profile-actions button{min-height:37px;padding:0 13px}.danger-btn{border:1px solid #e7aaa6;border-radius:6px;background:#fff4f3;color:var(--danger);font-weight:850}.project-profile-dialog{width:min(920px,calc(100vw - 28px));max-width:none;max-height:94vh;padding:0;border:0;border-radius:13px;background:#fff;color:var(--ink);box-shadow:0 24px 90px rgba(12,34,45,.32)}.project-profile-dialog::backdrop{background:rgba(10,29,39,.45);backdrop-filter:blur(2px)}.project-profile-dialog form{display:flex;max-height:94vh;flex-direction:column}.project-profile-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid #dce4e7;background:#fbfcfc}.project-profile-dialog header p{margin:0 0 5px;color:var(--red);font-size:var(--bs-text-8);font-weight:950;letter-spacing:.1em}.project-profile-dialog header h2{margin:0;color:var(--navy);font-size:var(--bs-text-20)}.project-profile-dialog header span{display:block;margin-top:5px;color:var(--muted);font-size:var(--bs-text-9)}.project-profile-dialog header button{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid #cad5da;border-radius:50%;background:#fff;color:var(--navy);font-size:var(--bs-text-19);cursor:pointer}.project-profile-form-body{display:grid;gap:14px;overflow:auto;padding:20px 24px}.project-profile-form-body fieldset{min-width:0;margin:0;padding:14px;border:1px solid #d8e1e4;border-radius:9px;background:#fbfcfc}.project-profile-form-body legend{padding:0 7px;color:var(--navy);font-size:var(--bs-text-10);font-weight:900}.project-profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-profile-form-grid label{display:grid;gap:5px}.project-profile-form-grid label.wide{grid-column:1/-1}.project-profile-form-grid label>span{color:#536a75;font-size:var(--bs-text-8-5);font-weight:850}.project-profile-form-grid input,.project-profile-form-grid select,.project-profile-form-grid textarea{width:100%;border:1px solid #c8d4d8;border-radius:6px;background:#fff;color:var(--ink)}.project-profile-form-grid input,.project-profile-form-grid select{height:39px;padding:0 10px}.project-profile-form-grid textarea{padding:9px 10px;resize:vertical}.project-profile-form-grid small{color:var(--muted);font-size:var(--bs-text-7-5)}.project-profile-dialog footer{display:flex;justify-content:flex-end;gap:8px;padding:15px 24px;border-top:1px solid #dce4e7;background:#f7f9fa}.project-profile-dialog footer button{min-height:39px;padding:0 14px}.project-profile-dialog button:disabled{cursor:wait;opacity:.65}@media(max-width:700px){.project-profile-sections,.project-profile-form-grid{grid-template-columns:1fr}.project-profile-field.wide,.project-profile-form-grid label.wide{grid-column:auto}.project-profile-dialog{width:100vw;max-height:100dvh;height:100dvh;border-radius:0}.project-profile-dialog form{max-height:100dvh}.project-profile-dialog header,.project-profile-form-body,.project-profile-dialog footer{padding-left:16px;padding-right:16px}}

/* Dagbokregister gruppert etter måned og år. */
.day-list{gap:7px}
.diary-month-group{overflow:hidden;border:1px solid #d9e1e4;border-radius:8px;background:#fff}
.diary-month-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:0 10px;list-style:none;background:#f4f7f8;color:var(--navy);cursor:pointer;user-select:none}
.diary-month-summary::-webkit-details-marker{display:none}
.diary-month-summary>span{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0}
.diary-month-summary strong{font-size:var(--bs-text-10-5);font-weight:850}
.diary-month-summary small{color:#72838b;font-size:var(--bs-text-9);font-weight:750}
.diary-month-summary em{display:block;flex-basis:100%;color:#788991;font-size:var(--bs-text-8);font-style:normal;font-weight:650;line-height:1.25}
.diary-month-summary i{font-size:var(--bs-text-14);font-style:normal;transition:transform .16s ease}
.diary-month-group[open]>.diary-month-summary{border-bottom:1px solid #dfe6e8;background:#eef3f4}
.diary-month-group[open]>.diary-month-summary i{transform:rotate(180deg)}
.diary-month-days{display:grid;gap:3px;padding:5px}
.diary-month-days .day-item{width:100%}
.diary-month-days .day-match{display:block;margin-top:4px;color:#657780;font-size:var(--bs-text-8-5);line-height:1.35}
.diary-month-days .day-match b{color:var(--navy);background:#fff0bf}


/* Valgfri reiseinformasjon i skiftplanutskrift. */
.shift-print-dialog-fields #shiftPrintFormatField,.shift-print-dialog-fields #shiftPrintTravelField{grid-column:1/-1}
.shift-print-travel-option{display:flex!important;align-items:center;gap:11px;padding:12px 13px;border:1px solid #d6e0e3;border-radius:8px;background:#f8fafb;cursor:pointer}
.shift-print-travel-option input{flex:none;width:18px!important;height:18px!important;margin:0;padding:0;accent-color:var(--green)}
.shift-print-travel-option>span{display:grid;gap:3px;text-transform:none!important;letter-spacing:0!important}
.shift-print-travel-option strong{color:var(--navy);font-size:var(--bs-text-10)}
.shift-print-travel-option small{color:var(--muted);font-size:var(--bs-text-8-5);font-weight:550}
.shift-print-travel-marker{display:grid;place-items:center;width:100%;height:100%;color:#0e3a4a;font-size:var(--bs-print-text-10);font-weight:900;line-height:1}

/* Plattforminnboks for registrerte tilbakemeldinger. */
.platform-feedback-head{align-items:center}.platform-feedback-head>div:nth-child(2){min-width:0;flex:1}.platform-feedback-actions{display:flex;align-items:end;gap:8px}.platform-feedback-actions label{display:grid;gap:4px}.platform-feedback-actions label>span,.platform-feedback-row header label>span{color:#667983;font-size:var(--bs-text-8);font-weight:850}.platform-feedback-actions select,.platform-feedback-row header select{height:36px;border:1px solid #c9d5da;border-radius:6px;padding:0 9px;background:#fff;color:var(--ink);font-size:var(--bs-text-9)}.platform-feedback-actions button{height:36px}.platform-feedback-list{display:grid;gap:9px}.platform-feedback-row{overflow:hidden;border:1px solid var(--line);border-left:4px solid #d6a12b;border-radius:9px;background:#fff}.platform-feedback-row.reviewed{border-left-color:#4a83b8}.platform-feedback-row.resolved{border-left-color:#299267}.platform-feedback-row>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:12px 14px;border-bottom:1px solid #e0e7e9;background:#f8fafb}.platform-feedback-row header>div{min-width:0}.platform-feedback-row header strong,.platform-feedback-row header small{display:block}.platform-feedback-row header strong{margin-top:6px;color:var(--navy);font-size:var(--bs-text-11)}.platform-feedback-row header small{margin-top:3px;color:var(--muted);font-size:var(--bs-text-8)}.platform-feedback-row header label{display:grid;flex:0 0 126px;gap:4px}.platform-feedback-category{display:inline-flex;padding:4px 7px;border-radius:999px;background:#e8eef1;color:#506873;font-size:var(--bs-text-7-5);font-weight:900}.platform-feedback-category.problem{background:#fff0ef;color:#a33832}.platform-feedback-category.improvement{background:#eaf3fb;color:#285f8c}.platform-feedback-category.question{background:#fff5d9;color:#82600f}.platform-feedback-row>p{margin:0;padding:14px;color:#213b47;font-size:var(--bs-text-10);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.platform-feedback-row>footer{display:flex;justify-content:space-between;gap:12px;padding:9px 14px;border-top:1px solid #e6ecee;color:#6c7d85;font-size:var(--bs-text-8)}.platform-feedback-metrics strong{font-size:var(--bs-text-20)}
@media(max-width:700px){.platform-feedback-head{align-items:stretch;flex-direction:column}.platform-feedback-actions{align-items:stretch;flex-direction:column}.platform-feedback-actions button,.platform-feedback-actions select{width:100%}.platform-feedback-row>header,.platform-feedback-row>footer{align-items:stretch;flex-direction:column}.platform-feedback-row header label{flex-basis:auto}}

/* Skalerbar innstillingsnavigasjon: ett valgt område om gangen. */
.settings-heading-actions{display:flex;align-items:center;gap:10px}.settings-search{display:block}.settings-search input{width:min(280px,28vw);height:40px;padding:0 13px 0 36px;border:1px solid #cfd9dd;border-radius:8px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23647780' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") no-repeat 12px center;color:var(--ink);font-size:var(--bs-text-10)}
.administrator-settings-layout,.platform-settings-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start}.administrator-settings-content,.platform-settings-content{min-width:0}.administrator-settings-section{display:none;gap:16px}.administrator-settings-section.active{display:grid}.settings-section-heading{display:grid;gap:4px;padding:2px 1px 5px}.settings-section-heading p{margin:0;color:#397d64;font-size:var(--bs-text-8-5);font-weight:800}.settings-section-heading h2{margin:0;color:var(--navy);font-size:var(--bs-text-20)}.settings-section-heading>span{color:var(--muted);font-size:var(--bs-text-10-5);line-height:1.45}
.settings-section-nav,.platform-settings-nav{position:sticky;top:82px;display:grid;gap:3px;max-height:calc(100vh - 104px);overflow-y:auto;padding:12px}.settings-nav-intro{display:grid;gap:4px;margin-bottom:5px;padding:9px 9px 13px;border-bottom:1px solid var(--line)}.settings-nav-intro strong{font-size:var(--bs-text-12)}.settings-nav-intro small{color:var(--muted);font-size:var(--bs-text-8-5);line-height:1.4}.settings-nav-group{display:block;margin:12px 9px 4px;color:#74858d;font-size:var(--bs-text-7-5);font-weight:900;letter-spacing:.08em}.settings-section-nav button,.platform-settings-nav button{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:7px 9px;border:0;border-left:3px solid transparent;border-radius:6px;background:transparent;color:#536771;text-align:left;font-size:var(--bs-text-10);font-weight:780;cursor:pointer}.settings-section-nav button:hover,.platform-settings-nav button:hover{background:#f1f5f6}.settings-section-nav button.active,.platform-settings-nav button.active{border-left-color:#299267;background:#eaf5f0;color:var(--navy);box-shadow:none}.settings-nav-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:6px;background:#e8eef0;color:#4d6570;font-size:var(--bs-text-8-5);font-weight:900}.settings-section-nav button.active .settings-nav-icon,.platform-settings-nav button.active .settings-nav-icon{background:#299267;color:#fff}.settings-nav-count{justify-self:end;padding:3px 6px;border-radius:999px;background:#e8eef0;color:#5e727c;font-size:var(--bs-text-7-5)}.settings-search-hidden{display:none!important}
.administrator-settings-section>.settings-card,.administrator-settings-section>.settings-subsection{margin:0}.administrator-settings-section .profile-settings-card{max-width:none}.administrator-settings-section .attachment-trash-card{margin:0}.access-users-card{border-left:3px solid #299267}.settings-subsection{padding:0!important;overflow:hidden}.settings-subsection>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 19px;list-style:none;cursor:pointer}.settings-subsection>summary::-webkit-details-marker{display:none}.settings-subsection>summary>span:first-child{display:grid;gap:4px}.settings-subsection>summary strong{color:var(--navy);font-size:var(--bs-text-13)}.settings-subsection>summary small{color:var(--muted);font-size:var(--bs-text-9-5);font-weight:550}.settings-summary-action{flex:none;padding:6px 9px;border:1px solid #cbd7db;border-radius:6px;background:#fff;color:#526771;font-size:var(--bs-text-8-5);font-weight:850}.settings-subsection[open] .settings-summary-action{background:#eaf5f0;color:#176548}.settings-subsection-body{display:grid;gap:16px;padding:18px 19px;border-top:1px solid var(--line);background:#fbfcfc}.settings-subsection .group-create-row{margin-bottom:0}.settings-subsection .settings-group-card{background:#fff}.settings-subsection .shift-access-form{margin:0}.settings-subsection .shift-access-list{margin-top:0}
.platform-settings-nav>div{margin-bottom:5px}.platform-settings-nav .settings-nav-group{margin-top:12px}.platform-settings-section>.settings-card{margin:0}.platform-settings-section{align-content:start}.platform-settings-layout.hidden,.administrator-settings-layout.hidden{display:none}
.settings-access-workspace{display:grid;grid-template-columns:minmax(300px,.92fr) minmax(360px,1.08fr);min-height:430px;border:1px solid var(--line);border-radius:9px;overflow:hidden}.settings-access-list{min-width:0;border-right:1px solid var(--line);background:#fbfcfc}.settings-access-user{display:grid;width:100%;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:10px;min-height:78px;padding:11px 13px;border:0;border-bottom:1px solid var(--line);border-left:3px solid transparent;border-radius:0;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.settings-access-user:hover{background:#f4f8f7}.settings-access-user.active{border-left-color:#299267;background:#eaf5f0}.settings-access-user.pending{background:#fff9eb;cursor:default}.settings-access-user>span:nth-child(2){min-width:0}.settings-access-user strong,.settings-access-user small,.settings-access-user em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-access-user strong{font-size:var(--bs-text-11)}.settings-access-user small{margin-top:2px;color:var(--muted);font-size:var(--bs-text-8-5)}.settings-access-user em{margin-top:5px;color:#526a75;font-size:var(--bs-text-8);font-style:normal;font-weight:750}.settings-access-user>i{color:#7a8b93;font-size:var(--bs-text-18);font-style:normal}.settings-access-user>.settings-invite-revoke{width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--danger);font-size:var(--bs-text-16)}.settings-user-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e4edf0;color:#294c5b;font-size:var(--bs-text-10);font-weight:900}.settings-user-avatar.large{width:46px;height:46px;background:#dcefe7;color:#176548;font-size:var(--bs-text-12)}.settings-access-detail{display:grid;align-content:start;gap:17px;min-width:0;padding:19px;background:#fff}.settings-access-detail>header{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}.settings-access-detail h3{margin:0;color:var(--navy);font-size:var(--bs-text-15)}.settings-access-detail header p{margin:3px 0 0;color:var(--muted);font-size:var(--bs-text-9)}.settings-access-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-access-fields label{display:grid;gap:5px}.settings-access-fields label>span,.settings-profile-choices legend{color:#526872;font-size:var(--bs-text-8-5);font-weight:850}.settings-access-fields input,.settings-access-fields select{width:100%;height:39px;border:1px solid #cbd6da;border-radius:6px;background:#fff;color:var(--ink)}.settings-access-fields input{padding:0 10px}.settings-access-fields small{color:var(--muted);font-size:var(--bs-text-7-5)}.settings-profile-choices{display:grid;gap:7px;min-width:0;margin:0;padding:0;border:0}.settings-profile-choices legend{margin-bottom:7px;padding:0}.settings-profile-choice{display:grid!important;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:12px;min-height:64px;padding:11px 14px;border:1px solid #d7e0e3;border-radius:7px;background:#fafcfc;text-align:left}.settings-profile-choice:has(input:checked){border-color:#9bc9b5;background:#edf8f3}.settings-profile-choice.automatic{opacity:.72}.settings-profile-choice input{justify-self:center;width:17px;height:17px;margin:0;accent-color:#299267}.settings-profile-choice span{display:grid;align-content:center;justify-items:start;min-width:0;text-align:left}.settings-profile-choice strong,.settings-profile-choice small{display:block;width:100%;text-align:left}.settings-profile-choice strong{font-size:var(--bs-text-10)}.settings-profile-choice small{margin-top:2px;color:var(--muted);font-size:var(--bs-text-8)}.settings-shift-access{display:grid;gap:10px;padding:13px 14px;border:1px solid #d7e0e3;border-radius:7px;background:#fafcfc}.settings-shift-access>div{display:grid;gap:3px}.settings-shift-access>div strong{color:var(--navy);font-size:var(--bs-text-10)}.settings-shift-access>div span,.settings-shift-access>small{color:var(--muted);font-size:var(--bs-text-8-5);line-height:1.4}.settings-shift-manager-toggle{display:grid!important;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;padding:10px 11px;border:1px solid #cfdadd;border-radius:7px;background:#fff;font-weight:800}.settings-shift-manager-toggle:has(input:checked){border-color:#9bc9b5;background:#edf8f3}.settings-shift-manager-toggle input{width:17px;height:17px;margin:0;accent-color:#299267}.settings-effective-access{display:grid;gap:4px;padding:12px 13px;border:1px solid #b8d5e8;border-radius:7px;background:#f0f7fb}.settings-effective-access strong{color:#245d82;font-size:var(--bs-text-9)}.settings-effective-access span{color:#3f647a;font-size:var(--bs-text-8-5);line-height:1.45}.settings-access-detail>.settings-user-remove{display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-width:190px;min-height:44px;padding:10px 18px;white-space:nowrap;font-size:var(--bs-text-9-5);font-weight:850}.settings-subsection .group-access-grid{grid-template-columns:1fr}.settings-subsection .group-access-grid fieldset+fieldset{border-left:0}
@media(max-width:980px){.administrator-settings-layout,.platform-settings-layout{grid-template-columns:215px minmax(0,1fr)}.settings-heading-actions{align-items:stretch;flex-direction:column}.settings-search input{width:260px}}
@media(max-width:760px){.settings-heading-actions,.settings-search,.settings-search input{width:100%}.administrator-settings-layout,.platform-settings-layout{grid-template-columns:minmax(0,1fr)}.settings-section-nav,.platform-settings-nav{position:static;display:flex;max-height:none;overflow-x:auto;overflow-y:hidden;gap:6px;padding:9px;scrollbar-width:thin}.settings-nav-intro,.settings-nav-group{display:none}.settings-section-nav button,.platform-settings-nav button{display:flex;min-width:max-content;min-height:42px;border-left:0;border-bottom:3px solid transparent;padding:7px 10px}.settings-section-nav button.active,.platform-settings-nav button.active{border-left:0;border-bottom-color:#299267}.settings-nav-count{margin-left:2px}.settings-section-heading h2{font-size:var(--bs-text-18)}.settings-subsection>summary{align-items:flex-start;padding:15px}.settings-subsection-body{padding:15px}.settings-invite-row,.group-create-row,.shift-access-form{grid-template-columns:1fr!important}.settings-invite-row>*{width:100%}.settings-user-row,.settings-user-row.pending{grid-template-columns:minmax(0,1fr)!important}.settings-user-row>button{justify-self:stretch}.settings-access-workspace{grid-template-columns:1fr}.settings-access-list{max-height:310px;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.settings-access-detail{padding:15px}.settings-access-fields{grid-template-columns:1fr}.group-access-grid{grid-template-columns:1fr}.group-access-grid fieldset+fieldset{border-top:1px solid var(--line);border-left:0}}

.settings-access-fields{align-items:start}.settings-access-fields label{grid-template-rows:auto 39px;align-content:start}.settings-access-fields label>small{display:none}

/* Min profil / personalia */
.personal-profile-form{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:start}.personal-profile-avatar{display:grid;place-items:center;width:128px;height:128px;border:1px solid #e7c9c8;border-radius:50%;background:linear-gradient(145deg,#fff7f6,#f3dddd);color:#b92525;font-size:var(--bs-text-30);font-weight:900;letter-spacing:-.04em}.personal-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.personal-profile-fields label,.profile-project-switcher{display:grid;gap:6px}.personal-profile-fields label>span:first-child,.profile-project-switcher>span{color:#405963;font-size:var(--bs-text-9);font-weight:850}.personal-profile-fields input{width:100%;height:43px;border:1px solid #cbd6da;border-radius:7px;background:#fff;color:var(--ink);font-size:var(--bs-text-10-5)}.personal-profile-fields input[readonly]{background:#f5f7f8;color:#62747d}.personal-profile-fields small,.profile-project-switcher small{color:var(--muted);font-size:var(--bs-text-8);line-height:1.4}.profile-readonly-field{position:relative;display:block}.profile-readonly-field input{padding-right:40px}.profile-readonly-field>span{position:absolute;top:50%;right:13px;transform:translateY(-50%);color:#71828b}.personal-profile-actions{grid-column:2;display:flex;gap:9px}.personal-profile-actions button{min-height:42px;padding:0 17px}.profile-project-switcher{display:none;grid-column:2;padding:13px 14px;border:1px solid #d6e1e4;border-radius:8px;background:#f7fafb}.profile-project-switcher select{height:43px}.profile-access-card,.profile-security-card{display:flex!important;align-items:center;justify-content:space-between;gap:18px}.profile-access-card>div,.profile-security-card>div{display:flex;align-items:flex-start;gap:13px}.profile-card-icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:8px;background:#e8eef0;color:#315562;font-size:var(--bs-text-14);font-weight:900}.profile-access-card h3,.profile-security-card h3{margin:0 0 5px;color:var(--navy);font-size:var(--bs-text-13)}.profile-access-card p,.profile-security-card p{margin:2px 0;color:#344e59;font-size:var(--bs-text-10);font-weight:750}.profile-access-card small{display:block;margin-top:7px;color:var(--muted);font-size:var(--bs-text-8-5)}.profile-security-card p{font-weight:550}.settings-invite-help{margin:-7px 0 16px;color:var(--muted);font-size:var(--bs-text-9-5);line-height:1.5}
@media(max-width:900px){.personal-profile-form{grid-template-columns:112px minmax(0,1fr)}.personal-profile-avatar{width:96px;height:96px}.personal-profile-fields{grid-template-columns:1fr}.personal-profile-actions{grid-column:2}}
@media(max-width:600px){.personal-profile-form{grid-template-columns:1fr}.personal-profile-avatar{width:82px;height:82px;font-size:var(--bs-text-25)}.personal-profile-fields,.personal-profile-actions,.profile-project-switcher{grid-column:1}.personal-profile-actions{display:grid;grid-template-columns:1fr}.personal-profile-actions button{width:100%}.profile-access-card,.profile-security-card{align-items:stretch;flex-direction:column}.profile-security-card button{width:100%}}

/* Skiftplan patch 1: rask draredigering, fravær og tydelig innleid personell. */
.shift-grid td>button.assigned::after{display:none!important}
.shift-grid td>button:not(:disabled){cursor:crosshair}
.shift-grid td.absence,.shift-grid td>button.absence{background:#fff0cd!important;color:#6d4a00}
.shift-absence-marker{display:grid;place-items:center;width:100%;height:100%;color:#6d4a00;font-size:var(--bs-text-16);font-weight:950;line-height:1;pointer-events:none}
.shift-grid-hired-badge{display:inline-flex!important;align-items:center;margin-left:7px;padding:3px 6px;border-radius:999px;background:#e8f1f6;color:#245c78;font-size:var(--bs-text-7)!important;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.04em;vertical-align:1px}
.shift-grid-worker-name-line{display:flex;align-items:center;min-width:0}.shift-grid-worker-name-line strong{min-width:0}
.shift-grid-edit-guide{display:flex;align-items:center;gap:15px;min-height:39px;padding:7px 18px;border-bottom:1px solid #d7e0e3;background:#fbfcfc;color:#405762;font-size:var(--bs-text-8-5);font-weight:750}.shift-grid-edit-guide>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.shift-grid-edit-guide i{display:grid;place-items:center;width:19px;height:19px;border:1px solid #c5d1d6;border-radius:4px;font-size:var(--bs-text-8);font-style:normal;font-weight:950}.shift-grid-edit-guide i.work{border-color:#80b94b;background:#97cf5c}.shift-grid-edit-guide i.absence{background:#e9edef;color:#425761}.shift-grid-edit-guide-tip{margin-left:auto;color:#687a83;font-weight:600!important}
.shift-grid td>button.drag-preview-work{box-shadow:inset 0 0 0 3px #347d4d;background:#cde8bd!important}
.shift-grid td>button.drag-preview-off{box-shadow:inset 0 0 0 3px #667983;background:#eef1f2!important}
.shift-grid-dragging,.shift-grid-dragging *{user-select:none!important;cursor:crosshair!important}
.shift-grid td>button.saving{opacity:.62}
.shift-grid td.saving{background-image:linear-gradient(135deg,transparent 40%,#ffffff80 50%,transparent 60%);background-size:18px 18px;animation:shift-cell-saving .7s linear infinite}
@keyframes shift-cell-saving{to{background-position:18px 0}}
@media(max-width:720px){.shift-grid-edit-guide{overflow-x:auto}.shift-grid-edit-guide-tip{margin-left:0}}

/* Skiftplan patch 1.1: kompakt datolinje, lesbare personkolonner og samlede radvalg. */
.shift-toolbar{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:9px;padding:12px 14px}.shift-toolbar label{display:block;gap:0}.shift-toolbar-project>span:first-child,.shift-toolbar-weeks>span:first-child,.shift-worker-search>span:first-child,.shift-toolbar-filter>span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.shift-toolbar select,.shift-toolbar input,.shift-toolbar button{height:42px}.shift-toolbar-project{flex:0 1 205px}.shift-toolbar-project select{width:100%;min-width:160px;font-weight:800}.shift-toolbar-navigation{display:flex;align-items:center}.shift-toolbar-navigation button{width:43px;height:42px;border:1px solid #cbd6da;border-right:0;background:#fff;color:var(--navy);font-size:var(--bs-text-15);cursor:pointer}.shift-toolbar-navigation button:first-child{border-radius:7px 0 0 7px}.shift-toolbar-navigation button:nth-child(2){width:66px;font-size:var(--bs-text-9-5);font-weight:850}.shift-toolbar-navigation button:last-child{border-right:1px solid #cbd6da;border-radius:0 7px 7px 0}.shift-toolbar-navigation button:hover{background:#f3f7f8}.shift-toolbar-weeks{flex:0 0 102px}.shift-toolbar-weeks select{width:100%;font-weight:750}.shift-toolbar-range{flex:0 0 140px;color:#334c58;font-size:var(--bs-text-9-5);font-weight:800;text-align:center;white-space:nowrap}.shift-worker-search{flex:1 1 205px;min-width:180px}.shift-search-field{position:relative;display:block}.shift-search-field b{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#526a75;font-size:var(--bs-text-16);font-weight:500;pointer-events:none}.shift-worker-search input{width:100%;padding-left:36px}.shift-toolbar-filter{flex:0 1 124px}.shift-toolbar-filter select{width:100%;min-width:105px}.shift-toolbar-travel{display:flex!important;align-items:center;gap:8px;min-height:42px;padding:0 3px;white-space:nowrap;cursor:pointer}.shift-toolbar-travel>span:first-child{color:#405762;font-size:var(--bs-text-9-5);font-weight:800;text-transform:none;letter-spacing:0}.shift-toolbar-travel>input{position:absolute;opacity:0;pointer-events:none}.shift-switch-track{position:relative;width:38px;height:22px;border-radius:999px;background:#b7c4c9;transition:.18s}.shift-switch-track i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:.18s}.shift-toolbar-travel input:checked+.shift-switch-track{background:#55ad68}.shift-toolbar-travel input:checked+.shift-switch-track i{transform:translateX(16px)}.shift-toolbar-action,.shift-toolbar-publish{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 16px;border:1px solid #c7d3d8;border-radius:7px;background:#fff;color:var(--navy);font-size:var(--bs-text-9-5);font-weight:850;cursor:pointer}.shift-toolbar-publish{border-color:var(--red);background:var(--red);color:#fff}.shift-toolbar button:focus-visible,.shift-toolbar select:focus-visible,.shift-toolbar input:focus-visible{outline:3px solid #2b84694d;outline-offset:1px}

.shift-project-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 17px;border-bottom:1px solid #dce4e7;background:#f8fafb}.shift-project-summary p{margin:0 0 2px;color:var(--red);font-size:var(--bs-text-7-5);font-weight:900;letter-spacing:.08em}.shift-project-summary h2{margin:0;color:var(--navy);font-size:var(--bs-text-14)}.shift-project-summary-count{color:#61747d;font-size:var(--bs-text-9);white-space:nowrap}.shift-config-compact{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:9px 17px;border-bottom:1px solid #dce4e7;background:#fff}.shift-config-compact>div{display:flex;align-items:baseline;min-width:0;gap:10px}.shift-config-compact strong{flex:none;color:var(--navy);font-size:var(--bs-text-9-5)}.shift-config-compact span{overflow:hidden;color:#687a83;font-size:var(--bs-text-8-5);text-overflow:ellipsis;white-space:nowrap}.shift-config-compact button{flex:none;height:34px;padding:0 12px;border:1px solid #c3d0d5;border-radius:6px;background:#fff;color:var(--navy);font-size:var(--bs-text-8-5);font-weight:850;cursor:pointer}.shift-config-compact button:hover{border-color:#4d7f68;background:#f0f7f4}.shift-manager-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.shift-manager-heading h3,.shift-manager-heading p{margin:0}.shift-manager-heading p{margin-top:3px;color:var(--muted);font-size:var(--bs-text-8-5)}.shift-manager-dialog .shift-config-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}

.shift-grid-edit-guide>button{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:#405762;font:inherit;white-space:nowrap;cursor:pointer}.shift-grid-edit-guide>button:hover{background:#f0f4f5}.shift-grid-edit-guide>button.active{border-color:#afbdc3;background:#fff;box-shadow:0 1px 3px #17354214}.shift-grid-edit-guide>button.active:first-child{border-color:#83b96b;background:#f0f8ec}.shift-grid-edit-guide>button.active:nth-child(2){border-color:#9baab1;background:#eef1f2}.shift-grid td>button.drag-preview-absence{box-shadow:inset 0 0 0 3px #526873;background:#d9dfe2!important;color:#334a55}

.shift-grid{--shift-name-width:205px;--shift-role-width:180px;--shift-number-width:78px;--shift-actions-width:48px}.shift-grid thead th{box-sizing:border-box}.shift-grid .shift-worker-name{left:0;width:var(--shift-name-width);min-width:var(--shift-name-width);max-width:var(--shift-name-width)}.shift-grid .shift-worker-role-column{position:sticky;left:var(--shift-name-width);z-index:2;box-sizing:border-box;width:var(--shift-role-width);min-width:var(--shift-role-width);max-width:var(--shift-role-width);background:#fff;text-align:left}.shift-grid .shift-worker-shift-column{position:sticky;left:calc(var(--shift-name-width) + var(--shift-role-width));z-index:2;box-sizing:border-box;width:var(--shift-number-width);min-width:var(--shift-number-width);max-width:var(--shift-number-width);background:#fff;text-align:center}.shift-grid .shift-worker-actions-column{position:sticky;left:calc(var(--shift-name-width) + var(--shift-role-width) + var(--shift-number-width));z-index:2;box-sizing:border-box;width:var(--shift-actions-width);min-width:var(--shift-actions-width);max-width:var(--shift-actions-width);background:#fff;text-align:center;box-shadow:5px 0 8px -7px #17354288}.shift-grid thead .shift-worker-name,.shift-grid thead .shift-worker-role-column,.shift-grid thead .shift-worker-shift-column,.shift-grid thead .shift-worker-actions-column{top:0;z-index:6;height:82px;background:#e5ebed}.shift-grid thead .shift-worker-name-head{display:grid;align-content:center;justify-items:start;gap:7px;padding:7px 10px 7px 13px}.shift-grid thead .shift-worker-name-head>span,.shift-grid .shift-worker-info-head>span{font-size:var(--bs-text-8-5);font-weight:900}.shift-grid thead .shift-worker-role-column{padding:0 12px}.shift-grid thead .shift-worker-shift-column{text-align:center}.shift-week-band{top:0!important;height:25px!important;min-height:25px!important;padding:0 4px;background:#dce5e8!important;color:#526a75;font-size:var(--bs-text-7-5);font-weight:900;text-transform:uppercase}.shift-day-header{top:25px!important;width:43px;min-width:43px;height:57px!important;min-height:57px;padding:3px 1px;background:#edf1f2!important;line-height:1}.shift-day-header.weekend{background:#e7ebed!important}.shift-day-header>span{font-size:var(--bs-text-7-5)!important;font-weight:850}.shift-day-header>strong{display:block;margin-top:4px;color:#314b57;font-size:var(--bs-text-11);font-weight:900}.shift-day-header>small{display:block;margin-top:3px!important;color:#657881;font-size:var(--bs-text-7)!important;font-weight:650;text-transform:uppercase}.shift-grid tbody .shift-worker-name,.shift-grid tbody .shift-worker-role-column,.shift-grid tbody .shift-worker-shift-column,.shift-grid tbody .shift-worker-actions-column{height:50px}.shift-grid tbody .shift-worker-name{padding:0 11px}.shift-worker-name-cell strong{overflow:hidden;color:var(--navy);font-size:var(--bs-text-10-5);font-weight:850;text-overflow:ellipsis;white-space:nowrap}.shift-grid tbody .shift-worker-role-column{padding:0 11px}.shift-worker-role-column strong,.shift-worker-role-column small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift-worker-role-column strong{color:#29434f;font-size:var(--bs-text-9-5);font-weight:800}.shift-worker-role-column small{margin-top:3px;color:#6a7b83;font-size:var(--bs-text-8)}.shift-worker-shift-value{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:27px;padding:0 7px;border-radius:6px;background:#edf2f4;color:#365260;font-size:var(--bs-text-8);font-weight:850;white-space:nowrap}.shift-worker-actions-column>button{display:grid;place-items:center;width:31px;height:31px;margin:auto;border:1px solid transparent;border-radius:6px;background:transparent;color:#4c6470;font-size:var(--bs-text-11);font-weight:900;letter-spacing:1px;cursor:pointer}.shift-worker-actions-column>button:hover,.shift-worker-actions-column>button[aria-expanded="true"]{border-color:#c4d1d6;background:#f0f4f5}.shift-worker-setting-dot,.shift-worker-comment-dot{position:absolute;right:5px;bottom:5px;width:6px;height:6px;border-radius:50%;background:#c69a25}.shift-worker-comment-dot{right:13px;background:#4c89b6}.shift-grid tbody>tr[data-shift-worker-row]>td{height:50px}.shift-grid tbody>tr[data-shift-worker-row]>td>button{height:49px}.shift-worker-detail-cell{position:sticky;left:0;z-index:4;box-sizing:border-box;width:calc(var(--shift-name-width) + var(--shift-role-width) + var(--shift-number-width) + var(--shift-actions-width));min-width:calc(var(--shift-name-width) + var(--shift-role-width) + var(--shift-number-width) + var(--shift-actions-width));max-width:calc(var(--shift-name-width) + var(--shift-role-width) + var(--shift-number-width) + var(--shift-actions-width));background:#fff!important;box-shadow:5px 0 8px -7px #17354288}.shift-week-comments .shift-worker-detail-cell{padding-left:13px!important}.shift-grid-add-personnel{max-width:180px;overflow:hidden;text-overflow:ellipsis}.shift-grid-hired-badge{flex:none}

.shift-worker-row-menu{position:fixed;z-index:10020;overflow:hidden;border:1px solid #c8d4d9;border-radius:10px;background:#fff;box-shadow:0 18px 50px rgba(16,40,52,.25)}.shift-worker-row-menu>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid #dde5e8;background:#f7f9fa}.shift-worker-row-menu header strong,.shift-worker-row-menu header span{display:block}.shift-worker-row-menu header strong{color:var(--navy);font-size:var(--bs-text-11)}.shift-worker-row-menu header span{margin-top:3px;color:var(--muted);font-size:var(--bs-text-8)}.shift-worker-row-menu header button{display:grid;place-items:center;width:27px;height:27px;border:0;border-radius:5px;background:transparent;color:#526a75;font-size:var(--bs-text-16);cursor:pointer}.shift-worker-row-menu-select{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:6px 9px;padding:12px 14px;border-bottom:1px solid #e1e8ea}.shift-worker-row-menu-select>span{color:#3d5662;font-size:var(--bs-text-9);font-weight:850}.shift-worker-row-menu-select select{height:35px;border:1px solid #c6d3d8;border-radius:6px;background:#fff;color:var(--ink)}.shift-worker-row-menu-select small{grid-column:2;color:#71828a;font-size:var(--bs-text-7-5);line-height:1.35}.shift-worker-row-menu nav{display:grid;padding:5px}.shift-worker-row-menu nav>button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:53px;padding:8px 10px;border:0;border-radius:7px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.shift-worker-row-menu nav>button:hover{background:#f1f5f6}.shift-worker-row-menu nav>button.has-value{background:#fff9e9}.shift-worker-row-menu nav>button.danger{color:#a53d39}.shift-worker-row-menu nav span,.shift-worker-row-menu nav b,.shift-worker-row-menu nav small{display:block}.shift-worker-row-menu nav b{font-size:var(--bs-text-9);font-weight:850}.shift-worker-row-menu nav small{margin-top:3px;color:#71828a;font-size:var(--bs-text-7-5);font-weight:550}.shift-worker-row-menu nav i{color:#647984;font-size:var(--bs-text-10);font-style:normal;font-weight:850}

@media(max-width:1320px){.shift-toolbar-range{display:none}.shift-toolbar{gap:8px}.shift-toolbar-project{flex-basis:180px}.shift-toolbar-action{padding:0 11px}.shift-toolbar-action span{display:none}}
@media(max-width:850px){.shift-toolbar{align-items:stretch}.shift-toolbar-project,.shift-worker-search{flex:1 1 230px}.shift-toolbar-filter{flex:1 1 120px}.shift-toolbar-travel{justify-content:center}.shift-project-summary,.shift-config-compact{align-items:flex-start;flex-direction:column}.shift-project-summary-count{white-space:normal}.shift-config-compact>div{display:grid;gap:3px;width:100%}.shift-config-compact span{white-space:normal}.shift-grid{--shift-name-width:180px;--shift-role-width:155px;--shift-number-width:70px}.shift-grid-hired-badge{padding:2px 4px}.shift-grid-edit-guide-tip{display:none}}
@media(max-width:560px){.shift-toolbar-navigation{order:3}.shift-toolbar-weeks{order:4}.shift-toolbar-filter{order:5}.shift-toolbar-travel{order:6}.shift-toolbar-action,.shift-toolbar-publish{order:7;flex:1}.shift-grid{--shift-name-width:165px;--shift-role-width:140px;--shift-number-width:64px;--shift-actions-width:44px}.shift-worker-row-menu{max-height:calc(100vh - 24px);overflow-y:auto}}

/* Renderkorreksjoner etter visuell kontroll av preview. */
.shift-grid thead .shift-worker-name-head{display:table-cell;vertical-align:middle}
.shift-grid .shift-worker-actions-column>button{color:#4c6470!important;cursor:pointer!important}
.shift-grid .shift-worker-actions-column>button:hover,.shift-grid .shift-worker-actions-column>button[aria-expanded="true"]{border-color:#c4d1d6;background:#f0f4f5}
.shift-grid thead .shift-grid-add-personnel{display:block;max-width:180px;margin-top:7px;overflow:hidden;text-overflow:ellipsis}

/* Skiftplan patch 1.2: direkte skiftvalg og kompakt reisestatus ved navnet. */
#shiftPlansView,#shiftPlansView button,#shiftPlansView input,#shiftPlansView select,#shiftPlansView textarea{font-family:var(--bs-font-family)}
.shift-project-summary-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0}.shift-project-manage-shifts{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:35px;padding:0 12px;border:1px solid #c3d0d5;border-radius:6px;background:#fff;color:var(--navy);font-size:var(--bs-text-8-5);font-weight:650;white-space:nowrap;cursor:pointer}.shift-project-manage-shifts:hover{border-color:#4d7f68;background:#f0f7f4}.shift-project-manage-shifts>span{font-size:var(--bs-text-10);font-weight:500}.shift-project-manage-shifts small{color:#62757e;font:inherit}
.shift-grid thead .shift-worker-role-column{padding:0 11px;text-align:left}.shift-grid tbody .shift-worker-role-column{padding:0 11px;text-align:left;vertical-align:middle}.shift-worker-name-cell strong{font-weight:500}.shift-worker-role-column strong{font-weight:500}.shift-worker-role-column small{font-weight:400}.shift-grid-worker-name-line{gap:6px}.shift-grid-worker-name-line .shift-grid-hired-badge{margin-left:0}
.shift-worker-travel-status{position:relative;display:inline-grid!important;place-items:center;width:15px;height:15px;flex:0 0 15px;color:#176c9c;font-size:var(--bs-text-11);font-weight:400;line-height:1;cursor:help;outline:none}.shift-worker-travel-status.not-required{color:#98a5ab}.shift-worker-travel-status>i{position:absolute;width:16px;height:1.5px;border-radius:2px;background:#71828a;transform:rotate(-45deg)}.shift-worker-travel-status::after{content:attr(data-tooltip);position:absolute;top:calc(100% + 7px);left:-5px;z-index:20;display:block;width:max-content;max-width:180px;padding:5px 7px;border-radius:5px;background:#203945;color:#fff;font-size:var(--bs-text-7-5);font-weight:500;line-height:1.2;white-space:nowrap;box-shadow:0 4px 12px #17354230;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .12s,transform .12s}.shift-worker-travel-status:hover::after,.shift-worker-travel-status:focus-visible::after{opacity:1;transform:translateY(0)}.shift-grid tbody .shift-worker-name:has(.shift-worker-travel-status:hover),.shift-grid tbody .shift-worker-name:has(.shift-worker-travel-status:focus-visible){z-index:9}
.shift-worker-shift-select{display:block;width:48px;height:30px;margin:auto;padding:0 5px;border:1px solid #cbd6da;border-radius:6px;background:#fff;color:#304b57;font-size:var(--bs-text-9-5);font-weight:500;text-align:center;text-align-last:center;cursor:pointer}.shift-worker-shift-select:hover{border-color:#829aa4}.shift-worker-shift-select:focus-visible{outline:3px solid #2b84694d;outline-offset:1px}.shift-worker-shift-select:disabled{opacity:.6;cursor:wait}
@media(max-width:850px){.shift-project-summary-actions{justify-content:space-between;width:100%;flex-wrap:wrap}}
@media(max-width:1500px) and (min-width:1321px){.shift-toolbar{gap:7px}.shift-toolbar-project{flex-basis:175px}.shift-toolbar-weeks{flex-basis:96px}.shift-toolbar-range{flex-basis:122px}.shift-worker-search{flex-basis:175px;min-width:165px}.shift-toolbar-filter{flex-basis:108px}.shift-toolbar-action{width:44px;padding:0}.shift-toolbar-action span{display:none}}

/* Skiftplan patch 1.3: roligere verktøylinje, tydelige reiseikoner og lesbare navn. */
#shiftDraftPanel>.shift-toolbar{margin:0 0 14px}
.shift-toolbar select,.shift-toolbar input,.shift-toolbar button{font-size:var(--bs-text-11);font-weight:400}.shift-toolbar-project select,.shift-toolbar-weeks select,.shift-toolbar-navigation button:nth-child(2),.shift-toolbar-range,.shift-toolbar-travel>span:first-child,.shift-toolbar-action,.shift-toolbar-publish{font-size:var(--bs-text-11);font-weight:400}.shift-toolbar-navigation button:first-child,.shift-toolbar-navigation button:last-child{font-size:var(--bs-text-15);font-weight:400}.shift-toolbar-printer{display:block;width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.shift-grid thead .shift-worker-name-head{padding:7px 10px;text-align:center}.shift-grid thead .shift-worker-name-head>span{width:100%;text-align:center}.shift-grid thead .shift-worker-role-column{text-align:center}.shift-grid thead .shift-grid-add-personnel{display:grid;place-items:center;width:31px;min-width:31px;max-width:31px;height:31px;margin:7px auto 0;padding:0;font-size:var(--bs-text-16);font-weight:400;line-height:1;text-overflow:clip}.shift-grid tbody .shift-worker-role-column{text-align:left}.shift-worker-role-column strong{font-weight:400}

.shift-grid tbody .shift-worker-name{display:table-cell;height:auto;min-height:50px;padding:5px 11px;vertical-align:middle}.shift-grid-worker-name-line{display:flex;align-items:flex-start;width:100%;min-width:0;gap:6px}.shift-grid-worker-name-copy{display:block;min-width:0;flex:1;line-height:1.25}.shift-worker-name-cell .shift-grid-worker-name-copy strong{display:inline;overflow:visible;white-space:normal;overflow-wrap:anywhere;text-overflow:clip;font-weight:400}.shift-grid-worker-name-copy .shift-grid-hired-badge{margin-left:5px}.shift-worker-travel-status{width:16px;height:16px;flex-basis:16px;margin-top:1px;font-size:calc(0px)}.shift-worker-travel-status svg{display:block;width:16px;height:16px;overflow:visible}.shift-worker-travel-plane{fill:currentColor}.shift-worker-travel-status.not-required{color:#87969d}.shift-worker-travel-strike-halo,.shift-worker-travel-strike{fill:none;stroke-linecap:round}.shift-worker-travel-strike-halo{stroke:#fff;stroke-width:4}.shift-worker-travel-strike{stroke:#455b66;stroke-width:2.2}
.shift-worker-travel-indicators{display:grid;flex:0 0 16px;gap:3px;margin-top:1px}.shift-worker-travel-indicators>.shift-worker-travel-status{margin-top:0}.shift-worker-travel-indicators>[data-hotel-worker-status]{display:block;width:16px;height:16px}.shift-worker-hotel-status{position:relative;display:grid;place-items:center;width:16px;height:16px;color:#176c9c;cursor:help;outline:none}.shift-worker-hotel-status svg{display:block;width:16px;height:16px;overflow:visible}.shift-worker-hotel-bed{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.shift-worker-hotel-status.not-required,.shift-worker-hotel-status.unknown,.shift-worker-hotel-status.loading,.shift-worker-hotel-status.failed{color:#87969d}.shift-worker-hotel-status.loading{opacity:.55}.shift-worker-hotel-status.failed{color:#a34b43}.shift-worker-hotel-status::after{content:attr(data-tooltip);position:absolute;top:calc(100% + 7px);left:-5px;z-index:20;display:block;width:max-content;max-width:190px;padding:5px 7px;border-radius:5px;background:#203945;color:#fff;font-size:var(--bs-text-7-5);font-weight:500;line-height:1.2;white-space:nowrap;box-shadow:0 4px 12px #17354230;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .12s,transform .12s}.shift-worker-hotel-status:hover::after,.shift-worker-hotel-status:focus-visible::after{opacity:1;transform:translateY(0)}.shift-grid tbody .shift-worker-name:has(.shift-worker-hotel-status:hover),.shift-grid tbody .shift-worker-name:has(.shift-worker-hotel-status:focus-visible){z-index:9}

.shift-grid tbody .shift-worker-shift-column{padding:0;text-align:center;vertical-align:middle}.shift-grid tbody .shift-worker-shift-column .shift-worker-shift-select{margin:0 auto!important}

/* Skiftplan patch 1.4: større typografi, kompakt innleiemerke og stabil reisemarkering. */
#shiftPlansView{font-size:var(--bs-text-13)}
#shiftPlansView .shift-view-tabs button{font-size:var(--bs-text-13);font-weight:400}
#shiftPlansView .shift-toolbar select,#shiftPlansView .shift-toolbar input,#shiftPlansView .shift-toolbar button,#shiftPlansView .shift-toolbar-project select,#shiftPlansView .shift-toolbar-weeks select,#shiftPlansView .shift-toolbar-navigation button:nth-child(2),#shiftPlansView .shift-toolbar-range,#shiftPlansView .shift-toolbar-travel>span:first-child,#shiftPlansView .shift-toolbar-action,#shiftPlansView .shift-toolbar-publish{font-size:var(--bs-text-13);font-weight:400}
#shiftPlansView .shift-project-summary p{font-size:var(--bs-text-11)}
#shiftPlansView .shift-project-summary h2{font-size:var(--bs-text-16);font-weight:600}
#shiftPlansView .shift-project-summary-count{font-size:var(--bs-text-12-5)}
#shiftPlansView .shift-project-manage-shifts{min-height:42px;padding:0 16px;border-radius:7px;font-size:var(--bs-text-13);font-weight:400}
#shiftPlansView .shift-project-manage-shifts>span{font-size:var(--bs-text-14);font-weight:400}
#shiftPlansView .shift-grid-edit-guide{min-height:44px;font-size:var(--bs-text-12-5);font-weight:400}
#shiftPlansView .shift-grid-edit-guide>button{min-height:34px;font-weight:400}
#shiftPlansView .shift-grid-edit-guide i{width:21px;height:21px;font-size:var(--bs-text-11)}
#shiftPlansView .shift-grid-edit-guide-tip{font-size:var(--bs-text-12);font-weight:400!important}

.shift-grid-hired-legend{font-weight:400}.shift-grid-hired-legend>i,.shift-grid-worker-name-copy .shift-grid-hired-badge{display:inline-grid!important;place-items:center;width:19px;height:19px;box-sizing:border-box;padding:0;border:0;border-radius:50%;background:#d9ecf8;color:#145f8d;font-size:var(--bs-text-11)!important;font-style:normal;font-weight:600;line-height:1;letter-spacing:0;text-transform:none}.shift-grid-worker-name-copy .shift-grid-hired-badge{margin:0 0 0 6px;vertical-align:1px;cursor:help}

.shift-grid thead .shift-worker-name-head{padding:0 11px}.shift-grid-worker-head-row{position:relative;display:flex!important;align-items:center;justify-content:center;width:100%;min-height:44px;text-align:center}.shift-grid-worker-head-row>.shift-grid-add-personnel{position:absolute;left:0;top:50%;display:grid;place-items:center;margin:0!important;transform:translateY(-50%)}.shift-grid-worker-head-row>span{width:auto!important;font-size:var(--bs-text-12)!important;font-weight:600!important;text-align:center}.shift-grid .shift-worker-info-head>span{font-size:var(--bs-text-12);font-weight:600}.shift-week-band{font-size:var(--bs-text-11)!important}.shift-day-header>span{font-size:var(--bs-text-11)!important}.shift-day-header>strong{font-size:var(--bs-text-13)}.shift-day-header>small{font-size:var(--bs-text-11)!important}

.shift-grid tbody .shift-worker-name,.shift-grid tbody .shift-worker-role-column,.shift-grid tbody .shift-worker-shift-column,.shift-grid tbody .shift-worker-actions-column{height:60px}.shift-grid tbody .shift-worker-name{min-height:60px;padding:6px 11px}.shift-worker-name-cell .shift-grid-worker-name-copy strong,.shift-worker-role-column strong,.shift-worker-role-column small{font-family:var(--bs-font-family);font-size:var(--bs-text-13);font-weight:400;line-height:1.3}.shift-worker-role-column small{margin-top:3px}.shift-grid-worker-name-copy{line-height:1.3}.shift-worker-travel-status{margin-top:1px}.shift-worker-shift-select{height:34px;font-size:var(--bs-text-13);font-weight:400}.shift-grid tbody>tr[data-shift-worker-row]>td{height:60px}.shift-grid tbody>tr[data-shift-worker-row]>td>button{height:59px}.shift-worker-actions-column>button{font-size:var(--bs-text-16)}

.shift-grid td.travel-booked.before-allocation,.shift-grid td.travel-booked.after-allocation{position:relative;background:#dcefff!important;box-shadow:inset 0 0 0 2px #2776a5!important}.shift-grid td.travel-booked.before-allocation>button,.shift-grid td.travel-booked.after-allocation>button{background:#c5e3f7!important;box-shadow:inset 0 0 0 2px #2776a5!important;opacity:1;cursor:not-allowed}

/* Skiftplan patch 1.5: skjermtilpasset arbeidsplan og fokusert fullskjermvisning. */
.shift-view-nav-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.shift-view-nav-row .shift-view-tabs{flex:0 1 auto;margin-bottom:0}
.shift-toolbar-view{display:grid;gap:3px;width:218px;flex:0 0 218px;margin-top:-1px}
.shift-toolbar-view>span{color:#405762;font-size:var(--bs-text-11);font-weight:600}
.shift-toolbar-view select{width:100%;height:36px;padding:0 28px 0 10px;border:1px solid #aebfc6;border-radius:7px;background-color:#f8fafb;color:var(--navy);font-size:var(--bs-text-12);font-weight:400}
.shift-toolbar-view small{color:#687b84;font-size:var(--bs-text-10-5);line-height:1.35}
body.shift-plan-expanded .page:has(#shiftPlansView.active #shiftDraftPanel.active){width:100%;max-width:none;padding-left:12px;padding-right:12px}
body.shift-plan-expanded #shiftPlansView.active #shiftDraftPanel.active .shift-grid{--shift-name-width:340px;--shift-role-width:165px;--shift-number-width:70px;--shift-actions-width:44px}
body.shift-plan-expanded #shiftPlansView.active #shiftDraftPanel.active .shift-grid .shift-day-header{min-width:40px}
body.shift-plan-expanded #shiftPlansView.active #shiftDraftPanel.active .shift-grid tbody td:has(>button[data-shift-cell]){width:40px;min-width:40px}
#shiftPlansView:fullscreen{box-sizing:border-box;width:100vw;height:100dvh;overflow:auto;padding:10px;background:#eef2f3}
#shiftPlansView:fullscreen>.shift-heading,#shiftPlansView:fullscreen>.shift-module-shell>.shift-grouped-menu{display:none!important}
#shiftPlansView:fullscreen>.shift-module-shell{display:block;width:auto;margin-left:0;padding-right:0}
#shiftPlansView:fullscreen #shiftDraftToolbar{position:sticky;top:0;z-index:50;margin:0 0 8px;box-shadow:0 8px 22px #17354220}
#shiftPlansView:fullscreen .shift-projects{gap:8px}
#shiftPlansView:fullscreen .shift-project-summary{padding:8px 14px}
#shiftPlansView:fullscreen .shift-grid-edit-guide{min-height:38px}
#shiftPlansView:fullscreen .shift-grid-wrap{max-height:calc(100dvh - 196px);overflow:auto}
@media(max-width:1120px){.shift-view-nav-row{align-items:stretch;flex-direction:column;gap:8px}.shift-view-nav-row .shift-view-tabs{max-width:100%}.shift-toolbar-view{width:min(100%,280px);flex-basis:auto;margin-top:0}}
@media(max-width:560px){.shift-toolbar-view{width:100%}}

/* Arbeidsplan: kompakt personelltabell etter godkjent skisse. */
#shiftPlansView .shift-grid{--shift-name-width:340px;--shift-number-width:76px;font-family:var(--bs-font-family)}
#shiftPlansView .shift-grid .shift-worker-name{left:0;width:var(--shift-name-width);min-width:var(--shift-name-width);max-width:var(--shift-name-width)}
#shiftPlansView .shift-grid .shift-worker-shift-column{left:var(--shift-name-width)!important;width:var(--shift-number-width);min-width:var(--shift-number-width);max-width:var(--shift-number-width);box-shadow:5px 0 8px -7px #17354288}
#shiftPlansView .shift-grid-worker-head-row{justify-content:space-between!important;box-sizing:border-box;gap:12px;padding:0;text-align:left}
#shiftPlansView .shift-grid-worker-head-row>span{order:1;width:auto!important;font-family:var(--bs-font-family);font-size:var(--bs-text-15)!important;font-weight:600!important;line-height:1.25;letter-spacing:.01em}
#shiftPlansView .shift-grid .shift-worker-info-head>span{font-family:var(--bs-font-family);font-size:var(--bs-text-13)!important;font-weight:600!important;line-height:1.25;letter-spacing:.01em}
#shiftPlansView .shift-grid-worker-head-row>.shift-grid-add-personnel{order:2;position:static;display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;min-width:0;max-width:none;height:36px;margin:0!important;padding:0 12px;border-radius:7px;transform:none;font-family:var(--bs-font-family);font-size:var(--bs-text-13);font-weight:500;line-height:1.2;text-overflow:clip}
#shiftPlansView .shift-grid-worker-head-row>.shift-grid-add-personnel b{color:var(--red);font-size:var(--bs-text-18);font-weight:500;line-height:1}
#shiftPlansView .shift-worker-personnel-content{position:relative;display:flex;align-items:center;gap:8px;width:100%;min-width:0}
#shiftPlansView .shift-worker-personnel-content>.shift-grid-worker-name-line{min-width:0;flex:1;align-items:flex-start;gap:9px}
#shiftPlansView .shift-grid-worker-name-copy{display:block;min-width:0;flex:1;font-family:var(--bs-font-family);line-height:1.25}
#shiftPlansView .shift-grid-worker-name-copy>span:first-child{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#shiftPlansView .shift-worker-name-cell .shift-grid-worker-name-copy strong{font-family:var(--bs-font-family);font-size:var(--bs-text-15);font-weight:600;line-height:1.25;letter-spacing:0}
#shiftPlansView .shift-worker-person-meta{display:block;overflow:hidden;margin-top:3px;color:#5f737d;font-family:var(--bs-font-family);font-size:var(--bs-text-13);font-weight:400;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
#shiftPlansView .shift-worker-inline-actions{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;margin:0;border:1px solid transparent;border-radius:6px;background:transparent;color:#4c6470;font-family:var(--bs-font-family);font-size:var(--bs-text-16);font-weight:600;line-height:1;letter-spacing:1px;cursor:pointer}
#shiftPlansView .shift-worker-inline-actions:hover,#shiftPlansView .shift-worker-inline-actions[aria-expanded="true"]{border-color:#c4d1d6;background:#f0f4f5}
#shiftPlansView .shift-worker-personnel-content>.shift-worker-setting-dot,#shiftPlansView .shift-worker-personnel-content>.shift-worker-comment-dot{right:3px;bottom:-2px}
#shiftPlansView .shift-worker-personnel-content>.shift-worker-comment-dot{right:11px}
#shiftPlansView .shift-grid tbody>tr[data-shift-worker-row]>.shift-worker-name,#shiftPlansView .shift-grid tbody>tr[data-shift-worker-row]>.shift-worker-shift-column{height:64px}
#shiftPlansView .shift-grid tbody>tr[data-shift-worker-row]>.shift-worker-name{min-height:64px;padding:7px 10px 7px 13px}
#shiftPlansView .shift-grid tbody>tr[data-shift-worker-row]>td{height:64px}
#shiftPlansView .shift-grid tbody>tr[data-shift-worker-row]>td>button{height:63px}
#shiftPlansView .shift-worker-shift-select{width:50px;height:36px;padding:0 6px;font-family:var(--bs-font-family);font-size:var(--bs-text-14);font-weight:400}
#shiftPlansView .shift-worker-detail-cell{width:calc(var(--shift-name-width) + var(--shift-number-width));min-width:calc(var(--shift-name-width) + var(--shift-number-width));max-width:calc(var(--shift-name-width) + var(--shift-number-width))}
#shiftPlansView .shift-worker-group-row>th,#shiftPlansView .shift-worker-group-row>td{height:35px;min-height:35px;border-bottom:1px solid #d4dfe2;background:#f3f7f7}
#shiftPlansView .shift-worker-group-label{position:sticky;left:0;z-index:5;box-sizing:border-box;width:calc(var(--shift-name-width) + var(--shift-number-width));min-width:calc(var(--shift-name-width) + var(--shift-number-width));max-width:calc(var(--shift-name-width) + var(--shift-number-width));padding:0 14px;background:#eaf2f1!important;box-shadow:5px 0 8px -7px #17354288;color:#244754;text-align:left;white-space:nowrap}
#shiftPlansView .shift-worker-group-label span,#shiftPlansView .shift-worker-group-label small{font-family:var(--bs-font-family);font-size:var(--bs-text-13);line-height:1.2}
#shiftPlansView .shift-worker-group-label span{font-weight:700;letter-spacing:.025em}
#shiftPlansView .shift-worker-group-label small{margin-left:5px;color:#5d747d;font-weight:400}
#shiftPlansView .shift-worker-group-calendar{background:#f7faf9!important}
body.shift-plan-expanded #shiftPlansView.active .shift-grid{--shift-name-width:320px;--shift-number-width:72px}
@media(max-width:850px){#shiftPlansView .shift-grid{--shift-name-width:300px;--shift-number-width:70px}}
@media(max-width:560px){#shiftPlansView .shift-grid{--shift-name-width:260px;--shift-number-width:64px}#shiftPlansView .shift-worker-name-cell .shift-grid-worker-name-copy strong{font-size:var(--bs-text-14)}#shiftPlansView .shift-worker-person-meta{font-size:var(--bs-text-12)}}

/* Arbeidsplan: skiftvalg i personellmeny og plassfri innleidmarkør. */
#shiftPlansView .shift-grid{--shift-name-width:340px}
#shiftPlansView .shift-grid .shift-worker-name{box-shadow:5px 0 8px -7px #17354288}
#shiftPlansView .shift-grid tbody>tr[data-shift-worker-row]>.shift-worker-name{position:sticky;overflow:visible}
#shiftPlansView .shift-worker-detail-cell{width:var(--shift-name-width);min-width:var(--shift-name-width);max-width:var(--shift-name-width)}
#shiftPlansView .shift-worker-group-label{width:var(--shift-name-width);min-width:var(--shift-name-width);max-width:var(--shift-name-width)}
#shiftPlansView .shift-worker-hired-rail{position:absolute;z-index:2;top:2px;bottom:2px;left:0;width:4px;border-radius:0 2px 2px 0;background:#c69a25;pointer-events:auto}
#shiftPlansView .shift-grid-hired-legend{display:inline-flex;align-items:center;gap:8px}
#shiftPlansView .shift-grid-hired-legend>i{display:block;width:4px;height:20px;flex:0 0 4px;border-radius:2px;background:#c69a25;color:transparent}
body.shift-plan-expanded #shiftPlansView.active .shift-grid{--shift-name-width:320px}
@media(max-width:850px){#shiftPlansView .shift-grid{--shift-name-width:300px}}
@media(max-width:560px){#shiftPlansView .shift-grid{--shift-name-width:260px}}

.shift-worker-row-menu{font-family:var(--bs-font-family);border-color:#c7d2d7;border-radius:10px;box-shadow:0 18px 50px rgba(16,40,52,.22)}
.shift-worker-row-menu>header{padding:14px 16px;background:#fff}
.shift-worker-row-menu header strong{font-family:var(--bs-font-family);font-size:var(--bs-text-15);font-weight:600;line-height:1.25}
.shift-worker-row-menu header span{font-family:var(--bs-font-family);font-size:var(--bs-text-13);font-weight:400;line-height:1.3}
.shift-worker-row-menu nav{display:block;padding:0}
.shift-worker-menu-section{margin:0;padding:0 8px 7px;border-bottom:1px solid #e1e8ea}
.shift-worker-menu-section h3{margin:0 -8px 2px;padding:7px 16px 5px;background:#f4f7f7;color:#607681;font-family:var(--bs-font-family);font-size:var(--bs-text-12);font-weight:700;line-height:1.2;letter-spacing:.075em}
.shift-worker-menu-section>button,.shift-worker-menu-shift{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:54px;padding:7px 8px;border:0;border-radius:7px;background:#fff;color:var(--ink);font-family:var(--bs-font-family);text-align:left}
.shift-worker-menu-section>button{cursor:pointer}
.shift-worker-menu-section>button:hover{background:#f1f5f6}
.shift-worker-menu-section>button.has-value{background:#fff9e9}
.shift-worker-menu-section span,.shift-worker-menu-section b,.shift-worker-menu-section small{display:block}
.shift-worker-menu-section b,.shift-worker-row-menu nav>.danger b{font-family:var(--bs-font-family);font-size:var(--bs-text-14);font-weight:400;line-height:1.3}
.shift-worker-menu-section small,.shift-worker-row-menu nav>.danger small{margin-top:3px;color:#71828a;font-family:var(--bs-font-family);font-size:var(--bs-text-13);font-weight:400;line-height:1.35}
.shift-worker-menu-section>button>i{color:#647984;font-size:var(--bs-text-16);font-style:normal;font-weight:600}
.shift-worker-menu-shift select{width:112px;min-height:44px;padding:0 32px 0 11px;border:1px solid #bccbd1;border-radius:7px;background:#fff;color:var(--navy);font-family:var(--bs-font-family);font-size:var(--bs-text-14);font-weight:400}
.shift-worker-menu-travel>i{display:flex;align-items:center;gap:8px;font-style:normal}
.shift-worker-menu-travel>i>em{min-width:18px;color:#526a75;font-size:var(--bs-text-13);font-style:normal;font-weight:400;text-align:right}
.shift-worker-menu-switch{position:relative;width:34px;height:20px;border-radius:999px;background:#aab9bf;transition:background .15s ease}
.shift-worker-menu-switch::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #17354240;transition:transform .15s ease}
.shift-worker-menu-switch.is-on{background:#58a76d}
.shift-worker-menu-switch.is-on::after{transform:translateX(14px)}
.shift-worker-row-menu nav>.danger{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:58px;padding:8px 16px;border:0;border-radius:0;background:#fff5f4;color:#a53d39;font-family:var(--bs-font-family);text-align:left;cursor:pointer}
.shift-worker-row-menu nav>.danger:hover{background:#fdebea}
.shift-worker-row-menu nav>.danger>i{font-size:var(--bs-text-18);font-style:normal}

/* Keep absence visually identical to the printable shift plan. */
.shift-grid-edit-guide i.absence{border-color:#d6b96e;background:#fff0cd;color:#6d4a00;font-size:var(--bs-text-11)}


/* Platform operations: readable controls, including narrow phone screens. */
.platform-alert-settings{font-family:var(--bs-font-family);font-size:var(--bs-text-16);line-height:1.5}
.platform-alert-settings .settings-card-head h2{font-family:var(--bs-font-family);font-size:var(--bs-text-20)}
.platform-alert-settings .settings-card-head p,.platform-alert-result{font-size:var(--bs-text-16);line-height:1.5}
.platform-alert-toggle{display:flex;align-items:center;gap:10px;margin:0 0 20px;font-size:var(--bs-text-16);font-weight:600}
.platform-alert-toggle input{width:20px;height:20px;flex:none;accent-color:var(--red,#e4433a)}
.platform-alert-recipients{display:grid;gap:8px;max-width:650px;font-size:var(--bs-text-16);font-weight:600}
.platform-alert-recipients textarea{box-sizing:border-box;width:100%;resize:vertical;min-height:96px;padding:12px;border:1px solid #cbd7df;border-radius:8px;background:#fff;color:var(--navy,#173143);font-family:var(--bs-font-family);font-weight:400;font-size:var(--bs-text-16);line-height:1.5}
.platform-alert-recipients textarea:focus{outline:2px solid var(--navy,#173143);outline-offset:2px}
.platform-alert-hint{margin:8px 0 18px;font-size:var(--bs-text-14);line-height:1.5;color:var(--muted,#52677a)}
.platform-alert-actions{display:flex;flex-wrap:wrap;gap:10px}
.platform-alert-actions button{min-height:44px;font-family:var(--bs-font-family);font-size:var(--bs-text-14)}
.platform-alert-result{padding:12px 14px;border-radius:8px;background:#f2f5f7;overflow-wrap:anywhere}
.platform-alert-status{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0 0}
.platform-alert-status dt{font-size:var(--bs-text-14);color:var(--muted,#52677a)}
.platform-alert-status dd{font-size:var(--bs-text-16);margin:4px 0 0;overflow-wrap:anywhere}
@media(max-width:600px){.platform-alert-status{grid-template-columns:1fr}.platform-alert-actions{flex-direction:column}.platform-alert-actions button{width:100%}}

.platform-alert-settings label.platform-alert-toggle{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;margin:0 0 20px}
.platform-alert-settings label.platform-alert-recipients{display:grid;gap:8px}
.platform-alert-settings label.platform-alert-toggle>span,.platform-alert-settings label.platform-alert-recipients>span{font-family:var(--bs-font-family);font-size:var(--bs-text-16);font-weight:600;letter-spacing:normal;text-transform:none}
.platform-alert-settings p.platform-alert-hint{font-size:var(--bs-text-14);line-height:1.5;margin:8px 0 18px}
.platform-alert-settings p.platform-alert-result{font-size:var(--bs-text-16);line-height:1.5;margin:16px 0}
@media print{
  #shiftPlansView .shift-grid-edit-guide{display:none!important}
}


.shift-travel-leg-overview.booked{border-color:#bbd8e8;background:#f2f8fc}.shift-travel-summary.complete{background:#e4f1f9;color:#20638a}
.shift-travel-row-status{flex-wrap:wrap}.shift-travel-row-status small{flex:1 0 100%;color:#536c79;font-size:var(--bs-text-13);text-align:right}@media(max-width:800px){.shift-travel-row-status small{text-align:left}}
