/* Opslaan als: /public/assets/style.css */
:root{--primary:#1a3a5c;--primary-light:#2d6a9f;--accent:#f0a500;--bg:#eef1f6;--card:#fff;--text:#1c2b3a;--muted:#6b7a8d;--border:#dde3ec;--danger:#e53935;--success:#43a047;--warning:#fb8c00;--shadow:0 2px 12px rgba(0,0,0,.08);}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#edf1f7;color:var(--text);min-height:100vh;font-size:16px;}
.auth-bg{min-height:100vh;background:linear-gradient(160deg,#1a3a5c 0%,#0d2137 100%);display:flex;align-items:center;justify-content:center;padding:20px;}
.auth-card{background:#fff;border-radius:20px;padding:32px;width:100%;max-width:400px;box-shadow:0 20px 60px rgba(0,0,0,.35);}
.auth-logo{font-size:30px;font-weight:800;color:var(--primary);margin-bottom:4px;text-align:center;}
.auth-sub{color:var(--muted);font-size:13px;margin-bottom:22px;text-align:center;}
.auth-link{text-align:center;margin-top:14px;font-size:13px;}
.auth-link a{color:var(--primary-light);text-decoration:none;font-weight:600;}
.err-box{background:#fff3f3;border:1px solid #ffcdd2;color:#c62828;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:14px;}
.info-box{background:#e8f5e9;border:1px solid #a5d6a7;color:#2e7d32;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:14px;}
.fr{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.fl{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;}
.fi,.si{padding:10px 13px;border:1px solid var(--border);border-radius:10px;font-size:15px;outline:none;width:100%;color:var(--text);background:#fff;}
.fi:focus,.si:focus{border-color:var(--primary-light);}
textarea.fi{resize:vertical;min-height:70px;}
.btn{padding:12px 18px;border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;width:100%;min-height:46px;}
.btn-p{background:var(--primary);color:#fff;}.btn-p:hover{background:var(--primary-light);}
.btn-s{background:var(--bg);color:var(--text);border:1px solid var(--border);}
.btn-d{background:var(--danger);color:#fff;}
.btn-g{background:var(--success);color:#fff;}
.btn:disabled,.fi:disabled,.si:disabled{opacity:.5;cursor:not-allowed}
.btn-sm{padding:8px 14px;font-size:12px;border-radius:9px;width:auto;min-height:38px;}
.hdr{background:var(--primary);color:#fff;padding:10px 18px;min-height:58px;display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:200;box-shadow:0 3px 10px rgba(0,0,0,.24);}
.hdr-title{font-size:19px;font-weight:800;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hdr-btn{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);color:#fff;padding:9px 14px;min-height:40px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:700;}
.hdr-btn:hover{background:rgba(255,255,255,.25);}
.sync-btn{display:flex;align-items:center;justify-content:center;width:42px;min-width:42px;padding:0;border-color:rgba(240,165,0,.75);background:rgba(240,165,0,.16)}
.sync-btn:hover{background:rgba(240,165,0,.28)}
.satellite-icon{display:block;font-size:23px;line-height:1;transform:translateY(-1px)}
.sync-btn.syncing .satellite-icon{opacity:.55}
.hveld-btn{border-color:rgba(255,255,255,.55);font-weight:900;white-space:nowrap}
.hdr-btn.settings-btn{display:flex;align-items:center;justify-content:center;width:46px;min-width:46px;padding:0}
.settings-icon{font-size:26px;line-height:1}
.print-shortcut,.print-now-btn{display:flex;align-items:center;justify-content:center;gap:7px}
.print-shortcut{width:46px;min-width:46px;padding:0}
.print-shortcut svg,.print-now-btn svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.driver-status-strip{display:flex;gap:8px;overflow-x:auto;padding:7px 16px;background:#163551;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 2px 6px rgba(13,33,55,.18);scrollbar-width:thin}
.driver-status-chip{flex:0 0 auto;display:flex;align-items:center;gap:5px;min-height:35px;padding:6px 11px;border:1px solid rgba(255,255,255,.25);border-radius:18px;background:rgba(255,255,255,.10);color:#fff;font:inherit;cursor:pointer;white-space:nowrap}
.driver-status-chip:hover{background:rgba(255,255,255,.18)}
.driver-status-chip strong{font-size:12px;text-transform:uppercase}
.driver-status-chip span{font-size:11px;color:#d9e4ee;font-weight:700}
.driver-status-chip .driver-last-pier{color:#9bd49b;font-weight:900}
.driver-status-chip small{font-size:10px;color:#a8dfae;font-weight:800}
.driver-status-chip .driver-no-trip{color:#b8c5d1}
.print-document{padding:18px 20px 40px;color:#1a2d42}
.print-document-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}
.print-document-head h1{font-size:24px;color:var(--primary)}
.print-document-head p{margin-top:3px;color:var(--muted);font-size:12px;font-weight:700}
.print-legend{display:flex;align-items:center;gap:6px;color:#666;font-size:12px;font-weight:700;white-space:nowrap}
.legend-yellow{width:18px;height:18px;border-radius:4px;border:2px solid #e1b900;background:#fff3a5}
.print-driver-section,.print-flight-section,.print-unassigned{margin-bottom:16px}
.print-driver-section h2,.print-flight-section h2,.print-unassigned h2{font-size:14px;color:#64748a;text-transform:uppercase;letter-spacing:.45px;margin-bottom:8px}
.print-driver-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:7px}
.print-driver{display:flex;flex-direction:column;gap:2px;padding:8px 11px;border:1px solid #bed0e6;border-radius:9px;background:#f5f9ff}
.print-driver strong{font-size:12px;color:var(--primary)}.print-driver span{font-size:10px;color:#5f6f82;font-weight:700}
.print-flights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:9px;align-items:start}
.print-flight-card{border:2px solid #37404a;background:#fff;break-inside:avoid;overflow:hidden}
.print-flight-card.shared-flight{border-color:#2d6a9f;box-shadow:inset 0 3px 0 #2d6a9f}
.print-flight-head{padding:9px 10px 7px;background:#eaf2ff;border-bottom:1px solid #aab6c4}
.print-flight-head>div{display:flex;align-items:center;gap:6px}.print-flight-head>div>strong{font-size:16px;color:var(--primary)}.print-flight-head>div>span{font-size:10px;padding:2px 5px;border-radius:4px;background:#d9e1eb;font-weight:900}
.print-flight-head small{display:block;margin-top:2px;color:#1163ad;font-size:10px;font-weight:900}.print-flight-head p{margin-top:2px;color:#526477;font-size:10px;font-weight:750}
.print-flight-counts{display:flex;gap:4px;flex-wrap:wrap;padding:6px 8px;border-bottom:1px dashed #b9c1ca}
.print-flight-counts span{display:inline-flex;align-items:center;gap:2px;padding:3px 6px;border-radius:5px;background:#e9edf2;color:#526173;font-size:9px;font-weight:800}.print-flight-counts b{font-size:12px;color:var(--primary)}
.print-flight-counts .sent-count{background:#dff3df;color:#267438}.print-flight-counts .sent-count b{color:#267438}.print-flight-counts .hb-count{background:#fff0d8;color:#a95300}.print-flight-counts .hb-count b{color:#a95300}
.print-flight-counts .open-count{background:#e3f2fd;color:#1565c0}.print-flight-counts .open-count b{color:#1565c0}.print-flight-counts .open-count.full{background:#ffddb5;color:#a94700}.print-flight-counts .open-count.full b{color:#a94700}.print-flight-counts .no-limit{color:#69788a}
.print-container-list{padding:5px 7px 8px}.print-lateral-label{margin:5px 0 3px;color:#2d6a9f;font-size:9px;font-weight:900;text-transform:uppercase;border-bottom:1px solid #d8e2ed}
.print-container-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}
.print-container-item{min-height:27px;display:flex;align-items:center;gap:4px;padding:3px 5px;border:1px solid #d8dee6;background:#f7f9fb;font-size:10px;min-width:0}.print-container-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--primary)}
.print-container-index{color:#9aa4af;font-weight:800}.print-container-item small{margin-left:auto;padding:1px 3px;border-radius:3px;background:#ffe2b8;color:#a44d00;font-size:7px;font-weight:900}
.print-container-item.is-sent{background:#fff3a5;border-color:#e5cb48}.print-sent-x{margin-left:auto;color:#555;font-size:13px}
.print-container-item.is-saved{background:#ffe0b2;border-color:#f49a35}
.print-no-containers,.print-empty{display:block;padding:8px;color:#929ba6;font-size:10px;font-style:italic}
.print-unassigned>div{display:flex;flex-wrap:wrap;gap:5px}.print-unassigned>div>span{padding:6px 9px;border:1px solid #ccd7e4;background:#f5f8fc;border-radius:7px;font-size:10px;color:#5f7085}
.pc{width:100%;padding:18px 20px 105px;}
.card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 3px 14px rgba(19,48,78,.08);margin-bottom:16px;border:1px solid #d8e0ea;}
.card-title{font-size:16px;font-weight:800;color:var(--primary);margin-bottom:14px;display:flex;align-items:center;gap:8px;justify-content:space-between;}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:5px;}
.lat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:8px 8px;margin-bottom:22px;align-items:start}
.lat-grid-item{min-width:0;display:grid;grid-template-rows:auto auto;gap:4px}
.lat-box{border-radius:11px;padding:9px 10px 39px;cursor:pointer;min-height:114px;border:1px solid rgba(26,58,92,.10);background:#fff;position:relative;box-shadow:0 2px 7px rgba(19,48,78,.06);margin-bottom:34px;}
.lat-box:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.12);}
.lat-nr{font-size:31px;line-height:.95;font-weight:900;color:var(--primary);padding-right:72px;}
.lat-fl{font-size:20px;line-height:1.05;font-weight:900;margin-top:7px;padding-right:0;color:#0f2e50;letter-spacing:-.15px}
.lat-tm{font-size:19px;line-height:1;color:#0f2e50;margin-top:0;font-weight:900;}
.pcard{background:#fff;border:1px solid var(--border);border-radius:13px;padding:12px;margin-bottom:7px;display:flex;align-items:center;gap:11px;cursor:pointer;}
.pcard.present{border-left:4px solid var(--success);}
.pcard.absent{border-left:4px solid var(--danger);}
.pcard.pause{border-left:4px solid var(--warning);background:#fffbf5;}
.pcard.shift-ended{border-left:4px solid #9aa6b3;background:#f5f7fa;opacity:.88}
.pi{flex:1;}.pn{font-size:14px;font-weight:600;}
.pd{font-size:11px;color:var(--muted);margin-top:2px;}
.pause-countdown{display:inline-flex;margin-top:5px;border-radius:10px;padding:3px 8px;background:#fff0d8;color:#c65a00;font-size:11px;font-weight:900;font-variant-numeric:tabular-nums}
.pb{font-size:12px;font-weight:800;cursor:pointer;padding:5px 9px;border-radius:7px;border:none;}
.pb-r{color:#c62828;background:#ffcdd2;}.pb-g{color:#2e7d32;background:#c8e6c9;}.pb-o{color:#e65100;background:#ffe0b2;}
.pause-active-toggle{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:#f7f9fc;color:var(--primary);font-size:12px;font-weight:800;cursor:pointer}
.ended-people-panel{margin-top:18px;border:1px solid #d7dee7;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 2px 8px rgba(19,48,78,.05)}
.ended-people-panel summary{list-style:none;min-height:52px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#68778a;font-size:13px;font-weight:900;cursor:pointer}
.ended-people-panel summary::-webkit-details-marker{display:none}.ended-people-panel[open] summary{border-bottom:1px solid var(--border)}
.ended-people-list{padding:10px}.ended-people-list .pcard:last-child{margin-bottom:0}
.sec-hdr{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:7px 0;margin:14px 0 7px;border-bottom:2px solid var(--border);}
.kbox{position:relative;background:#f0f4ff;border:1.5px solid #c5d3e8;border-radius:9px;padding:10px 7px;text-align:center;cursor:pointer;font-size:13px;font-weight:700;color:var(--primary);}
.kbox-saved{background:#ffe0b2;border-color:#f28c28;color:#9b4800;box-shadow:inset 0 0 0 1px rgba(242,140,40,.15)}
.kbox-number{display:block;padding:3px 2px;font-size:14px}
.kbox-status{margin-top:3px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.35px;color:#c45b00}
.kbox-delete{display:block;width:100%;margin-top:5px;padding:3px 2px;border:0;background:transparent;color:#7c8794;font:inherit;font-size:9px;font-weight:700;cursor:pointer}
.saved-info{margin-bottom:12px;padding:9px 11px;border:1px solid #f5a04b;border-radius:9px;background:#fff3e0;color:#b65300;font-size:12px;font-weight:750}
.btn-save{background:#f28c28;color:#fff}.btn-save:hover{background:#df7410}
.kgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:7px;margin-bottom:12px;}
.moverlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1000;display:flex;align-items:center;justify-content:center;padding:18px;}
.mbox{background:#fff;border-radius:18px;padding:22px;width:100%;max-width:480px;max-height:88vh;overflow-y:auto;}
.mtitle{font-size:17px;font-weight:700;color:var(--primary);margin-bottom:15px;display:flex;align-items:center;gap:8px;}
.mact{display:flex;gap:7px;margin-top:15px;flex-wrap:wrap;}
.bnav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #d8e0ea;display:flex;z-index:150;box-shadow:0 -3px 14px rgba(19,48,78,.08);}
.bnav-btn{flex:1;min-height:74px;padding:9px 4px;border:none;background:none;cursor:pointer;color:#748398;font-size:11px;font-weight:800;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-transform:uppercase;letter-spacing:.3px;}
.bnav-btn.act{color:var(--primary);}
.bnav-ico{font-size:23px;line-height:1;}
.bnav-ico svg{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wr-item{display:flex;justify-content:space-between;padding:7px 11px;background:#f5f7fa;border-radius:7px;margin-bottom:5px;font-size:12px;}
.sent-containers-panel{margin-top:13px;border:1px solid var(--border);border-radius:10px;background:#f8fafc;overflow:hidden}
.sent-containers-panel summary{list-style:none;min-height:44px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;color:#647386;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.45px}
.sent-containers-panel summary::-webkit-details-marker{display:none}
.sent-containers-count{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:12px;background:#e5ebf2;color:var(--primary);font-size:11px;font-weight:900;letter-spacing:0}
.sent-containers-count b{font-size:14px;line-height:1;transition:transform .18s ease}
.sent-containers-panel[open] .sent-containers-count b{transform:rotate(180deg)}
.sent-containers-panel[open] summary{border-bottom:1px solid var(--border)}
.sent-containers-list{padding:8px}.sent-containers-list .wr-item:last-child{margin-bottom:0}
.saved-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;min-height:64px;border:1px solid var(--border);border-radius:12px;margin-bottom:8px;cursor:pointer;}
.saved-item:hover{background:#f5f7fa;}
.saved-item.service-locked{border-color:#d5aa45;background:#fffaf0}
.service-lock-pill{flex:0 0 auto;margin-left:8px;padding:4px 8px;border-radius:10px;background:#fff0c7;color:#8a5b00;font-size:10px;font-weight:900}
.archive-list{max-height:52vh;overflow-y:auto}
.archive-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch;margin-bottom:8px}
.archive-service{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;margin-bottom:7px;border:1px solid var(--border);border-radius:11px;background:#fff;color:var(--primary);cursor:pointer;text-align:left}
.archive-service:hover{background:#f5f7fa}
.archive-service strong{font-size:13px}.archive-service span{font-size:10px;color:var(--muted);font-weight:700}
.archive-service small{font-size:9px;color:#d06b00;font-weight:900}
.archive-row .archive-service{margin-bottom:0}
.archive-pdf{min-width:62px;border:1px solid #b8c9dc;border-radius:11px;background:#eaf2fb;color:var(--primary);font-size:12px;font-weight:900;cursor:pointer}
.archive-pdf:hover{background:#dceafa}.archive-pdf:disabled{opacity:.55;cursor:wait}
.archive-banner{padding:10px 14px;margin-bottom:13px;border:1px solid #b8c4d1;border-radius:10px;background:#f3f5f8;color:#536273;font-size:12px;font-weight:900}
.service-security-box{padding:13px;border:1px solid var(--border);border-radius:12px;background:#f8fafc;margin-bottom:14px}
.settings-section{padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid var(--border)}
.settings-section-title{font-size:13px;font-weight:900;color:var(--primary);margin-bottom:11px;text-transform:uppercase;letter-spacing:.4px}
.order-help{font-size:12px;color:var(--muted);line-height:1.4;margin-bottom:12px}
.lateral-order-list{display:grid;gap:6px;max-height:340px;overflow-y:auto;padding-right:2px}
.lateral-order-row{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:#f7f9fc}
.lateral-order-row>strong{font-size:20px;color:var(--primary)}.lateral-order-row>span{font-size:11px;color:var(--muted);font-weight:750}
.lateral-order-row>div{display:flex;gap:5px}.lateral-order-row button{width:38px;height:34px;border:1px solid #bac8d8;border-radius:8px;background:#fff;color:var(--primary);font-size:18px;font-weight:900;cursor:pointer}.lateral-order-row button:disabled{opacity:.35;cursor:default}
.order-shortcuts{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
.workflow-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}.workflow-choice label{cursor:pointer}.workflow-choice input{position:absolute;opacity:0;pointer-events:none}.workflow-choice span{display:flex;align-items:center;justify-content:center;min-height:48px;border:2px solid #cbd5e1;border-radius:11px;background:#f7f9fc;color:#58697d;font-size:15px;font-weight:900}.workflow-choice input:checked+span{border-color:var(--primary-light);background:#e6f1fb;color:var(--primary);box-shadow:0 0 0 2px rgba(45,106,159,.12)}
.multi-destination-toggle{display:flex;align-items:center;gap:9px;margin:8px 0 10px;padding:12px;border:1px solid #cdd9e7;border-radius:11px;background:#f7faff;cursor:pointer}.multi-destination-toggle input{width:20px;height:20px;accent-color:var(--primary)}.multi-destination-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;margin-bottom:12px;border:1px solid #bfd4e8;border-radius:12px;background:#edf6ff}@media(max-width:650px){.multi-destination-fields{grid-template-columns:1fr}.workflow-choice{grid-template-columns:repeat(3,1fr)}}
.multi-destination-total{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:6px;padding-top:9px;border-top:1px solid #c5d8ea;color:#526a82;font-size:13px;font-weight:700}.multi-destination-total strong{font-size:17px;color:var(--primary)}
.optional-label{font-size:11px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--muted)}
.security-toggle{display:flex;align-items:flex-start;gap:9px;margin-bottom:14px;cursor:pointer}
.security-toggle input{margin-top:3px}.security-toggle span{display:flex;flex-direction:column;gap:2px}.security-toggle strong{font-size:14px;color:var(--primary)}.security-toggle small{font-size:10px;color:var(--muted)}
.security-remove{display:flex;align-items:center;gap:7px;margin:10px 0;font-size:11px;font-weight:700;color:#a15a00}
.service-danger-zone{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:12px;border-top:1px solid var(--border)}
.sec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:18px;}
.sec-btn{padding:15px 6px;border:2px solid var(--border);border-radius:11px;font-size:16px;font-weight:700;color:var(--primary);background:#fff;cursor:pointer;}
.sec-btn.sel{border-color:var(--primary);background:var(--primary);color:#fff;}
.custom-section-fields{margin:-8px 0 12px;padding:12px;border:1px solid #bfd4e8;border-radius:12px;background:#f2f8fe}.custom-section-fields .fr{margin:0}.custom-section-fields small{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.3}
.imp-bar{display:flex;align-items:center;gap:10px;background:#f0f4ff;border:1.5px solid #c5d3e8;border-radius:10px;padding:10px 14px;cursor:pointer;margin-bottom:10px;}
.ai-item{display:flex;align-items:center;gap:11px;padding:10px 13px;border:1px solid var(--border);border-radius:10px;margin-bottom:7px;cursor:pointer;}
.ai-item.dup{opacity:.45;pointer-events:none;}
.badge{padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700;}
.bdg-b{background:#bbdefb;color:#1565c0;}
.empty{text-align:center;padding:28px 18px;color:var(--muted);}
.spin{display:inline-block;width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}

/* Kleurcodering laterals op urgentie (ontbrak in de vorige versie) */
.lb-nf{background:#fff;}
.lb-opening{background:#dedede;border-color:#c8c8c8;}
.lb-ff{background:#fff;}
.lb-1h{background:linear-gradient(145deg,#edf9ef,#e2f3e5);border:2px solid #70bd78;}
.lb-30{background:linear-gradient(145deg,#fff7e9,#ffedd2);border:2px solid #f3a84c;}
.lb-20{background:linear-gradient(145deg,#fff0f1,#ffe0e3);border:2px solid #ed7d86;}
.lat-time-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px}
.lat-time-line .lat-tm{margin-top:0}
.lat-pier{display:inline-flex;padding:3px 8px;border-radius:6px;background:rgba(26,58,92,.10);color:var(--primary);font-size:16px;font-weight:900;line-height:1}
.lat-flow-badge{font-size:10px;font-weight:950;text-transform:uppercase;color:#7b4b00;background:#fff0c8;border:1px solid #efbf54;border-radius:6px;padding:3px 6px;line-height:1}
.lat-delay{display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:3px 7px;border:1px solid #f1a04a;border-radius:7px;background:#fff3e0;color:#b65300;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.25px}
.lat-delay strong{font-size:11px;color:#d45f00;letter-spacing:0}
.lat-count-card{position:absolute;left:50%;bottom:0;width:calc(100% - 12px);max-width:184px;transform:translate(-50%,50%);padding:5px;border:1px solid rgba(26,58,92,.12);border-radius:9px;background:rgba(255,255,255,.96);display:grid;grid-template-columns:1fr 1fr;gap:4px;box-shadow:0 4px 12px rgba(19,48,78,.15);z-index:1}
.lat-count-stat{min-width:0;min-height:34px;border-radius:6px;display:flex;align-items:baseline;justify-content:center;gap:4px;padding:4px 3px;line-height:1}
.lat-count-stat strong{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.lat-count-stat span{font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.35px}
.lat-count-stat.is-inside{background:#e5f1ff;color:#185b97}.lat-count-stat.is-sent{background:#e5f5e7;color:#267438}
.lat-count-card.klaar .lat-count-stat.is-sent{background:#43a047;color:#fff}
.lat-count-meta{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding-top:1px}
.lat-count-meta>span{min-width:0;padding:3px 4px;border-radius:5px;background:#edf1f5;color:#58687a;font-size:7px;font-weight:800;white-space:nowrap;text-align:center;overflow:hidden;text-overflow:ellipsis}
.lat-count-meta b{font-size:9px;color:var(--primary)}
.lat-count-meta .count-hb{background:#fff0d8;color:#a95300}.lat-count-meta .count-saved{background:#ffe0b2;color:#a95000}
.lat-route,.lat-route-sep{font-size:18px;font-weight:900;background:none;border-radius:0;padding:0;color:#0f2e50}
.lat-leeg{color:#5d6875;font-size:14px;font-weight:800;margin-top:12px}
.lat-laders-summary{display:flex;align-items:center;gap:4px;margin-top:9px;padding-top:7px;border-top:1px solid rgba(26,58,92,.12);color:#273c52;font-size:11.5px;font-weight:800;white-space:nowrap}
.lat-laders-summary strong{font-size:13px;font-weight:900;color:var(--primary)}
.lat-staff-icon{width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;color:var(--primary);flex:0 0 auto}
.lat-staff-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lat-shift-slot{height:34px;min-width:0}
.lat-shift-slot:empty{display:none}
.lat-shift-warning{height:34px;padding:4px 7px;border:1px solid #ffb74d;border-radius:7px;background:#fff3e0;color:#e65100;font-size:9px;font-weight:800;line-height:1.25;display:flex;align-items:center;overflow:hidden}
.lat-status-actions{position:absolute;top:9px;right:9px;display:flex;gap:5px;z-index:2}
.lat-status-btn{width:32px;height:32px;padding:0;border:1.5px solid #aeb6c0;border-radius:50%;background:#dfe3e8;color:#68727e;font-size:12px;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(19,48,78,.12)}
.lat-status-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(.98)}
.lat-status-btn:disabled{opacity:.45;cursor:default;box-shadow:none}
.lat-status-hb.active{background:#f0a500;border-color:#d59000;color:#fff}
.lat-status-arrival.active{background:#43a047;border-color:#35843a;color:#fff}
.lat-opening{margin-top:9px;padding:9px 11px;border:1.5px solid #f29467;border-radius:11px;background:#e5d4cb;color:#c4380d;display:flex;flex-direction:column;align-items:flex-start;gap:1px}
.lat-opening-label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;display:flex;align-items:center;gap:5px}
.lat-opening strong{font-size:22px;line-height:1.15;font-weight:900;color:#c4380d}
.lat-opening>span{font-size:12px;font-weight:600;color:#7d8389}
.mw-list{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px;max-height:220px;overflow-y:auto}
.mw-item{display:flex;align-items:center;gap:6px;background:#f0f4ff;padding:8px 11px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}
.mw-item.is-saved{background:#ffe0b2;color:#9b4800}.mw-item small{font-size:8px;font-weight:900;text-transform:uppercase;margin-left:2px}
.mw-lat-hdr{width:100%;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin:8px 0 3px;padding-bottom:3px;border-bottom:1px solid var(--border)}
.mw-lat-hdr:first-child{margin-top:0}
.firda-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.firda-options label{cursor:pointer;position:relative}
.firda-options input{position:absolute;opacity:0;pointer-events:none}
.firda-options span{display:flex;align-items:center;justify-content:center;min-height:42px;border:2px solid var(--border);border-radius:10px;background:#fff;color:var(--primary);font-size:13px;font-weight:900}
.firda-options input:checked+span{border-color:var(--primary);background:var(--primary);color:#fff}
.hveld-flight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:42vh;overflow-y:auto}
.hveld-flight-option{cursor:pointer;position:relative}
.hveld-flight-option input{position:absolute;opacity:0;pointer-events:none}
.hveld-flight-option span{display:flex;flex-direction:column;gap:2px;min-height:55px;padding:9px 10px;border:2px solid var(--border);border-radius:10px;background:#fff;color:var(--primary)}
.hveld-flight-option strong{font-size:13px}.hveld-flight-option small{font-size:10px;color:var(--muted);font-weight:700}
.hveld-flight-option input:checked+span{border-color:var(--primary);background:#eaf2fb}
.lat-etd{font-size:10px;font-weight:800;color:#e65100;background:#fff3e0;border-radius:4px;padding:1px 5px;margin-top:2px;display:inline-block}
.schiphol-badge{display:flex;gap:6px;margin-bottom:8px}
.sb-etd{font-size:11px;font-weight:800;color:#e65100;background:#fff3e0;border-radius:5px;padding:2px 8px}
.sb-status{font-size:11px;font-weight:700;color:#1565c0;background:#e3f2fd;border-radius:5px;padding:2px 8px}
.sb-live{font-size:10px;font-weight:800;color:#2e7d32;background:#e8f5e9;border-radius:5px;padding:2px 7px;letter-spacing:.3px}
.schiphol-pier-suggest{font-size:12px;color:#555;background:#f0f4ff;border:1px solid #c5d3e8;border-radius:8px;padding:8px 11px;margin-bottom:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.manual-pier-badge{display:inline-flex;margin-top:3px;padding:2px 6px;border-radius:5px;background:#fff3e0;color:#b65300;font-size:9px;font-weight:900}
.manual-pier-option{display:flex;align-items:flex-start;gap:6px;margin-top:2px;color:#66778b;font-size:10px;font-weight:700;line-height:1.25;cursor:pointer}.manual-pier-option input{margin-top:1px}

/* Tablet-overzicht naar voorbeeld van de oorspronkelijke TC-interface */
.overview-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:900;color:#6b7a8d;text-transform:uppercase;letter-spacing:.6px;padding:5px 2px 9px;border-bottom:2px solid #dce3ec;margin-bottom:10px}
.overview-title-actions{display:flex;align-items:center;gap:7px}.lateral-order-btn{min-height:29px;padding:4px 9px;border:1px solid #bbc8d6;border-radius:8px;background:#fff;color:var(--primary);font-size:10px;font-weight:900;cursor:pointer;text-transform:none;letter-spacing:0}.lateral-order-btn:hover{background:#eaf2fb}
.count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:25px;padding:0 9px;border-radius:13px;background:#e5eaf1;color:#526173;font-size:12px;font-weight:900;letter-spacing:0;text-transform:none}
.overview-section{margin:4px 0 18px}
.flight-chip-row,.closed-flight-content{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.flight-chip{width:auto;min-width:135px;min-height:64px;padding:11px 14px;border-radius:12px;border:1px solid #d7e0ea;background:#fff;color:var(--primary);box-shadow:0 3px 10px rgba(19,48,78,.08);cursor:pointer;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:3px}
.flight-chip:hover{border-color:#9eb4cb;transform:translateY(-1px)}
.flight-chip strong{font-size:14px;font-weight:900}
.flight-chip span{font-size:12px;color:#708095;font-weight:700}
.flight-chip.is-closed{background:#f5f6f8;color:#687587;box-shadow:none}
.section-empty{display:flex;align-items:center;min-height:48px;color:#8b98a8;font-size:13px;font-weight:700;padding:0 4px}
.closed-panel{background:#fff;border:1px solid #dae2eb;border-radius:14px;box-shadow:0 3px 12px rgba(19,48,78,.07);overflow:hidden;margin-bottom:16px}
.closed-panel summary{list-style:none;cursor:pointer;min-height:58px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;color:#65758a;font-size:14px;font-weight:900}
.closed-panel summary::-webkit-details-marker{display:none}
.closed-count{background:#e6e9ed;border-radius:14px;padding:4px 10px;color:#586575;font-size:12px}
.closed-panel[open] summary{border-bottom:1px solid #e1e6ed}
.closed-flight-content{padding:14px}

.add-flight-card{border-top:5px solid var(--primary)}
.flight-state-card{padding:0;overflow:hidden}
.flight-state-card>.card-title{padding:15px 18px;margin:0;border-bottom:1px solid #e2e7ee}
.flight-state-card.unassigned>.card-title{border-left:5px solid #f0a500}
.flight-state-card.assigned>.card-title{border-left:5px solid #43a047}
.flight-state-card.closed>.card-title{border-left:5px solid #8b98a8}
.flight-list{padding:12px}
.flight-row{display:grid;grid-template-columns:minmax(190px,1fr) auto auto;gap:12px;align-items:center;min-height:68px;padding:11px 13px;border:1px solid #dce3eb;border-radius:12px;background:#fff;margin-bottom:8px;cursor:pointer}
.flight-row:last-child{margin-bottom:0}
.flight-row:hover{background:#f7f9fc;border-color:#bfcddd}
.flight-row.closed{background:#f6f7f9;color:#687587}
.flight-row-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.flight-row-main strong{font-size:15px;color:var(--primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flight-row-main span{font-size:12px;color:#728196;font-weight:650}
.flight-row-meta{font-size:12px;color:#728196;font-weight:650;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.flight-row-main .flight-max-badge{display:inline-flex;align-items:center;margin-left:5px;padding:3px 8px;border-radius:999px;background:#dff4e4;color:#21733a;font-size:11px;font-weight:850;line-height:1}
.flight-expect-summary{display:inline-flex;padding:3px 8px;border-radius:999px;background:#fff0d8;color:#9b5200!important;font-size:11px!important;font-weight:900!important}
.flight-expect-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}
.flight-expect-edit{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:8px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:11px;background:#f8fafc}
.flight-expect-edit>label{display:flex;align-items:flex-start;gap:7px;cursor:pointer}.flight-expect-edit>label input{margin-top:3px}.flight-expect-edit>label span{display:flex;flex-direction:column;gap:2px}.flight-expect-edit>label strong{font-size:12px;color:var(--primary)}
.flight-expect-edit.hp{background:#faf8ff}.flight-expect-edit .fi{padding:7px;font-size:13px;text-align:center}
.flight-state-badge{white-space:nowrap;border-radius:12px;padding:5px 10px;background:#edf2f7;color:#52657a;font-size:11px;font-weight:900}
.flight-row.unassigned .flight-state-badge{background:#fff3df;color:#a46000}
.flight-row.assigned .flight-state-badge{background:#e6f5e9;color:#267438}
.flight-row.closed .flight-state-badge{background:#e6e8eb;color:#616d7c}
.flight-row-actions{display:flex;gap:7px}
.history-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:10px}
.history-summary span{background:#f1f4f8;border-radius:9px;padding:8px 5px;text-align:center;color:#68778a;font-size:10px;font-weight:700}
.history-summary strong{display:block;color:var(--primary);font-size:17px}
.history-meta{font-size:12px;color:var(--muted);font-weight:700;margin-bottom:10px}
.history-list{display:flex;flex-direction:column;gap:6px;max-height:48vh;overflow-y:auto}
.history-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #dde4ec;border-radius:10px;padding:9px 11px;background:#fafbfd}
.history-row>div:first-child{display:flex;flex-direction:column;gap:2px}
.history-row strong{font-size:14px;color:var(--primary)}
.history-row span,.history-row small{font-size:10px;color:var(--muted)}
.history-detail{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right}
.history-status{display:inline-flex;border-radius:10px;padding:3px 7px;font-weight:900!important}
.hs-aanwezig{background:#e3f2fd;color:#1565c0!important}
.hs-hb{background:#fff3e0;color:#e65100!important}
.hs-weggereden{background:#e8f5e9;color:#2e7d32!important}
.hs-bewaard{background:#ffe0b2;color:#b65300!important}
.preassign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:7px}
.preassign-option{cursor:pointer;position:relative}
.preassign-option input{position:absolute;opacity:0;pointer-events:none}
.preassign-option span{display:flex;align-items:center;justify-content:center;min-height:42px;border:2px solid var(--border);border-radius:10px;background:#fff;color:var(--primary);font-size:14px;font-weight:900}
.preassign-option input:checked+span{border-color:var(--primary);background:var(--primary);color:#fff}
.field-hint{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.4}
.hb-expectation-line{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin:-4px 0 11px;padding:7px 9px;border-radius:8px;background:#fff6df;color:#8b5a00;font-size:11px;font-weight:750}
.hb-expectation-line strong{color:#8b5200}

@media (max-width:700px){
  .pc{padding:12px 10px 92px}
  .hdr{padding:8px 10px;min-height:54px}
  .hdr-title{font-size:16px}
  .hdr-btn{padding:8px 10px}
  .driver-status-strip{padding:6px 10px}
  .driver-status-chip{min-height:33px;padding:5px 9px}
  .lat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 7px}
  .lat-grid-item{grid-template-rows:auto auto}
  .lat-box{min-height:112px;padding:9px 9px 38px;margin-bottom:33px}
  .lat-nr{font-size:30px;padding-right:69px}.lat-fl,.lat-route,.lat-route-sep{font-size:20px}.lat-tm{font-size:19px}.lat-pier{font-size:16px;padding:3px 7px}
  .lat-laders-summary{margin-top:8px;padding-top:6px;font-size:11px}
  .lat-count-card{padding:4px;gap:4px;max-width:178px}.lat-count-stat{min-height:33px;padding:4px 3px;gap:4px}.lat-count-stat strong{font-size:19px}.lat-count-stat span{font-size:6.5px}
  .fg{grid-template-columns:1fr;gap:0}
  .flight-row{grid-template-columns:1fr auto}
  .flight-state-badge{grid-column:1/2;justify-self:start}
  .flight-row-actions{grid-column:2;grid-row:1/3}
  .flight-row-actions .btn-s{display:none}
  .flight-expect-edit-grid{grid-template-columns:1fr}
  .flight-chip{min-width:calc(50% - 5px);flex:1}
  .history-summary{grid-template-columns:repeat(2,1fr)}
  .bnav-btn{min-height:66px;font-size:9px}
  .bnav-ico{font-size:20px}
  .bnav-ico svg{width:21px;height:21px}
  .print-document{padding:13px 10px 30px}
  .print-document-head{align-items:flex-start}.print-document-head h1{font-size:20px}.print-legend{font-size:9px}
  .print-driver-grid,.print-flights-grid{grid-template-columns:1fr}
}

@media print{
  @page{size:A4 landscape;margin:7mm}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body{background:#fff;font-size:10pt}
  .print-toolbar,#moverlay{display:none!important}
  .print-document{padding:0;color:#111}
  .print-document-head{margin-bottom:4mm}.print-document-head h1{font-size:18pt}.print-document-head p{font-size:8pt}
  .print-driver-section,.print-flight-section,.print-unassigned{margin-bottom:4mm}
  .print-driver-section h2,.print-flight-section h2,.print-unassigned h2{font-size:9pt;margin-bottom:2mm}
  .print-driver-grid{grid-template-columns:repeat(3,1fr);gap:2mm}.print-driver{padding:2mm 3mm}
  .print-flights-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2mm}
  .print-flight-card{break-inside:avoid;page-break-inside:avoid}
  .print-flight-head{padding:2mm}.print-flight-head>div>strong{font-size:11pt}
  .print-flight-counts{padding:1.5mm}.print-container-list{padding:1mm 1.5mm 1.5mm}
  .print-container-item{min-height:6mm;padding:.7mm 1mm}
  .print-unassigned{break-inside:avoid;page-break-inside:avoid}
}
