@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Noto+Sans+Arabic:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:wght@500;600;700&family=Jura:wght@500;600;700&display=swap";:root{--bg-page-grad-a: #edf3f8;--bg-page-grad-b: #e6edf4;--bg-panel: var(--demo-translogistica-panel-light);--bg-soft: var(--demo-translogistica-panel-soft-light);--bg-table-head: var(--demo-translogistica-panel-head-light);--text-main: #0f3a67;--text-strong: #0a2f57;--text-muted: #3f74a8;--line: #d3deea;--accent: #1f4f7a;--accent-strong: #17466f;--accent-soft: #dbe9f7;--shadow: 0 12px 28px rgba(10, 34, 62, .09);--shadow-soft: 0 8px 18px rgba(10, 34, 62, .08);--verde: #1f8b4d;--verde-soft: #e9f8ee;--naranja: #bd7a1f;--naranja-soft: #fff3e2;--rojo: #b13a3a;--rojo-soft: #fdecec}body{margin:0;color:var(--text-main);background:transparent;font-family:IBM Plex Sans,Segoe UI,Tahoma,sans-serif;transition:background .28s ease}.routes-dashboard{width:100%;min-height:100vh;padding:var(--demo-translogistica-page-padding);background:transparent;transition:background .28s ease,color .28s ease}.routes-dashboard.theme-dark{--bg-page-grad-a: #091422;--bg-page-grad-b: #0d1b2c;--bg-panel: var(--demo-translogistica-panel-dark);--bg-soft: var(--demo-translogistica-panel-soft-dark);--bg-table-head: var(--demo-translogistica-panel-head-dark);--text-main: #0f3a67;--text-strong: #0a2f57;--text-muted: #3f74a8;--line: #28465f;--accent: #5eabeb;--accent-strong: #83c3f7;--accent-soft: #233f59;--shadow: 0 14px 30px rgba(0, 0, 0, .35);--shadow-soft: 0 9px 20px rgba(0, 0, 0, .28);--verde-soft: rgba(31, 139, 77, .25);--naranja-soft: rgba(189, 122, 31, .25);--rojo-soft: rgba(177, 58, 58, .23)}.routes-dashboard.lang-ar,.routes-dashboard.lang-ar input,.routes-dashboard.lang-ar select,.routes-dashboard.lang-ar button{font-family:Noto Sans Arabic,IBM Plex Sans,sans-serif}.routes-dashboard.lang-switching .header-copy,.routes-dashboard.lang-switching .filters-panel,.routes-dashboard.lang-switching .table-panel,.routes-dashboard.lang-switching .summary-grid{opacity:.72;transform:translateY(-2px)}.dashboard-header{color:#f4f9ff;box-shadow:var(--shadow)}.dashboard-header.demo-translogistica-hero{background-image:linear-gradient(145deg,#084f82a8,#084f828f 42%,#084f8275),linear-gradient(90deg,#084f8294,#6287a65c 58%,#084f8233),var(--demo-translogistica-hero-image-url)}.theme-dark .dashboard-header.demo-translogistica-hero{background-image:linear-gradient(145deg,#06375ab8,#06375a9e 42%,#06375a85),linear-gradient(90deg,#06375a9e,#6287a661 58%,#06375a3d),var(--demo-translogistica-hero-image-url)}.header-main{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.header-copy{max-width:var(--demo-translogistica-hero-copy-max-width);transition:opacity .24s ease,transform .24s ease}.rtl-content{text-align:right}.dashboard-kicker{margin:0 0 8px;font-size:12px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;opacity:.88}.dashboard-header .demo-translogistica-hero-subtitle{color:#d5e6f7}.header-controls{margin-left:auto;display:flex;align-items:flex-end;gap:10px;flex-wrap:nowrap;height:56px}.header-control{display:flex;flex-direction:column;gap:6px}.header-control label{margin:0;font-size:12px;color:#d7e7f8}.header-control select{width:88px;height:36px;appearance:none;-webkit-appearance:none;-moz-appearance:none;border-radius:10px;border:1px solid rgba(205,226,245,.45);background:linear-gradient(145deg,#ffffff2e,#ffffff14),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20'%3E%3Cpath d='M5 7.5 10 12.5 15 7.5' stroke='%23f1f8ff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat,no-repeat;background-position:0 0,right 10px center;background-size:auto,14px;color:#f1f8ff;font-size:13px;font-weight:700;padding:0 30px 0 10px;box-shadow:inset 0 0 0 1px #ffffff0d;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.header-control .tm-select-trigger{width:88px;height:36px;min-height:36px;font-size:13px;font-weight:700;padding-right:30px}.header-control select:hover{border-color:#ffffffc7;transform:translateY(-1px)}.header-control select:focus,.theme-toggle:focus{outline:none;box-shadow:0 0 0 3px #88c4f559}.header-control select option{color:#0f335d;background:#f3f8ff}.header-control select option:checked{background:#1f4f7a;color:#fff}.theme-toggle{width:36px;min-width:36px;height:36px;border:1px solid rgba(205,226,245,.45);border-radius:10px;background:linear-gradient(145deg,#ffffff2e,#ffffff1a);color:#f1f8ff;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;cursor:pointer;box-shadow:var(--shadow-soft),inset 0 0 0 1px #ffffff0f;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.theme-toggle:hover{transform:translateY(-2px);border-color:#ffffffbf;box-shadow:0 12px 26px #03152759}.summary-grid{margin-top:var(--demo-translogistica-section-gap);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(172px,100%),1fr));gap:10px;transition:opacity .24s ease,transform .24s ease}.summary-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-soft);position:relative;overflow:hidden;isolation:isolate;backdrop-filter:blur(var(--demo-translogistica-panel-blur));-webkit-backdrop-filter:blur(var(--demo-translogistica-panel-blur));padding:10px 12px;min-height:92px;min-width:0;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease}.summary-card>span,.summary-card>strong{position:relative;z-index:2}.summary-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:var(--shadow)}.summary-card span{color:var(--text-muted);font-size:12px;font-weight:500;line-height:1.25}.summary-card strong{color:var(--text-strong);font-size:clamp(27px,2vw,40px);line-height:1.1;font-weight:700;letter-spacing:0;white-space:nowrap}.summary-card-verde{border-color:color-mix(in srgb,var(--verde) 55%,var(--line))}.summary-card-verde:before,.summary-card-naranja:before,.summary-card-rojo:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:0;z-index:1;transition:width .3s ease-out}.summary-card-verde:before{background:linear-gradient(90deg,color-mix(in srgb,var(--verde) 95%,#ffffff 5%) 0%,var(--verde) 100%)}.summary-card-naranja{border-color:color-mix(in srgb,var(--naranja) 55%,var(--line))}.summary-card-naranja:before{background:linear-gradient(90deg,color-mix(in srgb,var(--naranja) 94%,#ffffff 6%) 0%,var(--naranja) 100%)}.summary-card-rojo{border-color:color-mix(in srgb,var(--rojo) 55%,var(--line))}.summary-card-rojo:before{background:linear-gradient(90deg,color-mix(in srgb,var(--rojo) 94%,#ffffff 6%) 0%,var(--rojo) 100%)}.live-controls-panel{margin-top:var(--demo-translogistica-section-gap);background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:var(--shadow-soft)}.live-controls-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.live-controls-actions{display:flex;flex-wrap:wrap;gap:8px}.live-controls-actions button{border:1px solid var(--line);background:var(--accent-soft);color:var(--accent-strong);border-radius:8px;padding:7px 10px;font-weight:600;cursor:pointer}.live-controls-meta{margin:8px 0 0;font-size:13px;color:var(--text-muted)}.live-connection{font-size:12px;font-weight:700;padding:4px 8px;border-radius:999px}.live-conectado{background:#dcfce7;color:#166534}.live-actualizando{background:#fef3c7;color:#92400e}.live-error{background:#fee2e2;color:#991b1b}.live-detenido{background:#e2e8f0;color:#334155}.live-routes-grid{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;min-width:0}.live-loading-state{margin-top:10px;min-height:148px;border:1px dashed color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--accent-soft) 58%,#ffffff);color:var(--accent-strong);display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:800}.live-loading-spinner{width:22px;height:22px;border:3px solid color-mix(in srgb,var(--accent) 24%,#ffffff);border-top-color:var(--accent-strong);border-radius:999px;animation:live-loading-spin .8s linear infinite}@keyframes live-loading-spin{to{transform:rotate(360deg)}}.live-route-card{border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);padding:9px;min-width:0;overflow-wrap:anywhere}.live-route-card-clickable{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.live-route-card-clickable:hover,.live-route-card-clickable:focus-visible{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:var(--shadow-soft)}.live-only-modal .route-map-modal-canvas{min-height:0;height:100%}.live-modal-layout .route-map-modal-map-pane{min-height:0}.live-route-card p{margin:4px 0;font-size:12px}.manual-incident-panel{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}.live-metric-warn{color:#92400e!important;font-weight:700}.live-metric-alert{color:#991b1b!important;font-weight:700}.summary-card-verde:hover:before,.summary-card-naranja:hover:before,.summary-card-rojo:hover:before,.summary-card-verde:focus-within:before,.summary-card-naranja:focus-within:before,.summary-card-rojo:focus-within:before{width:100%}.summary-card-verde:hover span,.summary-card-verde:hover strong,.summary-card-naranja:hover span,.summary-card-naranja:hover strong,.summary-card-rojo:hover span,.summary-card-rojo:hover strong,.theme-dark .summary-card-verde:hover span,.theme-dark .summary-card-verde:hover strong,.theme-dark .summary-card-naranja:hover span,.theme-dark .summary-card-naranja:hover strong,.theme-dark .summary-card-rojo:hover span,.theme-dark .summary-card-rojo:hover strong,.summary-card-verde:focus-within span,.summary-card-verde:focus-within strong,.summary-card-naranja:focus-within span,.summary-card-naranja:focus-within strong,.summary-card-rojo:focus-within span,.summary-card-rojo:focus-within strong{color:#fff}.summary-card-verde:hover:before,.summary-card-naranja:hover:before,.summary-card-rojo:hover:before,.summary-card-verde:focus-within:before,.summary-card-naranja:focus-within:before,.summary-card-rojo:focus-within:before{filter:brightness(1.03)}.filters-panel,.table-panel{margin-top:var(--demo-translogistica-section-gap);background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-soft);backdrop-filter:blur(var(--demo-translogistica-panel-blur));-webkit-backdrop-filter:blur(var(--demo-translogistica-panel-blur));transition:opacity .24s ease,transform .24s ease}.simulation-panel{margin-top:var(--demo-translogistica-section-gap);background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-soft);backdrop-filter:blur(var(--demo-translogistica-panel-blur));-webkit-backdrop-filter:blur(var(--demo-translogistica-panel-blur));padding:14px}.simulation-head h3{margin:0;color:var(--text-strong);font-size:18px}.simulation-head p{margin:6px 0 0;color:var(--text-muted);font-size:13px}.simulation-controls{margin-top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.simulation-control{display:flex;flex-direction:column;gap:6px}.simulation-control span{color:var(--text-muted);font-size:12px;font-weight:600}.simulation-control input{height:40px;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);color:var(--text-strong);padding:0 10px;font-size:14px;font-weight:500}.simulation-kpis{margin-top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.simulation-kpi-card{border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);padding:10px 12px}.simulation-kpi-card span{color:var(--text-muted);font-size:12px;display:block}.simulation-kpi-card strong{margin-top:5px;display:block;color:var(--text-strong);font-size:24px}.simulation-note{margin:10px 0 0;font-size:13px;font-weight:600}.simulation-note-todos{color:#6bb9ff}.simulation-note-verde{color:var(--verde)}.simulation-note-naranja{color:var(--naranja)}.simulation-note-rojo{color:var(--rojo)}.excel-import-panel{margin-top:var(--demo-translogistica-section-gap);background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-soft);backdrop-filter:blur(var(--demo-translogistica-panel-blur));-webkit-backdrop-filter:blur(var(--demo-translogistica-panel-blur));padding:14px}.excel-import-head h2{margin:0;color:var(--text-strong);font-size:18px}.excel-import-head p{margin:6px 0 0;color:var(--text-muted);font-size:13px}.excel-dropzone{margin-top:14px;width:100%;min-height:172px;border:2px dashed color-mix(in srgb,var(--line) 76%,var(--accent) 24%);border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--bg-soft) 84%,#ffffff 16%),color-mix(in srgb,var(--bg-panel) 90%,#ffffff 10%));color:var(--text-muted);display:grid;place-items:center;align-content:center;gap:8px;cursor:pointer;padding:24px;transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.excel-dropzone:hover,.excel-dropzone.is-dragging{transform:translateY(-1px);border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 60%,var(--bg-panel));box-shadow:0 12px 24px #1f4f7a1f}.excel-upload-icon{width:40px;height:40px;color:color-mix(in srgb,var(--accent) 48%,var(--text-muted))}.excel-upload-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.excel-dropzone-title{color:color-mix(in srgb,var(--text-muted) 72%,var(--text-strong));font-size:18px;font-weight:800;text-align:center;overflow-wrap:anywhere}.excel-dropzone-subtitle{color:var(--text-muted);font-size:12px;font-weight:600}.excel-file-input{display:none}.excel-import-options{margin-top:12px;display:grid;grid-template-columns:minmax(280px,520px);justify-content:center;gap:10px}.excel-import-option{border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);padding:10px 12px;display:grid;grid-template-columns:auto 1fr;gap:10px;cursor:pointer}.excel-import-option.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 64%,var(--bg-soft));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.excel-import-option input{margin-top:3px;accent-color:var(--accent)}.excel-import-option strong,.excel-import-option small{display:block}.excel-import-option strong{color:var(--text-strong);font-size:14px}.excel-import-option small{margin-top:3px;color:var(--text-muted);font-size:12px;line-height:1.35}.excel-import-actions{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.excel-import-actions p,.excel-import-status{margin:0;color:var(--text-muted);font-size:12px;font-weight:700}.excel-import-actions button{height:44px;border:1px solid var(--accent);border-radius:12px;background:linear-gradient(145deg,var(--accent-strong),var(--accent));color:#fff;padding:0 22px;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 12px 22px #1f4f7a3d}.excel-import-actions button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.excel-import-status{margin-top:10px;color:var(--accent-strong)}.excel-import-status.is-success{color:#166534}.excel-import-status.is-error{color:#991b1b}.filters-panel{padding:12px}.filters-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.filters-top h2{margin:0;color:var(--text-strong);font-size:18px}.filters-row{margin-top:14px;display:grid;grid-template-columns:1.5fr 1fr 1.45fr;gap:14px}.filters-grid-extended{margin-top:8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-search-block{grid-column:1 / -1}.filter-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.filter-group label{color:var(--text-muted);font-size:12px;font-weight:500;min-height:18px}.filter-group select,.filter-group input{height:36px;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);color:var(--text-strong);padding:0 9px;font-size:13px;font-weight:500;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.filter-group select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(145deg,color-mix(in srgb,var(--bg-soft) 88%,#ffffff 12%),color-mix(in srgb,var(--bg-soft) 92%,#eaf3fc 8%)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20'%3E%3Cpath d='M5 7.5 10 12.5 15 7.5' stroke='%230f3a67' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat,no-repeat;background-position:0 0,right 10px center;background-size:auto,14px;padding-right:32px;cursor:pointer}.filter-group input::placeholder{color:var(--text-muted)}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.filter-group input:hover,.filter-group select:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.filter-group .tm-select-trigger{height:36px;min-height:36px;font-size:13px;font-weight:500}.filter-group select option{background:color-mix(in srgb,var(--bg-panel) 94%,#ffffff 6%);color:var(--text-strong)}.filter-group select option:checked{background:color-mix(in srgb,var(--accent) 88%,#0b3f67 12%);color:#fff}.rentabilidad-chips{display:flex;flex-wrap:wrap;gap:8px}.chip-button{height:32px;min-width:68px;border:1px solid var(--line);background:linear-gradient(145deg,var(--bg-soft) 0%,color-mix(in srgb,var(--bg-soft) 70%,#ffffff) 100%);color:var(--text-strong);border-radius:999px;padding:0 10px;font-size:12px;font-weight:600;cursor:pointer;text-transform:capitalize;box-shadow:0 3px 8px #0f223914;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease}.chip-todos,.chip-verde,.chip-naranja,.chip-rojo{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.chip-button:hover{transform:translateY(-2px);box-shadow:0 7px 15px #0b1f362e}.chip-todos:hover{border-color:color-mix(in srgb,var(--accent) 65%,var(--line));background:color-mix(in srgb,var(--accent-soft) 70%,var(--bg-soft))}.chip-todos.chip-active:hover{color:#fff;border-color:var(--accent);background:linear-gradient(145deg,var(--accent-strong),var(--accent))}.chip-verde:hover,.chip-naranja:hover,.chip-rojo:hover{border-color:color-mix(in srgb,var(--accent) 65%,var(--line));background:color-mix(in srgb,var(--accent-soft) 70%,var(--bg-soft))}.chip-active,.chip-verde.chip-active,.chip-naranja.chip-active,.chip-rojo.chip-active{color:#fff;border-color:var(--accent);background:linear-gradient(145deg,var(--accent-strong),var(--accent));box-shadow:0 10px 18px #1f4f7a59,inset 0 0 0 1px #ffffff38}.filter-reset-btn{height:36px;border:1px solid var(--accent);border-radius:10px;background:linear-gradient(145deg,var(--accent-strong),var(--accent));color:#fff;font-size:12px;font-weight:600;padding:0 12px;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,filter .2s ease;justify-self:end}.filter-reset-btn:hover{transform:translateY(-2px);border-color:var(--accent-strong);box-shadow:0 10px 18px #1f4f7a59;filter:brightness(1.05)}.table-panel-shell{position:relative;margin-top:52px}.table-panel{overflow:hidden;border-color:color-mix(in srgb,var(--accent) 22%,var(--line))}.table-toolbar{position:absolute;top:-2px;right:14px;z-index:6;display:inline-flex;width:fit-content;max-width:fit-content;transform:translateY(-100%)}.column-config{position:relative}.column-config-btn{height:32px;border:1px solid var(--line);border-radius:8px;background:var(--bg-soft);color:var(--text-strong);font-size:12px;font-weight:700;padding:0 10px;cursor:pointer}.column-config-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:12;min-width:230px;max-height:320px;overflow:auto;background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-soft);padding:8px}.column-config-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 4px}.column-config-label{color:var(--text-main);font-size:12px;font-weight:600;white-space:nowrap}.column-config-actions{display:inline-flex;gap:6px}.column-move-btn{width:26px;height:26px;border:1px solid var(--line);border-radius:6px;background:var(--bg-soft);color:var(--text-strong);cursor:pointer}.column-move-btn:disabled{opacity:.4;cursor:not-allowed}.table-wrapper{max-height:62vh;overflow:auto}table{width:100%;border-collapse:separate;border-spacing:0;min-width:920px}th,td{padding:13px 14px;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,#ffffff 28%);white-space:nowrap;font-size:14px;vertical-align:middle;text-align:center}th{position:sticky;top:0;z-index:2;background:var(--bg-table-head);color:var(--text-muted);text-align:center;font-size:12px;font-weight:700;letter-spacing:.28px;text-transform:lowercase;border-bottom:1px solid color-mix(in srgb,var(--accent) 34%,var(--line))}.table-sort-button{width:100%;border:0;background:transparent;color:inherit;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0;font-size:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.table-sort-icon{font-size:11px;opacity:.9}th:first-child{border-top-left-radius:12px}th:last-child{border-top-right-radius:12px}td{color:var(--text-strong);font-weight:600;line-height:1.4}tbody tr{transition:background-color .2s ease,transform .2s ease}.table-row-clickable{cursor:pointer}.table-row-clickable:focus{outline:2px solid color-mix(in srgb,var(--accent) 55%,#ffffff);outline-offset:-2px}tbody tr:nth-child(2n){background:color-mix(in srgb,var(--bg-soft) 52%,transparent)}tbody tr:hover{background:color-mix(in srgb,var(--accent-soft) 72%,transparent)}.col-number{text-align:center;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-weight:700}.col-status{text-align:center;width:124px}.status-badge{display:inline-flex;justify-content:center;align-items:center;min-width:92px;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:800;text-transform:lowercase}.status-verde{color:#166534;background:#ecfdf3;border:1px solid #86e2b8}.status-naranja{color:#9a3412;background:#fff7ed;border:1px solid #f6c79d}.status-rojo{color:#991b1b;background:#fef2f2;border:1px solid #f1a8a8}.status-media{color:#92400e;background:#fffbeb;border:1px solid #fcd34d}.status-none{color:#14532d;background:#ecfdf5;border:1px solid #86efac}.status-gps{color:#1e3a8a;background:#eff6ff;border:1px solid #93c5fd}.telemetry-warning{margin:10px 2px 0;padding:10px 12px;border-radius:10px;border:1px solid #f5c27a;background:#fff7ed;color:#9a3412;font-size:13px;font-weight:600}.routes-loading-state{margin:10px 2px 0;padding:12px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));background:color-mix(in srgb,var(--accent-soft) 52%,#ffffff);color:var(--accent-strong);font-size:14px;font-weight:800}.empty-state{margin:0;padding:16px;color:var(--text-muted);font-size:15px}.theme-dark .summary-card strong,.theme-dark td,.theme-dark th,.theme-dark .filters-top h2,.theme-dark .chip-button,.theme-dark .filter-group input,.theme-dark .filter-group select,.theme-dark .empty-state{color:var(--text-strong)}.theme-dark .chip-button{background:linear-gradient(145deg,#1f354c,#1a2f44)}.theme-dark .chip-active{color:#f7fbff;background:linear-gradient(145deg,#4d97cf,#4fafe6)}.theme-dark .chip-verde,.theme-dark .chip-naranja,.theme-dark .chip-rojo{color:var(--text-strong);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:linear-gradient(145deg,#1f354c,#1a2f44)}.theme-dark .chip-verde.chip-active,.theme-dark .chip-naranja.chip-active,.theme-dark .chip-rojo.chip-active{color:#f7fbff;border-color:var(--accent);background:linear-gradient(145deg,#4d97cf,#4fafe6)}.theme-dark .header-control select option{color:#0f2238}.route-map-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0916238f;display:flex;align-items:center;justify-content:center;padding:16px}.route-map-modal{width:min(1040px,92vw);height:auto;max-height:calc(100dvh - 32px);min-width:0;min-height:0;background:var(--bg-panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-rows:auto auto 1fr}.incident-panel{border-top:1px solid var(--line);padding:10px 14px 14px;background:var(--bg-soft)}.incident-panel h4{margin:0 0 8px;color:var(--text-strong);font-size:14px}.incident-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 12px}.incident-grid p{margin:0;font-size:12px;color:var(--text-main)}.incident-empty{margin:0;padding:10px 12px;border:1px dashed var(--line);border-radius:8px;background:var(--bg-panel);color:var(--text-muted);font-size:13px;font-weight:600}.route-map-modal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--bg-soft)}.route-map-modal-head strong{color:#000;font-size:18px;font-weight:700}.route-map-modal-head button{border:1px solid var(--line);background:var(--bg-panel);color:var(--text-main);border-radius:9px;padding:8px 12px;font-weight:600;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease}.route-map-modal-head button:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent-soft) 65%,var(--bg-panel));color:var(--text-strong);transform:translateY(-1px)}.route-map-trip-toggle{display:flex;align-items:center;gap:8px;padding:7px 14px;border-bottom:1px solid var(--line);background:linear-gradient(140deg,color-mix(in srgb,var(--accent-soft) 28%,var(--bg-soft)),color-mix(in srgb,var(--bg-soft) 92%,#ffffff 8%))}.route-map-trip-toggle span{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.01em}.route-map-trip-toggle button{min-height:28px;border:1px solid color-mix(in srgb,var(--line) 70%,var(--accent) 30%);border-radius:999px;background:linear-gradient(155deg,color-mix(in srgb,var(--bg-panel) 86%,#ffffff 14%),color-mix(in srgb,var(--bg-soft) 90%,#ffffff 10%));color:var(--text-main);padding:0 11px;font-size:12px;font-weight:700;cursor:pointer;transition:border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.route-map-trip-toggle button:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));color:var(--text-strong);transform:translateY(-1px)}.route-map-trip-toggle button.is-on{color:#fff;border-color:color-mix(in srgb,var(--accent) 82%,#ffffff);background:linear-gradient(145deg,var(--accent-strong),var(--accent));box-shadow:0 6px 12px color-mix(in srgb,var(--accent) 30%,transparent)}.manager-decision-panel{display:grid;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);background:linear-gradient(145deg,color-mix(in srgb,var(--bg-soft) 90%,#ffffff 10%),color-mix(in srgb,var(--accent-soft) 20%,var(--bg-soft)))}.manager-decision-row{display:grid;grid-template-columns:minmax(140px,auto) 1fr;align-items:center;gap:10px}.manager-decision-title{color:var(--text-muted);font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.manager-decision-row label{color:var(--text-muted);font-size:12px;font-weight:700}.manager-decision-actions{display:inline-flex;align-items:center;gap:8px}.manager-decision-actions button{min-height:31px;border:1px solid color-mix(in srgb,var(--line) 72%,var(--accent) 28%);border-radius:999px;background:var(--bg-panel);color:var(--text-main);padding:0 14px;font-size:12px;font-weight:700;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.manager-decision-actions button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 62%,var(--line));box-shadow:0 6px 10px color-mix(in srgb,var(--accent-soft) 45%,transparent)}.manager-decision-actions button.is-on{color:#fff;border-color:color-mix(in srgb,var(--accent) 82%,#ffffff);background:linear-gradient(145deg,var(--accent-strong),var(--accent))}.manager-decision-actions button.is-danger{border-color:color-mix(in srgb,var(--warn) 62%,var(--line));color:color-mix(in srgb,var(--warn) 80%,#1f2937);background:color-mix(in srgb,var(--warn-soft) 42%,#ffffff)}.manager-decision-actions button.is-danger.is-on{color:#fff;border-color:color-mix(in srgb,var(--warn) 82%,#ffffff);background:linear-gradient(145deg,color-mix(in srgb,var(--warn) 88%,#9f1239),var(--warn))}.manager-decision-row select,.manager-decision-generate>button{min-height:34px;border-radius:9px;border:1px solid var(--line);background:var(--bg-panel);color:var(--text-main);font-size:13px;font-weight:600}.manager-decision-row select{width:min(260px,100%);padding:0 10px}.manager-decision-generate{grid-template-columns:1fr;justify-items:start;align-items:start;gap:8px}.manager-decision-generate>button{padding:0 12px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.manager-decision-generate>button:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 58%,var(--line));background:color-mix(in srgb,var(--accent-soft) 28%,var(--bg-panel))}.manager-decision-generate>button:disabled{opacity:.55;cursor:not-allowed}.manager-generated-id{margin:0;width:100%;border:1px dashed color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--bg-panel) 88%,#ffffff 12%);color:var(--text-muted);padding:7px 10px;font-size:12px;font-weight:600}.manager-generated-id strong{color:var(--text-strong);font-size:13px}.route-map-modal-canvas{width:100%;height:100%;min-height:0;min-width:0}.route-map-modal-layout{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);overflow:hidden}.live-modal-layout{grid-template-columns:minmax(0,1fr) minmax(300px,400px)}.route-map-modal-map-pane{width:100%;height:100%;min-height:0;min-width:0;position:relative}.map-loading-overlay{position:absolute;top:10px;right:10px;bottom:10px;left:10px;z-index:250;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--bg-panel) 88%,#ffffff 12%);color:var(--text-strong);font-weight:600;pointer-events:none}.live-geometry-diagnosis-badge{position:absolute;left:12px;bottom:12px;z-index:260;max-width:min(540px,calc(100% - 24px));border:1px solid rgba(15,23,42,.18);border-radius:8px;background:#0f172ad6;color:#fff;padding:7px 9px;font-size:11px;font-weight:700;line-height:1.35;overflow-wrap:anywhere;pointer-events:none}.route-mermaid-pane{border-left:1px solid var(--line);background:var(--bg-soft);padding:12px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;overflow:auto;overflow-wrap:anywhere;min-width:0;min-height:0}.route-mermaid-pane h4{margin:0;color:var(--text-strong);font-size:14px;font-weight:700}.route-mermaid-track{border:1px solid var(--line);border-radius:10px;background:var(--bg-panel);padding:10px;display:grid;gap:2px;align-content:start}.route-mermaid-step{display:grid;justify-items:stretch}.route-mermaid-node{border:1px solid var(--line);border-radius:8px;background:var(--bg-soft);min-height:40px;padding:8px 10px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease}.route-mermaid-node:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent-soft) 44%,var(--bg-panel));transform:translateY(-1px)}.route-mermaid-node:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 32%,transparent)}.route-mermaid-node span{width:22px;height:22px;border-radius:999px;border:1px solid var(--line);background:var(--bg-panel);color:var(--text-muted);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.route-mermaid-node strong{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--text-strong);font-size:13px;font-weight:600;line-height:1.3;word-break:break-word;overflow-wrap:anywhere}.route-incident-badge{margin-left:0;display:inline-block;border-radius:999px;padding:2px 8px;font-style:normal;font-size:11px;font-weight:700;color:#991b1b;background:#fee2e2;border:1px solid #fca5a5;max-width:210px;white-space:normal;vertical-align:middle}.route-real-summary{margin:0;font-size:12px;color:var(--text-muted);line-height:1.35}.route-mermaid-node.is-start{border-color:color-mix(in srgb,var(--verde) 40%,var(--line))}.route-mermaid-node.is-end{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.route-mermaid-node.is-active{border-color:color-mix(in srgb,var(--accent) 72%,var(--line));background:color-mix(in srgb,var(--accent-soft) 62%,var(--bg-panel));box-shadow:0 8px 16px #0f3a6729}.route-mermaid-node.is-active span{border-color:color-mix(in srgb,var(--accent) 60%,var(--line));color:var(--text-strong)}.route-mermaid-connector{min-height:22px;display:grid;justify-items:center;align-items:center}.route-mermaid-connector i{width:2px;height:14px;background:color-mix(in srgb,var(--accent) 55%,var(--line));position:relative;border-radius:2px}.route-mermaid-connector i:after{content:"";position:absolute;left:50%;bottom:-4px;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid color-mix(in srgb,var(--accent) 55%,var(--line))}.role-view-switcher{margin-top:var(--demo-translogistica-section-gap);background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-soft);padding:12px}.role-view-switcher-head h2{margin:0;color:var(--text-strong);font-size:18px}.role-view-switcher-head p{margin:6px 0 0;color:var(--text-muted);font-size:13px}.role-view-switcher-controls{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.role-view-button{border:1px solid var(--line);background:var(--bg-soft);color:var(--text-strong);border-radius:10px;padding:9px 13px;font-weight:700;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.role-view-button:hover,.role-view-button:focus-visible{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-1px)}.role-view-button.is-active{border-color:var(--accent);color:#fff;background:linear-gradient(145deg,var(--accent-strong),var(--accent));box-shadow:0 8px 16px #1f4f7a40}.executive-header,.manager-view-header,.transport-route-card,.transport-fuel-panel,.executive-chart-card,.executive-insights{padding:12px}.executive-view,.manager-view,.transport-view{margin-top:var(--demo-translogistica-section-gap);min-width:0}.executive-header h2,.manager-view-header h2{margin:0;color:var(--text-strong)}.executive-header p,.manager-view-header p{margin:6px 0 0;color:var(--text-muted)}.executive-kpi-grid{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:10px}.executive-kpi-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-soft);min-height:92px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.executive-kpi-card span{color:var(--text-muted);font-size:12px}.executive-kpi-card strong{font-size:clamp(24px,2vw,34px);color:var(--text-strong);white-space:nowrap}.executive-chart-grid,.executive-ranking-grid{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.executive-chart-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-soft);min-width:0}.executive-chart-card h3{margin:0;color:var(--text-strong);font-size:16px}.executive-chart-card small{color:var(--text-muted)}.executive-bars{margin-top:10px;display:grid;gap:8px}.executive-bar-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0}.executive-bar-row span,.executive-bar-row strong{overflow-wrap:anywhere}.executive-bar-track{height:10px;border-radius:999px;background:color-mix(in srgb,var(--line) 82%,var(--bg-soft));overflow:hidden}.executive-bar-track i{display:block;height:100%;border-radius:999px;background:var(--accent)}.executive-ranking-list{margin-top:10px;display:grid;gap:8px}.executive-ranking-item{border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;justify-content:space-between;gap:8px;min-width:0}.executive-ranking-item p{margin:3px 0 0;color:var(--text-muted);font-size:13px}.executive-ranking-values{text-align:right}.executive-ranking-values span{display:block}.executive-mini-list{margin-top:10px;display:grid;gap:8px}.executive-mini-list p{margin:0;border:1px solid var(--line);border-radius:10px;padding:10px}.executive-mini-list span{display:block;margin-top:3px;color:var(--text-muted);overflow-wrap:anywhere}.executive-insights{margin-top:10px;background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-soft)}.executive-insights h3{margin:0}.executive-insights ul{margin:10px 0 0;padding-left:18px;display:grid;gap:7px}.executive-empty{margin:0;color:var(--text-muted)}.transport-view{display:grid;gap:10px}.transport-route-card,.transport-fuel-panel{margin:0;background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-soft);min-width:0}.transport-route-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.transport-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.transport-route-grid p,.transport-fuel-panel p{margin:0;overflow-wrap:anywhere}.transport-stops-list{margin:8px 0 0;padding-left:18px;display:grid;gap:4px}.transport-actions-row{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.transport-actions-row label{font-size:13px;color:var(--text-muted)}.transport-actions-row select,.transport-fuel-panel input{height:38px;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);color:var(--text-strong);padding:0 10px}.transport-maps-link{border:1px solid var(--accent);border-radius:10px;background:color-mix(in srgb,var(--accent-soft) 58%,var(--bg-soft));color:var(--accent-strong);font-weight:700;padding:9px 12px;text-decoration:none}.transport-fuel-panel{display:grid;gap:8px}.transport-fuel-panel h3,.transport-route-card h3{margin:0}.transport-ok{color:var(--verde);font-weight:700}.transport-alert{color:var(--rojo);font-weight:700}.transport-incident-grid{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.transport-incident-grid button{border:1px solid var(--line);background:var(--bg-soft);color:var(--text-strong);border-radius:10px;padding:10px;font-weight:700;cursor:pointer}@media (max-width: 1360px){.summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(178px,100%),1fr))}}@media (max-width: 980px){.header-main{flex-direction:column}.header-controls{width:100%;justify-content:flex-end}.header-copy{min-height:0}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr))}.filters-row,.filters-grid-extended{grid-template-columns:1fr}.filters-top{align-items:flex-start;flex-direction:column}.simulation-controls,.simulation-kpis{grid-template-columns:1fr 1fr}.executive-chart-grid,.executive-ranking-grid,.excel-import-options,.excel-import-actions{grid-template-columns:1fr}.excel-import-actions button{width:100%}.filter-search-block{grid-column:auto}.filter-search-row{grid-template-columns:1fr}.route-map-modal{width:min(980px,94vw);max-height:calc(100dvh - 24px)}.route-map-modal-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,auto)}.route-mermaid-pane{border-left:none;border-top:1px solid var(--line);max-height:36vh}.manager-decision-row{grid-template-columns:1fr;align-items:start}.manager-decision-actions{flex-wrap:wrap}.manager-decision-row select{width:100%}.incident-grid{grid-template-columns:1fr 1fr}}@media (max-width: 760px){.routes-dashboard{padding:10px}.header-controls{flex-wrap:wrap;gap:8px;height:auto}.header-control select{width:74px;min-width:74px;height:34px;font-size:12px}.theme-toggle{width:34px;min-width:34px;height:34px;font-size:14px}.summary-grid,.executive-kpi-grid,.transport-route-grid{grid-template-columns:1fr}.executive-bar-row{grid-template-columns:1fr;gap:4px}.role-view-switcher-controls,.transport-actions-row{flex-direction:column;align-items:stretch}.role-view-button,.transport-maps-link{text-align:center}.incident-grid,.simulation-controls,.simulation-kpis{grid-template-columns:1fr}.route-map-modal-overlay{padding:8px}.route-map-modal{width:100%;max-height:calc(100dvh - 16px);border-radius:10px}.table-wrapper{max-height:none;overflow:visible}table{min-width:0;border-collapse:separate;border-spacing:0 10px}thead{display:none}tbody tr{display:block;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-soft);background:var(--bg-panel);padding:10px 12px}tbody tr:nth-child(2n){background:var(--bg-panel)}td{display:flex;justify-content:space-between;align-items:center;gap:10px;white-space:normal;border:0;padding:8px 0;text-align:right}td:before{content:attr(data-label);color:var(--text-muted);text-align:left;font-weight:600;text-transform:capitalize}}.summary-card{align-items:center;text-align:center;justify-content:center;gap:6px;container-type:inline-size;min-height:150px;padding:14px}.summary-card strong{max-width:100%;font-size:clamp(1.45rem,15cqi,2.8rem);line-height:1.05;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}.summary-card span{font-weight:700;text-transform:none;overflow-wrap:anywhere}.role-view-switcher{padding:14px;border-radius:14px}.role-view-switcher-head h2{font-family:var(--demo-translogistica-brand-font);font-size:20px;letter-spacing:.02em}.role-view-switcher-controls{background:color-mix(in srgb,var(--accent-soft) 46%,var(--bg-panel));border:1px solid var(--line);border-radius:12px;padding:6px}.role-view-button{flex:1 1 170px;border-radius:9px;min-height:44px;font-size:14px}.executive-view{display:grid;gap:12px}.executive-hero{background:linear-gradient(148deg,#0b3b63eb,#125284c2),linear-gradient(90deg,#96b6d54d,#083a6133);border:1px solid rgba(143,186,221,.5);border-radius:14px;box-shadow:var(--shadow);color:#eef7ff;padding:16px;min-width:0}.executive-hero h2{margin:8px 0 0;font-family:var(--demo-translogistica-brand-font);font-size:clamp(1.65rem,2.4vw,2.2rem);letter-spacing:.02em}.executive-hero-subtitle,.executive-hero-copy{margin:8px 0 0;max-width:840px;color:#d9ebfb;overflow-wrap:anywhere}.executive-hero-badges{display:flex;flex-wrap:wrap;gap:7px}.executive-hero-badges span{border:1px solid rgba(221,239,255,.42);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;background:#ffffff1f}.executive-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.executive-kpi-card{border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,var(--bg-panel),color-mix(in srgb,var(--bg-soft) 78%,#ffffff 22%));box-shadow:var(--shadow-soft);min-height:168px;padding:14px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:8px;min-width:0}.executive-kpi-label{color:var(--text-muted);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.03em;overflow-wrap:anywhere}.executive-kpi-value{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:800;color:var(--text-strong);line-height:1.08;overflow-wrap:anywhere}.executive-kpi-helper{color:var(--text-muted);font-size:12px;font-weight:600;overflow-wrap:anywhere}.executive-kpi-verde{border-color:color-mix(in srgb,var(--verde) 48%,var(--line))}.executive-kpi-naranja{border-color:color-mix(in srgb,var(--naranja) 48%,var(--line))}.executive-kpi-rojo{border-color:color-mix(in srgb,var(--rojo) 48%,var(--line))}.executive-kpi-grid-secondary .executive-kpi-card{min-height:130px;background:var(--bg-panel);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.executive-kpi-grid-secondary .executive-kpi-card:hover,.executive-kpi-grid-secondary .executive-kpi-card:focus-within{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 16px 34px #1f4f7a29;background:color-mix(in srgb,var(--accent-soft) 30%,var(--bg-panel))}.executive-insight-card{background:color-mix(in srgb,var(--accent-soft) 44%,var(--bg-panel));border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:12px;box-shadow:var(--shadow-soft);padding:12px;min-width:0}.executive-insight-card h3{margin:0;color:var(--text-strong)}.executive-insight-card ul{margin:10px 0 0;padding-left:18px;display:grid;gap:7px}.executive-chart-grid,.executive-ranking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.executive-chart-grid-single{grid-template-columns:minmax(0,1fr)}.executive-costs-section{display:block;width:100%}.executive-chart-card{padding:14px;border-radius:12px;border:1px solid var(--line);box-shadow:var(--shadow-soft);background:var(--bg-panel);min-width:0}.executive-chart-card-wide{min-height:100%}.executive-costs-card{width:100%}.executive-chart-card h3{margin:0}.executive-financial-triangle{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px}.executive-financial-col{display:grid;justify-items:center;gap:8px}.executive-financial-col strong{font-size:14px;color:var(--text-strong)}.executive-financial-track{width:min(100%,82px);height:170px;border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 50%,var(--bg-soft));display:flex;align-items:end;padding:6px}.executive-financial-track i{width:100%;border-radius:10px}.executive-financial-col span{color:var(--text-muted);font-weight:700}.executive-donut-wrap{margin-top:10px;display:grid;justify-items:center;gap:10px}.executive-donut{width:210px;height:210px;transform:rotate(-90deg)}.executive-donut-bg,.executive-donut-segment{fill:none;stroke-width:22}.executive-donut-bg{stroke:color-mix(in srgb,var(--line) 75%,var(--bg-soft))}.executive-donut-segment{stroke-linecap:butt}.executive-donut-center{margin-top:-132px;height:0;text-align:center}.executive-donut-center strong{display:block;font-size:30px;line-height:1}.executive-donut-center span{font-size:12px;color:var(--text-muted);font-weight:700}.executive-donut-legend{margin-top:78px;width:100%;display:grid;gap:6px}.executive-donut-legend p,.executive-stacked-legend p{margin:0;display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:8px}.executive-donut-legend i,.executive-stacked-legend i{width:12px;height:12px;border-radius:999px}.executive-stacked-costs{margin-top:12px;display:grid;gap:10px}.executive-chart-card-wide .executive-stacked-costs{grid-template-columns:1fr;align-items:start;gap:10px}.executive-chart-card-wide .executive-stacked-bar{grid-column:auto;height:16px}.executive-chart-card-wide .executive-stacked-legend{position:relative;min-height:24px}.executive-chart-card-wide .executive-stacked-legend p{padding:0;border:0;border-radius:0;background:transparent;font-size:13px}.executive-stacked-legend-item{position:absolute;top:0;transform:translate(-50%);display:grid;justify-items:center;gap:4px;white-space:nowrap;text-align:center}.executive-stacked-legend-item i{margin:0 auto}.executive-stacked-legend-item span,.executive-stacked-legend-item strong{line-height:1.1}.executive-stacked-bar{display:flex;border-radius:999px;overflow:hidden;height:18px;background:color-mix(in srgb,var(--accent-soft) 45%,var(--bg-soft))}.executive-stacked-bar i{height:100%;min-width:2px}.executive-stacked-legend{display:grid;gap:7px}.executive-lots-list,.executive-client-list{margin-top:10px;display:grid;gap:8px}.executive-lots-list p,.executive-client-list p{margin:0;display:grid;align-items:center;gap:8px}.executive-lots-list p{grid-template-columns:minmax(92px,auto) minmax(0,1fr) auto}.executive-client-list p{grid-template-columns:140px minmax(0,1fr) 72px}.executive-client-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.executive-client-list strong{text-align:right}.executive-lots-list i,.executive-client-list i,.executive-ranking-progress{display:block;height:9px;border-radius:999px;background:color-mix(in srgb,var(--accent-soft) 50%,var(--bg-soft));overflow:hidden}.executive-lots-list em,.executive-client-list em,.executive-ranking-progress i{display:block;height:100%;border-radius:999px;background:var(--accent)}.executive-ranking-card{min-width:0}.executive-ranking-list{margin-top:10px;display:grid;gap:9px}.executive-ranking-item{border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0}.executive-ranking-main strong,.executive-ranking-main p,.executive-ranking-metrics span,.executive-fleet-list span{overflow-wrap:anywhere}.executive-ranking-main p{margin:4px 0 0;color:var(--text-muted);font-size:13px}.executive-ranking-metrics{text-align:right;display:grid;gap:4px}.executive-ranking-progress{grid-column:1 / -1}.executive-fleet-card small{display:inline-block;margin-top:4px}.executive-fleet-list{margin-top:10px;display:grid;gap:8px}.executive-fleet-list p{margin:0;border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;gap:4px}.executive-roi-section{display:grid;gap:12px}.executive-roi-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.executive-roi-header h3{margin:0}.executive-roi-header p{margin:6px 0 0;color:var(--text-muted)}.executive-roi-summary{border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:122px;text-align:center;background:color-mix(in srgb,var(--bg-soft) 72%,transparent)}.executive-roi-summary strong{display:block;font-size:24px;color:var(--text-strong)}.executive-roi-summary span{color:var(--text-muted);font-size:12px;font-weight:700}.executive-roi-selector{display:flex;flex-wrap:wrap;gap:8px}.executive-roi-chip{border:1px solid var(--line);border-radius:999px;padding:6px 10px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;background:color-mix(in srgb,var(--bg-soft) 65%,transparent)}.executive-roi-chip input{margin:0}.executive-roi-chip span{font-size:13px;font-weight:600;color:var(--text)}.executive-roi-chip.is-active{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));background:color-mix(in srgb,var(--accent-soft) 46%,var(--bg-panel))}.executive-roi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:10px}.executive-roi-card{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:10px;background:color-mix(in srgb,var(--bg-panel) 82%,transparent)}.executive-roi-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.executive-roi-card-head h4{margin:0;font-size:16px;color:var(--text-strong)}.executive-roi-card-head p{margin:4px 0 0;color:var(--text-muted)}.executive-roi-status{border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;letter-spacing:.02em}.executive-roi-status.is-reached{background:color-mix(in srgb,var(--verde) 20%,var(--bg-panel));color:color-mix(in srgb,var(--verde) 78%,#0f172a);border:1px solid color-mix(in srgb,var(--verde) 56%,var(--line))}.executive-roi-status.is-pending{background:color-mix(in srgb,var(--naranja) 20%,var(--bg-panel));color:color-mix(in srgb,var(--naranja) 78%,#0f172a);border:1px solid color-mix(in srgb,var(--naranja) 56%,var(--line))}.executive-roi-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.executive-roi-kpis p{margin:0;border:1px solid var(--line);border-radius:9px;padding:8px;background:var(--bg-panel);display:grid;gap:2px}.executive-roi-kpis span{color:var(--text-muted);font-size:11px;font-weight:700}.executive-roi-kpis strong{color:var(--text-strong);font-size:14px}.executive-roi-chart{border:1px solid var(--line);border-radius:10px;padding:8px;background:color-mix(in srgb,var(--bg-soft) 56%,transparent)}.executive-roi-chart svg{width:100%;height:auto;display:block}.executive-roi-gridline{stroke:color-mix(in srgb,var(--line) 90%,#ffffff 10%);stroke-width:1}.executive-roi-band-loss{fill:#c24a3814}.executive-roi-band-profit{fill:#0f9d5814}.executive-roi-gridline-vertical{stroke-dasharray:4 4}.executive-roi-axis-label{fill:var(--text-muted);font-size:11px}.executive-roi-axis-label-left{text-anchor:end}.executive-roi-line-income,.executive-roi-line-cost{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.executive-roi-line-income{stroke:#1f4f7a}.executive-roi-line-cost{stroke:#c24a38}.executive-roi-dot-income{fill:#1f4f7a}.executive-roi-dot-cost{fill:#c24a38}.executive-roi-break-line{stroke:#0f9d58;stroke-width:2;stroke-dasharray:5 5}.executive-roi-break-dot{fill:#0f9d58;stroke:#fff;stroke-width:2}.executive-roi-controls{margin-top:8px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.executive-roi-controls label{font-size:12px;color:var(--text-muted);font-weight:700}.executive-roi-controls input[type=range]{width:100%}.executive-roi-controls strong{font-size:12px;color:var(--text-strong)}.executive-roi-interactive-status{margin:6px 0 0;font-size:12px;font-weight:700}.executive-roi-interactive-status.is-rentable{color:color-mix(in srgb,var(--verde) 74%,#0f172a)}.executive-roi-interactive-status.is-not-rentable{color:color-mix(in srgb,var(--rojo) 74%,#0f172a)}.executive-roi-legend{margin-top:8px;display:flex;flex-wrap:wrap;gap:10px}.executive-roi-legend span{display:inline-flex;align-items:center;gap:7px;color:var(--text);font-size:12px;font-weight:700}.executive-roi-legend i{width:11px;height:11px;border-radius:999px}.executive-roi-legend-bands{margin-top:6px;display:flex;flex-wrap:wrap;gap:10px}.executive-roi-legend-bands span{display:inline-flex;align-items:center;gap:7px;color:var(--text-muted);font-size:12px;font-weight:600}.executive-roi-legend-bands i{width:12px;height:12px;border-radius:3px;border:1px solid var(--line)}.executive-roi-legend-bands .band-loss{background:#c24a3833}.executive-roi-legend-bands .band-profit{background:#0f9d5833}.executive-roi-empty{margin:0;color:var(--text-muted)}@media (max-width: 860px){.executive-roi-header{flex-direction:column}.executive-roi-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.executive-roi-kpis{grid-template-columns:1fr}}.transport-view{display:grid;gap:14px;min-width:0}.transport-hero-card,.transport-route-card,.transport-fuel-card{border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-soft);background:var(--bg-panel);padding:16px;min-width:0;overflow-wrap:anywhere}.transport-route-card,.transport-fuel-card{height:100%}.transport-hero-card{padding:14px 16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 76%,#ffffff 24%),#fff0),var(--bg-panel)}.transport-hero-main{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;min-width:0}.transport-hero-card h2{margin:0;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.12;font-weight:700;color:var(--text-strong);overflow-wrap:anywhere}.transport-hero-meta{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.transport-hero-meta p{margin:0;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:10px;background:color-mix(in srgb,var(--bg-soft) 82%,transparent);padding:8px 10px;font-size:13px;overflow-wrap:anywhere}.transport-main-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr);gap:14px;align-items:stretch;min-width:0}.transport-route-header,.transport-route-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.transport-route-header h3,.transport-fuel-card h3,.transport-route-card h3{margin:0;color:var(--text-strong)}.transport-maps-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid var(--accent-strong);border-radius:10px;background:linear-gradient(145deg,var(--accent-strong),var(--accent));color:#fff;font-weight:800;padding:10px 14px;text-decoration:none;text-align:center;white-space:normal;box-shadow:0 10px 18px #1f4f7a2e}.transport-maps-link.is-disabled{border-color:var(--line);background:color-mix(in srgb,var(--line) 28%,var(--bg-soft));color:var(--text-muted);box-shadow:none;cursor:not-allowed}.transport-route-actions{flex:0 0 auto}.transport-actions-row{margin-top:12px;display:grid;grid-template-columns:minmax(132px,auto) minmax(0,1fr);gap:8px;align-items:center;min-width:0}.transport-assigned-strip{margin-top:12px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--accent-soft) 34%,var(--bg-panel));padding:10px 12px;display:grid;gap:3px;min-width:0}.transport-assigned-strip span{color:var(--text-muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.transport-assigned-strip strong{color:var(--text-strong);overflow-wrap:anywhere}.transport-demo-tools{margin-top:10px;border:1px dashed color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--bg-soft) 70%,transparent);padding:8px 10px}.transport-demo-tools summary{color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:800;text-transform:uppercase}.transport-actions-row label,.transport-fuel-card label{font-size:13px;font-weight:700;color:var(--text-muted)}.transport-actions-row select,.transport-fuel-input{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);color:var(--text-strong);box-shadow:inset 0 1px #ffffff8c}.transport-actions-row select{min-height:38px;padding:0 10px}.transport-demo-note{grid-column:2;margin:-2px 0 0;color:var(--text-muted);font-size:12px}.transport-route-timeline{margin:18px 0 0;padding:0;list-style:none;display:flex;gap:0;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain}.transport-stop-item,.transport-stop-node{flex:1 1 0;min-width:120px;display:grid;grid-template-rows:34px auto;justify-items:center;gap:8px;align-items:start;position:relative;min-height:106px;text-align:center;padding:0 8px}.transport-stop-marker{width:32px;height:32px;border-radius:999px;background:linear-gradient(145deg,var(--accent),var(--accent-strong));border:2px solid color-mix(in srgb,var(--accent-soft) 70%,#ffffff);display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff;box-shadow:0 7px 14px #1f4f7a33;z-index:1}.transport-stop-connector{position:absolute;top:16px;left:calc(50% + 22px);width:calc(100% - 44px);height:2px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 44%,var(--line)),color-mix(in srgb,var(--accent-soft) 62%,var(--line)))}.transport-stop-item div{display:grid;gap:2px;min-width:0;padding-top:2px}.transport-stop-item strong,.transport-stop-name{margin:0;color:var(--text-strong);font-size:14px;line-height:1.2;overflow-wrap:anywhere}.transport-stop-item small,.transport-stop-type{color:var(--text-muted);font-weight:700;text-transform:uppercase;font-size:11px}.transport-fuel-card{display:grid;align-content:start;gap:8px;padding:14px;background:radial-gradient(circle at top,color-mix(in srgb,var(--accent-soft) 52%,transparent),transparent 55%),color-mix(in srgb,var(--accent-soft) 24%,var(--bg-panel))}.transport-fuel-value,.transport-fuel-estimate{margin-top:2px;min-height:76px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--bg-panel) 74%,#ffffff);display:grid;place-items:center;align-content:center;gap:4px;text-align:center}.transport-fuel-value strong,.transport-fuel-estimate-value{margin:0;font-size:clamp(1.9rem,2.3vw,2.8rem);line-height:1;color:var(--text-strong)}.transport-fuel-value span,.transport-fuel-estimate-label{color:var(--text-muted);font-weight:700}.transport-fuel-source{margin:-2px 0 0;color:var(--text-muted);font-size:12px;line-height:1.35;text-align:center;overflow-wrap:anywhere}.transport-fuel-card label{margin-top:2px}.transport-fuel-input{min-height:46px;padding:0 14px;font-size:18px;font-weight:700;text-align:center}.transport-fuel-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.transport-fuel-metrics p{margin:0;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--bg-soft);display:grid;gap:4px;text-align:center;min-width:0}.transport-fuel-metrics span{font-size:17px;font-weight:800;color:var(--text-strong)}.transport-ok,.transport-alert{margin:0;border-radius:999px;padding:8px 10px;border:1px solid var(--line);font-weight:800;text-align:center;font-size:13px}.transport-ok{color:#166534;background:#ecfdf3;border-color:#b2e7c6}.transport-alert{color:#991b1b;background:#fef2f2;border-color:#facaca}.transport-incidents-card{padding-top:14px}.transport-incident-grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.transport-incident-button{min-height:64px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,var(--bg-soft),color-mix(in srgb,var(--bg-panel) 84%,#ffffff));color:var(--text-strong);display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;text-align:left;padding:12px;font-weight:800;cursor:pointer;min-width:0;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.transport-incident-button:hover,.transport-incident-button:focus-visible{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));box-shadow:var(--shadow-soft);transform:translateY(-1px);outline:none}.transport-incident-button span{width:30px;height:30px;border-radius:999px;background:color-mix(in srgb,var(--accent-soft) 62%,var(--bg-panel));display:grid;place-items:center;font-size:16px}.transport-incident-button strong{font-size:14px;overflow-wrap:anywhere}.transport-quick-feedback{margin:10px 0 0;color:var(--text-muted)}@media (max-width: 1100px){.transport-main-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr)}}@media (max-width: 899px){.transport-route-timeline{display:grid;gap:8px}.transport-stop-item,.transport-stop-node{display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto;justify-items:start;gap:12px;min-height:42px;min-width:0;text-align:left;padding:0}.transport-stop-connector{left:15px;top:34px;width:2px;height:calc(100% - 20px);background:color-mix(in srgb,var(--accent) 32%,var(--line))}}@media (max-width: 1024px){.executive-chart-grid,.executive-ranking-grid{grid-template-columns:1fr}.transport-hero-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.executive-kpi-card{min-height:150px}.executive-kpi-value{font-size:clamp(1.7rem,8vw,2.2rem)}.executive-financial-track{height:138px}.executive-donut{width:180px;height:180px}.executive-donut-center{margin-top:-116px}.executive-donut-legend{margin-top:60px}.transport-hero-meta,.transport-fuel-metrics,.transport-main-grid,.executive-chart-card-wide .executive-stacked-costs,.executive-chart-card-wide .executive-stacked-legend{grid-template-columns:1fr}.executive-chart-card-wide .executive-stacked-legend{position:static;min-height:0;display:grid;gap:8px}.executive-stacked-legend-item{position:static;transform:none}.transport-hero-main,.transport-route-header,.transport-actions-row{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.transport-maps-link{width:100%}.transport-demo-note{grid-column:auto}.transport-stop-item,.transport-stop-node{grid-template-columns:28px minmax(0,1fr)}.transport-stop-marker{width:28px;height:28px}.transport-stop-connector{left:13px;top:30px;width:2px}}.map-screen{--map-bg: var(--demo-translogistica-panel-light);--map-panel: var(--demo-translogistica-panel-soft-light);--map-text: #0f3a67;--map-muted: #3f74a8;--map-line: #d3deea;--map-accent: #1f4f7a;--map-accent-soft: #e8f1fb;width:100%;background:transparent;border:none;border-radius:0;padding:var(--demo-translogistica-page-padding);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.map-screen.theme-dark{--map-bg: var(--demo-translogistica-panel-dark);--map-panel: var(--demo-translogistica-panel-soft-dark);--map-text: #0f3a67;--map-muted: #3f74a8;--map-line: #2a4760;--map-accent: #63a8e1;--map-accent-soft: #1b3750}.map-screen-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.map-screen-header.map-screen-hero{justify-content:flex-start;align-items:flex-start;border:1px solid rgba(163,194,219,.5);background-image:linear-gradient(145deg,#084f82a8,#084f828f 42%,#084f8275),linear-gradient(90deg,#084f8294,#6287a65c 58%,#084f8233),var(--demo-translogistica-hero-image-url);background-position:center,center,var(--demo-translogistica-hero-image-position);background-size:cover,cover,var(--demo-translogistica-hero-image-size);background-repeat:no-repeat;box-shadow:0 14px 30px #051c3338}.map-screen-header .demo-translogistica-hero-title{color:#f4f9ff}.map-screen-source-note{margin:4px 0 0;color:var(--map-muted);font-size:13px}.map-screen-source-error{margin:6px 0 0;color:#dc2626;font-size:12px}.map-screen-badge-wrap{display:flex;gap:8px}.map-screen-badge{background:var(--map-accent-soft);color:var(--map-accent);border:1px solid var(--map-line);border-radius:999px;padding:7px 12px;font-weight:700;white-space:nowrap}.map-feature-panel{margin-top:var(--demo-translogistica-section-gap);border:1px solid var(--map-line);border-radius:10px;background:var(--map-panel);backdrop-filter:blur(var(--demo-translogistica-panel-blur));-webkit-backdrop-filter:blur(var(--demo-translogistica-panel-blur));padding:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.map-feature-panel span{color:var(--map-muted);font-size:13px;font-weight:700;margin-right:4px}.map-feature-panel button{min-height:32px;border:1px solid var(--map-line);border-radius:999px;background:var(--map-bg);color:var(--map-text);padding:0 10px;cursor:pointer;font-size:12px;font-weight:700}.map-feature-panel button.is-on{background:color-mix(in srgb,var(--map-accent-soft) 70%,var(--map-bg));border-color:var(--map-accent);color:var(--map-accent)}.map-screen-controls{margin-top:var(--demo-translogistica-section-gap);display:grid;grid-template-columns:2fr repeat(6,minmax(120px,1fr));gap:10px}.map-screen-controls input,.map-screen-controls button{min-height:38px;width:100%;border:1px solid var(--map-line);border-radius:10px;padding:8px 10px;background:var(--map-panel);color:var(--map-text)}.map-screen-controls .tm-select-trigger{min-height:38px;height:38px;font-size:14px}.map-screen-controls input::placeholder{color:var(--map-muted)}.map-screen-controls button{background:var(--map-accent);border-color:var(--map-accent);color:#fff;cursor:pointer}.map-layout{margin-top:var(--demo-translogistica-section-gap);display:grid;grid-template-columns:360px 1fr;gap:12px;min-height:0;height:calc(100vh - 255px)}.map-selection-summary{margin-top:var(--demo-translogistica-section-gap);border:1px solid var(--map-line);border-radius:12px;background:var(--map-panel);backdrop-filter:blur(var(--demo-translogistica-panel-blur));-webkit-backdrop-filter:blur(var(--demo-translogistica-panel-blur));padding:10px}.map-trip-toggle{margin-top:10px;border:1px solid color-mix(in srgb,var(--map-line) 72%,var(--map-accent) 28%);border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--map-accent-soft) 35%,var(--map-panel)),color-mix(in srgb,var(--map-bg) 86%,#ffffff 14%));padding:7px 9px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.map-trip-toggle span{color:var(--map-muted);font-size:12px;font-weight:700;letter-spacing:.01em}.map-trip-toggle button{min-height:28px;border:1px solid color-mix(in srgb,var(--map-line) 68%,var(--map-accent) 32%);border-radius:999px;background:linear-gradient(155deg,color-mix(in srgb,var(--map-panel) 88%,#ffffff 12%),color-mix(in srgb,var(--map-bg) 90%,#ffffff 10%));color:var(--map-text);padding:0 11px;font-size:12px;font-weight:700;cursor:pointer;transition:border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.map-trip-toggle button:hover{border-color:color-mix(in srgb,var(--map-accent) 60%,var(--map-line));color:color-mix(in srgb,var(--map-text) 75%,#0f172a 25%);transform:translateY(-1px)}.map-trip-toggle button.is-on{border-color:color-mix(in srgb,var(--map-accent) 80%,#ffffff);background:linear-gradient(145deg,color-mix(in srgb,var(--map-accent) 86%,#0b3f67),var(--map-accent));color:#fff;box-shadow:0 6px 12px color-mix(in srgb,var(--map-accent) 30%,transparent)}.route-panel{border:1px solid color-mix(in srgb,var(--map-line) 72%,var(--map-accent) 28%);border-radius:14px;background:var(--map-panel);backdrop-filter:blur(var(--demo-translogistica-panel-blur));-webkit-backdrop-filter:blur(var(--demo-translogistica-panel-blur));box-shadow:0 12px 22px #081f3614;padding:12px;display:flex;flex-direction:column;min-height:0;max-height:100%}.route-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;border:1px solid color-mix(in srgb,var(--map-line) 74%,var(--map-accent) 26%);border-radius:12px;padding:9px 10px;background:linear-gradient(155deg,color-mix(in srgb,var(--map-accent-soft) 50%,#ffffff 50%),color-mix(in srgb,var(--map-bg) 84%,#ffffff 16%))}.route-panel-head>div{min-width:0}.route-panel-head h3{margin:0;color:var(--map-text);font-size:17px;letter-spacing:.01em}.route-panel-head p{margin:4px 0 0;color:var(--map-muted);font-size:13px;line-height:1.35}.route-panel-action{min-height:32px;border:1px solid var(--map-accent);border-radius:8px;background:var(--map-bg);color:var(--map-accent);font-weight:700;padding:0 10px;cursor:pointer}.route-empty{border:1px dashed var(--map-line);border-radius:10px;padding:12px;color:var(--map-muted);font-size:13px}.route-list{flex:1;overflow:auto;display:grid;gap:10px;padding-right:4px}.route-item{--route-accent: var(--map-accent);position:relative;overflow:hidden;text-align:left;border:1px solid color-mix(in srgb,var(--map-line) 70%,var(--route-accent) 30%);border-left:5px solid var(--route-accent);border-radius:12px;background:linear-gradient(165deg,color-mix(in srgb,var(--route-accent) 8%,#ffffff 92%) 0%,var(--map-bg) 68%);padding:11px 12px 12px;cursor:pointer;height:auto!important;min-height:136px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;box-shadow:0 5px 12px #091d3214;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.route-item:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--route-accent),transparent 86%);opacity:.6}.route-item:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--route-accent) 48%,var(--map-line));box-shadow:0 10px 18px #09213a24}.route-item.is-active{border-color:color-mix(in srgb,var(--route-accent) 72%,var(--map-line));background:linear-gradient(158deg,color-mix(in srgb,var(--route-accent) 20%,#ffffff 80%),color-mix(in srgb,var(--map-accent-soft) 68%,var(--map-panel)));box-shadow:0 0 0 1px color-mix(in srgb,var(--route-accent) 30%,transparent),0 12px 24px #081e3629}.route-item.is-active:before{opacity:1}.route-item-state{position:absolute;top:10px;right:10px;border-radius:999px;border:1px solid var(--map-line);background:color-mix(in srgb,var(--map-bg) 88%,#ffffff 12%);color:var(--map-text);padding:2px 8px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.route-item-state-verde{color:#166534;border-color:#16a34a6b;background:#16a34a1a}.route-item-state-naranja{color:#9a3412;border-color:#b453096b;background:#f59e0b24}.route-item-state-rojo{color:#991b1b;border-color:#dc26266b;background:#dc26261f}.route-item-name{display:block;color:var(--map-text);font-weight:800;font-size:15px;line-height:1.3;padding-right:82px}.route-item-cities{display:block;margin-top:2px;color:color-mix(in srgb,var(--map-muted) 80%,var(--map-text));font-size:13px;line-height:1.35}.route-item-tags{margin-top:6px;display:flex;flex-direction:column;width:100%;gap:6px}.route-item-tag{display:flex;align-items:center;justify-content:flex-start;gap:7px;width:100%;min-width:0;flex-wrap:wrap;border:1px solid color-mix(in srgb,var(--map-line) 75%,var(--map-accent) 25%);border-radius:999px;padding:3px 9px;background:color-mix(in srgb,var(--map-panel) 84%,#ffffff 16%)}.route-item-tag-label{color:var(--map-muted);font-size:11px;font-weight:700;white-space:nowrap}.route-item-tag-value{min-width:0;color:var(--map-text);font-size:12px;font-weight:700;white-space:normal;overflow-wrap:anywhere;text-align:left}.route-pagination{margin-top:8px;display:flex;justify-content:space-between;align-items:center;gap:8px}.route-pagination button{border:1px solid var(--map-line);border-radius:8px;background:var(--map-bg);color:var(--map-text);padding:6px 10px;cursor:pointer}.route-pagination button:disabled{opacity:.45;cursor:not-allowed}.route-pagination span{color:var(--map-muted);font-size:13px}.map-stage{border:1px solid var(--map-line);border-radius:12px;background:var(--map-panel);backdrop-filter:blur(var(--demo-translogistica-panel-blur));-webkit-backdrop-filter:blur(var(--demo-translogistica-panel-blur));padding:0;display:flex;flex-direction:column;min-height:0}.map-stage-head{display:flex;gap:8px;color:var(--map-muted);font-size:13px;margin-bottom:8px}.map-stage-head strong{color:var(--map-text)}.map-metrics-grid{margin-bottom:8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.map-metric-card{border:1px solid var(--map-line);border-radius:10px;background:var(--map-bg);padding:8px 10px}.map-metric-card span{display:block;color:var(--map-muted);font-size:12px}.map-metric-card strong{display:block;margin-top:4px;color:var(--map-text);font-size:24px}.map-alternatives-panel{margin-top:10px;margin-bottom:8px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.map-alternatives-panel>span{color:var(--map-muted);font-size:12px;font-weight:700}.map-alt-chip{border:1px solid var(--map-line);border-radius:999px;padding:4px 9px;font-size:12px;color:var(--map-text);background:var(--map-bg)}.map-history-panel{margin-bottom:8px;border:1px solid var(--map-line);border-radius:10px;background:var(--map-bg);padding:8px 10px}.map-history-panel h4{margin:0 0 8px;font-size:14px;color:var(--map-text)}.map-history-panel ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}.map-history-panel li{display:grid;grid-template-columns:70px 1fr 1fr 80px;gap:8px;font-size:12px;color:var(--map-muted)}.map-history-panel .is-delay{color:#dc2626;font-weight:700}.map-history-panel .is-early{color:#16a34a;font-weight:700}.map-legal-panel{margin-top:10px;border:1px solid color-mix(in srgb,var(--map-line) 65%,var(--map-accent) 35%);border-radius:10px;background:color-mix(in srgb,var(--map-panel) 90%,#ffffff 10%);padding:8px 10px}.map-legal-panel p{margin:0;font-size:12px;color:var(--map-text);line-height:1.35}.map-legal-panel p+p{margin-top:4px}.map-legal-panel .is-alert{margin-top:8px;color:#b91c1c;font-weight:700}.map-legal-panel .is-ok{margin-top:8px;color:#166534;font-weight:700}.map-legal-panel .is-note{color:var(--map-muted)}.map-screen-canvas{position:relative;flex:1;min-height:0;height:100%;border-radius:12px;overflow:hidden}.map-stop-card{position:absolute;top:12px;right:12px;z-index:8;width:min(260px,calc(100% - 24px));border-radius:10px;border:1px solid color-mix(in srgb,var(--map-line) 65%,var(--map-accent) 35%);background:color-mix(in srgb,var(--map-panel) 92%,#ffffff 8%);color:var(--map-text);box-shadow:0 10px 24px #00000029;padding:10px 12px}.map-stop-card strong{display:block;margin-bottom:5px;font-size:13px}.map-stop-card p{margin:0;font-size:12px;line-height:1.35}.map-stop-card p+p{margin-top:2px}.map-stop-card p span{color:var(--map-muted);font-weight:700}.map-stop-card-close{position:absolute;top:6px;right:6px;width:24px;height:24px;border:none;border-radius:999px;background:color-mix(in srgb,var(--map-accent-soft) 72%,#ffffff 28%);color:var(--map-accent);font-size:18px;line-height:1;cursor:pointer}.map-marker-legend{position:absolute;left:12px;bottom:12px;z-index:8;display:grid;gap:4px;padding:8px 10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--map-line) 70%,var(--map-accent) 30%);background:color-mix(in srgb,var(--map-panel) 90%,#ffffff 10%);color:var(--map-text);font-size:12px}.map-marker-legend span strong{display:inline-grid;place-items:center;width:16px;height:16px;margin-right:5px;border-radius:999px;background:#111827;color:#fff;font-size:10px}.map-fallback{width:100%;height:100%;min-height:280px;border:1px dashed var(--map-line);border-radius:12px;background:var(--map-panel);color:var(--map-text);display:grid;place-items:center;text-align:center;line-height:1.45;padding:16px;font-size:13px}.map-fallback-loading{border-style:solid;color:#174a78;font-weight:700}.map-fallback code{font-family:IBM Plex Sans,Segoe UI,Tahoma,sans-serif;font-weight:700}.usage-panel{margin-top:var(--demo-translogistica-section-gap);border:1px solid var(--map-line);border-radius:12px;padding:10px 12px;background:var(--map-panel);backdrop-filter:blur(var(--demo-translogistica-panel-blur));-webkit-backdrop-filter:blur(var(--demo-translogistica-panel-blur))}.usage-panel-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.usage-panel-header h3{margin:0;font-size:20px;color:var(--map-text)}.usage-reset-button{border:1px solid var(--map-line);border-radius:8px;background:var(--map-bg);color:var(--map-accent);padding:6px 10px;cursor:pointer;font-weight:600}.usage-progress-wrap{margin-top:8px}.usage-progress-labels{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--map-text)}.usage-warning{color:#d97706;font-weight:700}.usage-ok{color:#16a34a;font-weight:700}.usage-progress-track{margin-top:6px;height:10px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--map-accent-soft) 65%,#bccddd)}.usage-progress-fill{height:100%;background:linear-gradient(90deg,#2a6daf,#1f4f7a)}.usage-list{margin:10px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.usage-item{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dashed var(--map-line);color:var(--map-text);font-size:14px}.api-screen .api-kpi-grid{margin-top:var(--demo-translogistica-section-gap);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.api-screen .api-kpi-card{border:1px solid var(--map-line);border-radius:12px;background:var(--map-panel);backdrop-filter:blur(var(--demo-translogistica-panel-blur));-webkit-backdrop-filter:blur(var(--demo-translogistica-panel-blur));padding:10px 12px}.api-screen .api-kpi-card span{color:var(--map-muted);font-size:12px}.api-screen .api-kpi-card strong{display:block;margin-top:6px;color:var(--map-text);font-size:30px}@media (max-width: 1200px){.map-layout{grid-template-columns:320px 1fr}}@media (max-width: 1024px){.map-screen-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.map-screen-header{flex-direction:column;align-items:flex-start}.map-layout{grid-template-columns:1fr;height:auto}.route-panel{max-height:360px}.map-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-history-panel li{grid-template-columns:1fr 1fr}.map-screen-canvas{min-height:360px;height:360px}.usage-list{grid-template-columns:1fr}.api-screen .api-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 800px){.map-screen{padding:12px}.map-screen-controls{grid-template-columns:1fr}.map-feature-panel{padding:8px}.map-feature-panel button{width:100%;border-radius:10px}.map-screen-badge-wrap{flex-wrap:wrap}.map-screen-canvas{min-height:300px;height:300px}}@media (max-width: 520px){.map-screen-badge{font-size:12px;padding:6px 10px}.api-screen .api-kpi-grid{grid-template-columns:1fr}.route-item{min-height:132px;padding:10px}.route-item-state{top:8px;right:8px;font-size:9px;padding:2px 7px}.route-item-name{font-size:13px;padding-right:72px}.route-item-cities{font-size:12px}.route-item-tag{padding:2px 7px}.route-item-tag-label,.route-item-tag-value{font-size:11px}}.calculator-screen{--calc-bg: var(--demo-translogistica-panel-light);--calc-panel: var(--demo-translogistica-panel-soft-light);--calc-text: #0f3a67;--calc-muted: #3f74a8;--calc-line: #d3deea;--calc-accent: #1f4f7a;--calc-accent-soft: #e8f1fb;--calc-fs-card-title: 22px;--calc-fs-label: 13px;--calc-fs-value: 20px;--calc-fs-input: 14px;--calc-fs-note: 13px;width:100%;padding:var(--demo-translogistica-page-padding);display:grid;gap:var(--demo-translogistica-section-gap)}.calculator-screen.theme-dark{--calc-bg: var(--demo-translogistica-panel-dark);--calc-panel: var(--demo-translogistica-panel-soft-dark);--calc-text: #0f3a67;--calc-muted: #3f74a8;--calc-line: #2a4760;--calc-accent: #63a8e1;--calc-accent-soft: #1b3750}.calculator-hero{border:1px solid var(--calc-line);color:#f4f9ff}.calculator-hero.demo-translogistica-hero{background-image:linear-gradient(145deg,#084f82a8,#084f828f 42%,#084f8275),linear-gradient(90deg,#084f8294,#6287a65c 58%,#084f8233),var(--demo-translogistica-hero-image-url)}.calculator-hero .demo-translogistica-hero-subtitle{color:#d4e8fb}.calculator-card{border:1px solid var(--calc-line);border-radius:12px;background:var(--calc-bg);box-shadow:0 8px 20px #0a223e14;backdrop-filter:blur(var(--demo-translogistica-panel-blur));-webkit-backdrop-filter:blur(var(--demo-translogistica-panel-blur));padding:12px}.calculator-card h3{margin:0 0 10px;color:var(--calc-text);font-size:var(--calc-fs-card-title);line-height:1.2}.calculator-select,.calculator-params-grid input{width:100%;min-height:40px;border:1px solid var(--calc-line);border-radius:9px;background:var(--calc-panel);color:var(--calc-text);padding:6px 9px;font-size:var(--calc-fs-input);line-height:1.2}.calculator-select .tm-select-trigger{min-height:40px;height:40px;font-size:var(--calc-fs-input)}.calculator-summary-grid,.calculator-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.calculator-summary-grid div,.calculator-metrics-grid div{border:1px solid var(--calc-line);border-radius:9px;background:var(--calc-panel);padding:8px 10px;display:grid;gap:3px}.calculator-summary-grid span,.calculator-metrics-grid span,.calculator-params-grid label span,.calculator-result-list span{color:var(--calc-muted);font-size:var(--calc-fs-label);font-weight:600;line-height:1.35}.calculator-metrics-note{margin:-4px 0 10px;color:var(--calc-muted);font-size:var(--calc-fs-note)}.calculator-error-note{margin:-4px 0 10px;color:#b13a3a;font-size:var(--calc-fs-note);font-weight:600}.calculator-error-block{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calculator-retry-button{min-height:34px;border:1px solid #b13a3a;border-radius:8px;background:#fff;color:#b13a3a;font-weight:700;padding:0 12px;cursor:pointer}.calculator-summary-grid strong,.calculator-metrics-grid strong,.calculator-result-list strong{color:var(--calc-text);font-size:var(--calc-fs-value);line-height:1.25}.calculator-summary-grid strong{font-size:18px}.calculator-params-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.calculator-params-grid label{display:grid;gap:4px}.calculator-actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.calculator-actions button{min-height:34px;border:1px solid var(--calc-accent);border-radius:7px;background:var(--calc-accent);color:#fff;font-weight:700;padding:0 10px;cursor:pointer;font-size:var(--calc-fs-input)}.calculator-actions button.ghost{background:var(--calc-bg);color:var(--calc-accent)}.calculator-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calculator-results-total{align-items:stretch}.calculator-result-list{display:grid;gap:8px}.calculator-result-list span{font-size:14px}.calculator-result-list strong{font-size:20px}.calculator-result-list div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--calc-line);padding-bottom:6px}.calculator-result-list div.total{border-bottom:none;margin-top:4px}.estado-card{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px}.estado-badge{border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.estado-verde .estado-badge{background:#e9f8ee;color:#1f8b4d;border:1px solid #b2e2c2}.estado-naranja .estado-badge{background:#fff3e2;color:#bd7a1f;border:1px solid #f0c98a}.estado-rojo .estado-badge{background:#fdecec;color:#b13a3a;border:1px solid #eab8b8}@media (max-width: 1200px){.calculator-params-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.calculator-summary-grid,.calculator-metrics-grid,.calculator-results-grid,.calculator-params-grid{grid-template-columns:1fr}}.optimizer-controls-panel{padding:12px}.optimizer-controls-grid{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"base base" "goal profitability" "radius emptyCost" "maxRoutes actions";column-gap:16px;row-gap:12px;align-items:start}.optimizer-base-selector{grid-area:base}.optimizer-goal-group{grid-area:goal}.optimizer-profitability-group{grid-area:profitability}.optimizer-radius-group{grid-area:radius}.optimizer-empty-cost{grid-area:emptyCost}.optimizer-max-routes{grid-area:maxRoutes}.optimizer-custom-select .tm-select-trigger{width:100%;height:40px;min-height:40px;font-size:13px;font-weight:500}.optimizer-controls-panel .filter-group select,.optimizer-max-routes input,.optimizer-empty-cost input{display:block;width:100%;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);color:var(--text-strong);padding:0 9px;font-size:13px;font-weight:500}.optimizer-controls-panel .rentabilidad-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:40px;gap:10px}.optimizer-controls-panel .chip-button{width:100%;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;font-size:13px}.optimizer-radius-group,.optimizer-empty-cost{display:grid;grid-template-rows:20px 40px;align-content:start}.optimizer-radius-group label,.optimizer-empty-cost label{min-height:20px;line-height:20px}.optimizer-actions{grid-area:actions;display:flex;justify-content:flex-end;align-items:flex-end}.optimizer-actions .filter-reset-btn{height:40px}.optimizer-hint{margin:10px 0 0;color:var(--text-muted);font-size:13px}.optimizer-hint-warning{color:#9a3412;font-weight:600}.optimizer-summary-wide{grid-column:span 3}.optimizer-summary-grid .summary-card strong{margin-top:5px;display:block;font-size:24px;line-height:1.1;white-space:nowrap}.optimizer-summary-grid .summary-card span{font-size:12px;line-height:1.25}.optimizer-summary-grid .optimizer-summary-wide strong{font-size:15px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.optimizer-results-panel{margin-top:var(--demo-translogistica-section-gap)}.optimizer-results-panel table{min-width:860px}.optimizer-results-panel th,.optimizer-results-panel td{padding:10px 8px;font-size:12px}.optimizer-results-panel th{font-size:11px}.optimizer-results-head{padding:14px;border-bottom:1px solid var(--line);background:var(--bg-soft);display:flex;justify-content:space-between;align-items:center;gap:12px}.optimizer-results-head h2{margin:0;color:var(--text-strong);font-size:18px}.optimizer-results-head p{margin:5px 0 0;color:var(--text-muted);font-size:13px}.optimizer-results-cta{display:grid;justify-items:end;gap:5px}.optimizer-results-cta small{color:var(--text-muted);font-size:11px;text-align:right;line-height:1.3}.optimizer-link-button{border:1px solid color-mix(in srgb,var(--accent) 50%,var(--line));background:var(--bg-panel);color:var(--accent-strong);border-radius:9px;height:28px;padding:0 8px;font-size:11px;font-weight:700;cursor:pointer}.optimizer-link-button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 70%,var(--bg-panel))}.optimizer-route-col,.optimizer-explanation-cell{white-space:normal;line-height:1.4;color:var(--text-main)}.optimizer-route-col{min-width:180px}.optimizer-explanation-cell{max-width:260px}.optimizer-rec-col{min-width:160px;white-space:normal}.optimizer-rec-badge{display:inline-flex;align-items:center;margin:0 4px 4px 0;border-radius:999px;border:1px solid var(--line);padding:4px 8px;font-size:10px;font-weight:700;line-height:1}.optimizer-rec-economico{color:#14532d;border-color:#16a34a61;background:#16a34a1a}.optimizer-rec-operativo{color:#1e3a8a;border-color:#2563eb52;background:#2563eb1c}.optimizer-rec-cercana{color:#7c2d12;border-color:#b4530961;background:#f59e0b1f}.optimizer-rec-directa{color:#334155;border-color:#33415552;background:#94a3b829}.optimizer-rec-neutral{color:var(--text-main);background:color-mix(in srgb,var(--bg-soft) 75%,transparent)}.optimizer-connection-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--line);padding:4px 8px;font-size:11px;font-weight:700}.optimizer-connection-directa{color:#1e293b;border-color:#1e293b5c;background:#94a3b829}.optimizer-connection-cercana{color:#7c2d12;border-color:#b4530957;background:#f59e0b1f}.optimizer-connection-fuera{color:#991b1b;border-color:#dc262657;background:#dc26261a}.optimizer-improvement-cell,.optimizer-margin-cell{min-width:108px}.optimizer-improvement-cell strong,.optimizer-margin-cell strong{display:block;font-size:12px}.optimizer-improvement-cell strong{color:#14532d}.optimizer-improvement-cell small,.optimizer-margin-cell small{display:block;margin-top:2px;color:var(--text-muted);font-size:10px;font-weight:600}.optimizer-results-panel .status-badge{min-width:74px;padding:4px 10px;font-size:12px}.optimizer-empty-state{border-top:1px solid var(--line)}.optimizer-map-modal{width:min(1220px,96vw);height:min(86vh,820px);overflow:hidden}.optimizer-map-layout{grid-template-columns:minmax(320px,34%) minmax(0,66%)}.optimizer-modal-list{border-left:none;border-right:1px solid var(--line);display:block;overflow-y:auto;overflow-x:hidden;padding:14px}.optimizer-modal-list h4{margin:0 0 10px}.optimizer-modal-card{border:1px solid var(--line);border-radius:10px;background:var(--bg-panel);padding:10px}.optimizer-modal-card+.optimizer-modal-card{margin-top:10px}.optimizer-modal-card h5{margin:0 0 7px;font-size:13px;color:var(--text-strong)}.optimizer-modal-text{margin:0;color:var(--text-main);line-height:1.4;font-size:13px;word-break:break-word;overflow-wrap:anywhere}.optimizer-modal-text+.optimizer-modal-text{margin-top:4px}.optimizer-modal-text-strong{color:var(--text-strong);font-weight:700}.optimizer-modal-badges{margin-top:8px}.optimizer-modal-note{margin:0;font-size:12px;color:var(--text-muted);line-height:1.5;word-break:break-word;overflow-wrap:anywhere}.optimizer-scenarios-list{display:grid;gap:8px}.optimizer-scenario-item{border:1px solid var(--line);border-radius:9px;background:var(--bg-soft);padding:8px 10px;display:grid;gap:2px;cursor:pointer;text-align:left}.optimizer-scenario-item:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent-soft) 62%,var(--bg-soft))}.optimizer-scenario-item.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 72%,var(--bg-soft));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 36%,transparent)}.optimizer-scenario-main{color:var(--text-strong);font-size:13px;font-weight:700;line-height:1.35;word-break:break-word}.optimizer-scenario-sub{color:var(--text-muted);font-size:11px;font-weight:600}.optimizer-toggle-all{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:12px;color:var(--text-main)}.optimizer-map-pane{position:relative}.optimizer-map-legend{position:absolute;right:12px;top:12px;z-index:6;display:grid;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--bg-panel) 90%,#ffffff 10%);box-shadow:var(--shadow);font-size:11px;color:var(--text-main);pointer-events:none}.optimizer-map-legend span{display:flex;align-items:center;gap:7px}.legend-line{width:28px;height:0;border-top:3px solid #374151}.legend-base{border-top-color:#111827}.legend-alt-green{border-top-color:#16a34a}.legend-alt-amber{border-top-color:#f59e0b}.legend-alt-red{border-top-color:#dc2626}.legend-empty{border-top-style:dashed}.legend-star{display:inline-grid;place-items:center;width:15px;color:#111827;font-weight:700}@media (max-width: 980px){.optimizer-controls-grid{grid-template-columns:1fr;grid-template-areas:"base" "goal" "profitability" "radius" "emptyCost" "maxRoutes" "actions"}.optimizer-controls-panel .rentabilidad-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.optimizer-actions{justify-content:stretch}.optimizer-actions .filter-reset-btn,.optimizer-results-cta .filter-reset-btn{width:100%}.optimizer-results-head{flex-direction:column;align-items:stretch}.optimizer-results-cta,.optimizer-results-cta small{justify-items:stretch;text-align:left}.optimizer-map-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(260px,1fr)}.optimizer-summary-wide{grid-column:span 1}.optimizer-modal-list{border-right:none;border-bottom:1px solid var(--line);max-height:44vh}.optimizer-rec-col{min-width:180px}}.custom-routes-page{padding:var(--demo-translogistica-page-padding);display:grid;gap:var(--demo-translogistica-section-gap)}.custom-routes-hero{margin:0}.custom-routes-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:14px;align-items:start}.custom-routes-main{display:grid;gap:14px}.custom-route-segment-card label{display:grid;gap:6px;font-size:14px;font-weight:600;color:#1f3f5a}.custom-route-segment-card input{width:100%;border:1px solid #b5cde2;border-radius:10px;padding:10px 12px;background:#fff;color:#18354d;font:inherit}.custom-route-segment-card input.is-fixed{background:#edf4fb;color:#2a4f6b;border-color:#c4d9ec}.custom-routes-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px}.custom-route-segment-card{background:#fff;border:1px solid #d2e3f1;border-radius:14px;padding:14px;display:grid;gap:12px;box-shadow:0 10px 24px #0b315014}.custom-route-segment-card h3{margin:0;color:#0f3f62}.custom-route-stops{display:grid;gap:8px}.custom-route-stops-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.custom-route-stops-head span{font-size:13px;color:#355a77}.custom-route-no-stops{margin:0;font-size:13px;color:#55718a;background:#f8fbff;border:1px dashed #cadeef;border-radius:10px;padding:8px 10px}.custom-route-stop-row{display:grid;grid-template-columns:1fr auto;gap:8px}.custom-route-stop-row button,.custom-route-stops-head button,.custom-routes-actions button{border:1px solid #9ebbd3;background:#f4f9ff;color:#113a58;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:600;cursor:pointer}.custom-route-stop-row button:disabled{opacity:.45;cursor:not-allowed}.custom-routes-preview{background:#fff;border:1px solid #d2e3f1;border-radius:14px;padding:14px;display:grid;gap:12px}.custom-routes-preview h3{margin:0;color:#0f3f62}.custom-routes-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px}.custom-routes-preview-grid article{background:#f7fbff;border:1px solid #d7e8f5;border-radius:12px;padding:10px;display:grid;gap:6px}.custom-routes-preview-grid strong{color:#0e4064}.custom-routes-preview-grid p{margin:0;color:#224966;line-height:1.45}.custom-routes-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.custom-routes-check{border-radius:10px;padding:10px 12px;font-size:14px;font-weight:600}.custom-routes-check.is-ok{border:1px solid #96d9b1;background:#ecfbf2;color:#1e6840}.custom-routes-check.is-pending{border:1px solid #dccb8f;background:#fffaf0;color:#7a5d1d}.custom-routes-map-card{background:#fff;border:1px solid #d2e3f1;border-radius:14px;padding:14px;display:grid;gap:12px;position:sticky;top:96px;inline-size:min(100%,clamp(320px,38vw,calc(100vh - 200px)));justify-self:end}.custom-routes-map-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.custom-routes-map-head h3{margin:0;color:#0f3f62}.custom-routes-map-head .map-trip-toggle{border:1px solid #c6dbee;border-radius:12px;background:linear-gradient(145deg,#f6fbff,#edf5fc);padding:7px 9px;display:inline-flex;flex-wrap:nowrap;align-items:center;gap:8px}.custom-routes-map-head .map-trip-toggle button{min-height:30px;border:1px solid #9ebbd3;border-radius:999px;background:#fff;color:#194b70;padding:0 12px;font-size:13px;font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease}.custom-routes-map-head .map-trip-toggle button:hover{transform:translateY(-1px);box-shadow:0 3px 10px #0f3f622e}.custom-routes-map-head .map-trip-toggle button.is-on{border-color:#0f4f7f;background:linear-gradient(145deg,#1b689f,#0f4f7f);color:#fff;box-shadow:0 5px 12px #0f4f7f47}.custom-routes-map-canvas{width:100%;aspect-ratio:1 / 1;max-height:calc(100vh - 220px);border-radius:12px;overflow:hidden;border:1px solid #d8e7f4;background:#f7fbff}.custom-routes-map-empty{min-height:100%;display:flex;align-items:center;justify-content:center;text-align:center;color:#355a77;padding:16px}.custom-routes-save-message{margin:0;font-size:14px;font-weight:600}.custom-routes-save-message.is-success{color:#1d6a3f}.custom-routes-save-message.is-error{color:#8b1f1f}.custom-routes-economics-grid{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:8px}.custom-routes-economics-grid article{border:1px solid #d5e5f2;background:#f8fbff;border-radius:10px;padding:9px 10px;display:grid;gap:4px}.custom-routes-economics-grid span{font-size:12px;color:#4a6781}.custom-routes-economics-grid strong{font-size:15px;color:#0f3f62}@media (max-width: 900px){.custom-routes-layout{grid-template-columns:1fr}.custom-routes-map-card{position:static;inline-size:100%}.custom-routes-map-canvas{min-height:320px;aspect-ratio:auto;max-height:none}.custom-routes-map-head .map-trip-toggle{width:auto}.custom-routes-grid,.custom-routes-preview-grid,.custom-routes-economics-grid{grid-template-columns:1fr}}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}html{scrollbar-gutter:stable}body{font-family:IBM Plex Sans,Segoe UI,Tahoma,sans-serif}:root{--demo-translogistica-page-padding: clamp(12px, 2vw, 26px);--demo-translogistica-section-gap: 16px;--demo-translogistica-header-accent: #6287a6;--demo-translogistica-hero-overlay-main: rgba(8, 79, 130, .62);--demo-translogistica-hero-overlay-soft: rgba(98, 135, 166, .4);--demo-translogistica-hero-min-height: clamp(170px, 19vw, 228px);--demo-translogistica-hero-padding: clamp(14px, 1.9vw, 24px);--demo-translogistica-hero-content-min-height: clamp(116px, 13vw, 166px);--demo-translogistica-hero-image-size: cover;--demo-translogistica-hero-image-position: center 36%;--demo-translogistica-hero-image-url: url(/assets/demo-translogistica-truck-U6RGePxO.png);--demo-translogistica-brand-font: "Jura", "Barlow Semi Condensed", "IBM Plex Sans", "Segoe UI", Tahoma, sans-serif;--demo-translogistica-hero-copy-max-width: 760px;--demo-translogistica-hero-title-size: clamp(24px, 2.9vw, 42px);--demo-translogistica-hero-title-line-height: 1.18;--demo-translogistica-hero-subtitle-size: clamp(14px, 1.2vw, 18px);--demo-translogistica-hero-subtitle-line-height: 1.45;--demo-translogistica-panel-light: #ffffff;--demo-translogistica-panel-soft-light: #ffffff;--demo-translogistica-panel-head-light: #f3f7fc;--demo-translogistica-panel-dark: #ffffff;--demo-translogistica-panel-soft-dark: #ffffff;--demo-translogistica-panel-head-dark: #f3f7fc;--demo-translogistica-panel-blur: 6px}.global-app-shell{min-height:100vh;background:linear-gradient(138deg,#fff,#f3f8ff 54%,#e2eefc);display:flex;flex-direction:column}.global-app-shell.theme-dark{background:linear-gradient(138deg,#fff,#f3f8ff 54%,#e2eefc)}.global-header{position:fixed;top:0;left:0;right:0;z-index:999;height:84px;background:linear-gradient(135deg,#10273f,#1d4f79);border-bottom:1px solid rgba(182,208,230,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.global-header-inner{width:100%;height:100%;margin:0;padding:0 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}.global-header-brand{display:flex;align-items:center;gap:14px;min-width:0}.global-header-brand-link{border:0;background:transparent;padding:0;display:inline-flex;align-items:center;cursor:pointer}.global-header-logo{width:auto;object-fit:contain;display:block}.global-header-logo-leaders{height:44px}.global-header-demo-brand{color:#fff;font-family:var(--demo-translogistica-brand-font);font-size:clamp(15px,1.5vw,20px);font-weight:700;letter-spacing:.03em;line-height:1;text-transform:uppercase;white-space:nowrap}.global-logo-light{filter:brightness(0) invert(1)}.global-header-separator{width:1px;height:26px;background:#d6e5f399}.global-header-nav{display:flex;align-items:center;gap:clamp(18px,2vw,32px);justify-self:center}.global-header-tab{position:relative;border:0;background:transparent;color:#fff;min-width:0;min-height:34px;padding:0 0 8px;font-family:var(--demo-translogistica-brand-font);font-size:16px;font-weight:600;letter-spacing:.02em;text-align:center;cursor:pointer;transition:color .2s ease,transform .2s ease;text-transform:uppercase}.global-header-tab:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor;opacity:0;transform:scaleX(0);transform-origin:left center;transition:opacity .2s ease,transform .28s ease}.global-header-tab:hover{color:#f4f9ff;transform:translateY(-1px)}.global-header-tab.is-active{color:#fff}.global-header-tab.is-active:after{opacity:1;transform:scaleX(1)}.global-header-tab:not(.is-active):hover:after{opacity:1;animation:nav-tab-underline-sweep .3s ease forwards}@keyframes nav-tab-underline-sweep{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.demo-translogistica-hero{position:relative;overflow:hidden;min-height:var(--demo-translogistica-hero-min-height);border:1px solid rgba(163,194,219,.5);background-image:linear-gradient(145deg,var(--demo-translogistica-hero-overlay-main) 0%,rgba(8,79,130,.56) 44%,rgba(8,79,130,.48) 100%),linear-gradient(90deg,rgba(8,79,130,.6) 0%,var(--demo-translogistica-hero-overlay-soft) 58%,rgba(8,79,130,.2) 100%),var(--demo-translogistica-hero-image-url);background-position:center,center,var(--demo-translogistica-hero-image-position);background-repeat:no-repeat;background-size:cover,cover,var(--demo-translogistica-hero-image-size);box-shadow:0 14px 30px #051c3342;color:#f4f9ff}.demo-translogistica-hero-layout{border-radius:16px;padding:var(--demo-translogistica-hero-padding);min-height:var(--demo-translogistica-hero-min-height);display:flex;align-items:flex-start}.demo-translogistica-hero h1,.demo-translogistica-hero h2{color:#f4f9ff;font-family:var(--demo-translogistica-brand-font);font-weight:600;letter-spacing:.02em}.demo-translogistica-hero p,.demo-translogistica-hero .map-screen-source-note{color:#d8e9f8}.demo-translogistica-hero .map-screen-source-error{color:#ffd8d8}.demo-translogistica-hero-copy{max-width:var(--demo-translogistica-hero-copy-max-width);min-height:var(--demo-translogistica-hero-content-min-height);display:grid;align-content:start}.demo-translogistica-hero-title{margin:0;font-size:var(--demo-translogistica-hero-title-size);line-height:var(--demo-translogistica-hero-title-line-height);min-height:2.45em}.demo-translogistica-hero-subtitle{margin:10px 0 0;color:#d5e6f7;font-size:var(--demo-translogistica-hero-subtitle-size);line-height:var(--demo-translogistica-hero-subtitle-line-height);min-height:2.9em}.global-header-tools{justify-self:end;display:flex;align-items:center;gap:8px}.global-header-select{width:78px;min-width:78px;height:34px;appearance:none;-webkit-appearance:none;-moz-appearance:none;border-radius:10px;border:1px solid rgba(190,213,233,.5);background:linear-gradient(145deg,#ffffff2e,#ffffff17),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20'%3E%3Cpath d='M5 7.5 10 12.5 15 7.5' stroke='%23eff7fe' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat,no-repeat;background-position:0 0,right 9px center;background-size:auto,14px;color:#eff7fe;font-size:12px;font-weight:700;padding:0 30px 0 10px;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.global-header-select:hover{border-color:#d6e9fabf;transform:translateY(-1px)}.global-header-select:focus,.global-header-theme:focus{outline:none;box-shadow:0 0 0 3px #8cc6f352}.global-header-select option{color:#0f335d;background:#f3f8ff}.global-header-select option:checked{background:#1f4f7a;color:#fff}.global-header-theme{width:34px;height:34px;border-radius:10px;border:1px solid rgba(190,213,233,.5);background:#ffffff1f;color:#fff;font-size:16px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.global-header-theme:hover{transform:translateY(-1px);background:#ffffff40}.tm-select{position:relative;min-width:0}.tm-select-trigger{width:100%;min-height:36px;border:1px solid var(--tm-select-line, #c7d8e8);border-radius:10px;background:var(--tm-select-bg, #f7fbff);color:var(--tm-select-text, #0f3a67);padding:8px 34px 8px 10px;text-align:left;font-size:14px;font-weight:600;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.tm-select-value{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-select-icon{position:absolute;right:12px;top:50%;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);opacity:.82;transition:transform .2s ease}.tm-select.is-open .tm-select-icon{transform:translateY(-30%) rotate(-135deg)}.tm-select-trigger:hover{border-color:var(--tm-select-line-hover, #7ea9cc)}.tm-select-trigger:focus-visible{outline:none;border-color:var(--tm-select-focus, #1f4f7a);box-shadow:0 0 0 3px color-mix(in srgb,var(--tm-select-focus, #1f4f7a) 26%,transparent)}.tm-select-menu{position:fixed;z-index:2600;max-height:min(38vh,320px);overflow-y:auto;border:1px solid var(--tm-select-line, #c7d8e8);border-radius:10px;background:var(--tm-select-panel, #f7fbff);box-shadow:0 18px 28px #0a223e2e;padding:6px}.tm-select-option{width:100%;min-height:34px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--tm-select-text, #0f3a67);padding:7px 10px;text-align:left;font-size:14px;line-height:1.25;cursor:pointer}.tm-select-option:hover,.tm-select-option.is-active{background:color-mix(in srgb,var(--tm-select-accent-soft, #e8f1fb) 74%,#ffffff 26%);color:color-mix(in srgb,var(--tm-select-text, #0f3a67) 82%,#0b2238 18%);border:1px solid color-mix(in srgb,var(--tm-select-accent, #1f4f7a) 56%,#8fb6d4 44%)}.tm-select-option.is-selected{background:color-mix(in srgb,var(--tm-select-accent, #1f4f7a) 84%,#0b3f67 16%);color:#fff;font-weight:700}.tm-select-option.is-selected:hover,.tm-select-option.is-selected.is-active{background:color-mix(in srgb,var(--tm-select-accent, #1f4f7a) 76%,#0b3f67 24%);border:1px solid color-mix(in srgb,#ffffff 62%,var(--tm-select-accent, #1f4f7a) 38%)}.global-app-content{padding-top:84px;background:transparent;flex:1;display:flex;flex-direction:column}.global-app-shell.theme-dark .global-app-content{background:transparent}.global-footer{background:#0b1b2a;color:#e5edf4;border-top:1px solid #2a4155;margin-top:auto}.global-footer-top-line{height:2px;width:100%;background:linear-gradient(90deg,#3f9ccf,#7db4c6)}.global-footer-main{width:min(1200px,100%);margin:0 auto;padding:40px 28px 32px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px;align-items:start}.global-footer-block{display:flex;flex-direction:column;gap:12px;align-items:flex-start;text-align:left;width:100%;min-width:0}.global-footer-block h3,.global-footer-block h4{margin:0;color:#f5f8fb}.global-footer-description{margin:0;max-width:44ch;color:#c8d9e7;font-size:16px;line-height:1.5}.global-footer-section-title{display:inline-flex;align-items:center;gap:10px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#b9cfdf;font-weight:700;background:linear-gradient(135deg,#79aede,#c8e2f9 55%,#76b5e5);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.global-footer-block p,.global-footer-block a,.global-footer-block span{margin:0;font-size:14px;color:#d7e5f0;text-decoration:none}.global-footer-nav-list{display:grid;gap:8px;justify-items:start}.global-footer-block a:hover,.global-footer-block button:hover{color:#fff}.global-footer-block button{border:none;background:none;margin:0;padding:0;text-align:left;cursor:pointer;color:#d7e5f0;font-size:17px;line-height:1.2;font-family:Barlow Semi Condensed,IBM Plex Sans,Segoe UI,Tahoma,sans-serif;font-weight:600;letter-spacing:.01em}.global-footer-logos{display:flex;align-items:center;justify-content:flex-start;gap:14px}.global-footer-logos img{height:48px;width:auto}.global-footer-demo-brand{border:1px solid rgba(215,229,240,.42);border-radius:6px;color:#fff;font-family:var(--demo-translogistica-brand-font);font-size:16px;font-weight:700;letter-spacing:.03em;line-height:1;padding:11px 12px;text-transform:uppercase;white-space:nowrap}.global-footer-legal{border-top:1px solid #c7d1da;background:#e7e8ea;color:#10253a;font-size:13px;padding:11px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.global-app-shell.theme-dark .global-footer-legal{background:#0f1d2c;color:#cbd9e5}.global-app-shell.theme-dark .global-footer-legal a{color:#d8e7f5}.global-footer-legal-copy{line-height:1.35;font-weight:500}.global-footer-legal-links{display:flex;align-items:center;flex-wrap:wrap;gap:0}.global-footer-legal-links a{color:inherit;text-decoration:none}.global-footer-legal-links button{border:none;background:none;padding:0;cursor:pointer;color:inherit;font-size:inherit;font-weight:500;line-height:1.2}.global-footer-legal-links button+button{margin-left:18px;position:relative}.global-footer-legal-links button+button:before{content:"|";position:absolute;left:-11px;color:color-mix(in srgb,currentColor 54%,#ffffff 46%);pointer-events:none}.global-footer-legal-links a:hover,.global-footer-legal-links button:hover{text-decoration:underline}.compliance-page{flex:1;padding:var(--demo-translogistica-page-padding)}.compliance-card{max-width:1100px;margin:0 auto;background:#f7f9fc;border:1px solid #c9d7e4;border-radius:18px;padding:24px}.compliance-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}.compliance-header h1{margin:0;color:#09264b}.compliance-header.demo-translogistica-hero{border-radius:16px;padding:clamp(14px,1.9vw,24px);margin-bottom:20px}.compliance-header.demo-translogistica-hero h1{color:#f4f9ff}.compliance-header button{border:1px solid #9fb8ce;background:#fff;border-radius:10px;height:40px;padding:0 14px;font-size:14px;font-weight:700;color:#0f335d;cursor:pointer}.compliance-header.demo-translogistica-hero button{border-color:#cce0f0e6;background:#fff3;color:#f4f9ff}.compliance-block{border-top:1px solid #d6e0ea;padding-top:14px;margin-top:14px}.compliance-block h2{margin:0 0 8px;font-size:18px;color:#0d3057}.compliance-block p{margin:0 0 8px;color:#314e6b;line-height:1.45}.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:1100;background:#0f2943;color:#e9f2fb;border:1px solid #557797;border-radius:14px;padding:14px 16px;display:flex;gap:12px;align-items:center;justify-content:space-between}.cookie-banner p{margin:0;max-width:860px;line-height:1.35}.cookie-banner-actions{display:flex;gap:8px;flex-wrap:wrap}.cookie-banner-actions button{border:1px solid #87a6c3;background:#123758;color:#edf5fc;border-radius:10px;height:36px;padding:0 12px;cursor:pointer;font-weight:700}.cookie-banner-actions .cookie-accept{background:#1f5f95;border-color:#8cc0eb}.view-error-fallback{margin:var(--demo-translogistica-page-padding);border:1px solid #d3deea;border-radius:16px;background:#f7fbff;color:#102843;padding:20px;box-shadow:0 10px 24px #0a223e14}.view-error-fallback h2{margin:0;font-size:22px}.view-error-fallback p{margin:8px 0 0;color:#395674}.view-error-fallback-actions{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}.view-error-fallback-actions button{height:36px;border-radius:10px;border:1px solid #8eb0cd;background:#fff;color:#0f335d;padding:0 12px;font-weight:700;cursor:pointer}.global-app-shell.theme-dark .view-error-fallback{border-color:#2a4760;background:#13263a;color:#e7f1fb}.global-app-shell.theme-dark .view-error-fallback p{color:#a8bfd4}.global-app-shell.theme-dark .view-error-fallback-actions button{border-color:#4c6f8f;background:#17324a;color:#e7f1fb}@media (max-width: 980px){:root{--demo-translogistica-hero-min-height: clamp(162px, 30vw, 198px);--demo-translogistica-hero-image-size: cover;--demo-translogistica-hero-image-position: center 32%;--demo-translogistica-page-padding: 12px}.global-header{height:auto;min-height:84px}.global-header-inner{padding:10px 12px;align-items:flex-start;display:flex;flex-direction:column}.global-app-content{padding-top:132px}.global-footer-main{grid-template-columns:1fr;gap:22px}.cookie-banner{flex-direction:column;align-items:flex-start}}@media (max-width: 680px){:root{--demo-translogistica-hero-min-height: 160px;--demo-translogistica-hero-image-size: cover;--demo-translogistica-hero-image-position: center 28%;--demo-translogistica-page-padding: 10px}.global-header-nav{width:100%;flex-wrap:wrap;gap:12px 18px}.global-app-content{padding-top:152px}.global-header-tab{flex:0 1 auto;font-size:15px}.global-footer-title{font-size:24px}.global-footer-description{font-size:15px}.global-header-logo-leaders{height:36px}.global-header-demo-brand{font-size:13px}.global-header-tools{align-self:flex-end}.compliance-header{flex-direction:column;align-items:flex-start}}
