:root{color-scheme:light;--bg:#f4f6f8;--surface:#fff;--soft:#eef1f5;--text:#202d3d;--muted:#697687;--border:#dde3eb;--accent:#29695b;--shadow:0 4px 16px #22334d08}
:root[data-theme=dark]{color-scheme:dark;--bg:#111820;--surface:#1b252f;--soft:#25313e;--text:#edf3f8;--muted:#a4b3c3;--border:#334251;--accent:#6ac5a7;--shadow:0 4px 16px #0002}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}header{min-height:80px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:16px 3.5%;background:var(--surface);gap:20px}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:750;color:var(--text)}.logo{background:#29695b;color:white;border-radius:12px;width:38px;height:38px;display:grid;place-items:center;font-size:23px}nav,.actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}nav form,.actions form{margin:0}main{max-width:1700px;margin:auto;padding:42px 3.5% 60px}h1{font-size:clamp(28px,3vw,40px);line-height:1.2;letter-spacing:-1.2px;margin:8px 0 12px}h2{font-size:18px;margin:0 0 18px}h3{font-size:17px;margin:5px 0 8px;line-height:1.4}p{margin:6px 0 18px;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:750;color:var(--accent);margin:0}.heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.button,button{display:inline-block;border:1px solid transparent;border-radius:8px;padding:11px 17px;background:#29695b;color:white;font:inherit;font-weight:650;cursor:pointer;white-space:nowrap}.button:hover,button:hover{filter:brightness(1.08);text-decoration:none}.secondary{background:var(--surface);border-color:var(--border);color:var(--text)}input,textarea,select{width:100%;font:inherit;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:11px 12px;min-width:0}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}label{display:block;font-size:13px;font-weight:650;margin-bottom:18px}label input,label select,label textarea{display:block;margin-top:7px;font-weight:400}label small{color:var(--muted);font-weight:400}.inline{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}.inline input{width:auto;margin:0}.filters{display:flex;align-items:center;gap:20px;margin:0 0 32px}.filters>input{max-width:480px}.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.column{background:var(--soft);padding:14px;border-radius:12px;min-height:350px}.column-title{display:flex;justify-content:space-between;align-items:center;margin:3px 2px 18px}.column-title h2{font-size:14px;margin:0;display:flex;gap:9px;align-items:center}.column-title>span{background:var(--surface);border-radius:6px;padding:2px 8px;font-size:12px}.column-title i{width:8px;height:8px;border-radius:50%;background:#8995a6}.active i{background:#d99b3e}.planned i{background:#6684da}.done i{background:#3b9f7a}.card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;color:var(--text);margin-bottom:14px;box-shadow:var(--shadow)}.card:hover{text-decoration:none;border-color:var(--accent);transform:translateY(-1px)}.card>img{display:block;width:100%;height:145px;object-fit:cover}.card-body{padding:17px}.small{font-size:10px;letter-spacing:1px;color:var(--muted)}.card p{font-size:13px;margin-bottom:18px}.meta{display:flex;flex-direction:column;font-size:12px;gap:5px;color:var(--muted)}.owner{margin-top:16px;padding-top:13px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;font-size:12px}.avatar{width:25px;height:25px;border-radius:50%;background:var(--soft);display:grid;place-items:center;font-weight:700}.empty{font-size:13px;color:var(--muted);border:1px dashed var(--border);padding:28px 10px;text-align:center;border-radius:8px}.auth{max-width:460px;margin:45px auto;background:var(--surface);padding:36px;border:1px solid var(--border);border-radius:16px}.auth h1{font-size:30px}.auth button{width:100%}.notice,.error{padding:14px 18px;border-radius:8px;margin-bottom:24px;background:#dff2e9;color:#205e44}.error{background:#ffe8e3;color:#993522}.detail{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:26px;align-items:start}.panel{padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:25px}.gallery img{width:100%;max-height:350px;object-fit:contain;border-radius:7px}.time-list article,.person{padding:17px 0;border-bottom:1px solid var(--border)}.time-list span,.person span{display:block;font-size:12px;color:var(--muted)}.time-list p{margin:7px 0 0;font-size:13px}.back{display:inline-block;margin-bottom:18px;font-size:13px}footer{text-align:center;font-size:12px;color:var(--muted);padding:15px 20px 35px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:1150px){.board{grid-template-columns:repeat(2,minmax(0,1fr))}nav{gap:10px}}@media(max-width:700px){header{align-items:flex-start;flex-direction:column}nav{font-size:12px}.heading{align-items:flex-start;flex-direction:column}.filters{flex-wrap:wrap;gap:12px}.filters>input{max-width:none}.board,.detail,.form-grid{grid-template-columns:1fr}.column{min-height:160px}main{padding-top:25px}.panel{padding:20px}.auth{padding:25px;margin:15px auto}.gallery{grid-template-columns:1fr}}
@media print{@page{margin:15mm}html:root,html:root[data-theme=dark]{color-scheme:light;--bg:white;--surface:white;--text:black;--muted:#333;--border:#bbb}header,footer,.back,.actions,.no-print,.notice,button{display:none!important}main{padding:0;max-width:none}.heading{margin-bottom:20px}.detail{display:block}.panel{border:0;padding:0;margin-bottom:25px}input,textarea,select{border:0;padding:0;appearance:none;background:white;color:black}textarea{height:auto;min-height:160px;field-sizing:content}label{break-inside:avoid}.gallery img{max-height:95mm}.gallery a,.time-list article{break-inside:avoid}.panel h2{margin-top:18px}}
.agenda-filters{align-items:end;flex-wrap:wrap}.agenda-filters label{margin:0;min-width:180px}.agenda-filters .inline{min-width:0;align-self:center}.calendar{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;gap:16px}.calendar-toolbar h2{font-size:24px;margin:0 0 3px}.calendar-count{font-size:13px;color:var(--muted);font-weight:400}.calendar-controls{display:flex;gap:8px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday{background:var(--soft);font-size:12px;font-weight:700;padding:13px 10px;border-top:1px solid var(--border)}.calendar-day{min-height:145px;padding:9px;border-top:1px solid var(--border);border-right:1px solid var(--border);min-width:0}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{background:var(--bg)}.outside .day-heading{color:var(--muted)}.day-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:9px;font-size:13px;font-weight:650}.day-heading time{width:28px;height:28px;display:grid;place-items:center}.is-today .day-heading time{background:var(--accent);color:var(--surface);border-radius:50%}.today-label{font-size:10px;color:var(--accent)}.agenda-event{display:flex;flex-direction:column;gap:3px;border:1px solid var(--border);border-left:4px solid #6684da;border-radius:6px;background:var(--bg);padding:9px;margin-bottom:7px;font-size:11px;color:var(--text);overflow-wrap:anywhere}.agenda-event:hover{text-decoration:none;border-color:var(--accent)}.event-active{border-left-color:#d99b3e}.event-done{border-left-color:#3b9f7a}.agenda-event strong{font-size:13px;line-height:1.4}.event-top{display:flex;justify-content:space-between;gap:6px;font-size:10px;color:var(--muted);flex-wrap:wrap}.event-top>span:first-child{font-weight:700}.event-owner{color:var(--muted);margin-top:3px}.calendar-empty{padding:16px 24px;margin:0;border-top:1px solid var(--border)}.undated-section{margin-top:32px}.undated-section .heading{margin-bottom:15px}.undated-section h2{margin-bottom:7px}.undated-section p{margin-bottom:0}.undated-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.undated-grid .agenda-event{background:var(--surface);padding:15px}.mobile-day{display:none}
@media(min-width:701px) and (max-width:1100px){.calendar-grid{min-width:900px}.calendar-scroll{overflow-x:auto}.undated-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.calendar-toolbar{padding:16px;align-items:flex-start;flex-direction:column}.calendar-toolbar h2{font-size:22px}.calendar-grid{display:block}.weekday{display:none}.calendar-day{min-height:0;border-right:0;padding:12px}.calendar-day.day-empty:not(.is-today){display:none}.mobile-day{display:inline}.day-heading time{display:block;width:auto;height:auto;padding:3px 8px}.is-today .day-heading time{border-radius:6px}.agenda-event{font-size:12px;padding:12px}.agenda-event strong{font-size:14px}.undated-grid{grid-template-columns:1fr}.agenda-filters>label:not(.inline){flex:1}.calendar-controls .button{padding:8px 14px}}
@media print{.agenda-filters,.calendar-controls{display:none}.calendar-grid{display:grid;min-width:0}.weekday{display:block}.calendar-day,.calendar-day.day-empty:not(.is-today){display:block;min-height:100px;break-inside:avoid}.calendar-toolbar{padding:10px 0}.agenda-event{font-size:9px;padding:5px}.agenda-event strong{font-size:10px}.mobile-day{display:none}.undated-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar{overflow:visible}}

.work-sheet{max-width:960px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.sheet-titlebar{display:flex;justify-content:space-between;align-items:center;background:var(--soft);color:var(--text);border-bottom:1px solid var(--border);padding:17px 22px}.sheet-titlebar>div{display:flex;align-items:center;gap:16px}.sheet-titlebar span{font-size:23px;font-weight:650}.sheet-titlebar small{color:var(--muted);font-size:12px}.sheet-close{color:var(--muted);font-size:34px;font-weight:300;line-height:1;padding:0 5px}.sheet-close:hover{color:var(--text);text-decoration:none}.sheet-content{padding:24px}.sheet-content label{font-size:15px}.sheet-content input,.sheet-content textarea{padding:13px 14px;border-radius:7px}.sheet-content label small{font-size:12px}.sheet-content textarea{resize:vertical}.sheet-status,.sheet-people{margin:0 0 24px;border:1px solid var(--border);border-radius:8px;padding:18px 20px 22px;min-width:0}.sheet-status legend{text-align:center;padding:0 12px;font-size:17px;font-weight:750}.status-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:5px}.status-choice{position:relative;margin:0!important;min-width:0;cursor:pointer}.status-choice input{position:absolute;opacity:0;width:1px;height:1px;left:10px;top:10px}.status-choice span,.status-unavailable,.status-finish{display:flex;align-items:center;justify-content:center;text-align:center;height:48px;font-size:16px;font-weight:650;border:1px solid var(--border);padding:5px;min-width:0;background:transparent;border-radius:0;color:var(--muted)}.status-choice:first-child span{border-radius:7px 0 0 7px}.status-options>:last-child,.status-options>:last-child span{border-radius:0 7px 7px 0}.choice-planned span{color:#618ef5;border-color:#618ef5}.choice-active span{color:#dba52d;border-color:#dba52d}.choice-done span,.status-finish{color:#37a378;border-color:#37a378}.choice-undated input:checked+span{background:#6b7784;color:#fff}.choice-planned input:checked+span{background:#356ac4;color:white}.choice-active input:checked+span{background:#a86d0c;color:white}.choice-done input:checked+span{background:#287a59;color:white}.status-choice input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.status-unavailable{opacity:.5;cursor:default}.status-finish:hover{background:#287a59;color:white}.status-explanation{text-align:center;font-size:12px;margin:18px 0 0}.sheet-people legend{padding:0 10px;font-size:16px;font-weight:750;color:var(--accent)}.sheet-people p{font-size:12px;margin:0 0 14px}.people-checks{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}.people-checks label{display:flex;align-items:center;gap:10px;margin:0;font-weight:400}.people-checks input{width:19px;height:19px;margin:0;accent-color:var(--accent)}.sheet-save,.sheet-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px}.sheet-tools{padding-top:20px;border-top:1px solid var(--border)}.sheet-tools form{margin:0}.sheet-time,.sheet-history{border-top:1px solid var(--border);padding-top:24px;margin-top:28px}.sheet-time h2,.sheet-history h2{margin-bottom:7px}.sheet-hint{margin:22px 0 0;font-size:13px}.hours-total{font-variant-numeric:tabular-nums;font-weight:700!important}.sheet-dates label{margin-bottom:18px}

@media(max-width:700px){.sheet-content{padding:18px 14px}.sheet-titlebar{padding:16px}.sheet-titlebar>div{gap:10px}.sheet-status{padding:14px 10px 18px}.status-choice span,.status-finish,.status-unavailable{font-size:12px}.status-explanation{font-size:11px}.sheet-people{padding:14px}.people-checks{gap:14px 12px}.sheet-dates{grid-template-columns:1fr}.sheet-save>button:first-child{width:100%}}
@media print{.work-sheet{border:0;box-shadow:none;max-width:none}.sheet-titlebar{background:white;color:black;padding:0 0 16px}.sheet-titlebar small{color:#333}.sheet-close,.status-explanation,.sheet-hint{display:none}.sheet-content{padding:0}.status-options{display:flex;gap:15px}.status-choice{display:none!important}.status-choice:has(input:checked){display:block!important}.status-choice span{border:0!important;background:white!important;color:black!important;height:auto}.status-unavailable,.status-finish{display:none}.sheet-status,.sheet-people{border-color:#bbb!important;break-inside:avoid}.people-checks label:not(:has(input:checked)){display:none}.sheet-content input[type=checkbox]{appearance:auto;width:auto}.sheet-content textarea{min-height:0;padding:0;white-space:pre-wrap}.sheet-content input{padding:0}.sheet-history{margin-top:15px}}


.agenda-views{display:flex;gap:8px;margin-bottom:22px}.agenda-views .view-selected{background:var(--accent);color:var(--surface)}.agenda-week .calendar-day{min-height:290px}.agenda-week .day-heading time{display:flex;width:auto;gap:4px;padding:3px 7px}.agenda-week .is-today .day-heading time{border-radius:6px}.week-month{font-size:11px}.week-empty{font-size:11px;color:var(--muted);margin:16px 0}.agenda-list{padding:0 24px}.agenda-list-day{border-top:1px solid var(--border);padding:20px 0}.agenda-list-day h3{font-size:15px;margin:0 0 12px}.agenda-list-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.agenda-list-events .agenda-event{padding:14px;margin:0}.agenda-list-events .agenda-event strong{font-size:15px}
@media(max-width:1000px){.agenda-list-events{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.agenda-week .calendar-day,.agenda-week .calendar-day.day-empty:not(.is-today){display:block;min-height:0}.agenda-list{padding:0 15px}.agenda-list-events{grid-template-columns:1fr}.agenda-week .day-heading time{display:block}.agenda-week .week-empty{margin:4px 0}.agenda-views>a{flex:1;text-align:center}}
@media print{.agenda-views{display:none}.agenda-list-events{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-list-day{break-inside:avoid}.agenda-week .calendar-day{min-height:140px}}
.time-correction{margin-top:12px}.time-correction summary{cursor:pointer;color:var(--accent);font-size:13px;font-weight:650;width:fit-content}.time-correction[open]{padding:16px;background:var(--soft);border:1px solid var(--border);border-radius:8px}.time-correction form{margin-top:16px}.time-correction .form-grid label{margin-bottom:14px}.time-correction small{display:block;margin-top:6px}
/* Compacte kaarten in de kaartenbakken. */
.board{gap:14px}.board .column{padding:11px;min-height:0}.board .column-title{margin:2px 1px 12px}.board .card{display:flex;flex-direction:row-reverse;align-items:flex-start;margin-bottom:8px;border-radius:8px}.board .card:last-child{margin-bottom:0}.board .card>img{width:58px;height:58px;flex:0 0 58px;object-fit:cover;margin:11px 10px 11px 0;border-radius:5px}.board .card-body{flex:1;min-width:0;padding:10px 12px;overflow-wrap:anywhere}.board .card .small{font-size:9px;letter-spacing:.6px}.board .card h3{font-size:15px;line-height:1.35;margin:2px 0 4px}.board .card p{font-size:12px;line-height:1.35;margin:0 0 6px}.board .meta{flex-direction:row;flex-wrap:wrap;column-gap:10px;row-gap:2px;font-size:11px;line-height:1.5}.board .owner{margin-top:7px;padding-top:0;border-top:0;gap:6px;font-size:11px;line-height:1.4;align-items:flex-start}.board .avatar{width:20px;height:20px;flex:0 0 20px;font-size:10px}.board .empty{padding:14px 8px;font-size:12px}
@media(max-width:700px){.board{gap:10px}.board .column{padding:9px;border-radius:9px}.board .column-title{margin:0 1px 9px}.board .column-title h2{font-size:13px}.board .card-body{padding:8px 10px}.board .card>img{width:50px;height:50px;flex-basis:50px;margin:10px 9px 10px 0}.board .card h3{font-size:15px}.board .meta{font-size:12px}.board .owner{font-size:12px;margin-top:5px}.board .empty{padding:10px 8px}}
.drag-hint{font-size:12px;margin:0 0 15px}.card[draggable],.agenda-event[draggable]{cursor:grab}.card-moving{opacity:.45}.drop-ready{outline:3px solid var(--accent);outline-offset:-3px;background:var(--soft)!important}.drag-ghost{position:fixed!important;z-index:10000;pointer-events:none!important;opacity:.9!important;box-shadow:0 8px 30px #0005;max-height:200px;overflow:hidden}.drag-ghost img{max-height:70px}.move-notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 30px);padding:12px 18px;background:var(--surface);color:var(--text);border:1px solid var(--accent);border-radius:9px;box-shadow:var(--shadow);z-index:10001;font-size:14px}.move-notice[hidden]{display:none}.move-dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:25px;width:min(450px,calc(100vw - 30px))}.move-dialog::backdrop{background:#0008}.dragging-cards{user-select:none}.dragging-cards .calendar-day.day-empty:not(.is-today){display:block}.dragging-cards [data-drop-status],.dragging-cards [data-drop-date]{transition:background .12s}.dragging-cards .calendar-day{min-height:65px}
@media(pointer:coarse){[data-move-id]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}[data-move-id] img{-webkit-user-drag:none;pointer-events:none}}
@media print{.drag-hint,.move-notice{display:none!important}}
.status-options{grid-template-columns:repeat(5,minmax(0,1fr))}.choice-leave span{color:#a486ed;border-color:#9170d3}.choice-leave input:checked+span{background:#7152ad;color:white}.leave i{background:#a486ed}.event-leave{border-left-color:#a486ed}.leave-hours{color:var(--accent)}
@media(min-width:1400px){.board{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:700px){.status-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.status-options .status-choice span,.status-options .status-unavailable,.status-options .status-finish{border-radius:6px}}
.task-section{margin:0 0 24px;border:1px solid var(--border);border-radius:8px;padding:18px}.task-section h2{margin-bottom:5px;font-size:16px}.task-section>p{font-size:12px;margin-bottom:16px}.task-row{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--border)}.task-row label{margin-bottom:0;font-size:13px}.task-row .task-remove{margin-top:27px;padding:11px;font-size:12px}.task-row textarea{min-height:68px}.task-section>#task-add{margin-top:14px}
@media(max-width:700px){.task-section{padding:13px}.task-row{grid-template-columns:minmax(0,1fr) 90px;gap:8px}.task-row .task-remove{grid-column:1/-1;margin:0 0 4px;justify-self:start;min-height:40px}.task-row textarea{min-height:85px}}
@media print{.task-section{padding:10px;break-inside:auto}.task-row{grid-template-columns:minmax(0,1fr) 100px;break-inside:avoid}.task-row textarea{min-height:0!important}.task-section>p{color:#333}}
.sheet-export{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--border)}.sheet-export p{flex-basis:100%;font-size:12px;margin:0}.sheet-export a{min-height:44px}
