:root{font-family:Segoe UI,system-ui,sans-serif;color:#172e29;background:#f3f5f2;font-size:16px;--green:#164b3e;--lime:#d7f594;--muted:#65736e;--line:#dce3dd}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #cbd7ce;border-radius:7px;background:white;padding:.55rem .8rem;color:inherit;line-height:1.3}button:hover{background:#edf2eb}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #6b9d39;outline-offset:2px}input,select,textarea{width:100%;padding:.62rem .7rem;border:1px solid #bbcbbf;border-radius:6px;color:#172e29;background:white;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #6b9d39;outline-offset:1px}textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:auto;accent-color:var(--green)}label{display:flex;flex-direction:column;gap:.4rem;font-size:.875rem;font-weight:600}small{font-size:.8rem;font-weight:400;color:var(--muted);line-height:1.5}h1,h2,h3,p{margin-top:0}h1{font-size:1.85rem;letter-spacing:-.045em;margin-bottom:0}h2{font-size:1.4rem;letter-spacing:-.025em;margin:0}h3{font-size:1rem}a{color:var(--green)}[hidden]{display:none!important}.muted{color:var(--muted)}.primary{background:var(--green);border-color:var(--green);color:white;font-weight:600}.primary:hover{background:#22604d}.secondary{background:transparent}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:700;color:var(--muted);margin-bottom:.5rem}.brand-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:9px;background:var(--lime);color:#18392e;font-weight:800;letter-spacing:-.07em;font-size:1.3rem;flex-shrink:0}.sidebar{width:210px;position:fixed;inset:0 auto 0 0;background:#102f28;color:#f1f6ee;display:flex;flex-direction:column;padding:28px 16px;z-index:5}.brand{display:flex;gap:11px;align-items:center;font-weight:650;margin-bottom:42px;font-size:1.04rem}.brand span:not(.brand-icon){display:block;font-size:.68rem;letter-spacing:.21em;margin-top:5px;color:#bbcab8}.sidebar nav{display:grid;gap:6px}.sidebar nav button{background:transparent;color:#dce8de;border:0;text-align:left;padding:.8rem .9rem}.sidebar nav button:hover{background:#22473a}.sidebar nav button.selected{background:var(--lime);color:#18392e;font-weight:650}.sidebar-bottom{margin-top:auto;padding:30px 10px 0;font-size:.875rem;color:#c1cfc5}.sidebar-bottom p{line-height:1.6;margin:14px 0}.quiet{display:block;background:transparent!important;color:inherit;border:0;text-align:left;padding:.4rem 0;font-size:.875rem}.pilot{font-size:.69rem;letter-spacing:.1em;color:#adc987}.sidebar-bottom .quiet:hover{text-decoration:underline}main{margin-left:210px;padding:30px 28px 40px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.header-actions{display:flex;align-items:center;gap:10px}#connection{font-size:.8rem;color:var(--muted);max-width:155px}.toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px}#week-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.inline{display:flex;flex-direction:row;align-items:center;gap:9px;margin-left:8px}.inline input{width:155px;padding:.45rem}.check{flex-direction:row;align-items:center;margin-left:12px}.search{width:260px}.search input{background:#fff}.stats{display:flex;gap:28px;padding:17px 0 22px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}.stats strong{color:#203e32;font-size:1.2rem;margin-right:6px}.board-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px;background:white;max-height:calc(100vh - 270px);min-height:300px}.board{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1070px}.board th{background:#e9efe6;font-size:.875rem;font-weight:650;text-align:left;padding:12px;position:sticky;top:0;z-index:2;border-bottom:1px solid var(--line)}.board th:first-child{width:172px;left:0;z-index:3}.board td{vertical-align:top;padding:8px;border-bottom:1px solid var(--line);border-right:1px solid #e8ede7;height:89px}.board td:first-child{position:sticky;left:0;background:white;z-index:1;padding:13px}.board td.day-today{background:#f7faee}.board td.drop-over{outline:3px inset #72a341;background:#edf6d8}.unit{font-weight:750;font-size:1rem}.driver-name{font-size:.8rem;color:var(--muted);margin-top:4px;line-height:1.35}.badge{display:inline-block;padding:3px 7px;font-size:.75rem;background:#e6ecdf;color:#405235;border-radius:4px;white-space:nowrap}.badge.red{background:#fbe7df;color:#a0301a}.badge.green{background:#e3efd5;color:#2c652c}.badge.blue{background:#dcebf3;color:#315c74}.card{display:block;text-align:left;width:100%;padding:9px;border-radius:5px;border:1px solid #d6e2ca;border-left:3px solid #83a855;background:#f4f8ed;margin-bottom:6px;box-shadow:0 1px 2px #132d1d08;overflow-wrap:anywhere}.card:hover{background:#eaf2df}.card.completed{opacity:.75;border-left-color:#8b9b91;background:#f0f3f0}.card.in-progress{border-left-color:#377a9b;background:#edf6fa}.card-title{display:flex;justify-content:space-between;gap:5px;font-size:.7rem;letter-spacing:.04em;font-weight:750;margin-bottom:6px}.route{font-size:.83rem;line-height:1.5}.route span{color:#738168}.card-meta{font-size:.75rem;color:var(--muted);margin-top:5px}.empty-cell{display:block;width:100%;height:44px;color:#9da99e;font-size:.8rem;border:1px dashed transparent;background:transparent}.empty-cell:hover{border-color:#aabc9d;background:#f3f7ed}.cell-add{border:0;background:transparent;font-size:.75rem;color:var(--muted);padding:4px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 12px}.section-head h2{font-size:1.1rem}.unassigned{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.notice{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:#edf2e5;border:1px solid #dce6cd;padding:12px 16px;border-radius:7px;margin:0 0 18px;font-size:.875rem}.notice p{margin:0}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:white}.list-table{width:100%;border-collapse:collapse;font-size:.875rem}.list-table th{text-align:left;background:#e9efe6;color:#566b5c;padding:12px 16px;white-space:nowrap}.list-table td{padding:13px 16px;border-top:1px solid #e5eae3;line-height:1.5}.list-table tr:hover td{background:#f8faf4}.list-table button{font-size:.8rem;padding:5px 9px}.tabs{display:flex;gap:8px;margin-bottom:18px}.tabs button.active{background:var(--green);color:white;border-color:var(--green)}.empty{padding:40px 24px;text-align:center;border:1px dashed #becdbb;border-radius:8px;color:var(--muted)}.panel{background:white;border:1px solid var(--line);border-radius:8px;padding:22px;margin-bottom:20px}.panel li{line-height:1.6;margin-bottom:10px}.panel h2{margin-bottom:16px}.panel p{line-height:1.6}.panel code{background:#f1f4ef;padding:2px 5px;border-radius:4px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.error{color:#a2291f;line-height:1.5;font-size:.875rem}.error:empty{display:none}.banner{background:#fbe9e1;padding:12px 16px;border-radius:7px;margin-bottom:16px}.warning{padding:14px;background:#fff2d1;border:1px solid #e3c581;border-radius:7px;margin:16px 0;color:#6f4614;font-size:.875rem}.warning label{margin-top:12px}.warning p{margin:0 0 6px}dialog{width:min(700px,calc(100vw - 30px));max-height:calc(100dvh - 32px);border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 24px 100px #102f2833;color:#172e29}dialog::backdrop{background:#09211988;backdrop-filter:blur(2px)}.dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:24px}.dialog-head button{border:0;padding:4px 8px;background:#f1f4ef}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wide{grid-column:1/-1}.dialog-foot{display:flex;justify-content:flex-end;gap:10px;padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}.source-note{font-size:.8rem;color:var(--muted);margin-top:16px}.detail-grid{display:grid;grid-template-columns:150px 1fr;gap:9px;font-size:.875rem;overflow-wrap:anywhere}.detail-grid dt{color:var(--muted)}.detail-grid dd{margin:0;white-space:pre-wrap}.auth-wrap{min-height:100vh;display:grid;place-items:center;background:#e8eee3;padding:24px}.auth-card{width:min(420px,100%);padding:34px;background:#fff;border:1px solid #d5dfce;border-radius:14px;box-shadow:0 20px 80px #2c422c0d}.auth-card .brand-icon{margin-bottom:24px}.auth-card h1{font-size:1.7rem;margin-bottom:12px}.auth-card p{font-size:.875rem;line-height:1.5;color:var(--muted)}.auth-card label{margin:18px 0}.auth-card .primary{width:100%;margin-bottom:20px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#163f32;color:white;box-shadow:0 5px 20px #17352333;padding:13px 22px;border-radius:8px;z-index:20;font-size:.875rem;max-width:90vw}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1000px){.sidebar{width:175px;padding:22px 12px}.brand{font-size:.88rem;gap:8px}.brand-icon{width:36px;height:36px}main{margin-left:175px;padding:24px 18px}.header-actions{flex-wrap:wrap;justify-content:flex-end}h1{font-size:1.5rem}.settings-grid{grid-template-columns:1fr}}@media(max-width:700px){.sidebar{position:static;width:100%;padding:14px;display:block}.brand{margin-bottom:14px}.sidebar nav{display:flex;overflow:auto;gap:4px}.sidebar nav button{white-space:nowrap;font-size:.8rem;padding:9px 12px}.sidebar-bottom{display:flex;align-items:center;gap:14px;padding:12px 0 0;margin:0;flex-wrap:wrap}.sidebar-bottom p{margin:0;font-size:.75rem}.sidebar-bottom .pilot{display:none}main{margin:0;padding:20px 14px}header{align-items:flex-start;gap:14px}.header-actions{gap:6px}#connection{width:100%;font-size:.75rem;text-align:right}header button{font-size:.8rem;padding:7px 10px}.toolbar{gap:14px}.search{width:100%}.stats{gap:15px;flex-wrap:wrap}.board-wrap{max-height:70vh}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.inline{margin-left:0}.check{margin-left:5px}dialog{padding:18px}.detail-grid{grid-template-columns:1fr}.detail-grid dd{margin-bottom:10px}}@media print{.sidebar,.toolbar,.header-actions,.notice,.cell-add,.empty-cell,#toast{display:none!important}main{margin:0;padding:0}.board-wrap{overflow:visible;max-height:none}.board{min-width:0}.board td:first-child,.board th{position:static}.card{break-inside:avoid}}

#invoice-dialog{width:min(1000px,calc(100vw - 30px));overflow:hidden}
#invoice-form{display:flex;flex-direction:column;max-height:calc(100dvh - 82px)}
#invoice-body{overflow-y:auto;min-height:0;padding-right:8px}
.card.accepted{border-left-color:#b5812a;background:#fbf6ea}
.bol-photo{display:block;max-width:100%;height:auto;margin:0 0 16px;border:1px solid var(--line);border-radius:6px}
#invoice-form .dialog-head,#invoice-form .dialog-foot{flex-shrink:0}
#invoice-form .dialog-foot{margin-top:12px}
#invoice-error:empty{display:none}
/* Full-screen fleet overview */
body.wall-open{overflow:hidden}
#wall-view{position:fixed;inset:0;z-index:10;background:#f0f3ec;display:flex;flex-direction:column;padding:20px 24px;gap:10px;overflow:hidden}
.wall-header{flex-shrink:0;margin:0;gap:16px}
.wall-header h1{font-size:1.55rem}
.wall-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wall-controls input{width:155px}
.wall-summary{display:flex;justify-content:space-between;gap:12px;font-size:.875rem;font-weight:600;flex-shrink:0}
#wall-connection{color:#46664d}
.wall-maint-note{margin:0;font-size:.8rem;color:#65736e;flex-shrink:0}
#wall-grid{flex:1;min-height:0;overflow:auto;border:1px solid #d5dfd0;border-radius:8px;background:white}
.wall-truck{min-height:0;border:1px solid #d5dfd0;border-top:5px solid #a1ad96;border-radius:9px;background:#fff;display:flex;flex-direction:column;overflow:hidden}
.wall-truck.assigned{border-top-color:#518ba3}.wall-truck.maintenance{border-top-color:#db9b25}.wall-truck.down{border-top-color:#bd4931;background:#fffaf8}.wall-truck.available{border-top-color:#70a154}
.wall-truck-head{display:flex;justify-content:space-between;align-items:flex-start;gap:9px;padding:11px 13px;border-bottom:1px solid #e5eade}
.wall-truck-head>div{min-width:0}.wall-truck-head h2{font-size:1.35rem;overflow-wrap:anywhere}
.wall-truck-head p{margin:3px 0 0;font-size:.8rem;color:#65736e;overflow-wrap:anywhere}
.wall-status{font-size:.75rem;font-weight:700;padding:5px 7px;border-radius:5px;background:#e7eee0;color:#436534;white-space:nowrap}
.down .wall-status{background:#fbe1d8;color:#a62e1a}.maintenance .wall-status{background:#fff0ca;color:#815710}.assigned .wall-status{background:#e2eef5;color:#33687b}
.wall-details{min-height:0;overflow:auto;padding:10px 13px;scrollbar-width:thin;overflow-wrap:anywhere}
.wall-details:focus-visible{outline:2px solid #5a893d;outline-offset:-2px}
.wall-repairs{padding:8px 10px;background:#fff1d6;border-radius:5px;font-size:.875rem;margin-bottom:10px}
.down .wall-repairs{background:#fbe7dd}.wall-repairs p{margin:5px 0;line-height:1.4}.wall-repairs span{color:#795c42}
.wall-job{font-size:.875rem;line-height:1.45;padding:8px 0;border-bottom:1px solid #e3eade}.wall-job:first-child{padding-top:0}.wall-job:last-child{border:0}.wall-job-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;font-size:.75rem;color:#54684e;margin-bottom:4px}.wall-job p{font-size:.8rem;color:#637359;margin:4px 0 0}
.wall-empty{font-size:.875rem;color:#7c8974;margin:10px 0}
.wall-footer{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;color:#66755e;flex-shrink:0}
@media(max-width:900px){#wall-view{padding:12px}.wall-header{flex-wrap:wrap}.wall-header h1{font-size:1.2rem}.wall-summary,.wall-footer{flex-wrap:wrap}.wall-controls button{font-size:.875rem}.wall-controls input{width:145px}}


.wall-week{width:100%;min-width:1120px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:.875rem}
.wall-week thead th{position:sticky;top:0;z-index:2;background:#e6eedf;text-align:left;padding:11px 9px;border-bottom:1px solid #cbd8c3}
.wall-week thead th:first-child{width:175px;left:0;z-index:4}
.wall-week thead th span{display:block;font-size:.8rem;font-weight:400;margin-top:4px;color:#52634b}
.wall-week td{vertical-align:top;padding:8px;border-right:1px solid #e1e8dd;border-bottom:1px solid #dce4d7}
.wall-week .wall-unit{position:sticky;left:0;z-index:1;vertical-align:top;background:white;text-align:left;padding:10px;border-right:1px solid #d4dfcd;border-bottom:1px solid #dce4d7}
.wall-unit h2{font-size:1.2rem;overflow-wrap:anywhere}.wall-unit>p{font-weight:400;font-size:.8rem;color:#65736e;margin:4px 0 7px}
.wall-week .down .wall-unit{background:#fff0e9;border-left:4px solid #bd4931}
.wall-week .maintenance .wall-unit{background:#fff7e3;border-left:4px solid #db9b25}
.wall-week .wall-today{background:#f1f8e5}.wall-week thead .wall-today{background:#d7ecb7}
.wall-unit-repairs{max-height:125px;overflow:auto;font-weight:400;font-size:.8rem;overflow-wrap:anywhere}.wall-unit-repairs p{margin:8px 0}
.wall-day-jobs{max-height:245px;overflow:auto;scrollbar-width:thin;overflow-wrap:anywhere}.wall-day-jobs:focus-visible{outline:2px solid #5a893d;outline-offset:2px}
.wall-week .wall-job{background:#f2f7eb;border:1px solid #d6e2ca;border-left:3px solid #7ba350;border-radius:4px;padding:7px;margin-bottom:7px}
.wall-week .wall-job:last-child{margin-bottom:0}.wall-week .wall-completed{background:#f1f3ef;border-left-color:#8c9c83}
.wall-blank{display:block;color:#a2ae99;text-align:center;padding:12px}.wall-week .wall-status{display:inline-block;white-space:normal}

/* Compact truck/day cells */
.wall-week{min-width:1000px}
.wall-week thead th:first-child{width:175px}
.wall-week td{padding:5px;vertical-align:middle}
.wall-week .wall-unit{padding:7px 10px}
.wall-unit h2{font-size:1.1rem}.wall-unit>p{margin:3px 0 5px}
.wall-cell{width:100%;min-height:65px;height:100%;padding:7px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:#f4f7f0;border:1px solid #dbe4d5;font-size:.875rem;line-height:1.2}
.wall-cell>span{font-size:.75rem}.wall-cell.dispatched{background:#e8f1f7;border-color:#bfd4e2;color:#265d78}
.wall-cell.in-maintenance{background:#fff1d1;border-color:#e5c98b;color:#805316}.wall-cell.out-of-service{background:#fce8df;border-color:#dfb4a6;color:#9c3523}
.wall-cell.is-available{background:#f3f7ee;color:#718267}
.wall-cell:hover{filter:brightness(.96);box-shadow:0 0 0 1px #719765}
.wall-cell .cell-alert{padding:3px 5px;border-radius:4px;color:#795313;background:#ffe6ae}
.wall-cell .cell-alert.critical{color:#9b2f20;background:#ffdbcf}
#wall-detail{width:min(740px,calc(100vw - 30px))}
#wall-detail-body{max-height:65dvh;overflow:auto;padding:2px 5px}
#wall-detail .dialog-head{margin-bottom:10px}
.detail-job{border:1px solid #dce4d7;border-radius:7px;padding:15px;margin-bottom:18px;background:#f9fbf6}
.detail-job-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.detail-job h3{margin:0 0 12px}.detail-job p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}

.dispatch-load{margin-bottom:8px}.dispatch-load .card{margin-bottom:0}.dispatch-actions{display:flex;justify-content:flex-end;padding-top:4px}.dispatch-actions button{font-size:.75rem;padding:.3rem .5rem;color:var(--green);font-weight:600}


.shop-table{width:100%;min-width:900px;table-layout:fixed;border-collapse:collapse;font-size:clamp(14px,1.05vw,18px);color:#243746}
.shop-table th,.shop-table td{border:1px solid #dbe3e9;padding:8px 12px;vertical-align:middle;overflow-wrap:anywhere}
.shop-table thead th{position:sticky;top:0;z-index:2;background:#334c5e;color:#fff;text-transform:uppercase;text-align:center;font-size:14px;letter-spacing:.04em;padding:12px 10px}
.shop-table tbody tr:nth-child(odd){background:#f0f4f7}.shop-table tbody tr:nth-child(even){background:#fff}
.shop-table tbody tr:hover{background:#e7eef3}.shop-table tbody th{font-size:clamp(17px,1.3vw,22px);text-align:center}
.shop-unit-col{width:8%}.shop-repair-col{width:39%}.shop-status-col{width:17%}.shop-date-col{width:12%}.shop-location-col{width:9%}.shop-updated-col{width:15%}
.shop-unit-link,.shop-repair-link{background:transparent;border:0;padding:0;border-radius:3px;color:inherit;white-space:normal;text-align:inherit;font:inherit;display:block;width:100%}
.shop-unit-link{font-weight:750}.shop-repair-link{text-align:left;line-height:1.35}
.shop-reference{display:block;margin-top:4px;font-size:12px;color:#655e52;font-weight:400}
.shop-status-pill{display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;border:0;border-radius:20px;padding:6px 10px;font-size:clamp(12px,.95vw,16px);font-weight:650;white-space:normal;text-transform:uppercase;text-align:center}
.shop-status-pill.waiting{background:#eee5cc;color:#685019}.shop-status-pill.reported{background:#dce9f2;color:#294f6a}.shop-status-pill.working{background:#dcebe4;color:#2b5747}
.shop-table button:focus-visible{outline:3px solid #216ae6;outline-offset:2px}

.transport-logo{display:block;width:210px;height:auto;max-width:100%;object-fit:contain;background:white;padding:5px;border-radius:5px}
.brand .transport-logo{width:178px}.auth-card>.transport-logo{width:280px;margin:0 auto 20px}
.header-actions,.wall-controls{flex-wrap:wrap}.header-actions>.transport-logo,.wall-controls>.transport-logo{width:200px;flex-shrink:0}
@media(max-width:1100px){.header-actions>.transport-logo,.wall-controls>.transport-logo{width:150px}}
@media(max-width:700px){.header-actions>.transport-logo,.wall-controls>.transport-logo{width:140px}}

.transport-heading{display:flex;align-items:center;gap:20px;min-width:0}.transport-heading>.transport-logo{width:230px;flex-shrink:0}
@media(max-width:1100px){.transport-heading>.transport-logo{width:180px}.transport-heading{gap:12px}}
@media(max-width:700px){.transport-heading{flex-wrap:wrap}.transport-heading>.transport-logo{width:180px}}

#wall-grid.shop-fit{overflow:hidden;position:relative}.shop-fit .shop-table{position:absolute;top:0;left:0;transform-origin:top left}.shop-fit .shop-table thead th{position:static}

.shop-sort{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit}.shop-sort:hover{background:transparent;color:#d4e7f4}.shop-sort span{flex-shrink:0}

body,button,input,select,textarea,input::placeholder,textarea::placeholder{text-transform:uppercase}

.entry-select{width:auto;margin:0 10px 0 0;vertical-align:middle}.shop-table .entry-select{display:block;margin:5px auto 0}.selection-actions{display:flex;gap:10px;margin:0 0 12px}

.inspection-check{display:flex;flex-direction:row;align-items:center;gap:7px;margin:3px 0;white-space:nowrap}.inspection-check input{width:auto}.inspection-check input:disabled{opacity:1}

.column-sort{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;text-align:left}.column-sort:hover{background:transparent;text-decoration:underline}.column-sort span{flex-shrink:0}

/* Adapt to available viewport space, including browser zoom and display scaling. */
:root{font-size:clamp(14px,calc(.72vw + 4px),22px);--sidebar-width:clamp(175px,12vw,285px)}
main>header{flex-wrap:wrap}.header-actions{max-width:100%;gap:clamp(6px,.6vw,14px)}
.transport-heading{gap:clamp(10px,1.1vw,28px)}.transport-heading>.transport-logo{width:clamp(140px,14vw,330px)}
#wall-view{padding:clamp(10px,1.25vw,32px);gap:clamp(6px,.55vw,14px)}
.wall-header h1{font-size:clamp(20px,1.6vw,40px)}.wall-summary,.wall-footer{font-size:clamp(11px,.85vw,22px)}
.wall-maint-note{font-size:clamp(11px,.78vw,20px)}
.shop-table{font-size:clamp(13px,1.05vw,30px)}.shop-table tbody th{font-size:clamp(16px,1.3vw,36px)}
.shop-table th,.shop-table td{padding:clamp(5px,.5vw,15px) clamp(7px,.75vw,22px)}
.shop-table thead th{font-size:clamp(11px,.9vw,26px);padding:clamp(7px,.6vw,18px)}
.shop-status-pill{font-size:clamp(11px,.95vw,27px);padding:clamp(4px,.38vw,12px) clamp(7px,.6vw,18px)}
@media(min-width:701px){.sidebar{width:var(--sidebar-width);padding:clamp(18px,1.5vw,34px) clamp(10px,.85vw,20px)}main{margin-left:var(--sidebar-width);padding:clamp(20px,1.6vw,40px)}.brand .transport-logo{width:100%}}
@media(max-height:650px){#wall-view{padding:8px 12px;gap:5px}.wall-header .transport-logo{width:140px}.wall-header .eyebrow{margin-bottom:3px}.wall-header h1{font-size:20px}.wall-maint-note{font-size:11px}}

/* Consistent bold typography across all app views and controls. */
body,body *,input::placeholder,textarea::placeholder{font-weight:700!important}

/* Recyclers Transport website palette: black, steel, white and safety orange. */
:root{font-family:Arial,Helvetica,system-ui,sans-serif;color:#20262b;background:#f1f3f4;--green:#202b34;--lime:#ff8017;--muted:#56616a;--line:#d5dbe0;--orange:#ff8017;--steel:#202b34}
body,body *,input::placeholder,textarea::placeholder{text-transform:uppercase;font-weight:700!important}
.sidebar{background:#090b0d;color:#fff;border-right:3px solid var(--orange)}
.brand span:not(.brand-icon),.sidebar-bottom,.pilot{color:#c4cbd0}
.brand-icon{background:var(--orange);color:#111;border-radius:3px}
.sidebar nav button{color:#f4f5f6;border-radius:3px}
.sidebar nav button:hover{background:#26313a}
.sidebar nav button.selected{background:var(--orange);color:#111}
main>header,.wall-header{border-bottom:3px solid var(--orange);padding-bottom:18px}
h1,h2,h3{letter-spacing:-.025em}h1{color:var(--steel)}
button{border-color:#bcc5cd;border-radius:3px;background:#fff}
button:hover{background:#e9edf0}
.primary,.tabs button.active{background:var(--orange);border-color:var(--orange);color:#111}
.primary:hover,.tabs button.active:hover{background:#e96c00;border-color:#e96c00}
a,.dispatch-actions button{color:#202b34}
button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus,.wall-details:focus-visible,.wall-day-jobs:focus-visible,.shop-table button:focus-visible{outline-color:#c35400}
input,select,textarea{color:#20262b;border-color:#b7c1c9;border-radius:3px;background:#fff}
input[type=checkbox]{accent-color:#c35400}
small,.driver-name,.card-meta,.wall-maint-note,.wall-truck-head p,.wall-unit>p,.wall-footer,.wall-job-top,.wall-job p,.shop-reference,.route span{color:var(--muted)}
.stats strong{color:var(--steel)}
.board-wrap,.table-wrap,.panel,#wall-grid,.wall-truck,.detail-job{border-color:var(--line);border-radius:4px}
.board th,.list-table th,.wall-week thead th,.shop-table thead th{background:var(--steel);color:#fff;border-color:#43505b}
.wall-week thead th span{color:#d5dbe0}
.board td,.list-table td,.wall-week td,.wall-week .wall-unit,.shop-table th,.shop-table td{border-color:var(--line)}
.list-table tbody tr:nth-child(odd) td,.shop-table tbody tr:nth-child(odd){background:#f0f3f5}
.list-table tr:hover td,.shop-table tbody tr:hover{background:#e5eaee}
.board td.day-today,.wall-week .wall-today{background:#fff1e5}
.wall-week thead .wall-today{background:#a74400;color:#fff}
.board td.drop-over{outline-color:var(--orange);background:#ffead8}
.card,.wall-week .wall-job{background:#f4f6f7;border-color:#d5dbe0;border-left-color:var(--orange);border-radius:3px;box-shadow:none}
.card:hover{background:#e9eef1}
.card.completed,.wall-week .wall-completed{background:#eef1f2;border-left-color:#7a858e}
.card.in-progress{background:#edf6fa;border-left-color:#377a9b}
.empty-cell,.wall-blank{color:#65717a}
.empty-cell:hover{background:#fff1e5;border-color:#c35400}
.notice{background:#e9eef1;border-color:#cbd4db;border-left:4px solid var(--orange);border-radius:3px}
.empty{border-color:#aebbc5;border-radius:3px}
.panel code,.dialog-head button{background:#edf0f2}
dialog{color:#20262b;border-radius:5px;border-top:4px solid var(--orange);box-shadow:0 24px 100px #10182040}
dialog::backdrop{background:#0a101aaa}
.auth-wrap{background:#18242e}
.auth-card{border-color:#43505b;border-top:4px solid var(--orange);border-radius:5px}
#toast{background:var(--steel);border-left:4px solid var(--orange);border-radius:3px}
#wall-view{background:#f1f3f4}
#wall-connection{color:var(--muted)}
.wall-cell{background:#f2f4f5;border-color:#d5dbe0;border-radius:3px}
.wall-cell.is-available{background:#f2f4f5;color:#4e5e69}
.wall-cell:hover{box-shadow:0 0 0 1px #c35400}
.wall-week .wall-job,.wall-job{border-bottom-color:var(--line)}
.wall-truck-head{border-bottom-color:var(--line)}
.detail-job{background:#f5f7f8}
.shop-sort:hover{color:#ffb579}
.transport-logo{border-radius:3px}
@media print{.board th,.list-table th,.shop-table thead th{background:#e9edf0;color:#111}main>header{border-bottom-color:#111}}

/* Distinct high-contrast maintenance status colors, shared by both views. */
.badge.repair-open,.shop-status-pill.repair-open{background:#075bd8;color:#fff;border:1px solid #0345a6}
.badge.repair-progress,.shop-status-pill.repair-progress{background:#7734c7;color:#fff;border:1px solid #592298}
.badge.repair-waiting,.shop-status-pill.repair-waiting{background:#ffca28;color:#302400;border:1px solid #b28200}
.badge.repair-completed,.shop-status-pill.repair-completed{background:#087c3e;color:#fff;border:1px solid #045c2d}
.badge[class*="repair-"]{padding:5px 9px}
.staff-calendar-toggle{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;background:transparent;padding:0;font-size:1.1rem}.staff-calendar-toggle small{margin-left:auto}
.staff-calendar-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin:18px 0}.staff-calendar-toolbar label{max-width:220px}
.staff-calendar-scroll{overflow-x:auto}.staff-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));min-width:770px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.staff-day-heading{text-align:center;background:#334c5e;color:white;padding:10px}.staff-calendar-day,.staff-calendar-blank{min-height:110px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px;background:#fff}.staff-calendar-blank{background:#f3f5f7}.staff-calendar-day.today{box-shadow:inset 0 0 0 2px #075bd8}
.staff-date{border:0;background:transparent;padding:3px 6px;margin-bottom:5px}.staff-event{display:block;width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere;border:0;padding:6px;border-radius:4px;font-size:.75rem;margin-bottom:4px}.staff-event span{display:block;font-size:.7rem;margin-top:3px}
.staff-event.vacation{background:#dce9ff;color:#17478e}.staff-event.sick{background:#ffe0e0;color:#8b1d1d}.staff-event.pto{background:#eadeff;color:#57268c}.staff-event.short{background:#fff0ba;color:#684800}.staff-event.other{background:#d5f1e5;color:#20553e}
.staff-agenda-heading{margin-top:22px}.staff-agenda>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.staff-agenda .staff-event{width:auto;margin:0}.staff-agenda strong{min-width:140px}.staff-agenda>div>span:nth-child(3){flex:1}
.availability-today{display:inline-block;padding:9px 12px;background:#fff0ba;color:#684800;border-radius:5px;margin:4px 8px 4px 0}
.overview-table{table-layout:fixed}.overview-table td{line-height:1.35}.overview-link{font:inherit;color:inherit;background:transparent;border:0;text-align:left;padding:0;width:100%;overflow-wrap:anywhere}
#wall-page-controls{display:inline-flex;align-items:center;gap:6px}
.shop-fit .wall-week{position:absolute;top:0;left:0;transform-origin:top left}.shop-fit .wall-week thead th,.shop-fit .wall-week .wall-unit{position:static}
@media(max-width:700px){.overview-table{min-width:0;font-size:16px}.overview-table thead{display:none}.overview-table tbody,.overview-table tr{display:block}.overview-table td{display:grid;grid-template-columns:42% 1fr;gap:10px;padding:10px;line-height:1.35}.overview-table td:before{content:attr(data-label);font-size:12px;color:#526979}.overview-table td:first-child{background:#e1eaf1;font-size:18px}}

.payroll-frame{width:100%;height:calc(100vh - 180px);min-height:650px;border:0;border-radius:12px}.report-controls{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:24px 0}.report-controls label{display:grid;gap:6px;min-width:150px}

/* Dispatch summaries stay readable rather than shrinking an entire busy week. */
.wall-week{min-width:1510px;table-layout:fixed;width:100%}
.wall-week td{vertical-align:top}
.wall-week .wall-cell{align-items:stretch;text-align:left;padding:7px;min-height:84px;gap:8px;white-space:normal;overflow-wrap:anywhere}
.wall-week .wall-cell>strong{font-size:.75rem;font-weight:600}
.wall-cell .wall-load-summary{display:flex;flex-direction:column;gap:5px;background:#fff;color:#243746;border:1px solid #cedce6;border-left:3px solid #367a9d;border-radius:4px;padding:9px;font-size:.82rem;line-height:1.35}
.wall-load-summary .wall-load-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;font-size:.73rem}
.wall-load-heading>span{color:#516573}
.wall-load-summary .wall-load-route{font-weight:650}
.wall-load-summary .wall-load-customer{color:#435e70}
.wall-load-summary .wall-load-equipment{border-top:1px solid #e0e7eb;padding-top:5px;color:#52616a;font-size:.75rem}
.wall-cell .wall-load-summary.is-completed{border-left-color:#647b60;background:#f4f7f2}
.wall-cell:focus-visible{outline:3px solid #146b99;outline-offset:-3px}

/* V2 is an on-screen layer. V1 full-screen maintenance and payroll print rules remain intact. */
@media screen {
:root{--v2-bg:#f5f7f3;--v2-panel:#fff;--v2-ink:#20372f;--v2-muted:#596c60;--v2-line:#cbd8ce;--v2-accent:#1d6449;--v2-on-accent:#fff;--v2-tint:#eaf3ed;--v2-focus:#a15d00;--v2-size:16px}
:root[data-theme=classic]{--v2-bg:#f1f3f5;--v2-panel:#fff;--v2-ink:#202b34;--v2-muted:#52616d;--v2-line:#bdc7ce;--v2-accent:#f47b08;--v2-on-accent:#111;--v2-tint:#fff0dc;--v2-focus:#a74200}
:root[data-theme=contrast]{--v2-bg:#000;--v2-panel:#000;--v2-ink:#fff;--v2-muted:#fff;--v2-line:#fff;--v2-accent:#ffed00;--v2-on-accent:#000;--v2-tint:#181818;--v2-focus:#00ffff}
:root[data-theme=dark]{--v2-bg:#121a20;--v2-panel:#1c2932;--v2-ink:#edf4f5;--v2-muted:#b7ccd1;--v2-line:#617986;--v2-accent:#a5dcb9;--v2-on-accent:#10281b;--v2-tint:#273b43;--v2-focus:#ffcf6d}
:root[data-theme=warm]{--v2-bg:#f5f0e4;--v2-panel:#fffaf0;--v2-ink:#393325;--v2-muted:#6d614d;--v2-line:#c8baa0;--v2-accent:#68552c;--v2-on-accent:#fff;--v2-tint:#eee4cc;--v2-focus:#945b00}
body{background:var(--v2-bg)}#app,#auth{font:var(--v2-size)/1.5 'Segoe UI',Arial,sans-serif;text-transform:none;color:var(--v2-ink);background:var(--v2-bg)}
#app main{margin-left:224px;padding:32px;max-width:none}#app .sidebar{width:224px;padding:25px 16px;background:var(--v2-panel);color:var(--v2-ink);border-right:1px solid var(--v2-line)}#app .brand{margin-bottom:22px;padding:0 6px}#app .brand img{max-width:180px}#app .sidebar nav{gap:4px}#app .sidebar nav button{font-size:.9em;text-transform:none;padding:10px 14px;border:0;border-radius:7px;background:transparent;color:var(--v2-muted)}#app .sidebar nav button.selected{background:var(--v2-tint);color:var(--v2-ink);font-weight:750;box-shadow:inset 3px 0 var(--v2-accent)}#app .sidebar nav button:hover{background:var(--v2-tint)}#app .sidebar nav button[data-tab=payroll],#app .sidebar nav button[data-tab=activity]{margin-top:10px}#app .sidebar-bottom{color:var(--v2-muted);font-size:.8em;padding:20px 10px 0}#app .pilot{color:var(--v2-muted)}#app .sidebar .quiet{color:var(--v2-ink)}
#app main>header{border:0;margin-bottom:24px;padding:0;align-items:flex-start}#app main>header .transport-logo{display:none}#app h1{font-size:1.9em;line-height:1.15;letter-spacing:-.035em;color:var(--v2-ink);text-transform:none}#app h2{font-size:1.15em;color:var(--v2-ink)}#app h3{font-size:1em;color:var(--v2-ink)}#app .eyebrow{color:var(--v2-accent);font-size:.67em;letter-spacing:.12em;margin-bottom:10px}#v2-description{margin:10px 0 0;color:var(--v2-muted);font-size:.86em;max-width:680px}#app .header-actions{flex-wrap:wrap;justify-content:flex-end}#app #connection{color:var(--v2-muted);font-size:.75em}#app .v2-copy-note{padding:9px 15px;border:1px solid var(--v2-line);border-radius:7px;background:var(--v2-tint);color:var(--v2-ink);font-size:.75em;margin-bottom:24px}
#app button,#auth button{background:var(--v2-panel);border:1px solid var(--v2-line);border-radius:7px;color:var(--v2-ink);font-size:.85em;padding:9px 13px;text-transform:none}#app button:hover,#auth button:hover{background:var(--v2-tint)}#app .primary,#auth .primary,#app .tabs button.active{background:var(--v2-accent);border-color:var(--v2-accent);color:var(--v2-on-accent)}#app input,#app select,#app textarea,#auth input{background:var(--v2-panel);color:var(--v2-ink);border:1px solid var(--v2-line);border-radius:6px;font-size:1em}#app input[type=checkbox]{accent-color:var(--v2-accent)}#app :is(button,a,input,select,textarea):focus-visible,#auth :is(button,input):focus-visible{outline:3px solid var(--v2-focus);outline-offset:2px}#app a{color:var(--v2-ink);text-decoration:underline}#app :is(small,.muted,.source-note,.driver-name,.card-meta,.stats,#connection){color:var(--v2-muted)}#app .stats{border-color:var(--v2-line);font-size:.85em}#app .stats strong{color:var(--v2-ink)}
#app .panel,#app .table-wrap,#app .board-wrap{background:var(--v2-panel);border:1px solid var(--v2-line);border-radius:10px;color:var(--v2-ink)}#app .list-table th,#app .board th{background:var(--v2-tint);color:var(--v2-ink);font-size:.76em;text-transform:none;border-color:var(--v2-line)}#app .list-table td{font-size:.86em;border-color:var(--v2-line);color:var(--v2-ink)}#app .list-table tbody tr:hover{background:var(--v2-tint)}#app .board td,#app .board td:first-child{background:var(--v2-panel);border-color:var(--v2-line)}#app .board td.day-today{background:var(--v2-tint)}#app .card{background:var(--v2-panel);border-color:var(--v2-line);border-left:3px solid var(--v2-accent);padding:12px;border-radius:6px;line-height:1.5;color:var(--v2-ink)}#app .card:hover{background:var(--v2-tint)}#app .card.completed{opacity:1}#app .route{font-size:1em;font-weight:600}#app .card-meta{font-size:.9em}#app .card-title{font-size:.8em}#app .dispatch-actions button{color:var(--v2-ink);font-size:.75em}#app .empty-cell{color:var(--v2-muted)}#app .notice{background:var(--v2-tint);color:var(--v2-ink);border-color:var(--v2-line)}
#app .staff-calendar-day,#app .staff-day-heading,#app .staff-calendar-blank{background:var(--v2-panel);color:var(--v2-ink);border-color:var(--v2-line)}#app .staff-calendar-day.today{background:var(--v2-tint)}#app .staff-event{background:var(--v2-tint);color:var(--v2-ink)}#app .staff-calendar-scroll{border-color:var(--v2-line)}#app .v2-appearance p{color:var(--v2-muted);font-size:.86em}#app .v2-appearance .form-grid{max-width:720px}
.v2-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0 25px}#app .v2-metric{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:20px;border-radius:10px;background:var(--v2-panel)}.v2-metric strong{font-size:2.2em;margin:8px 0}.v2-metric small{font-size:.8em}.v2-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}#app .v2-columns>.panel{padding:0}.v2-panel-head{padding:20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--v2-line)}.v2-task{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px;border-bottom:1px solid var(--v2-line)}.v2-task p{font-size:.8em;color:var(--v2-muted);margin:5px 0}.v2-task h3{margin:0}.v2-task button{flex-shrink:0}.v2-today{max-height:390px;overflow:auto}#app .v2-today-load{width:100%;display:flex;flex-direction:column;text-align:left;gap:5px;padding:17px 20px;border-radius:0;border-width:0 0 1px}.v2-guide{margin-top:22px;padding:24px;border:1px solid var(--v2-line);border-radius:10px;background:var(--v2-tint)}.v2-guide p{font-size:.85em;margin:10px 0 0}#app .payroll-frame{height:calc(100vh - 260px);min-height:780px;background:var(--v2-panel)}
#auth .auth-card{background:var(--v2-panel);border-color:var(--v2-line);border-radius:12px;color:var(--v2-ink)}#auth h1,#auth p{color:var(--v2-ink)}
/* Forms keep familiar structure while matching readable screen palettes. */
dialog:not(#covers){background:var(--v2-panel);color:var(--v2-ink);border-color:var(--v2-line);text-transform:none}dialog :is(input,select,textarea){background:var(--v2-panel);color:var(--v2-ink);border-color:var(--v2-line)}dialog button{background:var(--v2-panel);color:var(--v2-ink);border-color:var(--v2-line)}dialog .primary{background:var(--v2-accent);color:var(--v2-on-accent)}dialog :is(small,.muted,.source-note,.eyebrow){color:var(--v2-muted)}
:root[data-theme=contrast] #app .badge,:root[data-theme=dark] #app .badge{background:var(--v2-panel);color:var(--v2-ink);border:1px solid var(--v2-line)}:root[data-theme=contrast] #app .badge.red,:root[data-theme=dark] #app .badge.red{border-width:3px;border-style:double} :root[data-theme=contrast] :is(.error,.warning),:root[data-theme=dark] :is(.error,.warning){background:var(--v2-panel);color:var(--v2-ink);border:2px solid var(--v2-accent)}
/* Full-screen maintenance retains v1 geometry, sorting, fitting and click actions. */
:root[data-theme=contrast] #wall-view,:root[data-theme=dark] #wall-view{background:var(--v2-bg);color:var(--v2-ink)}:root[data-theme=contrast] #wall-view :is(th,td,button,h1,h2,p,span,#wall-grid),:root[data-theme=dark] #wall-view :is(th,td,button,h1,h2,p,span,#wall-grid){background:var(--v2-panel);color:var(--v2-ink);border-color:var(--v2-line)}:root[data-theme=contrast] #wall-view :is(button):focus-visible,:root[data-theme=dark] #wall-view :is(button):focus-visible{outline:3px solid var(--v2-focus)}
@media(max-width:1150px){.v2-columns{grid-template-columns:1fr}.v2-stats{grid-template-columns:repeat(2,minmax(0,1fr))}#app main>header{flex-wrap:wrap}}
@media(max-height:850px) and (min-width:701px){#app .sidebar{padding-top:15px}#app .brand{margin-bottom:12px}#app .sidebar nav{gap:2px}#app .sidebar nav button{padding:7px 12px}#app .sidebar-bottom{padding-top:12px}}
@media(max-width:700px){#app .sidebar{position:static;width:100%;padding:14px}#app .brand{margin:0 0 12px}#app .sidebar nav{display:flex;overflow:auto}#app .sidebar nav button{white-space:nowrap}#app .sidebar nav button[data-tab]{margin:0}#app .sidebar-bottom{display:flex;flex-wrap:wrap}#app main{margin:0;padding:18px 14px}.v2-stats{gap:8px}#app .v2-metric{padding:13px}.v2-task{flex-wrap:wrap}.v2-panel-head{padding:15px}#app .header-actions{justify-content:flex-start}#app .payroll-frame{min-height:900px}#app .v2-copy-note{margin-bottom:16px}}
}
@media screen {
#app *,#auth *,dialog:not(#wall-detail) *{text-transform:none;font-weight:400!important}#app :is(h1,h2,h3,strong,b),#auth h1,dialog :is(h1,h2,h3,strong,b){font-weight:650!important}#app :is(button,th),#auth button,dialog button{font-weight:600!important}#app .sidebar nav button.selected{font-weight:750!important}#app .eyebrow,#app .pilot{font-weight:700!important;text-transform:uppercase}#app input::placeholder,#auth input::placeholder{font-weight:400!important;text-transform:none}#app .search:has(input[hidden]){display:none}#app .sidebar{overflow-y:auto}
}
@media screen {
:root[data-theme=classic] #app .sidebar{background:#202b34;color:#fff}:root[data-theme=classic] #app .sidebar nav button{color:#e9eef2}:root[data-theme=classic] #app .sidebar nav button.selected{background:#ff8017;color:#111;box-shadow:none}:root[data-theme=classic] #app .sidebar nav button:hover{background:#43505b;color:#fff}:root[data-theme=classic] #app .sidebar :is(.sidebar-bottom,.pilot,.quiet){color:#e0e7ed}:root[data-theme=classic] #app main>header{border-bottom:3px solid #ff8017;padding-bottom:18px}
}

@media screen {
:root[data-theme=megan]{--v2-bg:#e5f4fc;--v2-panel:#fff;--v2-ink:#101b16;--v2-muted:#405a50;--v2-line:#91b7a6;--v2-accent:#176442;--v2-on-accent:#fff;--v2-tint:#e5f6e9;--v2-focus:#a50061}
:root[data-theme=megan] #app .sidebar{background:#101b16;color:#dff4ff}
:root[data-theme=megan] #app .sidebar nav button{color:#dff4ff}
:root[data-theme=megan] #app .sidebar nav button.selected{background:#ffb9dc;color:#101b16;box-shadow:inset 4px 0 #65d393}
:root[data-theme=megan] #app .sidebar nav button:hover{background:#244b38;color:#fff}
.staff-repeat-options{display:flex;flex-wrap:wrap;gap:12px}
:root[data-theme=megan] #app .sidebar :is(.sidebar-bottom,.pilot,.quiet){color:#dff4ff}
:root[data-theme=megan] #app main>header{border-bottom:3px solid #d54191;padding-bottom:18px}
:root[data-theme=blueorange]{--v2-bg:#e9edf2;--v2-panel:#fff;--v2-ink:#0b162a;--v2-muted:#43516a;--v2-line:#a4afbf;--v2-accent:#0b162a;--v2-on-accent:#fff;--v2-tint:#e3e8ef;--v2-focus:#c83803}
:root[data-theme=blueorange] #app .sidebar{background:#0b162a;color:#fff}
:root[data-theme=blueorange] #app .sidebar nav button{color:#fff}
:root[data-theme=blueorange] #app .sidebar nav button.selected{background:#c83803;color:#fff;box-shadow:none}
:root[data-theme=blueorange] #app .sidebar nav button:hover{background:#1c2e49;color:#fff}
:root[data-theme=blueorange] #app .sidebar :is(.sidebar-bottom,.pilot,.quiet){color:#fff}
:root[data-theme=blueorange] #app main>header{border-bottom:3px solid #c83803;padding-bottom:18px}
}
.mpg-issues{margin-top:24px}.mpg-issue{border:1px solid var(--line,#ccc);border-radius:8px;margin:12px 0;padding:12px;background:var(--panel,#fff)}
.mpg-issue>summary{cursor:pointer;font-weight:700;padding:8px;min-height:44px}.mpg-issue>summary:focus-visible{outline:3px solid #7762a0}
.mpg-issue table td{white-space:normal}.mpg-issue button{margin:3px;min-height:40px}.mpg-issue>p{max-width:85ch;line-height:1.5}
dialog.mpg-correction{width:min(1200px,96vw);max-width:96vw;height:92vh;max-height:94vh;padding:18px;overflow:auto}
.table-wrap,.board-wrap,.staff-calendar-scroll{overflow:auto;max-height:calc(100dvh - 250px)}
.list-table thead th,.board thead th{position:sticky;top:0;z-index:2}
.list-table :is(th,td):last-child{position:sticky;right:0;z-index:1;background:#fff}
.list-table thead th:last-child{z-index:3}
.list-table tbody tr:nth-child(odd) td:last-child{background:#f0f3f5}
.list-table tbody tr:hover td:last-child{background:#e5eaee}
#app .list-table td:last-child{background:var(--v2-panel)}
#app .list-table thead th:last-child,#app .list-table tbody tr:hover td:last-child{background:var(--v2-tint)}
.mpg-correction h2{margin-top:0}.mpg-correction>p{line-height:1.4}.mpg-correction>iframe{display:block;width:100%;height:calc(100% - 155px);min-height:320px;border:1px solid #ccc;margin-top:12px;background:white}
.mpg-correction::backdrop{background:rgba(0,0,0,.5)}
@media print{.mpg-issues,dialog.mpg-correction{display:none!important}}
.invoice-preview-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:8px 0 12px}
.invoice-preview-frame{display:block;width:100%;height:65vh;min-height:380px;border:1px solid #ccc;background:white}
