/* Treukers bemannings- og aktivitetsplan */
.planning-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.planning-print{flex:none}.planning-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.planning-metrics article{min-height:104px;padding:17px 18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.planning-metrics span{display:block;color:#5b6f79;font-size:var(--bs-text-9);font-weight:800;letter-spacing:.07em;text-transform:uppercase}.planning-metrics strong{display:block;margin:9px 0 5px;color:var(--navy);font-size:var(--bs-text-25);letter-spacing:-.04em}.planning-metrics small{color:var(--muted);font-size:var(--bs-text-10)}.planning-metrics article.negative{border-color:#edc4c3;background:#fff8f7}.planning-metrics article.negative strong{color:var(--danger)}
.planning-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px;padding:17px 20px}.planning-settings{display:flex;align-items:flex-end;gap:18px;min-width:0}.planning-settings label{display:grid;gap:7px;width:210px;flex:none}.planning-control-copy{display:grid;gap:4px;align-self:center;max-width:260px}.planning-control-copy strong{font-size:var(--bs-text-12)}.planning-control-copy small{color:var(--muted);font-size:var(--bs-text-10);line-height:1.4}.planning-week-toggles{display:flex;flex-wrap:wrap;gap:7px}.planning-week-toggle{height:35px;padding:0 11px;border:1px solid #b9c8ce;border-radius:999px;background:#edf4f6;color:var(--navy);font-size:var(--bs-text-10);font-weight:800;white-space:nowrap}.planning-week-toggle span{margin-right:4px;color:var(--green)}.planning-week-toggle.hidden-week{border-style:dashed;background:#fff;color:#788991}.planning-week-toggle.hidden-week span{color:#9caab1}.planning-actions{display:flex;gap:8px;flex:none}
.planning-board{padding:0;overflow:hidden}.planning-board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:21px 23px;border-bottom:1px solid var(--line);background:#f9fbfb}.planning-board-head h2{margin:0 0 5px}.planning-board-head p:last-child{margin:0;color:var(--muted)}.planning-save-state{align-self:center;padding:6px 9px;border-radius:999px;background:var(--green-bg);color:var(--green);font-size:var(--bs-text-9);font-weight:800}.planning-table-wrap{max-width:100%;overflow:auto;scrollbar-color:#aebdc4 #eef2f3;scrollbar-width:thin}.planning-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.planning-table th,.planning-table td{height:48px;padding:0;border-right:1px solid #d8e0e3;border-bottom:1px solid #dfe6e9;background:#fff;text-align:center}.planning-table thead th{position:sticky;top:0;z-index:4;background:#f1f5f6;color:#344b57}.planning-table .planning-week-row th{height:53px}.planning-table .planning-day-row th{top:53px;height:44px;background:#f8fafb}.planning-day-row th span,.planning-day-row th small{display:block}.planning-day-row th span{font-size:var(--bs-text-10)}.planning-day-row th small{margin-top:3px;color:#7b8b93;font-size:var(--bs-text-8)}.planning-area-head,.planning-area-cell{width:130px;min-width:130px;max-width:130px}.planning-activity-head,.planning-activity-cell{width:180px;min-width:180px;max-width:180px}.planning-summary-head,.planning-hours,.planning-budget,.planning-variance{width:72px;min-width:72px;max-width:72px}.planning-worker-cell,.planning-day-row th{width:46px;min-width:46px;max-width:46px}.planning-area-head,.planning-area-cell{position:sticky!important;left:0;z-index:6!important}.planning-activity-head,.planning-activity-cell{position:sticky!important;left:130px;z-index:6!important}.planning-summary-head:nth-child(3),.planning-hours{position:sticky!important;left:310px;z-index:6!important}.planning-summary-head:nth-child(4),.planning-budget{position:sticky!important;left:382px;z-index:6!important}.planning-summary-head:nth-child(5),.planning-variance{position:sticky!important;left:454px;z-index:6!important;box-shadow:5px 0 8px rgba(20,44,58,.06)}.planning-table tbody tr:hover td,.planning-table tbody tr:hover td input{background:#f8fbfc}.planning-table input{width:100%;height:47px;padding:0 9px;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:left}.planning-worker-cell input,.planning-budget input{text-align:center;font-family:inherit;font-size:var(--bs-text-14);font-weight:750}.planning-worker-cell input{padding:0;line-height:47px}.planning-worker-cell input:not(:placeholder-shown),.planning-table tbody tr:hover .planning-worker-cell input:not(:placeholder-shown){color:#fff;background:var(--navy)}.planning-area-cell input{font-weight:750}.planning-activity-cell>div{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center}.planning-activity-cell button{width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:#a05b5d;font-size:var(--bs-text-17)}.planning-activity-cell button:hover{background:var(--danger-bg);color:var(--danger)}.planning-hours,.planning-variance{vertical-align:middle;text-align:center;font-family:inherit;font-size:var(--bs-text-14);font-weight:750}.planning-hours{color:var(--navy)}.planning-variance.negative,.planning-table tfoot .negative{color:#b62f34;background:#fff0f0}.planning-variance.positive,.planning-table tfoot .positive{color:#157452;background:#eaf7f1}.planning-week-head{border-left:3px solid #aebdc4!important;background:#f4ce63!important;color:#152b37!important}.planning-week-head>span:first-child{display:inline-grid;gap:3px}.planning-week-head b{font-size:var(--bs-text-13)}.planning-week-head small{font-size:var(--bs-text-8);font-weight:600}.planning-week-actions{position:absolute;right:5px;top:7px;display:flex;gap:3px}.planning-week-actions button{width:22px;height:22px;padding:0;border:1px solid rgba(20,44,58,.18);border-radius:5px;background:rgba(255,255,255,.55);color:#304954;font-weight:800}.planning-table tbody td:nth-child(6n+6),.planning-table tfoot th:nth-child(6n+6),.planning-day-row th:nth-child(6n+1){border-left:3px solid #aebdc4}.planning-table tfoot th{position:sticky;bottom:0;z-index:5;height:49px;background:#e8eef0;color:var(--navy);font-size:var(--bs-text-10)}.planning-table tfoot th:first-child{text-align:left;padding-left:14px}.planning-table tfoot th:nth-child(-n+5){z-index:7}.planning-help{margin:0;padding:14px 20px;border-top:1px solid var(--line);background:#f8fafb;color:#60737d;font-size:var(--bs-text-10);line-height:1.5}.planning-empty{padding:55px 20px;text-align:center}.planning-empty strong{font-size:var(--bs-text-15)}.planning-empty p{margin:7px 0 0;color:var(--muted)}
.planning-print-meta,.planning-print-footer,.planning-print-text{display:none}
@media(max-width:1050px){.planning-metrics{grid-template-columns:repeat(2,1fr)}.planning-controls,.planning-settings{align-items:stretch;flex-direction:column}.planning-actions{align-self:flex-end}.planning-settings label{width:240px}.planning-control-copy{max-width:none}}
@media(max-width:600px){.planning-heading{display:block}.planning-print{margin-top:16px}.planning-metrics{grid-template-columns:1fr}.planning-actions{width:100%}.planning-actions button{flex:1}.planning-area-head,.planning-area-cell{width:130px;min-width:130px;max-width:130px}.planning-activity-head,.planning-activity-cell{width:190px;min-width:190px;max-width:190px}.planning-activity-head,.planning-activity-cell{left:130px}.planning-summary-head:nth-child(3),.planning-hours{left:320px}.planning-summary-head:nth-child(4),.planning-budget{left:415px}.planning-summary-head:nth-child(5),.planning-variance{left:510px}}
@media print{
  @page{size:A3 landscape;margin:10mm}
  body.print-planning{background:#fff!important;color:#172d39;font-size:var(--bs-print-text-9);-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.print-planning .topbar,body.print-planning .app-tabs,body.print-planning .viewer-banner,body.print-planning .planning-heading,body.print-planning .planning-controls,body.print-planning .planning-save-state,body.print-planning .planning-help,body.print-planning .toast,body.print-planning dialog{display:none!important}
  body.print-planning .page{max-width:none;margin:0;padding:0}
  body.print-planning .app-view{display:none!important}
  body.print-planning #planningView{display:block!important}
  body.print-planning .planning-board{display:block!important;border:0;box-shadow:none;overflow:visible}
  body.print-planning .planning-metrics{display:grid!important;grid-template-columns:repeat(4,1fr);gap:3mm;margin:0 0 5mm}
  body.print-planning .planning-metrics article{min-height:18mm;padding:3.2mm 4mm;border:0;border-top:1.2mm solid #173746;border-radius:1.5mm;background:#f1f5f6;box-shadow:none;break-inside:avoid}
  body.print-planning .planning-metrics article.negative{border-color:#b62f34;background:#fff2f1}
  body.print-planning .planning-metrics span{font-size:var(--bs-print-text-7-5);color:#5a6d77}
  body.print-planning .planning-metrics strong{margin:1.7mm 0 0;font-size:var(--bs-print-text-16);line-height:1;color:#173746}
  body.print-planning .planning-metrics small{display:none}
  body.print-planning .planning-board-head{display:flex;padding:0 0 4mm;margin-bottom:4mm;border:0;border-bottom:1mm solid #d8aa27;background:#fff}
  body.print-planning .planning-board-head .kicker{margin-bottom:1.2mm;font-size:var(--bs-print-text-7-5);letter-spacing:.14em;color:#b62f34}
  body.print-planning .planning-board-head h2{margin:0 0 1.5mm;font-size:var(--bs-print-text-19);line-height:1.05;color:#132d3a}
  body.print-planning .planning-board-head p:last-child{font-size:var(--bs-print-text-9);color:#536772}
  body.print-planning .planning-print-meta{display:grid;margin-left:auto;align-self:center;gap:1.5mm;text-align:right}
  body.print-planning .planning-print-meta strong{font-size:var(--bs-print-text-10);color:#173746}
  body.print-planning .planning-print-meta span{font-size:var(--bs-print-text-7-5);color:#6b7b83}
  body.print-planning .planning-table-wrap{display:block!important;overflow:visible}
  body.print-planning .planning-table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;border:0.4mm solid #53656e;break-inside:auto}
  body.print-planning .planning-col-area{width:10%!important}
  body.print-planning .planning-col-activity{width:14%!important}
  body.print-planning .planning-col-summary{width:5.2%!important}
  body.print-planning .planning-table thead{display:table-header-group}
  body.print-planning .planning-table tfoot{display:table-row-group}
  body.print-planning .planning-table tr{break-inside:avoid}
  body.print-planning .planning-table th,body.print-planning .planning-table td{position:static!important;width:auto!important;min-width:0!important;max-width:none!important;height:var(--planning-print-row-height,9mm);padding:0;border:0.22mm solid #87959c!important;box-shadow:none!important;vertical-align:middle}
  body.print-planning .planning-table .planning-week-row th{height:10mm}
  body.print-planning .planning-table .planning-day-row th{height:9mm;background:#edf2f3;color:#263f4b}
  body.print-planning .planning-area-head,body.print-planning .planning-area-cell{width:10%!important}
  body.print-planning .planning-activity-head,body.print-planning .planning-activity-cell{width:14%!important}
  body.print-planning .planning-summary-head,body.print-planning .planning-hours,body.print-planning .planning-budget,body.print-planning .planning-variance{width:5.2%!important}
  body.print-planning .planning-worker-cell,body.print-planning .planning-day-row th{width:auto!important}
  body.print-planning .planning-table th{font-size:var(--bs-print-text-7-5);line-height:1.15;letter-spacing:.025em}
  body.print-planning .planning-day-row th span{font-size:var(--bs-print-text-7-5)}
  body.print-planning .planning-day-row th small{margin-top:1mm;font-size:var(--bs-print-text-6-5);color:#60717a}
  body.print-planning .planning-table input{height:100%;padding:1.5mm 1.7mm;color:#172d39!important;background:transparent!important;font-size:var(--bs-print-text-8-5);line-height:1.2;white-space:normal;text-overflow:clip}
  body.print-planning .planning-area-cell input{font-weight:800}
  body.print-planning .planning-activity-cell>div{display:block;height:100%}
  body.print-planning .planning-area-cell input,body.print-planning .planning-activity-cell input{display:none!important}
  body.print-planning .planning-print-text{display:flex;align-items:center;width:100%;height:100%;padding:1.5mm 1.7mm;overflow:visible;white-space:normal;overflow-wrap:anywhere;word-break:normal;hyphens:auto;color:#172d39;font-size:var(--bs-print-text-8-5);line-height:1.25;text-align:left}
  body.print-planning .planning-area-cell .planning-print-text{font-weight:800}
  body.print-planning .planning-hours,body.print-planning .planning-budget input,body.print-planning .planning-variance{font-size:var(--bs-print-text-9);font-weight:850}
  body.print-planning .planning-activity-cell button,body.print-planning .planning-week-actions{display:none!important}
  body.print-planning .planning-week-head{border-left:0.8mm solid #52656e!important;background:#e9c54f!important;color:#173746!important}
  body.print-planning .planning-week-head b{font-size:var(--bs-print-text-10)}
  body.print-planning .planning-week-head small{font-size:var(--bs-print-text-6-5)}
  body.print-planning .planning-worker-cell input{padding:0;text-align:center;font-size:var(--bs-print-text-9);font-weight:850}
  body.print-planning .planning-worker-cell input:not(:placeholder-shown){background:#183847!important;color:#fff!important}
  body.print-planning .planning-variance.positive,body.print-planning .planning-table tfoot .positive{background:#e7f4ed!important;color:#126546!important}
  body.print-planning .planning-variance.negative,body.print-planning .planning-table tfoot .negative{background:#fde9e8!important;color:#a5262b!important}
  body.print-planning .planning-table tfoot th{height:10mm;padding:0 1.5mm;background:#dfe8eb!important;color:#183847;font-size:var(--bs-print-text-8)}
  body.print-planning .planning-table tfoot th:first-child{text-align:left;padding-left:2mm}
  body.print-planning .planning-print-footer{display:flex;justify-content:space-between;gap:8mm;margin-top:3mm;padding-top:2.5mm;border-top:0.25mm solid #b9c4c9;color:#60717a;font-size:var(--bs-print-text-7)}
  body.print-planning .planning-print-footer span:last-child{margin-left:auto;text-align:right}
}

