
:root{--ink:#17243b;--muted:#6b7890;--line:#e5eaf0;--bg:#f5f7fb;--blue:#195cce;--teal:#14a1a1;--navy:#123566;--amber:#eea13b}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 Inter,Segoe UI,Arial,sans-serif}header{background:linear-gradient(120deg,#102b53,#1d5996);color:white;padding:35px max(24px,calc((100vw - 1320px)/2)) 31px}header .eyebrow{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:#a8d4fb;font-weight:700}h1{font-size:32px;letter-spacing:-.04em;margin:7px 0 3px}header p{margin:0;color:#d3e2f0}main{max-width:1368px;margin:auto;padding:24px}section{margin-bottom:24px}.panel{background:white;border:1px solid var(--line);border-radius:15px;box-shadow:0 7px 25px #17365a08;padding:22px}.filters{display:flex;flex-wrap:wrap;gap:14px;align-items:end}.filters label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:12px;font-weight:700;min-width:170px}.filters select,.filters input{border:1px solid #d8e0eb;border-radius:8px;padding:9px 11px;font:inherit;color:var(--ink);background:#fff;min-height:39px}.filters button{border:1px solid #d8e0eb;border-radius:8px;padding:9px 14px;background:#fff;color:var(--ink);cursor:pointer;min-height:39px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:18px 19px;box-shadow:0 7px 25px #17365a08}.card.primary{background:#eaf2ff;border-color:#caddff}.card .label{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.035em;min-height:31px}.card .value{font-size:26px;font-weight:800;letter-spacing:-.04em;white-space:nowrap}.card .unit{font-size:12px;color:var(--muted);margin-top:2px}.heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:18px}h2{font-size:19px;letter-spacing:-.025em;margin:0}.hint{color:var(--muted);font-size:12px}.rank{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 34px}.rankrow{display:grid;grid-template-columns:28px minmax(120px,1fr) 110px;align-items:center;gap:12px}.ranknum{color:#8b97a9;font-size:12px;font-weight:700}.rankname{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rankvalue{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.bar{height:7px;background:#e9eff7;border-radius:99px;overflow:hidden;grid-column:2 / 4;margin-top:-7px}.bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#195cce,#39acbe)}.scroll{overflow:auto;max-height:650px}table{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums}th,td{padding:10px 12px;border-bottom:1px solid #edf0f5;text-align:right;white-space:nowrap}th:first-child,td:first-child{text-align:left;position:sticky;left:0;background:inherit}thead th{position:sticky;top:0;background:#edf3fa!important;z-index:2;color:#45556d;font-size:12px}thead th:first-child{z-index:3}tbody tr:nth-child(odd){background:#fbfcfe}tbody tr:hover{background:#eff6ff}.totalrow{font-weight:800;background:#eaf2ff!important}.heat{min-width:88px}.detail th:nth-child(1){min-width:150px}.detail th:nth-child(2){min-width:115px}.detail td:first-child{font-weight:650}.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:13px}.dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;background:#195cce}.dot.t{background:#14a1a1}.method{color:#65738a;font-size:12px;line-height:1.55;padding:0 4px 18px}footer{color:#8190a4;font-size:11px;text-align:center;padding:0 20px 22px}@media(max-width:760px){header{padding:28px 22px}h1{font-size:26px}main{padding:14px}.rank{grid-template-columns:1fr}.panel{padding:16px}.filters label{flex:1 1 145px}.card .value{font-size:23px}}
.detail th:first-child,.detail td:first-child{min-width:76px;width:76px;text-align:center;background:#e7e9ec!important;font-weight:700}.detail th:nth-child(2){min-width:120px}.detail thead th{background:#93989f!important;color:#17243b;text-align:center;font-size:13px}.detail thead th:first-child{background:#93989f!important}.detail td{text-align:center}.detail tbody td{padding:7px 14px}.detail .totalrow td:first-child{background:#dce9fc!important}
.comparison th:first-child,.comparison td:first-child{min-width:145px}.comparison th{min-width:118px}.comparison .positive{color:#14836f;font-weight:700}.comparison .negative{color:#bb4b53;font-weight:700}.comparison .neutral{color:#65738a}.chartwrap{overflow:auto}.chartwrap svg{display:block;width:100%;min-width:750px;height:auto}.chartlegend{display:flex;gap:20px;flex-wrap:wrap;margin-top:8px;color:#5d6b80;font-size:12px}.chartlegend i{display:inline-block;width:14px;height:3px;vertical-align:middle;margin-right:6px;border-radius:5px}.chartlegend .p{background:#e8a23d}.chartlegend .l{background:#20252b}.chartlegend .e{background:#aeb5bb}.sectionnote{margin:0 0 15px;color:#64748b;font-size:12px}
.multifilter{position:relative;min-width:190px}.multifilter>span{display:block;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:5px}.multifilter details{position:relative}.multifilter summary{list-style:none;border:1px solid #d8e0eb;border-radius:8px;padding:9px 11px;background:#fff;cursor:pointer;min-height:39px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.multifilter summary::-webkit-details-marker{display:none}.multifilter summary:after{content:'▾';float:right;margin-left:12px}.multioptions{position:absolute;z-index:8;top:43px;left:0;min-width:230px;max-height:270px;overflow:auto;background:#fff;border:1px solid #d8e0eb;border-radius:9px;box-shadow:0 12px 30px #17365a24;padding:7px}.multioptions label{display:flex;flex-direction:row;gap:9px;align-items:center;min-width:0;padding:6px 7px;color:var(--ink);font-size:13px;font-weight:400;cursor:pointer}.multioptions input{min-height:0;accent-color:#195cce}.multioptions label:hover{background:#eff5fb;border-radius:5px}
header{background:linear-gradient(115deg,#3f4247,#6b6e72)}header .eyebrow{color:#e2e3e5}header p{color:#f0f0f1}
/* Formato de tablas inspirado en el ejemplo suministrado. */
table{border-collapse:collapse;font-family:Georgia,'Times New Roman',serif;font-size:16px;color:#101010}th,td{border:0;padding:5px 13px;text-align:center!important}thead th,thead th:first-child,.detail thead th,.detail thead th:first-child{background:#929292!important;color:#101010;font-size:16px;font-weight:400;text-align:center!important}tbody tr,tbody tr:nth-child(odd),tbody tr:hover{background:white}tbody td:first-child,.detail tbody td:first-child{background:#d3d5d7!important;text-align:center!important;font-weight:400}.totalrow,.totalrow td{background:#e8e8e8!important;font-weight:700}.totalrow td:first-child,.detail .totalrow td:first-child{background:#bfc2c5!important}.detail th:first-child,.detail td:first-child{min-width:76px;width:76px}.detail tbody td{padding:5px 13px}.heat{min-width:90px}
body{background:#f3f4f5;color:#20252b}header{background:linear-gradient(115deg,#34383d 0%,#676c71 100%);border-bottom:5px solid #a7acb1}h1{font-weight:750;letter-spacing:-.045em}.panel,.card{border-color:#dce0e4;box-shadow:0 8px 25px #3038400b}.panel{border-radius:12px}.card{border-radius:12px;border-top:3px solid #949ba2}.card.primary{background:#e7eaed;border-color:#d3d8dc;border-top-color:#565d64}.card .value{color:#272d33}.heading h2{font-weight:750}.bar{background:#e1e4e7}.bar span{background:linear-gradient(90deg,#565d64,#a4abb0)}table{font-family:Inter,Segoe UI,Arial,sans-serif;font-size:14px;color:#252a2f}th,td{padding:8px 13px}thead th,thead th:first-child,.detail thead th,.detail thead th:first-child{background:#898f94!important;color:#fff;font-size:13px;font-weight:650;letter-spacing:.01em}tbody td:first-child,.detail tbody td:first-child{background:#dfe2e4!important;font-weight:650}.totalrow,.totalrow td{background:#eceeef!important}.totalrow td:first-child,.detail .totalrow td:first-child{background:#c7cccf!important}.detail tbody td{padding:7px 13px}.filters button,.multifilter summary,.filters input{border-color:#cfd4d9}.multifilter input{accent-color:#646d75}
.header-inner{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.header-copy{min-width:0}.header-logo{width:205px;height:175px;object-fit:contain;flex:none;filter:drop-shadow(0 6px 12px #15191d55)}@media(max-width:760px){.header-inner{gap:10px}.header-logo{width:112px;height:105px}h1{font-size:23px}}
.capacity-note{margin:0 0 15px;color:#b0b4bb;font-size:12px}.capacity-table td:first-child{text-align:left!important}.capacity-table .positive{color:#33ad89;font-weight:700}.capacity-table .negative{color:#ee7176;font-weight:700}.capacity-table .neutral{color:#aeb4bb}.capacity-table th{min-width:115px}.capacity-table th:first-child{min-width:145px}
#vehicleDaily td.zero-trips{background:#fee2e2!important;color:#991b1b!important;font-weight:700}#vehicleDaily td:last-child{font-weight:700}

:root{--ink:#f0eee7;--muted:#aeb4bb;--line:#35383d;--bg:#0b0e13;--amber:#d7b56c}
body{background:radial-gradient(circle at 75% 0,#2d291e 0,#11151b 34%,#0b0e13 75%) fixed;color:#e9e7e1}
header{background:linear-gradient(115deg,#080b10 0%,#252116 52%,#141920 100%);border-bottom:1px solid #b7944b;box-shadow:0 10px 34px #0007}
header .eyebrow{color:#f0c247}header h1{color:#ffd447;text-shadow:0 0 20px #b88b3533}header p{color:#c6c9cd}
.panel,.card{background:linear-gradient(145deg,#1b2027,#13171d);border:1px solid #383a39;box-shadow:0 12px 34px #0005}
.card{border-top:2px solid #ad8b48}.card.primary{background:linear-gradient(145deg,#312a1c,#1b1c1c);border-color:#78613b;border-top-color:#ffd447}
.card .label,.card .unit,.hint,.sectionnote{color:#b0b4bb}.card .value,.card.primary .value{color:#ffd447}.heading h2{color:#ffcc32}
.ranknum{color:#e7b52f}.rankname{color:#e8e7e0}.rankvalue{color:#ffd447}.bar{background:#2b3036}.bar span{background:linear-gradient(90deg,#8e6c32,#ffd447)}
.filters label,.multifilter>span{color:#e8c159}.filters input,.filters button,.multifilter summary,.multioptions{background:#11161d;color:#ecebe7;border-color:#5b5546}.filters input{color-scheme:dark}.filters button:hover,.multifilter summary:hover{border-color:#d1af69}.multioptions label{color:#ecebe7}.multioptions label:hover{background:#32302a}.multioptions input{accent-color:#d1af69}
.filters a[href="/admin"]{background:#242018!important;color:#ffd447!important;border-color:#8b7445!important}
table{background:#171c23;color:#e8e6df}thead th,thead th:first-child,.detail thead th,.detail thead th:first-child{background:#514735!important;color:#ffe082!important;border-bottom:1px solid #9f8348}
tbody tr,tbody tr:nth-child(odd){background:#1b2027}tbody tr:nth-child(even){background:#20252d}tbody tr:hover{background:#2c2c27}tbody td{border-bottom:1px solid #30343a}tbody td:first-child,.detail tbody td:first-child{background:#30343b!important;color:#ffd447!important}.totalrow,.totalrow td{background:#342f24!important;color:#ffd447!important}.totalrow td:first-child,.detail .totalrow td:first-child{background:#514735!important}
.comparison .positive{color:#8ed6ac}.comparison .negative{color:#f5a89e}.comparison .neutral{color:#bbc2c9}
.chartlegend,.method,footer{color:#adb2b8}
.panel:has(#compareChart){background:#e7e3d8;color:#252525;border-color:#b8aa8a}.panel:has(#compareChart) .heading h2{color:#4a4030}.panel:has(#compareChart) .hint,.panel:has(#compareChart) .chartlegend{color:#5b5a56}
.header-logo{filter:drop-shadow(0 0 16px #d3a74b66)}


:root{--gold-deep:#b67615;--gold-mid:#d99e3c;--gold-light:#f2c56f}
header h1,.card .value,.card.primary .value,.heading h2,.rankvalue{color:#e4ad4b!important;background-image:linear-gradient(110deg,#bd7c19 0%,#f2c56f 32%,#d39631 68%,#eebc61 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
header .eyebrow,.filters label,.multifilter>span,.ranknum{color:#dba444!important}
.filters a[href="/admin"],tbody td:first-child,.detail tbody td:first-child,.totalrow,.totalrow td{color:#e7b45a!important}
.card{border-top-color:#c28b30}.card.primary{border-top-color:#efbd62;border-color:#806035}header{border-bottom-color:#ba8129}
.bar span{background:linear-gradient(90deg,#a46a12,#e0ab4d,#f1c66f)}
thead th,thead th:first-child,.detail thead th,.detail thead th:first-child{color:#f0d49a!important}


.header-logo{width:min(260px,26vw)!important;height:180px!important;max-height:180px!important;object-fit:contain!important;filter:drop-shadow(0 6px 18px rgba(220,155,51,.22))!important}
.channel-mix-panel,.chart-panel{background:linear-gradient(135deg,#17191d,#202226)!important;border:1px solid #735626!important;box-shadow:0 18px 44px rgba(0,0,0,.22)!important}
.channel-mix-panel .heading h2,.chart-panel .heading h2{color:#f1bd63!important}
.channel-mix-panel .heading .hint,.chart-panel .heading .hint{color:#c9c3b8!important}
.channel-mix-panel .scroll{border-radius:15px;overflow:auto;border:1px solid #775b31;background:#181a1d}
.channel-mix-table{width:100%;border-collapse:separate;border-spacing:0;min-width:790px;font-variant-numeric:tabular-nums}
.channel-mix-table th{background:#a87524!important;color:#fff7e9!important;font-weight:800!important;letter-spacing:.02em;text-align:right!important;padding:13px 16px!important;border:0!important;white-space:nowrap}
.channel-mix-table td{background:#202226!important;color:#f5f2eb!important;text-align:right!important;padding:12px 16px!important;border-bottom:1px solid #3b3934!important;border-right:0!important}
.channel-mix-table th:first-child,.channel-mix-table td:first-child{text-align:left!important;position:sticky;left:0;z-index:1;min-width:160px}
.channel-mix-table th:first-child{z-index:2}.channel-mix-table td:first-child{background:#282a2d!important;color:#f3c777!important;font-weight:700}
.channel-mix-table tbody tr:hover td{background:#2d2e30!important}.channel-mix-table tbody tr:hover td:first-child{background:#353538!important}
.channel-mix-table td.mix-total,.channel-mix-table .totalrow td{color:#f4c778!important;font-weight:800!important}
.chart-panel .chartwrap{background:linear-gradient(160deg,#faf8f2,#f1eee7)!important;border:1px solid #a18d6e!important;border-radius:18px!important;padding:15px 15px 4px!important;box-shadow:inset 0 1px 0 #fff,0 12px 28px rgba(0,0,0,.18)!important}
.chart-panel .chartwrap svg{width:100%;min-width:750px;height:auto;display:block;overflow:visible}
.chartcanvas{position:relative;min-width:750px}
.charttooltip{display:none;position:absolute;top:12px;transform:translateX(-50%);pointer-events:none;z-index:4;background:#191b1e;color:#fff;border:1px solid #d5a34f;border-radius:12px;padding:11px 13px;min-width:155px;box-shadow:0 12px 26px #0004;font-size:12px;line-height:1.45}
.charttooltip.visible{display:grid;gap:4px}.charttooltip strong{color:#f1bd63;font-size:13px;margin-bottom:2px}.charttooltip span{display:flex;align-items:center;gap:7px;justify-content:space-between}.charttooltip i{width:7px;height:7px;border-radius:50%;margin-right:3px;flex:none}.charttooltip b{font-variant-numeric:tabular-nums;margin-left:10px}
.chart-panel .chartlegend{margin-top:15px!important;gap:9px!important}.chart-panel .chartlegend span{background:#292a2c!important;border:1px solid #63543d!important;border-radius:99px!important;padding:7px 12px!important;color:#f3e9d7!important;font-weight:700}
@media(max-width:700px){.header-logo{width:155px!important;height:120px!important;max-height:120px!important}.channel-mix-panel .heading,.chart-panel .heading{gap:6px}}
.return-rate{display:inline-block;min-width:68px;padding:4px 9px;border-radius:6px;font-weight:750;text-align:center}.return-low{background:#174b3b;color:#a8eac7}.return-mid{background:#594517;color:#ffe18a}.return-high{background:#602b2b;color:#ffb8b8}.return-unavailable{color:#aeb4bb}
.return-sort{background:none;border:0;color:inherit;font:inherit;font-weight:inherit;cursor:pointer;padding:0 4px}.return-sort:hover,.return-sort:focus-visible{color:#fff0c8;text-decoration:underline;outline:2px solid #d7b56c;outline-offset:3px}.return-sort .arrow{display:inline-block;min-width:1em;margin-left:3px}
.filters select{background:#11161d;color:#ecebe7;border:1px solid #5b5546;color-scheme:dark}.filters select:hover,.filters select:focus{border-color:#c7a24b;outline:none;box-shadow:0 0 0 2px #d7b56c22}.filters select option{background:#11161d;color:#ecebe7}

*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif}main{max-width:1440px;margin:auto;padding:24px}header{padding:28px 32px}.header-inner{max-width:1392px}.eyebrow{font-size:13px;letter-spacing:.14em;font-weight:700}h1{font-size:38px;margin:10px 0}header p{margin:0}.header-logo{height:130px!important;max-height:130px!important;width:200px!important}.panel{padding:24px;margin-bottom:24px}.filters{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.filters button{padding:10px 15px;min-height:42px;cursor:pointer;border:1px solid #5b5546;border-radius:8px;font-size:14px}.multifilter{flex:1;min-width:180px}.multifilter>span,.multifilter summary,.multioptions label{font-size:14px}.multioptions{width:100%;z-index:20}.filter-panel{position:relative;z-index:8}#logout{margin-left:auto}.category-heading{display:flex;align-items:center;justify-content:space-between;margin:28px 0 17px}.category-heading h2{color:#e7b45a;font-size:23px}.category-heading span{color:#b0b4bb;font-size:14px}.indicator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.indicator-card:last-child:nth-child(odd){grid-column:1/-1}.indicator-card:last-child:nth-child(odd) .line-chart{max-width:940px;margin:auto}.indicator-card{min-width:0;margin:0}.category{margin-bottom:32px}.heading h3{margin:0;color:#e9ba65;font-size:18px}.unit{color:#b0b4bb;font-size:14px}.metric-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.metric-row small{display:block;color:#b0b4bb;font-size:13px;margin-bottom:7px}.metric-row strong{display:block;color:#f0d49a;font-size:24px}.metric-row strong .neutral{font-size:14px}.positive{color:#8ed6ac!important}.negative{color:#f5a89e!important}.neutral{color:#bbc2c9}.chart-period,.metric-method{color:#b0b4bb;font-size:13px;line-height:1.5}.line-chart{position:relative;overflow:auto}.line-chart svg{display:block;min-width:480px;width:100%;height:auto}.chart-hit:focus{outline:1px solid #e7b45a}.chart-tip{display:none;position:absolute;top:0;left:65px;background:#11151b;border:1px solid #aa8447;color:#f4e7c8;padding:9px 12px;border-radius:6px;font-size:13px;pointer-events:none}.chart-tip.visible{display:block}.chart-key{display:flex;justify-content:center;gap:22px;font-size:13px;color:#c6c9cd}.chart-key i{display:inline-block;vertical-align:middle;width:22px;height:3px;background:#e7b45a;margin-right:7px}.chart-key i.actual{background:#f5f4ed}.methodology p{font-size:14px;color:#b0b4bb;line-height:1.65}.heading{flex-wrap:wrap}.sectionnote{font-size:14px}.empty{padding:70px 0;text-align:center;color:#b0b4bb}.login-page{min-height:100vh;display:grid;place-items:center}.login-container{width:100%;max-width:490px;padding:24px}.login-card{text-align:center;padding:32px;margin:0;border-color:#78613b}.login-logo{width:200px;height:145px;object-fit:contain}.login-card .eyebrow{color:#e7b45a}.login-card h1{color:#efc574;font-size:30px;margin:12px 0}.login-subtitle,.login-foot{color:#b0b4bb;font-size:14px}.login-card form{margin-top:26px;text-align:left}.login-card label{display:block;color:#eac77b;font-size:14px;margin:18px 0 8px}.login-card input{width:100%;padding:13px 12px;font-size:16px;background:#11161d;border:1px solid #5b5546;border-radius:8px;color:#f0eee7}.login-card input:focus{outline:2px solid #d7b56c;outline-offset:2px}.password-field{position:relative}.password-field input{padding-right:82px}.password-field button{position:absolute;right:5px;top:5px;padding:10px;background:none;border:0;color:#eac77b;cursor:pointer}.login-button{width:100%;margin-top:25px;padding:13px;border:1px solid #d2a34c;border-radius:8px;background:linear-gradient(110deg,#b67615,#f2c56f);color:#201b12;font-weight:750;font-size:16px;cursor:pointer}.login-button:disabled{opacity:.6}.login-foot{margin-top:25px}#error{color:#ffb8b8;font-size:14px;min-height:20px}button:focus-visible,summary:focus-visible{outline:2px solid #d7b56c;outline-offset:3px}[hidden]{display:none!important}@media(max-width:850px){.indicator-grid{grid-template-columns:1fr}.indicator-card:last-child:nth-child(odd){grid-column:auto}.metric-row strong{font-size:21px}.panel{padding:18px}main{padding:16px}.category-heading span{display:none}header{padding:22px}.header-logo{width:125px!important;height:100px!important}h1{font-size:27px}.metric-row{gap:6px}.heading .hint{font-size:13px}}

.line-chart svg{min-width:620px}.data-label{pointer-events:none}

.action-link{display:inline-block;padding:11px 15px;border:1px solid #b88b42;border-radius:8px;color:#efc574;text-decoration:none;font-size:14px;white-space:nowrap}.action-link:hover{background:#342f24}#workbook{display:block;margin:16px 0;padding:12px;border:1px solid #5b5546;border-radius:8px;max-width:100%;color:#ecebe7}#upload-status,#upload-summary{line-height:1.6;color:#efc574}#upload-summary{padding:16px;background:#252a2f;border-radius:8px}
