
:root{--ink:#0b2341;--panel:#173c5b;--muted:#718196;--line:#dfe6ee;--paper:#f2f5f9;--white:#fff;--yellow:#2f73d2;--yellow2:#dbe8fb;--blue:#2f73d2;--green:#20866b;--red:#c94b42;--radius:16px;--shadow:0 8px 24px #18202a0c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,select,input{font:inherit}button{cursor:pointer}.app{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}
aside{background:var(--ink);color:#fff;padding:24px 16px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px;border-bottom:1px solid #ffffff22}.brand-mark{width:38px;height:38px;border:2px solid var(--yellow);border-radius:11px;display:grid;place-items:center;font-size:20px;font-weight:900;color:var(--yellow);transform:rotate(-3deg)}.brand strong{display:block;font-size:14px;letter-spacing:.11em}.brand small{display:block;color:#bdbdbd;font-size:10px;letter-spacing:.18em;margin-top:2px}.side-label{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#8c8c8c;padding:0 10px;margin-bottom:6px}.nav{display:grid;gap:5px}.nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;color:#c7c7c7;text-decoration:none;transition:.18s}.nav a:hover,.nav a.active{color:#fff;background:var(--yellow);font-weight:700}.nav a span:first-child{width:18px;text-align:center;font-size:16px}.side-bottom{margin-top:auto;border-top:1px solid #ffffff22;padding:16px 8px 4px;color:#aaa;font-size:11px}.nexos-mini{color:var(--yellow);font-weight:800;letter-spacing:.13em;font-size:12px;margin-bottom:5px}
main{min-width:0;padding:26px clamp(18px,3vw,42px) 44px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.crumb{font-size:12px;color:var(--muted)}.crumb b{color:var(--ink);font-weight:700}.top-actions{display:flex;align-items:center;gap:10px}.period{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 12px;font-weight:700;box-shadow:0 2px 6px #00000007}.period i{width:8px;height:8px;background:var(--yellow);border-radius:99px}.icon-btn{width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:10px;color:#444}.icon-btn:hover{border-color:#8db6ec}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:2px 0 22px;background:linear-gradient(112deg,#103b5c,#286982);color:#fff;border-radius:18px;padding:26px 28px}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#bfdeeb;font-weight:700}.hero h1{font-size:clamp(25px,3vw,34px);line-height:1.1;margin:5px 0 8px;letter-spacing:-.04em}.hero p{margin:0;color:#d4e3ed;font-size:13px}.hero-right{display:flex;gap:8px;flex-wrap:wrap}.tag{display:inline-flex;gap:7px;align-items:center;padding:7px 10px;background:#fff;border:1px solid var(--line);border-radius:999px;color:#555;font-size:11px;font-weight:650}.tag .dot{width:7px;height:7px;background:var(--green);border-radius:50%}.tag.dark{background:#eaf1ff;color:#245ca8;border-color:#d9e6f8}.tag.dark b{color:var(--blue)}
.section{scroll-margin-top:20px;margin-bottom:24px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head h2{font-size:16px;margin:0;letter-spacing:-.02em}.section-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.section-head button,.ghost{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 11px;color:#333;font-size:12px;font-weight:650}.section-head button:hover,.ghost:hover{border-color:#8db6ec}.grid{display:grid;gap:14px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid #ececec;border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.kpi{padding:17px 18px 15px;position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--yellow)}.kpi-top{display:flex;align-items:center;justify-content:space-between;color:#777;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.kpi-icon{width:28px;height:28px;border-radius:9px;background:#eaf1ff;display:grid;place-items:center;color:#2763ad;font-size:14px}.kpi-value{font-size:clamp(24px,2.4vw,32px);font-weight:780;letter-spacing:-.05em;margin:9px 0 2px;white-space:nowrap}.kpi-sub{font-size:11px;color:#767676}.kpi-sub strong{color:#252525}
.overview-grid{grid-template-columns:minmax(0,1fr)}.chart-card{padding:18px}.card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.card-title h3{font-size:14px;margin:0}.card-title p{font-size:11px;color:var(--muted);margin:3px 0 0}.legend{font-size:10px;color:#777;white-space:nowrap}.legend i{display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--yellow);margin-right:5px}.legend .black{background:#173c5b;margin-left:10px}.bar-chart{height:208px;display:flex;align-items:flex-end;gap:clamp(10px,2vw,24px);padding:18px 12px 26px;border-bottom:1px solid var(--line);position:relative}.bar-chart:before,.bar-chart:after{content:"";position:absolute;left:0;right:0;border-top:1px dashed #e8e8e8}.bar-chart:before{top:33%}.bar-chart:after{top:66%}.bar-col{height:100%;flex:1;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:7px;z-index:1}.bar{width:min(48px,70%);min-width:20px;border-radius:7px 7px 2px 2px;background:var(--yellow);position:relative;transition:height .35s,filter .2s}.bar:hover{filter:brightness(.94)}.bar.dark{background:#173c5b}.bar-value{font-size:10px;font-weight:750;color:#555}.bar-label{position:absolute;bottom:-22px;font-size:10px;color:#686868;white-space:nowrap}.chart-note{display:flex;justify-content:space-between;margin-top:14px;font-size:11px;color:#666}.mix-list{display:grid;gap:17px;padding:7px 1px 5px}.mix-row{display:grid;grid-template-columns:80px 1fr 50px;align-items:center;gap:10px}.mix-row .name{font-size:12px;color:#444;font-weight:650}.track{height:9px;background:#f0f0f0;border-radius:99px;overflow:hidden}.fill{height:100%;background:var(--yellow);border-radius:inherit}.fill.dark{background:#173c5b}.mix-row b{text-align:right;font-size:12px}.mix-meta{display:flex;justify-content:space-between;margin-top:22px;padding-top:14px;border-top:1px solid var(--line);font-size:11px;color:#777}.mix-meta strong{color:#1d1d1d}
.lower-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mini-card{padding:17px}.mini-card h3{font-size:13px;margin:0 0 4px}.mini-card p{font-size:11px;color:var(--muted);margin:0 0 14px}.statline{display:flex;align-items:baseline;gap:7px}.statline b{font-size:26px;letter-spacing:-.04em}.statline span{font-size:11px;color:#777}.status-stack{display:grid;gap:11px;margin-top:14px}.status-item{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#555}.status-item strong{font-size:12px;color:#161616}.status-item .pill{padding:4px 7px;border-radius:999px;background:#f1f1f1;font-weight:700}.status-item .pill.yellow{background:#eaf1ff;color:#245ca8}.service-progress{margin-top:14px;height:8px;background:#eee;border-radius:99px;overflow:hidden}.service-progress span{display:block;height:100%;background:var(--yellow);border-radius:inherit}.carbon-big{display:flex;align-items:baseline;gap:8px;margin:8px 0 12px}.carbon-big b{font-size:30px;letter-spacing:-.05em}.carbon-big span{font-size:11px;color:#777}.trend{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#666;background:#f5f5f5;border-radius:99px;padding:5px 8px}
.two-col{grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr)}.table-card{overflow:hidden}.table-top{padding:16px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}.table-top h3{font-size:14px;margin:0}.table-top span{font-size:11px;color:#777}.table-wrap{overflow:auto;max-height:360px}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th,td{text-align:left;padding:10px 15px;border-bottom:1px solid #f0f0f0}th{position:sticky;top:0;background:#fafafa;color:#666;font-size:10px;text-transform:uppercase;letter-spacing:.07em;z-index:1}td:last-child,th:last-child{text-align:right}tbody tr:hover{background:#f4f8fe}.route{font-weight:650}.number{font-variant-numeric:tabular-nums}.customer-list{display:grid;max-height:500px;overflow:auto}.customer-row{display:grid;grid-template-columns:25px minmax(0,1fr) 32px 100px 58px;gap:8px;align-items:center;padding:8px 14px;border-bottom:1px solid #f0f0f0}.customer-row:last-child{border:0}.customer-bar{height:7px;background:#edf2f7;border-radius:99px;overflow:hidden}.customer-bar i{display:block;height:100%;background:var(--blue);border-radius:inherit}.customer-share{text-align:right;font-size:10px;color:#667085;font-variant-numeric:tabular-nums}.table-foot{padding:11px 15px;background:#f8fafc;border-top:1px solid var(--line);font-size:10px;color:#667085}.destination-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain}.destination-card{overflow:hidden}.destination-card .card-title{align-items:center}.destination-frame{padding:4px;background:#f7f9fc;border:1px solid #e8edf4;border-radius:12px;overflow:hidden}.chart-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 14px}.chart-insight{padding:12px 14px;border:1px solid #e7edf4;border-radius:11px;background:#fbfcfe}.chart-insight span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.chart-insight strong{display:block;margin-top:4px;color:var(--ink);font-size:13px}.chart-legend{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:0 0 10px;color:#5b6878;font-size:11px}.chart-legend span{display:flex;align-items:center;gap:7px}.chart-legend i{width:9px;height:9px;border-radius:3px;background:#2f73d2}.chart-legend i.line-swatch{height:3px;width:16px;border-radius:3px;background:#0b2341}.expand-chart{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:9px;padding:8px 10px;font-size:11px;font-weight:700}.expand-chart:hover{border-color:#8db6ec;color:#245ca8}.chart-dialog{width:min(96vw,1600px);max-width:none;border:0;border-radius:18px;padding:18px;background:#fff;box-shadow:0 24px 80px #0b234144}.chart-dialog::backdrop{background:#071a2bd1;backdrop-filter:blur(3px)}.chart-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.chart-dialog-head h3{margin:0;font-size:15px}.chart-dialog-close{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:19px}.chart-dialog img{display:block;width:100%;height:auto;max-height:82vh;object-fit:contain}.chart-dialog p{font-size:10px;color:var(--muted);margin:10px 0 0}.vehicle-mix-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0}.vehicle-tile{padding:14px;border:1px solid #e8edf4;border-radius:12px;background:#fbfcfe}.vehicle-tile-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:11px}.vehicle-tile-head strong{font-size:12px}.vehicle-tile-head span{font-size:11px;color:#667085}.vehicle-tile .track{height:7px}.vehicle-tile-foot{margin-top:8px;font-size:10px;color:#718096}.map-card{grid-column:1/-1}.map-card .card-title{align-items:center}.map-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,.7fr);gap:16px;align-items:stretch}.map-canvas{min-width:0;overflow:hidden;border:1px solid #e2eaf2;border-radius:14px;background:linear-gradient(145deg,#f8fbfd,#edf4f8)}.route-map{display:block;width:100%;height:auto}.map-land{fill:#e8f0f5;stroke:#c6d5e1;stroke-width:2.2;stroke-linejoin:round}.map-river{fill:none;stroke:#bfd4e3;stroke-width:1.3;stroke-linecap:round;opacity:.75}.map-region{fill:#93a6b7;opacity:.58;font-size:14px;font-weight:750;letter-spacing:.18em}.map-water-label{fill:#9aabba;font-size:11px;letter-spacing:.16em}.map-route{fill:none;opacity:.45;transition:opacity .18s,stroke-width .18s;vector-effect:non-scaling-stroke}.map-route.siberia{stroke:#173c5b}.map-route.yumbo{stroke:#2f73d2}.map-route:hover{opacity:.95;stroke-width:5}.map-destination{fill:#fff;stroke:#2f73d2;stroke-width:3;vector-effect:non-scaling-stroke}.map-origin{fill:#173c5b;stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke}.map-origin.yumbo{fill:#2f73d2}.map-label{fill:#31465a;font-size:11px;font-weight:650;paint-order:stroke;stroke:#f5f9fc;stroke-width:4;stroke-linejoin:round}.map-label.major{font-size:12px;font-weight:800;fill:#0b2341}.map-cluster-label{fill:#234b70;font-size:11px;font-weight:800;paint-order:stroke;stroke:#f5f9fc;stroke-width:5}.map-summary{padding:17px;border:1px solid #e6edf3;border-radius:14px;background:#fff;min-width:0}.map-summary-title{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#718196;font-weight:750;margin:0 0 12px}.route-ranking{display:grid;gap:13px}.route-rank{display:grid;gap:5px}.route-rank-top{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#536275}.route-rank-top strong{color:#0b2341;white-space:nowrap}.route-rank-top span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-rank .track{height:6px;background:#edf2f6}.route-rank .fill{background:#2f73d2}.map-legend{display:grid;gap:9px;margin-top:18px;padding-top:14px;border-top:1px solid #edf1f5}.map-legend-item{display:flex;align-items:center;gap:8px;color:#657386;font-size:10px}.legend-marker{width:10px;height:10px;border-radius:50%;background:#173c5b;box-shadow:0 0 0 3px #173c5b1a}.legend-marker.yumbo{background:#2f73d2;box-shadow:0 0 0 3px #2f73d21a}.legend-line{width:20px;height:3px;border-radius:3px;background:#6b8aa8}.map-metrics{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.map-metric{padding:7px 10px;background:#f4f7fa;border:1px solid #e7edf3;border-radius:9px;color:#68788b;font-size:10px}.map-metric strong{color:#0b2341;font-size:11px}.map-note{font-size:10px;line-height:1.5;color:#718196;margin:13px 0 0;padding-top:11px;border-top:1px solid #edf1f5}
.carbon-vehicle-list{display:grid;gap:10px}.carbon-vehicle-row{display:flex;justify-content:space-between;font-size:11px;color:#586579}.carbon-vehicle-row strong{color:var(--ink)}.mini-divider{border-top:1px solid var(--line);margin:17px 0}.map-card img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line)}.map-caption{font-size:9px;color:#7b8794;margin:8px 0 0}.rank{width:25px;height:25px;display:grid;place-items:center;background:#f5f5f5;border-radius:8px;color:#777;font-weight:700;font-size:10px}.customer-name{font-size:11px;font-weight:620;overflow:hidden;text-overflow:ellipsis}.customer-num{text-align:right;font-size:12px;font-weight:750}.search{width:min(190px,40vw);border:1px solid var(--line);border-radius:8px;padding:8px 10px;outline:none;font-size:11px}.search:focus{border-color:#7da9e2;box-shadow:0 0 0 3px #2f73d222}.carbon-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.65fr)}.carbon-bars{display:grid;gap:13px}.carbon-route{display:grid;grid-template-columns:145px 1fr 42px;gap:10px;align-items:center}.carbon-route span{font-size:11px;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.carbon-route .track{height:8px}.carbon-route b{text-align:right;font-size:11px}.footnote{font-size:10px;color:#888;margin:16px 0 0;padding:12px 2px;border-top:1px solid var(--line)}
.toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#173c5b;color:white;padding:10px 14px;border-radius:10px;font-size:12px;transition:.2s;z-index:20;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translate(-50%,0)}.mobile-menu{display:none}
@media(max-width:1050px){.app{grid-template-columns:205px minmax(0,1fr)}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.lower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.app{display:block}aside{height:auto;position:relative;padding:12px 16px;gap:10px}.brand{border:0;padding:2px 4px}.brand-mark{width:34px;height:34px}.mobile-menu{display:block;margin-left:auto;background:transparent;border:1px solid #ffffff40;color:white;border-radius:8px;padding:7px 10px}.nav-wrap{display:none}.nav-wrap.open{display:block}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav a{font-size:12px;padding:9px}.side-label,.side-bottom{display:none}main{padding:17px 14px 32px}.topbar{margin-bottom:18px}.hero{display:block}.hero-right{margin-top:14px}.overview-grid,.two-col,.carbon-grid{grid-template-columns:1fr}.map-card{grid-column:auto}.map-layout{grid-template-columns:1fr}.map-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px}.map-summary-title{grid-column:1/-1;margin-bottom:0}.map-legend{margin-top:0;padding-top:0;border-top:0}.map-note{grid-column:1/-1}.route-map{min-height:0}.chart-insights{grid-template-columns:1fr 1fr}.vehicle-mix-list{grid-template-columns:1fr}.customer-row{grid-template-columns:24px minmax(0,1fr) 30px 72px 48px}.lower-grid{grid-template-columns:1fr 1fr}.section{margin-bottom:19px}.mix-row{grid-template-columns:70px 1fr 45px}.carbon-route{grid-template-columns:115px 1fr 35px}}
@media(max-width:440px){.chart-insights{grid-template-columns:1fr}.kpis{gap:9px}.kpi{padding:13px}.kpi-value{font-size:23px}.kpi-top{font-size:9px}.lower-grid{grid-template-columns:1fr}.hero h1{font-size:27px}.period{font-size:11px}.icon-btn{width:35px;height:35px}}

.history-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.history-kpi{padding:16px 17px;position:relative;overflow:hidden}.history-kpi:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--blue)}.history-kpi span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:750}.history-kpi strong{display:block;font-size:clamp(20px,2vw,27px);letter-spacing:-.04em;margin:7px 0 1px;color:var(--ink)}.history-kpi small{font-size:10px;color:#788497}.history-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);align-items:stretch}.history-card{padding:18px}.history-controls{display:flex;gap:6px;flex-wrap:wrap;margin:-2px 0 12px}.history-controls button{border:1px solid var(--line);background:#fff;color:#5d6b7b;border-radius:8px;padding:7px 10px;font-size:10px;font-weight:700}.history-controls button[aria-pressed="true"]{background:#eaf1ff;color:#245ca8;border-color:#cdddf3}.history-chart{width:100%;height:auto;display:block;overflow:visible}.history-axis{stroke:#dfe6ee;stroke-width:1}.history-gridline{stroke:#e8edf3;stroke-dasharray:3 4}.history-bar{fill:#2f73d2;rx:3;transition:opacity .15s}.history-bar:hover{opacity:.72}.history-tick{fill:#718196;font-size:10px}.history-value{fill:#31465a;font-size:10px;font-weight:700}.destination-rank{display:grid;gap:10px}.destination-rank-row{display:grid;grid-template-columns:minmax(0,112px) 1fr 58px;align-items:center;gap:9px}.destination-rank-name{font-size:10px;color:#435267;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.destination-rank-row .track{height:8px;background:#edf2f6}.destination-rank-row .fill{background:#2f73d2}.destination-rank-count{text-align:right;font-size:9px;font-weight:750;color:#34445a}.history-insight{margin-top:15px;padding:12px;border:1px solid #e5edf7;border-radius:10px;background:#f7faff;color:#526276;font-size:10px;line-height:1.55}.history-insight strong{color:var(--ink)}.history-table-card{margin-top:14px;overflow:hidden}.data-quality{display:flex;gap:11px;align-items:flex-start;padding:13px 15px;border:1px solid #ecdca9;background:#fff9e8;border-radius:11px;color:#69561d;font-size:11px;line-height:1.5;margin-top:14px}.data-quality b{color:#51400f}.history-table-card .table-wrap{max-height:430px}.history-source{font-size:10px;color:#718196;margin:11px 2px 0;line-height:1.55}
@media(max-width:1050px){.history-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.history-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.history-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.history-kpi{padding:13px}.history-tick{font-size:9px}.destination-rank-row{grid-template-columns:minmax(0,100px) 1fr 56px}}

/* Billing view extends the established Henkel / WeDo visual style. */
.brand strong{font-size:23px;letter-spacing:-.04em}.brand small{color:#bfdeeb;letter-spacing:.19em}.brand-mark{color:#68c4ff;border-color:#68c4ff;font-size:25px}.side-label{color:#a0b5ca}.nav a{color:#ccd8e5}.side-bottom{color:#a7bad0}.nexos-mini{color:#8cc9fb;letter-spacing:.04em}.sidebar-client{margin:0 8px;padding:16px 12px;border:1px solid #ffffff20;border-radius:12px;background:#ffffff08}.sidebar-client span,.sidebar-client strong,.sidebar-client small{display:block}.sidebar-client span{color:#9eb7cc;font-size:9px;letter-spacing:.13em}.sidebar-client strong{font-size:14px;margin:8px 0 4px}.sidebar-client small{font-size:10px;color:#b7cadd}
.filters{display:grid;grid-template-columns:minmax(200px,1.3fr) minmax(160px,1.1fr) minmax(130px,.85fr) minmax(130px,.85fr) auto;gap:12px;padding:17px 18px;align-items:end}.filters label{display:grid;gap:6px;font-size:10px;color:#64758b;text-transform:uppercase;letter-spacing:.05em;font-weight:750}.filters select,.filters input{width:100%;min-width:0;background:#f9fbfd;border:1px solid #dfe6ee;border-radius:8px;color:#193a5a;padding:9px 10px;height:38px;font-size:12px;text-transform:none;letter-spacing:normal}.reset{height:38px;white-space:nowrap}.filter-meta{display:flex;justify-content:space-between;gap:12px;color:#718196;font-size:10px;margin:9px 2px 24px}.filter-error{background:#fff2e5;color:#8d571a;padding:10px 14px;border-radius:9px;font-size:12px}.scope-pill{font-size:10px;border:1px solid #d6e4f6;border-radius:99px;color:#34679e;background:#eaf1ff;padding:5px 9px;white-space:nowrap}
.kpis{gap:12px}.kpi-value{font-size:clamp(23px,2vw,29px)}.kpi-top{font-size:9px;color:#63748a;letter-spacing:.035em;gap:8px}.kpi-icon{flex-shrink:0}.featured{background:linear-gradient(120deg,#f1f6fe,#fff);border-color:#d3e2f5}.featured .kpi-value{color:#2464b7}.kpi-sub{color:#7a8797}.data-strip{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin:12px 0 20px;font-size:11px;color:#718196}.data-strip strong{color:#294661}.billing-charts{grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr)}.chart-unit{color:#557492;background:#f1f6fb;border-radius:6px;padding:4px 8px;font-size:10px}.history-chart{min-height:190px}.carrier-ranking{display:grid;gap:12px}.carrier-rank{padding:0;border:0;background:transparent;text-align:left;color:var(--ink);display:block;width:100%;border-radius:6px}.carrier-rank:hover{background:#f5f8fc}.carrier-rank-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px;font-size:11px}.carrier-rank-top b{font-size:15px}.carrier-rank-top small{font-size:9px;color:#7c8b9c;font-weight:500}.carrier-rank .track{display:block;height:7px;background:#edf2f7}.carrier-rank .fill{display:block}.carrier-rank-meta{display:flex;justify-content:space-between;font-size:10px;color:#718196;margin-top:5px}.chart-empty{display:grid;place-items:center;min-height:190px;color:#718196;font-size:12px}
.num{text-align:right;font-variant-numeric:tabular-nums}.strong{font-weight:750}.muted{color:#7b899b}.carrier-table-wrap{max-height:none}tfoot th{position:static;background:#edf3fc;border-bottom:0;font-size:12px;letter-spacing:0;text-transform:none;color:#16395e;padding-top:14px;padding-bottom:14px}.table-carrier{display:inline-flex;align-items:center;gap:9px;border:0;padding:0;background:none;color:var(--ink);font-weight:700;font-size:12px}.table-carrier:hover{color:#2f73d2}.table-carrier i{width:9px;height:9px;border-radius:3px}.table-foot{font-size:10px;line-height:1.6}.service-table-wrap{max-height:none}.table-top h3{margin-bottom:4px}.search{width:270px;font-size:11px;background:#f9fbfd;padding:10px 12px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-top:1px solid var(--line);font-size:11px;color:#718196}.pagination>div{display:flex;gap:6px}.ghost:disabled{opacity:.4;cursor:default}.plate{letter-spacing:.035em;display:block;font-size:12px}.row-review{display:inline-block;margin-top:3px;font-size:8px;background:#fff1dc;color:#97641c;border-radius:4px;padding:2px 5px}.destinations{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7a899b;font-size:10px;margin-top:3px}.status-badge{display:inline-block;padding:5px 8px;border-radius:99px;font-size:10px;font-weight:650;color:#376697;background:#edf4fc}.status-badge.route-status{color:#91621e;background:#fff4df}.detail-button{border:1px solid #dce6f2;background:#f5f9ff;color:#3269a8;padding:5px 8px;border-radius:7px;font-size:10px;font-weight:650}.detail-button:hover{background:#e5effd}.empty-state{text-align:center!important;padding:40px 20px;color:#718196}
.criteria-grid{grid-template-columns:1.1fr 1fr}.criteria-card{padding:20px}.criteria-card p{font-size:12px;line-height:1.65;color:#63768d;margin:10px 0}.criteria-card p strong{color:#264a6a}.formula{display:flex;align-items:center;justify-content:space-between;gap:7px;flex-wrap:wrap;padding:14px 16px;background:#f1f6fc;border-radius:10px;margin:12px 0 16px;color:#2b5d8e;font-size:13px}.formula b{font-size:12px;color:#9bb1c7}.formula strong{font-size:16px}.validation-card{border-color:#e8dcc7;background:#fffdfa}.review-badge{display:inline-block;border-radius:99px;background:#fff1db;color:#97641c;padding:5px 8px;font-size:9px;white-space:nowrap}.source-details{margin-top:14px;border:1px solid #dfe6ee;border-radius:10px;background:#f7f9fc;font-size:11px;color:#6c7d91}.source-details summary{padding:12px 15px;cursor:pointer;font-weight:650}.source-details>div{padding:0 15px 8px;line-height:1.6}.footnote{display:flex;justify-content:space-between;gap:12px;color:#8190a0;flex-wrap:wrap}
.service-dialog{width:min(1120px,95vw);max-width:1120px;border:0;border-radius:18px;padding:24px;background:#fff;color:var(--ink);box-shadow:0 24px 80px #0b234144;max-height:90vh}.service-dialog::backdrop{background:#071a2bbd;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.dialog-top .eyebrow{color:#698baa;font-size:9px}.dialog-top h2{font-size:22px;margin:5px 0 6px;letter-spacing:-.03em}.dialog-top p{font-size:12px;margin:0;color:#718196}.dialog-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.dialog-metrics>div{background:#f2f6fb;border:1px solid #e1eaf5;border-radius:10px;padding:14px}.dialog-metrics span{display:block;font-size:9px;color:#718196;text-transform:uppercase;letter-spacing:.04em}.dialog-metrics strong{display:block;margin-top:7px;font-size:17px;letter-spacing:-.02em}.dialog-metrics>div:last-child{background:#eaf2fe}.dialog-table{overflow:auto;max-height:46vh}.dialog-table td{vertical-align:top}.dialog-table small{display:block;color:#718196;font-size:10px;margin-top:5px}.dialog-table td.order-customer{min-width:190px;max-width:250px;white-space:normal;font-size:11px}.dialog-table td:last-child{text-align:left;font-size:10px}.dialog-foot{font-size:11px;color:#718196;line-height:1.6;margin:16px 0 0}.review-note{padding:12px 14px;background:#fff3df;color:#8c652b;border-radius:8px;font-size:11px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #77b5f5;outline-offset:3px}.section{scroll-margin-top:20px}
@media(min-width:1600px){main{max-width:1600px;width:100%;margin:0 auto}}
@media(max-width:1250px){.filters{grid-template-columns:1.3fr 1.1fr 1fr 1fr}.filters .reset{grid-column:1/-1;justify-self:end;height:31px}.kpi-value{font-size:24px}.top-actions .export-button{font-size:10px}.criteria-grid{grid-template-columns:1fr 1fr}}
@media(max-width:1050px){.billing-charts{grid-template-columns:minmax(0,1.4fr) minmax(230px,1fr)}.filters{grid-template-columns:1fr 1fr}.filters .reset{grid-column:auto}.criteria-grid{grid-template-columns:1fr}.kpi-value{font-size:28px}.topbar{align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.topbar .crumb{padding-top:10px;white-space:nowrap}.hero{padding:22px}}
@media(max-width:880px){.billing-charts{grid-template-columns:1fr}.carrier-ranking{grid-template-columns:1fr 1fr;gap:18px 24px}.sidebar-client{font-size:12px}.filters .reset{grid-column:1/-1}.history-chart{min-height:0}}
@media(max-width:760px){.sidebar-client{display:none}.hero{padding:23px 20px}.hero h1{font-size:29px}.hero p{font-size:12px;line-height:1.6}.hero .tag{font-size:10px}.filters{padding:14px;gap:12px}.filter-meta{font-size:9px}.data-strip{gap:9px 17px;font-size:10px}.scope-pill{display:none}.topbar{gap:8px}.topbar .crumb{font-size:10px;white-space:normal;padding-top:0}.period{font-size:10px;padding:7px 9px}.top-actions{gap:6px}.top-actions .export-button{padding:7px 8px}.icon-btn{width:31px;height:31px}.section-head{align-items:center}.section-head h2{font-size:15px}.section-head p{font-size:11px}.section-head button{font-size:10px;padding:7px}.dialog-metrics{grid-template-columns:repeat(2,1fr)}.service-dialog{padding:17px}.dialog-top h2{font-size:20px}.service-table-wrap{max-height:none}.table-top{align-items:flex-start;gap:14px;flex-wrap:wrap}.search{width:min(300px,77vw)}.search-label{flex:1}.pagination{font-size:10px;flex-wrap:wrap}.pagination .ghost{font-size:10px}.brand{gap:10px}.brand strong{font-size:22px}.kpi-value{font-size:26px}.kpi-top{font-size:9px}.footnote{font-size:9px}}
@media(max-width:390px){.kpi-value{font-size:22px}.kpi-top{font-size:8px;gap:4px}.kpi-icon{width:23px;height:23px}.kpi-sub{font-size:10px}.carrier-ranking{grid-template-columns:1fr}.formula{font-size:11px}.formula strong{font-size:13px}.period{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body{background:#fff;font-size:11px}.app{display:block}aside,.filters,.top-actions,.history-controls,.pagination,.search-label,.section-head button,.detail-button,.source-details,.toast,.hero-right,.scope-pill,#reviewService{display:none!important}main{padding:0;max-width:none}.hero{background:#eaf2fc!important;color:#0b2341;padding:18px;margin-bottom:18px}.hero p,.eyebrow{color:#345b7a}.topbar{margin-bottom:10px}.card{box-shadow:none;border-color:#dfe6ee;break-inside:avoid}.kpis{grid-template-columns:repeat(4,1fr)}.kpi{padding:12px}.kpi-value{font-size:20px}.kpi-icon{display:none}.billing-charts{grid-template-columns:1.6fr 1fr}.chart-card{padding:12px}.section{break-inside:avoid}.criteria-grid{grid-template-columns:1fr 1fr}.criteria-card{padding:13px}.criteria-card p{font-size:10px}.table-wrap{overflow:visible;max-height:none}th,td{padding:8px 9px}.table-top{padding:12px}.table-top>div span:after{content:' · El CSV contiene todos los servicios filtrados.'}.filter-meta{margin-bottom:14px}#servicios{display:none}.source-details[open]{display:block!important}.footnote{font-size:9px}.nav{display:none}}
/* Letter-only brand integrated directly into the navigation surface. */
.brand{padding:4px 8px 22px;gap:10px;justify-content:flex-start}.wordmark{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.045em;line-height:.98;text-align:left;text-decoration:none}.brand-logo{display:block;width:auto;max-width:100%;padding:0;overflow:visible;border:0;border-radius:0;background:none;box-shadow:none;color:#fff}.wordmark-name,.wordmark-logistics{display:block;font-size:38px;line-height:1}.wordmark-logistics{margin-top:1px}.print-brand{display:none}
@media(max-width:1050px) and (min-width:761px){.wordmark-name,.wordmark-logistics{font-size:34px}}
@media(max-width:760px){.brand{justify-content:space-between;padding:4px}.brand-logo{width:auto;max-width:calc(100% - 60px);border-radius:0}.wordmark-name,.wordmark-logistics{font-size:29px}.brand .mobile-menu{margin-left:auto}}
@media print{.print-brand{display:block;width:auto;height:auto;color:#0b2341;background:none;border:0;box-shadow:none}.print-brand .wordmark-name,.print-brand .wordmark-logistics{font-size:27px}.topbar{justify-content:space-between}.topbar .crumb{margin-left:auto}}

/* Confirmed consolidation keeps the corporate blue palette. */
.consolidation-card{border-color:#d8e6f5;background:#f9fbfe}.confirmed-badge{display:inline-block;border-radius:99px;background:#eaf2fe;color:#3269a8;padding:5px 8px;font-size:9px;white-space:nowrap}.consolidation-note{padding:12px 14px;background:#edf4fc;color:#3269a8;border-radius:8px;font-size:11px}.row-consolidated{display:block;margin-top:4px;font-size:9px;color:#3269a8}
