:root{--ink:#122c3c;--ink-2:#25445a;--muted:#718391;--muted-2:#93a0a9;--line:#e2e9ec;--paper:#f2f6f7;--white:#fff;--blue:#24638a;--blue-2:#e7f1f6;--cyan:#66d1dd;--amber:#e7a33b;--amber-pale:#fff5df;--green:#218369;--green-pale:#e2f3ed;--red:#ca5b4e;--red-pale:#fcecea;--shadow:0 14px 34px rgba(20,49,67,.07);--sans:'Aptos','Segoe UI',Arial,sans-serif;--mono:'Consolas','Courier New',monospace}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:13px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(102,209,221,.8);outline-offset:2px}.app-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:var(--ink);color:#dae6eb;display:flex;flex-direction:column;padding:26px 15px 14px;z-index:3}.brand{display:flex;gap:11px;align-items:center;padding:2px 12px 31px;color:inherit;text-decoration:none}.brand-mark{position:relative;width:34px;height:34px;border:2px solid var(--cyan);border-radius:50%;display:grid;place-content:center;gap:3px;transform:rotate(-28deg)}.brand-mark:after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:var(--amber);right:-3px;top:0}.brand-mark i{display:block;width:15px;height:2px;border-radius:2px;background:var(--cyan)}.brand-mark i:nth-child(2){width:10px}.brand-mark i:nth-child(3){width:5px}.brand strong{display:block;font-size:20px;letter-spacing:-1px;color:#fff;font-weight:800}.brand strong span{color:var(--cyan)}.brand small{display:block;margin-top:2px;font-size:9px;text-transform:uppercase;letter-spacing:1.35px;color:#9ab0bb}.side-section-label{padding:0 13px 10px;color:#78909d;font:500 9px var(--mono);letter-spacing:1.2px}.main-nav{display:grid;gap:4px}.nav-item{width:100%;height:42px;display:flex;align-items:center;gap:12px;border:0;border-radius:8px;padding:0 12px;background:transparent;color:#aebdc5;text-align:left;font-size:12px;font-weight:650;transition:background .18s,color .18s}.nav-item:hover{color:white;background:rgba(255,255,255,.07)}.nav-item.is-active{color:white;background:#1c4156;box-shadow:inset 3px 0 var(--cyan)}.nav-icon{width:19px;color:#91a7b2;font-size:17px;text-align:center}.is-active .nav-icon{color:var(--cyan)}.nav-count{margin-left:auto;min-width:21px;height:19px;padding:2px 6px;border-radius:10px;background:#2d566d;color:#d8e9ef;font:500 10px var(--mono);text-align:center}.nav-count.warm{background:#5a4934;color:#ffd492}.online-dot,.connection-led{width:7px;height:7px;border-radius:50%;background:#63d6a5;box-shadow:0 0 0 3px rgba(99,214,165,.12)}.online-dot{margin-left:auto;margin-right:3px}.side-gap{margin-top:29px}.side-spacer{flex:1}.connection-card{margin:12px 3px 14px;padding:12px 11px;display:grid;grid-template-columns:24px 1fr 8px;gap:8px;align-items:start;border:1px solid #244659;border-radius:9px;background:#18394d}.connection-symbol{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:#345365;color:#a4bac4;font-size:14px}.connection-card strong,.connection-card small{display:block}.connection-card strong{font-size:10px;color:#d9e3e8}.connection-card small{margin-top:4px;font-size:9px;line-height:1.45;color:#8fa5b0}.connection-led{width:6px;height:6px;background:#e7a33b;box-shadow:0 0 0 3px rgba(231,163,59,.12)}.user-card{display:flex;gap:9px;align-items:center;width:100%;border:0;border-top:1px solid #244253;padding:14px 4px 3px;background:none;color:#fff;text-align:left}.avatar{display:grid;place-items:center;flex:none;border-radius:50%;font-size:10px;font-weight:800}.avatar-admin{width:30px;height:30px;background:#365c72;color:#dff4f3}.user-card strong,.user-card small{display:block}.user-card strong{font-size:10px}.user-card small{margin-top:3px;font-size:9px;color:#8fa5b0}.user-more{margin-left:auto;color:#8fa5b0;font-size:18px;letter-spacing:1px}
.main-area{grid-column:2;min-width:0}.topbar{height:57px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,3vw,48px);background:rgba(255,255,255,.9);border-bottom:1px solid var(--line)}.crumb{display:flex;gap:10px;align-items:center;color:#83929c;font-size:11px}.crumb-sep{color:#c1cbd0}.crumb strong{color:var(--ink);font-weight:700}.top-actions{display:flex;gap:18px;align-items:center}.demo-chip{display:flex;gap:7px;align-items:center;padding:6px 9px;border:1px solid #f0dfbb;border-radius:20px;background:#fff9eb;color:#956321;font:500 9px var(--mono);letter-spacing:.3px}.demo-chip span{width:6px;height:6px;border-radius:50%;background:var(--amber)}.icon-button{position:relative;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink-2);font-size:17px}.icon-button i{position:absolute;right:7px;top:7px;width:5px;height:5px;background:var(--red);border-radius:50%}.top-profile{display:flex;gap:8px;align-items:center;border:0;background:transparent;color:var(--ink);font-size:10px;font-weight:700}.top-profile .avatar{width:28px;height:28px}.top-profile b{margin-left:2px;color:#8997a0}.content-wrap{max-width:1500px;margin:auto;padding:29px clamp(22px,3vw,48px) 19px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.eyebrow{display:flex;align-items:center;gap:7px;color:#78909b;font:500 9px var(--mono);letter-spacing:.75px}.live-mark{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(33,131,105,.1)}.eyebrow-divider{color:#bec8cd}.page-heading h1{margin:10px 0 5px;font-size:clamp(24px,2.6vw,32px);letter-spacing:-1.15px;line-height:1.15;font-weight:800}.page-heading p{margin:0;color:var(--muted);font-size:12px}.heading-buttons{display:flex;gap:8px;flex:none}.button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink-2);font-size:10px;font-weight:750;transition:transform .15s,box-shadow .15s}.button:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(20,49,67,.1)}.button-primary{border-color:var(--ink);background:var(--ink);color:#fff}.button-primary:hover{background:#1e4760}.button-quiet{background:transparent}.button-plus{font-size:16px;color:var(--cyan)}.demo-banner{display:flex;gap:10px;align-items:center;margin-bottom:17px;padding:10px 12px;border:1px solid #efdfbd;border-radius:7px;background:#fff8e9;color:#806a47;font-size:10px;line-height:1.55}.demo-banner strong{color:#66512e}.demo-banner-icon{display:grid;place-items:center;flex:none;width:17px;height:17px;border-radius:50%;background:#f2dfb9;color:#835d20;font-family:serif;font-weight:800}.demo-banner button{margin-left:auto;border:0;background:none;color:#a48f6d;font-size:19px;line-height:1}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:15px}.metric{min-height:83px;display:grid;grid-template-columns:1fr auto;align-items:center;padding:14px 15px;border:1px solid var(--line);border-radius:8px;background:#fff}.metric-label{color:#7d8d97;font-size:10px;font-weight:650}.metric-value{margin-top:6px;font-size:25px;font-weight:800;letter-spacing:-1px}.metric-foot{margin-top:3px;color:#8c9aa2;font-size:9px}.metric-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:8px;background:#edf5f7;color:var(--blue);font-size:16px}.metric-icon.amber{background:var(--amber-pale);color:#b67e25}.metric-icon.green{background:var(--green-pale);color:var(--green)}.metric-icon.red{background:var(--red-pale);color:var(--red)}.metric-value em{font-style:normal;color:var(--muted);font-size:12px;font-weight:650;letter-spacing:0}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.82fr);gap:14px;align-items:stretch}.panel{min-width:0;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 2px 5px rgba(30,55,68,.015)}.panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 16px 12px}.panel-heading h2{margin:0;font-size:12px;font-weight:800;letter-spacing:-.1px}.panel-heading p{margin:4px 0 0;color:#8b9aa3;font-size:9px}.tiny-link{border:0;background:none;color:var(--blue);font-size:9px;font-weight:750}.route-select{height:28px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink-2);font-size:9px;font-weight:750}.map-panel{overflow:hidden}.map-meta{display:flex;gap:8px;align-items:center}.route-live{display:flex;align-items:center;gap:6px;padding:5px 7px;border-radius:5px;background:var(--green-pale);color:var(--green);font:500 8px var(--mono)}.route-live i{width:5px;height:5px;border-radius:50%;background:var(--green)}.map-canvas{position:relative;height:292px;overflow:hidden;background:#eaf0ec}.map-canvas:before,.map-canvas:after{content:'';position:absolute;background:rgba(255,255,255,.86);z-index:0}.map-canvas:before{height:23px;width:115%;top:49%;left:-4%;transform:rotate(-12deg)}.map-canvas:after{width:18px;height:120%;top:-10%;left:67%;transform:rotate(24deg)}.map-svg{position:absolute;inset:0;width:100%;height:100%;z-index:1}.map-label{position:absolute;z-index:2;color:#83938b;font:9px var(--mono);letter-spacing:.2px}.map-label.l1{top:20%;left:8%}.map-label.l2{top:69%;left:54%}.map-label.l3{top:25%;right:8%}.map-label.l4{bottom:9%;left:18%}.map-route-line{fill:none;stroke:#e7a33b;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 7}.map-road{fill:none;stroke:white;stroke-width:13;stroke-linecap:round;stroke-linejoin:round}.map-road.thin{stroke-width:7}.map-node{fill:white;stroke:#e7a33b;stroke-width:3}.map-node.done{fill:var(--green);stroke:white}.map-courier{fill:#173f55;stroke:white;stroke-width:3}.map-courier-core{fill:#fff}.map-controls{position:absolute;z-index:3;top:12px;right:12px;display:grid;gap:5px}.map-controls button{width:27px;height:27px;border:1px solid #d9e2df;border-radius:6px;background:white;color:var(--ink-2);box-shadow:0 2px 4px #203a3c12}.map-attribution{position:absolute;bottom:7px;right:9px;z-index:2;padding:4px 6px;border-radius:3px;background:#ffffffe5;color:#62746b;font:8px var(--mono)}.map-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;border-top:1px solid #edf1f2}.courier-mini{display:flex;gap:8px;align-items:center}.avatar-courier{width:29px;height:29px;background:#e4eff3;color:#245a74}.courier-mini strong{display:block;font-size:10px}.courier-mini small{display:block;margin-top:3px;color:#8b989f;font-size:9px}.map-stats{display:flex;gap:14px;color:#6c7d87;font-size:9px}.map-stats b{color:var(--ink);font:500 10px var(--mono)}.activity-panel{display:flex;flex-direction:column}.activity-list{display:grid;align-content:start;padding:2px 15px 9px}.activity-item{position:relative;display:grid;grid-template-columns:25px 1fr auto;gap:9px;padding:10px 0;border-bottom:1px solid #edf1f2}.activity-item:last-child{border-bottom:0}.activity-item:not(:last-child):after{content:'';position:absolute;left:12px;top:33px;bottom:-12px;width:1px;background:#e5ecee}.activity-icon{position:relative;z-index:1;display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#edf5f7;color:var(--blue);font-size:11px}.activity-icon.amber{background:var(--amber-pale);color:#aa7320}.activity-icon.green{background:var(--green-pale);color:var(--green)}.activity-icon.red{background:var(--red-pale);color:var(--red)}.activity-copy{min-width:0}.activity-copy strong{display:block;color:#304959;font-size:9px;font-weight:800}.activity-copy p{margin:3px 0 0;overflow:hidden;color:#7c8c95;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.activity-time{padding-top:2px;color:#9aa7ad;font:8px var(--mono)}.activity-foot{margin-top:auto;padding:10px 15px;border-top:1px solid #edf1f2;color:#8d9ba3;font:8px var(--mono)}.lower-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.85fr);gap:14px;margin-top:14px}.route-progress{display:flex;align-items:center;gap:11px;padding:0 16px 14px}.progress-track{height:5px;flex:1;overflow:hidden;border-radius:4px;background:#e7edf0}.progress-track span{display:block;height:100%;border-radius:4px;background:var(--green)}.progress-label{color:#667985;font:500 9px var(--mono)}.parcel-table-wrap{overflow-x:auto}.parcel-table{width:100%;border-collapse:collapse;text-align:left}.parcel-table th{padding:8px 13px;border-top:1px solid #edf1f2;border-bottom:1px solid #edf1f2;background:#fbfcfc;color:#91a0a8;font:500 8px var(--mono);letter-spacing:.5px;text-transform:uppercase}.parcel-table td{padding:10px 13px;border-bottom:1px solid #f0f3f4;color:#415866;font-size:9px;white-space:nowrap}.parcel-table tr:last-child td{border-bottom:0}.parcel-address{font-weight:750;color:#264253!important}.tracking{font:9px var(--mono)!important;color:#70818b!important}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:12px;background:#edf5f7;color:#34647e;font-size:8px;font-weight:750}.status-pill:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.status-pill.green{background:var(--green-pale);color:var(--green)}.status-pill.amber{background:var(--amber-pale);color:#a26f24}.status-pill.red{background:var(--red-pale);color:var(--red)}.collection-card{display:flex;gap:10px;align-items:flex-start;padding:11px 15px;border-top:1px solid #edf1f2}.collection-pin{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:7px;background:var(--amber-pale);color:#ad7826}.collection-copy{min-width:0;flex:1}.collection-copy strong{display:block;color:#314d5d;font-size:9px}.collection-copy p{margin:3px 0 5px;color:#8a989f;font-size:8px}.collection-copy small{color:#70818a;font-size:8px}.collection-time{color:#85959d;font:8px var(--mono)}.page-footer{display:flex;justify-content:space-between;gap:10px;margin-top:17px;padding-top:11px;border-top:1px solid #e1e8ea;color:#9aa7ad;font:8px var(--mono);letter-spacing:.4px}.page-footer b{color:#c2cbd0}
.view-toolbar{display:flex;gap:9px;align-items:center;margin:2px 0 13px}.search-box{position:relative;flex:1}.search-box span{position:absolute;left:11px;top:9px;color:#82939c;font-size:14px}.search-box input{width:100%;height:36px;padding:0 12px 0 34px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font-size:10px}.filter-select{height:36px;padding:0 11px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink-2);font-size:10px}.data-list{display:grid}.data-row{display:grid;grid-template-columns:minmax(190px,1.3fr) minmax(150px,1fr) minmax(130px,.8fr) minmax(100px,.65fr) 100px;gap:12px;align-items:center;padding:12px 15px;border-bottom:1px solid #eef2f3}.data-row:last-child{border-bottom:0}.data-head{padding:8px 15px;background:#fafcfc;color:#8e9da5;font:500 8px var(--mono);letter-spacing:.45px;text-transform:uppercase}.data-primary{display:flex;gap:8px;align-items:center;min-width:0}.data-primary strong,.data-primary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-primary strong{font-size:10px}.data-primary small{margin-top:3px;color:#8b989f;font-size:9px}.data-main{font-size:10px;font-weight:700;color:#3d5664}.data-sub{margin-top:3px;color:#8b989f;font-size:9px}.row-actions{display:flex;justify-content:flex-end;gap:5px}.small-action{height:27px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--blue);font-size:8px;font-weight:750}.empty-state{padding:38px;text-align:center;color:#8b9aa2;font-size:11px}.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.route-card{padding:16px}.route-card-top{display:flex;justify-content:space-between;align-items:flex-start}.route-code{font:500 9px var(--mono);color:#7f9098;letter-spacing:.5px}.route-card h3{margin:7px 0 4px;font-size:17px;letter-spacing:-.4px}.route-card p{margin:0;color:#7b8b93;font-size:10px}.route-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 12px;padding:12px 0;border-top:1px solid #eef2f3;border-bottom:1px solid #eef2f3}.route-card-stats strong{display:block;font-size:14px}.route-card-stats small{display:block;margin-top:3px;color:#87969f;font-size:8px}.route-card .progress-track{display:block}.driver-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.driver-card{padding:15px}.driver-header{display:flex;align-items:center;gap:10px}.driver-card .avatar{width:39px;height:39px;font-size:11px}.driver-card h3{margin:0;font-size:11px}.driver-card p{margin:4px 0 0;color:#87969f;font-size:9px}.driver-details{display:grid;grid-template-columns:1fr 1fr;margin:14px 0;padding:11px 0;border-top:1px solid #eef2f3;border-bottom:1px solid #eef2f3}.driver-details strong{display:block;font-size:13px}.driver-details small{display:block;margin-top:3px;color:#8998a0;font-size:8px}.driver-footer{display:flex;justify-content:space-between;align-items:center}.message-layout{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:430px}.conversation-list{border-right:1px solid #edf1f2}.conversation{display:flex;gap:9px;align-items:center;width:100%;padding:13px;border:0;border-bottom:1px solid #edf1f2;background:white;text-align:left}.conversation.selected{background:#f0f6f8}.conversation .avatar{width:31px;height:31px}.conversation strong,.conversation small{display:block}.conversation strong{font-size:9px}.conversation small{margin-top:3px;color:#87969f;font-size:8px}.chat-panel{display:flex;flex-direction:column;min-width:0}.chat-header{display:flex;align-items:center;gap:9px;padding:13px 16px;border-bottom:1px solid #edf1f2}.chat-header .avatar{width:32px;height:32px}.chat-header strong{display:block;font-size:10px}.chat-header small{display:block;margin-top:3px;color:#8a989f;font-size:9px}.chat-messages{display:grid;align-content:start;gap:10px;flex:1;min-height:245px;padding:18px;background:#f7f9f9}.chat-bubble{max-width:75%;padding:10px 12px;border:1px solid #e6ecee;border-radius:9px 9px 9px 2px;background:white;color:#526873;font-size:9px;line-height:1.5}.chat-bubble.mine{justify-self:end;border-color:#d9e9ef;border-radius:9px 9px 2px 9px;background:#eaf4f7;color:#31586e}.chat-bubble time{display:block;margin-top:5px;color:#9aa7ad;font:8px var(--mono);text-align:right}.chat-compose{display:flex;gap:8px;padding:12px}.chat-compose input{flex:1;min-width:0;height:35px;padding:0 11px;border:1px solid var(--line);border-radius:7px}.modal-scrim{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:18px;background:rgba(9,29,41,.52);backdrop-filter:blur(3px)}.modal-scrim[hidden]{display:none}.modal{width:min(100%,480px);max-height:calc(100vh - 40px);overflow:auto;padding:20px;border:1px solid #e3eaed;border-radius:12px;background:white;box-shadow:0 24px 80px #102b3b45}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.modal-head h2{margin:7px 0 0;font-size:19px;letter-spacing:-.5px}.modal-close{font-size:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.field{display:grid;gap:5px}.field.full{grid-column:1/-1}.field label{color:#627783;font-size:9px;font-weight:750}.field input,.field select,.field textarea{width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:10px}.field textarea{min-height:67px;resize:vertical}.route-detection{display:flex;gap:8px;align-items:center;padding:9px 10px;border:1px solid #cfe7de;border-radius:6px;background:#f1faf6;color:#427b66;font-size:9px;line-height:1.5}.route-detection.pending{border-color:#ecdcb8;background:#fff9ea;color:#94723b}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.toast{position:fixed;right:20px;bottom:20px;z-index:15;max-width:min(420px,calc(100vw - 40px));padding:12px 15px;border-radius:8px;background:var(--ink);box-shadow:var(--shadow);color:white;font-size:10px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1100px){.workspace-grid{grid-template-columns:minmax(0,1.4fr) minmax(245px,.8fr)}.lower-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.data-row{grid-template-columns:minmax(170px,1.2fr) minmax(140px,1fr) minmax(110px,.8fr) 90px}.data-row>*:nth-child(4){display:none}.driver-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;inset:auto 0 0;width:auto;height:62px;padding:5px 8px calc(5px + env(safe-area-inset-bottom));flex-direction:row;align-items:center;justify-content:space-around;box-shadow:0 -6px 22px #102b3b18}.brand,.side-section-label,.connection-card,.user-card,.side-spacer{display:none}.main-nav{display:contents}.nav-item{width:auto;height:48px;min-width:48px;display:grid;justify-items:center;align-content:center;gap:3px;padding:4px 5px;font-size:8px}.nav-icon{font-size:17px;line-height:1}.nav-count,.online-dot{position:absolute;transform:translate(15px,-11px);min-width:15px;height:15px;padding:2px 4px;font-size:8px}.nav-item:not([data-page="dashboard"]):not([data-page="routes"]):not([data-page="parcels"]):not([data-page="collections"]):not([data-page="messages"]):not([data-page="drivers"]){display:none}.main-area{padding-bottom:68px}.topbar{height:49px;padding:0 15px}.top-actions{gap:8px}.top-profile>span:not(.avatar),.top-profile b{display:none}.demo-chip{font-size:8px}.content-wrap{padding:20px 14px 16px}.page-heading{align-items:flex-start;flex-direction:column;gap:14px}.page-heading h1{font-size:25px}.heading-buttons{width:100%}.heading-buttons .button{flex:1}.demo-banner{align-items:flex-start;font-size:9px}.metric-grid{gap:8px}.metric{min-height:74px;padding:10px}.metric-value{font-size:21px}.workspace-grid,.lower-grid{grid-template-columns:1fr}.map-canvas{height:245px}.map-stats{gap:8px}.activity-panel{min-height:300px}.page-footer{font-size:7px}.page-footer span:last-child{text-align:right}.data-row{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:11px 12px}.data-row>*:nth-child(2){grid-column:1}.data-row>*:nth-child(3){grid-column:1}.data-row>*:nth-child(4){display:block;grid-column:1}.data-row>*:nth-child(5){grid-column:2;grid-row:1/5}.data-head{display:none}.route-grid,.driver-grid{grid-template-columns:1fr}.message-layout{grid-template-columns:1fr}.conversation-list{display:flex;overflow:auto;border-right:0;border-bottom:1px solid #edf1f2}.conversation{min-width:180px}.chat-messages{min-height:220px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.page-footer{gap:5px}.modal{padding:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Authentification de la console en mode connecté. */
.connection-card{width:100%;border:0;color:inherit;text-align:left;background:transparent;font:inherit}
.connection-card:hover{background:rgba(255,255,255,.05)}
.connection-gate[hidden]{display:none}
.connection-gate{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:22px;background:rgba(10,28,39,.84);backdrop-filter:blur(8px)}
.connection-gate-card{width:min(440px,100%);padding:34px;background:#fff;border:1px solid #d8e2e6;border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.28);display:grid;gap:13px}
.connection-gate-card .gate-mark{width:42px;height:42px;margin-bottom:8px;border-color:#1e5e96}
.connection-gate-card .gate-mark i{background:#1e5e96}
.connection-gate-card .eyebrow{color:#1e5e96;font-size:10px;font-weight:800;letter-spacing:1.4px}
.connection-gate-card h1{margin:0;font-size:26px;color:#102b3b}
.connection-gate-card p{margin:0 0 6px;color:#526875;line-height:1.6}
.connection-gate-card label{font-size:12px;font-weight:700;color:#203a48}
.connection-gate-card input{width:100%;padding:12px 13px;border:1px solid #cbd8df;border-radius:9px}
.connection-gate-card .button{justify-content:center;padding:12px}
.connection-error{min-height:18px;color:#ae3340;font-size:12px}
body.remote-locked .app-shell{filter:blur(5px);pointer-events:none;user-select:none}
.connection-led.is-live{background:#42d392;box-shadow:0 0 0 4px rgba(66,211,146,.12)}
.route-live.is-connected{color:#147451}
.pairing-panel{text-align:center;padding:18px;border:1px solid #d6e3e8;border-radius:14px;background:#f6fafb}
.pairing-code{display:block;font-size:38px;letter-spacing:8px;color:#1e5e96;font-variant-numeric:tabular-nums}
.pairing-panel p{color:#526875;line-height:1.6}
