#map{width:100%;height:100%;margin:0;padding:0}.esri-widget--custom{cursor:pointer;background-image:url(https://mapas.bogota.gov.co/images/basemap/Mapa-Base.jpg);background-position:50%;background-size:cover;border:3px solid #fff;border-radius:.6rem;width:10rem;height:10rem;transition:transform .2s,box-shadow .2s;display:block;box-shadow:0 4px 12px #00000040}.esri-widget--custom:hover{transform:scale(1.03)}.esri-icon-custom{width:3.2rem;height:3.2rem;position:relative}.esri-icon-custom:before{content:"";background-image:url(/iconTm.png);background-position:50%;background-size:cover;width:3.2rem;height:3.2rem;position:absolute;top:0;left:0}.esri-view-user-storage{display:none!important}@media (width<=768px){.esri-ui-top-right{top:calc(.8rem + env(safe-area-inset-top,0px))!important;right:calc(.8rem + env(safe-area-inset-right,0px))!important}.esri-ui-bottom-right{bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))!important;right:calc(1rem + env(safe-area-inset-right,0px))!important}.esri-widget--custom{border:2px solid #fff;border-radius:.8rem;width:4.8rem;height:4.8rem}.esri-widget--button{width:4.2rem!important;height:4.2rem!important;line-height:4.2rem!important}.esri-popup{margin-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}}body.dark-theme #map,body.dark-theme .esri-view-root{background-color:#121214!important}body.dark-theme .esri-widget--button,body.dark-theme .esri-widget,body.dark-theme .esri-menu,body.dark-theme .esri-search{color:#f4f4f6!important;background-color:#242427!important;border-color:#38383e!important;box-shadow:0 1px 4px #00000073!important}body.dark-theme .esri-widget--button:hover,body.dark-theme .esri-widget--button:focus,body.dark-theme .esri-widget--button:active{color:#fff!important;background-color:#323236!important}body.dark-theme .esri-widget--button span,body.dark-theme .esri-widget--button svg{color:#f4f4f6!important;stroke:#f4f4f6!important}body.dark-theme .esri-widget--custom{border:3px solid #38383e;box-shadow:0 4px 12px #0009}body.dark-theme .esri-popup__main-container{border:1px solid #38383e;color:#f4f4f6!important;background-color:#202024!important}body.dark-theme .esri-popup__header-title{color:#fff!important}body.dark-theme .esri-popup__content{color:#d1d5db!important}body.dark-theme .esri-popup__button{color:#9ca3af!important}body.dark-theme .esri-popup__button:hover{color:#fff!important;background-color:#2d2d32!important}body.dark-theme .esri-popup__pointer-direction{background-color:#202024!important}.menu{z-index:20;box-sizing:border-box;background-color:#fff;width:0;height:100dvh;transition:width .3s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0;box-shadow:3px 0 10px #0003}.menu .menu-margin{width:92%;margin:0 auto}.menu .menu-content{flex-direction:column;width:100%;height:100%;display:none;position:relative;overflow:hidden}.menu .menu-content .menu-header{width:100%;padding-top:calc(1.2rem + env(safe-area-inset-top,0px));color:#fff;background-color:#000;flex-shrink:0;padding-bottom:1.2rem}.menu .menu-content .menu-header .menu-header-content{justify-content:space-between;align-items:center;gap:1rem;display:flex}.menu .menu-content .menu-header .menu-header-content .menu-header-actions{align-items:center;gap:.4rem;display:flex}.menu .menu-content .menu-header .menu-header-content .btn-theme,.menu .menu-content .menu-header .menu-header-content .btn-close{cursor:pointer;color:#fff;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:4rem;min-width:4rem;height:4rem;min-height:4rem;font-size:2rem;transition:background-color .2s,transform .1s;display:flex}:is(.menu .menu-content .menu-header .menu-header-content .btn-theme,.menu .menu-content .menu-header .menu-header-content .btn-close):hover,:is(.menu .menu-content .menu-header .menu-header-content .btn-theme,.menu .menu-content .menu-header .menu-header-content .btn-close):active{background-color:#fff3}.menu .menu-content .menu-body{-webkit-overflow-scrolling:touch;flex:1;padding:1.5rem 0 3rem;overflow-y:auto}.menu .menu-content .main-footer{width:100%;padding-top:.8rem;padding-bottom:calc(.8rem + env(safe-area-inset-bottom,0px));color:#9ca3af;text-align:center;background-color:#000;flex-shrink:0;font-size:1.1rem;line-height:1.4;position:relative}.menu .menu-button{pointer-events:auto;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:100%}.menu .menu-button .button{cursor:pointer;background-color:#000;border:none;border-radius:0 .8rem .8rem 0;justify-content:center;align-items:center;width:0;height:18rem;transition:width .3s,background-color .2s;display:flex;box-shadow:2px 0 8px #0003}.menu .menu-button .button:hover,.menu .menu-button .button:active{background-color:#1f2937}.menu .menu-button .show{width:4rem}.menu.show{width:34rem}.menu.show .menu-content{display:flex}.menu-backdrop{display:none}.tabs{gap:.8rem;margin-bottom:1.5rem;display:flex}.tabs .tab{color:#374151;cursor:pointer;background-color:#f3f4f6;border:.1rem solid #d1d5db;border-radius:.8rem;flex:1;justify-content:center;align-items:center;gap:.7rem;min-height:4.4rem;padding:.8rem 1.2rem;font-size:1.45rem;font-weight:600;transition:all .2s;display:flex}.tabs .tab:hover{background-color:#e5e7eb}.tabs .tab:active{transform:scale(.98)}.tabs .tab-indicator{border-radius:50%;flex-shrink:0;width:.8rem;height:.8rem;transition:background-color .2s;display:inline-block}.tabs .indicator-tm{background-color:#cc1818}.tabs .indicator-zonal{background-color:#005aa9}.tabs .tab-transmilenio.selected{color:#fff;background-color:#cc1818;border-color:#cc1818;box-shadow:0 3px 8px #cc181859}.tabs .tab-transmilenio.selected .tab-indicator{background-color:#fff}.tabs .tab-transmizonal.selected{color:#fff;background-color:#005aa9;border-color:#005aa9;box-shadow:0 3px 8px #005aa959}.tabs .tab-transmizonal.selected .tab-indicator{background-color:#fff}.view-switcher{background-color:#f3f4f6;border-radius:.8rem;gap:.4rem;margin-bottom:1.2rem;padding:.3rem;display:flex}.view-switcher .switch-btn{color:#4b5563;cursor:pointer;background:0 0;border:none;border-radius:.6rem;flex:1;justify-content:center;align-items:center;min-height:3.4rem;font-size:1.3rem;font-weight:600;transition:all .2s;display:flex}.view-switcher .switch-btn:hover{color:#111827}.view-switcher .switch-btn.active{color:#cc1818;background-color:#fff;box-shadow:0 1px 3px #0000001f}.view-switcher .switch-btn.active.active-zonal{color:#005aa9}.menu-tip-card{border-radius:.8rem;margin-bottom:1.2rem;padding:1rem 1.2rem;box-shadow:0 2px 6px #0000000d}.menu-tip-card .tip-header{align-items:center;gap:.8rem;margin-bottom:.4rem;display:flex}.menu-tip-card .tip-header .tip-badge{letter-spacing:.04em;text-transform:uppercase;color:#fff;border-radius:.4rem;padding:.2rem .6rem;font-size:1rem;font-weight:700}.menu-tip-card .tip-header .tip-badge.tm{background-color:#cc1818}.menu-tip-card .tip-header .tip-badge.zonal{background-color:#005aa9}.menu-tip-card .tip-header h4{margin:0;font-size:1.35rem;font-weight:700}.menu-tip-card .tip-desc{margin:0;font-size:1.25rem;line-height:1.4}.menu-tip-card.tm-tip{background:linear-gradient(135deg,#fff5f5 0%,#fee2e2 100%);border:1px solid #fecaca}.menu-tip-card.tm-tip .tip-header h4{color:#991b1b}.menu-tip-card.tm-tip .tip-desc{color:#b91c1c}.menu-tip-card.zonal-tip{background:linear-gradient(135deg,#f0f7ff 0%,#e0f2fe 100%);border:1px solid #bae6fd}.menu-tip-card.zonal-tip .tip-header h4{color:#0c4a6e}.menu-tip-card.zonal-tip .tip-desc{color:#0369a1}.transmizonal-container{flex-direction:column;display:flex}.transmizonal-container .zonal-info-card{background:linear-gradient(135deg,#f0f7ff 0%,#e0f2fe 100%);border:1px solid #bae6fd;border-radius:.8rem;margin-bottom:1.4rem;padding:1.2rem 1.4rem;box-shadow:0 2px 6px #005aa914}.transmizonal-container .zonal-info-card .zonal-info-header{align-items:center;gap:.8rem;margin-bottom:.4rem;display:flex}.transmizonal-container .zonal-info-card .zonal-info-header .zonal-badge{color:#fff;letter-spacing:.05em;text-transform:uppercase;background-color:#005aa9;border-radius:.4rem;padding:.2rem .6rem;font-size:1rem;font-weight:700}.transmizonal-container .zonal-info-card .zonal-info-header h4{color:#0c4a6e;margin:0;font-size:1.4rem;font-weight:700}.transmizonal-container .zonal-info-card .zonal-info-desc{color:#0369a1;margin:.4rem 0 .8rem;font-size:1.25rem;line-height:1.4}.transmizonal-container .zonal-info-card .zonal-future-tag{color:#0284c7;background:#ffffffbf;border:1px dashed #7dd3fc;border-radius:.4rem;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:1.15rem;font-weight:500;display:inline-flex}@media (width<=768px){.menu-backdrop{z-index:15;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000073;display:block;position:fixed;inset:0}.menu{z-index:25;width:0;max-width:100vw;position:fixed}.menu.show{width:100%;max-width:100vw}.menu .menu-button{top:auto;bottom:calc(2rem + env(safe-area-inset-bottom,0px));left:calc(1.5rem + env(safe-area-inset-left,0px));z-index:10;position:fixed;right:auto}.menu .menu-button .button{border-radius:50%;height:5rem;box-shadow:0 4px 14px #00000059}.menu .menu-button .show{width:5rem}}body.dark-theme .menu{background-color:#18181b;box-shadow:4px 0 18px #00000080}body.dark-theme .tabs .tab{color:#d4d4d8;background-color:#27272a;border-color:#38383e}body.dark-theme .tabs .tab:hover{color:#fff;background-color:#323236}body.dark-theme .tabs .tab-transmilenio.selected{color:#fff;background-color:#cc1818;border-color:#cc1818;box-shadow:0 3px 8px #cc181880}body.dark-theme .tabs .tab-transmizonal.selected{color:#fff;background-color:#005aa9;border-color:#005aa9;box-shadow:0 3px 8px #005aa980}body.dark-theme .view-switcher{background-color:#27272a}body.dark-theme .view-switcher .switch-btn{color:#a1a1aa}body.dark-theme .view-switcher .switch-btn:hover{color:#f4f4f5}body.dark-theme .view-switcher .switch-btn.active{color:#fca5a5;background-color:#3f3f46;box-shadow:0 1px 3px #0000004d}body.dark-theme .view-switcher .switch-btn.active.active-zonal{color:#93c5fd}body.dark-theme .transmizonal-container .zonal-info-card{background:linear-gradient(135deg,#0c2340 0%,#0f172a 100%);border-color:#1e3a8a;box-shadow:0 2px 6px #0006}body.dark-theme .transmizonal-container .zonal-info-header h4{color:#93c5fd}body.dark-theme .transmizonal-container .zonal-info-desc{color:#60a5fa}body.dark-theme .transmizonal-container .zonal-future-tag{color:#38bdf8;background:#0f172ab3;border-color:#0369a1}body.dark-theme .menu-tip-card.tm-tip{background:linear-gradient(135deg,#2b1114 0%,#1c0d0f 100%);border-color:#7f1d1d;box-shadow:0 2px 6px #0006}body.dark-theme .menu-tip-card.tm-tip .tip-header h4{color:#fca5a5}body.dark-theme .menu-tip-card.tm-tip .tip-desc{color:#f87171}body.dark-theme .menu-tip-card.zonal-tip{background:linear-gradient(135deg,#0c2340 0%,#0f172a 100%);border-color:#1e3a8a;box-shadow:0 2px 6px #0006}body.dark-theme .menu-tip-card.zonal-tip .tip-header h4{color:#93c5fd}body.dark-theme .menu-tip-card.zonal-tip .tip-desc{color:#60a5fa}.search-container{width:100%;position:relative}.search{color:#111827;box-sizing:border-box;background-color:#fff;border:.15rem solid #d1d5db;border-radius:.6rem;outline:none;width:100%;min-height:4.4rem;padding:1rem 4rem 1rem 1.2rem;font-size:1.5rem;transition:border-color .2s,box-shadow .2s}.search:focus{border-color:#cc1818;box-shadow:0 0 0 2px #cc181833}.search-clear-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:3.2rem;height:3.2rem;font-size:1.6rem;transition:background-color .15s,color .15s;display:flex;position:absolute;top:.6rem;right:.8rem}.search-clear-btn:hover,.search-clear-btn:active{color:#111827;background-color:#f3f4f6}.list{margin:0;padding:0;list-style:none}.list .item{cursor:pointer;border-bottom:1px solid #f3f4f6;border-radius:.8rem;align-items:center;min-height:4.8rem;margin-bottom:.4rem;padding:.4rem .6rem;transition:background-color .15s,transform .15s,border-color .15s;display:flex}.list .item:last-of-type{border-bottom:none}.list .item:active{background-color:#e5e7eb;transform:scale(.99)}@media (hover:hover){.list .item:hover{background-color:#f3f4f6}}.item-button{all:unset;cursor:pointer;width:100%;display:block}.item-container{box-sizing:border-box;align-items:center;width:100%;display:flex}.item-container p{text-align:left;color:#111827;word-break:break-word;flex:1;margin:0;font-size:1.5rem;font-weight:500;line-height:1.3}.item-container svg{color:#9ca3af;flex-shrink:0;margin-left:.6rem;font-size:2.2rem;transition:transform .15s,color .15s}.item:hover .item-container svg{color:#111827;transform:translate(2px)}.letra{color:#fff;border-radius:.6rem;flex-shrink:0;justify-content:center;align-items:center;width:2.8rem;min-width:2.8rem;height:2.8rem;min-height:2.8rem;margin-right:1.2rem;font-size:1.4rem;font-weight:700;display:flex;box-shadow:0 2px 4px #00000026}.spinner{justify-content:center;margin-top:30px;display:flex}.spinning{animation:1s linear infinite spinner}@keyframes spinner{to{transform:rotate(360deg)}}.list-estaciones-wrapper{margin-top:1rem}.list-estaciones-header{border-bottom:2px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.list-estaciones-header b{color:#111827;font-size:1.6rem;font-weight:700}.station-count-badge{color:#4b5563;background-color:#f3f4f6;border-radius:1.2rem;padding:.3rem .8rem;font-size:1.2rem;font-weight:600}.estaciones-search-container{align-items:center;margin-bottom:1.2rem;display:flex;position:relative}.estaciones-search-icon{color:#9ca3af;pointer-events:none;font-size:1.8rem;position:absolute;left:1rem}.estaciones-search-input{box-sizing:border-box;background-color:#fff;border:1.5px solid #d1d5db;border-radius:.8rem;outline:none;width:100%;min-height:4.2rem;padding:.8rem 3.4rem;font-size:1.4rem;transition:border-color .2s,box-shadow .2s}.estaciones-search-input:focus{border-color:#cc1818;box-shadow:0 0 0 2px #cc181826}.estaciones-search-clear{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.8rem;height:2.8rem;font-size:1.4rem;display:flex;position:absolute;right:.8rem}.estaciones-search-clear:hover,.estaciones-search-clear:active{color:#111827;background-color:#f3f4f6}.list-estaciones{margin-top:.5rem}.point{border-radius:50%;flex-shrink:0;width:1.6rem;min-width:1.6rem;height:1.6rem;min-height:1.6rem;margin-right:1.2rem;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #00000026}.station-name-strikethrough{color:#d32f2f;font-weight:600;text-decoration:line-through}.station-alert-badge{vertical-align:middle;cursor:help;margin-left:.6rem;font-size:1.3rem;display:inline-block}.no-filtered-results{text-align:center;color:#6b7280;background-color:#f9fafb;border:1px dashed #d1d5db;border-radius:.8rem;margin-top:1rem;padding:2.5rem 1rem;font-size:1.4rem}.center{text-align:center;justify-content:center;align-items:center;margin-top:3rem;display:flex}.center img{opacity:.5;width:6rem;height:6rem;margin-bottom:1rem}.center p{color:#6b7280;font-size:1.4rem}.back-button{cursor:pointer;box-sizing:border-box;background-color:#f9fafb;border:1.5px solid #e5e7eb;border-radius:.8rem;align-items:center;width:100%;min-height:4.6rem;margin-bottom:1.4rem;padding:.8rem 1.2rem;transition:all .15s;display:flex;box-shadow:0 1px 3px #0000000d}.back-button:hover{background-color:#f3f4f6;border-color:#d1d5db}.back-button:active{background-color:#e5e7eb;transform:scale(.99)}.back-button svg{color:#cc1818;flex-shrink:0;margin-right:.4rem;font-size:2.4rem}.back-button .back-button-text{color:#111827;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.5rem;font-weight:700;overflow:hidden}.route{color:#fff;cursor:pointer;text-shadow:0 1px 2px #000000b3;border:1px solid #00000026;border-radius:10%;justify-content:center;align-items:center;min-width:60px;max-width:60px;padding:.5rem;font-weight:700;display:flex}.station-container{margin-top:1.5rem}.station-container>div{border-top:1px solid #e5e7eb;padding:1.5rem 0}.station-container b{color:#111827;margin-bottom:.8rem;font-size:1.6rem;font-weight:700;display:block}.routes-container{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.8rem;margin-top:1rem;display:grid}.routes-container button{cursor:pointer;border-radius:.6rem;transition:transform .15s}.routes-container button:active{transform:scale(.95)}.no-routes{color:#6b7280;background-color:#f9fafb;border:1px dashed #d1d5db;border-radius:.6rem;align-items:center;gap:.8rem;margin:.8rem 0 .4rem;padding:1rem 1.2rem;font-size:1.35rem;font-weight:500;display:flex}.no-routes-icon{color:#9ca3af;flex-shrink:0;font-size:1.8rem}.station-info-container{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.8rem;margin-top:.8rem;padding:1.2rem}.station-info-container p{color:#374151;margin-bottom:.4rem;font-size:1.4rem;line-height:1.6}.station-info-container p:last-child{margin-bottom:0}.station-service-item{border-top:1px dashed #e5e7eb;align-items:flex-start;gap:1rem;margin-top:1rem;padding-top:.8rem;display:flex}.station-service-item .service-icon{flex-shrink:0;margin-top:.2rem;font-size:2.2rem}.station-service-item .icon-bike{color:#059669}.station-service-item .icon-pin{color:#dc2626}.station-service-item .icon-access{color:#2563eb}.station-service-item .icon-elevator{color:#7c3aed}.station-service-item .service-title{color:#1f2937;font-size:1.3rem;font-weight:700;display:block}.station-service-item .service-desc{color:#4b5563;font-size:1.3rem;margin:.2rem 0 0!important}.access-tags{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.access-tag{color:#1e40af;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:.4rem;padding:.2rem .7rem;font-size:1.15rem;font-weight:500}.cable-service-banner{background:linear-gradient(135deg,#f0fdf4 0%,#e8f5e9 100%);border:1px solid #86efac;border-radius:.8rem;align-items:center;gap:1.2rem;margin-top:.8rem;margin-bottom:1rem;padding:1.2rem 1.4rem;display:flex}.cable-service-icon{color:#16a34a;flex-shrink:0;font-size:2.8rem}.cable-service-badge{color:#fff;text-transform:uppercase;background-color:#16a34a;border-radius:.4rem;margin-bottom:.3rem;padding:.2rem .6rem;font-size:1.1rem;font-weight:700;display:inline-block}.cable-frequency-text{color:#166534;font-size:1.35rem;font-weight:600;margin:0!important}.icon-cable{color:#16a34a}.info-route-container{margin-top:2rem}.info-route-container .info{border-top:1px solid #e1e1e1;padding:1rem 0}.info-container p{margin:1rem 0}.info-label{color:#fff;text-align:center;background-color:#000;border-radius:20%;width:3.7rem;padding:.5rem;font-weight:700;display:inline-block}.route-stations-item{align-items:center;display:flex}.portal-point{background-color:#fff;border:.2rem solid #000;border-radius:50%;width:1rem;height:1rem;margin-right:1rem}.point{background-color:#000;border:.2rem solid #000;border-radius:50%;width:1rem;height:1rem;margin-right:1rem}.list-zonas-empty{text-align:center;color:#6b7280;padding:1.6rem;font-size:1.4rem}.zona-info{text-align:left;flex:1;margin-left:.8rem;overflow:hidden}.zona-nombre{color:#111827;margin:0;font-size:1.4rem;font-weight:600}.zona-sector{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;margin:.2rem 0 0;font-size:1.2rem;overflow:hidden}.item-button.selected-zona{background-color:#e5e7eb}.item-button.selected-zona .zona-nombre{color:#000;font-weight:700}.seachlist{margin-top:1rem;padding:0;list-style:none}.seachlist .seachlist__item{cursor:pointer;box-sizing:border-box;border-bottom:1px solid #f3f4f6;border-radius:.8rem;align-items:center;width:100%;min-height:4.6rem;margin:.3rem 0;padding:.6rem .8rem;transition:background-color .15s;display:flex}.seachlist .seachlist__item:hover{background-color:#f3f4f6}.seachlist .seachlist__item .route{flex-shrink:0;margin-right:1.2rem}.seachlist .seachlist__item p{text-align:left;color:#111827;word-break:break-word;flex:1;margin:0;font-size:1.45rem;font-weight:500;line-height:1.3}.seachlist .message{color:#6b7280;text-align:left;background:0 0;border:none;padding:1rem 0;font-size:1.3rem;line-height:1.5}body.dark-theme .seachlist .seachlist__item{border-bottom-color:#27272a}body.dark-theme .seachlist .seachlist__item:hover{background-color:#27272a}body.dark-theme .seachlist .seachlist__item p{color:#fff!important}.layer-control-container{z-index:15;-webkit-user-select:none;user-select:none;pointer-events:auto;font-family:inherit;position:absolute;top:1.5rem;right:5.8rem}.layer-trigger-btn{-webkit-backdrop-filter:blur(12px);color:#1f2937;cursor:pointer;background:#fffffff2;border:1px solid #0000001f;border-radius:.8rem;outline:none;align-items:center;gap:.7rem;height:3.4rem;padding:0 1.2rem;font-size:1.35rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 3px 12px #0000001f,0 1px 3px #0000000f}.layer-trigger-btn:hover{color:#000;background:#fff;border-color:#0003;transform:translateY(-1px);box-shadow:0 5px 16px #00000029}.layer-trigger-btn:active{transform:scale(.97)}.layer-trigger-btn.active{color:#fff;background:#000;border-color:#000;box-shadow:0 4px 14px #00000040}.layer-icon{flex-shrink:0;transition:transform .2s}.layer-trigger-btn:hover .layer-icon{transform:scale(1.08)}.layer-trigger-label{letter-spacing:-.01em;font-size:1.35rem;font-weight:600}.layer-count-badge{color:#374151;background:#e5e7eb;border-radius:9999px;justify-content:center;align-items:center;min-width:1.8rem;height:1.8rem;padding:0 .4rem;font-size:1.1rem;font-weight:700;transition:all .2s;display:inline-flex}.layer-trigger-btn.active .layer-count-badge{color:#000;background:#fff}.layer-popover{-webkit-backdrop-filter:blur(16px);box-sizing:border-box;z-index:30;background:#fffffffa;border:1px solid #0000001a;border-radius:1.2rem;width:27rem;padding:1.2rem 1.4rem 1.4rem;animation:.2s cubic-bezier(.16,1,.3,1) popoverFadeIn;position:absolute;top:calc(100% + .8rem);right:0;box-shadow:0 10px 30px #00000026,0 2px 8px #0000000f}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.layer-popover-header{border-bottom:1px solid #00000012;justify-content:space-between;align-items:flex-start;margin-bottom:1.2rem;padding-bottom:.8rem;display:flex}.layer-popover-title-box{flex-direction:column;gap:.2rem;display:flex}.layer-popover-title{color:#111827;letter-spacing:-.01em;font-size:1.4rem;font-weight:700}.layer-popover-subtitle{color:#6b7280;font-size:1.15rem}.layer-popover-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;font-size:1.3rem;transition:all .15s;display:flex}.layer-popover-close:hover{color:#111827;background:#0000000f}.layer-list{flex-direction:column;gap:.6rem;display:flex}.layer-item-btn{cursor:pointer;text-align:left;box-sizing:border-box;background:#f9fafb;border:1px solid #0000000d;border-radius:.9rem;outline:none;justify-content:space-between;align-items:center;width:100%;padding:.85rem 1rem;transition:all .18s;display:flex}.layer-item-btn:hover{background:#f3f4f6;border-color:#0000001a;transform:translate(2px)}.layer-item-btn:active{transform:scale(.99)}.layer-item-left{align-items:center;gap:1rem;display:flex}.layer-item-text{flex-direction:column;gap:.15rem;display:flex}.layer-item-name{color:#1f2937;font-size:1.3rem;font-weight:600;line-height:1.2}.layer-item-desc{color:#6b7280;font-size:1.1rem;line-height:1.2}.layer-dot{background-color:#d1d5db;border-radius:50%;flex-shrink:0;width:1.1rem;height:1.1rem;transition:all .2s}.layer-item-btn.tm.active{background:#ef44440f;border-color:#ef444440}.layer-item-btn.tm.active .tm-dot{background-color:#dc2626;box-shadow:0 0 6px #dc262699}.layer-item-btn.tm.active .layer-item-name{color:#dc2626}.layer-item-btn.zonal.active{background:#3b82f60f;border-color:#3b82f640}.layer-item-btn.zonal.active .zonal-dot{background-color:#2563eb;box-shadow:0 0 6px #2563eb99}.layer-item-btn.zonal.active .layer-item-name{color:#2563eb}.layer-item-btn.metro.active{background:#f59e0b14;border-color:#dc26264d}.metro-dot{color:#9ca3af;width:auto;height:auto;font-size:1.3rem;font-weight:700;line-height:1;background:0 0!important}.layer-item-btn.metro.active .metro-dot{color:#dc2626;filter:drop-shadow(0 0 3px #f59e0bcc)}.layer-item-btn.metro.active .layer-item-name{color:#b91c1c}.layer-item-btn.novedades.active{background:#f59e0b14;border-color:#f59e0b4d}.novedades-dot{width:auto;height:auto;font-size:1.3rem;line-height:1;background:0 0!important}.layer-item-btn.novedades.active .layer-item-name{color:#d97706}.layer-switch{background:#d1d5db;border-radius:9999px;flex-shrink:0;width:3.6rem;height:2rem;transition:background-color .22s;position:relative}.layer-switch-handle{background:#fff;border-radius:50%;width:1.6rem;height:1.6rem;transition:transform .22s cubic-bezier(.4,0,.2,1);position:absolute;top:.2rem;left:.2rem;box-shadow:0 1px 3px #00000040}.layer-switch.on{background:#10b981}.layer-item-btn.tm .layer-switch.on{background:#dc2626}.layer-item-btn.zonal .layer-switch.on{background:#2563eb}.layer-item-btn.metro .layer-switch.on{background:#ea580c}.layer-item-btn.novedades .layer-switch.on{background:#f59e0b}.layer-switch.on .layer-switch-handle{transform:translate(1.6rem)}body.dark-theme .layer-trigger-btn{color:#f3f4f6;background:#18181bf2;border-color:#ffffff26;box-shadow:0 4px 16px #00000080}body.dark-theme .layer-trigger-btn:hover{background:#27272a;border-color:#ffffff40}body.dark-theme .layer-trigger-btn.active{color:#000;background:#fff;border-color:#fff}body.dark-theme .layer-count-badge{color:#e5e7eb;background:#374151}body.dark-theme .layer-trigger-btn.active .layer-count-badge{color:#fff;background:#111827}body.dark-theme .layer-popover{background:#18181bf7;border-color:#ffffff24;box-shadow:0 12px 36px #000000a6}body.dark-theme .layer-popover-header{border-bottom-color:#ffffff1a}body.dark-theme .layer-popover-title{color:#f9fafb}body.dark-theme .layer-popover-subtitle{color:#9ca3af}body.dark-theme .layer-popover-close{color:#6b7280}body.dark-theme .layer-popover-close:hover{color:#f9fafb;background:#ffffff14}body.dark-theme .layer-item-btn{background:#27272a;border-color:#ffffff0f}body.dark-theme .layer-item-btn:hover{background:#323236;border-color:#ffffff1f}body.dark-theme .layer-item-name{color:#f3f4f6}body.dark-theme .layer-item-desc{color:#9ca3af}body.dark-theme .layer-item-btn.tm.active{background:#dc262626;border-color:#f8717159}body.dark-theme .layer-item-btn.tm.active .layer-item-name{color:#f87171}body.dark-theme .layer-item-btn.zonal.active{background:#2563eb26;border-color:#60a5fa59}body.dark-theme .layer-item-btn.zonal.active .layer-item-name{color:#60a5fa}body.dark-theme .layer-item-btn.metro.active{background:#f59e0b26;border-color:#ef444459}body.dark-theme .layer-item-btn.metro.active .layer-item-name{color:#fde047}body.dark-theme .layer-item-btn.novedades.active{background:#f59e0b2e;border-color:#fbbf2466}body.dark-theme .layer-item-btn.novedades.active .layer-item-name{color:#fbbf24}body.dark-theme .layer-switch{background:#4b5563}@media (width<=768px){.layer-control-container{top:calc(.8rem + env(safe-area-inset-top,0px));right:calc(6.2rem + env(safe-area-inset-right,0px))}.layer-trigger-btn{border-radius:.8rem;gap:.5rem;height:4.2rem;padding:0 1.1rem}.layer-trigger-label{display:none}.layer-popover{top:calc(5.8rem + env(safe-area-inset-top,0px));right:calc(.8rem + env(safe-area-inset-right,0px));width:calc(100vw - 2rem);max-width:30rem;position:fixed}}main{display:block}h1{margin:.67em 0;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}a{background-color:#0000}abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:monospace;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}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring{outline:1px dotted buttontext}[type=button]:-moz-focusring{outline:1px dotted buttontext}[type=reset]:-moz-focusring{outline:1px dotted buttontext}[type=submit]:-moz-focusring{outline:1px dotted buttontext}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;white-space:normal;max-width:100%;padding:0;display:table}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;appearance:button;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template,[hidden]{display:none}html{box-sizing:border-box;-webkit-text-size-adjust:100%;font-size:62.5%;line-height:1.15}*,:before,:after{box-sizing:inherit}*{margin:0;padding:0}body{margin:0;font-family:Roboto,sans-serif;font-size:1.6rem}h1,h2,h3,h4{margin:0;padding:0}html,body,#root{width:100%;height:100dvh;margin:0;padding:0;position:relative;overflow:hidden}body.dark-theme{color:#f4f4f5;background-color:#121214}body.dark-theme .menu{color:#f4f4f5;background-color:#18181b}body.dark-theme .menu .menu-button .button{background-color:#18181b;border:1px solid #27272a;border-left:none}body.dark-theme .menu .menu-button .button:hover{background-color:#27272a}body.dark-theme .search,body.dark-theme .estaciones-search-input{color:#f4f4f5!important;background-color:#27272a!important;border-color:#3f3f46!important}body.dark-theme .search::placeholder,body.dark-theme .estaciones-search-input::placeholder{color:#71717a}body.dark-theme .search:focus,body.dark-theme .estaciones-search-input:focus{border-color:#cc1818!important;box-shadow:0 0 0 2px #cc18184d!important}body.dark-theme .search-clear-btn,body.dark-theme .estaciones-search-clear{color:#a1a1aa}body.dark-theme .search-clear-btn:hover,body.dark-theme .estaciones-search-clear:hover{color:#fff;background-color:#3f3f46}body.dark-theme .estaciones-search-icon{color:#71717a}body.dark-theme .list .item{border-bottom-color:#27272a}body.dark-theme .list .item:hover{background-color:#27272a}body.dark-theme .list .item:active{background-color:#3f3f46}body.dark-theme .item-container p{color:#f4f4f5}body.dark-theme .item-container svg{color:#71717a}body.dark-theme .item:hover .item-container svg{color:#f4f4f5}body.dark-theme .seachlist .seachlist__item{border-bottom-color:#27272a}body.dark-theme .seachlist .seachlist__item:hover{background-color:#27272a}body.dark-theme .seachlist .seachlist__item p{color:#fff!important}body.dark-theme .seachlist .message{color:#a1a1aa}body.dark-theme .back-button{color:#fff;background-color:#27272a;border-color:#3f3f46}body.dark-theme .back-button:hover{background-color:#323236;border-color:#52525b}body.dark-theme .back-button .back-button-text{color:#fff!important}body.dark-theme .route-stations-item{color:#f4f4f5}body.dark-theme .info-route-container b,body.dark-theme .route-stations b{color:#fff}body.dark-theme .list-estaciones-header{border-bottom-color:#27272a}body.dark-theme .list-estaciones-header b,body.dark-theme .station-container b{color:#f4f4f5}body.dark-theme .station-count-badge{color:#d4d4d8;background-color:#27272a}body.dark-theme .station-info-container,body.dark-theme .no-routes,body.dark-theme .no-filtered-results{color:#d4d4d8;background-color:#27272a;border-color:#3f3f46}body.dark-theme .station-info-container p{color:#d4d4d8}body.dark-theme .station-container>div{border-top-color:#27272a}body.dark-theme .station-service-item{border-top-color:#3f3f46}body.dark-theme .station-service-item .service-title{color:#f4f4f5}body.dark-theme .station-service-item .service-desc{color:#a1a1aa}body.dark-theme .access-tag{color:#93c5fd;background-color:#1e293b;border-color:#3b82f6}body.dark-theme .cable-service-banner{background:linear-gradient(135deg,#064e3b 0%,#022c22 100%);border-color:#059669}body.dark-theme .cable-frequency-text{color:#a7f3d0}body.dark-theme .info-route-container .info{border-top-color:#27272a}body.dark-theme .portal-point{background-color:#18181b;border-color:#f4f4f5}body.dark-theme .zona-nombre{color:#f4f4f5}body.dark-theme .zona-sector{color:#a1a1aa}body.dark-theme .item-button.selected-zona{background-color:#27272a}body.dark-theme .item-button.selected-zona .zona-nombre{color:#fff}body.dark-theme .list-zonas-empty{color:#71717a}
