/* Catael Planning palette: white sidebar, neutral grey canvas, muted teal controls. */
:root{font-family:'Segoe UI',Arial,sans-serif;color:#203743;background:#f5f5f5;--teal:#397785;--navy:#203743;--line:#dde5e7;--muted:#718187;--danger:#b33b3b;--tint:#eaf1f2;--head:#d4e2e4}
*{box-sizing:border-box}body{margin:0;font-size:14px}h1,h2,h3,p{overflow-wrap:anywhere}button,input,select,textarea{font:inherit}button{border:1px solid transparent;border-radius:4px;background:var(--teal);color:#fff;padding:9px 14px;cursor:pointer;font-weight:600;min-height:38px}button.secondary{background:#fff;border-color:var(--line);color:var(--navy)}button:hover{filter:brightness(.97)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #70a4ae;outline-offset:2px}button.danger,.iconBtn.danger{color:var(--danger);background:#fff2f1;border-color:#edc9c7}.hidden{display:none!important}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;border-right:1px solid var(--line);background:white;padding:14px 12px;display:flex;flex-direction:column;z-index:35;overflow-y:auto}.logoWrap{padding:0 3px 17px;text-align:right}.brandLogo{display:block;width:100%;height:auto;max-height:118px;object-fit:contain}.sideIdentity{margin-top:1px;text-align:right}.sideWho{font-size:12px;color:#526a73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.version{font-size:11px;color:#849399;text-align:right;margin-top:4px}.sidebar nav{display:flex;flex-direction:column;gap:4px;margin-top:12px}.nav{border:0;border-left:3px solid transparent;border-radius:0;background:transparent;color:#40535d;text-align:left;padding:12px 12px;font-size:13px;font-weight:500;min-height:42px}.nav.active{background:var(--tint);color:#266977;border-left-color:var(--teal);font-weight:650}.nav:hover{background:#f4f7f7}.sidebarFooter{margin-top:auto;padding-top:24px}.sidebarFooter button{width:100%;text-align:left;font-size:12px}.mobileTop,.mobileNavigation{display:none}main{margin-left:220px;padding:18px 22px;min-width:0}.pageHead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.pageHead h1{font-size:24px;line-height:1.3;margin:0}.pageHead p{color:var(--muted);font-size:13px;margin:5px 0 0}.weekSummaries{display:flex;gap:10px}.weekCard{padding:10px 16px;min-width:190px;border:1px solid #d6e2e5;border-radius:5px;background:#edf3f3}.weekCard span{display:block;font-size:12px}.weekCard strong{font-size:26px;color:#326a77;display:block;margin-top:3px}.secondaryWeek{background:#fff}.weekCard.underTarget{background:#fbe4e3;border-color:#e9b3b0}.weekCard.underTarget strong{color:#a52d2d}.card{background:#fff;border:1px solid var(--line);border-radius:5px;padding:18px;margin-bottom:16px;box-shadow:0 1px 3px #20374305}.card h2{font-size:19px;margin:0 0 12px}.card h3{font-size:16px;margin:0 0 12px}.cardTitle,.historyHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.modeTabs,.tabs,.weekNav{display:flex;gap:5px;flex-wrap:wrap}.mode,.histTab{background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:4px;font-size:13px;font-weight:500}.mode.active,.histTab.active{background:var(--teal);color:#fff;border-color:var(--teal)}label{display:flex;flex-direction:column;gap:6px;margin:10px 0;font-size:13px;font-weight:650}input,select,textarea{width:100%;min-width:0;padding:10px 11px;border:1px solid #becdd1;border-radius:4px;background:#fff;color:var(--navy);outline:0;line-height:1.35}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 2px #39778520}input:disabled,select:disabled{background:#f4f6f6;color:#76858b;cursor:default}input[type=checkbox]{accent-color:var(--teal)}textarea{resize:vertical;min-height:92px}.check{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px;font-weight:500}.check input{width:16px;height:16px;padding:0;margin:0}.twoCol{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.textGrid{display:grid;grid-template-columns:1fr 1.35fr;gap:18px}.projectBox{position:relative}.clearBtn{position:absolute;right:4px;top:4px;background:transparent;color:#60757c;border:0;width:30px;min-height:30px;padding:0;font-size:22px}.projectBox input{padding-right:35px}.projectBox:focus-within>input{outline:2px solid #76a9af;outline-offset:1px}.suggestions{position:absolute;left:0;right:0;top:100%;z-index:25;background:#fff;border:1px solid #cbd5dd;max-height:min(360px,44vh);overflow:auto;border-radius:0 0 6px 6px;box-shadow:0 10px 24px #18344916;overscroll-behavior:contain}.suggestion{display:block;width:100%;border:0;border-bottom:1px solid #e4e8eb;border-radius:0;background:#fff;text-align:left;line-height:1.4;padding:12px 16px;white-space:normal;min-height:62px}.suggestion:last-child{border-bottom:0}.suggestion:hover,.suggestion.highlighted{background:var(--tint)}.suggestion .projectPrimary{display:block;color:#193346;font-size:16px;font-weight:700;line-height:1.35}.suggestion .projectNumber{display:inline;margin-right:8px;color:inherit;font:inherit}.suggestion .projectCustomer{display:block;color:#687676;font-size:13px;font-weight:600;margin-top:5px;line-height:1.35}.emptySuggestion{color:var(--muted);font-weight:400;min-height:0;cursor:default}.dateRow{display:grid;grid-template-columns:minmax(160px,210px);margin-top:12px}.timelineGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr) minmax(0,1fr);gap:14px;margin:12px 0 18px;align-items:stretch}.timelineStep{min-width:0;border:1px solid var(--line);border-radius:4px;padding:12px;background:#fbfcfc}.timelineStep legend{font-weight:650;font-size:14px;padding:0 6px}.stepNo{display:inline-flex;width:23px;height:23px;align-items:center;justify-content:center;background:#d4e2e4;color:#325c66;font-size:12px;margin-right:5px;border-radius:4px}.workStep{background:#f6f9f9;border-color:#a6c0c5}.pair{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;align-items:center}.workTimeGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hoursField{grid-column:1/-1}.stepHint{font-size:12px;color:var(--muted);line-height:1.5;margin-top:8px}.counter{font-size:11px;color:var(--muted);text-align:right}.absenceNote{background:var(--tint);color:#456873;padding:11px 14px;border-radius:4px}.muted{font-size:12px;color:var(--muted);line-height:1.5}.warning{display:flex;gap:16px;justify-content:space-between;align-items:center;background:#fff4d9;border:1px solid #e8cd90;border-radius:5px;padding:13px 15px;color:#725320;margin:12px 0}.warningActions,.formActions,.dialogActions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.formActions{margin-top:15px}.formActions #submit{min-width:150px}.ok{color:#216a42}.err{color:#a82c2c}.globalStatus{padding:12px 15px;margin-bottom:16px;border:1px solid var(--line);border-radius:5px;background:white;line-height:1.5;overflow-wrap:anywhere}.globalStatus.ok{background:#eff7f1;border-color:#b6d6c0;color:#216a42}.globalStatus.err{background:#fff0ef;border-color:#e3b6b1;color:#922727}.globalStatus.warning{display:block}.tableWrap{overflow-x:auto;margin-top:12px}table{width:100%;border-collapse:collapse;min-width:800px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 9px;font-size:13px;vertical-align:top}th{font-size:12px;background:#e7eeee;color:#355a64;font-weight:650}tbody tr:hover{background:#fbfcfc}.historyHead input{max-width:290px;margin:0}.historyTools{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px}.historyTools button{font-size:12px}.status{display:inline-block;padding:4px 8px;font-size:11px;border-radius:4px;background:#e2eff3;color:#24637c;white-space:nowrap}.status.done{background:#e7f2e9;color:#31633f}.status.pending,.status.processing{background:#fff1d2;color:#745820}.status.failed{background:#fbe4e1;color:#912e26}.actions{display:flex;gap:6px;flex-wrap:wrap}.iconBtn{padding:5px 9px;min-height:30px;color:#41626e;background:#f1f5f5;border:1px solid var(--line);font-size:15px}.weekDays{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));overflow-x:auto;gap:8px;margin-top:12px}.dayCard{border:1px solid var(--line);border-radius:4px;min-height:150px;padding:10px;background:#fcfdfd}.dayCard.today{border-color:#74a1ab;background:#f2f7f8}.dayHead{display:flex;justify-content:space-between;gap:5px;border-bottom:1px solid var(--line);padding-bottom:7px;margin-bottom:7px;font-size:12px}.dayHead span{font-size:11px;color:var(--muted)}.dayEntry{font-size:11px;padding:7px 0;border-bottom:1px dashed var(--line);line-height:1.4}.dayEntry strong{display:block}.dayTotal{font-weight:750;margin-top:9px;color:#326a77}.queueItem{display:flex;justify-content:space-between;gap:15px;padding:13px;background:#f6f9f9;border:1px solid var(--line);border-radius:4px;margin:8px 0;font-size:13px}.queueItem>div{min-width:0}.queueItem.failed{background:#fff6f4;border-color:#e3b9b4}.queueDetail{overflow-wrap:anywhere;margin-top:6px;line-height:1.5}#jobQueue{margin-top:16px}#jobQueue h3{font-size:14px}.adminForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end}.adminForm button{justify-self:start}.adminForm>p{grid-column:1/-1}.usersTable .mapResource{min-width:220px}.usersTable select{padding:8px}.usersTable .muted{margin-top:5px}.auditLine{border-bottom:1px solid var(--line);font-size:12px;padding:9px 0;overflow-wrap:anywhere}.auditLine time{color:var(--muted);margin-right:10px}details{margin-top:20px}summary{font-weight:650;padding:10px 0;cursor:pointer}#adminMessage:not(:empty){padding:10px 0}#accountCard,#localLoginCard{max-width:550px}#passwordForm,#localLoginForm{display:grid;grid-template-columns:1fr;gap:14px}dialog{border:1px solid var(--line);border-radius:6px;box-shadow:0 16px 64px #1a363638;padding:22px;max-width:min(660px,calc(100vw - 26px));max-height:calc(100dvh - 40px);overflow:auto;color:var(--navy);background:white}dialog::backdrop{background:#24363e66}dialog h2,dialog h3{margin-top:0}dialog form{display:grid;gap:12px}.overlapItem{padding:11px;border:1px solid #e3bfbb;border-left:3px solid #b44942;margin:10px 0;background:#fff8f7;font-size:13px;line-height:1.5}.overlapItem strong{display:block;margin-bottom:5px}.overlapFilters{display:flex;gap:7px;align-items:end;flex-wrap:wrap}.overlapFilters label{margin:0;font-weight:600}.overlapFilters input{padding:8px;min-width:170px}.overlapBadge{display:inline-block;background:#fbe4e3;color:#9e3232;padding:4px 7px;font-weight:700;border-radius:4px;margin-bottom:4px}.overlapsTable{min-width:900px;table-layout:fixed}.overlapsTable th:nth-child(1){width:17%}.overlapsTable th:nth-child(2){width:12%}.overlapsTable th:nth-child(3),.overlapsTable th:nth-child(4){width:29%}.overlapsTable th:nth-child(5){width:13%}.overlapsTable td{overflow-wrap:anywhere;line-height:1.5}.overlapPager{display:flex;gap:12px;justify-content:flex-end;align-items:center;margin:15px 0;font-size:12px}.srOnly{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1800px){main{padding:20px 30px}.timelineGrid{grid-template-columns:1fr 1.4fr 1fr}.sidebar{width:230px}main{margin-left:230px}}
@media(max-width:1250px){.pageHead{align-items:flex-start}.weekCard{min-width:170px;padding:9px 12px}.weekCard strong{font-size:22px}.timelineGrid{grid-template-columns:1fr}.workTimeGrid .hoursField{grid-column:1/-1}.weekDays{grid-template-columns:repeat(7,160px)}}
#formCard:has(#projectArea.hidden) .timelineGrid{grid-template-columns:1fr}
@media(max-width:1000px){.pageHead{display:block}.weekSummaries{margin-top:12px}.sidebar{width:185px}main{margin-left:185px;padding:15px}.twoCol,.textGrid{grid-template-columns:1fr}.twoCol{gap:0}}
@media(max-width:760px){.sidebar{display:none}.mobileTop{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:6px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:35;height:76px}.mobileLogo{width:145px}.mobileLogo .brandLogo{max-height:65px;width:145px}.mobileIdentity{font-size:11px;text-align:right;max-width:50%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#526a73}.mobileNavigation{display:block;position:sticky;top:76px;z-index:30;padding:7px 12px;background:#f5f5f5;border-bottom:1px solid var(--line)}.mobileNavigation select{font-size:14px;padding:8px}main{margin-left:0;padding:12px}.pageHead h1{font-size:21px}.pageHead p{font-size:12px}.weekSummaries{display:grid;grid-template-columns:1fr 1fr;gap:8px}.weekCard{min-width:0;padding:10px}.weekCard strong{font-size:21px}.weekCard span{font-size:11px}.card{padding:14px}.cardTitle,.historyHead{display:block}.modeTabs{display:grid;grid-template-columns:repeat(3,1fr);margin:8px 0 12px}.mode{padding:8px 5px}.dateRow{grid-template-columns:1fr}.workTimeGrid{grid-template-columns:1fr 1fr}.workTimeGrid label:nth-child(3),.workTimeGrid .hoursField{grid-column:1/-1}.timelineGrid{gap:12px}.stepHint{font-size:11px}.timelineStep{padding:10px}.historyHead input{max-width:none;margin-top:12px}.tabs{flex-wrap:nowrap;overflow:auto}.histTab{white-space:nowrap}.warning{display:block;font-size:13px}.warningActions{margin-top:12px}.formActions button{flex:1}.historyTools{align-items:flex-start}.queueItem{display:block}.queueItem>.status{margin-top:10px;white-space:normal}.weekNav{margin-top:10px}.weekDays{display:block;overflow:visible}.dayCard{min-height:0;margin-bottom:9px}.dayEntry{font-size:12px}.globalStatus{font-size:13px}.projectBox input,.timeAssist,textarea{font-size:16px}.suggestion{padding:12px 13px}.suggestions{max-height:40vh}.adminForm{grid-template-columns:1fr}.overlapFilters{margin-top:12px}.overlapFilters button{padding:8px 10px;min-height:42px}.overlapFilters label{flex:1}.overlapFilters input{width:100%}.overlapsTable,.overlapsTable tbody,.overlapsTable tr,.overlapsTable td{display:block;width:100%;min-width:0}.overlapsTable thead{display:none}.overlapsTable tr{margin-bottom:12px;border:1px solid var(--line);border-radius:5px;padding:8px}.overlapsTable td{border:0;padding:7px 6px}.overlapsTable td::before{content:attr(data-label);display:block;color:#738388;font-size:11px;font-weight:650;margin-bottom:3px}.overlapPager{justify-content:space-between;flex-wrap:wrap}.dialogActions button{flex:1;min-height:44px}}

/* 3.11: only occupy travel columns while the explicit travel control is enabled. */
.dateRow{grid-template-columns:minmax(160px,210px) minmax(0,1fr);gap:20px;align-items:end}
.travelVisibilityControl{align-self:end;margin:0 0 7px;min-height:36px}
.timelineGrid.withoutTravel{grid-template-columns:minmax(0,1fr)}
.withoutTravel .workTimeGrid{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(160px,1fr);align-items:end}
.withoutTravel .hoursField{grid-column:auto;min-height:43px}
.timelineGrid > .timelineStep{margin:0}
.timelineStep[hidden]{display:none!important}
@media(max-width:1000px){
  .withoutTravel .workTimeGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .withoutTravel .hoursField{grid-column:1/-1}
}
@media(max-width:760px){
  .dateRow{grid-template-columns:1fr;gap:4px}
  .travelVisibilityControl{margin:0;min-height:44px}
  .withoutTravel .workTimeGrid{grid-template-columns:1fr 1fr}
  .withoutTravel .workTimeGrid label:nth-child(3),.withoutTravel .hoursField{grid-column:1/-1}
}

/* v3.12: component alignment and Planning-style compact project list. */
#projectArea .twoCol{grid-template-columns:minmax(0,500px) minmax(0,1fr)}
.suggestions{right:auto;max-width:calc(100vw - 24px);border-radius:0;box-shadow:0 6px 18px #1834490d}
.suggestion{padding:12px 14px;min-height:62px}
.suggestion .projectPrimary{font-size:15px;font-weight:500;line-height:1.4}
.suggestion .projectNumber{font-weight:800;margin-right:8px}
.suggestion .projectCustomer{font-size:12px;font-weight:500;color:#708084;margin-top:5px;line-height:1.35}
.suggestion:hover,.suggestion.highlighted{background:#edf2f3}
.workTimeGrid{align-items:end}
.workTimeGrid label{margin:10px 0;gap:6px;font-size:13px;font-weight:650}
.workTimeGrid input,.workTimeGrid output{height:42px;box-sizing:border-box;line-height:1.35;padding:10px 11px}
.workTimeGrid .hoursField{padding:0;border:0;background:transparent;display:flex;flex-direction:column;align-items:stretch;justify-content:initial;min-height:0}
.workTimeGrid output{display:flex;align-items:center;justify-content:flex-start;width:100%;border:1px solid #becdd1;border-radius:4px;background:#fff;color:var(--navy);text-align:left;font:inherit}
#jobQueue{padding:0;border:1px solid var(--line);border-radius:4px;background:#fbfcfc}
#jobQueue>summary{padding:12px 14px;line-height:1.5;font-size:14px}
#queueSummary{margin-left:12px;font-weight:500}
#queueRows{padding:0 12px 8px}
#jobQueue[open]>summary{border-bottom:1px solid var(--line)}
.iconBtn{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px}
.iconBtn:disabled{opacity:.36;cursor:not-allowed;background:#f4f5f5;color:#738188}
.registrationsTable th:last-child,.registrationsTable td:last-child{min-width:132px}
@media(max-width:1000px){#projectArea .twoCol{grid-template-columns:1fr}.workTimeGrid .hoursField{grid-column:1/-1}}
@media(max-width:760px){
 .workTimeGrid label,.workTimeGrid output,.workTimeGrid input{font-size:16px}
 .suggestion{padding:11px 13px}
 .suggestion .projectPrimary{font-size:16px}
 .suggestion .projectCustomer{font-size:12.5px}
 .registrationsTable,.registrationsTable tbody,.registrationsTable tr,.registrationsTable td{display:block;width:100%;min-width:0}
 .registrationsTable thead{display:none}
 .registrationsTable tr{margin-bottom:12px;border:1px solid var(--line);border-radius:4px;padding:9px;background:white}
 .registrationsTable td{border:0;padding:5px 6px;font-size:13px;overflow-wrap:anywhere}
 .registrationsTable td::before{content:attr(data-label);display:block;color:var(--muted);font-size:11px;font-weight:650;margin-bottom:2px}
 .registrationsTable .actions{gap:9px;margin-top:5px}
 .registrationsTable .iconBtn{min-width:44px;min-height:44px}
 #queueSummary{display:block;margin-left:18px}
}

/* 3.13: identical accessible week pickers, memo shortcuts and audit timestamps. */
.weekSelector{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.weekSelector label{margin:0;display:flex;flex-direction:column;gap:6px;min-width:190px;font-weight:650}
.weekSelector input{height:42px;min-width:190px;margin:0;box-sizing:border-box}
.weekSelector button{height:42px;min-width:42px;margin:0;white-space:nowrap}
.memoTools{display:flex;gap:9px;flex-wrap:wrap;margin-top:9px}
.memoTools .memoSnippet{min-height:42px;font-weight:650;padding:9px 16px}
.timestamp,.clockValue{font-variant-numeric:tabular-nums;white-space:nowrap}
.historyTimeLine{display:flex;flex-direction:column;gap:2px;margin-bottom:5px}
.historyTimeLine small{color:var(--muted);font-size:11px;white-space:nowrap}
.queueTimes{display:flex;gap:6px 20px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:6px}
.registrationsTable td[data-label="Ingediend op"]{font-size:12px;min-width:152px}
.employeeFilterRow{margin:0 0 16px;max-width:390px}
.employeeFilterRow>label{margin:0;display:flex;flex-direction:column;gap:6px}
.employeeFilter{position:relative;min-width:0}
.employeeFilter input[type=search]{width:100%;padding-right:38px}
.employeeFilter input::-webkit-search-cancel-button{display:none}
.employeeOptions{position:absolute;top:100%;left:0;right:0;max-height:280px;overflow:auto;border:1px solid var(--line);background:white;z-index:35;box-shadow:0 6px 18px #1834490d}
.employeeOptions button{display:block;text-align:left;white-space:normal;background:white;color:var(--navy);width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 12px;min-height:44px}
.employeeOptions small{display:block;color:var(--muted);font-weight:400}
.employeeOptions button:hover,.employeeOptions .highlighted{background:#edf2f3}
@media(max-width:760px){
 .weekSelector{width:100%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
 .weekSelector label,.weekSelector input{min-width:0;width:100%}
 .weekSelector button,.weekSelector input{height:44px;font-size:16px}
 .weekSelector button:first-child{grid-column:1}.weekSelector label{grid-column:2/6}.weekSelector button:nth-child(3){grid-column:6}.weekSelector button:nth-child(4){grid-column:1/4}.weekSelector button:nth-child(5){grid-column:4/7;min-width:0}
 .employeeFilterRow{max-width:100%}.queueTimes{flex-direction:column;gap:4px}
 .registrationsTable td[data-label="Ingediend op"]{min-width:0;font-size:13px}
 .historyTimeLine{flex-direction:row;align-items:baseline;gap:8px}
 .memoTools .memoSnippet{min-height:44px}
}

/* 3.14: explicit, compact read-only observer context and nondestructive queue clearing. */
.viewEmployeeControl{display:flex;justify-content:flex-end;margin:-2px 0 12px;gap:8px}
.viewAsBanner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;margin-bottom:14px;border:1px solid #89aeb7;border-left:4px solid var(--teal);border-radius:4px;background:#edf4f5}
.viewAsBanner strong{display:block;font-size:16px;margin-top:4px}.viewAsBanner p{margin:5px 0 0;font-size:12px;color:#526c77;line-height:1.5}
.viewTag{font-size:10px;font-weight:800;letter-spacing:.06em;color:#2b6372}
.viewFormHint{padding:10px 12px;border:1px solid var(--line);background:#f3f7f7;border-radius:4px;font-size:12px;margin-top:0}
#viewEmployeeDialog{width:520px}.viewEmployeeOptions{display:grid;gap:5px;max-height:44dvh;overflow:auto;margin:12px 0}
.employeeChoice{text-align:left;display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-height:44px}.employeeChoice small{font-weight:400;color:var(--muted)}
.queueToolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border-bottom:1px solid var(--line)}
.queueToolbar p{margin:0;max-width:630px;font-size:12px;line-height:1.5}.queueControls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.queueControls button{white-space:nowrap}.queueControls label{margin:0;font-size:12px}.queueItem.clearedNotification{background:#f8f9f9;border-style:dashed}.queueEmpty{padding:8px 0}
@media(max-width:760px){.viewEmployeeControl{justify-content:stretch}.viewEmployeeControl button{width:100%;min-height:44px}.viewAsBanner{display:block;padding:12px}.viewAsBanner button{width:100%;margin-top:12px;min-height:44px}.queueToolbar{display:block}.queueControls{margin-top:10px;justify-content:space-between}.queueControls button{min-height:44px}.employeeChoice{font-size:14px}#viewEmployeeSearch{font-size:16px}}

/* v3.15 — complete overlap pairs and visible ISO-week dates. */
.weekSelector > label { position:relative; padding-bottom:25px; }
.weekPeriod { display:block; position:absolute; bottom:0; left:0; line-height:18px; font-size:12px; font-weight:400; color:#627780; margin:0; white-space:nowrap; }
.weekSelector { align-items:flex-end; }
.weekSelector > button { margin-bottom:25px; }
.overlapPair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; margin-top:10px; }
.overlapPair section { border:1px solid #d7e0e3; border-radius:5px; padding:12px; min-width:0; }
.overlapPair h3 { font-size:14px; margin:0 0 8px; }
.overlapProject { font-weight:700; color:#243b49; overflow-wrap:anywhere; }
.overlapCustomer,.overlapSource { font-size:12px; color:#65777e; }
.overlapTask { margin:4px 0; }
.overlapRecord { overflow-wrap:anywhere; }
.overlapMemo { white-space:pre-wrap; max-height:8rem; overflow:auto; }
#memo[aria-invalid="true"] { border-color:#b64b43; }
#overlapDialog { width:min(860px,calc(100vw - 32px)); }
@media(max-width:760px){ .overlapPair { grid-template-columns:minmax(0,1fr); } .weekPeriod { font-size:11px; } .weekSelector > button:nth-child(n+4) { margin-bottom:0; } }

/* 3.16: show memo context without widening mobile cards or hiding actions. */
.historySyncInfo{display:flex;flex-direction:column;gap:3px}.historyMemo{min-width:140px;max-width:240px;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.45}.registrationsTable{min-width:1120px}.historyMemo[title]{cursor:help}@media(max-width:760px){.registrationsTable{min-width:0}.historyMemo{max-width:none;min-width:0}.historySyncInfo{width:100%}}

@media(min-width:761px){.registrationsTable td[data-label="Datum"],.registrationsTable td[data-label="Uren"]{white-space:nowrap}.registrationsTable .actions{flex-wrap:nowrap;min-width:112px}}
.memoExcerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-clamp:3}

/* Read-only prefill context. A failed link stays visible until acknowledged. */
.entryLinkStatus{margin:12px 0 4px;padding:12px 14px;border:1px solid #c4dedb;border-radius:9px;background:#f3f9f8;max-width:720px;overflow-wrap:anywhere;font-size:14px;font-weight:400}
.entryLinkStatus p{margin:0}.entryLinkActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.entryLinkActions button{padding:6px 10px;font-size:13px}

/* 3.17: explicit delegated editing and durable queue rows. */
.viewAsBanner.delegating{border-left:4px solid #137e85;background:#edf7f7;}
.historySyncError{display:block;max-width:25rem;white-space:normal;margin-top:4px;}
.syncState{display:block;color:#66758a;margin-top:4px;}
