:root{font-family:"Segoe UI",Arial,sans-serif;color:#203149;background:#f4f6fa;--green:#176b61;--line:#e5eaf1}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}[hidden]{display:none!important}a:focus-visible,button:focus-visible{outline:3px solid #47a798;outline-offset:3px}aside{position:fixed;inset:0 auto 0 0;width:244px;background:white;border-right:1px solid var(--line);padding:34px 20px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:13px;margin:0 10px 46px}.brand b{display:grid;place-items:center;width:43px;height:43px;background:var(--green);color:white;border-radius:12px;font-size:28px}.brand strong{display:block;font-size:23px;letter-spacing:1px}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#7b899d;margin-top:2px}.menu-label{font-size:10px;letter-spacing:1.5px;color:#96a1b0;margin:0 13px 17px}nav{display:grid;gap:6px}nav a{display:flex;align-items:center;gap:13px;padding:14px 13px;border-radius:8px;color:#66768c;font-size:13px;white-space:nowrap}nav a span{width:20px;text-align:center;font-size:20px;line-height:1}nav a:hover{background:#f2f6f9}nav a.active{background:#e8f3ef;color:var(--green);font-weight:600}.sidebar-footer{margin-top:auto;background:#f5f7fa;border-radius:10px;padding:16px;display:grid;gap:6px;font-size:12px}.sidebar-footer small{font-size:11px;color:#7b899d}.workspace{margin-left:244px}header{height:88px;background:white;border-bottom:1px solid var(--line);padding:0 36px;display:flex;align-items:center;justify-content:space-between}header small{font-size:9px;letter-spacing:1.1px;color:#91a0b3}h1{font-size:20px;font-weight:600;margin:5px 0 0}.account{display:flex;gap:20px;align-items:center}.status{font-size:11px;color:#327d6e;background:#edf6f2;padding:7px 10px;border-radius:6px}.avatar{display:grid;place-items:center;background:#eaf0f8;color:#5f718b;border-radius:50%;width:36px;height:36px;font-size:12px;font-weight:600}main{padding:32px 36px}.intro{margin-bottom:25px}.eyebrow{font-size:10px;letter-spacing:1.5px;color:var(--green);font-weight:600}.intro h2{font-size:29px;letter-spacing:-.7px;font-weight:600;margin:8px 0}.intro p{font-size:13px;color:#7b899d;margin:0}.summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:25px}.summary article{background:white;border:1px solid var(--line);border-radius:11px;padding:20px 21px}.summary article>div{font-size:12px;color:#6b7a90;display:flex;align-items:center;justify-content:space-between;gap:8px}.summary article span{font-size:19px;color:#8aa69f}.summary strong{display:block;font-size:29px;font-weight:500;margin:6px 0}.summary p{font-size:10px;color:#94a0b1;margin:0;line-height:1.6}.calendar{background:white;border:1px solid #e0e6ee;border-radius:12px;padding:23px;box-shadow:0 3px 12px #20314903}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:16px}.toolbar h2{font-size:21px;font-weight:600;margin:0}.toolbar p{font-size:11px;color:#8a96a8;margin:5px 0 0}.switch{display:flex;background:#f1f4f8;padding:4px;border-radius:9px}.switch button{border:0;background:transparent;color:#7a879a;font-size:12px;border-radius:6px;padding:9px 19px}.switch button[aria-pressed=true]{background:white;color:var(--green);box-shadow:0 1px 4px #142d4510;font-weight:600}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid var(--line)}.weekday{font-size:10px;color:#8a96a8;text-align:center;padding:0 0 14px;letter-spacing:.6px;border-bottom:1px solid var(--line)}.calendar-cell{min-height:88px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 11px;font-size:12px;color:#53637a}.weekend{background:#fbfcfe}.outside{background:#fafbfd;color:#bdc5d0}.today{background:#f0f8f5}.day-number{width:25px;height:25px;display:grid;place-items:center;border-radius:50%}.today .day-number{background:var(--green);color:white;font-weight:600}footer{display:flex;justify-content:space-between;gap:16px;font-size:10px;color:#8a96a8;margin-top:15px}.today-legend{color:var(--green)}.time-grid{display:grid;border-left:1px solid var(--line)}.time-grid .weekday{padding-top:5px}.time-cell{height:60px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.hour{font-size:10px;color:#8a96a8;padding-top:8px;border-bottom:1px solid var(--line)}.current-day{background:#f0f8f5;color:var(--green)}@media(min-width:1600px){main{max-width:1600px;margin:auto}.calendar-cell{min-height:105px}}@media(max-width:1100px){aside{width:220px;padding-inline:12px}.workspace{margin-left:220px}main{padding:26px 22px}header{padding-inline:22px}.summary{gap:10px}.summary article{padding:16px}.calendar{padding:18px}.calendar-cell{padding:7px;min-height:78px}}@media(max-width:760px){aside{position:static;width:auto;padding:18px 16px 12px}.brand{margin:0 0 20px}.menu-label,.sidebar-footer{display:none}nav{display:flex;overflow:auto;padding-bottom:6px}nav a{padding:10px;font-size:12px;gap:6px}.workspace{margin-left:0}header{height:75px}header small{font-size:8px}.account{gap:9px}.status{font-size:9px}.avatar{display:none}main{padding:24px 16px}.intro h2{font-size:25px}.summary{grid-template-columns:1fr}.summary article{display:grid;grid-template-columns:1fr auto;gap:3px 15px}.summary strong{grid-column:2;grid-row:1 / 3;margin:0}.summary p{grid-row:2}.summary article span{display:none}.calendar{padding:15px}.toolbar{align-items:flex-start;flex-wrap:wrap}.toolbar h2{font-size:19px}.calendar-scroll{overflow-x:auto}#calendar-body{min-width:520px}.calendar-cell{min-height:76px}footer{flex-wrap:wrap}}
/* Instellingen, opdrachten en weekplanning */
button,.button{background:#fff;border:1px solid #dce4ed;border-radius:7px;padding:10px 15px;color:#53657c;font-size:12px;display:inline-block;cursor:pointer}button:hover,.button:hover{background:#edf4f1;color:#176b61}button:disabled{opacity:.48;cursor:not-allowed}.primary{background:#176b61;color:#fff;border-color:#176b61}.primary:hover{background:#11594f;color:#fff}.danger{color:#ac3e3e}.dashboard-actions,.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}.dashboard-actions{justify-content:space-between;margin:0 0 18px}.dashboard-actions>div{display:flex;gap:10px}.panel{background:white;border:1px solid #e0e6ee;border-radius:12px;padding:24px;margin-bottom:22px;scroll-margin-top:20px}.panel h2{font-size:19px;font-weight:600;margin:0 0 14px}.panel h3{font-size:15px;margin:20px 0 10px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.badge{font-size:10px;color:#267466;background:#edf6f2;padding:6px 9px;border-radius:5px}.muted{color:#7b899d;font-size:12px;line-height:1.65}.small{font-size:10px}.settings-links{display:flex;gap:8px;margin:0 0 22px;flex-wrap:wrap}.settings-links a{font-size:12px;background:#fff;border:1px solid #e0e6ee;border-radius:7px;padding:10px 15px;color:#176b61}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:20px 0}.wide{grid-column:1 / -1}label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#53657c}input,select,textarea{font:inherit;font-size:13px;color:#203149;background:white;border:1px solid #d7e0e9;border-radius:6px;padding:11px 12px;min-width:0;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #6cae9f;outline-offset:1px}input:disabled,textarea:disabled{background:#f5f7fa;color:#65758c}textarea{resize:vertical;line-height:1.65}.check-label{flex-direction:row;align-items:flex-start;gap:9px;font-size:12px;line-height:1.6;margin:12px 0}.check-label input{width:16px;height:16px;flex-shrink:0;accent-color:#176b61;margin-top:2px}.inline-form{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin:20px 0}.inline-form label{flex:1;min-width:130px}.inline-form button{margin-bottom:1px}.testmail,.calendar-selection{border-top:1px solid #e5eaf1;margin-top:22px;padding-top:16px}.calendar-selection>label{max-width:600px}details{background:#f5f8fb;border-radius:7px;padding:13px;margin:16px 0}summary{cursor:pointer;color:#176b61;font-size:12px}code{background:#edf2f7;padding:2px 5px;border-radius:4px;overflow-wrap:anywhere}.employee-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #e5eaf1;padding:16px 0}.employee-row>div{flex:1}.employee-row strong{font-size:13px}.employee-row p{margin:4px 0}.editor-dialog{border:1px solid #dce4ed;border-radius:13px;padding:26px;width:min(740px,94vw);max-height:90vh;overflow:auto;color:#203149;box-shadow:0 20px 80px #13273530}.editor-dialog::backdrop{background:#152a4659}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-head h2{font-size:21px;margin:0}fieldset{border:1px solid #e0e6ee;border-radius:8px;padding:13px 17px}legend{font-size:12px;color:#53657c}.employee-checks{max-height:180px;overflow:auto}.restriction,.warning{color:#92621d;font-size:12px;background:#fff7e7;padding:12px;border-radius:6px;line-height:1.6}.mail-preview{margin:16px 0;border:1px solid #dce4ed;border-radius:9px;padding:18px}.mail-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:12px;line-height:1.8;background:#f7f9fb;padding:18px;border-radius:6px}.mail-subject{font-size:12px;color:#53657c}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:650px;text-align:left;font-size:12px}th{font-size:10px;letter-spacing:.5px;color:#8391a4;font-weight:600}th,td{padding:14px 12px;border-bottom:1px solid #e5eaf1;vertical-align:top}td strong{font-size:12px}.success-text{color:#176b61}#notification{position:fixed;bottom:24px;right:24px;max-width:min(560px,90vw);background:#176b61;color:white;box-shadow:0 5px 30px #172e4930;padding:17px 22px;border-radius:9px;font-size:13px;line-height:1.7;z-index:20}#notification.error{background:#9b3b37}.agenda-list{margin-top:24px}.list-item{display:flex;align-items:center;gap:15px;border-bottom:1px solid #edf0f5;padding:8px 0}.list-item>small{min-width:85px}.event-row{display:flex;flex-direction:column;text-align:left;border:0;gap:4px;flex:1}.event-row span{font-size:11px;color:#7b899d}.event-chip{display:block;width:100%;padding:5px 6px;text-align:left;font-size:10px;background:#e8f3ef;border:0;border-left:2px solid #2d8c77;border-radius:3px;margin:4px 0;color:#176b61}.event-chip strong,.event-chip span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-chip span{font-size:9px;margin-top:2px}.calendar-cell{min-width:0}.time-cell{height:auto;min-height:50px;min-width:0;padding:2px}.period-navigation{display:flex;justify-content:center;gap:8px;margin-top:12px}.period-navigation button{font-size:11px;padding:7px 12px}#outlook-status{font-size:23px;line-height:39px}.calendar-scroll{max-height:650px;overflow:auto}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.panel{padding:18px}.dashboard-actions,.dashboard-actions>div{gap:8px;flex-wrap:wrap}.employee-row{flex-wrap:wrap}.employee-row>div{flex-basis:100%}.editor-dialog{padding:20px}.list-item{align-items:flex-start}.mail-preview{padding:13px}.mail-preview pre{padding:13px}.panel-title{align-items:flex-start}}
.auth-panel{max-width:600px;margin:30px auto}.auth-panel label{margin:20px 0}.auth-required nav{pointer-events:none;opacity:.4}.auth-required #dashboard,.auth-required #empty-page{display:none!important}.auth-required #page-title{visibility:hidden}.auth-required .status{visibility:hidden}
.completion-fields{margin-top:18px}.work-checks,.completion-checks{max-height:240px;overflow:auto}.notice-panel{border-color:#efd79d;background:#fffdf7}.notice-row{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid #f0e6cc}.notice-row>div{flex:1}.notice-row strong{font-size:14px}.notice-row p{margin:6px 0}.extracted-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:350px;overflow:auto;font-family:inherit;font-size:12px;line-height:1.7}.pdf-review>.button{margin:5px 0 12px}.pdf-review .warning{font-size:11px}.pdf-review .duplicates:empty{display:none}input[readonly]{background:#f4f7fa}input[type=file]{font-size:11px;padding:10px}@media(max-width:760px){.notice-row{flex-wrap:wrap}.notice-row>div{flex-basis:100%}}
.material-choice{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #edf0f5}.material-choice>.check-label{flex:1;margin:0}.quantity-label{width:160px;font-size:10px}.material-choice input[data-quantity]{font-size:12px;padding:8px}.event-materials,.location-materials{max-height:330px;overflow:auto}.event-materials{margin-bottom:12px}aside nav{overflow-y:auto;min-height:0}.sidebar-footer{flex-shrink:0}@media(max-width:760px){aside nav{overflow-x:auto;overflow-y:hidden}.material-choice{align-items:flex-start}.quantity-label{width:125px}}
.event-type-field{display:flex;align-items:flex-end;gap:10px}.event-type-field>label{flex:1;min-width:0}.event-type-field>button{flex-shrink:0;min-height:39px}.event-row .event-type-label{color:#176b61;font-size:11px;font-weight:600}.event-chip .event-type-label{font-size:9px;font-weight:600}@media(max-width:760px){.event-type-field{flex-wrap:wrap}.event-type-field>label{flex-basis:100%}}
.maintenance-history{margin-top:24px;border-top:1px solid #e5eaf1;padding-top:16px}.maintenance-history h3{font-size:15px}.history-entry{display:flex;gap:14px;align-items:baseline;padding:10px 0;border-bottom:1px solid #edf0f5;font-size:12px}.planning-year{background:white;border:1px solid #e0e6ee;border-radius:10px;margin:0 0 16px;padding:17px}.planning-year>summary{font-size:16px;font-weight:600}.planning-month{background:#f8fafc;margin:12px 0;padding:13px}.planning-month>summary{font-size:13px}.maintenance-row{display:flex;align-items:center;gap:10px;background:white;padding:15px;border:1px solid #e1e7ef;border-radius:8px;margin-top:12px}.maintenance-row>div{flex:1}.maintenance-row strong{font-size:13px}.maintenance-row p{margin:5px 0}.maintenance-row.is-planned{background:#edf7f0;border-color:#b9dbca;border-left:4px solid #258268}.maintenance-row.is-planned strong{color:#176b61}.maintenance-performed{margin-top:15px;padding-top:8px;border-top:1px solid #e5eaf1}@media(max-width:760px){.maintenance-row{flex-wrap:wrap}.maintenance-row>div{flex-basis:100%}.history-entry{flex-direction:column;gap:4px}}
body[data-role=planner] .summary article:nth-child(2),body[data-role=monteur] .summary article:nth-child(2){display:none}body[data-role=planner] .summary,body[data-role=monteur] .summary{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-checkboxes{display:flex;gap:12px;align-items:center;flex-wrap:wrap;max-width:230px}.planning-checkboxes .check-label{margin:0}.planning-checkboxes small{flex-basis:100%}.readonly-text{font-size:13px;white-space:pre-wrap;line-height:1.7}.editor-dialog h3{font-size:15px}@media(max-width:760px){body[data-role=planner] .summary,body[data-role=monteur] .summary{grid-template-columns:1fr}.planning-checkboxes{max-width:none}}
.planner-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px}.planner-workspace h3{font-size:14px;margin:10px 0}.planner-workspace fieldset,.planner-materials{margin:10px 0 18px}.planner-engineers,.planner-work,.engineer-checks{max-height:260px;overflow:auto}.planner-selection-summary{background:#edf6f2;border-radius:8px;padding:15px;font-size:12px}.planner-selection-summary p{margin:7px 0}.assignment-picker{margin:18px 0}.planner-form .form-grid{margin-top:16px}.planner-workspace{scroll-margin-top:20px}@media(max-width:1100px){.planner-columns{grid-template-columns:1fr}}
/* Jaar, maand en statussen blijven ook op kleine schermen bereikbaar. */
.planning-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap}
.planning-filters>label:not(.check-label){display:grid;gap:6px;min-width:150px}
.planning-filters>.check-label{align-self:center}
.completed-job{padding:16px;border:1px solid;border-left-width:5px;border-radius:10px;margin-top:12px}
.completed-job.is-good{background:#edf8f1;border-color:#81bd96;color:#1c5731}
.completed-job.needs-attention{background:#fff4e5;border-color:#e3a046;color:#804600}
.completed-job-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.completed-job-head>div{flex:1;min-width:180px}
.completed-job .muted{color:inherit;opacity:.85}.completion-badge{font-weight:700;font-size:13px}
.dashboard-attention-item{margin-top:12px;padding-top:12px;border-top:1px solid #e3a046}
.completion-readonly{padding:12px;background:#edf8f1;border-radius:8px;margin-top:12px}
.free-planning{grid-column:1/-1;display:grid;gap:10px}.free-planning[hidden]{display:none}
.free-planning label{display:grid;gap:6px}.free-planning .check-label{display:flex;align-items:center;gap:8px}
aside nav{overflow-y:auto;min-height:0;align-content:start;flex:1}.sidebar-footer{flex-shrink:0}
.settings-menu summary{cursor:pointer;padding:14px 13px;border-radius:8px;color:#66768c;font-size:13px}.settings-menu summary:hover{background:#f2f6f9}.settings-menu>div{display:grid;padding-left:12px;border-left:2px solid #e5eaf1;margin-left:13px}.settings-menu a{white-space:normal;padding:10px 8px}.summary{grid-template-columns:minmax(0,320px)}aside{overflow-y:auto}.sidebar-footer{margin-top:20px}@media(max-width:760px){.settings-menu{min-width:200px}.summary{grid-template-columns:1fr}}
.compact-entry{background:#fff;border:1px solid var(--line);border-radius:8px;margin:8px 0}.compact-entry>summary{cursor:pointer;padding:12px 16px;list-style:disclosure-closed}.compact-entry[open]>summary{list-style:disclosure-open}.compact-entry>summary strong{font-size:14px;font-weight:600}.compact-entry>summary small{display:block;margin:4px 0 0 15px;font-size:12px}.compact-entry>.panel,.compact-entry>.completed-job,.compact-entry>.compact-content{margin:0;padding:12px 16px;border:0;box-shadow:none}.compact-entry.needs-attention{border-left:4px solid #df9b31}.compact-entry.is-good{border-left:4px solid #27866d}
