:root{--ink:#10262d;--ink-2:#253d45;--muted:#6c7d82;--paper:#f3f5f2;--surface:#fff;--line:#dfe5e1;--mint:#a9d8c8;--mint-deep:#247965;--orange:#ef7b45;--orange-soft:#fff0e8;--green:#1f805f;--green-soft:#e7f5ef;--shadow:0 18px 55px rgba(24,46,50,.08);--radius:18px;--font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--font);background:var(--paper);font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.is-hidden{display:none!important}
.brand{display:inline-flex;align-items:center;gap:11px;font-weight:850;letter-spacing:.12em;font-size:14px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--mint);color:var(--ink);font-size:19px;letter-spacing:0}.brand-light{color:#fff}.brand-light .brand-mark{color:var(--ink)}
.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(380px,1.08fr) minmax(420px,.92fr);background:#fff}.login-brand{background:var(--ink);color:#fff;padding:48px clamp(38px,6vw,92px);display:flex;flex-direction:column;position:relative;overflow:hidden}.login-brand:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(169,216,200,.16);border-radius:50%;right:-245px;bottom:-90px;box-shadow:0 0 0 85px rgba(169,216,200,.035),0 0 0 170px rgba(169,216,200,.02)}.login-copy{max-width:620px;margin:auto 0;position:relative}.login-copy h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(48px,5.7vw,84px);line-height:.98;letter-spacing:-.045em;margin:20px 0 30px}.login-copy>p:last-child{max-width:570px;color:#bfd0d1;font-size:18px;line-height:1.75}.eyebrow{margin:0 0 8px;color:var(--mint-deep);font-size:12px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.eyebrow-light{color:var(--mint)}.login-proof{position:relative;display:flex;gap:30px;border-top:1px solid rgba(255,255,255,.15);padding-top:22px;color:#c4d1d2;font-size:13px}.login-proof span{display:flex;align-items:center;gap:9px}.login-proof b{color:var(--mint);font-size:11px}.login-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:#fcfdfb}.login-box{width:min(440px,100%)}.login-box h2{font-family:Georgia,"Times New Roman",serif;font-size:42px;font-weight:500;letter-spacing:-.03em;margin:0 0 4px}.muted{color:var(--muted);margin:0}.form-stack{display:grid;gap:18px;margin-top:32px}label{display:grid;gap:8px;color:var(--ink-2);font-weight:720;font-size:13px}input,select,textarea{width:100%;border:1px solid #cfd8d4;background:#fff;color:var(--ink);border-radius:11px;padding:13px 14px;outline:none;transition:.2s;border-color:.2s;min-height:48px}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--mint-deep);box-shadow:0 0 0 3px rgba(36,121,101,.12)}.password-field{position:relative;display:block}.password-field input{padding-right:66px}.password-field .text-button{position:absolute;right:9px;top:9px}.text-button,.link-button{border:0;background:transparent;color:var(--mint-deep);font-weight:800;padding:7px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.small-row{display:flex;align-items:center;justify-content:space-between}.check{display:flex;grid:unset;align-items:center;gap:8px;font-weight:600;color:var(--muted)}.check input{width:17px;height:17px;min-height:0;accent-color:var(--mint-deep)}.button{border:0;border-radius:11px;min-height:46px;padding:11px 16px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:transform .15s,filter .15s,background .15s}.button:hover{transform:translateY(-1px);filter:brightness(.98)}.button-primary{background:var(--ink);color:#fff}.button-secondary{background:var(--mint);color:var(--ink)}.button-danger{background:var(--orange);color:#fff}.button-quiet{background:#edf1ee;color:var(--ink-2)}.button-wide{width:100%}.button-small{min-height:36px;padding:8px 13px;background:var(--ink);color:#fff;font-size:12px}.demo-box{margin-top:30px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#f3f6f3}.demo-box>span{font-weight:850;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.demo-box p{font-size:13px;color:var(--muted);margin:6px 0 13px}.login-footer{position:absolute;bottom:24px;color:#9aa6a4;font-size:12px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--ink);color:#fff;padding:28px 20px;display:flex;flex-direction:column;z-index:10}.sidebar .brand{padding:0 10px;margin-bottom:44px}.nav-list{display:grid;gap:5px}.nav-item{border:0;background:transparent;color:#aebdbf;width:100%;display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;text-align:left;font-weight:720}.nav-item:hover,.nav-item.is-active{background:rgba(169,216,200,.12);color:#fff}.nav-item.is-active{box-shadow:inset 3px 0 0 var(--mint)}.icon{display:grid;place-items:center;width:20px;font-size:18px}.sidebar-bottom{margin-top:auto}.sidebar-user{display:flex;gap:10px;align-items:center;border-top:1px solid rgba(255,255,255,.12);padding:20px 8px 0;margin-top:10px}.sidebar-user span:last-child{display:grid}.sidebar-user small{color:#93a7aa}.avatar{width:38px;height:38px;border-radius:50%;background:var(--mint);color:var(--ink);display:grid;place-items:center;font-weight:850;font-size:12px;flex:none}.avatar-warm{background:#f1c9a9}.avatar-dark{background:#cad8dc}.main-stage{grid-column:2;min-width:0}.topbar{height:90px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:0 clamp(24px,4vw,58px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}.topbar-date{margin:0;color:var(--muted);font-size:12px}.topbar h2{font-size:19px;margin:2px 0 0}.topbar-actions{display:flex;align-items:center;gap:14px}.status-pill,.tag{display:inline-flex;align-items:center;gap:7px;border-radius:999px;font-size:11px;font-weight:820;padding:7px 10px}.status-pill{background:#eef4ef;color:var(--green)}.status-pill i,.live-label i,.tag-active i{width:7px;height:7px;border-radius:50%;background:#29a276;box-shadow:0 0 0 4px rgba(41,162,118,.12)}.avatar-button{border:0}.menu-button{display:none;border:0;background:transparent;font-size:22px}.content{padding:42px clamp(24px,4vw,58px) 70px;max-width:1500px;margin:auto}.welcome-row,.section-heading,.card-head,.toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.welcome-row h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4vw,50px);font-weight:500;letter-spacing:-.035em;margin:0 0 6px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.78fr);gap:20px;margin-top:34px}.clock-card,.summary-card,.panel,.metrics-row article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.clock-card{background:var(--ink);color:#fff;padding:28px 30px;position:relative;overflow:hidden}.clock-card:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;border:1px solid rgba(169,216,200,.15);right:-120px;top:-80px}.live-label{display:inline-flex;align-items:center;gap:9px;color:var(--mint);font-weight:850;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.clock-card .muted{color:#9fb0b2}.clock-time{font-variant-numeric:tabular-nums;font-size:clamp(48px,6vw,76px);font-weight:350;letter-spacing:-.055em;margin-top:24px;line-height:1}.clock-card>p{color:#9fb0b2;margin:8px 0 27px}.clock-breakdown{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.12);padding:19px 0}.clock-breakdown span{display:grid;border-right:1px solid rgba(255,255,255,.12);padding-left:18px}.clock-breakdown span:first-child{padding-left:0}.clock-breakdown span:last-child{border:0}.clock-breakdown small{color:#8fa3a5}.summary-card{padding:26px}.summary-card h3{margin:0;font-size:18px}.date-chip{background:var(--paper);padding:6px 9px;border-radius:8px;font-size:12px;font-weight:800}.progress-ring-row{display:flex;align-items:center;gap:18px;padding:25px 0}.progress-ring{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--mint-deep) 85%,#e7ece8 0);position:relative}.progress-ring:before{content:"";position:absolute;inset:9px;background:#fff;border-radius:50%}.progress-ring span{position:relative;font-weight:850}.progress-ring-row strong{font-size:24px}.summary-list{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:18px}.summary-list span{display:grid;grid-template-columns:14px 1fr auto;align-items:center;color:var(--muted)}.summary-list b{color:var(--ink)}.dot{width:7px;height:7px;border-radius:50%}.dot-green{background:var(--green)}.dot-orange{background:var(--orange)}.dot-gray{background:#a8b2af}.tasks-section{margin-top:42px}.section-heading{align-items:end;margin-bottom:17px}.section-heading h2{margin:0;font-size:24px}.task-list{display:grid;gap:9px}.task-row{display:grid;grid-template-columns:48px minmax(240px,1fr) 150px 105px 45px;gap:15px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 18px}.task-active{border-left:4px solid var(--orange)}.task-number{color:#9ba9a6;font-weight:850}.task-main,.task-time{display:grid}.task-main span,.task-time small{color:var(--muted);font-size:12px}.task-time b{font-size:14px}.tag{width:max-content}.tag-done{background:var(--green-soft);color:var(--green)}.tag-active{background:var(--orange-soft);color:#b84d20}.tag-active i{background:var(--orange);box-shadow:0 0 0 4px rgba(239,123,69,.12)}.tag-planned,.tag-muted{background:#edf1ef;color:#667672}.more-button{border:0;background:transparent;color:#879592;font-weight:850;letter-spacing:2px}.metrics-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}.metrics-row article{padding:22px;display:grid}.metrics-row span,.metrics-row small{color:var(--muted)}.metrics-row b{font-size:29px;margin:4px 0}.table-panel{padding:25px}.responsive-table{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;padding:15px 12px;border-bottom:1px solid var(--line)}th{color:#82908d;font-size:11px;text-transform:uppercase;letter-spacing:.08em}td{color:#536560}.person{display:flex;align-items:center;gap:11px}.person>span:last-child{display:grid}.person small{color:var(--muted)}.toolbar{align-items:center;margin-bottom:18px}.search-field{display:flex;align-items:center;gap:8px;min-width:300px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:0 10px}.search-field input{border:0;box-shadow:none;min-height:42px;padding:8px}.report-banner{display:flex;align-items:center;gap:16px;background:var(--ink);color:#fff;padding:22px;border-radius:var(--radius);margin:28px 0}.report-banner p{margin:3px 0 0;color:#b8c7c9}.report-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--ink);font-weight:900}
.dialog{width:min(650px,calc(100vw - 30px));border:0;border-radius:20px;padding:0;box-shadow:0 30px 100px rgba(16,38,45,.3)}.dialog::backdrop{background:rgba(9,25,30,.58);backdrop-filter:blur(4px)}.dialog-small{width:min(540px,calc(100vw - 30px))}.dialog-head,.dialog-actions{display:flex;align-items:flex-start;justify-content:space-between;padding:23px 25px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0}.dialog-body{padding:5px 25px 25px}.dialog-actions{align-items:center;justify-content:flex-end;border-bottom:0;border-top:1px solid var(--line)}.close-button{border:0;background:#edf1ef;width:34px;height:34px;border-radius:50%;font-size:20px}.finish-summary{display:grid;gap:10px;background:var(--paper);border-radius:13px;padding:16px;margin:20px 0}.finish-summary span{display:flex;justify-content:space-between}.confirm-check{padding:8px 0}.notice{background:#eef5f2;border-radius:11px;padding:13px;color:#4f6864;font-size:13px}.toast{position:fixed;right:25px;bottom:25px;background:var(--ink);color:#fff;padding:14px 18px;border-radius:12px;box-shadow:var(--shadow);z-index:50;transform:translateY(30px);opacity:0;pointer-events:none;transition:.25s}.toast.is-visible{transform:none;opacity:1}.demo-box{display:grid;gap:8px}.demo-box p{margin-bottom:8px}.register-layout{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 15% 10%,rgba(169,216,200,.35),transparent 32%),var(--paper)}.register-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px 38px;box-shadow:var(--shadow)}.register-card>.brand{margin-bottom:38px}.register-card h1{font-family:Georgia,"Times New Roman",serif;font-size:40px;font-weight:500;letter-spacing:-.035em;margin:5px 0 8px}.invite-check{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:24px;font-weight:900;margin-bottom:18px}.register-card .form-stack{margin-top:25px}.register-card input[readonly]{background:#f3f5f2;color:#657672}.password-rules{display:flex;flex-wrap:wrap;gap:7px 14px;color:var(--green);font-size:12px;font-weight:720}.register-back{display:block;margin:18px auto 0}.table-actions{display:flex;gap:2px;align-items:center;white-space:nowrap}.danger-link{color:#bd4f2d}.avatar-pale{background:#e7ece9;color:#62726f}
@media(max-width:980px){.login-layout{grid-template-columns:1fr}.login-brand{min-height:46vh}.login-copy{margin:80px 0 55px}.login-copy h1{font-size:52px}.login-panel{min-height:54vh}.login-footer{position:static;margin-top:30px}.dashboard-grid{grid-template-columns:1fr}.task-row{grid-template-columns:40px 1fr 120px 95px}.task-row>*:last-child{grid-column:4}.metrics-row{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.is-open{transform:none}.main-stage{display:block}.topbar{padding:0 18px;height:76px}.menu-button{display:block}.status-pill{display:none}.content{padding:28px 16px 55px}.welcome-row{align-items:flex-start}.welcome-row .button{width:auto}.dashboard-grid{margin-top:24px}.task-row{grid-template-columns:36px 1fr auto;padding:14px}.task-row .task-time{grid-column:2}.task-row .tag{grid-column:3;grid-row:1/3}.task-row>*:last-child{grid-column:2/4}.metrics-row{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.login-brand{padding:30px 24px}.login-proof{display:none}.login-copy h1{font-size:43px}.login-panel{padding:42px 22px}.topbar>div:nth-child(2){margin-right:auto;margin-left:14px}.topbar-actions{gap:7px}}
@media(max-width:480px){.clock-card{padding:23px 20px}.clock-time{font-size:50px}.clock-breakdown span{padding-left:10px}.summary-card{padding:21px}.task-row{grid-template-columns:30px 1fr}.task-row .tag{grid-column:2;grid-row:auto}.task-row>*:last-child{grid-column:2}.welcome-row{display:grid}.welcome-row .button{width:100%}.small-row{align-items:flex-start;gap:4px;flex-direction:column}.login-copy h1{font-size:38px}}
@media(max-width:760px){.register-layout{padding:16px}.register-card{padding:27px 22px;border-radius:18px}.register-card h1{font-size:34px}}

/* Werkdag V1 applicatiestaten */
.alert{padding:14px 16px;border-radius:12px;margin:0 0 20px;font-weight:650}.alert-success{background:var(--green-soft);border:1px solid #a7d9c4;color:#17664e}.alert-error{background:#fff0e8;border:1px solid #f2b79b;color:#9b3c18}.login-box .alert,.register-card .alert{margin:20px 0 0}.login-help{margin-top:22px;color:var(--muted);font-size:13px;line-height:1.6}.setup-notice{margin-top:22px}.config-icon{background:var(--orange-soft);color:var(--orange)}.register-login{margin-top:24px}.nav-item small{margin-left:auto;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.nav-future{opacity:.45;cursor:default}.empty-start{max-width:680px;margin:44px auto 0;text-align:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:55px 30px;box-shadow:var(--shadow)}.empty-start h2{font-family:Georgia,"Times New Roman",serif;font-size:32px;margin:15px 0 6px}.empty-start p{color:var(--muted);margin:0 auto 22px;max-width:470px}.start-icon{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;margin:auto;background:var(--mint);color:var(--ink);font-size:24px;padding-left:4px}.empty-list{background:#fff;border:1px dashed #bdc9c4;border-radius:14px;padding:28px;text-align:center;color:var(--muted)}.task-main small{color:#879590;margin-top:5px}.task-row form{margin:0}.tag-error{background:#fff0e8;color:#a83f1a}.history-panel{margin-top:32px}.invite-copy{margin:25px 0 0;background:#fff8e8;border:1px solid #ecd28e;border-radius:14px;padding:17px}.invite-copy p{margin:3px 0 12px;color:#786333}.invite-copy input{background:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.table-actions form{display:inline-flex;margin:0}.error-detail{display:block;color:#a83f1a;max-width:300px;margin-top:5px}.topbar-date{text-transform:capitalize}.responsive-table td form{margin:0}.register-card>.brand{color:var(--ink)}
@media(max-width:760px){.sidebar .nav-future{display:none}.task-row form{grid-column:2/4}.table-actions{white-space:normal;min-width:210px}.content{padding-bottom:90px}.clock-card .button-danger{position:sticky;bottom:12px;z-index:2}.welcome-row>.button{min-height:50px}.dialog-actions{position:sticky;bottom:0;background:#fff}.login-layout{display:block}.login-brand{min-height:auto;padding-bottom:38px}.login-copy{margin:65px 0 20px}.login-brand .login-proof{display:none}.login-panel{min-height:auto;padding-top:45px;padding-bottom:65px}}

/* Versiegebonden erkenning van werknemersafspraken */
.register-card-wide{width:min(720px,100%)}
.policy-box{border:1px solid var(--line);border-radius:15px;background:#f8faf8;overflow:hidden}
.policy-heading{padding:17px 18px 13px;border-bottom:1px solid var(--line)}
.policy-heading h2{margin:0;font-family:var(--font);font-size:19px;font-weight:820;letter-spacing:-.01em}
.policy-scroll{max-height:300px;overflow-y:auto;padding:4px 18px 10px;scrollbar-gutter:stable}
.policy-scroll article{padding:14px 0;border-bottom:1px solid var(--line)}
.policy-scroll article:last-child{border-bottom:0}
.policy-scroll h3{font-size:14px;margin:0 0 5px;color:var(--ink)}
.policy-scroll p{font-size:13px;line-height:1.65;margin:0;color:#536560}
.policy-check{align-items:flex-start;background:#fff8e8;border:1px solid #ecd28e;border-radius:12px;padding:14px;color:#594b29;line-height:1.5}
.policy-check input{margin-top:3px;flex:none}
.policy-page{margin-top:30px;padding:28px;max-width:920px}
.policy-scroll-page{max-height:none;overflow:visible;padding:0}
.policy-scroll-page h3{font-size:17px}
.policy-scroll-page p{font-size:15px}
.policy-confirmed{display:flex;align-items:center;gap:14px;margin-top:24px;padding:17px;background:var(--green-soft);border:1px solid #a7d9c4;border-radius:13px;color:var(--green)}
.policy-confirmed>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--green);color:#fff;font-weight:900;flex:none}
.policy-confirmed p{margin:2px 0 0;color:#3f6e60;font-size:13px}
.policy-accept-form{display:grid;gap:16px;margin-top:24px}
.policy-accept-form .button{justify-self:start}
.acceptance-date{display:block;margin-top:5px;color:var(--muted);white-space:nowrap}
@media(max-width:760px){.policy-page{padding:20px}.policy-accept-form .button{width:100%}.policy-scroll{max-height:340px}}
.metrics-row{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.metrics-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.metrics-row{grid-template-columns:1fr}}

/* Koppeling naar de beveiligde personeelsmap in Synology Drive */
.documents-card{display:grid;grid-template-columns:82px minmax(0,1fr);gap:24px;align-items:start;max-width:820px;margin-top:32px;padding:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.documents-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:18px;background:var(--mint);color:var(--ink);font-size:34px;font-weight:800}
.documents-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:30px;font-weight:500;margin:0 0 7px}
.documents-copy p{max-width:620px;margin:0 0 20px;color:var(--muted);line-height:1.7}
.documents-copy code{background:#edf1ee;border-radius:5px;padding:2px 5px;color:var(--ink-2)}
@media(max-width:600px){.documents-card{grid-template-columns:1fr;padding:23px}.documents-icon{width:58px;height:58px;border-radius:15px}.documents-copy .button{width:100%}}

/* Opdrachtfoto’s: bruikbaar op gsm en desktop. */
.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:24px}.photo-card{margin:0;overflow:hidden}.photo-card img{width:100%;height:220px;object-fit:cover;display:block}.photo-card figcaption{padding:16px;line-height:1.5}.photo-card small{color:var(--muted)}
/* Werkdag 1.3 */
.avatar-photo{object-fit:cover;border:2px solid rgba(169,216,200,.55)}
.button-large{min-height:58px;padding:15px 24px;font-size:17px}
.start-form{display:grid;gap:18px;max-width:470px;margin:24px auto 0;text-align:left}
.active-day-card{margin-top:30px;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--ink);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}
.active-day-card h2{font-family:Georgia,"Times New Roman",serif;font-size:30px;font-weight:500;margin:9px 0 4px}.active-day-card p{margin:0;color:#b8c7c9}
.day-details{margin-top:22px;padding:28px;max-width:900px}.compact-form{margin-top:20px}.compact-form .button{justify-self:start}
.closed-summary{margin-top:28px;padding:26px;background:var(--ink);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.closed-summary h2{margin:0 0 17px}.closed-summary>div{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.closed-summary span{display:grid;padding:12px;background:rgba(255,255,255,.08);border-radius:10px;color:#b8c7c9}.closed-summary b{color:#fff}.closed-summary>p:last-child{color:#d5dfdf;line-height:1.7;margin-bottom:0}
.contact-strip{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-bottom:20px}.contact-strip>span{color:var(--muted);font-size:13px;font-weight:750}
.settings-panel{max-width:760px;margin-top:30px;padding:28px}.settings-panel .form-stack{margin-top:0}.settings-panel .button{justify-self:start}.smtp-summary{padding:18px;background:var(--paper);border-radius:13px}.smtp-summary h3{margin:0 0 7px}.smtp-summary p{margin:0 0 5px}.smtp-summary small{color:var(--muted)}
.release-list{display:grid;gap:10px;margin:24px 0 0;padding-left:22px}.release-list li::marker{color:var(--mint-deep)}
.release-overlay{position:fixed;z-index:1000;inset:0;padding:18px;display:grid;place-items:center;background:rgba(9,25,30,.72);overflow-y:auto}.release-overlay .dialog{display:block;position:relative;width:min(540px,calc(100vw - 30px));max-height:calc(100vh - 36px);overflow-y:auto;background:#fff;color:var(--ink)}
.dialog-fallback-open{display:block;position:fixed;z-index:1001;inset:5vh auto auto 50%;transform:translateX(-50%);max-height:90vh;overflow-y:auto;background:#fff}.has-open-dialog:before{content:"";position:fixed;z-index:1000;inset:0;background:rgba(9,25,30,.72)}
label small{color:var(--muted);font-weight:500}
.planning-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;max-width:900px;margin:18px 0 30px}.planning-calendar>b{text-align:center;font-size:13px}.calendar-day{min-height:75px;padding:10px;border:1px solid var(--line);border-radius:10px;background:white;text-decoration:none;color:var(--ink)}.calendar-day small{display:block;font-size:11px;margin-top:6px}.calendar-day.has-plans{background:#fff0e5;border-color:#d35400}.calendar-day.selected{outline:3px solid #923900;outline-offset:1px}.calendar-nav{display:flex;justify-content:space-between;gap:10px;max-width:900px;margin-top:25px}.calendar-nav a{color:#923900}.calendar-day:focus-visible{outline:3px solid #923900}@media(max-width:600px){.calendar-day{min-height:58px;padding:7px 4px}.calendar-day small span{display:none}.calendar-nav{font-size:12px}}
.home-shortcuts{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.task-photo-button{grid-column:2/-1;justify-self:start;min-height:44px}@media(max-width:600px){.home-shortcuts .button{width:100%}}
/* Officieel Ideelec-logo; oranje #d35400 gemeten uit het origineel. */
:root{--mint:#f8dcc9;--orange:#d35400;--paper:#faf8f5;--ink:#242321;--ink-2:#393530}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.ideelec-logo{display:block;width:100%;max-width:280px;height:auto;background:#fff;border-radius:8px;padding:10px}.brand-product{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:inherit}.sidebar .ideelec-logo{max-width:200px}.login-brand{background:linear-gradient(135deg,#292522,#493328);border-top:6px solid #d35400}.login-brand .ideelec-logo{max-width:360px}.button-primary{background:#b84900;color:#fff}.button-primary:hover{background:#943b00}.nav-item.is-active{background:#fff0e5;color:#9c3e00}.login-copy h1,.register-card h1,.welcome-row h1,.active-day-card h2{font-family:Arial,sans-serif;font-weight:750;letter-spacing:-.035em}.register-layout{background:radial-gradient(circle at 10% 0%,#f8dcc9,transparent 48%),#faf8f5}.register-card>.brand{margin-bottom:28px}
@media(max-width:760px){.active-day-card{display:grid;padding:24px}.active-day-card .button{width:100%}.active-day-card h2{font-size:26px}.day-details{padding:21px}.compact-form .button,.settings-panel .button{width:100%}.closed-summary>div{grid-template-columns:1fr 1fr}.contact-strip{justify-content:stretch;display:grid;grid-template-columns:1fr 1fr}.contact-strip>span{grid-column:1/-1}.contact-strip .button{padding:10px;font-size:12px}.settings-panel{padding:21px}}
.people-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.people-column { min-width:0; }
.person-card { padding:20px; margin-bottom:16px; overflow-wrap:anywhere; }
.people-sort { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:16px; }
.people-sort label { display:grid; gap:6px; }
@media(max-width:800px) { .people-columns,.people-sort {grid-template-columns:1fr;} }

/* Phone layout: readable forms and reachable actions without changing workflow. */
@media(max-width:760px){
 body{font-size:16px}input,select,textarea{font-size:16px;max-width:100%;min-width:0}
 .content{padding:20px 14px calc(32px + env(safe-area-inset-bottom));overflow-wrap:anywhere}
 .content h1{font-size:30px;line-height:1.15}.content h2{font-size:23px;line-height:1.25}
 .button,.link-button,.text-button,.nav-item{min-height:48px;white-space:normal;text-align:center}
 .button{line-height:1.35}.check{min-height:48px;align-items:flex-start;padding:10px 0}
 .check input{flex:0 0 24px;width:24px;height:24px;margin:0;min-height:24px}
 .content input[type=checkbox]{width:24px;height:24px;min-height:24px;flex-shrink:0}
 .topbar{position:relative;gap:8px;height:auto;min-height:72px;padding:10px 14px}
 .topbar h2{font-size:18px}.topbar-date{font-size:11px}.menu-button{min-width:48px;min-height:48px}
 .sidebar{width:min(280px,80vw);overflow-y:auto;padding:18px 14px}.sidebar .brand{margin-bottom:20px}
 .sidebar .nav-item{text-align:left}.sidebar-user{padding-top:12px}
 .empty-start{margin-top:20px;padding:24px 18px}.start-form{max-width:none}
 .home-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
 .home-shortcuts .button{width:100%;font-size:14px;padding:12px 8px}
 .active-day-card,.day-details,.settings-panel,.summary-card{padding:18px;min-width:0}
 .settings-panel .button,.start-form .button,.active-day-card .button{width:100%}
 .task-row{grid-template-columns:28px minmax(0,1fr);gap:10px;padding:16px}
 .task-row .task-main{min-width:0}.task-row .task-time,.task-row .tag{grid-column:2;grid-row:auto;justify-self:start}
 .task-row form,.task-row .task-photo-button,.task-row>*:last-child{grid-column:1/-1;width:100%}
 .task-row form .button{width:100%}.task-photo-button{justify-self:stretch}
 .section-heading,.toolbar{flex-wrap:wrap;gap:12px}.photo-grid{grid-template-columns:minmax(0,1fr)}
 .dialog{width:calc(100% - 20px);max-width:calc(100% - 20px);max-height:calc(100dvh - 20px);overflow-y:auto;margin:auto}
 .dialog-head,.dialog-body{padding:18px}.dialog-head h2{font-size:23px}.close-button{min-width:44px;min-height:44px}
 .dialog-actions{display:flex;flex-wrap:wrap;padding:14px;gap:10px;position:static}
 .dialog-actions .button{flex:1 1 100%;width:100%}.finish-summary{flex-wrap:wrap}
 .responsive-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .calendar-nav a{display:inline-flex;align-items:center;min-height:44px}.calendar-nav{align-items:center;gap:6px}
 .login-copy{margin:22px 0 0}.login-copy h1{font-size:32px}.login-copy>p:last-child{font-size:16px}
 .login-panel{padding:26px 20px}.login-brand{padding:22px}.login-box h2{font-size:30px}
 .policy-scroll-page{max-height:none;overflow:visible}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.language-form{display:flex;align-items:end;justify-content:flex-end;gap:.5rem;padding:.5rem 1rem;background:#fff;position:relative;z-index:5}.language-form label{display:flex;gap:.5rem;align-items:center}.language-form select{padding:.5rem}.language-form .button{padding:.5rem 1rem}pre{max-width:100%}dialog.dialog-small{max-height:90dvh;overflow:auto;width:min(95vw,540px)}

.time-confirm-dialog form{margin:0;gap:12px}.time-confirm-dialog h2{margin:0;font-size:24px}.time-confirm-dialog p{margin:0}.time-confirm-dialog .dialog-actions{padding:12px 0 0;gap:8px}
