@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--uk-font-display);--default-mono-font-family:var(--uk-font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.min-h-full{min-height:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--uk-font-display:"Chakra Petch", ui-sans-serif, system-ui, sans-serif;--uk-font-mono:"Azeret Mono", ui-monospace, monospace;--uk-fs-hero:28px;--uk-fs-title:20px;--uk-fs-heading:15px;--uk-fs-subhead:14px;--uk-fs-body:13px;--uk-fs-cell:12px;--uk-fs-label:11px;--uk-fs-caption:10px;--uk-fs-micro:9px;--uk-fw-semibold:600;--uk-fw-medium:500;--uk-fw-regular:400;--uk-ls-kicker:.22em;--uk-ls-wide:.18em;--uk-ls-normal:.1em;--uk-ls-tight:-.005em;--uk-sp-1:2px;--uk-sp-2:4px;--uk-sp-3:6px;--uk-sp-4:8px;--uk-sp-5:10px;--uk-sp-6:12px;--uk-sp-7:14px;--uk-sp-8:16px;--uk-sp-9:18px;--uk-sp-10:20px;--uk-sp-12:24px;--uk-sp-16:32px;--uk-sp-20:40px;--uk-sp-24:48px;--uk-topbar-h:36px;--uk-sidebar-w:160px;--uk-detail-w:380px;--uk-catalog-w:320px;--uk-white:#fff;--uk-radius-dot:50%;--uk-radius-sm:2px;--uk-radius-pill:999px;--uk-state-route:#5fe39a;--uk-state-stop:#ffb547;--uk-state-term:#7fb6ff;--uk-state-idle:#9aa3b2;--uk-state-error:#ff8a8a}html[data-theme=dark]{--uk-bg-canvas:#080c12;--uk-bg-card:#0c1018;--uk-bg-panel:#10151e;--uk-bg-row:#151c28;--uk-bg-hover:#1a2332;--uk-border:#1e2838;--uk-border-soft:#151c28;--uk-border-firm:#243040;--uk-text:#edf2f7;--uk-text-secondary:#d4dce6;--uk-text-muted:#a8b5c4;--uk-text-mid:#8a9ab0;--uk-text-dim:#6e82a0;--uk-text-faint:#506070;--uk-tint-success:#0f2218;--uk-tint-warn:#221a10;--uk-tint-info:#101a28;--uk-tint-danger:#201010;--uk-border-success:#2e5a40;--uk-border-warn:#5a4830;--uk-border-danger:#6a3535;--uk-border-info:#305068;--uk-tint-success-hover:#183222;--uk-border-success-dark:#356048}html[data-theme=light]{--uk-bg-canvas:#f7f8fa;--uk-bg-card:#fff;--uk-bg-panel:#f1f2f5;--uk-bg-row:#ecedf0;--uk-bg-hover:#e4e5ea;--uk-border:#dcdee3;--uk-border-soft:#e8e9ed;--uk-border-firm:#c1c4cc;--uk-text:#1c1f26;--uk-text-secondary:#353940;--uk-text-muted:#505662;--uk-text-mid:#656b78;--uk-text-dim:#7e8594;--uk-text-faint:#9ca2ae;--uk-state-route:#1a7a3c;--uk-state-stop:#b35c00;--uk-state-term:#1565c0;--uk-state-idle:#656b78;--uk-state-error:#c62828;--uk-tint-success:#e8f5e9;--uk-tint-warn:#fff3e0;--uk-tint-info:#e3f2fd;--uk-tint-danger:#ffebee;--uk-border-success:#81c784;--uk-border-warn:#ffb74d;--uk-border-danger:#ef9a9a;--uk-border-info:#64b5f6;--uk-tint-success-hover:#c8e6c9;--uk-border-success-dark:#4caf50}.uk-display{font-family:var(--uk-font-display);letter-spacing:var(--uk-ls-tight)}.uk-mono{font-family:var(--uk-font-mono)}.uk-kicker{font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);letter-spacing:var(--uk-ls-kicker);text-transform:uppercase;color:var(--uk-text-dim)}.uk-label{z-index:50;font-family:var(--uk-font-mono);letter-spacing:var(--uk-ls-normal);text-transform:uppercase;padding:0 var(--uk-sp-2);background:var(--uk-state-term);color:var(--uk-white);border:1px solid var(--uk-border-info);pointer-events:none;opacity:.72;white-space:nowrap;font-size:7px;line-height:12px;position:absolute;top:0;left:0;transform:translateY(-100%)}.uk-label:before{content:none}.uk-pageheader{border-bottom:1px solid var(--uk-border);padding:var(--uk-sp-4) var(--uk-sp-10);min-height:calc(var(--uk-topbar-h) - var(--uk-sp-4));background:var(--uk-bg-card);justify-content:space-between;align-items:center;display:flex}.uk-pageheader__lead{align-items:baseline;gap:var(--uk-sp-4);min-width:0;display:flex}.uk-pageheader__kicker{flex-shrink:0}.uk-pageheader__title{font-size:var(--uk-fs-heading);font-weight:var(--uk-fw-semibold);color:var(--uk-text);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.uk-pageheader__subtitle{font-size:var(--uk-fs-caption);color:var(--uk-text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.uk-pageheader__actions{align-items:center;gap:var(--uk-sp-4);flex-shrink:0;display:flex}.uk-statcard{border:1px solid var(--uk-border);background:var(--uk-bg-card);padding:var(--uk-sp-5) var(--uk-sp-6)}.uk-statcard__row{margin-top:var(--uk-sp-2);align-items:baseline;gap:var(--uk-sp-3);display:flex}.uk-statcard__value{font-size:var(--uk-fs-hero);font-weight:var(--uk-fw-semibold)}.uk-statcard__unit{font-size:var(--uk-fs-label);color:var(--uk-text-dim)}.uk-statcard__delta{font-size:var(--uk-fs-caption);margin-left:auto}.uk-statcard__sub{margin-top:var(--uk-sp-1);font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.uk-statcard--inline{align-items:baseline;gap:var(--uk-sp-4);padding:var(--uk-sp-3) var(--uk-sp-5);text-align:left;display:flex}.uk-statcard--inline .uk-statcard__row{margin-top:0}.uk-statcard--inline .uk-statcard__value{font-size:var(--uk-fs-heading)}.uk-statcard--inline .uk-statcard__sub{margin-top:0;margin-left:auto}.uk-statcard--inline .uk-statcard__delta{margin-left:auto}.uk-statcard--clickable{cursor:pointer;transition:background .15s}.uk-statcard--clickable:hover{background:var(--uk-bg-panel)}.uk-section{border:1px solid var(--uk-border);background:var(--uk-bg-card)}.uk-section__head{border-bottom:1px solid var(--uk-border);padding:var(--uk-sp-5) var(--uk-sp-6);justify-content:space-between;align-items:baseline;display:flex}.uk-section__title{margin:var(--uk-sp-1) 0 0 0;font-size:var(--uk-fs-subhead);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.uk-section__body{padding:var(--uk-sp-6)}.uk-kv{justify-content:space-between;align-items:baseline;gap:var(--uk-sp-6);border-bottom:1px solid var(--uk-border-soft);padding:var(--uk-sp-3) 0;display:flex}.uk-kv:last-child{border-bottom:0}.uk-kv__label{font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);color:var(--uk-text-dim)}.uk-kv__value{font-size:var(--uk-fs-cell);text-align:right}.uk-pill{align-items:center;gap:var(--uk-sp-2);padding:var(--uk-sp-1) var(--uk-sp-3);font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);border:1px solid;display:inline-flex}.uk-pill--success{background:var(--uk-tint-success);color:var(--uk-state-route);border-color:var(--uk-state-route)}.uk-pill--warn{background:var(--uk-tint-warn);color:var(--uk-state-stop);border-color:var(--uk-state-stop)}.uk-pill--danger{background:var(--uk-tint-danger);color:var(--uk-state-error);border-color:var(--uk-state-error)}.uk-pill--info{background:var(--uk-tint-info);color:var(--uk-state-term);border-color:var(--uk-state-term)}.uk-pill--neutral{background:var(--uk-bg-row);color:var(--uk-text-muted);border-color:var(--uk-border-firm)}.uk-spark{width:100%;display:block}.uk-donut{position:relative}.uk-donut__center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.uk-donut__value{font-size:var(--uk-fs-hero);font-weight:var(--uk-fw-semibold);color:var(--uk-text);margin:var(--uk-sp-1) 0 0 0}.uk-tabbar{border:1px solid var(--uk-border-firm);background:var(--uk-bg-card);display:inline-flex}.uk-tabbar__tab{border:0;border-right:1px solid var(--uk-border-soft);padding:var(--uk-sp-3) var(--uk-sp-6);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);color:var(--uk-text-muted);cursor:pointer;align-items:center;gap:var(--uk-sp-3);background:0 0;display:flex}.uk-tabbar__tab:last-child{border-right:0}.uk-tabbar__tab.is-active{background:var(--uk-bg-hover);color:var(--uk-text)}.uk-tabbar__tab:hover:not(.is-active){color:var(--uk-text)}.uk-tabbar__count{font-size:var(--uk-fs-micro);color:var(--uk-text-dim);background:var(--uk-bg-row);border:1px solid var(--uk-border-soft);padding:1px 5px}.uk-tabbar--md .uk-tabbar__tab{padding:var(--uk-sp-4) var(--uk-sp-8);font-size:var(--uk-fs-label)}.uk-code{font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);background:var(--uk-bg-panel);border:1px solid var(--uk-border);padding:var(--uk-sp-7) var(--uk-sp-8);color:var(--uk-text);white-space:pre;margin:0;line-height:1.6;overflow:auto}.uk-code__key{color:var(--uk-state-term)}.uk-code__str{color:var(--uk-state-route)}.uk-code__num{color:var(--uk-state-stop)}.uk-code__bool{color:var(--uk-state-error)}@keyframes uk-pulse{0%{opacity:.6;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}.uk-leaflet-tooltip{background:var(--uk-bg-card)!important;color:var(--uk-text)!important;border:1px solid var(--uk-border)!important;font-family:var(--uk-font-mono)!important;font-size:var(--uk-fs-caption)!important;padding:var(--uk-sp-2) var(--uk-sp-4)!important;box-shadow:none!important}.uk-leaflet-tooltip:before{display:none!important}.uk-leaflet-tooltip--rich{background:var(--uk-bg-card)!important;color:var(--uk-text)!important;border:1px solid var(--uk-border)!important;border-radius:var(--uk-sp-6)!important;padding:var(--uk-sp-4) var(--uk-sp-6)!important;box-shadow:0 var(--uk-sp-2) var(--uk-sp-6) #00000014!important;font-family:var(--uk-font-display)!important;font-size:var(--uk-fs-cell)!important}.uk-leaflet-tooltip--rich:before{display:none!important}.uk-leaflet-vehicle,.uk-leaflet-terminal{background:0 0!important;border:none!important}.leaflet-popup.uk-bus-popup .leaflet-popup-content-wrapper{box-shadow:none!important;border-radius:var(--uk-sp-8)!important;background:0 0!important;padding:0!important}.leaflet-popup.uk-bus-popup .leaflet-popup-content{margin:0!important}.leaflet-popup.uk-bus-popup .leaflet-popup-close-button{top:var(--uk-sp-4)!important;right:var(--uk-sp-4)!important;width:var(--uk-sp-9)!important;height:var(--uk-sp-9)!important;border-radius:var(--uk-radius-dot)!important;line-height:var(--uk-sp-9)!important;text-align:center!important;color:var(--uk-text-muted)!important;background:var(--uk-bg-card)!important;z-index:1!important;padding:0!important}.leaflet-popup.uk-bus-popup .leaflet-popup-tip{background:var(--uk-bg-card)!important;box-shadow:none!important}.uk-theme-toggle{border:1px solid var(--uk-border-firm);color:var(--uk-text-muted);font-size:var(--uk-fs-heading);padding:var(--uk-sp-1) var(--uk-sp-4);cursor:pointer;background:0 0;line-height:1}.uk-theme-toggle:hover{color:var(--uk-text);border-color:var(--uk-text-dim)}.uk-select{align-items:center;gap:var(--uk-sp-3);min-width:0;display:inline-flex}.uk-select__label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim);text-transform:uppercase}.uk-select__wrap{min-width:0;display:inline-flex;position:relative}.uk-select__control{appearance:none;border:1px solid var(--uk-border-firm);background:var(--uk-bg-card);color:var(--uk-text);padding:var(--uk-sp-3) var(--uk-sp-8) var(--uk-sp-3) var(--uk-sp-4);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);cursor:pointer;min-width:144px}.uk-select__control:disabled{opacity:.55;cursor:not-allowed}.uk-select--compact .uk-select__control{min-width:112px;padding-top:var(--uk-sp-2);padding-bottom:var(--uk-sp-2)}.uk-select__chevron{right:var(--uk-sp-3);pointer-events:none;color:var(--uk-text-dim);font-family:var(--uk-font-mono);position:absolute;top:50%;transform:translateY(-50%)}.dd{align-items:center;gap:var(--uk-sp-2);display:inline-flex;position:relative}.dd__label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:var(--uk-ls-kicker);color:var(--uk-text-dim)}.dd__trigger{align-items:center;gap:var(--uk-sp-2);border:1px solid var(--uk-border);background:var(--uk-bg-panel);color:var(--uk-text);padding:var(--uk-sp-2) var(--uk-sp-4);font-family:var(--uk-font-display);font-size:var(--uk-fs-body);font-weight:var(--uk-fw-semibold);cursor:pointer;display:inline-flex}.dd__trigger:hover{background:var(--uk-bg-row);border-color:var(--uk-border-firm)}.dd--compact .dd__trigger{padding:var(--uk-sp-1) var(--uk-sp-3);font-size:var(--uk-fs-cell)}.dd--disabled .dd__trigger{opacity:.5;cursor:default}.dd__value{min-width:0}.dd__chevron{font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.dd__menu{z-index:9999;margin-top:var(--uk-sp-1);border:1px solid var(--uk-border-firm);background:var(--uk-bg-card);min-width:100%;box-shadow:0 var(--uk-sp-2) var(--uk-sp-8) #00000059;flex-direction:column;display:flex;position:absolute;top:100%;left:0}.dd__item{align-items:center;gap:var(--uk-sp-3);padding:var(--uk-sp-3) var(--uk-sp-4);color:var(--uk-text-secondary);text-align:left;cursor:pointer;font-family:var(--uk-font-display);font-size:var(--uk-fs-cell);white-space:nowrap;background:0 0;border:0;display:flex}.dd__item:hover{background:var(--uk-bg-row);color:var(--uk-text)}.dd__item.is-active{color:var(--uk-state-route);font-weight:var(--uk-fw-semibold)}.dd__check{font-size:var(--uk-fs-caption)}.uk-dot{border-radius:var(--uk-radius-dot);flex-shrink:0;display:block}.uk-dot--sm{height:var(--uk-sp-3);width:var(--uk-sp-3)}.uk-dot--md{height:var(--uk-sp-4);width:var(--uk-sp-4)}.uk-dot--active{background:var(--uk-state-route)}.uk-dot--idle{background:var(--uk-state-idle)}.uk-dot--error{background:var(--uk-state-error)}.uk-dot--info{background:var(--uk-state-term)}.uk-dot--warn{background:var(--uk-state-stop)}.uk-dot--pulse{animation:1.5s ease-in-out infinite pulse}.uk-progress{align-items:center;gap:var(--uk-sp-4);display:flex}.uk-progress--detailed{flex-direction:column;align-items:stretch;gap:0}.uk-progress__track{height:var(--uk-sp-2);background:var(--uk-border-soft);flex:1;min-width:64px;position:relative}.uk-progress__track--detailed{height:var(--uk-sp-3);margin-top:var(--uk-sp-2)}.uk-progress__fill{position:absolute;top:0;bottom:0;left:0}.uk-progress__fill--detailed{background:linear-gradient(90deg, var(--uk-border-success-dark), var(--uk-state-route))}.uk-progress__pct{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-muted);flex-shrink:0}.uk-progress__labels{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);color:var(--uk-text-dim);justify-content:space-between;display:flex}.uk-progress__marker{height:var(--uk-sp-6);width:var(--uk-sp-6);border-radius:var(--uk-radius-dot);border:var(--uk-sp-1) solid var(--uk-bg-card);position:absolute;top:50%;transform:translate(-50%,-50%)}.uk-catalog-item{gap:var(--uk-sp-2);border:0;border-bottom:1px solid var(--uk-bg-row);width:100%;padding:var(--uk-sp-6) var(--uk-sp-8);text-align:left;cursor:pointer;background:0 0;flex-direction:column;display:flex;position:relative}.uk-catalog-item:hover{background:var(--uk-bg-panel)}.uk-catalog-item--selected{background:var(--uk-bg-row)}.uk-catalog-item__indicator{height:var(--uk-sp-24);background:var(--uk-state-route);width:3px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.uk-catalog-item__top{justify-content:space-between;align-items:baseline;display:flex}.uk-catalog-item__title{font-family:var(--uk-font-display);font-size:var(--uk-fs-body);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.uk-catalog-item__badge{flex-shrink:0}.uk-catalog-item__subtitle{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-muted)}.uk-catalog-item__meta{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.uk-scenario-card{align-items:center;gap:var(--uk-sp-6);border-bottom:1px solid var(--uk-border);padding:var(--uk-sp-5) var(--uk-sp-8);display:flex;position:relative}.uk-scenario-card:hover{background:var(--uk-bg-panel)}.uk-scenario-card__body{flex:1;min-width:0}.uk-scenario-card__header{align-items:baseline;gap:var(--uk-sp-4);display:flex}.uk-scenario-card__label{font-family:var(--uk-font-display);font-size:var(--uk-fs-body);font-weight:var(--uk-fw-semibold);color:var(--uk-text);text-overflow:ellipsis;overflow:hidden}.uk-scenario-card__key{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim);text-overflow:ellipsis;overflow:hidden}.uk-scenario-card__meta{margin-top:var(--uk-sp-1);align-items:baseline;gap:var(--uk-sp-6);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-mid);display:flex}.uk-scenario-card__dim{color:var(--uk-text-dim)}.uk-scenario-card__route-val{color:var(--uk-text-secondary)}.uk-scenario-card__endpoint{color:var(--uk-text-faint);text-overflow:ellipsis;overflow:hidden}.uk-map-overlay{pointer-events:none;z-index:10;padding:var(--uk-sp-6) var(--uk-sp-8);background:linear-gradient(to bottom, var(--uk-bg-canvas), transparent);border-bottom:1px solid var(--uk-border);justify-content:space-between;align-items:baseline;display:flex;position:absolute;top:0;left:0;right:0}.uk-map-overlay__lead{gap:var(--uk-sp-1);flex-direction:column;min-width:0;display:flex}.uk-map-overlay__subtitle{color:var(--uk-state-route)}.uk-map-overlay__title{font-size:var(--uk-fs-label);font-weight:var(--uk-fw-semibold);color:var(--uk-text);margin:0}.uk-map-overlay__actions{align-items:center;gap:var(--uk-sp-4);pointer-events:auto;flex-shrink:0;display:flex}.uk-filter-toolbar{align-items:center;gap:var(--uk-sp-4);border-bottom:1px solid var(--uk-border);padding:var(--uk-sp-6) var(--uk-sp-12);background:var(--uk-bg-card);display:flex}.uk-filter-toolbar__search{border:1px solid var(--uk-border-firm);background:var(--uk-bg-canvas);max-width:28rem;padding:var(--uk-sp-3) var(--uk-sp-6);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text-secondary);flex:1}.uk-filter-toolbar__search::placeholder{color:var(--uk-text-faint)}.uk-filter-toolbar__search:focus{border-color:var(--uk-border-success);outline:none}.uk-filter-toolbar__right{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;color:var(--uk-text-dim);margin-left:auto}.dd__menu--up{margin-top:0;margin-bottom:var(--uk-sp-1);top:auto;bottom:100%}.uk-table{border:1px solid var(--uk-border);background:var(--uk-bg-card);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label)}.uk-table__head{background:var(--uk-bg-row);border-bottom:1px solid var(--uk-border);gap:0;display:grid}.uk-table__th{padding:var(--uk-sp-4) var(--uk-sp-6);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);color:var(--uk-text-dim)}.uk-table__body{max-height:100%;overflow-y:auto}.uk-table__row{border-bottom:1px solid var(--uk-border-soft);gap:0;transition:background .1s;display:grid}.uk-table__row:last-child{border-bottom:0}.uk-table__row.is-clickable{cursor:pointer}.uk-table__row.is-clickable:hover{background:var(--uk-bg-hover)}.uk-table__row.is-selected{background:var(--uk-bg-hover);border-left:2px solid var(--uk-state-route)}.uk-table__cell{padding:var(--uk-sp-4) var(--uk-sp-6);color:var(--uk-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.uk-table__empty{padding:var(--uk-sp-12);text-align:center;color:var(--uk-text-dim);font-size:var(--uk-fs-label)}.uk-livelog{border:1px solid var(--uk-border);background:var(--uk-bg-card);flex-direction:column;height:100%;min-height:240px;display:flex}.uk-livelog__head{align-items:center;gap:var(--uk-sp-6);border-bottom:1px solid var(--uk-border);padding:var(--uk-sp-4) var(--uk-sp-6);display:flex}.uk-livelog__count{font-size:var(--uk-fs-caption);color:var(--uk-text-dim);margin-left:auto}.uk-livelog__pause{border:1px solid var(--uk-border-firm);color:var(--uk-text-muted);font-size:var(--uk-fs-caption);padding:var(--uk-sp-1) var(--uk-sp-4);cursor:pointer;font-family:var(--uk-font-mono);background:0 0}.uk-livelog__pause.is-paused{color:var(--uk-state-stop);border-color:var(--uk-state-stop)}.uk-livelog__body{padding:var(--uk-sp-4) var(--uk-sp-6);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);flex:1;line-height:1.55;overflow-y:auto}.uk-livelog__line{gap:var(--uk-sp-4);color:var(--uk-text-muted);grid-template-columns:76px 56px 90px 1fr;padding:1px 0;display:grid}.uk-livelog__line--warn{color:var(--uk-state-stop)}.uk-livelog__line--error{color:var(--uk-state-error)}.uk-livelog__ts{color:var(--uk-text-dim)}.uk-livelog__level{color:inherit}.uk-livelog__source{color:var(--uk-text-dim)}.uk-livelog__msg{color:var(--uk-text)}.uk-livelog__line--warn .uk-livelog__msg{color:var(--uk-state-stop)}.uk-livelog__line--error .uk-livelog__msg{color:var(--uk-state-error)}.uk-drawer__scrim{opacity:0;pointer-events:none;z-index:90;background:#0006;transition:opacity .18s;position:fixed;inset:0}.uk-drawer__scrim.is-open{opacity:1;pointer-events:auto}.uk-drawer{background:var(--uk-bg-card);border-left:1px solid var(--uk-border);z-index:91;flex-direction:column;height:100vh;transition:transform .22s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.uk-drawer.is-open{transform:translate(0)}.uk-drawer__head{padding:var(--uk-sp-7) var(--uk-sp-9);border-bottom:1px solid var(--uk-border);justify-content:space-between;align-items:center;display:flex}.uk-drawer__title{margin:var(--uk-sp-1) 0 0 0;font-size:var(--uk-fs-heading);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.uk-drawer__close{color:var(--uk-text-dim);cursor:pointer;padding:0 var(--uk-sp-2);background:0 0;border:none;font-size:22px;line-height:1}.uk-drawer__close:hover{color:var(--uk-text)}.uk-drawer__body{padding:var(--uk-sp-8) var(--uk-sp-9);flex:1;overflow-y:auto}.uk-logline{align-items:baseline;gap:var(--uk-sp-6);padding:3px var(--uk-sp-6);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);line-height:var(--uk-sp-10);border-left:2px solid;display:flex}.uk-logline:hover{background:var(--uk-bg-panel)}.uk-logline__ts{color:var(--uk-text-dim);font-variant-numeric:tabular-nums;flex-shrink:0;width:64px}.uk-logline__category{text-transform:uppercase;letter-spacing:.05em;color:var(--uk-state-term);text-overflow:ellipsis;flex-shrink:0;max-width:140px;overflow:hidden}.uk-logline__msg{color:var(--uk-text-secondary);text-overflow:ellipsis;flex:1;overflow:hidden}.uk-logline--warn .uk-logline__msg{color:var(--uk-state-stop)}.uk-logline--error .uk-logline__msg{color:var(--uk-state-error)}.sidebar{width:var(--uk-sidebar-w);border-right:1px solid var(--uk-border);background:var(--uk-bg-canvas);flex-direction:column;display:flex}.sidebar__brand{border-bottom:1px solid var(--uk-border);padding:var(--uk-sp-6)}.sidebar__brand-row{align-items:center;gap:var(--uk-sp-4);display:flex}.sidebar__brand-dot{height:var(--uk-sp-4);width:var(--uk-sp-4);border-radius:var(--uk-radius-dot);background:var(--uk-state-route);box-shadow:0 0 var(--uk-sp-4) var(--uk-state-route);display:block}.sidebar__brand-title{font-family:var(--uk-font-display);font-size:11px;font-weight:var(--uk-fw-semibold);text-transform:uppercase;letter-spacing:var(--uk-ls-kicker);color:var(--uk-text)}.sidebar__brand-sub{display:none}.sidebar__nav{padding:var(--uk-sp-2) 0;flex:1;overflow-y:auto}.sidebar__group{margin-bottom:var(--uk-sp-3)}.sidebar__group--support{padding-top:var(--uk-sp-3);border-top:1px solid var(--uk-border);margin-top:auto}.sidebar__group-label{padding:var(--uk-sp-2) var(--uk-sp-8);font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:.2em;color:var(--uk-text-faint)}.sidebar__item{align-items:center;gap:var(--uk-sp-3);width:100%;padding:var(--uk-sp-3) var(--uk-sp-6);text-align:left;font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text-mid);cursor:pointer;background:0 0;border:0;display:flex}.sidebar__item:hover{color:var(--uk-text-secondary);background:var(--uk-bg-panel)}.sidebar__item--active{background:var(--uk-bg-row);color:var(--uk-text)}.sidebar__item-indicator{height:var(--uk-sp-10);width:var(--uk-sp-1);background:var(--uk-state-route);display:block;position:absolute;left:0}.sidebar__item-icon{font-size:var(--uk-fs-caption);color:var(--uk-text-faint)}.sidebar__item--active .sidebar__item-icon{color:var(--uk-state-route)}.sidebar__footer{border-top:1px solid var(--uk-border);padding:var(--uk-sp-4) var(--uk-sp-6)}.sidebar__footer-label{margin-bottom:var(--uk-sp-2);font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:.2em;color:var(--uk-text-faint)}.sidebar__scope-select{border:1px solid var(--uk-border-firm);background:var(--uk-bg-card);width:100%;padding:var(--uk-sp-2) var(--uk-sp-4);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text-secondary)}.sidebar__status{margin-top:var(--uk-sp-4);gap:var(--uk-sp-1);font-family:var(--uk-font-mono);color:var(--uk-text-dim);flex-direction:column;font-size:8px;display:flex}.sidebar__status-dot{color:var(--uk-state-route)}.app-shell{background:var(--uk-bg-canvas);height:100vh;color:var(--uk-text);display:flex}.app-main{flex-direction:column;flex:1;display:flex;overflow:hidden}.app-content{flex:1;overflow:hidden}.topbar{height:var(--uk-topbar-h);border-bottom:1px solid var(--uk-border);background:var(--uk-bg-card);padding:0 var(--uk-sp-8);justify-content:space-between;align-items:center;display:flex}.topbar__breadcrumb{align-items:center;gap:var(--uk-sp-6);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-mid);display:flex}.topbar__separator{color:var(--uk-text-dim)}.topbar__page{color:var(--uk-text-secondary);text-transform:uppercase;letter-spacing:.08em}.topbar__scope{color:var(--uk-state-route)}.topbar__metrics{align-items:center;gap:var(--uk-sp-8);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-muted);display:flex}.topbar__metric-label{color:var(--uk-text-dim)}.topbar__metric-value{color:var(--uk-state-route)}.topbar__pulse{align-items:center;gap:var(--uk-sp-3);display:flex}.topbar__pulse-dot{height:var(--uk-sp-3);width:var(--uk-sp-3);border-radius:var(--uk-radius-dot);background:var(--uk-state-route);animation:1.5s ease-in-out infinite pulse;display:block}.access-gate{background:var(--uk-bg);justify-content:center;align-items:center;height:100vh;display:flex}.access-gate__card{gap:var(--uk-sp-4);padding:var(--uk-sp-8);border:1px solid var(--uk-border);background:var(--uk-bg-card);border-radius:16px;flex-direction:column;width:320px;display:flex}.access-gate__title{font-family:var(--uk-font-mono);text-align:center;color:var(--uk-text);margin:0;font-size:18px;font-weight:700}.access-gate__sub{color:var(--uk-text-dim);text-align:center;margin:0;font-size:13px}.access-gate__input{padding:var(--uk-sp-3);border:1px solid var(--uk-border);background:var(--uk-bg);color:var(--uk-text);font-family:var(--uk-font-mono);border-radius:8px;outline:none;font-size:14px}.access-gate__input:focus{border-color:var(--uk-state-route)}.access-gate__error{color:var(--uk-state-error);margin:0;font-size:12px}.access-gate__btn{padding:var(--uk-sp-3);background:var(--uk-state-route);color:var(--uk-bg);font-family:var(--uk-font-mono);cursor:pointer;text-transform:uppercase;letter-spacing:var(--uk-ls-wide);border:0;border-radius:8px;font-size:13px;font-weight:600}.access-gate__btn:hover{opacity:.9}.access-gate__btn:disabled{opacity:.5;cursor:not-allowed}.page-shell__body--compact{padding-top:var(--uk-sp-6);gap:var(--uk-sp-5)}.page-shell__split{flex:1;display:grid;overflow:hidden}.state-color--route{color:var(--uk-state-route)}.state-color--stop{color:var(--uk-state-stop)}.state-color--term{color:var(--uk-state-term)}.state-color--idle{color:var(--uk-state-idle)}.state-color--error{color:var(--uk-state-error)}.state-bg--route{background:var(--uk-tint-success)}.state-bg--stop{background:var(--uk-tint-warn)}.state-bg--term{background:var(--uk-tint-info)}.state-bg--idle{background:var(--uk-bg-row)}.state-border--route{border-color:var(--uk-border-success)}.state-border--stop{border-color:var(--uk-border-warn)}.state-border--term{border-color:var(--uk-border-info)}.state-border--idle{border-color:#2a3340}.status-dot{width:var(--uk-sp-4);height:var(--uk-sp-4);border-radius:var(--uk-radius-dot);flex-shrink:0;display:block}.status-dot--sm{width:var(--uk-sp-3);height:var(--uk-sp-3)}.status-dot--pulse{animation:2s infinite uk-pulse}.filter-bar{align-items:center;gap:var(--uk-sp-4);border-bottom:1px solid var(--uk-border);padding-bottom:var(--uk-sp-6);display:flex}.filter-btn{border:1px solid var(--uk-border);padding:var(--uk-sp-2) var(--uk-sp-4);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);color:var(--uk-text-mid);cursor:pointer;align-items:baseline;gap:var(--uk-sp-3);background:0 0;display:flex}.filter-btn:hover{color:var(--uk-text-secondary)}.filter-btn.is-active{background:var(--uk-bg-row);color:var(--uk-text);border-color:#2a3a4d}.filter-bar__summary{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;color:var(--uk-text-dim);margin-left:auto}.stat-grid{gap:var(--uk-sp-6);display:grid}.stat-grid--3{grid-template-columns:repeat(3,1fr)}.stat-grid--4{grid-template-columns:repeat(4,1fr)}.stat-grid--5{grid-template-columns:repeat(5,1fr)}.stat-grid--6{grid-template-columns:repeat(6,1fr)}.mono-label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:var(--uk-ls-wide);color:var(--uk-text-dim)}.accent-input{border:1px solid var(--uk-border-firm);background:var(--uk-bg-canvas);padding:var(--uk-sp-2) var(--uk-sp-4);font-family:var(--uk-font-mono);font-size:var(--uk-fs-cell);color:var(--uk-text-secondary);outline:none}.accent-input:focus{border-color:var(--uk-border-success)}.accent-input--sm{width:56px}.submit-btn{border:1px solid var(--uk-border-success);background:var(--uk-tint-success);width:100%;padding:var(--uk-sp-3) var(--uk-sp-6);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);text-transform:uppercase;letter-spacing:var(--uk-ls-kicker);color:var(--uk-state-route);cursor:pointer}.submit-btn:hover{background:var(--uk-tint-success-hover)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.start-btn{border:1px solid var(--uk-border-success);background:var(--uk-tint-success);padding:var(--uk-sp-2) var(--uk-sp-6);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-wide);color:var(--uk-state-route);cursor:pointer;flex-shrink:0}.start-btn:hover{background:var(--uk-tint-success-hover)}.stop-btn{border:1px solid var(--uk-border-danger);background:var(--uk-tint-danger);padding:var(--uk-sp-2) var(--uk-sp-6);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-wide);color:var(--uk-state-error);cursor:pointer;flex-shrink:0}.stop-btn:hover{background:#2a1414}.overview__scope-strip{gap:var(--uk-sp-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.overview__scope-item{gap:var(--uk-sp-1);border:1px solid var(--uk-border);background:var(--uk-bg-card);padding:var(--uk-sp-4) var(--uk-sp-5);flex-direction:column;display:flex}.overview__scope-item--route{border-color:var(--uk-border-success)}.overview__scope-item--term{border-color:var(--uk-border-info)}.overview__scope-item--warn{border-color:var(--uk-border-warn)}.overview__scope-item--neutral{border-color:var(--uk-border-soft)}.overview__scope-label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:var(--uk-ls-wide);color:var(--uk-text-dim)}.overview__scope-value{font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text-secondary)}.alert-card{border:1px solid var(--uk-bg-row);background:var(--uk-bg-panel);align-items:stretch;transition:border-color .15s;display:flex;position:relative}.alert-card:hover{border-color:var(--uk-border-firm)}.alert-card__rail{flex-shrink:0;width:3px}.alert-card__body{min-width:0;padding:var(--uk-sp-4) var(--uk-sp-5);flex:1}.alert-card__headline{align-items:baseline;gap:var(--uk-sp-4);min-width:0;display:flex}.alert-card__actor{font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);font-weight:var(--uk-fw-semibold);color:var(--uk-text);flex-shrink:0}.alert-card__text{font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.alert-card__metric{margin-top:var(--uk-sp-2);align-items:baseline;gap:var(--uk-sp-3);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);display:flex}.alert-card__metric-label{color:var(--uk-text-dim);text-transform:uppercase;letter-spacing:var(--uk-ls-normal)}.alert-card__metric-value{font-weight:var(--uk-fw-semibold)}.alert-card__metric-sep{color:var(--uk-text-faint)}.alert-card__metric-threshold{color:var(--uk-text-mid)}.alert-card__meta{margin-top:var(--uk-sp-1);align-items:center;gap:var(--uk-sp-3);font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);color:var(--uk-text-dim);display:flex}.alert-card__actions{align-items:center;gap:var(--uk-sp-2);padding:0 var(--uk-sp-3);align-self:center;display:none}.alert-card:hover .alert-card__actions{display:flex}.alert-card__action-btn{padding:var(--uk-sp-1) var(--uk-sp-3);border:1px solid var(--uk-border-firm);background:var(--uk-bg-card);font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;color:var(--uk-text-muted);cursor:pointer}.alert-card__action-btn:hover{color:var(--uk-text-secondary)}.alert-card__action-btn--muted{color:var(--uk-text-dim)}.empresa-card{border:1px solid var(--uk-bg-row);background:var(--uk-bg-panel);padding:var(--uk-sp-5);justify-content:space-between;align-items:center;display:flex}.empresa-card__code{font-family:var(--uk-font-mono);font-size:var(--uk-fs-cell);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.empresa-card__name{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-muted);margin-left:var(--uk-sp-4)}.empresa-card__meta{margin-top:var(--uk-sp-1);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.empresa-card__live-value{font-family:var(--uk-font-mono);font-size:var(--uk-fs-subhead);font-weight:var(--uk-fw-semibold);color:var(--uk-state-route)}.empresa-card__live-label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);color:var(--uk-text-dim)}.system-dep{padding:var(--uk-sp-3) 0;border-bottom:1px solid var(--uk-border-soft);justify-content:space-between;align-items:center;display:flex}.system-dep:last-child{border-bottom:0}.system-dep__left{align-items:center;gap:var(--uk-sp-4);display:flex}.system-dep__dot{height:var(--uk-sp-3);width:var(--uk-sp-3);border-radius:var(--uk-radius-dot);display:block}.system-dep__dot--up{background:var(--uk-state-route)}.system-dep__dot--degraded{background:var(--uk-state-stop)}.system-dep__dot--down{background:var(--uk-state-error)}.system-dep__name{font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text-secondary)}.system-dep__latency{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.fleet-donut{align-items:center;gap:var(--uk-sp-8);display:flex}.fleet-donut__svg{flex-shrink:0;width:140px;height:140px}.fleet-donut__legend{gap:var(--uk-sp-2);flex-direction:column;flex:1;display:flex}.fleet-donut__legend-btn{width:100%;padding:var(--uk-sp-2) var(--uk-sp-4);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;display:flex}.fleet-donut__legend-btn--active{border-color:var(--uk-border-success-dark);background:var(--uk-tint-success)}.fleet-donut__legend-btn:hover:not(.fleet-donut__legend-btn--active){border-color:var(--uk-border-firm)}.fleet-donut__legend-left{align-items:center;gap:var(--uk-sp-4);display:flex}.fleet-donut__legend-dot{height:var(--uk-sp-4);width:var(--uk-sp-4);border-radius:var(--uk-radius-dot);display:block}.fleet-donut__legend-label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption)}.fleet-donut__legend-count{font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text-secondary)}.nav-link{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;color:var(--uk-text-dim);cursor:pointer;background:0 0;border:0}.nav-link:hover{color:var(--uk-text-secondary)}.stack-y-1{gap:var(--uk-sp-2);flex-direction:column;display:flex}.stack-y-2{gap:var(--uk-sp-4);flex-direction:column;display:flex}.svc-card--full{border:1px solid var(--uk-border);background:var(--uk-bg-panel);padding:var(--uk-sp-6);position:relative}.svc-card__header{justify-content:space-between;align-items:baseline;display:flex}.svc-card__lead{align-items:center;gap:var(--uk-sp-4);display:flex}.svc-card__name{font-family:var(--uk-font-mono);font-size:var(--uk-fs-body);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.svc-card__repo{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.svc-card__metrics{align-items:center;gap:var(--uk-sp-6);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);display:flex}.svc-card__metric{color:var(--uk-text-dim)}.svc-card__metric--warn{color:var(--uk-state-stop);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption)}.svc-card__metric--normal{color:var(--uk-text-muted);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption)}.svc-card__role{margin-top:var(--uk-sp-2);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.svc-card__endpoint{color:var(--uk-state-term)}.svc-card--compact{padding:var(--uk-sp-3) 0;border-bottom:1px solid var(--uk-border-soft);justify-content:space-between;align-items:center;display:flex;position:relative}.svc-card--compact:last-child{border-bottom:0}.svc-card__compact-left{align-items:center;gap:var(--uk-sp-4);display:flex}.svc-card__latency{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.tenant-card{border:1px solid var(--uk-border);background:var(--uk-bg-card);position:relative}.tenant-card--compact{padding:var(--uk-sp-5);justify-content:space-between;align-items:center;display:flex}.tenant-card__code{font-family:var(--uk-font-mono);font-size:var(--uk-fs-cell);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.tenant-card__name{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-muted);margin-left:var(--uk-sp-4)}.tenant-card__meta{margin-top:var(--uk-sp-1);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.tenant-card__live{text-align:right}.tenant-card__live-value{font-family:var(--uk-font-mono);font-size:var(--uk-fs-subhead);font-weight:var(--uk-fw-semibold);color:var(--uk-state-route)}.tenant-card__live-label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);color:var(--uk-text-dim)}.tenant-card--detailed{padding:var(--uk-sp-8)}.tenant-card__header{justify-content:space-between;align-items:baseline;display:flex}.tenant-card__code--lg{font-family:var(--uk-font-display);font-size:var(--uk-fs-title);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.tenant-card__name--sub{font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text-muted)}.tenant-card__id{margin-top:var(--uk-sp-2);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.tenant-card__stats-grid{margin-top:var(--uk-sp-8);background:var(--uk-border-soft);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.tenant-card__stat-cell{background:var(--uk-bg-card);padding:var(--uk-sp-4) var(--uk-sp-6)}.tenant-card__stat-label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;color:var(--uk-text-dim)}.tenant-card__stat-value{font-family:var(--uk-font-display);font-size:18px;font-weight:var(--uk-fw-semibold);color:var(--uk-text-secondary)}.tenant-card__footer{margin-top:var(--uk-sp-6);border-top:1px solid var(--uk-border);padding-top:var(--uk-sp-6);flex-direction:column;gap:0;display:flex}.tenant-card__kv-live{color:var(--uk-state-route)}.page-shell{flex-direction:column;height:100%;display:flex;overflow:hidden}.page-shell__body{padding:var(--uk-sp-4) var(--uk-sp-6);gap:var(--uk-sp-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.page-shell__body--fill{overflow:hidden}.overview__kpi-strip{border:1px solid var(--uk-border);background:var(--uk-bg-card);flex-shrink:0;align-items:stretch;display:flex}.overview__kpi-strip>*+*{border-left:1px solid var(--uk-border)}.overview__main{border:1px solid var(--uk-border);background:var(--uk-bg-card);flex:1;grid-template-columns:1fr 360px;gap:0;min-height:0;display:grid}.overview__main--routing{grid-template-columns:1.2fr 420px}.overview__map-col{flex-direction:column;min-height:0;display:flex}.overview__map-canvas{flex:1;min-height:300px}.overview__map-expand{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);color:var(--uk-text-dim);cursor:pointer;background:0 0;border:0}.overview__map-expand:hover{color:var(--uk-text-secondary)}.overview__clear-filter{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-state-route);cursor:pointer;background:0 0;border:0}.overview__clear-filter:hover{text-decoration:underline}.overview__route-chips{border-top:1px solid var(--uk-border);padding:var(--uk-sp-3) var(--uk-sp-4);gap:var(--uk-sp-2);flex-wrap:wrap;flex-shrink:0;display:flex}.overview__chip-btn{cursor:pointer;background:0 0;border:0;padding:0}.overview__chip-btn:hover .uk-pill{border-color:var(--uk-border-success-dark)}.overview-side{border-left:1px solid var(--uk-border);flex-direction:column;min-height:0;display:flex}.overview-route-side{gap:var(--uk-sp-3);min-height:0;padding:var(--uk-sp-3);border-left:1px solid var(--uk-border);background:var(--uk-bg-canvas);flex-direction:column;display:flex;overflow-y:auto}.overview-route-side .uk-section__body{padding:var(--uk-sp-5) var(--uk-sp-6)}.overview-route-side .overview__route-chips{gap:var(--uk-sp-2);border-top:0;padding:0}.overview-route-side .overview-route-table th,.overview-route-side .overview-route-table td{padding-left:var(--uk-sp-2);padding-right:var(--uk-sp-2)}.overview-side__tabs{border-bottom:1px solid var(--uk-border);flex-shrink:0;display:flex}.overview-side__tab{padding:var(--uk-sp-3) var(--uk-sp-2);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);color:var(--uk-text-dim);cursor:pointer;justify-content:center;align-items:center;gap:var(--uk-sp-2);background:0 0;border:0;border-bottom:2px solid #0000;flex:1;display:flex}.overview-side__tab:hover{color:var(--uk-text-secondary)}.overview-side__tab--active{color:var(--uk-text);border-bottom-color:var(--uk-state-route)}.overview-side__badge{font-size:10px;font-family:var(--uk-font-mono);background:var(--uk-state-stop);color:var(--uk-bg);border-radius:8px;padding:1px 5px;line-height:1.2}.overview-side__content{padding:var(--uk-sp-3);flex:1;overflow-y:auto}.overview-side__count{color:var(--uk-text-faint);font-size:10px}.overview-side__sistema{gap:var(--uk-sp-2);flex-direction:column;display:flex}.overview-side__content .fleet-donut{gap:var(--uk-sp-4);flex-direction:column;align-items:center}.overview-side__content .fleet-donut__svg{width:120px;height:120px}.overview-side__content .fleet-donut__legend{width:100%}.overview-route-table{border-collapse:collapse;width:100%;font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption)}.overview-route-table th{text-align:left;padding:var(--uk-sp-2) var(--uk-sp-3);text-transform:uppercase;letter-spacing:var(--uk-ls-wide);color:var(--uk-text-dim);border-bottom:1px solid var(--uk-border);font-size:10px;font-weight:400}.overview-route-table td{padding:var(--uk-sp-2) var(--uk-sp-3)}.overview-route-table__row{cursor:pointer}.overview-route-table__row:hover{background:var(--uk-bg-panel)}.overview-route-table__row+.overview-route-table__row{border-top:1px solid var(--uk-border-soft)}.overview-route-table__num{color:var(--uk-text-dim);width:24px}.overview-route-table__dot{width:8px;height:8px;margin-right:var(--uk-sp-2);vertical-align:middle;border-radius:50%;display:inline-block}.overview-route-table__mono{font-variant-numeric:tabular-nums;color:var(--uk-text-mid)}.overview-route-table__live{text-align:right;font-weight:var(--uk-fw-semibold)}.overview-tab__empty{padding:var(--uk-sp-8);text-align:center;font-family:var(--uk-font-mono);color:var(--uk-text-dim)}.overview-fleet-list{flex-direction:column;display:flex}.overview-fleet-list__item{align-items:center;gap:var(--uk-sp-3);padding:var(--uk-sp-2) var(--uk-sp-3);border:0;border-top:1px solid var(--uk-border-soft);cursor:pointer;text-align:left;font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);background:0 0;display:flex}.overview-fleet-list__item:first-child{border-top:0}.overview-fleet-list__item:hover{background:var(--uk-bg-panel)}.overview-fleet-list__item--active{background:var(--uk-tint-success)}.overview-fleet-list__id{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.overview-fleet-list__viaje{color:var(--uk-text-dim);white-space:nowrap;font-size:10px}.overview-fleet-list__speed{color:var(--uk-text-dim);white-space:nowrap;margin-left:auto}.fleet-drilldown{flex-direction:column;display:flex}.fleet-drilldown__group+.fleet-drilldown__group{border-top:1px solid var(--uk-border)}.fleet-drilldown__header{align-items:center;gap:var(--uk-sp-2);width:100%;padding:var(--uk-sp-3);background:var(--uk-bg-panel);cursor:pointer;font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);color:var(--uk-text);border:0;display:flex}.fleet-drilldown__header:hover{background:var(--uk-bg-card)}.fleet-drilldown__chevron{color:var(--uk-text-dim);font-size:11px;transition:transform .15s;display:inline-block}.fleet-drilldown__chevron--open{transform:rotate(90deg)}.fleet-drilldown__company{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.fleet-drilldown__summary{align-items:center;gap:var(--uk-sp-2);margin-left:auto;display:flex}.fleet-drilldown__total{font-variant-numeric:tabular-nums;color:var(--uk-text-dim);text-align:right;min-width:20px}.fleet-drilldown__vehicles{padding-left:var(--uk-sp-4)}.overview__cta{border:1px solid var(--uk-border-success);background:var(--uk-tint-success);padding:var(--uk-sp-2) var(--uk-sp-5);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-wide);color:var(--uk-state-route);cursor:pointer}.overview__cta:hover{background:var(--uk-tint-success-hover)}.empresa-card__right{text-align:right}@media (max-width:1200px){.overview__main{grid-template-columns:1fr}.overview-side{border-left:0;border-top:1px solid var(--uk-border);max-height:300px}}.fleet__filters{align-items:center;gap:var(--uk-sp-4);border-bottom:1px solid var(--uk-border);padding:var(--uk-sp-6) var(--uk-sp-12);background:var(--uk-bg-card);display:flex}.fleet__search{border:1px solid var(--uk-border-firm);background:var(--uk-bg-canvas);max-width:28rem;padding:var(--uk-sp-3) var(--uk-sp-6);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text-secondary);flex:1}.fleet__search::placeholder{color:var(--uk-text-faint)}.fleet__search:focus{border-color:var(--uk-border-success);outline:none}.fleet__filter-group{gap:var(--uk-sp-2);display:flex}.fleet__filter-btn{align-items:center;gap:var(--uk-sp-3);border:1px solid var(--uk-border);padding:var(--uk-sp-2) var(--uk-sp-4);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);color:var(--uk-text-mid);cursor:pointer;background:0 0;display:flex}.fleet__filter-btn:hover{color:var(--uk-text-secondary)}.fleet__filter-btn--active{border-color:var(--uk-border-info);background:var(--uk-bg-row);color:var(--uk-text)}.fleet__filter-dot{height:var(--uk-sp-3);width:var(--uk-sp-3);display:block}.fleet__filter-count{color:var(--uk-text-dim)}.fleet__scope-row{gap:var(--uk-sp-3);border-bottom:1px solid var(--uk-border);padding:var(--uk-sp-4) var(--uk-sp-6);background:var(--uk-bg-card);flex-direction:column;display:flex}.fleet__scope-row-head{justify-content:space-between;align-items:center;gap:var(--uk-sp-4);display:flex}.fleet__scope-kicker{font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:var(--uk-ls-kicker);color:var(--uk-text-dim)}.fleet__scope-summary{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-muted)}.uk-company-scope-tabs{gap:var(--uk-sp-2);padding-bottom:1px;display:flex;overflow-x:auto}.uk-company-scope-tabs__tab{align-items:center;gap:var(--uk-sp-3);border:1px solid var(--uk-border);background:var(--uk-bg-panel);color:var(--uk-text-muted);padding:var(--uk-sp-2) var(--uk-sp-4);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);cursor:pointer;flex-shrink:0;display:inline-flex}.uk-company-scope-tabs__tab:hover{background:var(--uk-bg-row);color:var(--uk-text)}.uk-company-scope-tabs__tab.is-active{border-color:var(--uk-border-info);background:var(--uk-bg-row);color:var(--uk-text)}.uk-company-scope-tabs__label{white-space:nowrap}.uk-company-scope-tabs__count{color:var(--uk-text-dim)}.fleet__content{flex:1;display:grid;overflow:hidden}.fleet__content--with-detail{grid-template-columns:1fr var(--uk-detail-w)}.fleet__table{border-collapse:collapse;width:100%}.fleet__thead{background:var(--uk-bg-card);z-index:10;position:sticky;top:0}.fleet__th{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--uk-border);padding:var(--uk-sp-4) var(--uk-sp-6);text-align:left;font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);color:var(--uk-text-dim)}.fleet__th:hover{color:var(--uk-text-secondary)}.fleet__sort-arrow{align-items:center;gap:var(--uk-sp-2);display:inline-flex}.fleet__sort-indicator{color:var(--uk-state-route)}.fleet__row{cursor:pointer;border-bottom:1px solid var(--uk-border-soft)}.fleet__row:hover{background:var(--uk-bg-panel)}.fleet__row--selected{background:var(--uk-bg-row)}.fleet__cell{padding:var(--uk-sp-4) var(--uk-sp-6);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text-muted)}.fleet__cell--id{font-size:var(--uk-fs-cell);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.fleet__cell-id-wrap{align-items:center;gap:var(--uk-sp-4);display:flex}.fleet__state-dot{height:var(--uk-sp-4);width:var(--uk-sp-4);border-radius:var(--uk-radius-dot);display:block}.fleet__cell--secondary{color:var(--uk-text-secondary)}.fleet__cell--dim{color:var(--uk-text-dim)}.fleet__cell--term{color:var(--uk-state-term)}.fleet__progress-wrap{align-items:center;gap:var(--uk-sp-4);display:flex}.fleet__progress-track{height:var(--uk-sp-2);background:var(--uk-border-soft);width:64px}.fleet__progress-fill{height:100%}.fleet__progress-pct{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-muted)}.fleet__empty{padding:var(--uk-sp-12) var(--uk-sp-24);text-align:center;font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text-dim)}.fleet__detail-aside{border-left:1px solid var(--uk-border);background:var(--uk-bg-card);overflow-y:auto}.vehicle-detail{flex-direction:column;height:100%;display:flex}.vehicle-detail__header{border-bottom:1px solid var(--uk-border);padding:var(--uk-sp-8)}.vehicle-detail__header-top{justify-content:space-between;align-items:baseline;display:flex}.vehicle-detail__header-left{align-items:baseline;gap:var(--uk-sp-6);display:flex}.vehicle-detail__title{font-family:var(--uk-font-display);font-size:var(--uk-fs-hero);font-weight:var(--uk-fw-semibold);letter-spacing:var(--uk-ls-tight);color:var(--uk-text)}.vehicle-detail__state{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-wide)}.vehicle-detail__sub{margin-top:var(--uk-sp-2);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text-muted)}.vehicle-detail__viaje{margin-top:var(--uk-sp-1);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.vehicle-detail__scroll{flex:1;overflow-y:auto}.vehicle-detail__kpi-grid{background:var(--uk-bg-row);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.vehicle-detail__kpi{background:var(--uk-bg-card);padding:var(--uk-sp-6) var(--uk-sp-8)}.vehicle-detail__kpi-label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:var(--uk-ls-kicker);color:var(--uk-text-dim)}.vehicle-detail__kpi-value{margin-top:var(--uk-sp-2);font-family:var(--uk-font-display);font-size:var(--uk-fs-hero);font-weight:var(--uk-fw-semibold)}.vehicle-detail__kpi-unit{margin-left:var(--uk-sp-2);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.vehicle-detail__section{border-bottom:1px solid var(--uk-border);padding:var(--uk-sp-6) var(--uk-sp-8)}.vehicle-detail__section-kicker{font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:var(--uk-ls-kicker);color:var(--uk-text-dim)}.vehicle-detail__section-title{margin-top:var(--uk-sp-1);font-family:var(--uk-font-display);font-size:var(--uk-fs-body);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.vehicle-detail__kv-list{margin-top:var(--uk-sp-4)}.vehicle-detail__route-progress{margin-top:var(--uk-sp-6)}.vehicle-detail__route-bar-labels{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);color:var(--uk-text-dim);justify-content:space-between;display:flex}.vehicle-detail__route-bar{margin-top:var(--uk-sp-2);height:var(--uk-sp-3);background:var(--uk-border-soft);position:relative}.vehicle-detail__route-fill{background:linear-gradient(90deg, var(--uk-border-success-dark), var(--uk-state-route));height:100%}.vehicle-detail__route-marker{height:var(--uk-sp-6);width:var(--uk-sp-6);border-radius:var(--uk-radius-dot);border:var(--uk-sp-1) solid var(--uk-bg-card);background:var(--uk-state-route);position:absolute;top:50%;transform:translate(-50%,-50%)}.vehicle-detail__route-row{width:100%;padding:var(--uk-sp-3) var(--uk-sp-4);cursor:pointer;font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text);text-align:left;border:none;border-bottom:1px solid var(--uk-border);background:0 0;justify-content:space-between;align-items:center;display:flex}.vehicle-detail__route-row:hover{background:var(--uk-bg-row)}.vehicle-detail__route-badge{font-size:var(--uk-fs-caption);font-weight:var(--uk-fw-semibold);color:var(--uk-text-muted);background:var(--uk-bg-panel);padding:var(--uk-sp-1) var(--uk-sp-3);border-radius:var(--uk-sp-2)}.vehicle-detail__actions{gap:var(--uk-sp-4);padding:var(--uk-sp-6) var(--uk-sp-8);grid-template-columns:repeat(2,1fr);display:grid}.vehicle-detail__action-btn{border:1px solid var(--uk-border-firm);background:var(--uk-bg-panel);padding:var(--uk-sp-4);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-wide);color:var(--uk-text-secondary);cursor:pointer}.vehicle-detail__action-btn:hover{background:var(--uk-bg-row)}.routes__grid{grid-template-columns:var(--uk-catalog-w) 1fr var(--uk-detail-w);flex:1;display:grid;overflow:hidden}.routes__grid--dense{grid-template-columns:minmax(260px,.82fr) minmax(0,1.35fr) minmax(300px,.95fr);min-height:0}.routes__grid--no-catalog{grid-template-columns:1fr minmax(340px,420px);min-height:0}.routes__summary-grid{gap:var(--uk-sp-3);flex-shrink:0;grid-template-columns:repeat(5,minmax(0,1fr))}.routes__summary-grid .uk-statcard--inline{min-width:0;padding:var(--uk-sp-2) var(--uk-sp-4)}.routes__summary-grid .uk-statcard__value{font-size:var(--uk-fs-subhead)}.routes__summary-grid .uk-statcard__sub{margin-left:0}.routes__diagnostic-strip{gap:var(--uk-sp-3);flex-shrink:0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.routes__diagnostic-card{gap:var(--uk-sp-2);border:1px solid var(--uk-border);background:var(--uk-bg-panel);padding:var(--uk-sp-3) var(--uk-sp-4);flex-direction:column;display:flex}.routes__diagnostic-label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:var(--uk-ls-wide);color:var(--uk-text-dim)}.routes__diagnostic-value{font-family:var(--uk-font-mono);font-size:var(--uk-fs-cell);color:var(--uk-text-secondary)}.routes__catalog{border-right:1px solid var(--uk-border);background:var(--uk-bg-card);overflow-y:auto}.routes__catalog-item{gap:var(--uk-sp-2);border-bottom:1px solid var(--uk-bg-row);width:100%;padding:var(--uk-sp-4) var(--uk-sp-5);text-align:left;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;flex-direction:column;display:flex}.routes__catalog-item:hover{background:var(--uk-bg-panel)}.routes__catalog-item--active{background:var(--uk-bg-row)}.routes__catalog-item-top{justify-content:space-between;align-items:baseline;display:flex}.routes__catalog-item-name{font-family:var(--uk-font-display);font-size:var(--uk-fs-body);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.routes__catalog-item-live{align-items:center;gap:var(--uk-sp-2);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-state-route);display:flex}.routes__catalog-item-pulse{height:var(--uk-sp-3);width:var(--uk-sp-3);border-radius:var(--uk-radius-dot);background:var(--uk-state-route);animation:1.5s ease-in-out infinite pulse;display:block}.routes__catalog-item-key{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-muted)}.routes__catalog-item-meta{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim);justify-content:space-between;display:flex}.routes__catalog-item-indicator{height:var(--uk-sp-24);background:var(--uk-state-route);width:3px;position:absolute;left:0}.routes__map-wrap{position:relative}.routes__map-overlay{pointer-events:none;border-bottom:1px solid var(--uk-border);padding:var(--uk-sp-4) var(--uk-sp-6);background:linear-gradient(to bottom, var(--uk-bg-canvas), transparent);position:absolute;top:0;left:0;right:0}.routes__map-overlay-key{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-kicker);color:var(--uk-state-route)}.routes__map-overlay-name{font-family:var(--uk-font-display);font-size:var(--uk-fs-title);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.route-detail{border-left:1px solid var(--uk-border);background:var(--uk-bg-card);overflow-y:auto}.routes__detail-stack{border-left:1px solid var(--uk-border);background:var(--uk-bg-canvas);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.routes__detail-stack .route-detail{border-left:0;border-bottom:1px solid var(--uk-border)}.routes__detail-stack .uk-section__body{padding:var(--uk-sp-5) var(--uk-sp-6)}.routes__health-kv{flex-direction:column;display:flex}.route-detail__kpi-grid{background:var(--uk-bg-row);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.route-detail__kpi{background:var(--uk-bg-card);padding:var(--uk-sp-6) var(--uk-sp-8)}.route-detail__kpi-label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:var(--uk-ls-kicker);color:var(--uk-text-dim)}.route-detail__kpi-value{margin-top:var(--uk-sp-2);font-family:var(--uk-font-display);font-size:22px;font-weight:var(--uk-fw-semibold);color:var(--uk-text-secondary)}.route-detail__kpi-unit{font-size:var(--uk-fs-caption);color:var(--uk-text-dim);font-family:var(--uk-font-mono);margin-left:var(--uk-sp-2)}.route-detail__section{border-bottom:1px solid var(--uk-border);padding:var(--uk-sp-6) var(--uk-sp-8)}.route-detail__section-kicker{font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:var(--uk-ls-kicker);color:var(--uk-text-dim)}.route-detail__section-title{margin-top:var(--uk-sp-1);font-family:var(--uk-font-display);font-size:var(--uk-fs-body);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.route-detail__terminal-grid{margin-top:var(--uk-sp-4);gap:var(--uk-sp-4);grid-template-columns:repeat(2,1fr);display:grid}.route-detail__terminal-card{border:1px solid var(--uk-border-firm);background:var(--uk-bg-panel);padding:var(--uk-sp-5)}.route-detail__terminal-label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;color:var(--uk-text-dim)}.route-detail__terminal-code{font-family:var(--uk-font-mono);font-size:var(--uk-fs-subhead);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.route-detail__terminal-name{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-muted)}.route-detail__points{margin-top:var(--uk-sp-4);border:1px solid var(--uk-bg-row)}.route-detail__points-head{grid-template-columns:var(--uk-sp-20) 1fr 1fr;border-bottom:1px solid var(--uk-bg-row);padding:var(--uk-sp-3) var(--uk-sp-6);font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);color:var(--uk-text-dim);display:grid}.route-detail__points-row{grid-template-columns:var(--uk-sp-20) 1fr 1fr;border-bottom:1px solid var(--uk-border-soft);padding:var(--uk-sp-2) var(--uk-sp-6);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);display:grid}.route-detail__points-row:last-child{border-bottom:0}.route-detail__points-seq{color:var(--uk-text-dim)}.route-detail__points-coord{color:var(--uk-text-secondary)}.route-detail__live-section{padding:var(--uk-sp-5) var(--uk-sp-6)}.route-detail__live-list{margin-top:var(--uk-sp-4);gap:var(--uk-sp-3);flex-direction:column;display:flex}.route-detail__live-item{border:1px solid var(--uk-bg-row);background:var(--uk-bg-panel);padding:var(--uk-sp-3) var(--uk-sp-4);justify-content:space-between;align-items:center;display:flex}.route-detail__live-left{align-items:center;gap:var(--uk-sp-4);display:flex}.route-detail__live-dot{height:var(--uk-sp-3);width:var(--uk-sp-3);border-radius:var(--uk-radius-dot);display:block}.route-detail__live-id{font-family:var(--uk-font-mono);font-size:var(--uk-fs-cell);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.route-detail__live-right{align-items:center;gap:var(--uk-sp-4);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-muted);display:flex}.route-detail__live-eta{color:var(--uk-text-secondary)}.map-default-panel{padding:var(--uk-sp-2)}.map-default-panel__list{flex-direction:column;display:flex}.map-default-panel__row{align-items:center;gap:var(--uk-sp-3);padding:var(--uk-sp-2) var(--uk-sp-3);border:0;border-top:1px solid var(--uk-border-soft);cursor:pointer;text-align:left;width:100%;font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text);background:0 0;display:flex}.map-default-panel__row:first-child{border-top:0}.map-default-panel__row:hover{background:var(--uk-bg-panel)}.map-default-panel__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.map-default-panel__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.map-default-panel__meta{color:var(--uk-text-dim);white-space:nowrap}.map-default-panel__badge{font-weight:var(--uk-fw-semibold);color:var(--uk-state-route);text-align:right;min-width:20px}.live-map__grid{grid-template-columns:1fr var(--uk-detail-w);flex:1;display:grid;overflow:hidden}.live-map__map-wrap{position:relative}.live-map__panel{border-left:1px solid var(--uk-border);background:var(--uk-bg-card);overflow-y:auto}.live-map__empty{height:100%;padding:var(--uk-sp-12);text-align:center;justify-content:center;align-items:center;display:flex}.live-map__empty-inner{gap:var(--uk-sp-4);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text-dim);flex-direction:column;display:flex}.live-map__empty-title{text-transform:uppercase;letter-spacing:var(--uk-ls-kicker);color:var(--uk-text-faint)}.eta-lab__summary-grid{flex-shrink:0}.eta-lab__guide{gap:var(--uk-sp-4);border:1px solid var(--uk-border);background:var(--uk-bg-card);padding:var(--uk-sp-4) var(--uk-sp-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.eta-lab__controls{gap:var(--uk-sp-4);grid-template-columns:repeat(8,minmax(0,1fr));align-items:end;display:grid}.eta-lab__field{gap:var(--uk-sp-2);flex-direction:column;display:flex}.eta-lab__field-label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:var(--uk-ls-wide);color:var(--uk-text-dim)}.eta-lab__action{align-items:end;display:flex}.eta-lab__empty{border:1px solid var(--uk-border);background:var(--uk-bg-card);padding:var(--uk-sp-10)}.eta-lab__empty-text{font-family:var(--uk-font-mono);font-size:var(--uk-fs-cell);color:var(--uk-text-dim)}.eta-lab__error{border:1px solid var(--uk-border-danger);background:var(--uk-tint-danger);color:var(--uk-state-error);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);padding:var(--uk-sp-4) var(--uk-sp-6)}.eta-res{gap:var(--uk-sp-4);flex-direction:column;display:flex}.eta-res__hero{border:1px solid var(--uk-border);background:var(--uk-bg-card);padding:var(--uk-sp-6) var(--uk-sp-8);justify-content:space-between;align-items:center;display:flex}.eta-res__hero-main{align-items:baseline;gap:var(--uk-sp-2);display:flex}.eta-res__hero-value{font-family:var(--uk-font-display);color:var(--uk-state-route);font-size:42px;font-weight:700}.eta-res__hero-unit{font-family:var(--uk-font-mono);font-size:var(--uk-fs-heading);color:var(--uk-text-muted)}.eta-res__hero-meta{align-items:flex-end;gap:var(--uk-sp-2);flex-direction:column;display:flex}.eta-res__hero-arrival{font-family:var(--uk-font-mono);font-size:var(--uk-fs-body);color:var(--uk-text-secondary)}.eta-res__kpis{gap:var(--uk-sp-3);grid-template-columns:repeat(4,1fr);display:grid}.eta-cmp{gap:var(--uk-sp-3);flex-direction:column;display:flex}.eta-cmp__row{gap:var(--uk-sp-4);grid-template-columns:140px 1fr auto;align-items:center;display:grid}.eta-cmp__label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-muted)}.eta-cmp__bar{height:var(--uk-sp-3);background:var(--uk-border);border-radius:var(--uk-radius-pill);overflow:hidden}.eta-cmp__fill{border-radius:var(--uk-radius-pill);height:100%;transition:width .5s}.eta-cmp__value{font-family:var(--uk-font-mono);font-size:var(--uk-fs-body);font-weight:var(--uk-fw-semibold);font-variant-numeric:tabular-nums;text-align:right;min-width:50px}.eta-res__details{flex-direction:column;display:flex}.eta-res__detail-row{padding:var(--uk-sp-2) 0;border-bottom:1px solid var(--uk-border-soft);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);justify-content:space-between;display:flex}.eta-res__detail-row span:first-child{color:var(--uk-text-muted)}.eta-res__detail-row span:last-child{color:var(--uk-text)}.simulator__guide{gap:var(--uk-sp-4);border:1px solid var(--uk-border);background:var(--uk-bg-card);padding:var(--uk-sp-4) var(--uk-sp-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.simulator__toolbar{align-items:center;gap:var(--uk-sp-8);border-bottom:1px solid var(--uk-border);background:var(--uk-bg-card);padding:var(--uk-sp-4) var(--uk-sp-8);display:flex}.simulator__toolbar-label{align-items:center;gap:var(--uk-sp-4);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:.05em;color:var(--uk-text-dim);display:flex}.simulator__toolbar-input{border:1px solid var(--uk-border-firm);background:var(--uk-bg-canvas);width:56px;padding:var(--uk-sp-2) var(--uk-sp-4);font-family:var(--uk-font-mono);font-size:var(--uk-fs-cell);color:var(--uk-text-secondary);font-variant-numeric:tabular-nums}.simulator__toolbar-unit{color:var(--uk-text-faint)}.simulator__toolbar-summary{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:.05em;color:var(--uk-text-dim);margin-left:auto}.simulator__scenarios{flex-direction:column;display:flex;overflow-y:auto}.simulator__scenarios-body{overflow-y:auto}.simulator__scenario{align-items:center;gap:var(--uk-sp-6);border-bottom:1px solid var(--uk-border);padding:var(--uk-sp-5) var(--uk-sp-8);display:flex}.simulator__scenario:hover{background:var(--uk-bg-panel)}.simulator__scenario-dot{flex-shrink:0}.simulator__scenario-dot--active{background:var(--uk-state-route);animation:2s infinite uk-pulse}.simulator__scenario-dot--idle{background:var(--uk-text-faint)}.simulator__scenario-body{flex:1;min-width:0}.simulator__scenario-header{align-items:baseline;gap:var(--uk-sp-4);display:flex}.simulator__scenario-label{font-family:var(--uk-font-display);font-size:var(--uk-fs-body);font-weight:var(--uk-fw-semibold);color:var(--uk-text);text-overflow:ellipsis;overflow:hidden}.simulator__scenario-key{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim);text-overflow:ellipsis;overflow:hidden}.simulator__scenario-meta{margin-top:var(--uk-sp-1);align-items:baseline;gap:var(--uk-sp-6);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-mid);display:flex}.simulator__scenario-dim{color:var(--uk-text-dim)}.simulator__scenario-route-val{color:var(--uk-text-secondary)}.simulator__scenario-endpoint{color:var(--uk-text-faint);text-overflow:ellipsis;overflow:hidden}.simulator__log{flex-direction:column;display:flex;overflow:hidden}.simulator__log-header{border-bottom:1px solid var(--uk-border);padding:var(--uk-sp-6) var(--uk-sp-8);background:var(--uk-bg-card);justify-content:space-between;align-items:baseline;display:flex}.simulator__log-title{margin:var(--uk-sp-1) 0 0 0;font-family:var(--uk-font-display);font-size:var(--uk-fs-subhead);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.simulator__log-summary{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.simulator__log-body{background:var(--uk-bg-canvas);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);line-height:var(--uk-sp-10);min-height:160px;max-height:360px;overflow-y:auto}.simulator__log-line{align-items:baseline;gap:var(--uk-sp-6);padding:var(--uk-sp-1) var(--uk-sp-6);border-left:2px solid;display:flex}.simulator__log-line:hover{background:var(--uk-bg-panel)}.simulator__log-ts{color:var(--uk-text-dim);font-variant-numeric:tabular-nums;flex-shrink:0}.simulator__log-level{text-transform:uppercase;letter-spacing:.05em;width:var(--uk-sp-20);flex-shrink:0}.simulator__log-scenario{color:var(--uk-state-term);text-overflow:ellipsis;flex-shrink:0;width:120px;overflow:hidden}.simulator__log-msg{color:var(--uk-text-secondary);text-overflow:ellipsis;flex:1;overflow:hidden}.viajes__table{border:1px solid var(--uk-border);background:var(--uk-bg-card);border-collapse:collapse;width:100%}.viajes__th{border-bottom:1px solid var(--uk-border);padding:var(--uk-sp-4) var(--uk-sp-6);text-align:left;font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:.05em;color:var(--uk-text-dim)}.viajes__row{border-bottom:1px solid #0e131b}.viajes__row:hover{background:var(--uk-bg-panel)}.viajes__cell{padding:var(--uk-sp-4) var(--uk-sp-6);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text-secondary)}.viajes__cell--muted{color:var(--uk-text-muted)}.viajes__cell--dim{color:var(--uk-text-dim)}.viajes__deviation-badge{margin-left:var(--uk-sp-4);font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;color:var(--uk-state-stop)}.viajes__empresa-suffix{color:var(--uk-text-dim)}.viajes__progress{align-items:center;gap:var(--uk-sp-4);display:flex}.viajes__progress-track{height:var(--uk-sp-2);background:var(--uk-border);width:80px;position:relative}.viajes__progress-bar{position:absolute;top:0;bottom:0;left:0}.viajes__progress-label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-muted)}.viajes__avg-delay{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;color:var(--uk-text-dim);margin-left:auto}.viajes__avg-delay-value{color:var(--uk-text-secondary)}.viajes__speed-blank{color:var(--uk-text-dim)}.events__body{padding:var(--uk-sp-6);gap:var(--uk-sp-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.ev-head{gap:var(--uk-sp-3);padding:var(--uk-sp-2) var(--uk-sp-4);font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:var(--uk-ls-wide);color:var(--uk-text-dim);border-bottom:1px solid var(--uk-border);background:var(--uk-bg-panel);grid-template-columns:72px 48px 72px minmax(100px,160px) minmax(80px,130px) 1fr 48px;display:grid}.ev-feed{border:1px solid var(--uk-border);background:var(--uk-bg-card);min-height:200px;max-height:calc(100vh - 260px);overflow-y:auto}.ev-card{gap:var(--uk-sp-3);padding:var(--uk-sp-2) var(--uk-sp-4);border-bottom:1px solid var(--uk-border-soft);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);grid-template-columns:72px 48px 72px minmax(100px,160px) minmax(80px,130px) 1fr 48px;align-items:center;display:grid}.ev-card:hover{background:var(--uk-bg-panel)}.ev-card__ts{color:var(--uk-text-dim);font-variant-numeric:tabular-nums}.ev-card__svc{color:var(--uk-state-term);text-transform:uppercase;font-size:var(--uk-fs-caption);letter-spacing:var(--uk-ls-normal)}.ev-card__code{color:var(--uk-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ev-card__vehicle{color:var(--uk-text);font-weight:var(--uk-fw-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ev-card__msg{color:var(--uk-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ev-card__detail{color:var(--uk-text-dim);font-size:var(--uk-fs-caption);grid-column:6}.ev-card__age{color:var(--uk-text-dim);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.ev-svc-tabs{align-items:center;gap:var(--uk-sp-2);display:flex}.ev-svc-chip{align-items:center;gap:var(--uk-sp-2);border:1px solid var(--uk-border);background:var(--uk-bg-panel);color:var(--uk-text-muted);padding:var(--uk-sp-1) var(--uk-sp-3);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);cursor:pointer;display:inline-flex}.ev-svc-chip.is-active{border-color:var(--uk-state-route);background:var(--uk-bg-row);color:var(--uk-text)}.ev-svc-n{font-variant-numeric:tabular-nums}.ev-count{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-muted)}.ev-empty{padding:var(--uk-sp-12);text-align:center;color:var(--uk-text-dim);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label)}.system__dep-card{border:1px solid var(--uk-border);background:var(--uk-bg-panel);padding:var(--uk-sp-6)}.system__dep-header{justify-content:space-between;align-items:baseline;display:flex}.system__dep-lead{align-items:center;gap:var(--uk-sp-4);display:flex}.system__dep-name{font-family:var(--uk-font-mono);font-size:var(--uk-fs-body);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.system__dep-repo{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.system__dep-metrics{align-items:center;gap:var(--uk-sp-6);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);display:flex}.system__dep-metric{color:var(--uk-text-dim)}.system__dep-metric--warn{color:var(--uk-state-stop)}.system__dep-metric--normal{color:var(--uk-text-muted)}.system__dep-role{margin-top:var(--uk-sp-2);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.system__dep-endpoint{color:var(--uk-state-term)}.system__dep-list{gap:var(--uk-sp-2);flex-direction:column;display:flex}.system__grid{gap:var(--uk-sp-6);grid-template-columns:2fr 1fr;display:grid}.system__sidebar{gap:var(--uk-sp-6);flex-direction:column;display:flex}.system__focus-grid{gap:var(--uk-sp-6);grid-template-columns:1.5fr minmax(260px,.85fr);display:grid}.system__focus-primary{gap:var(--uk-sp-4);flex-direction:column;display:flex}.system__focus-kpis{gap:var(--uk-sp-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.system__focus-status{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;color:var(--uk-state-route)}.system__compact-list{gap:var(--uk-sp-3);flex-direction:column;display:flex}.system__focus-empty{font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text-dim)}.system__spark-wrap{padding:var(--uk-sp-8)}.system__spark-chart{height:80px}.system__manifest-list{flex-direction:column;gap:0;display:flex}.system__status-dot--up{background:var(--uk-state-route)}.system__status-dot--degraded{background:var(--uk-state-stop)}.system__status-dot--down{background:var(--uk-state-error)}.system__contracts-grid{gap:var(--uk-sp-4);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);grid-template-columns:repeat(2,1fr);display:grid}.system__contract-row{align-items:center;gap:var(--uk-sp-4);border:1px solid var(--uk-border-soft);background:var(--uk-bg-panel);padding:var(--uk-sp-3) var(--uk-sp-4);display:flex}.system__contract-method{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);font-weight:var(--uk-fw-semibold)}.system__contract-method--get{color:var(--uk-state-route)}.system__contract-method--post{color:var(--uk-state-stop)}.system__contract-method--put{color:var(--uk-state-term)}.system__contract-method--delete{color:var(--uk-state-error)}.system__contract-path{color:var(--uk-text-secondary);flex:1}.system__contract-service{color:var(--uk-text-dim);font-size:var(--uk-fs-caption)}.tenants__guide{gap:var(--uk-sp-4);border:1px solid var(--uk-border);background:var(--uk-bg-card);padding:var(--uk-sp-4) var(--uk-sp-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tenants__table-head{grid-template-columns:2.2fr .8fr 1fr .8fr .8fr .8fr 1.8fr 1.6fr}.tenants__row-wrap{border-bottom:1px solid var(--uk-border-soft)}.tenants__row-wrap:last-child{border-bottom:0}.tenants__row{border-bottom:0;grid-template-columns:2.2fr .8fr 1fr .8fr .8fr .8fr 1.8fr 1.6fr}.tenants__company-cell{gap:var(--uk-sp-1);flex-direction:column;display:flex}.tenants__company-name{font-family:var(--uk-font-display);font-size:var(--uk-fs-cell);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.tenants__company-meta{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.tenants__actions{gap:var(--uk-sp-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.tenants__issue-cell{align-items:center;gap:var(--uk-sp-3);display:flex}.tenants__issue-text{color:var(--uk-text)}.tenants__drilldown{border-top:1px solid var(--uk-border-soft);background:var(--uk-bg-panel);padding:var(--uk-sp-4) var(--uk-sp-6)}.tenants__drilldown-grid{gap:var(--uk-sp-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.topology__workflow{border:1px solid var(--uk-border-soft);background:var(--uk-bg-panel);padding:var(--uk-sp-5)}.topology__workflow-header{justify-content:space-between;align-items:baseline;display:flex}.topology__workflow-title{font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.topology__workflow-badge{font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:.05em;color:var(--uk-state-stop)}.topology__workflow-steps{margin-top:var(--uk-sp-3);align-items:center;gap:var(--uk-sp-2);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);flex-wrap:wrap;display:flex}.topology__workflow-step{background:var(--uk-bg-canvas);padding:var(--uk-sp-1) var(--uk-sp-3);color:var(--uk-text-secondary);border:1px solid var(--uk-border-firm)}.topology__workflow-arrow{color:var(--uk-state-route)}.topology__workflow-arrow--degraded{color:var(--uk-state-stop)}.topology__workflow-list{gap:var(--uk-sp-4);flex-direction:column;display:flex}.topology__layout{grid-template-columns:1fr 360px;height:100%;display:grid}.topology__svg-area{background:var(--uk-bg-canvas);position:relative;overflow:hidden}.topology__svg{width:100%;height:100%}.topology__legend{left:var(--uk-sp-8);top:var(--uk-sp-8);z-index:10;gap:var(--uk-sp-4);border:1px solid var(--uk-border-firm);padding:var(--uk-sp-4) var(--uk-sp-6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0e14d9;flex-direction:column;display:flex;position:absolute}.topology__legend-title{align-items:center;gap:var(--uk-sp-4);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:var(--uk-ls-wide);color:#6a7888;display:flex}.topology__legend-dot{width:var(--uk-sp-2);height:var(--uk-sp-2);background:var(--uk-state-route);display:block}.topology__legend-grid{gap:var(--uk-sp-2) var(--uk-sp-8);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);grid-template-columns:repeat(2,1fr);display:grid}.topology__legend-item{align-items:center;gap:var(--uk-sp-3);display:flex}.topology__legend-swatch{width:var(--uk-sp-4);height:var(--uk-sp-4);border-radius:var(--uk-radius-sm);display:block}.topology__legend-label{color:var(--uk-text-muted)}.topology__rail{border-left:1px solid var(--uk-border);background:var(--uk-bg-card);flex-direction:column;display:flex;overflow-y:auto}.topology__rail-header{border-bottom:1px solid var(--uk-border);padding:var(--uk-sp-8)}.topology__rail-node-label{font-family:var(--uk-font-display);font-size:var(--uk-fs-heading);font-weight:var(--uk-fw-semibold);letter-spacing:var(--uk-ls-tight);color:var(--uk-text)}.topology__rail-node-sub{margin-top:var(--uk-sp-2);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-muted)}.topology__rail-status{margin-top:var(--uk-sp-4);align-items:center;gap:var(--uk-sp-4);display:flex}.topology__rail-status-dot{width:var(--uk-sp-3);height:var(--uk-sp-3);border-radius:var(--uk-radius-dot);display:block}.topology__rail-status-label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);text-transform:uppercase;letter-spacing:.05em}.topology__rail-status-repo,.topology__empty-flow{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.topology__flow-list{gap:var(--uk-sp-3);flex-direction:column;display:flex}.topology__flow-card{border:1px solid var(--uk-border-soft);background:var(--uk-bg-panel);padding:var(--uk-sp-4) var(--uk-sp-6)}.topology__flow-card-header{justify-content:space-between;align-items:baseline;display:flex}.topology__flow-card-label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.topology__flow-card-rate{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-state-route)}.topology__flow-card-sub{margin-top:var(--uk-sp-1);font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-muted)}.topology__flow-card-warn{margin-top:var(--uk-sp-1);font-family:var(--uk-font-mono);font-size:var(--uk-fs-micro);color:var(--uk-state-stop)}.bp{width:340px;font-family:var(--uk-font-display);color:var(--uk-text)}.bp__card{border:1px solid var(--uk-border);border-radius:var(--uk-sp-4);background:var(--uk-bg-card);padding:var(--uk-sp-4);-webkit-backdrop-filter:blur(var(--uk-sp-3));backdrop-filter:blur(var(--uk-sp-3))}.bp__header{align-items:flex-start;gap:var(--uk-sp-3);margin-bottom:var(--uk-sp-3);display:flex}.bp__dot{margin-top:var(--uk-sp-1);width:var(--uk-sp-3);height:var(--uk-sp-3);border-radius:var(--uk-radius-dot);flex-shrink:0}.bp__info{flex:1;min-width:0}.bp__title{font-size:var(--uk-fs-cell);margin:0;font-weight:700;line-height:1.2}.bp__viaje{margin-left:var(--uk-sp-2);font-weight:var(--uk-fw-regular);color:var(--uk-text-muted);font-size:var(--uk-fs-caption)}.bp__subtitle{font-size:var(--uk-fs-label);color:var(--uk-text-muted);margin:var(--uk-sp-1) 0 0;line-height:1.2}.bp__source{font-size:var(--uk-fs-micro);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);color:var(--uk-text-dim);margin:var(--uk-sp-1) 0 0;line-height:1}.bp__hint{font-size:var(--uk-fs-micro);color:var(--uk-text-muted);margin:var(--uk-sp-1) 0 0}.bp__grid{gap:var(--uk-sp-1) var(--uk-sp-4);margin-bottom:var(--uk-sp-3);grid-template-columns:1fr 1fr;display:grid}.bp__fl{font-size:var(--uk-fs-micro);font-weight:var(--uk-fw-semibold);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);color:var(--uk-text-dim);margin:0;line-height:1.1}.bp__fv{font-size:var(--uk-fs-label);font-weight:var(--uk-fw-medium);margin:0 0 var(--uk-sp-1);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.bp__fs{font-weight:var(--uk-fw-regular);color:var(--uk-text-muted)}.bp__speed{margin-top:var(--uk-sp-2)}.bp__speed-head{margin-bottom:var(--uk-sp-1);justify-content:space-between;align-items:center;display:flex}.bp__speed-label{font-size:var(--uk-fs-micro);font-weight:var(--uk-fw-semibold);text-transform:uppercase;letter-spacing:var(--uk-ls-normal);color:var(--uk-text-dim)}.bp__speed-value{font-size:var(--uk-fs-cell);font-variant-numeric:tabular-nums;font-weight:700}.bp__bar-track{height:var(--uk-sp-1);border-radius:var(--uk-radius-pill);background:var(--uk-border);overflow:hidden}.bp__bar-fill{border-radius:var(--uk-radius-pill);height:100%;transition:width .7s}.bp__footer{align-items:center;gap:var(--uk-sp-2);border:1px solid var(--uk-border);border-radius:var(--uk-sp-3);padding:var(--uk-sp-1) var(--uk-sp-3);background:var(--uk-bg-card);margin-top:var(--uk-sp-2);display:flex}.bp__footer-left{min-width:0;font-size:var(--uk-fs-caption);flex:1}.bp__footer-eta{font-weight:var(--uk-fw-semibold)}.bp__footer-time{margin-left:var(--uk-sp-1);color:var(--uk-text-muted)}.bp__footer-status{color:var(--uk-text-muted)}.bp__footer-pct{font-size:var(--uk-fs-label);font-variant-numeric:tabular-nums;font-weight:700}.bp__progress-track{height:var(--uk-sp-1);border-radius:var(--uk-sp-1);background:var(--uk-border);margin-top:var(--uk-sp-1);overflow:hidden}.bp__progress-fill{border-radius:var(--uk-sp-1);height:100%;transition:width .7s}.f1__layout{grid-template-columns:1fr;gap:0;display:grid}.f1__layout:has(.f1__sidebar){grid-template-columns:1fr 320px}.f1__grid{gap:var(--uk-sp-1);flex-direction:column;display:flex}.f1__positions{flex-direction:column;display:flex}.f1__pos-row{grid-template-columns:var(--uk-sp-12) 1fr 1.2fr auto auto auto auto;gap:var(--uk-sp-4);padding:var(--uk-sp-3) var(--uk-sp-4);border:0;border-bottom:1px solid var(--uk-border-soft);cursor:pointer;text-align:left;width:100%;font-family:var(--uk-font-mono);font-size:var(--uk-fs-cell);background:0 0;align-items:center;display:grid}.f1__pos-row:hover{background:var(--uk-bg-panel)}.f1__pos-row.is-active{background:var(--uk-bg-row);border-left:3px solid var(--uk-state-route)}.f1__pos-rank{font-size:var(--uk-fs-heading);color:var(--uk-state-route);text-align:center;font-weight:700}.f1__pos-vehicle{font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.f1__pos-driver{color:var(--uk-text-muted)}.f1__pos-speed{font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.f1__pos-progress{color:var(--uk-state-route);font-weight:var(--uk-fw-semibold)}.f1__pos-eta{color:var(--uk-text-muted)}.f1__pos-gap{color:var(--uk-state-stop);font-size:var(--uk-fs-caption)}.f1__gauges{gap:var(--uk-sp-3);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));display:grid}.f1__gauge{border:1px solid var(--uk-border);background:var(--uk-bg-panel);padding:var(--uk-sp-4);text-align:center;cursor:pointer}.f1__gauge:hover{background:var(--uk-bg-row)}.f1__gauge.is-active{border-color:var(--uk-state-route);background:var(--uk-bg-row)}.f1__gauge-label{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-muted);text-transform:uppercase;letter-spacing:var(--uk-ls-wide)}.f1__gauge-value{font-family:var(--uk-font-display);font-size:var(--uk-fs-hero);color:var(--uk-text);margin:var(--uk-sp-1) 0;font-weight:700}.f1__gauge-unit{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-dim)}.f1__gauge-bar{height:var(--uk-sp-2);background:var(--uk-border);border-radius:var(--uk-radius-pill);margin-top:var(--uk-sp-2);overflow:hidden}.f1__gauge-fill{background:var(--uk-state-route);border-radius:var(--uk-radius-pill);height:100%;transition:width .5s}.f1__completed{flex-direction:column;display:flex}.f1__completed-row{gap:var(--uk-sp-4);padding:var(--uk-sp-3) var(--uk-sp-4);border:0;border-bottom:1px solid var(--uk-border-soft);cursor:pointer;text-align:left;width:100%;font-family:var(--uk-font-mono);font-size:var(--uk-fs-cell);background:0 0;grid-template-columns:auto 1fr 1fr 1fr;display:grid}.f1__completed-row:hover{background:var(--uk-bg-panel)}.f1__completed-row.is-active{background:var(--uk-bg-row)}.f1__completed-vehicle{font-weight:var(--uk-fw-semibold);color:var(--uk-text)}.f1__completed-viaje{color:var(--uk-text-muted)}.f1__completed-route{color:var(--uk-text-secondary)}.f1__completed-conductor{color:var(--uk-text-muted)}.f1__sidebar{border-left:1px solid var(--uk-border);background:var(--uk-bg-card);padding:var(--uk-sp-5);overflow-y:auto}.f1__detail-header{margin-bottom:var(--uk-sp-4)}.f1__detail-vehicle{font-family:var(--uk-font-display);font-size:var(--uk-fs-heading);color:var(--uk-text);font-weight:700}.f1__detail-viaje{font-family:var(--uk-font-mono);font-size:var(--uk-fs-caption);color:var(--uk-text-muted);margin-top:var(--uk-sp-1);display:block}.f1__detail-grid{flex-direction:column;display:flex}.f1__detail-grid>div{padding:var(--uk-sp-2) 0;border-bottom:1px solid var(--uk-border-soft);font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);justify-content:space-between;display:flex}.f1__detail-label{color:var(--uk-text-dim)}.f1__detail-grid>div>span:last-child{color:var(--uk-text);font-weight:var(--uk-fw-medium)}.f1__placeholder{font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text-dim);padding:var(--uk-sp-8) var(--uk-sp-4);text-align:center}.f1__empty{font-family:var(--uk-font-mono);font-size:var(--uk-fs-label);color:var(--uk-text-dim);padding:var(--uk-sp-4);text-align:center}*{box-sizing:border-box}html{background:var(--uk-bg-canvas);min-height:100%}body{min-height:100vh;font-family:var(--uk-font-display);color:var(--uk-text);background:var(--uk-bg-canvas);margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}@keyframes pulse{50%{opacity:.5}}.leaflet-container{background:var(--uk-bg-canvas)!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
