@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

:root{--navy:#0c1222;--navy-2:#131b31;--blue:#5668f6;--blue-dark:#4254e5;--ink:#172033;--muted:#737b8c;--line:#e5e8ef;--surface:#fff;--canvas:#f6f7fb;--green:#23a672;--shadow:0 18px 50px rgba(22,29,52,.10)}
[data-theme="dark"]{color-scheme:dark;--navy:#090d18;--navy-2:#151c2d;--ink:#edf0f7;--muted:#a0a8b8;--line:#2b3344;--surface:#171d29;--canvas:#10151f;--shadow:0 18px 50px rgba(0,0,0,.3)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"DM Sans",sans-serif;color:var(--ink)}a{text-decoration:none;color:inherit}button,input{font:inherit}.brand{display:flex;align-items:center;gap:.75rem;color:#fff;font:700 1rem "Manrope",sans-serif;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.7rem;background:linear-gradient(135deg,#7281ff,#4556e8);color:#fff;font-size:1rem;box-shadow:0 8px 22px rgba(85,104,246,.28)}.eyebrow{margin:0 0 1rem;color:#6879ff;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.login-page{background:var(--canvas)}.login-layout{display:grid;grid-template-columns:minmax(430px,44%) 1fr;min-height:100vh}.brand-panel{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:3rem 3.5rem;color:#fff;background:var(--navy)}.brand-panel:before,.brand-panel:after{position:absolute;content:"";border:1px solid rgba(255,255,255,.06);border-radius:50%}.brand-panel:before{right:-15rem;bottom:-12rem;width:38rem;height:38rem}.brand-panel:after{right:-8rem;bottom:-5rem;width:22rem;height:22rem}.brand-copy{position:relative;z-index:1;max-width:34rem}.brand-copy h1{margin:0;font:800 clamp(2.7rem,4vw,4.5rem)/1.07 "Manrope",sans-serif;letter-spacing:-.055em}.brand-copy h1 span{color:#7e8bff}.brand-copy>p:last-child{max-width:29rem;margin:1.7rem 0 0;color:#aeb5c9;font-size:1.05rem;line-height:1.75}.brand-footer{position:relative;z-index:1;margin:0;color:#727b93;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.form-panel{display:grid;place-items:center;padding:3rem}.login-card{width:min(100%,410px)}.mobile-brand{display:none}.login-card h2{margin:0;font:800 2rem "Manrope",sans-serif;letter-spacing:-.04em}.subtext{margin:.75rem 0 2rem;color:var(--muted)}.alert{margin-bottom:1.3rem;padding:.85rem 1rem;border:1px solid #fecaca;border-radius:.7rem;background:#fff1f2;color:#b42332;font-size:.88rem}.login-form{display:flex;flex-direction:column}.login-form label,.label-row{font-size:.83rem;font-weight:600}.label-row{display:flex;justify-content:space-between;align-items:center}.label-row span{color:#9ba1ad;font-size:.72rem;font-weight:400}.login-form input{width:100%;height:3.25rem;margin:.55rem 0 1.25rem;padding:0 1rem;border:1px solid #dfe2e9;border-radius:.7rem;background:#fff;outline:none;transition:.2s}.login-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(86,104,246,.12)}.password-wrap{position:relative}.password-wrap input{padding-right:4rem}.show-password{position:absolute;top:.55rem;right:.35rem;height:3.25rem;border:0;background:transparent;color:var(--blue);font-size:.76rem;font-weight:700;cursor:pointer}.primary-button{display:flex;align-items:center;justify-content:space-between;height:3.4rem;margin-top:.35rem;padding:0 1.2rem;border:0;border-radius:.72rem;background:var(--blue);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 10px 25px rgba(86,104,246,.22);transition:.2s}.primary-button:hover{background:var(--blue-dark);transform:translateY(-1px)}.primary-button span{font-size:1.25rem}.help-text{text-align:center;margin:1.5rem 0 0;color:#a0a5b0;font-size:.74rem}
.prototype-notice{display:flex;flex-direction:column;gap:.18rem;margin:-.6rem 0 1.5rem;padding:.8rem 1rem;border:1px solid #d9ddff;border-radius:.7rem;background:#f0f2ff;color:#5967d8;font-size:.78rem}.prototype-notice span{color:#747d9d;font-size:.72rem}
.dashboard-page{min-height:100vh;background:var(--canvas)}.sidebar{position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;width:245px;padding:1.6rem 1.25rem;background:var(--navy);color:#a6aec0;z-index:5}.brand-dark{padding:0 .45rem}.sidebar nav{display:flex;flex-direction:column;gap:.35rem;margin-top:3rem}.nav-label{margin:1.5rem .8rem .5rem;color:#596279;font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.nav-link{display:flex;align-items:center;gap:.8rem;padding:.75rem .85rem;border-radius:.65rem;font-size:.87rem;font-weight:600}.nav-link span{width:1rem;text-align:center}.nav-link:hover,.nav-link.active{background:var(--navy-2);color:#fff}.nav-link.active{box-shadow:inset 3px 0 var(--blue)}.sidebar-user{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;margin-top:auto;padding:1rem .5rem 0;border-top:1px solid #242c40}.avatar{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.65rem;background:#27304a;color:#fff;font-weight:700}.sidebar-user strong,.sidebar-user small{display:block}.sidebar-user strong{color:#fff;font-size:.8rem}.sidebar-user small{margin-top:.1rem;color:#707991;font-size:.68rem}.sidebar-user>a{font-size:1.1rem}.dashboard-shell{min-height:100vh;margin-left:245px}.topbar{display:flex;align-items:center;justify-content:flex-end;height:72px;padding:0 clamp(1.5rem,4vw,3.5rem);border-bottom:1px solid var(--line);background:#fff;color:var(--muted);font-size:.78rem;gap:1.5rem}.status-dot{display:inline-block;width:.45rem;height:.45rem;margin-right:.45rem;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(35,166,114,.10)}.logout-link{font-weight:700;color:var(--ink)}.menu-button{display:none;border:0;background:transparent;font-size:1.25rem}.dashboard-content{width:min(100%,1240px);margin:auto;padding:3.3rem clamp(1.5rem,4vw,3.5rem)}.welcome-row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.welcome-row h1{margin:0;font:800 clamp(2rem,3vw,3rem) "Manrope",sans-serif;letter-spacing:-.05em}.welcome-row>div>p:last-child{margin:.65rem 0 0;color:var(--muted)}.date-chip{padding:.65rem .9rem;border:1px solid var(--line);border-radius:.65rem;background:#fff;color:var(--muted);font-size:.77rem}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:2.5rem 0 1.2rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.35rem;border:1px solid var(--line);border-radius:.9rem;background:#fff;box-shadow:0 5px 18px rgba(20,31,55,.025)}.stat-icon{display:grid;flex:0 0 2.8rem;height:2.8rem;place-items:center;border-radius:.75rem;font-weight:700}.stat-icon.blue{background:#eef0ff;color:#5869f3}.stat-icon.violet{background:#f2ecff;color:#845be8}.stat-icon.green{background:#e8f8f1;color:#23a672}.stat-card p,.stat-card strong,.stat-card small{display:block;margin:0}.stat-card p{color:var(--muted);font-size:.72rem}.stat-card strong{margin:.25rem 0;font:700 1.1rem "Manrope",sans-serif}.stat-card small{color:#9aa0ad;font-size:.67rem}.content-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,.7fr);gap:1.2rem}.panel{border:1px solid var(--line);border-radius:.9rem;background:#fff}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:1.4rem 1.5rem;border-bottom:1px solid var(--line)}.panel-heading h2{margin:0;font:700 1rem "Manrope",sans-serif}.panel-heading p{margin:.25rem 0 0;color:var(--muted);font-size:.72rem}.tag{padding:.28rem .55rem;border-radius:1rem;background:#e8f8f1;color:var(--green);font-size:.65rem;font-weight:700}.activity-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;padding:1.2rem 1.5rem;border-bottom:1px solid #eff1f5}.activity-row:last-child{border:0}.activity-icon{display:grid;width:2.2rem;height:2.2rem;place-items:center;border-radius:.65rem;background:#f0f2ff;color:var(--blue);font-weight:700}.activity-row strong{font-size:.82rem}.activity-row p{margin:.2rem 0 0;color:var(--muted);font-size:.72rem}.activity-row time{color:#a1a6b0;font-size:.68rem}.profile-panel{text-align:center}.profile-panel .panel-heading{text-align:left}.profile-avatar{display:grid;width:4rem;height:4rem;margin:1.6rem auto .8rem;place-items:center;border-radius:1rem;background:linear-gradient(135deg,#7180ff,#4657e8);color:#fff;font:700 1.4rem "Manrope",sans-serif}.profile-panel h3{margin:0;font:700 1rem "Manrope",sans-serif}.profile-panel>p{margin:.25rem 0;color:var(--muted);font-size:.75rem}.profile-note{margin:1.3rem;padding:1rem;border-radius:.65rem;background:#f7f8fb;color:var(--muted);font-size:.7rem;line-height:1.5}
@media(max-width:850px){.login-layout{grid-template-columns:1fr}.brand-panel{display:none}.form-panel{min-height:100vh;padding:2rem}.mobile-brand{display:flex;align-items:center;gap:.7rem;margin-bottom:4rem;color:var(--ink);font:700 .95rem "Manrope",sans-serif}.stats-grid{grid-template-columns:1fr}.content-grid{grid-template-columns:1fr}.date-chip{display:none}}@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:.25s}.nav-open .sidebar{transform:translateX(0);box-shadow:10px 0 40px rgba(0,0,0,.2)}.dashboard-shell{margin-left:0}.topbar{justify-content:space-between}.menu-button{display:block}.dashboard-content{padding-top:2rem}.welcome-row{display:block}.activity-row time{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.profile-action{display:block;margin:1.3rem;padding:1rem;border-radius:.65rem;background:#f0f2ff;color:var(--blue);font-size:.72rem;font-weight:700}.profile-action:hover{background:#e8ebff}.profile-content{max-width:950px;margin:0}.profile-form,.driver-assignment-form{display:flex;flex-direction:column;gap:1.2rem;margin-top:2.5rem}.settings-panel{overflow:hidden}.settings-body{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;padding:1.5rem}.field-group{display:flex;flex-direction:column;gap:.5rem}.field-group label{font-size:.79rem;font-weight:700}.field-note{float:right;color:#9ba1ad;font-size:.65rem;font-weight:400}.field-group input,.field-group select{width:100%;height:3rem;padding:0 .9rem;border:1px solid #dfe2e9;border-radius:.65rem;background:#fff;color:var(--ink);outline:none}.field-group input:disabled{background:#f3f4f7;color:#818896;cursor:not-allowed}.field-group input:focus,.field-group select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(86,104,246,.12)}.field-group small{color:var(--muted);font-size:.66rem}.password-grid{grid-template-columns:1fr 1fr}.full-field{grid-column:1/-1;max-width:calc(50% - .6rem)}.form-actions{display:flex;justify-content:flex-end}.driver-assignment-actions{padding:0 1.5rem 1.5rem}.save-profile{width:12rem}@media(max-width:700px){.settings-body,.password-grid{grid-template-columns:1fr}.full-field{grid-column:auto;max-width:none}.save-profile{width:100%}}
.compact-button{width:auto;min-width:8rem;height:2.8rem;margin:0;justify-content:center}.success-alert{margin:1.5rem 0 -1rem;padding:.85rem 1rem;border:1px solid #bdebd7;border-radius:.7rem;background:#effbf6;color:#167852;font-size:.88rem}.page-alert{margin:1.5rem 0 -1rem}.users-panel{margin-top:2.5rem;overflow:hidden}.table-scroll{overflow-x:auto}.users-table{width:100%;border-collapse:collapse;text-align:left}.users-table th{padding:.85rem 1.5rem;background:#fafbfc;color:#8c93a1;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}.users-table td{padding:1rem 1.5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}.table-user{display:flex;align-items:center;gap:.8rem}.table-user strong,.table-user small{display:block}.table-user strong{color:var(--ink);font-size:.84rem}.table-user small{margin-top:.1rem;color:var(--blue);font-size:.66rem}.role-badge{display:inline-block;padding:.28rem .6rem;border-radius:1rem;background:#eef0f4;color:#636b79;font-size:.67rem;font-weight:700}.role-admin{background:#eeeefe;color:#5563dd}.role-driver{background:#e8f6ff;color:#2876a8}.role-vender{background:#fff4df;color:#9a6721}.role-shiftlead{background:#e9f8f1;color:#23825d}.edit-button{padding:.4rem .75rem;border:1px solid var(--line);border-radius:.5rem;background:#fff;color:var(--ink);font-size:.72rem;font-weight:700;cursor:pointer}.edit-button:hover{border-color:var(--blue);color:var(--blue)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.user-dialog{width:min(calc(100% - 2rem),450px);padding:0;border:0;border-radius:1rem;box-shadow:0 28px 80px rgba(13,20,40,.25)}.user-dialog::backdrop{background:rgba(12,18,34,.62);backdrop-filter:blur(3px)}.user-form{display:flex;flex-direction:column;padding:1.6rem}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.dialog-heading .eyebrow{margin-bottom:.4rem}.dialog-heading h2{margin:0;font:800 1.45rem "Manrope",sans-serif;letter-spacing:-.04em}.dialog-close{border:0;background:transparent;color:#8b92a0;font-size:1.5rem;cursor:pointer}.user-form label{margin-bottom:.5rem;font-size:.8rem;font-weight:700}.user-form label span{float:right;color:#9ba1ad;font-size:.67rem;font-weight:400}.user-form input,.user-form select{width:100%;height:3rem;margin-bottom:1.15rem;padding:0 .9rem;border:1px solid #dfe2e9;border-radius:.65rem;background:#fff;outline:none}.user-form input:focus,.user-form select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(86,104,246,.12)}.user-form .primary-button{margin-top:.3rem}@media(max-width:700px){.user-heading{display:flex;align-items:flex-start}.users-table th,.users-table td{padding:.85rem 1rem}.users-table th:nth-child(3),.users-table td:nth-child(3){display:none}}
.dialog-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.dialog-field-grid>div{display:flex;flex-direction:column}@media(max-width:480px){.dialog-field-grid{grid-template-columns:1fr}}
.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem}.row-actions form{margin:0}.delete-button{padding:.4rem .7rem;border:1px solid #fed0d3;border-radius:.5rem;background:#fff6f6;color:#bd3441;font-size:.72rem;font-weight:700;cursor:pointer}.delete-button:hover{border-color:#e55b66;background:#fff0f1}
.users-panel-heading{gap:1rem}.role-filter{display:flex;align-items:center;gap:.6rem}.role-filter label{color:var(--muted);font-size:.7rem;font-weight:600}.role-filter select{height:2.3rem;padding:0 2rem 0 .75rem;border:1px solid var(--line);border-radius:.55rem;background:#fff;color:var(--ink);font-size:.72rem;outline:none}.role-filter select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(86,104,246,.12)}@media(max-width:560px){.users-panel-heading{align-items:flex-start;flex-direction:column}.role-filter{width:100%;justify-content:space-between}.role-filter select{flex:1}}
.shift-badge{display:block;width:max-content;margin-top:.3rem;padding:.18rem .45rem;border-radius:1rem;background:#f2ecff;color:#7754c8;font-size:.6rem;font-weight:700}#shiftField[hidden]{display:none}#shiftField{display:flex;flex-direction:column}
.locations-content{max-width:1100px;margin:0}.add-location-form{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(100px,.55fr) minmax(100px,.55fr) minmax(100px,.55fr) auto;gap:.7rem;margin-top:2.5rem;padding:1rem;border:1px solid var(--line);border-radius:.9rem;background:#fff}.add-location-form input{min-width:0;height:3.1rem;padding:0 1rem;border:1px solid #dfe2e9;border-radius:.65rem;outline:none}.add-location-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(86,104,246,.12)}.add-location-form .primary-button{width:10.5rem;height:3.1rem;margin:0}.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.2rem}.location-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;padding:1.2rem;border:1px solid var(--line);border-radius:.9rem;background:#fff}.location-icon{display:grid;width:2.65rem;height:2.65rem;place-items:center;border-radius:.7rem;background:#eef0ff;color:var(--blue);font-size:1.1rem}.location-card h2{margin:0;font:700 .9rem "Manrope",sans-serif}.location-card p{margin:.25rem 0 0;color:var(--muted);font-size:.68rem}.location-card form{margin:0}.empty-state{grid-column:1/-1;padding:4rem 2rem;border:1px dashed #d4d8e1;border-radius:.9rem;text-align:center;color:var(--muted)}.empty-state>span{font-size:2rem;color:#a7aec0}.empty-state h2{margin:.8rem 0 .3rem;color:var(--ink);font:700 1rem "Manrope",sans-serif}.empty-state p{margin:0;font-size:.76rem}@media(max-width:900px){.add-location-form{grid-template-columns:1fr 1fr}.add-location-form .primary-button{width:100%}}@media(max-width:700px){.add-location-form{grid-template-columns:1fr}.location-grid{grid-template-columns:1fr}}
.trucks-content{max-width:1100px;margin:0}.truck-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2.5rem}.truck-card{overflow:hidden;border:1px solid var(--line);border-radius:.9rem;background:#fff}.truck-card-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:1.2rem}.truck-icon{display:grid;width:2.7rem;height:2.7rem;place-items:center;border-radius:.7rem;background:#edf0ff;color:var(--blue)}.truck-card-top p{margin:0;color:var(--muted);font-size:.65rem}.truck-card-top h2{margin:.1rem 0 0;font:700 1.05rem "Manrope",sans-serif}.truck-card form{margin:0}.truck-meta{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem 1.2rem;border-top:1px solid var(--line);font-size:.76rem}.truck-meta small,.assignment-row small{display:block;margin-bottom:.25rem;color:var(--muted);font-size:.63rem;text-transform:uppercase}.assignment-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:#fafbfc}.assignment-row strong{font-size:.8rem}.assign-form{display:flex;gap:.4rem}.assign-form select{max-width:190px;height:2.1rem;border:1px solid var(--line);border-radius:.5rem;background:#fff;font-size:.7rem}.assign-form .edit-button{height:2.1rem}@media(max-width:850px){.truck-grid{grid-template-columns:1fr}}@media(max-width:520px){.truck-card-top{grid-template-columns:auto 1fr}.truck-card-top .row-actions{grid-column:1/-1;justify-content:flex-start}.assignment-row{align-items:flex-start;flex-direction:column}.assign-form,.assign-form select{width:100%;max-width:none}}
.truck-flags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.truck-flag{padding:.18rem .42rem;border-radius:1rem;background:#eef0f4;color:#737b8c;font-size:.58rem;font-weight:700}.hill-flag{background:#fff0df;color:#9b641e}.local-flag{background:#e7f7f0;color:#23805c}.flag-options{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:0 0 1.2rem}.flag-options label{display:flex;align-items:flex-start;gap:.55rem;margin:0;padding:.75rem;border:1px solid var(--line);border-radius:.65rem;cursor:pointer}.flag-options input{width:auto;height:auto;margin:.15rem 0 0}.flag-options strong,.flag-options small{display:block}.flag-options small{margin-top:.15rem;color:var(--muted);font-size:.61rem}@media(max-width:480px){.flag-options{grid-template-columns:1fr}}
.assignment-current{display:flex;gap:1.4rem;flex-shrink:0}.assignment-current>span{min-width:90px}.truck-assignment-form{align-items:flex-end}.truck-assignment-form label{display:flex;flex-direction:column;gap:.25rem}.truck-assignment-form label>span{color:var(--muted);font-size:.58rem;text-transform:uppercase}.truck-assignment-form .edit-button{white-space:nowrap}@media(max-width:700px){.assignment-current{width:100%}.truck-assignment-form{width:100%;align-items:stretch;flex-direction:column}.truck-assignment-form select{width:100%;max-width:none}.truck-assignment-form .edit-button{height:2.3rem}}
.bulk-unassign-button{height:2.3rem;white-space:nowrap}
.truck-card .assignment-row{align-items:stretch;flex-direction:column}.truck-card .assignment-current{display:grid;grid-template-columns:1fr;gap:.85rem;width:100%}.truck-card .assignment-current>span{padding-bottom:.75rem;border-bottom:1px solid var(--line)}.truck-card .truck-assignment-form{display:grid;grid-template-columns:1fr;align-items:stretch;width:100%;gap:.7rem}.truck-card .truck-assignment-form select{width:100%;max-width:none;height:2.5rem;padding:0 .65rem}.truck-card .truck-assignment-form .edit-button{width:100%;height:2.5rem}
.fleet-page-actions{display:flex;align-items:center;gap:.65rem}.fleet-page-actions form{margin:0}.save-all-button{height:2.8rem;padding:0 1rem;color:var(--blue)}@media(max-width:600px){.fleet-page-actions{width:100%;align-items:stretch;flex-direction:column}.fleet-page-actions form,.fleet-page-actions button{width:100%}}
.lines-content{max-width:1050px;margin:0}.line-list{display:flex;flex-direction:column;gap:.8rem;margin-top:2.5rem}.line-card{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:1.2rem;padding:1.2rem 1.4rem;border:1px solid var(--line);border-radius:.9rem;background:#fff}.line-card form{margin:0}.line-endpoint small,.line-endpoint strong,.line-endpoint span{display:block}.line-endpoint small{color:var(--muted);font-size:.62rem;text-transform:uppercase}.line-endpoint strong{margin:.2rem 0;font:700 .9rem "Manrope",sans-serif}.line-endpoint span{color:var(--blue);font-size:.75rem;font-weight:700}.line-arrow{display:grid;width:2.2rem;height:2.2rem;place-items:center;border-radius:50%;background:#eef0ff;color:var(--blue)}@media(max-width:600px){.line-card{grid-template-columns:1fr auto 1fr}.line-card>.row-actions{grid-column:1/-1;justify-content:flex-start}}
.door-multi{min-height:7rem!important;height:7rem!important;padding:.35rem!important}.door-multi option{padding:.35rem .5rem;border-radius:.25rem}
.door-select-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.door-select-heading label{margin:0}.door-select-heading button{padding:.28rem .55rem;border:1px solid #d9ddff;border-radius:.45rem;background:#f0f2ff;color:var(--blue);font-size:.65rem;font-weight:700;cursor:pointer}.door-select-heading button:hover{background:#e5e8ff}
.door-selection-actions{display:flex;gap:.35rem}.door-selection-actions button:last-child{border-color:var(--line);background:#fff;color:var(--muted)}@media(max-width:480px){.door-select-heading{align-items:flex-start;flex-direction:column;gap:.45rem}}
.line-dialog{width:min(calc(100% - 2rem),560px)}.destinations-heading,.destination-editor-heading{display:flex;align-items:center;justify-content:space-between}.destinations-heading{margin:1rem 0}.destinations-heading h3{margin:0;font:700 .85rem "Manrope",sans-serif}.destination-editor{margin-bottom:1rem;padding:1rem;border:1px solid var(--line);border-radius:.7rem;background:#fafbfc}.destination-editor-heading{margin-bottom:.7rem;font-size:.75rem}.remove-destination{border:0;background:transparent;color:#bd3441;font-size:.67rem;font-weight:700;cursor:pointer}.destination-editor select{background:#fff}.destination-list{display:flex;flex-direction:column;gap:.7rem}.multi-end-line{align-items:flex-start}
.line-name{grid-column:1/-1;padding-bottom:.7rem;border-bottom:1px solid var(--line)}.line-name small,.line-name strong{display:block}.line-name small{color:var(--muted);font-size:.6rem;text-transform:uppercase}.line-name strong{margin-top:.15rem;font:700 .95rem "Manrope",sans-serif}
.driver-count-badge{display:inline-block;margin-top:.4rem;padding:.2rem .48rem;border-radius:1rem;background:#eef0ff;color:var(--blue);font-size:.62rem;font-weight:700}
.yard-drop-option{display:flex!important;align-items:center;justify-content:center;gap:.45rem;min-height:3.1rem;padding:0 .7rem;border:1px solid var(--line);border-radius:.65rem;background:var(--canvas);font-size:.72rem!important;cursor:pointer}.yard-drop-option input{width:auto!important;height:auto!important;margin:0!important}.edit-yard-drop{justify-content:flex-start;margin-bottom:1.15rem;padding:.7rem}.edit-yard-drop strong,.edit-yard-drop small{display:block}.edit-yard-drop small{margin-top:.15rem;color:var(--muted);font-size:.62rem}.yard-drop-badge{display:inline-block;padding:.2rem .5rem;border-radius:1rem;background:#fff0df;color:#9b641e;font-weight:700}
@media(min-width:901px){.add-location-form{grid-template-columns:minmax(170px,1.4fr) minmax(95px,.55fr) minmax(90px,.5fr) minmax(90px,.5fr) minmax(90px,.5fr) auto}}
.location-create-panel{width:min(100%,620px);margin-top:2.5rem;overflow:hidden;border:1px solid var(--line);border-radius:.9rem;background:var(--surface);box-shadow:0 5px 18px rgba(20,31,55,.025)}.location-create-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1.1rem 1.3rem;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.location-create-toggle strong,.location-create-toggle small{display:block}.location-create-toggle strong{font:700 .88rem "Manrope",sans-serif}.location-create-toggle small{margin-top:.22rem;color:var(--muted);font-size:.68rem}.toggle-symbol{display:grid;width:2rem;height:2rem;place-items:center;border-radius:.55rem;background:#eef0ff;color:var(--blue);font-size:1rem}.location-create-panel .add-location-form{display:grid;grid-template-columns:1fr;gap:1rem;margin:0;padding:1.3rem;border:0;border-top:1px solid var(--line);border-radius:0;background:var(--canvas)}.location-create-panel .add-location-form[hidden]{display:none}.location-field{display:flex;flex-direction:column;gap:.45rem}.location-field label{color:var(--ink);font-size:.72rem;font-weight:700}.location-create-panel .add-location-form input{width:100%;height:3rem}.location-create-panel .yard-drop-option{align-self:stretch;justify-content:flex-start;height:3rem;background:var(--surface)}.location-create-panel .yard-drop-option strong,.location-create-panel .yard-drop-option small{display:block}.location-create-panel .yard-drop-option small{margin-top:.1rem;color:var(--muted);font-size:.58rem}.location-form-actions{display:flex;justify-content:flex-end;gap:.6rem;padding-top:.2rem}.location-form-actions .primary-button{width:10.5rem;height:2.8rem}.location-cancel-button{height:2.8rem;padding:0 1rem;border:1px solid var(--line);border-radius:.65rem;background:var(--surface);color:var(--muted);font-size:.75rem;font-weight:700;cursor:pointer}@media(max-width:700px){.location-create-panel{width:100%}.location-form-actions{flex-direction:column-reverse}.location-form-actions .primary-button,.location-cancel-button{width:100%}}
.theme-toggle{display:flex;align-items:center;gap:.4rem;height:2.25rem;padding:0 .7rem;border:1px solid var(--line);border-radius:.55rem;background:var(--surface);color:var(--muted);font-size:.68rem;font-weight:700;cursor:pointer}.theme-toggle:hover{color:var(--blue);border-color:var(--blue)}.theme-toggle span:first-child{font-size:.9rem}.theme-toggle-login{position:fixed;top:1.2rem;right:1.2rem;z-index:10;box-shadow:var(--shadow)}
[data-theme="dark"] body,[data-theme="dark"] .dashboard-page,[data-theme="dark"] .login-page{background:var(--canvas);color:var(--ink)}[data-theme="dark"] .form-panel,[data-theme="dark"] .topbar,[data-theme="dark"] .panel,[data-theme="dark"] .stat-card,[data-theme="dark"] .location-card,[data-theme="dark"] .truck-card,[data-theme="dark"] .line-card,[data-theme="dark"] .add-location-form,[data-theme="dark"] .user-dialog,[data-theme="dark"] .user-form input,[data-theme="dark"] .user-form select,[data-theme="dark"] .field-group input,[data-theme="dark"] .field-group select,[data-theme="dark"] .login-form input,[data-theme="dark"] .role-filter select,[data-theme="dark"] .assign-form select{background:var(--surface);color:var(--ink)}[data-theme="dark"] .assignment-row,[data-theme="dark"] .line-summary-card textarea,[data-theme="dark"] .copy-status,[data-theme="dark"] .destination-editor,[data-theme="dark"] .users-table th{background:#121823}[data-theme="dark"] .profile-note,[data-theme="dark"] .field-group input:disabled{background:#202735;color:#a5adbd}[data-theme="dark"] .prototype-notice{border-color:#37416f;background:#1b2440;color:#9da8ff}[data-theme="dark"] .prototype-notice span{color:#adb5ca}[data-theme="dark"] .success-alert{border-color:#245d49;background:#142b24;color:#64d3a6}[data-theme="dark"] .alert{border-color:#68343b;background:#301b20;color:#ff9ca7}[data-theme="dark"] .edit-button,[data-theme="dark"] .door-selection-actions button:last-child{background:var(--surface);color:var(--ink)}[data-theme="dark"] .delete-button{border-color:#64333a;background:#301b20;color:#ff929d}[data-theme="dark"] .profile-action,[data-theme="dark"] .truck-icon,[data-theme="dark"] .location-icon,[data-theme="dark"] .line-arrow,[data-theme="dark"] .stat-icon.blue,[data-theme="dark"] .driver-count-badge{background:#222b51}[data-theme="dark"] .running-line,[data-theme="dark"] .users-table td,[data-theme="dark"] .truck-meta{border-color:var(--line)}[data-theme="dark"] .mobile-brand{color:var(--ink)}
.app-version{display:block;margin-top:.16rem;color:#727b93;font:600 .58rem "DM Sans",sans-serif;letter-spacing:.06em;text-transform:uppercase}.mobile-brand .app-version{color:var(--muted)}
@media(max-width:600px){.user-heading{display:flex;align-items:stretch;flex-direction:column;gap:1.25rem}.user-heading .compact-button{width:100%}.users-panel{margin-top:1.5rem;background:transparent;border:0;overflow:visible}.users-panel-heading{padding:1rem;border:1px solid var(--line);border-radius:.9rem;background:var(--surface)}.table-scroll{overflow:visible}.users-table,.users-table tbody{display:block}.users-table thead{display:none}.users-table tr{display:block;margin-top:.8rem;padding:1rem;border:1px solid var(--line);border-radius:.9rem;background:var(--surface)}.users-table td,.users-table td:nth-child(3){display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0;border:0}.users-table td:first-child{display:block;padding-top:0}.users-table td:not(:first-child)::before{content:attr(data-label);flex:0 0 auto;color:var(--muted);font-size:.62rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.users-table td:last-child{padding-bottom:0;border-top:1px solid var(--line);margin-top:.25rem;padding-top:.85rem}.table-user{min-width:0}.table-user>div{min-width:0}.table-user small{overflow-wrap:anywhere;line-height:1.45}.users-table .row-actions{flex:1;justify-content:flex-end}.users-table .row-actions button{min-height:2.35rem}.user-dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);overflow-y:auto;border-radius:.8rem}.user-form{padding:1.2rem}.dialog-field-grid{grid-template-columns:1fr}.role-filter{align-items:stretch;flex-direction:column}.role-filter select{width:100%;flex:none}}
.lock-button{padding:.4rem .7rem;border:1px solid #d8dcef;border-radius:.5rem;background:#f5f6ff;color:#5968d9;font-size:.72rem;font-weight:700;cursor:pointer}.lock-button:hover{border-color:var(--blue)}.location-lock-badge{display:inline-block;margin-left:.35rem;padding:.2rem .5rem;border-radius:1rem;background:#eeeefe;color:#5563dd;font-size:.62rem;font-weight:700}
.assignment-save-status{display:block;color:var(--green);font-size:.65rem;font-weight:700}.assignment-save-status.assignment-save-error{color:#bd3441}.truck-assignment-form button:disabled{cursor:wait;opacity:.7}
.doors-content{max-width:1120px;margin:0}.doors-workspace{margin-top:2.5rem}.doors-location-panel,.doors-display-panel{border:1px solid var(--line);border-radius:.9rem;background:var(--surface)}.doors-location-panel{padding:1.2rem}.doors-location-panel h2,.doors-display-panel h2{margin:0;font:700 1rem "Manrope",sans-serif}.doors-location-panel>p{margin:.3rem 0 1rem;color:var(--muted);font-size:.72rem}.doors-location-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.65rem}.door-location-button{width:100%;padding:1rem;border:1px solid var(--line);border-radius:.65rem;background:var(--canvas);color:var(--ink);text-align:left;cursor:pointer}.door-location-button:hover,.door-location-button.selected{border-color:#ccd2ff;background:#eef0ff}.door-location-button strong,.door-location-button small{display:block}.door-location-button strong{font-size:.79rem}.door-location-button small{margin-top:.2rem;color:var(--muted);font-size:.65rem}.doors-display-panel{min-height:360px;padding:1.5rem}.doors-display-heading{padding-bottom:1.2rem;border-bottom:1px solid var(--line)}.doors-display-heading .eyebrow{margin-bottom:.4rem}.doors-display-heading>div>p:last-child{margin:.35rem 0 0;color:var(--muted);font-size:.74rem}.door-box-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.65rem;padding-top:1.3rem}.door-box{display:grid;min-height:3.4rem;place-items:center;border:1px solid #dfe2e9;border-radius:.65rem;background:var(--canvas);color:var(--ink);font-size:.78rem;font-weight:700}.door-back-box{cursor:pointer;border-color:#ccd2ff;background:#eef0ff;color:var(--blue)}.doors-placeholder{grid-column:1/-1;margin:2rem 0;color:var(--muted);font-size:.78rem;text-align:center}.doors-empty{margin-top:2.5rem}@media(max-width:700px){.doors-workspace{margin-top:1.5rem}.doors-location-list{grid-template-columns:1fr}.doors-display-panel{min-height:280px;padding:1.2rem}.door-box-grid{grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:.5rem}.door-box{min-height:3rem}}[data-theme="dark"] .doors-location-panel,[data-theme="dark"] .doors-display-panel{background:var(--surface)}[data-theme="dark"] .door-location-button.selected,[data-theme="dark"] .door-location-button:hover{background:#222b51;border-color:#3a4780}[data-theme="dark"] .door-box{border-color:var(--line);background:#121823}[data-theme="dark"] .door-back-box{background:#222b51;border-color:#3a4780}
.doors-content{max-width:1120px;margin:0}.doors-workspace{margin-top:2.5rem}.doors-location-panel,.doors-display-panel{border:1px solid var(--line);border-radius:.9rem;background:var(--surface)}.doors-location-panel{padding:1.2rem}.doors-location-panel h2,.doors-display-panel h2{margin:0;font:700 1rem "Manrope",sans-serif}.doors-location-panel>p{margin:.3rem 0 1rem;color:var(--muted);font-size:.72rem}.doors-location-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.65rem}.door-location-button{width:100%;padding:1rem;border:1px solid var(--line);border-radius:.65rem;background:var(--canvas);color:var(--ink);text-align:left;cursor:pointer}.door-location-button:hover,.door-location-button.selected{border-color:#ccd2ff;background:#eef0ff}.door-location-button strong,.door-location-button small{display:block}.door-location-button strong{font-size:.79rem}.door-location-button small{margin-top:.2rem;color:var(--muted);font-size:.65rem}.doors-display-panel{min-height:360px;padding:1.5rem}.doors-display-heading{padding-bottom:1.2rem;border-bottom:1px solid var(--line)}.doors-display-heading .eyebrow{margin-bottom:.4rem}.doors-display-heading>div>p:last-child{margin:.35rem 0 0;color:var(--muted);font-size:.74rem}.door-box-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.65rem;padding-top:1.3rem}.door-box{display:grid;min-height:3.4rem;place-items:center;border:1px solid #dfe2e9;border-radius:.65rem;background:var(--canvas);color:var(--ink);font-size:.78rem;font-weight:700;cursor:pointer}.door-back-box{cursor:pointer;border-color:#ccd2ff;background:#eef0ff;color:var(--blue)}.doors-placeholder{grid-column:1/-1;margin:2rem 0;color:var(--muted);font-size:.78rem;text-align:center}.doors-empty{margin-top:2.5rem}@media(max-width:700px){.doors-workspace{margin-top:1.5rem}.doors-location-list{grid-template-columns:1fr}.doors-display-panel{min-height:280px;padding:1.2rem}.door-box-grid{grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:.5rem}.door-box{min-height:3rem}}[data-theme="dark"] .doors-location-panel,[data-theme="dark"] .doors-display-panel{background:var(--surface)}[data-theme="dark"] .door-location-button.selected,[data-theme="dark"] .door-location-button:hover{background:#222b51;border-color:#3a4780}[data-theme="dark"] .door-box{border-color:var(--line);background:#121823}[data-theme="dark"] .door-back-box{background:#222b51;border-color:#3a4780}
[data-theme="dark"] .door-box[data-theme="dark"] .door-box[data-theme="dark"] .door-box[data-theme="dark"] .door-box
.user-form textarea{width:100%;min-height:5.5rem;margin-bottom:1.15rem;padding:.8rem .9rem;border:1px solid #dfe2e9;border-radius:.65rem;background:#fff;color:var(--ink);outline:none;resize:vertical}.user-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(86,104,246,.12)}.line-display-option{display:flex;align-items:flex-start;gap:.6rem;margin:0 0 1.15rem!important;padding:.8rem;border:1px solid var(--line);border-radius:.65rem;cursor:pointer}.line-display-option input{width:auto!important;height:auto!important;margin:.15rem 0 0!important}.line-display-option strong,.line-display-option small{display:block}.line-display-option small{margin-top:.15rem;color:var(--muted);font-size:.65rem}[data-theme="dark"] .user-form textarea{background:var(--surface);color:var(--ink)}
.line-display-option{align-items:center;min-height:4.5rem;padding:1rem 1.1rem;background:#f7f8ff;transition:border-color .2s,background .2s}.line-display-option:hover{border-color:#9da8ff;background:#f0f2ff}.line-display-option input{width:1.35rem!important;height:1.35rem!important;margin:0!important;flex:0 0 1.35rem;accent-color:var(--blue);cursor:pointer}.line-display-option strong{font-size:.84rem}.line-display-option small{font-size:.7rem}.line-display-option:has(input:checked){border-color:#8190ff;background:#eef0ff}[data-theme="dark"] .line-display-option{background:#182038;border-color:#34405f}[data-theme="dark"] .line-display-option:has(input:checked){background:#222b51;border-color:#5060b5}
.line-assignment-summary{grid-column:1/-1;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:.7rem;background:#f8f9fc}.line-assignment-summary>small{color:var(--muted);font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.line-assignment-summary>strong{color:var(--blue);font-size:.74rem;white-space:nowrap}.assigned-driver-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.assigned-driver-list span{padding:.24rem .45rem;border-radius:1rem;background:#eef0ff;color:#4457c9;font-size:.65rem;font-weight:700}.multi-end-line>.row-actions{grid-column:1/-1;justify-self:end}[data-theme="dark"] .line-assignment-summary{border-color:var(--line);background:#121823}[data-theme="dark"] .assigned-driver-list span{background:#222b51;color:#adb8ff}@media(max-width:600px){.line-assignment-summary{grid-template-columns:1fr auto}.assigned-driver-list{grid-column:1/-1;justify-content:flex-start}.multi-end-line>.row-actions{justify-self:start}}
.line-staffing-summary{margin-top:1.5rem;padding:1rem 1.2rem;border:1px solid #d9defa;border-radius:.9rem;background:#f7f8ff}.line-staffing-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.line-staffing-heading .eyebrow{margin:0 0 .25rem}.line-staffing-heading h2{margin:0;font:700 .95rem "Manrope",sans-serif}.line-staffing-heading>span{padding:.25rem .5rem;border-radius:1rem;background:#e5e8ff;color:#5666d9;font-size:.65rem;font-weight:700}.line-staffing-list{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.85rem}.line-staffing-item{display:flex;align-items:center;gap:.5rem;padding:.55rem .7rem;border:1px solid #e0e4f8;border-radius:.6rem;background:#fff}.line-staffing-item strong{font-size:.75rem}.line-staffing-item span{color:var(--muted);font-size:.67rem}.line-staffing-item b{color:#ba3c47}[data-theme="dark"] .line-staffing-summary{border-color:#37416f;background:#1b2440}[data-theme="dark"] .line-staffing-heading>span{background:#222b51;color:#adb8ff}[data-theme="dark"] .line-staffing-item{border-color:#34405f;background:#121823}@media(max-width:600px){.line-staffing-item{width:100%;align-items:flex-start;flex-direction:column;gap:.2rem}}
.two-factor-panel{margin-top:2.5rem}.two-factor-status{padding:.28rem .55rem;border-radius:1rem;background:#eef0f4;color:#687180;font-size:.65rem;font-weight:700}.two-factor-status.enabled{background:#e8f8f1;color:#23805c}.two-factor-body{padding:1.4rem 1.5rem}.two-factor-body>p{margin:.1rem 0 1rem;color:var(--muted);font-size:.78rem;line-height:1.55}.two-factor-secret{display:block;max-width:max-content;margin:.4rem 0 1rem;padding:.7rem .85rem;border:1px dashed #aeb8ef;border-radius:.55rem;background:#f4f5ff;color:#4355c5;font:700 .9rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;word-break:break-all}.two-factor-form{display:flex;align-items:center;gap:.65rem}.two-factor-form input{width:10rem;height:2.7rem;padding:0 .8rem;border:1px solid #dfe2e9;border-radius:.6rem;background:#fff;outline:none}.two-factor-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(86,104,246,.12)}[data-theme="dark"] .two-factor-secret{border-color:#596ab9;background:#182038;color:#adb8ff}[data-theme="dark"] .two-factor-form input{border-color:var(--line);background:var(--surface);color:var(--ink)}@media(max-width:600px){.two-factor-body{padding:1.2rem}.two-factor-form{align-items:stretch;flex-direction:column}.two-factor-form input,.two-factor-form button{width:100%}}
.two-factor-user-badge{display:block;width:max-content;margin-top:.3rem;padding:.18rem .45rem;border-radius:1rem;background:#e8f8f1;color:#23805c;font-size:.6rem;font-weight:700}[data-theme="dark"] .two-factor-user-badge{background:#17382e;color:#72d8ad}
.line-down-option{border-color:#f2c7cb;background:#fff6f6}.line-down-option:hover{border-color:#df858d;background:#fff0f1}.line-down-option:has(input:checked){border-color:#db5965;background:#fff0f1}.line-down-badge{display:inline-block;margin:.35rem 0 0 .35rem;padding:.2rem .5rem;border-radius:1rem;background:#fff0f1;color:#bd3441;font-size:.6rem;font-weight:700}[data-theme="dark"] .line-down-option{border-color:#68343b;background:#301b20}[data-theme="dark"] .line-down-option:has(input:checked){border-color:#b45360;background:#3b2026}[data-theme="dark"] .line-down-badge{background:#3b2026;color:#ff9ca7}
[data-theme="dark"] .date-chip{border-color:var(--line);background:var(--surface);color:var(--muted);box-shadow:0 5px 18px rgba(0,0,0,.12)}
.line-summary-card{margin-top:2.5rem;overflow:hidden}.copy-summary-button{color:var(--blue)}.line-summary-card textarea{display:block;width:100%;min-height:8rem;padding:1rem 1.4rem;border:0;background:#fafbfc;color:var(--ink);font:500 .76rem/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical;outline:none}.copy-status{min-height:1.2rem;margin:0;padding:0 1.4rem .7rem;background:#fafbfc;color:var(--green);font-size:.65rem}
.running-lines-panel{margin-bottom:1.2rem;overflow:hidden}.running-title-row{display:flex;align-items:center;gap:.55rem}.live-pulse{width:.55rem;height:.55rem;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(35,166,114,.12)}.view-all-link{color:var(--blue);font-size:.72rem;font-weight:700}.running-lines-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-bottom:1px solid var(--line)}.running-line{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:1.15rem 1.4rem;border-bottom:1px solid var(--line)}.running-line:nth-child(odd){border-right:1px solid var(--line)}.running-line:nth-last-child(-n+2){border-bottom:0}.running-endpoint{min-width:0}.running-endpoint small,.running-endpoint strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.running-endpoint small{color:var(--muted);font-size:.62rem}.running-endpoint strong{margin-top:.2rem;font-size:.76rem}.running-arrow{color:#a8afbd}.running-badge{padding:.2rem .45rem;border-radius:1rem;background:#e8f8f1;color:var(--green);font-size:.57rem;font-weight:700}.running-badge.down{background:#fff0f1;color:#bd3441}.running-empty{display:flex;align-items:center;justify-content:center;gap:.9rem;padding:2.5rem;color:var(--muted)}.running-empty>span{font-size:1.7rem;color:#aab1c0}.running-empty strong{color:var(--ink);font-size:.82rem}.running-empty p{margin:.2rem 0 0;font-size:.7rem}.more-lines{display:block;padding:.8rem;text-align:center;color:var(--blue);font-size:.7rem;font-weight:700}@media(max-width:900px){.running-lines-grid{grid-template-columns:1fr}.running-line:nth-child(odd){border-right:0}.running-line:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.running-line:last-child{border-bottom:0}}@media(max-width:500px){.running-line{grid-template-columns:1fr auto 1fr}.running-badge{grid-column:1/-1;width:max-content}}
.personal-assignment-panel{margin-bottom:1.2rem;overflow:hidden}.personal-assignment-actions{display:flex;align-items:center;gap:.85rem}.move-truck-shortcut{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.45rem .8rem;border:1px solid var(--blue);border-radius:.55rem;background:transparent;color:var(--blue);font-size:.7rem;font-weight:800}.move-truck-shortcut:hover{background:var(--blue);color:#fff}.personal-assignment-actions .view-all-link{padding:.45rem 0}.personal-assignment-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:1rem;padding:1.4rem}.personal-assignment-details small,.personal-assignment-details strong{display:block}.personal-assignment-details small{color:var(--muted);font-size:.65rem;text-transform:uppercase}.personal-assignment-details strong{margin-top:.35rem;font:700 .85rem/1.35 "Manrope",sans-serif}.set-location-link{display:inline-block;margin-top:.5rem;color:var(--blue);font-size:.7rem;font-weight:800}.personal-assignment-state{grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.personal-assignment-empty{display:flex;align-items:center;gap:.9rem;padding:1.4rem;color:var(--muted)}.personal-assignment-empty>span{display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:.7rem;background:#eef0ff;color:var(--blue)}.personal-assignment-empty strong{display:block;color:var(--ink);font-size:.8rem}.personal-assignment-empty p{margin:.2rem 0 0;font-size:.7rem}@media(max-width:800px){.personal-assignment-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.personal-assignment-panel .panel-heading{align-items:flex-start}.personal-assignment-actions{align-items:flex-end;flex-direction:column;gap:.5rem}.personal-assignment-details{grid-template-columns:1fr}}
.dashboard-profile-card{width:min(100%,360px);margin-left:auto}
.jobs-content{max-width:1100px;margin:0}.jobs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2.5rem}.job-card{display:flex;flex-direction:column;min-height:220px;padding:1.3rem;border:1px solid var(--line);border-radius:.9rem;background:var(--surface)}.job-card-head{display:flex;align-items:flex-start;gap:.8rem}.job-icon{display:grid;flex:0 0 2.6rem;width:2.6rem;height:2.6rem;place-items:center;border-radius:.7rem;background:#edf0ff;color:var(--blue);font-size:1.05rem}.job-open{display:inline-block;padding:.18rem .45rem;border-radius:1rem;background:#e8f8f1;color:var(--green);font-size:.6rem;font-weight:700}.job-card h2{margin:.32rem 0 0;font:700 1.05rem "Manrope",sans-serif}.job-description{margin:1rem 0;color:var(--muted);font-size:.78rem;line-height:1.55}.job-details{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:auto}.job-details span{padding:.35rem .55rem;border-radius:.5rem;background:#f4f5f8;color:var(--muted);font-size:.68rem}.job-card footer{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:1.1rem;padding-top:.85rem;border-top:1px solid var(--line);color:var(--muted);font-size:.64rem}.job-card footer form{margin:0}.user-form textarea{width:100%;min-height:6.5rem;margin-bottom:1.15rem;padding:.8rem .9rem;border:1px solid #dfe2e9;border-radius:.65rem;background:#fff;font:inherit;resize:vertical;outline:none}.user-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(86,104,246,.12)}[data-theme="dark"] .job-card,[data-theme="dark"] .user-form textarea{background:var(--surface);color:var(--ink)}[data-theme="dark"] .job-icon{background:#222b51}[data-theme="dark"] .job-details span{background:#202735;color:#a5adbd}@media(max-width:700px){.jobs-grid{grid-template-columns:1fr;margin-top:1.5rem}.job-card footer{align-items:flex-start;flex-direction:column}.job-card footer .edit-button{width:100%}}
.job-accept-button{min-width:0;height:2.25rem;margin:0;padding:0 .75rem;font-size:.7rem}
.my-jobs-panel{margin-top:2rem;overflow:hidden}.my-jobs-count{display:grid;min-width:1.7rem;height:1.7rem;place-items:center;border-radius:50%;background:#eef0ff;color:var(--blue);font-size:.7rem;font-weight:800}.my-jobs-empty{margin:0;padding:1.15rem 1.5rem;color:var(--muted);font-size:.76rem}.my-jobs-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0}.my-jobs-list article{padding:1rem 1.3rem;border-top:1px solid var(--line)}.my-jobs-list strong,.my-jobs-list span{display:block}.my-jobs-list strong{font-size:.8rem}.my-jobs-list span{margin-top:.25rem;color:var(--blue);font-size:.7rem;font-weight:700}.my-jobs-list p{margin:.45rem 0 0;color:var(--muted);font-size:.7rem;line-height:1.45}[data-theme="dark"] .my-jobs-count{background:#222b51;color:#adb8ff}
.job-open.job-assigned{background:#eef0ff;color:var(--blue)}[data-theme="dark"] .job-open.job-assigned{background:#222b51;color:#adb8ff}
.assigned-job-actions{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.8rem}.assigned-job-actions form{margin:0}.resume-move-button{display:inline-block;color:var(--blue);font-size:.72rem;font-weight:800}.complete-job-button{padding:.4rem .65rem;border:1px solid #bdebd7;border-radius:.5rem;background:#e8f8f1;color:var(--green);font-size:.68rem;font-weight:800;cursor:pointer}.complete-job-button:hover{border-color:var(--green);background:#d9f2e6}[data-theme="dark"] .complete-job-button{border-color:#245d49;background:#142b24;color:#64d3a6}@media(max-width:480px){.assigned-job-actions{align-items:stretch;flex-direction:column}.complete-job-button{width:100%}}
.completed-jobs-panel{margin-top:1.2rem;overflow:hidden}.completed-jobs-count{display:grid;min-width:1.7rem;height:1.7rem;place-items:center;border-radius:50%;background:#eef0f4;color:var(--muted);font-size:.7rem;font-weight:800}.completed-jobs-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:2rem;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--line)}.completed-jobs-list strong,.completed-jobs-list span,.completed-jobs-list small,.completed-jobs-list time{display:block}.completed-jobs-list strong{font-size:.8rem}.completed-jobs-list div:first-child>span{margin-top:.25rem;color:var(--muted);font-size:.68rem}.completed-jobs-list small{color:var(--muted);font-size:.6rem;text-transform:uppercase}.completed-jobs-list time,.completed-jobs-list div:last-child>span{margin-top:.25rem;font-size:.7rem;font-weight:700}.completed-jobs-list time{color:var(--green)}[data-theme="dark"] .completed-jobs-count{background:#202735;color:#a5adbd}@media(max-width:600px){.completed-jobs-list article{grid-template-columns:1fr;gap:.7rem}.completed-jobs-list article>div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.completed-jobs-list article>div:first-child{display:block}}
.jobs-page-actions{display:flex;align-items:center;gap:.7rem}.job-history-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.8rem;padding:0 .9rem}.job-history-panel{margin-top:2.5rem}@media(max-width:700px){.jobs-page-actions{width:100%;margin-top:1.2rem}.jobs-page-actions>*{flex:1}.job-history-link{min-height:2.8rem}}
.door-action-dialog{width:min(calc(100% - 2rem),430px)}.door-action-options{display:grid;gap:.65rem}.door-action-options button{padding:1rem;border:1px solid var(--line);border-radius:.7rem;background:var(--canvas);color:var(--ink);text-align:left;cursor:pointer}.door-action-options button:hover{border-color:#9da8ff;background:#f0f2ff}.door-action-options strong,.door-action-options span{display:block}.door-action-options strong{font-size:.84rem}.door-action-options span{margin-top:.2rem;color:var(--muted);font-size:.7rem}[data-theme="dark"] .door-action-options button{background:#121823}[data-theme="dark"] .door-action-options button:hover{border-color:#5060b5;background:#222b51}
.door-action-options[hidden],.door-line-results[hidden],.door-destination-picker[hidden]{display:none!important}
.request-move-options{margin-top:.6rem}.request-move-options[hidden]{display:none!important}.request-move-options h3{margin:.2rem 0 1.05rem;font:700 1rem "Manrope",sans-serif}.request-move-back{margin-top:1rem}
.field-optional{display:block;margin-top:.3rem;color:var(--muted);font-size:.7rem}
.move-selection{margin:1rem 0 0;padding:.75rem;border-radius:.55rem;background:#e8f8f1;color:var(--green);font-size:.74rem;font-weight:700}
.door-line-results{margin-top:.6rem}.door-line-results h3{margin:.2rem 0 1.05rem;font:700 1rem "Manrope",sans-serif}.door-line-results>p:not(.eyebrow){margin:0;color:var(--muted);font-size:.75rem}.door-line-results ul{display:grid;gap:.6rem;margin:1.2rem 0;padding:0;list-style:none}.door-line-results li{padding:.85rem .9rem;border:1px solid var(--line);border-radius:.55rem;background:var(--canvas);font-size:.77rem;font-weight:700}[data-theme="dark"] .door-line-results li{background:#121823}
.trailer-number-field{display:block;margin:.5rem 0 1.1rem;font-size:.76rem;font-weight:700}.trailer-number-field span{color:var(--muted);font-size:.66rem;font-weight:400}.trailer-number-field input{display:block;width:100%;height:2.7rem;margin-top:.45rem;padding:0 .8rem;border:1px solid #dfe2e9;border-radius:.6rem;background:var(--surface);color:var(--ink);outline:none}.trailer-number-field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(86,104,246,.12)}[data-theme="dark"] .trailer-number-field input{border-color:var(--line)}
.door-line-results li button{width:100%;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;font:700 .77rem "DM Sans",sans-serif;cursor:pointer}.door-other-button{margin:0 0 1rem}.door-destination-picker h3{margin:.1rem 0 .35rem;font:700 1rem "Manrope",sans-serif}.door-picker-copy{margin:0;color:var(--muted);font-size:.74rem}.door-picker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:1rem 0}.door-picker-list button{min-height:2.7rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:.55rem;background:var(--canvas);color:var(--ink);font-size:.72rem;font-weight:700;text-align:left;cursor:pointer}.door-picker-list button:hover{border-color:#9da8ff;background:#f0f2ff}.door-destination-picked{margin:0 0 1rem;padding:.75rem;border-radius:.55rem;background:#e8f8f1;color:var(--green);font-size:.74rem;font-weight:700}[data-theme="dark"] .door-picker-list button{background:#121823}[data-theme="dark"] .door-picker-list button:hover{background:#222b51;border-color:#5060b5}@media(max-width:450px){.door-picker-list{grid-template-columns:1fr}}
.line-endpoint strong{display:flex;flex-wrap:wrap;gap:.35rem}.line-door-button{padding:.28rem .48rem;border:1px solid #ccd2ff;border-radius:.45rem;background:#eef0ff;color:var(--blue);font:700 .72rem "Manrope",sans-serif;cursor:pointer}.line-door-button:hover{border-color:var(--blue);background:#dfe3ff}[data-theme="dark"] .line-door-button{border-color:#3a4780;background:#222b51;color:#adb8ff}[data-theme="dark"] .line-door-button:hover{border-color:#6073df;background:#293562}
.line-card{cursor:pointer}.line-card button,.line-card form{cursor:auto}.line-details-dialog{width:min(calc(100% - 2rem),560px)}.line-job-details,.line-route-details{padding:.95rem 0;border-top:1px solid var(--line)}.line-job-details h3,.line-route-details h3{margin:0 0 .7rem;font:700 .85rem "Manrope",sans-serif}.line-detail-muted{margin:0;color:var(--muted);font-size:.74rem}.line-job-item{display:grid;grid-template-columns:1fr auto;gap:.3rem;padding:.8rem;border:1px solid var(--line);border-radius:.6rem;background:var(--canvas)}.line-job-item+.line-job-item{margin-top:.55rem}.line-job-item strong{font-size:.78rem}.line-job-item span{padding:.18rem .4rem;border-radius:1rem;background:#e8f8f1;color:var(--green);font-size:.6rem;font-weight:700;text-transform:capitalize}.line-job-item p{grid-column:1/-1;margin:.15rem 0 0;color:var(--muted);font-size:.7rem;line-height:1.45}.line-route-details p{margin:0;color:var(--muted);font-size:.74rem;line-height:1.5}[data-theme="dark"] .line-job-item{background:#121823}
.line-detail-content{max-width:1100px;margin:0}.line-back-link{height:2.5rem;display:grid;place-items:center}.line-detail-route,.line-detail-jobs,.line-detail-drivers{margin-top:1.2rem;overflow:hidden}.line-detail-route-body{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1.35rem}.line-detail-route-body small,.line-detail-route-body strong{display:block}.line-detail-route-body small{color:var(--muted);font-size:.65rem;text-transform:uppercase}.line-detail-route-body strong{margin-top:.35rem;font-size:.8rem}.line-detail-route-body>div:last-child{display:grid;gap:.45rem}.line-detail-empty{padding:1.4rem;color:var(--muted);font-size:.76rem}.line-detail-job-list{display:grid;gap:.7rem;padding:1.2rem}.line-detail-job-list article{position:relative;padding:.9rem;border:1px solid var(--line);border-radius:.65rem;background:var(--canvas)}.line-detail-job-list strong{font-size:.8rem}.line-detail-job-list p{margin:.35rem 0;color:var(--muted);font-size:.72rem}.line-detail-job-list small{color:var(--muted);font-size:.64rem}.line-job-status{float:right;padding:.2rem .45rem;border-radius:1rem;background:#e8f8f1;color:var(--green);font-size:.6rem;font-weight:700;text-transform:capitalize}.line-job-status.closed{background:#eef0f4;color:var(--muted)}.line-detail-placeholder{padding:.25rem .5rem;border-radius:1rem;background:#fff4df;color:#9a6721;font-size:.62rem;font-weight:700}.line-driver-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.2rem}.line-driver-grid article{padding:1rem;border:1px solid var(--line);border-radius:.7rem;background:var(--canvas)}.line-driver-heading{display:flex;align-items:center;gap:.7rem}.line-driver-heading strong,.line-driver-heading small{display:block}.line-driver-heading strong{font-size:.82rem}.line-driver-heading small{margin-top:.15rem;color:var(--muted);font-size:.68rem}.line-driver-placeholder{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line)}.line-driver-placeholder small,.line-driver-placeholder b{display:block}.line-driver-placeholder small{color:var(--muted);font-size:.6rem}.line-driver-placeholder b{margin-top:.2rem;font-size:.68rem}[data-theme="dark"] .line-detail-job-list article,[data-theme="dark"] .line-driver-grid article{background:#121823}@media(max-width:700px){.line-detail-route-body{grid-template-columns:1fr}.line-detail-route-body .line-arrow{display:none}.line-driver-grid{grid-template-columns:1fr}.line-driver-placeholder{grid-template-columns:1fr}.line-back-link{margin-top:1rem}}
.move-truck-content{max-width:1100px;margin:0}.move-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:0 0 1.6rem;padding:0;list-style:none}.move-progress li{display:flex;align-items:center;gap:.55rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:.65rem;color:var(--muted);font-size:.7rem;font-weight:700}.move-progress li form{min-width:0;margin:0}.move-progress-edit{max-width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:.2rem}.move-progress-edit:hover{color:var(--blue)}.move-progress span{display:grid;flex:0 0 1.4rem;width:1.4rem;height:1.4rem;place-items:center;border-radius:50%;background:#eef0f4;color:#788091;font-size:.65rem}.move-progress li.complete{color:var(--green)}.move-progress li.complete span{background:#e8f8f1;color:var(--green)}.move-progress li.current{border-color:var(--blue);background:#eef0ff;color:var(--blue)}.move-progress li.current span{background:var(--blue);color:#fff}.move-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem}.move-heading h1{margin:0;font:800 clamp(2rem,4vw,3.2rem) "Manrope",sans-serif;letter-spacing:-.05em}.move-heading p{margin:.7rem 0 0;color:var(--muted)}.move-heading .eyebrow{margin-top:0}.move-reset-button{white-space:nowrap}.move-section-label{margin:2rem 0 .8rem;font:700 1rem "Manrope",sans-serif}.move-location{margin-top:1rem;padding:1.2rem;border:1px solid var(--line);border-radius:.9rem;background:var(--surface)}.move-location h3{margin:0 0 .9rem;font:700 1rem "Manrope",sans-serif}.move-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.move-choice-grid form{margin:0}.move-choice{display:grid;width:100%;min-height:5.5rem;place-items:center;padding:1rem;border:2px solid #ccd2ff;border-radius:.8rem;background:#eef0ff;color:var(--blue);font:800 1.05rem "Manrope",sans-serif;cursor:pointer}.move-choice:hover{border-color:var(--blue);background:#dfe3ff}.staged-choice{border-color:#c9eadb;background:#e8f8f1;color:var(--green)}.move-traveling-screen{display:grid;min-height:100vh;place-items:center;background:#050914;color:#fff;text-align:center}.move-traveling-screen main{width:min(100%,760px);padding:2rem}.move-traveling-screen main>span{display:block;color:#5bf0a7;font-size:2rem}.move-traveling-screen p{margin:1rem 0;color:#5bf0a7;font-size:1rem;font-weight:800;letter-spacing:.22em}.move-traveling-screen h1{margin:0;font:800 clamp(2.4rem,7vw,5.5rem)/1.05 "Manrope",sans-serif;letter-spacing:-.06em}.travel-arrived-button{width:min(100%,430px);min-height:5.5rem;margin-top:3rem;border:0;border-radius:1rem;background:#5668f6;color:#fff;font:800 1.1rem "Manrope",sans-serif;cursor:pointer}@media(max-width:550px){.move-progress{grid-template-columns:1fr}.move-heading{flex-direction:column}.move-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.move-choice{min-height:5rem}}
.move-destination-choice{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:5.5rem;padding:1rem 1.2rem;border:2px solid #ccd2ff;border-radius:.8rem;background:#eef0ff;color:var(--blue);text-align:left;cursor:pointer}.move-destination-choice strong,.move-destination-choice span{display:block}.move-destination-choice strong{font:800 1.1rem "Manrope",sans-serif}.move-destination-choice span{color:#6573c9;font-size:.75rem}.move-destination-choice:hover{border-color:var(--blue);background:#dfe3ff}[data-theme="dark"] .move-destination-choice{border-color:#3a4780;background:#222b51;color:#adb8ff}
.move-choice.line-door-priority{border-color:#6b7aff;background:#dfe3ff;box-shadow:0 0 0 3px rgba(86,104,246,.12)}[data-theme="dark"] .move-choice.line-door-priority{border-color:#6476df;background:#293562}
.description-qr-dialog{width:min(92vw,640px);max-height:90vh;padding:1.5rem;overflow:auto;box-sizing:border-box}.description-qr-dialog h2{margin:0;font-size:1.2rem}.description-qr-dialog p{color:var(--muted);font-size:.9rem;line-height:1.5}.description-qr-dialog svg{display:block;width:100%;max-width:560px;height:auto;margin:1rem auto 0}.jobs-content .row-actions,.assigned-job-actions{flex-wrap:wrap}

.job-posted-age{display:block;margin-top:.45rem;color:var(--muted);font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums}

.truck-card.truck-oss{border-color:#c04a59}.truck-oss-flag{display:inline-block;background:#ffe8eb;color:#a2263b}.truck-oss-flag[hidden]{display:none}.truck-details-fields{min-width:0;margin:0;padding:0;border:0}[data-theme="dark"] .truck-oss-flag{background:#451e29;color:#ffb6c0}
