.analytics-shell{position:fixed;overflow:hidden;font-family:var(--sans-font);color:var(--text-main)}.analytics-map,.analytics-shell{inset:0;background:var(--bg-page)}.analytics-map{position:absolute;z-index:1}.maplibregl-canvas-container.crosshair,.maplibregl-canvas-container.crosshair canvas{cursor:crosshair!important}.glass{background:var(--panel-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))}.map-controls{position:absolute;top:24px;left:24px;z-index:10;display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 48px);overflow-y:auto;scrollbar-width:none}.map-controls::-webkit-scrollbar{display:none}.api-blink{width:8px;height:8px;border-radius:50%;background:var(--green);opacity:0;align-self:center;pointer-events:none}.api-blink.flash{animation:apiBlink .3s ease-out forwards}@keyframes apiBlink{0%{opacity:1;transform:scale(1.6);box-shadow:0 0 8px var(--green)}to{opacity:0;transform:scale(1);box-shadow:none}}.legend-box{background:var(--panel-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--card-border);border-radius:22px;padding:6px;display:flex;flex-direction:column;gap:2px;width:52px;transition:width .3s cubic-bezier(.4,0,.2,1);will-change:width;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,32,.04),0 10px 24px rgba(15,23,32,.06)}.legend-box:hover{width:240px}.legend-section-title{opacity:0;font-size:10px;text-transform:uppercase;font-weight:800;color:var(--text-sub);padding:8px 16px 4px;white-space:nowrap;transition:opacity .2s;height:0;overflow:hidden}.legend-box:hover .legend-section-title{opacity:1;height:auto}.legend-row{display:flex;align-items:center;height:40px;min-height:40px;border-radius:16px;cursor:pointer;color:var(--text-sub);font-weight:600;font-size:12px;white-space:nowrap;transition:all .2s;border:0;background:transparent;width:100%;text-align:left;font-family:inherit;text-decoration:none}.legend-row:hover{background:var(--card-bg);color:var(--text-main)}.legend-row.active{background:var(--primary);color:var(--primary-ink);box-shadow:none}.legend-row:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.legend-row .icon{min-width:40px;display:flex;align-items:center;justify-content:center;font-size:13px}.legend-row .label{opacity:0;transform:translateX(-10px);transition:all .3s ease;padding-right:20px}.legend-box:hover .legend-row .label{opacity:1;transform:translateX(0)}.status-overlay{position:absolute;top:24px;left:50%;transform:translateX(-50%);z-index:11;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:12px;padding:10px 20px;font-size:13px;font-weight:600;pointer-events:none;text-align:center;white-space:nowrap}.status-overlay.bunching{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);color:#ef4444}.status-overlay.congestion{background:rgba(232,185,49,.14);border:1px solid rgba(232,185,49,.35);color:#b7791f}html[data-theme=dark] .status-overlay.congestion{color:var(--orange)}.sidebar-overlay{position:absolute;right:20px;top:20px;bottom:20px;width:340px;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;z-index:10;border-radius:16px;background:var(--solid-panel);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--card-border);box-shadow:var(--shadow);transition:width .35s var(--ease)}html[data-theme=dark] .sidebar-overlay{background:var(--solid-panel);border-color:var(--card-border)}.sidebar-overlay.expanded{width:620px}.sidebar-overlay.expanded .stat-grid{grid-template-columns:repeat(2,1fr)}.sidebar-overlay::-webkit-scrollbar{width:6px}.sidebar-overlay::-webkit-scrollbar-thumb{background:var(--text-sub);border-radius:10px}.dash-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.dash-header .eyebrow{font-size:9px;font-weight:600;color:var(--text-sub);text-transform:uppercase;letter-spacing:1px;opacity:.45}.dash-header h1{font-size:16px;font-weight:700;letter-spacing:-.3px;margin:2px 0}.dash-header p{color:var(--text-sub);font-size:11px;line-height:1.3}.study-btn{margin-top:8px;padding:6px 12px;background:var(--primary);border:none;border-radius:6px;color:#fff;font-size:10px;font-weight:700;cursor:pointer}.study-btn.wide{width:100%;margin-top:0;background:transparent;color:var(--text-sub);border:1px dashed var(--card-border);padding:8px}.study-btn.wide:hover{color:var(--text-main);border-color:var(--primary)}.dash-header.compact{align-items:center;padding-bottom:2px}.dash-header.compact h1{font-size:14px;margin:0}.dash-title{min-width:0}.dash-asof{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:10px;font-weight:600;color:var(--text-sub);font-family:var(--mono-font)}.dash-asof .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}.dash-asof .dot.on{background:var(--live);box-shadow:0 0 0 3px color-mix(in srgb,var(--live) 22%,transparent)}.bus-search{position:relative;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--card-bg);border:1px solid var(--card-border)}.bus-search>i{font-size:11px;color:var(--text-sub);flex-shrink:0}.bus-search input{flex:1 1;min-width:0;border:none;background:transparent;outline:none;font-size:12px;font-weight:600;color:var(--text-main)}.bus-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:5;display:flex;flex-direction:column;border-radius:10px;overflow:hidden;background:var(--solid-panel);border:1px solid var(--card-border);box-shadow:0 8px 24px rgba(0,0,0,.18)}.bus-search-results button{display:flex;justify-content:space-between;gap:8px;padding:7px 10px;border:none;background:transparent;cursor:pointer;font-size:11px;font-weight:700;font-family:var(--mono-font);color:var(--text-main);text-align:left}.bus-search-results button:hover{background:var(--card-bg)}.bus-search-empty{padding:8px 10px;font-size:10px;color:var(--text-sub)}.muted-sm{color:var(--text-sub);font-weight:500}.ops-list{display:flex;flex-direction:column;gap:2px;max-height:280px;overflow-y:auto}.ops-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;width:100%;padding:7px 8px;border:0;border-radius:8px;background:transparent;color:var(--text-main);font:inherit;text-align:left;cursor:pointer}.ops-row:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}.ops-row.active{background:color-mix(in srgb,var(--primary) 16%,transparent)}.ops-row.static{cursor:default}.ops-row.static:hover{background:transparent}.ops-row.nested{padding-left:16px}.ops-name{font-size:11px;font-weight:700;min-width:0}.ops-meta{font-size:10px;font-weight:600;font-family:var(--mono-font);flex-shrink:0}.ops-empty,.ops-meta{color:var(--text-sub)}.ops-empty{font-size:11px;padding:8px 4px}.archive-health{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600;color:var(--text-sub);font-family:var(--mono-font)}.archive-health .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}.archive-health .dot.on{background:var(--live);box-shadow:0 0 0 3px color-mix(in srgb,var(--live) 22%,transparent)}.archive-health .dot.warn{background:var(--orange)}.inline-link{color:var(--primary);font-weight:700;text-decoration:underline;margin-left:4px}.dash-card.muted-card{opacity:.82;border-style:dashed}.header-buttons{display:flex;gap:8px}.icon-btn{background:var(--card-bg);border:1px solid var(--card-border);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);color:var(--text-main);flex-shrink:0}.icon-btn:active{transform:scale(.9)}.expand-btn i{transition:transform .5s}.sidebar-overlay.expanded .expand-btn i{transform:rotate(180deg)}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.stat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}.archive-stat{width:100%;cursor:pointer;text-align:left;font:inherit;color:inherit}.archive-stat:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--card-border))}.archive-stat:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.archive-stat .stat-value{font-size:22px;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-today{display:flex;flex-direction:column;gap:1px;margin-top:8px;padding-top:8px;border-top:1px solid var(--card-border)}.archive-today-num{font-family:var(--mono-font);font-weight:600;font-size:15px;color:var(--green);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-hint{font-size:9px;color:var(--text-sub);margin-top:6px}.day-forest{display:flex;flex-direction:column;gap:8px;margin:4px 0 10px}.day-cal-month{font-size:11px;font-weight:700;margin-bottom:4px}.day-cal,.day-cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:3px;gap:3px}.day-cal-week{margin-bottom:3px}.day-cal-week span{text-align:center;font-size:9px;font-weight:700;color:var(--text-sub)}.day-cell{aspect-ratio:1;border:0;border-radius:4px;padding:0;display:grid;place-items:center;font:700 9px var(--mono-font);color:var(--text-sub);background:color-mix(in srgb,var(--text-sub) 16%,transparent);text-decoration:none}.day-cell.future,.day-cell.pad{background:transparent}.day-cell.future{opacity:.4}.day-cell.on,a.day-cell.on,button.day-cell.on{background:var(--green);color:#fff;cursor:pointer}.day-cell.today{outline:2px solid var(--green);outline-offset:1px}.day-forest-note{margin:0;line-height:1.35;font-family:var(--mono-font)}.day-forest-note,.stat-title{font-size:10px;color:var(--text-sub)}.stat-title{font-weight:700;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:20px;font-weight:600;font-family:var(--mono-font);line-height:1.2;display:flex;align-items:baseline;gap:4px}.stat-value.small{font-size:14px}.stat-unit{font-size:12px;font-weight:500;color:var(--text-sub);font-family:var(--sans-font)}.stat-note{font-size:9.5px;color:var(--text-sub);line-height:1.35}.stat-color-blue{color:var(--primary)}.donut-legend{display:flex;justify-content:center;gap:14px;font-size:10px;font-weight:600;color:var(--text-sub);margin-top:4px}.donut-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.dash-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px}.dash-card h3{font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}.dash-foot{font-size:11px;color:var(--text-sub);display:flex;justify-content:space-between;font-weight:500}.dash-foot strong{color:var(--text-main);font-family:var(--mono-font)}.table-container{max-height:250px;overflow-y:auto;border-radius:6px}.dash-table{width:100%;border-collapse:collapse;text-align:left}.dash-table th{position:-webkit-sticky;position:sticky;top:0;background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:10px;font-weight:700;color:var(--text-sub);text-transform:uppercase;padding:6px 4px}.dash-table td,.dash-table th{border-bottom:1px solid var(--card-border)}.dash-table td{font-size:11px;padding:7px 4px;font-family:var(--mono-font)}.dash-table tbody tr{cursor:pointer}.dash-table tbody tr:hover{background:rgba(0,237,100,.05)}.dash-table .bus-no{font-weight:600}.dash-table .bus-route{font-weight:600;color:var(--primary)}.dash-table .empty-row{text-align:center;color:var(--text-sub);font-family:var(--sans-font);cursor:default}.badge-idle{background:rgba(244,63,94,.12);color:#f43f5e;padding:2px 6px;border-radius:8px;font-size:10px;font-weight:700}.feed-foot{font-size:10px;color:var(--text-sub);display:flex;align-items:center;gap:6px;padding:0 4px}.feed-foot .dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.feed-foot .dot.on{background:#22c55e;box-shadow:0 0 6px #22c55e}.config-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;cursor:pointer}.config-row strong{color:var(--primary)}.range{width:100%;accent-color:var(--primary)}.switch{position:relative;display:inline-block;width:32px;height:18px}.switch input{opacity:0;width:0;height:0}.slider-toggle{position:absolute;inset:0;cursor:pointer;background:var(--border-color);border-radius:18px;transition:.3s}.slider-toggle:before{content:"";position:absolute;height:14px;width:14px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:.3s}.switch input:checked+.slider-toggle{background:var(--primary)}.switch input:checked+.slider-toggle:before{transform:translateX(14px)}.mini-btn{align-self:flex-start;padding:5px 10px;border-radius:8px;border:1px solid var(--card-border);background:var(--card-bg);font-size:10px;font-weight:700;cursor:pointer}.mini-list{display:flex;flex-direction:column;gap:4px;font-size:10.5px}.mini-list>button,.mini-list>div{display:flex;justify-content:space-between;gap:8px;padding:5px 8px;border-radius:8px;background:var(--panel-bg);font-family:var(--mono-font);width:100%;border:0;color:inherit;text-align:left;cursor:pointer}.mini-list>button:hover{background:var(--card-bg)}.link-row{display:flex;gap:6px;flex-wrap:wrap}.link-row a{flex:1 1;text-align:center;padding:7px 8px;border-radius:8px;background:var(--panel-bg);border:1px solid var(--card-border);font-size:10px;font-weight:700;color:var(--text-main)}.link-row a i{color:var(--primary);margin-right:4px}.deep-dive{display:flex;flex-direction:column;gap:10px}.deep-dive-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.dd-bus-info{flex:1 1}.dd-bus-no{font-size:18px;font-weight:800;font-family:var(--mono-font)}.dd-route{font-size:11px;color:var(--text-sub);font-weight:600;margin-top:2px}.dd-status-badge{display:inline-block;padding:3px 8px;border-radius:12px;font-size:9px;font-weight:700;letter-spacing:.5px;margin-top:4px}.dd-status-badge.active{background:color-mix(in srgb,var(--live) 16%,transparent);color:var(--live)}.dd-status-badge.idle{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.dd-status-badge.bunched{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.dd-close-btn,.dd-status-badge.offline{background:var(--card-bg);color:var(--text-sub)}.dd-close-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--card-border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;flex-shrink:0}.dd-close-btn:hover{background:var(--primary);color:#fff}.dd-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.dd-stat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:8px;text-align:center}.dd-label{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-sub)}.dd-value{font-size:16px;font-weight:800;font-family:var(--mono-font);margin-top:2px}.dd-meta{font-size:10px;color:var(--text-sub);line-height:1.4}.dd-chart-box{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:10px}.dd-chart-title{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-sub);margin-bottom:6px}.dd-action-row{display:flex;gap:6px}.dd-action-btn{flex:1 1;padding:7px;border-radius:8px;font-size:10px;font-weight:700;cursor:pointer;border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-main);display:flex;align-items:center;justify-content:center;gap:4px;text-decoration:none}.dd-action-btn:hover{background:color-mix(in srgb,var(--primary) 12%,var(--card-bg))}.dd-action-btn.primary{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.dd-action-btn.primary:hover{filter:brightness(1.05)}.dd-action-btn:disabled{opacity:.45;cursor:default}.dd-trip-list{display:flex;flex-direction:column;gap:4px;max-height:160px;overflow-y:auto}.dd-trip{display:grid;grid-template-columns:1fr auto auto;grid-gap:8px;gap:8px;font-size:10px;font-family:var(--mono-font);padding:4px 6px;border-radius:6px;background:var(--panel-bg)}.dd-trip-route{font-weight:700;color:var(--primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-loop{display:grid;grid-template-columns:1.2fr auto 1fr;grid-gap:8px;gap:8px;align-items:baseline;font-size:11px;padding:7px 8px;border-radius:8px;background:var(--panel-bg);margin-bottom:4px}.dd-loop strong{font-family:var(--mono-font)}.dd-history{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.dd-history-row{width:100%;display:grid;grid-template-columns:1.3fr 1fr .9fr 1fr auto;grid-gap:6px;gap:6px;align-items:center;font-size:10px;font-family:var(--mono-font);padding:6px 8px;border-radius:8px;border:1px solid var(--card-border);background:var(--panel-bg);cursor:pointer;text-align:left}.dd-history-date{font-weight:700}.dd-history-detail{padding:8px 4px 4px;display:flex;flex-direction:column;gap:6px}.dd-empty{font-size:10px;color:var(--text-sub);padding:6px}.bus-label-anchor{width:0;height:0;cursor:pointer}.bus-label-anchor .bus-label{display:flex}.bus-label{position:absolute;top:10px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.75);color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;white-space:nowrap;pointer-events:none;flex-direction:column;align-items:center;gap:1px;box-shadow:0 2px 4px rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.2)}.bus-label .route-name{color:#3b82f6;font-size:9px;text-transform:uppercase}html[data-theme=light] .bus-label{background:rgba(255,255,255,.92);color:#1a1d2e;border-color:rgba(0,0,0,.1)}.user-location svg{animation:locPulse 1.8s ease-in-out infinite}@keyframes locPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.8}}.density-canvas{position:absolute;inset:0;pointer-events:none;z-index:2}.bus-popup-body{min-width:170px;font-size:12px}.popup-alert{color:#ef4444;font-weight:800;font-size:13px;margin-bottom:2px}.popup-title{display:flex;align-items:center;gap:6px}.popup-title strong{font-size:14px;font-family:var(--mono-font)}.popup-badge{display:inline-block;padding:1px 6px;border-radius:8px;font-size:8px;font-weight:700}.popup-badge.active{background:color-mix(in srgb,var(--live) 16%,transparent);color:var(--live)}.popup-badge.idle{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.popup-sub{color:var(--text-sub);font-size:11px;margin-top:2px}.popup-speed{font-size:12px;font-weight:700;margin-top:2px}.popup-age{color:var(--text-sub);font-weight:500;font-size:10px}.popup-actions{display:flex;gap:4px;margin-top:6px}.popup-actions button{flex:1 1;min-height:26px;background:var(--card-bg);color:var(--text-main);border:1px solid var(--card-border);padding:4px 6px;border-radius:6px;cursor:pointer;font-size:10px;font-weight:600;transition:background .18s var(--ease),transform .18s var(--ease)}.popup-actions button i{font-size:9px;margin-right:3px}.popup-actions button:hover{background:color-mix(in srgb,var(--primary) 12%,var(--card-bg))}.popup-actions button:active{transform:scale(.98)}.popup-actions button.primary{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.popup-actions button.primary:hover{filter:brightness(1.05)}.map-toolbox{position:absolute;bottom:36px;left:24px;z-index:10;display:flex;gap:6px}.toolbox-btn{position:relative;width:40px;height:40px;border-radius:14px;border:1px solid var(--card-border);background:var(--panel-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));color:var(--text-sub);display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px rgba(0,0,0,.12)}.toolbox-btn:hover{color:var(--text-main);background:var(--card-bg);transform:translateY(-2px)}.dd-action-btn:focus-visible,.icon-btn:focus-visible,.popup-actions button:focus-visible,.toolbox-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.toolbox-btn.active{background:var(--primary);color:var(--primary-ink);border-color:var(--primary);box-shadow:none}.toolbox-tooltip{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);background:var(--solid-panel);border:1px solid var(--card-border);border-radius:8px;padding:4px 10px;font-size:10px;font-weight:600;color:var(--text-main);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}.toolbox-btn:hover .toolbox-tooltip{opacity:1}.selection-rect{position:absolute;border:2px dashed var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);pointer-events:none;z-index:5}.selection-panel{position:absolute;bottom:90px;left:24px;z-index:11;background:var(--panel-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--card-border);border-radius:18px;padding:16px 20px;min-width:280px;max-width:340px;box-shadow:0 12px 40px rgba(0,0,0,.18);animation:panelSlideUp .3s ease}@keyframes panelSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.selection-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.selection-panel-header h3{font-size:13px;font-weight:700;display:flex;align-items:center;gap:6px}.selection-panel-close{width:24px;height:24px;border-radius:8px;border:none;background:transparent;color:var(--text-sub);cursor:pointer}.selection-panel-close:hover{background:var(--card-bg);color:var(--text-main)}.sel-stat-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.sel-stat{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:10px 12px}.sel-stat-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-sub);margin-bottom:4px}.sel-stat-value{font-size:18px;font-weight:800;font-family:var(--mono-font)}.sel-unit{font-size:10px;font-weight:600;color:var(--text-sub)}.sel-breakdown{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap}.sel-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:8px;font-size:10px;font-weight:700;background:var(--card-bg);border:1px solid var(--card-border)}.sel-chip-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.sel-note{margin-top:8px;font-size:9.5px;color:var(--text-sub)}.hint-banner,.toast{position:absolute;left:50%;transform:translateX(-50%);z-index:12;background:var(--solid-panel);border:1px solid var(--card-border);border-radius:12px;padding:8px 16px;font-size:12px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.15);pointer-events:none}.hint-banner{top:24px;border-color:var(--primary)}.toast{bottom:36px}.watermark{position:absolute;bottom:14px;left:18px;font-size:9px;font-weight:500;color:var(--text-sub);opacity:.35;z-index:10;pointer-events:none;font-family:var(--mono-font);letter-spacing:.3px}.mapp{display:none}@media (max-width:1024px){.sidebar-overlay{width:320px}}@media (max-width:768px){.analytics-shell .nav-links,.map-controls,.map-toolbox,.sidebar-overlay,.status-overlay,.watermark{display:none!important}.selection-panel{bottom:auto;top:72px;left:12px;min-width:240px;max-width:calc(100vw - 24px)}.hint-banner{top:72px}.toast{bottom:42vh}.mapp{display:block}.m-sat{position:absolute;top:calc(10px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:12;display:flex;padding:3px;border-radius:999px;background:#fff;box-shadow:0 8px 28px rgba(15,23,32,.12)}html[data-theme=dark] .m-sat{background:#161b22}.m-sat button{border:0;background:transparent;padding:7px 14px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-sub);cursor:pointer}.m-sat button.on{background:#111;color:#fff}html[data-theme=dark] .m-sat button.on{background:#e8edeb;color:#111}.m-fabs{position:absolute;right:14px;top:42%;z-index:12;display:flex;flex-direction:column;gap:10px}.m-fab{width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#111;box-shadow:0 8px 24px rgba(15,23,32,.14);cursor:pointer}html[data-theme=dark] .m-fab{background:#161b22;color:#e8edeb}.m-dock{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:13;display:flex;flex-direction:column;gap:8px;max-height:72vh;pointer-events:none}.m-dock>*{pointer-events:auto}.m-dock.open{overflow-y:auto;padding-bottom:4px}.m-handle{display:flex;justify-content:center;border:0;background:transparent;padding:2px 0 0;cursor:pointer}.m-handle span{width:36px;height:4px;border-radius:4px;background:rgba(15,23,32,.18)}.m-card{background:#fff;border-radius:28px;box-shadow:0 10px 32px rgba(15,23,32,.1);color:#111}html[data-theme=dark] .m-card{background:#161b22;color:#e8edeb}.m-place{display:flex;align-items:center;gap:10px;padding:14px 14px 14px 16px}.m-live{width:10px;height:10px;border-radius:50%;background:#d1d5db;flex-shrink:0}.m-live.on{background:var(--live);box-shadow:0 0 0 4px color-mix(in srgb,var(--live) 22%,transparent)}.m-place-text{min-width:0;flex:1 1}.m-place-text strong{display:block;font-size:15px;font-weight:700;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-place-text small{display:block;margin-top:2px;font-size:11px;color:#6b7280}.m-go,.m-x,.m-zoom button{border:0;background:#f3f4f6;color:#111;cursor:pointer}html[data-theme=dark] .m-go,html[data-theme=dark] .m-x,html[data-theme=dark] .m-zoom button{background:#222831;color:#e8edeb}.m-x{width:36px;height:36px;border-radius:50%}.m-zoom{display:flex;border-radius:999px;overflow:hidden;background:#f3f4f6}.m-zoom button{width:36px;height:36px;font-size:18px;font-weight:500;background:transparent}.m-hint{display:flex;align-items:center;gap:12px;padding:14px 18px}.m-hint i{color:#ef4444;font-size:14px}.m-hint p{font-size:13px;font-weight:600;line-height:1.35;letter-spacing:-.01em}.m-metrics{display:flex;align-items:stretch;padding:16px 8px 16px 18px;gap:8px}.m-grid{flex:1 1;display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 16px;gap:12px 16px}.m-grid span{display:block;font-size:10px;font-weight:600;color:#9ca3af;letter-spacing:.02em}.m-grid strong{display:block;margin-top:2px;font-size:16px;font-weight:700;letter-spacing:-.03em}.m-go{width:72px;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex-shrink:0}.m-go i{font-size:16px}.m-go small{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.m-more{flex-direction:column;padding-bottom:8px}.m-more,.m-search{display:flex;gap:10px}.m-search{align-items:center;padding:12px 16px;border-radius:22px;background:#fff;box-shadow:0 10px 32px rgba(15,23,32,.1);color:#6b7280}html[data-theme=dark] .m-search{background:#161b22}.m-search input{flex:1 1;border:0;background:transparent;outline:none;font-size:14px;font-weight:600;color:inherit}.m-section-label{padding:4px 8px 0;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#9ca3af}.m-list{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 10px 32px rgba(15,23,32,.08)}html[data-theme=dark] .m-list{background:#161b22}.m-list button{width:100%;display:flex;justify-content:space-between;gap:10px;padding:12px 16px;border:0;border-bottom:1px solid rgba(15,23,32,.06);background:transparent;text-align:left;cursor:pointer}.m-list button:last-child{border-bottom:0}.m-list strong{font-size:13px;font-family:var(--mono-font)}.m-list span{font-size:11px;color:#6b7280;font-weight:600}.m-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:none}.m-chips::-webkit-scrollbar{display:none}.m-chips button{flex-shrink:0;border:0;background:#fff;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:700;box-shadow:0 6px 18px rgba(15,23,32,.08);cursor:pointer}html[data-theme=dark] .m-chips button{background:#161b22;color:#e8edeb}.m-chips button.on{background:#111;color:#fff}.m-ops{background:#fff;border-radius:22px;padding:8px;box-shadow:0 10px 32px rgba(15,23,32,.08)}html[data-theme=dark] .m-ops{background:#161b22}.m-links{display:flex;flex-wrap:wrap;gap:8px;padding:0 4px}.m-links a,.m-links button{border:0;background:transparent;color:#6b7280;font-size:12px;font-weight:700;cursor:pointer;text-decoration:none}.m-asof{padding:0 8px 8px;font-size:10px;color:#9ca3af;font-family:var(--mono-font)}.m-deep{background:#fff;border-radius:28px;padding:8px 8px 16px;max-height:70vh;overflow:auto;box-shadow:0 10px 32px rgba(15,23,32,.1)}html[data-theme=dark] .m-deep{background:#161b22}}.records-shell{position:fixed;inset:0;overflow:hidden;font-family:var(--sans-font);color:var(--text-main);background:var(--bg-page)}.rec-map{position:absolute;inset:0;z-index:1}.records-shell .maplibregl-ctrl-bottom-right{margin-right:430px;margin-bottom:60px}.records-shell .maplibregl-ctrl-group{background:var(--solid-panel);border:1px solid var(--card-border);border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.12)}html[data-theme=dark] .records-shell .maplibregl-ctrl-icon{filter:invert(1)}.glass-panel,.left-panel,.right-panel,.top-bar{background:var(--panel-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))}.left-panel{position:absolute;top:0;left:0;height:100vh;width:340px;z-index:10;display:flex;flex-direction:column;border-right:1px solid var(--card-border);overflow:hidden}.panel-header{padding:18px 20px 14px;border-bottom:1px solid var(--card-border);flex-shrink:0}.panel-header h1{font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px}.panel-header h1 i{color:var(--primary);font-size:14px}.panel-header .subtitle{font-size:10px;color:var(--text-sub);font-weight:600;margin-top:2px;letter-spacing:.4px}.panel-scroll{flex:1 1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px}.panel-scroll::-webkit-scrollbar,.tab-content::-webkit-scrollbar{width:4px}.panel-scroll::-webkit-scrollbar-thumb,.tab-content::-webkit-scrollbar-thumb{background:var(--card-border);border-radius:4px}.rec-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:14px 16px}.rec-card h3{font-size:11px;font-weight:800;color:var(--text-sub);text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px;display:flex;align-items:center;gap:6px}.rec-card h3 i{color:var(--primary)}.rec-card-row{display:flex;align-items:center;gap:10px}.rec-card-row h3{margin-bottom:0}.card-aside{margin-left:auto;font-size:9px;color:var(--text-sub);font-weight:600;text-transform:none;letter-spacing:0}.card-aside.mono{font-family:var(--mono-font);font-size:10px;font-weight:700;color:var(--primary)}.rec-note{font-size:9.5px;color:var(--text-sub);line-height:1.4;margin-top:8px}.date-grid{display:flex;flex-wrap:wrap;gap:5px;max-height:140px;overflow-y:auto}.date-chip{padding:4px 10px;border-radius:8px;font-size:10px;font-weight:700;cursor:pointer;border:1px solid var(--card-border);background:var(--panel-bg);color:var(--text-sub);transition:all .18s;font-family:var(--mono-font)}.date-chip.active,.date-chip:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.date-chip.active{box-shadow:0 2px 10px rgba(63,131,91,.35)}.search-wrap{position:relative}.search-wrap input{width:100%;padding:9px 14px 9px 34px;background:var(--panel-bg);border:1px solid var(--card-border);border-radius:10px;font-size:11px;font-weight:600;outline:none;font-family:var(--mono-font)}.search-wrap input::placeholder{color:var(--text-sub)}.search-wrap i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-sub);font-size:11px}.bus-list{max-height:220px;overflow-y:auto;margin-top:8px;display:flex;flex-direction:column;gap:4px}.bus-list-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:10px;cursor:pointer;border:1px solid transparent;background:transparent;transition:all .15s;text-align:left;width:100%}.bus-list-item:hover{background:var(--card-bg);border-color:var(--card-border)}.bus-list-item.active{background:rgba(63,131,91,.12);border-color:var(--primary)}.bus-num{display:block;font-size:11px;font-weight:700;font-family:var(--mono-font)}.bus-route{display:block;font-size:9px;color:var(--text-sub);font-weight:600}.bus-dist{font-size:10px;font-weight:700;color:var(--primary);font-family:var(--mono-font)}.bus-dist .unit{font-size:8px;font-weight:600;color:var(--text-sub)}.timeline-badge{display:inline-block;background:var(--primary);color:#fff;font-size:10px;font-weight:800;padding:2px 10px;border-radius:6px;font-family:var(--mono-font)}.sparkline-wrap,.timeline-badge{margin-bottom:8px}.timeline-labels,.timeline-range-labels{display:flex;justify-content:space-between;font-size:9px;font-weight:700;color:var(--text-sub);margin-bottom:4px;font-family:var(--mono-font)}.timeline-range-labels{margin:6px 0 0;font-weight:600}.timeline-input{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--card-border);border-radius:4px;outline:none;cursor:pointer;display:block;margin:8px 0}.timeline-input::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:0 2px 8px rgba(63,131,91,.4)}.timeline-input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--primary);border:0}.timeline-input.cursor::-webkit-slider-thumb{background:#3b82f6;box-shadow:0 2px 8px rgba(59,130,246,.45)}.playback-row{gap:8px;margin-top:6px}.play-btn,.playback-row{display:flex;align-items:center}.play-btn{padding:7px 14px;border-radius:10px;border:0;background:var(--primary);color:#fff;font-size:11px;font-weight:800;cursor:pointer;gap:6px}.play-btn:disabled{opacity:.45;cursor:default}.speed-group{display:flex;gap:4px;margin-left:auto}.speed-chip{padding:5px 9px;border-radius:8px;border:1px solid var(--card-border);background:var(--panel-bg);font-size:10px;font-weight:700;font-family:var(--mono-font);cursor:pointer;color:var(--text-sub)}.speed-chip.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.replay-toggle{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:10.5px;font-weight:600;cursor:pointer}.replay-toggle input{accent-color:var(--primary)}.playback-marker svg{filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))}.stat-mini-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.stat-mini{background:var(--panel-bg);border:1px solid var(--card-border);border-radius:12px;padding:10px 12px}.stat-mini-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-sub);margin-bottom:4px}.stat-mini-value{font-size:17px;font-weight:800;font-family:var(--mono-font);line-height:1}.stat-mini-value.small{font-size:13px}.stat-mini-value .unit{font-size:9px;font-weight:600;color:var(--text-sub);margin-left:2px}.speed-legend{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.speed-leg-item{display:flex;align-items:center;gap:4px;font-size:9px;font-weight:700;color:var(--text-sub)}.speed-leg-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.trip-list{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.trip-item{display:grid;grid-template-columns:1fr auto auto;grid-gap:8px;gap:8px;align-items:center;padding:7px 10px;border-radius:10px;border:1px solid var(--card-border);background:var(--panel-bg);font-size:10px;font-family:var(--mono-font);cursor:pointer;text-align:left}.trip-item:hover{border-color:var(--primary)}.trip-item .trip-meta{grid-column:1/-1;font-size:9px;font-weight:600;color:var(--text-sub)}.trip-route{font-weight:800;color:var(--primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.right-panel{position:absolute;right:0;top:0;height:100vh;width:420px;z-index:10;display:flex;flex-direction:column;border-left:1px solid var(--card-border)}.tabs-header{display:flex;flex-shrink:0;border-bottom:1px solid var(--card-border);overflow-x:auto;padding:0 4px}.tab-btn{flex-shrink:0;padding:14px 12px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;background:transparent;color:var(--text-sub);border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .18s;white-space:nowrap}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-btn:hover{color:var(--text-main)}.tab-content{flex:1 1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px}.chart-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:14px 16px}.chart-card h4{font-size:10px;font-weight:800;color:var(--text-sub);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.rec-select{width:100%;padding:8px 12px;border-radius:10px;border:1px solid var(--card-border);background:var(--panel-bg);font-size:11px;font-weight:600;outline:none}.rec-select.small{width:auto;margin-left:auto;padding:6px 10px;font-size:10px;font-weight:700}.data-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--card-border)}.data-table{width:100%;border-collapse:collapse;font-size:10px}.data-table th{padding:9px 12px;text-align:left;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--text-sub);background:var(--panel-bg)}.data-table td,.data-table th{border-bottom:1px solid var(--card-border);white-space:nowrap}.data-table td{padding:8px 12px;font-family:var(--mono-font);font-weight:600}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{cursor:pointer;transition:background .15s}.data-table tbody tr:hover{background:rgba(63,131,91,.06)}.data-table .empty-cell{text-align:center;padding:20px;color:var(--text-sub);font-family:var(--sans-font);cursor:default}.badge{display:inline-block;padding:2px 7px;border-radius:5px;font-size:9px;font-weight:800}.badge-green{background:rgba(63,131,91,.15);color:var(--primary)}.badge-red{background:rgba(239,68,68,.12);color:#ef4444}.badge-yellow{background:rgba(234,179,8,.15);color:#ca8a04}.badge-blue{background:rgba(59,130,246,.12);color:#3b82f6}.top-bar{position:absolute;top:16px;left:50%;transform:translateX(calc(-50% - 40px));z-index:11;display:flex;align-items:center;gap:10px;border:1px solid var(--card-border);border-radius:16px;padding:8px 16px;box-shadow:0 4px 20px rgba(0,0,0,.12);max-width:calc(100vw - 820px);min-width:0}.top-bar-title{font-size:11px;font-weight:800;white-space:nowrap}.top-bar-sep{width:1px;height:16px;background:var(--card-border);flex-shrink:0}.top-bar-info{font-size:10px;font-weight:600;color:var(--text-sub);font-family:var(--mono-font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-btn{position:absolute;top:20px;right:440px;z-index:11;width:36px;height:36px;border-radius:12px;border:1px solid var(--card-border);background:var(--panel-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-sub)}.theme-btn:hover{color:var(--text-main);background:var(--card-bg)}.empty-state{text-align:center;padding:18px 12px}.empty-state,.loading-spinner{color:var(--text-sub);font-size:11px;font-weight:600;width:100%}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:16px;gap:8px}.spinner{width:16px;height:16px;border:2px solid var(--card-border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:900px){.right-panel{width:100%;top:auto;bottom:0;height:45vh;border-left:none;border-top:1px solid var(--card-border)}.left-panel{width:100%;height:45vh;border-right:none;border-bottom:1px solid var(--card-border)}.top-bar{display:none}.theme-btn{right:12px;top:calc(45vh + 12px)}.records-shell .maplibregl-ctrl-bottom-right{margin-right:10px;margin-bottom:calc(45vh + 10px)}}.status-page{min-height:calc(100vh - 56px);padding:28px 24px 72px;background:var(--bg-page)}.status-wrap{width:min(1120px,100%);margin:0 auto;display:flex;flex-direction:column;gap:16px}.status-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.status-head h1{font-size:22px;font-weight:750;letter-spacing:-.03em;display:flex;align-items:center;gap:10px}.status-head h1 i{color:var(--primary);font-size:18px}.status-head p{margin-top:4px;color:var(--text-sub);font-size:13px;max-width:52ch;line-height:1.45}.status-refresh{display:flex;align-items:center;gap:8px;color:var(--text-sub);font-size:12px;font-weight:600}.status-refresh .dot{width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 18%,transparent)}.status-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.status-card{background:#fff;border:1px solid var(--card-border);border-radius:16px;padding:16px 18px 18px;box-shadow:0 1px 2px rgba(15,23,32,.03)}html[data-theme=dark] .status-card{background:color-mix(in srgb,var(--solid-panel) 80%,#001e2b)}.status-card .k{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-sub);font-size:12px;font-weight:650}.status-card .k i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-size:12px}.status-card .v{margin-top:10px;font-size:28px;font-weight:750;letter-spacing:-.04em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.status-card .n{margin-top:6px;color:var(--text-sub);font-size:12px;line-height:1.35}.status-card .n em{font-style:normal;color:var(--primary);font-weight:700}.status-split{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:12px;gap:12px}.status-card h2{font-size:15px;font-weight:700;letter-spacing:-.02em;margin-bottom:4px}.status-card .sub{color:var(--text-sub);font-size:12px;margin-bottom:14px}.status-stack{display:flex;height:14px;border-radius:999px;overflow:hidden;background:#eef2f0}html[data-theme=dark] .status-stack{background:rgba(255,255,255,.08)}.status-stack>span{min-width:0}.status-legend{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:14px}.status-legend li{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-sub);list-style:none}.status-legend i{width:8px;height:8px;border-radius:50%}.status-legend strong{color:var(--text-main);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.status-gauges{display:flex;flex-direction:column;gap:12px}.status-gauge{display:grid;grid-template-columns:88px 1fr 52px;align-items:center;grid-gap:10px;gap:10px;font-size:12px}.status-gauge span:first-child{color:var(--text-sub)}.status-gauge b{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.status-track{height:8px;border-radius:999px;background:#eef2f0;overflow:hidden}html[data-theme=dark] .status-track{background:rgba(255,255,255,.08)}.status-track>i{display:block;height:100%;border-radius:inherit;background:var(--primary)}.status-track.warn>i{background:var(--orange)}.status-track.hot>i{background:var(--accent)}.status-charts{display:grid;grid-template-columns:1.3fr 1fr;grid-gap:12px;gap:12px}.status-stored-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 16px;margin-bottom:8px}.status-toggles{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.status-seg{display:inline-flex;border:1px solid var(--card-border);border-radius:999px;overflow:hidden}.status-seg button{border:0;background:transparent;color:var(--text-sub);font:inherit;font-size:12px;font-weight:650;padding:6px 11px;cursor:pointer}.status-seg button.on{background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--primary)}.status-date{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-sub)}.status-date select{font:inherit;font-size:12px;font-weight:650;padding:5px 8px;border-radius:8px;border:1px solid var(--card-border);background:var(--card);color:var(--text-main)}.status-hours{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:6px;gap:6px;margin:12px 0 4px}.status-hours button{border:1px solid var(--card-border);background:transparent;border-radius:10px;padding:7px 4px;color:var(--text-main);cursor:pointer;font:inherit;min-width:0}.status-hours button span{display:block;font-size:10px;color:var(--text-sub)}.status-hours button strong{display:block;font-size:13px;font-family:var(--mono-font);margin-top:2px}.status-hours button.on{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.status-hours button:disabled{opacity:.35;cursor:default}.status-ids{margin-top:14px;padding-top:12px;border-top:1px solid var(--card-border)}.status-ids-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.status-ids h3{margin:0;font-size:14px}.status-ids input{font:inherit;font-size:13px;padding:6px 10px;border-radius:8px;border:1px solid var(--card-border);background:var(--card);color:var(--text-main);min-width:180px}.status-id-list{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));grid-gap:6px;gap:6px;max-height:280px;overflow:auto}.status-id-list li{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:8px;background:color-mix(in srgb,var(--text-main) 4%,transparent);font-size:12px}.status-id-list code{font-family:var(--mono-font);font-size:12px}.status-id-list span{color:var(--text-sub)}@media (max-width:960px){.status-hours{grid-template-columns:repeat(4,minmax(0,1fr))}}.status-table-wrap{overflow-x:auto}.status-table{width:100%;border-collapse:collapse}.status-table th{text-align:left;font-size:12px;font-weight:650;color:var(--text-sub);padding:8px 10px 10px 0}.status-table td,.status-table th{border-bottom:1px solid var(--card-border)}.status-table td{padding:11px 10px 11px 0;font-size:13px;vertical-align:top}.status-table td.mono{font-family:var(--mono-font);font-size:12px}.status-table .muted{font-size:12px;margin-top:2px}.status-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:750;letter-spacing:.02em}.status-pill.live,.status-pill.up{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}.status-pill.down{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.status-error{padding:14px 16px;border-radius:12px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text-main);font-size:13px}.status-error a{color:var(--primary);font-weight:700}@media (max-width:960px){.status-charts,.status-kpis,.status-split{grid-template-columns:1fr}.status-card .v{font-size:24px}}@media (max-width:640px){.status-page{padding:18px 14px 64px}.status-kpis{grid-template-columns:1fr 1fr}}