:root{--ink:#23332f;--muted:#81918a;--green:#21775c;--line:#e4ebe7;--bg:#f6f8f6;--red:#be5f53}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:14px 'Segoe UI',Arial,sans-serif;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;border-radius:8px;padding:9px 13px;color:var(--ink)}button:hover{background:#eef4f0}button:disabled{opacity:.5;cursor:wait}input,select,textarea{border:1px solid #dce5df;border-radius:7px;padding:10px;background:white;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #93bfa8;outline-offset:1px}.primary{background:var(--green);color:white;border-color:var(--green);font-weight:600}.primary:hover{background:#185e48}.quiet{border:0;background:transparent;color:var(--muted)}[hidden]{display:none!important}#app{display:flex;min-height:100vh}aside{width:230px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);padding:32px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{font-size:26px;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:4px}.brand>span{color:var(--green);margin-right:10px}.brand>b{font-size:24px;letter-spacing:-1px}.workspace{font-size:11px;color:var(--muted);line-height:1.9;padding:25px 8px 26px}.workspace strong{font-size:12px;color:#51625b;font-weight:500}nav{display:grid;gap:7px}nav button{text-align:left;border:0;color:#7a8a83;background:transparent;font-size:18px;display:flex;align-items:center;gap:13px;padding:13px 12px}nav button span{font-size:13px}nav button.active{color:var(--green);background:#eaf3ec;font-weight:600}.side-bottom{margin-top:auto;color:#76877e;font-size:12px}.team-note{border-bottom:1px solid var(--line);padding:20px 0;margin-bottom:20px;font-size:10px}.green-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6a9c78;margin-right:5px}#profile{line-height:1.8;color:var(--ink)}main{padding:32px 32px 20px;min-width:0;flex:1}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:20px}.eyebrow{font-size:10px;letter-spacing:1.5px;color:#8b9b92}h1{font-size:29px;letter-spacing:-.8px;margin:10px 0 7px;font-weight:650}header p{color:var(--muted);margin:0;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.stat{border:1px solid var(--line);background:white;border-radius:10px;padding:17px 19px}.stat-top{font-size:11px;color:#7d8d84;display:flex;justify-content:space-between}.stat strong{display:block;font-size:27px;font-weight:600;margin:9px 0 5px}.stat small{color:#91a096;font-size:10px}.stat.amber strong{color:#b08340}.stat.green strong{color:var(--green)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px}#week-tools{display:flex;gap:5px;align-items:center;white-space:nowrap}#week-label{font-size:13px;margin-left:12px;font-weight:600}.filters{display:flex;gap:8px}.filters input{width:240px;font-size:11px}.filters select{font-size:11px;max-width:150px}.board{display:grid;grid-template-columns:220px repeat(7,minmax(155px,1fr));gap:11px;min-height:410px;min-width:1400px}.board-wrap{overflow:auto;padding-bottom:12px}.column{background:#eef2ee;border:1px solid var(--line);border-radius:9px;min-height:400px;padding:10px}.column.queue{background:#f0eeea;border-color:#e7e3db}.column.today{background:#edf4ee;border-color:#b2d1ba}.column.weekend{background:#f2f3f1}.col-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:3px 2px;font-weight:600;font-size:12px}.col-head small{display:block;color:#91a097;font-size:10px;font-weight:400;margin-top:5px}.count{font-size:10px;background:#e0e7df;border-radius:5px;padding:3px 6px}.queue .count{background:#e6e0d6}.today .col-head{color:var(--green)}.column.dragover{outline:2px dashed var(--green);outline-offset:-3px}.card{background:white;border:1px solid #e2e8e1;border-radius:8px;padding:12px;margin-bottom:10px;cursor:pointer;box-shadow:0 2px 4px #28362d04;border-left:3px solid #75a58a}.card:hover{box-shadow:0 3px 10px #28362d13;transform:translateY(-1px)}.card.pending{border-left-color:#c67565}.card.in_transit{border-left-color:#74a5c6}.card.delivered{opacity:.75}.card-top{font-size:9px;display:flex;justify-content:space-between;color:#99a39c;margin-bottom:9px}.pill{font-size:9px;border-radius:5px;padding:3px 5px;background:#edf4ed;color:#5b836b}.pill.pending{color:#b26757;background:#fcf0eb}.pill.in_transit{background:#edf4f9;color:#5485a7}.pill.cancelled{background:#eee;color:#888}.card h3{font-size:12px;line-height:1.5;margin:0 0 5px;font-weight:600}.route{font-size:11px;margin:4px 0 8px;color:#5b6d61}.cargo{font-size:10px;color:#8d998f;line-height:1.6}.card-foot{border-top:1px solid #eff2ed;margin-top:11px;padding-top:8px;font-size:10px;color:#64786b;line-height:1.8}.card-foot span{display:block;color:#9ba79e;font-size:9px}.empty{font-size:11px;color:#a2aea3;text-align:center;padding:22px 5px;line-height:1.8}.column-add{border:1px dashed #cfd9cd;background:transparent;color:#899a87;font-size:11px;width:100%;margin-top:5px}.queue-action{font-size:11px;width:100%;margin-bottom:12px;background:#fffaf0;border-color:#dfd7be;color:#927136}.legend{display:flex;gap:18px;padding:16px 0;color:#89988d;font-size:10px}.legend i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;background:#76a688}.legend .red{background:#c67565}.legend .blue{background:#74a5c6}footer{display:flex;gap:18px;margin-top:22px;border-top:1px solid var(--line);padding-top:15px;color:#a3ada5;font-size:10px}footer #sync-time{margin-left:auto}.demo-banner{background:#fff7e9;color:#997843;border:1px solid #eee4cd;padding:9px 13px;border-radius:7px;font-size:11px;margin-bottom:16px}.panel{background:white;border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:16px}.panel h2{font-size:18px;margin:0 0 14px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}th{color:#89988f;font-weight:500;font-size:11px;padding:12px;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid #eff2ee}tbody tr[data-order]{cursor:pointer}tbody tr[data-order]:hover{background:#f5f9f5}.muted{color:var(--muted);font-size:12px;line-height:1.7}.error{color:var(--red);font-size:12px}.chart-row{display:grid;grid-template-columns:130px 1fr 60px;gap:15px;align-items:center;margin:15px 0;font-size:12px}.bar{height:12px;background:#edf2ed;border-radius:4px;overflow:hidden}.bar-fill{height:100%;background:#75a587}dialog{border:1px solid var(--line);border-radius:14px;width:640px;max-width:94vw;max-height:90vh;padding:26px;box-shadow:0 15px 80px #17352330}dialog::backdrop{background:#1c322c65;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px}.modal-head h2{margin:0;font-size:21px}.modal-head p{margin:8px 0;color:var(--muted);font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:grid;gap:6px;font-size:11px;color:#6e8074}.wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;border-top:1px solid var(--line);padding-top:17px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:22px}.detail-grid div{font-size:13px;line-height:1.7}.detail-grid small{display:block;color:var(--muted);font-size:11px}.action-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.danger{color:var(--red)}.note{font-size:12px;background:#f4f7f3;border-radius:6px;padding:12px;line-height:1.7}.preview-item{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.8}#toast{position:fixed;bottom:24px;right:24px;max-width:440px;background:#244837;color:white;padding:15px 20px;border-radius:9px;z-index:5;box-shadow:0 5px 20px #0002}.login-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 25% 20%,#e3eee0,transparent 50%)}.login-card{width:370px;background:white;padding:36px;border:1px solid var(--line);border-radius:14px;box-shadow:0 15px 65px #2545340a}.login-card .logo{font-size:40px;color:var(--green)}.login-card h1{margin-top:8px}.login-card p{color:var(--muted);font-size:12px}.login-card label{margin:20px 0}.login-card .primary{width:100%}.login-card .error{color:var(--red)}.resource-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:16px}.resource-grid .panel{min-width:0}.helper{font-size:10px;color:var(--muted);line-height:1.6}.progress-line{border-left:2px solid #d9e5d9;padding:5px 15px;margin:10px 0;font-size:12px;line-height:1.8}.progress-line small{color:var(--muted)}@media(min-width:1800px){.board{min-width:0;grid-template-columns:230px repeat(7,minmax(145px,1fr))}}@media(max-width:1000px){aside{width:185px;padding:25px 12px}main{padding:25px 18px}.toolbar{align-items:flex-start;flex-direction:column}.filters input{width:220px}.stats{gap:8px}.stat{padding:12px}.resource-grid{grid-template-columns:1fr}}@media(max-width:640px){#app{display:block}aside{position:static;width:100%;height:auto;padding:14px}.workspace,.side-bottom{display:none}nav{display:flex;overflow:auto;margin-top:12px}nav button{padding:9px;white-space:nowrap}nav button span{font-size:11px}.brand{font-size:20px}header{align-items:flex-start}h1{font-size:24px}header p{font-size:11px}header .primary{font-size:11px}.stats{grid-template-columns:repeat(2,1fr)}.filters{width:100%;flex-wrap:wrap}.filters input{flex:1;width:180px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.detail-grid{grid-template-columns:1fr}footer span:nth-child(2){display:none}}
.board{height:calc(100vh - 430px);min-height:420px}.column{min-height:0;overflow-y:auto}.column .col-head{position:sticky;top:0;background:inherit;z-index:1}.board .queue .col-head{background:#f0eeea}.board .today .col-head{background:#edf4ee}@media(max-width:640px){.board{height:560px}}
.check-label{display:flex;align-items:center;gap:8px;font-size:12px}.check-label input{accent-color:#21775c;width:16px;height:16px;padding:0}.permissions-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.setup-steps{padding-left:20px;font-size:12px;line-height:1.8;color:#667b6d}.login-card #totp-secret{font-family:monospace;font-size:13px}.recovery-codes{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f2f6f1;border-radius:8px;padding:20px}.recovery-codes code{font-size:13px}.resource-admin-list{margin-top:18px;border-top:1px solid #e4ebe7}.resource-admin-list>div{display:flex;align-items:center;gap:7px;padding:9px 0;font-size:11px}.resource-admin-list span{flex:1}.resource-admin-list button{font-size:11px;padding:6px}@media(max-width:640px){.permissions-grid{grid-template-columns:1fr}}
/* Calendar period and brand */
.brand{gap:10px}.brand img{flex:none}.login-card img.logo{display:block;width:56px;height:56px;margin-bottom:14px}
.period-switch{display:flex;border:1px solid var(--line);border-radius:8px;padding:3px;margin-right:12px;background:#fff}.period-switch button{border:0;background:transparent;font-size:12px;padding:7px 12px}.period-switch button.active{background:#eaf3ec;color:var(--green);font-weight:600}
#week-tools{flex-wrap:wrap}#week-label::first-letter{text-transform:uppercase}
.month-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;align-items:start}.month-layout>.queue{max-height:850px;overflow:auto}.month-scroll{overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}.month-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:740px}.month-weekday{padding:13px 10px;background:#f3f6f1;text-align:center;font-size:12px;color:#66796b;border-bottom:1px solid var(--line)}.month-day{min-height:155px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-width:0}.month-day:nth-child(7n){border-right:0}.month-day.weekend{background:#f6f7f4}.month-day.outside{background:#eef1eb;color:#859083}.month-day.today{background:#edf6ec;box-shadow:inset 0 0 0 2px #7ba985}.month-day.dragover{outline:2px dashed var(--green);outline-offset:-3px}.month-day-head{display:flex;align-items:center;gap:5px;min-height:28px;margin-bottom:7px;font-size:12px}.month-day-head time{font-weight:600}.month-day-head button{margin-left:auto;border:0;background:transparent;padding:3px 6px;color:#6a826c}.month-deliveries{max-height:220px;overflow:auto}.month-card{padding:8px;margin-bottom:6px;border-radius:6px}.month-card strong,.month-card span,.month-card small{display:block;overflow-wrap:anywhere;line-height:1.4}.month-card strong{font-size:11px;font-weight:600}.month-card span{font-size:10px;color:#657465;margin-top:3px}.month-card small{font-size:9px;color:#8a9588;margin-top:4px}.legend{flex-wrap:wrap}
@media(max-width:1100px){.month-layout{grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:640px){.month-layout{grid-template-columns:1fr}.month-layout>.queue{max-height:290px}.month-day{min-height:135px}.period-switch{margin-right:0}#week-label{width:100%;margin:8px 0}.month-board{min-width:700px}}
 .intake-page{max-width:840px;margin:0 auto;padding:32px 18px}.intake-page>.brand{margin-bottom:24px}.intake-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.guest-tag{display:inline-block;margin-top:5px;font-size:10px;color:#9b6749}.intake-link{display:block;text-align:center;margin-top:18px;color:var(--green);font-size:12px}.intake-page .panel{padding:28px}.intake-page a{color:var(--green)}
/* Dense dispatch cards for desktop planning */
.compact-card{padding:8px 9px;margin-bottom:7px;box-shadow:none;border-radius:6px}.compact-card .card-top{margin-bottom:4px;gap:4px;align-items:center;font-size:10px;white-space:nowrap}.compact-card .card-top>b{color:#6a7970;font-weight:500}.compact-card .pill{margin-left:auto;max-width:85px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 4px}.needs-info{color:#a26828;background:#fff3da;border-radius:4px;font-size:9px;padding:2px 4px}.compact-card h3{font-size:12px;line-height:16px;margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-line{font-size:10px;line-height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.compact-card .route{font-size:11px;line-height:16px;margin:0;color:#485d50}.compact-card .cargo{font-size:10px;line-height:15px;margin:0;color:#718074}.compact-card .documents{color:#5e7165;font-size:10px}.compact-card .transport{color:#415c4b;font-size:10px}.card-bottom{display:flex;justify-content:space-between;gap:6px;margin-top:4px;padding-top:4px;border-top:1px solid #eef1ec;font-size:9px;line-height:13px;color:#7a887d}.card-bottom>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.card-bottom time{white-space:nowrap;flex-shrink:0}.compact-card.month-card{padding:6px 7px;margin-bottom:5px}.month-card .card-top{font-size:9px;flex-wrap:wrap}.month-card .pill{max-width:76px;font-size:8px}.month-card h3{font-size:11px;line-height:14px}.month-card .compact-line{font-size:9px;line-height:13px}.month-card .route{font-size:10px}.month-card .card-bottom{display:block;font-size:9px;line-height:12px}.month-card .card-bottom>span{display:inline}.month-card .card-bottom time{float:right}.order-extra{margin:18px 0 14px;border:1px solid var(--line);border-radius:8px;padding:12px}.order-extra summary{cursor:pointer;color:#496d57;font-size:12px}.order-extra[open] summary{margin-bottom:14px}.compact-card [title]{cursor:inherit}
@media(min-width:1440px){aside{width:210px;padding:25px 18px}main{padding:24px 26px 16px}header{margin-bottom:16px}h1{font-size:27px;margin-top:7px}.stats{margin-bottom:18px;gap:12px}.stat{padding:12px 16px}.stat strong{font-size:24px;margin:7px 0 3px}.toolbar{margin-bottom:14px}.board{height:calc(100vh - 340px);min-height:400px;grid-template-columns:220px repeat(7,minmax(160px,1fr))}.col-head{margin-bottom:10px}.column{padding:8px}.month-layout{grid-template-columns:220px minmax(0,1fr)}.month-layout>.queue{max-height:calc(100vh - 320px)}.month-day{min-height:155px;padding:6px}.month-deliveries{max-height:280px}}
@media(min-width:2200px){.board{grid-template-columns:245px repeat(7,minmax(180px,1fr))}.month-layout{grid-template-columns:245px minmax(0,1fr)}.compact-card .compact-line{font-size:11px}.compact-card h3{font-size:13px}.compact-card.month-card .compact-line{font-size:10px}}
.header-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.header-actions .intake-link{margin:0;font-size:11px;white-space:nowrap}.month-card .compact-line{font-size:10px;line-height:14px}.month-card .route{font-size:11px;line-height:15px}.month-card .documents{font-size:10px}.month-card .card-bottom{font-size:9px;line-height:13px}
@media(max-width:640px){.header-actions{align-items:flex-end;flex-direction:column;gap:6px}}
@media(min-width:1440px){.month-scroll{max-height:calc(100vh - 315px)}.month-weekday{position:sticky;top:0;z-index:1}}
.delivery-time{color:#286346;font-size:inherit;margin-right:3px;font-variant-numeric:tabular-nums}
/* Phone-friendly public intake */
.intake-page #intake-form>.form-grid{margin-bottom:16px}.intake-datetime{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.intake-section{border:1px solid var(--line);border-radius:9px;margin:10px 0;padding:0 14px}.intake-section summary{cursor:pointer;font-size:13px;font-weight:500;padding:16px 0;min-height:48px}.intake-section summary span{float:right;font-size:10px;font-weight:400;color:var(--muted);margin-top:2px}.intake-section .form-grid{padding:4px 0 16px}.intake-submit{display:grid;gap:9px;justify-content:stretch}.intake-submit button{width:100%;min-height:48px;font-size:15px}.intake-submit small{color:var(--muted);font-size:11px;text-align:center}.intake-signin{text-align:center}.intake-page #another-request,.intake-page #intake-retry{min-height:48px;width:100%}.intake-page input,.intake-page textarea,.intake-page select{font-size:16px;min-height:48px}.intake-page label{font-size:12px}.intake-page input[type=date],.intake-page input[type=time]{width:100%;max-width:100%;min-width:0}.intake-page #intake-number{font-size:20px;font-weight:600;color:var(--green)}
@media(max-width:640px){.intake-page{padding:18px 12px 0;max-width:100%}.intake-page>.brand{margin-bottom:16px}.intake-page .panel{padding:18px 16px;margin-bottom:12px}.intake-page h1{font-size:24px;margin:0 0 8px}.intake-page .muted{font-size:12px;margin:0 0 18px}.intake-page #intake-form>.form-grid{gap:12px}.intake-datetime{gap:10px;margin-bottom:14px}.intake-section{padding:0 11px}.intake-section summary{font-size:12px}.intake-section summary span{font-size:9px}.intake-submit{position:sticky;bottom:0;background:#fff;margin:14px -16px -18px;padding:12px 16px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--line);z-index:1;border-radius:0 0 10px 10px}.intake-page .intake-signin{margin:18px 0;font-size:12px}}
.unloading-line{color:#805516;font-weight:600}.unloading-section{margin:14px 0;border:1px solid var(--line);border-radius:8px;padding:12px}.unloading-section summary{cursor:pointer;font-size:13px;font-weight:600}.unloading-section .form-grid{margin-top:14px}.unloading-detail .wide{grid-column:1/-1;white-space:pre-wrap}
.contact-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 7px;margin:4px 0}.compact-card .card-heading h3{flex:1 1 85px;min-width:0;margin:0}.card-assignment{display:flex;align-items:baseline;gap:6px;max-width:100%;font-size:12px;font-weight:700}.card-plate{color:#245438;white-space:nowrap}.card-driver{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px;color:#23352a}@media(max-width:640px){.contact-pair{grid-template-columns:1fr}}
.trip-kind{font-weight:600;color:#36694b}.trip-kind.pickup{color:#8c5818}
.date-entry{display:flex;gap:6px;align-items:center;min-width:0}.date-entry>input[data-date-entry]{flex:1;min-width:0;width:100%}.date-entry>.date-picker{flex:none;width:42px;min-width:42px;padding:8px;color:transparent;cursor:pointer}.date-picker::-webkit-datetime-edit{display:none}.date-picker::-webkit-calendar-picker-indicator{margin:0;padding:4px;cursor:pointer}.intake-page .date-entry>.date-picker{width:48px;min-width:48px}
@media(max-width:640px){.intake-datetime{grid-template-columns:1fr}}
.archive-filters{display:flex;gap:12px;margin:16px 0}.archive-filters input{flex:1;min-width:0}.archive-filters select{max-width:260px}.archive-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:640px){.archive-filters{flex-direction:column}.archive-filters select{max-width:100%}}
.card.compact-card.manager-ready{position:relative;background:#e9f6ee;border-left-color:#238252}.card.compact-card .ready-flag{position:absolute;top:-5px;right:-4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#238252;border:2px solid white;border-radius:50%;color:white;font-size:13px;line-height:1;z-index:1}.readiness-note{padding:10px 12px;border-radius:7px;background:#f1f3f0;color:#627066;font-size:13px}.readiness-note.is-ready{background:#e9f6ee;color:#216b44;font-weight:600}.readiness-note small{display:block;margin-top:5px;font-size:11px;font-weight:400}

/* Dense cards for assigned calendar trips; queue keeps its full summary. */
.card.compact-card.scheduled-card{padding:5px 7px;margin-bottom:5px}
.scheduled-card .card-top{margin:0 0 2px;line-height:12px;font-size:9px;flex-wrap:nowrap}
.scheduled-card .card-top .pill{font-size:8px;line-height:10px;padding:1px 3px}
.scheduled-card .card-heading{display:block;margin:0 0 2px}
.card.scheduled-card .card-heading h3{font-size:12px;line-height:14px;margin:0;font-weight:700}
.scheduled-card .card-assignment{font-size:11px;line-height:14px;gap:6px;overflow:hidden}
.scheduled-card .card-driver{max-width:none;min-width:0}
.card.scheduled-card .compact-line{font-size:10px;line-height:13px;margin:0}
.card.scheduled-card .transport,.card.scheduled-card .card-bottom{display:none}
.card.scheduled-card.month-card{padding:4px 6px;margin-bottom:4px}
.card.scheduled-card.month-card .card-heading h3{font-size:11px;line-height:13px}
.scheduled-card.month-card .card-assignment{font-size:10px;line-height:13px}
.card.scheduled-card.month-card .compact-line{font-size:10px;line-height:12px}
.date-entry{position:relative}
.date-entry>.date-picker{position:absolute;right:0;bottom:0;opacity:0;width:1px;min-width:0;height:1px;padding:0;border:0;pointer-events:none}
.date-entry>.date-picker-button{display:flex;align-items:center;justify-content:center;flex:none;width:42px;min-width:42px;min-height:42px;padding:0;cursor:pointer;color:#496d57}
.date-picker-button svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;pointer-events:none}
.date-picker-button:focus-visible{outline:2px solid #21775c;outline-offset:2px}
.intake-page .date-entry>.date-picker-button{width:48px;min-width:48px;min-height:48px}
.date-native-fallback>.date-picker{top:0;bottom:0;width:42px;height:100%;pointer-events:auto;z-index:1;cursor:pointer}
.date-native-fallback>.date-picker::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0}

.intake-page .date-entry>.date-picker{width:1px;min-width:0}
.intake-page .date-native-fallback>.date-picker{width:48px}

/* Keep the queue readable while reducing excess space. */
.queue .card.compact-card{padding:6px 8px;margin-bottom:6px}
.queue .compact-card .card-top{margin-bottom:2px}
.queue .compact-card .card-heading{margin:2px 0}
.queue .compact-card .compact-line{line-height:14px}
.queue .compact-card .card-bottom{margin-top:3px;padding-top:3px;line-height:12px}

nav [data-plan-region] span{white-space:normal;line-height:1.35}
@media(max-width:640px){nav [data-plan-region] span{white-space:nowrap}}

.load-tools{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.load-scroll{overflow:auto;max-height:70vh;border:1px solid var(--line);border-radius:8px;background:white}.load-table{border-collapse:separate;border-spacing:0}.load-table th,.load-table td{vertical-align:top;padding:8px;min-width:145px;border-right:1px solid var(--line);white-space:normal}.load-table th:first-child{position:sticky;left:0;background:#f5f7f3;z-index:2;min-width:190px;max-width:240px}.load-table thead th{position:sticky;top:0;background:#f5f7f3;z-index:3}.load-table thead th:first-child{z-index:4}.load-table small{display:block;font-size:10px;color:#738578;margin-top:4px}.load-free{background:#fbfdfb}.load-busy{background:#ecf5ed}.load-conflict{background:#fff0e5}.load-warning{display:block;font-size:10px;color:#a85226;margin-bottom:5px}.load-trip{display:block;width:100%;text-align:left;font-size:11px;padding:6px;margin-bottom:5px;background:white}.load-trip.delivered{opacity:.55}.load-today{box-shadow:inset 0 0 0 1px #7ba985}.load-empty{font-size:11px;color:#92a094}.inbox-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px;border-bottom:1px solid var(--line)}.inbox-item.unread{background:#edf6ef;border-left:3px solid #288458}.inbox-item p{margin:5px 0;font-size:12px}.inbox-item small{color:#829087;font-size:11px}#notification-count{display:inline-block;border-radius:10px;background:#257553;color:white;font-size:10px;padding:2px 5px}#notification-count[hidden]{display:none}.sheet-open{padding:10px;color:#257553}.load-trip:focus-visible{outline:2px solid #21775c}

#mobile-menu{display:none}
.install-entry-link{display:block;text-align:center;padding:12px 0;color:var(--green);font-size:13px}.mobile-install-link{display:none}.install-browser-note{background:#f1f5ef;padding:14px;border-radius:8px;font-size:13px;line-height:1.6}.install-page>h1{margin:18px 0}.install-page .brand{padding-right:0}.install-page .application-panel{margin-top:18px}.install-page .install-instructions a{color:var(--green)}
@media(max-width:900px){.mobile-install-link{display:inline-flex;color:var(--green);font-size:13px;align-items:center;min-height:44px}}
:root{--drive-checker:conic-gradient(from 90deg,rgba(40,99,70,.025) 25%,transparent 0 50%,rgba(40,99,70,.025) 0 75%,transparent 0)}
#app>aside{background-image:var(--drive-checker);background-size:24px 24px}
#app main>header>div:first-child{background-image:linear-gradient(to right,transparent,rgba(246,248,246,.8) 65%,#f6f8f6),var(--drive-checker);background-size:100% 100%,24px 24px;border-radius:8px}
#app .panel-head{background-image:linear-gradient(to right,transparent,rgba(255,255,255,.8) 65%,#fff),var(--drive-checker);background-size:100% 100%,24px 24px;border-radius:6px}
#app .col-head{background-image:var(--drive-checker);background-size:20px 20px;border-radius:4px}
.company-layout{display:grid;grid-template-columns:minmax(230px,.65fr) minmax(0,1.6fr);gap:20px;align-items:start}.company-layout .panel{min-width:0}.company-layout #company-search{width:100%}.company-pick{display:block;width:100%;text-align:left;margin-top:8px;overflow-wrap:anywhere}.company-pick.active{background:#eaf3ec;color:var(--green)}.company-pick small{display:block;color:var(--muted);margin-top:5px}.company-address{border-top:1px solid var(--line);padding:16px 0;margin-top:16px}.company-address p{line-height:1.5;margin:5px 0}.company-contact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.company-contact p{margin:5px 0;color:var(--muted)}.remember-company{display:flex;align-items:center;gap:9px;margin:14px 0;font-size:12px;color:#617467}.remember-company input{width:16px;height:16px;flex:none}.company-layout .action-row{flex-wrap:wrap}
@media(max-width:900px){.company-layout{grid-template-columns:1fr}.company-layout .panel-head{flex-wrap:wrap;gap:10px}.company-contact{align-items:flex-start}.remember-company{font-size:13px;line-height:1.5}}
.calculator-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:20px;align-items:start}.calculator-layout .panel{min-width:0}.calculator-return{display:flex;align-items:center;gap:10px;margin:18px 0}.calculator-return input{width:18px;height:18px}.calculator-tariffs{border-top:1px solid var(--line);margin:16px 0;padding-top:16px}.calculator-tariffs summary{cursor:pointer;font-weight:600;margin-bottom:16px}.estimate-total{display:block;font-size:32px;color:var(--green);margin:14px 0 22px}.estimate-lines{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:13px}.estimate-lines dd{margin:0;text-align:right;font-weight:600}.estimate-lines dt{min-width:0}.calculator-layout .action-row{flex-wrap:wrap}.calculator-layout .helper{line-height:1.6}
@media(max-width:1000px){.calculator-layout{grid-template-columns:1fr}.calculator-layout #calculator-result{order:-1}}
aside{overflow-y:auto}
.application-panel{max-width:900px;line-height:1.65}
.application-panel>img{border-radius:18px}
.install-instructions{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.install-instructions section{background:#f5f8f5;border-radius:12px;padding:16px 20px}
.install-instructions h3{margin-top:0}.install-instructions ol{padding-left:22px}.install-instructions li{margin-bottom:12px}
@media(max-width:640px){
 body{overflow-wrap:anywhere}#app{display:block}aside{position:relative;width:100%;height:auto;padding:14px 16px;padding-top:max(14px,env(safe-area-inset-top));overflow:visible}
 #mobile-menu{display:block;position:absolute;right:16px;top:max(14px,env(safe-area-inset-top));min-height:44px}
 aside .brand{min-height:44px;padding-right:110px}aside nav{display:none;overflow:visible;white-space:normal}
 .mobile-menu-open aside nav{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:14px}
 aside nav button{min-height:48px;padding:10px;gap:7px;white-space:normal}aside nav button span,nav [data-plan-region] span{white-space:normal;font-size:13px}
 .mobile-menu-open aside .side-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.side-bottom .team-note{display:none}
 #app main{padding:18px 12px max(18px,env(safe-area-inset-bottom))}header{align-items:stretch;flex-direction:column;gap:14px}header h1{font-size:25px}header p{font-size:13px;line-height:1.5}
 .header-actions{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.header-actions button{min-height:48px}.header-actions a{padding:10px 0}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;min-height:48px}button{min-height:44px}.filters{flex-wrap:wrap}.filters input{width:100%;flex:1 1 100%}.filters select{max-width:none;flex:1}
 .login-card{width:min(370px,100%);padding:24px}.login-screen{padding:20px}
 dialog{width:calc(100% - 16px);max-width:none;max-height:calc(100dvh - 24px);padding:18px}.form-grid{gap:12px}.form-grid label{font-size:13px}.action-row{gap:8px;flex-wrap:wrap}
 .date-entry>.date-picker{min-height:0;height:1px;width:1px}.date-entry>.date-picker-button{width:48px;min-width:48px;min-height:48px}.date-native-fallback>.date-picker{width:48px;height:100%}
 .board{grid-template-columns:repeat(8,calc(100vw - 48px));min-width:0;width:max-content;gap:12px;height:auto}.board-wrap{scroll-snap-type:x proximity}.board .column{scroll-snap-align:start;max-height:65vh;min-height:300px}
 .card.scheduled-card .compact-line{font-size:12px;line-height:16px}.card.scheduled-card .card-heading h3{font-size:13px}.scheduled-card .card-assignment{font-size:12px}
 .month-board{min-width:1050px}.month-day-head button{min-width:36px;min-height:36px}.month-card button{min-height:0}
 .load-table th:first-child{min-width:130px;max-width:150px}.load-table th,.load-table td{min-width:135px}.load-trip{font-size:12px}.inbox-item{align-items:flex-start;flex-direction:column}
 .install-instructions{grid-template-columns:1fr;gap:12px}.application-panel{padding:18px}.application-panel button{width:100%}footer{flex-wrap:wrap;gap:8px}
}


#app[data-current-view=calendar] main>header{margin-bottom:10px;gap:12px}
#app[data-current-view=calendar] main>header h1{font-size:24px;margin:4px 0;line-height:1.2}
#app[data-current-view=calendar] .stats{gap:10px;margin-bottom:10px}
#app[data-current-view=calendar] .stat{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px}
#app[data-current-view=calendar] .stat-top{line-height:1.3}
#app[data-current-view=calendar] .stat strong{font-size:21px;margin:0;white-space:nowrap}
#app[data-current-view=calendar] .stat small{display:none}
#app[data-current-view=calendar] .toolbar{margin-bottom:10px;gap:8px}
@media(min-width:901px){
 #app[data-current-view=calendar] main{padding-top:16px}
 #app[data-current-view=calendar] .toolbar button{padding:6px 10px;min-height:32px}
 #app[data-current-view=calendar] .toolbar input,#app[data-current-view=calendar] .toolbar select{padding:7px 9px;height:32px}
 #app[data-current-view=calendar] #week-label{margin-left:8px}
}
@media(max-width:900px){
 #app[data-current-view=calendar] .stat{padding:7px 10px;gap:6px}
 #app[data-current-view=calendar] .stat strong{font-size:19px}
}
@media(max-width:640px){
 #app[data-current-view=calendar] main{padding-top:12px}
 #app[data-current-view=calendar] main>header{gap:8px}
 #app[data-current-view=calendar] .stats{gap:6px}
}

.login-screen{display:flex;flex-direction:column;align-items:stretch;min-height:100vh;min-height:100dvh;padding:0;background:#f6f8f6}
.login-screen>.login-card{margin:auto}
.login-layout{display:grid;grid-template-columns:48% 52%;flex:1;min-height:calc(100vh - 56px);min-height:calc(100dvh - 56px)}
.login-intro{display:flex;flex-direction:column;justify-content:space-between;padding:48px 52px;color:#edf5ed;background-color:#163b2e;background-image:linear-gradient(150deg,rgba(47,94,69,.25),rgba(5,22,18,.4)),conic-gradient(from 90deg,rgba(216,244,219,.018) 25%,transparent 0 50%,rgba(216,244,219,.018) 0 75%,transparent 0);background-size:100% 100%,28px 28px}
.login-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:#fff;align-self:flex-start}
.login-brand b{display:block;font-size:27px;letter-spacing:-.7px}.login-brand small{display:block;font-size:11px;color:#bbd0c3;margin-top:3px}
.login-message{padding:60px 0}.login-kicker{font-size:10px;font-weight:650;letter-spacing:1.2px;line-height:1.5}
.login-message h2{font-size:clamp(38px,4vw,66px);line-height:1.12;letter-spacing:-1.8px;margin:20px 0}.login-message h2 span{color:#c5e0ac}.login-message>p:last-child{font-size:14px;line-height:1.8;color:#bdd1c5}
.login-topics{display:flex;flex-wrap:wrap;gap:18px;border-top:1px solid #ffffff14;padding-top:18px;font-size:11px;color:#aec7b8}
.login-form-area{display:flex;align-items:center;justify-content:center;padding:40px 28px;background-image:radial-gradient(ellipse at 65% 30%,#ffffff,transparent 70%)}
.login-form-area .login-card{width:390px;max-width:100%;padding:32px;border-radius:14px;box-shadow:0 12px 40px #1e493208}
.login-form-area .login-kicker{color:var(--green);margin:0 0 10px;font-size:10px}
.login-form-area h1{font-size:25px;letter-spacing:-.6px;margin:0 0 8px}
.login-form-area .login-card label{margin:17px 0;font-size:12px;line-height:1.4;font-weight:500}
.login-form-area .login-card input{font-size:14px;min-height:44px;padding:10px 12px}
.login-form-area .login-card .primary{min-height:44px}
.login-links{display:grid;gap:10px;margin-top:20px;text-align:center;font-size:12px}.login-links .intake-link,.login-links .install-entry-link{display:block;margin:0;font-size:12px;padding:0;color:var(--green);line-height:1.5}
.login-contact{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 18px;min-height:56px;padding:14px 20px;margin:0;color:#71857a;font-size:11px;background:#fff;border-top:1px solid var(--line)}
.login-contact b{color:#355b48;font-weight:600}.login-contact a{color:var(--green);text-underline-offset:3px}.login-contact a:focus-visible,.login-brand:focus-visible{outline:2px solid #93bfa8;outline-offset:4px}
@media(max-width:1000px){.login-intro{padding:36px 28px}.login-form-area{padding:30px 20px}}
@media(max-width:700px){
 .login-layout{display:flex;flex-direction:column;min-height:0}
 .login-intro{padding:20px 24px;padding-top:max(20px,env(safe-area-inset-top))}.login-brand img{width:38px;height:38px}.login-brand b{font-size:24px}
 .login-message{padding:18px 0 0}.login-message .login-kicker,.login-topics{display:none}.login-message h2{font-size:30px;letter-spacing:-.8px;margin:0 0 8px}.login-message h2 br{display:none}.login-message h2 span{margin-left:6px}.login-message>p:last-child{font-size:12px;line-height:1.6;margin:0}.login-message>p:last-child br{display:none}
 .login-form-area{padding:20px 16px;flex:1}.login-form-area .login-card{padding:24px;box-shadow:none}.login-form-area .login-card input{font-size:16px;min-height:48px}.login-form-area .login-card .primary{min-height:48px}.login-form-area .login-card label{margin:16px 0}
 .login-links a{min-height:32px;display:flex!important;align-items:center;justify-content:center}.login-contact{font-size:12px;gap:8px 14px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.login-contact>span{flex-basis:100%;text-align:center}
}

.portal-footer{align-items:center;flex-wrap:wrap;gap:8px 16px}.portal-footer a{color:var(--green);text-underline-offset:3px}.portal-footer b{font-weight:600}.portal-footer .quiet{font-size:11px;padding:4px 0;color:var(--green)}
.feedback-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:20px;align-items:start}.feedback-layout .panel{min-width:0}.feedback-layout form>label,#broadcast-form>label{margin:14px 0}.feedback-layout textarea,#broadcast-form textarea{width:100%;resize:vertical}.feedback-item{padding:18px 0;border-top:1px solid var(--line)}.feedback-item small,.broadcast-history small{color:var(--muted);font-size:11px}.feedback-item .panel-head{gap:10px;align-items:flex-start}.feedback-item label{max-width:220px}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:13px}.portal-messages .inbox-item>div{min-width:0}.broadcast-history{padding:14px 0;border-top:1px solid var(--line)}.broadcast-history small{display:block;margin-top:6px}
#announcement-dialog{width:560px}#announcement-dialog h2{font-size:24px;margin:14px 0}#announcement-dialog .login-kicker{color:var(--green)}#announcement-dialog::backdrop{background:#15382e85}
@media(max-width:900px){.feedback-layout{grid-template-columns:1fr}.portal-messages .panel-head{flex-wrap:wrap;gap:12px}.feedback-item .panel-head{flex-wrap:wrap}.portal-footer #sync-time{margin-left:0}.portal-footer>span:first-child{flex-basis:100%;line-height:1.7}}

.calculator-tabs{margin-bottom:18px;width:max-content;max-width:100%;flex-wrap:wrap}.fuel-mode-switch{margin-bottom:14px;width:max-content;max-width:100%;flex-wrap:wrap}#fuel-defaults-form>label{margin:16px 0}.fuel-layout .estimate-lines{align-items:start}
@media(max-width:640px){.calculator-tabs{width:100%;display:flex}.calculator-tabs button{flex:1}.fuel-layout .estimate-total{font-size:28px}.fuel-layout .estimate-lines{font-size:12px;gap:12px 8px}}

/* Familiar compact layout, clearer contrast and consistent controls. */
:root{
 --ink:#21362d;
 --muted:#66796e;
 --green:#21775c;
 --line:#dce6df;
 --bg:#f4f7f5;
 --red:#ac493e;
 --focus:#238266;
}
body{line-height:1.4}
button{line-height:1.3;transition:background-color .15s,border-color .15s,box-shadow .15s}
button:hover:not(:disabled){background:#edf4ef;border-color:#b9cec0}
button.primary{box-shadow:0 2px 3px #173b2b0c}
button.primary:hover:not(:disabled){background:#185e48;border-color:#185e48}
button.danger:hover:not(:disabled){background:#fff1ee;border-color:#e5beb8}
button:disabled{opacity:.6;cursor:not-allowed}
button:focus-visible,a:focus-visible,summary:focus-visible,tr[tabindex]:focus-visible{
 outline:2px solid var(--focus);outline-offset:3px;
}
input,select,textarea{border-color:#cddbd2;transition:border-color .15s,box-shadow .15s}
input::placeholder,textarea::placeholder{color:#78877e;opacity:1}
input:focus,select:focus,textarea:focus{
 border-color:var(--focus);outline:2px solid #23826666;outline-offset:1px;box-shadow:0 0 0 4px #2382660a;
}
input:disabled,select:disabled,textarea:disabled{background:#f0f4f1;color:#6a7c70;opacity:1}
input[readonly],textarea[readonly]{background:#f6f8f6}
input[type=checkbox],input[type=radio]{accent-color:var(--green)}
textarea{line-height:1.6;resize:vertical}
label{font-size:12px;color:#496253;line-height:1.45}
.helper{font-size:11px;color:#66796e}
.quiet{color:#61766a}
.muted{color:var(--muted)}
.error{line-height:1.6}

/* The menu keeps its order; account controls stay within the screen. */
@media(min-width:641px){
 #app>aside{height:100vh;height:100dvh;overflow:hidden;padding:10px 8px 8px}
 aside>.brand,aside>.workspace,aside>.side-bottom{flex-shrink:0}
 #app>aside .brand{gap:6px;min-height:32px;line-height:1.2}
 #app>aside .brand img{width:32px;height:32px}
 #app>aside .brand b{font-size:22px}
 aside .workspace{padding:6px 4px 8px;font-size:10px;line-height:15px}
 aside .workspace strong{font-size:11px;line-height:15px}
 aside nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;grid-auto-rows:max-content;gap:1px;padding:1px 3px 1px 0;overscroll-behavior:contain}
 aside nav button{padding:4px 6px;min-height:28px;border:1px solid transparent;border-radius:5px;gap:6px;font-size:16px;line-height:16px;color:#5c7366}
 aside nav button span{font-size:12px;min-width:0;line-height:16px}
 #app>aside nav #attention-count,#app>aside nav #notification-count{font-size:10px;line-height:13px;padding:1px 4px;margin-left:3px}
 aside nav button.active{border-color:#cde1d4;background:#e7f2eb;color:#1b6548;box-shadow:inset 3px 0 #277a58}
 aside nav button:hover:not(:disabled){border-color:#d5e2d9}
 aside .side-bottom{margin-top:6px;padding:6px 4px 0;border-top:1px solid var(--line)}
 aside .team-note{padding:0;margin-bottom:3px;border-bottom:0;color:#667f6d;font-size:9px;line-height:14px}
 aside #profile{font-size:11px;line-height:15px}
 aside #logout{margin-top:2px;padding:4px 0;min-height:26px;font-size:11px;line-height:16px;color:#496253;text-align:left}
}
aside nav::-webkit-scrollbar,.column::-webkit-scrollbar,.table-wrap::-webkit-scrollbar,.month-scroll::-webkit-scrollbar{width:7px;height:7px}
aside nav::-webkit-scrollbar-thumb,.column::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb,.month-scroll::-webkit-scrollbar-thumb{background:#bdcec2;border:2px solid transparent;background-clip:padding-box;border-radius:8px}
aside nav::-webkit-scrollbar-track,.column::-webkit-scrollbar-track{background:transparent}
aside nav{scrollbar-width:thin;scrollbar-color:#bdcec2 transparent}
#app main>header>div:first-child{background-image:none}
.eyebrow{color:#627e6d;font-weight:600;letter-spacing:1.2px}
#app header p{color:#61776a;line-height:1.5}
.header-actions .intake-link{color:#4e715e;text-underline-offset:3px}
.header-actions .primary{border-radius:9px}
#app main{padding:20px 24px 14px}
#app main>header{margin-bottom:12px;gap:12px}
#app main>header h1{font-size:26px;margin:5px 0 4px;line-height:1.2}
#app[data-current-view=calendar] main>header h1{font-size:24px}

/* Calm surfaces for the same statistics, search and filter controls. */
.stats{gap:8px;margin-bottom:12px}
.stat{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 11px;border-color:var(--line);box-shadow:0 2px 5px #1d3c2a03}
.stat-top{color:#637b6b;font-size:11px;line-height:1.3}
.stat small{display:none}
.stat strong{font-size:20px;margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.stat.amber strong{color:#98682d}
#app .toolbar{padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;flex-wrap:wrap}
#app .filters{min-width:0;align-items:center;flex-wrap:wrap}
#app .filters input,#app .filters select{font-size:12px}
#app .toolbar input,#app .toolbar select{padding:6px 8px;min-height:32px}
#app .toolbar button{padding:6px 9px;min-height:32px}
#app .filters input{width:250px}
#app #refresh{min-width:36px;color:#367154}
.period-switch{background:#f4f7f4;border-color:#dfe8e1;padding:2px;margin-right:8px}
.period-switch button.active{background:#fff;color:#206548;box-shadow:0 1px 4px #203c2b12}
#app .workflow-tools{margin:0 0 10px;padding:6px 8px;background:#fff;border:1px solid var(--line);border-radius:8px;gap:6px}
#app:is([data-current-view=calendar],[data-current-view=orders],[data-current-view=my_orders],[data-current-view=attention]) .toolbar{margin-bottom:0;border-bottom:0;border-radius:8px 8px 0 0}
#app .workflow-tools{border-top:0;border-radius:0 0 8px 8px;padding-top:2px}
.workflow-tools button,.workflow-tools select{padding:6px 9px;min-height:32px}
.workflow-tools #my-orders.active{background:#e7f2eb;color:#1b6548;border-color:#a8c9b5}
.workflow-tools #reset-filters{margin-left:auto;padding-left:10px;padding-right:10px}
.demo-banner{color:#86622e;background:#fff8eb;border-color:#eadbc0}

/* Calendar density and the existing status colours are preserved. */
.column{border-radius:10px;background:#edf2ef;border-color:#dce5de}
.column.queue{background:#f3f0e9;border-color:#e5dfd3}
.column.today{background:#ebf4ed;border-color:#9bc5a9}
.column.weekend{background:#f0f3f1}
.board .queue .col-head{background:#f3f0e9}
.board .today .col-head{background:#ebf4ed}
#app .col-head{background-image:none;border-radius:0;border-bottom:1px solid #d7e2da;padding-bottom:6px;color:#385445;margin-bottom:8px}
.col-head small{color:#687e6e}
.today .col-head{color:#1c704a}
.count{color:#496451;background:#dce8df;font-variant-numeric:tabular-nums}
.queue .count{background:#e5dfd2;color:#7b6848}
.card{border-color:#d6e3da;transition:border-color .15s,box-shadow .15s}
.card:hover{transform:none;border-color:#9dbda9;box-shadow:0 3px 9px #22473412}
.card.compact-card{border-radius:7px}
.compact-card .card-top>b{color:#536d5c}
.compact-card .cargo{color:#607667}
.compact-card .documents{color:#54705e}
.compact-card .card-bottom{color:#64796a;border-color:#e3ebe5}
.pill{color:#2d6947;background:#e9f3ed;font-weight:500}
.pill.pending{color:#9a4536;background:#fff0eb}
.pill.in_transit{color:#326b90;background:#e9f2fa}
.pill.cancelled{color:#646f68;background:#edf0ed}
.needs-info{color:#8d641f;background:#fff2d8}
.column-add{border-color:#b6cbba;color:#52725d;background:#ffffff35}
.queue-action{border-color:#dcc99e;color:#805f22;background:#fffaf0}
.empty,.load-empty{color:#728879}
.legend{color:#607768;font-size:11px;padding:10px 0;gap:12px}
.month-weekday{color:#4c6955;background:#eef4ef;font-weight:600}
.month-day-head{color:#3f604b}
.month-day.outside{background:#f0f3ef}
.month-day.today{background:#ecf6ed;box-shadow:inset 0 0 0 2px #73a982}
.month-layout>.queue{border-radius:10px}

/* Tables and panels: stronger headers, clearer row targeting. */
.panel{padding:14px;margin-bottom:12px;border-color:var(--line);box-shadow:0 2px 5px #1d3c2a03}
#app .panel-head{background-image:none}
.panel-head{margin-bottom:10px;gap:8px}
.panel h2{color:#2b4837;font-size:17px;margin-bottom:10px}
.panel-head h2{margin-bottom:0}
.resource-grid,.company-layout,.calculator-layout,.feedback-layout{gap:12px}
#app .panel input,#app .panel select,#app .panel textarea{padding:7px 9px;font-size:13px;min-height:34px}
#app .panel input[type=checkbox],#app .panel input[type=radio]{min-height:0;padding:0}
#app .panel .date-entry>.date-picker-button{width:36px;min-width:36px;min-height:36px}
#app .panel .date-native-fallback>.date-picker{width:36px;min-width:0;min-height:0}
.estimate-total{font-size:28px;margin:10px 0 12px}
.estimate-lines{gap:8px}
.company-address{padding:10px 0;margin-top:10px}
.company-contact{padding:7px 0}
.inbox-item{padding:10px;gap:10px}
.feedback-item{padding:12px 0}
table{font-size:12px;line-height:1.4}
th{padding:8px 10px;font-size:11px;font-weight:600;color:#54705e;background:#f3f7f4;border-color:#d9e4dc}
td{padding:7px 10px;border-color:#e8eee9}
td .muted{font-size:11px;line-height:1.4}
.table-wrap button{padding:5px 8px;font-size:12px;min-height:30px}
tbody tr[data-order]:hover{background:#edf5ef}
tbody tr[data-order]:focus-visible{background:#edf5ef;outline-offset:-2px}
.table-wrap{border:1px solid #e1e9e3;border-radius:8px}
.table-wrap td:last-child,.table-wrap th:last-child{padding-right:10px}
.table-wrap tbody tr:last-child td{border-bottom:0}
.table-wrap .pill{font-size:10px;padding:3px 6px}
.load-table th{background:#eff5f0}
.load-scroll,.load-trip{border-color:#d8e4dc}
.load-trip:hover:not(:disabled){border-color:#94bca2}
.load-table .load-conflict{background:#fff1e4}
.attention-reason{font-size:11px;line-height:1.4;padding:3px 6px;margin-bottom:3px;border:1px solid #e3e9df;background:#f2f5f0;color:#526a55}
.attention-reason.overdue{background:#fff0eb;color:#9a4e3b;border-color:#f0d5ca}
.attention-reason.incomplete{background:#fff6e3;color:#866024;border-color:#eee0bb}
.attention-panel .muted{line-height:1.65}
.attention-panel td{line-height:1.45;vertical-align:middle}
.attention-panel .panel-head{gap:10px}
.company-pick.active{border-color:#aac8b4;background:#eaf4ed}
.company-pick{line-height:1.5}
.inbox-item.unread{background:#edf6f0}
.note,.install-browser-note{background:#f0f5f1;border:1px solid #e0e9e2;color:#47634f}
.readiness-note{border:1px solid #e0e7df}
.readiness-note.is-ready{border-color:#b9ddc6}
.order-update{background:#fff7e6;border-color:#dec595}

/* Long forms keep their existing fields and expose save/cancel while scrolling. */
dialog{padding:20px;border-color:#d0dfd5;box-shadow:0 20px 80px #17352335;scroll-padding-top:14px;scroll-padding-bottom:76px}
.modal-head{margin-bottom:14px;gap:10px}
.modal-head h2{color:#284735;font-size:20px;line-height:1.3}
.modal-head p{color:#66796e;line-height:1.5}
.modal-head [data-close]{flex-shrink:0;min-width:36px;color:#65796c}
.detail-grid{gap:10px;margin-bottom:14px}
.detail-grid div{min-width:0;overflow-wrap:anywhere;line-height:1.5}
.detail-grid small{color:#637c6a;font-size:11px;margin-bottom:2px}
.form-grid{gap:10px}
.form-grid label{gap:4px}
#modal input,#modal select,#modal textarea{font-size:13px;padding:7px 9px;min-height:34px}
#modal input[type=checkbox],#modal input[type=radio]{min-height:0;padding:0}
.form-grid input,.form-grid select,.form-grid textarea{width:100%}
.form-grid input[type=checkbox],.form-grid input[type=radio]{width:auto}
.order-extra,.unloading-section{margin:10px 0;padding:10px;border-color:#d5e2d9;background:#f8faf8;border-radius:8px}
.order-extra summary,.unloading-section summary{color:#345e43;font-size:12px;font-weight:600;line-height:1.4}
.order-extra[open],.unloading-section[open]{background:#fbfdfb}
#modal form>.form-actions{
 position:sticky;bottom:-20px;z-index:2;background:#fff;
 margin-left:-20px;margin-right:-20px;margin-bottom:10px;padding:10px 20px 12px;
 border-top:1px solid #d6e3d9;box-shadow:0 -5px 15px #264b3107;
}
#modal-content>form:last-child>.form-actions{margin-bottom:-20px}
#modal form>.form-actions button{min-height:34px;padding:7px 11px}
.action-row{gap:6px;margin-bottom:12px}
.date-entry>.date-picker-button{border-color:#cddbd2;background:#f3f7f4}
.date-entry>.date-picker-button:hover{background:#e8f2eb}
#modal .date-entry>.date-picker-button{width:36px;min-width:36px;min-height:36px}
#modal .date-native-fallback>.date-picker{width:36px;min-width:0;min-height:0}
.action-row button{font-size:13px}
#toast{background:#21563c;border:1px solid #ffffff24;line-height:1.5;z-index:6}
.portal-footer{color:#6b8171;font-size:11px;margin-top:14px;padding-top:10px}
.login-form-area .login-card{box-shadow:0 12px 45px #224a3410;border-color:#d8e4dc}
.login-card p{line-height:1.6}
.login-card .error{color:var(--red)}

@media(min-width:901px){
 #app .toolbar{gap:8px 12px}
 #app[data-current-view=calendar] .board{height:calc(100vh - 370px);height:calc(100dvh - 370px);min-height:360px}
}
@media(max-width:1000px) and (min-width:641px){
 #app .toolbar{align-items:stretch}
 #app .filters input{width:auto;flex:1;min-width:200px}
 #app .filters select{max-width:190px}
}
@media(max-width:640px){
 #app>aside{border-bottom:1px solid var(--line);background-color:#fff}
 aside nav button{border:1px solid #e1e9e3;border-radius:9px;color:#53705c;background:#fafcfb}
 aside nav button.active{border-color:#b4d1bf;background:#e7f2eb;color:#1b6548}
 aside nav button span{line-height:1.4}
 #app header .eyebrow{font-size:10px;line-height:1.5}
 #app main{padding:12px 12px max(14px,env(safe-area-inset-bottom))}
 #app main>header h1{font-size:24px}
 #app .toolbar{padding:8px;gap:8px}
 #app .toolbar button{min-height:44px}
 #app .filters{width:100%;gap:8px}
 #app .filters input{width:100%;flex:1 1 100%;font-size:16px;height:44px;min-height:44px}
 #app .filters select{font-size:16px;max-width:none;flex:1;height:44px;min-height:44px}
 #app #refresh{min-width:48px}
 #app .workflow-tools{padding:2px 8px 8px;gap:6px;margin-bottom:10px}
 .workflow-tools button,.workflow-tools select{min-height:44px}
 .workflow-tools #my-orders{flex:1 1 120px}
 .workflow-tools #status-filter,.workflow-tools #saved-filter{font-size:16px;max-width:none!important}
 .workflow-tools #saved-filter{flex-basis:100%}
 .workflow-tools #save-filter{flex:1}
 .workflow-tools #reset-filters{margin-left:0}
 .stat-top{font-size:11px}
 .panel{padding:12px}
 .table-wrap button{min-height:44px}
 #app .panel input,#app .panel select,#app .panel textarea{font-size:16px;min-height:44px;padding:8px 10px}
 #app .panel input[type=checkbox],#app .panel input[type=radio]{min-height:0;padding:0}
 #app .panel .date-entry>.date-picker-button{width:44px;min-width:44px;min-height:44px}
 #app .panel .date-native-fallback>.date-picker{width:44px;min-width:0;min-height:0}
 .attention-panel .table-wrap{border:0;border-radius:0}
 .attention-panel tr{background:#fff;box-shadow:0 2px 5px #1d3c2a04;border-color:#d7e4db}
 .attention-panel td:last-child{padding-right:0}
 .attention-panel .attention-reasons{padding:8px 0}
 .attention-panel td[data-label]::before{color:#5d7966;font-size:12px}
 dialog{padding:14px}
 #modal input,#modal select,#modal textarea{font-size:16px;min-height:44px;padding:8px 10px}
 #modal input[type=checkbox],#modal input[type=radio]{min-height:0;padding:0}
 #modal .date-entry>.date-picker-button{width:44px;min-width:44px;min-height:44px}
 #modal .date-native-fallback>.date-picker{width:44px;min-width:0;min-height:0}
 #modal form>.form-actions{bottom:-14px;margin-left:-14px;margin-right:-14px;padding:10px 14px max(12px,env(safe-area-inset-bottom));gap:6px}
 #modal-content>form:last-child>.form-actions{margin-bottom:-14px}
 #modal form>.form-actions button{min-height:44px;flex:1;padding:8px 10px}
 .form-grid{gap:10px}
 .form-grid label,label{font-size:13px}
 .order-extra,.unloading-section{padding:10px}
 .order-extra summary,.unloading-section summary{min-height:32px;display:list-item;align-content:center}
 .modal-head h2{font-size:20px}
 .detail-grid{gap:10px}
 .action-row button{min-height:44px;flex:1 1 140px}
 #toast{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));max-width:none;padding:13px 16px}
 .portal-footer{line-height:1.7}
}
@media(prefers-reduced-motion:reduce){
 button,input,select,textarea,.card{transition:none}
}

/* Public installation remains readable without CSS variables or modern portal scripts. */
.install-page{color:#21362d}
.install-page .primary,.portal-browser-note .primary{background:#21775c;border:1px solid #21775c;color:#fff}
.install-page .primary:hover,.portal-browser-note .primary:hover{background:#185e48}
.install-page a:not(.primary){color:#21775c}
.install-page .panel{border:1px solid #dce6df}
.install-page .install-instructions section{background:#f0f5f1}
.install-page .install-browser-note{color:#47634f;background:#f0f5f1;border:1px solid #e0e9e2}
.install-page .helper,.portal-browser-note .helper{color:#66796e}
.install-page .application-panel{padding:16px;line-height:1.55}
.install-page .application-panel>img{width:56px;height:56px;border-radius:14px}
.install-page .install-instructions{margin-top:16px;gap:10px}
.install-page .install-instructions section{padding:12px 14px}
.install-page .install-instructions li{font-size:13px;line-height:1.5;margin-bottom:8px}
.install-page .install-browser-note{padding:10px;font-size:12px;line-height:1.55}
.install-fallback-button{display:inline-block;padding:10px 14px;border-radius:8px;min-height:44px;text-decoration:none;font-weight:600}
.portal-browser-note{max-width:560px;margin:24px auto;color:#21362d;background:#fff;border:1px solid #dce6df;padding:20px;line-height:1.55}
@media(max-width:640px){.portal-browser-note{margin:16px 12px}.install-page #install-application{min-height:44px}}
