body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:linear-gradient(135deg,#667eea,#764ba2);color:#333;min-height:100vh}.App-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 4px 6px #0000001a;margin-bottom:1rem;padding:1rem;text-align:center}.App-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:700;margin:0 0 .25rem}.App-header p{color:#666;font-size:.9rem;margin:0}.App-main{margin:0 auto;max-width:1200px;padding:0 .5rem}.search-section{overflow:visible;padding:0}.map-section,.search-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:1rem}.map-section{padding:1rem}.map-section h2{color:#1f2937;font-size:1.5rem;margin:0 0 .5rem;text-align:center}.map-section p{color:#6b7280;font-size:.9rem;margin:0 0 1rem;text-align:center}.chart-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:1rem}.station-info{align-items:flex-start;border-bottom:1px solid #d9e2ec;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.station-info h2{color:#111827;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.1;margin:0}.station-eyebrow{color:#003da5;font-size:.78rem;font-weight:800;letter-spacing:0;margin:0 0 .35rem;text-transform:uppercase}.station-meta{color:#475569;display:flex;flex-wrap:wrap;font-size:.9rem;font-weight:700;gap:.5rem .75rem;margin-top:.65rem}.error,.loading{font-size:1.1rem;padding:2rem;text-align:center}.back-button{background:#003da5;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:1rem;padding:.5rem 1rem;transition:background-color .2s ease}.back-button:hover{background:#002a7a}.share-button{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:1rem;padding:.5rem 1rem;transition:background-color .2s ease}.share-button:hover{background:#059669}@media (max-width:768px){.App-header{margin-bottom:.5rem;padding:.75rem}.App-header h1{font-size:1.4rem;margin:0 0 .2rem}.App-header p{font-size:.8rem}.App-main{padding:0 .25rem}.chart-section,.map-section,.search-section{margin-bottom:.75rem;padding:.75rem}.map-section h2{font-size:1.2rem}.station-info h2{font-size:1.55rem}.station-info{flex-direction:column;margin-bottom:.75rem}}.location-station-search{margin:0 auto;max-width:800px;overflow:visible;padding:12px}.search-mode-selector{background:#f8f9fa;border-radius:8px;display:flex;gap:8px;margin-bottom:16px;padding:4px}.mode-button{background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:8px 12px;transition:all .2s ease}.mode-button.active{background:#fff;box-shadow:0 2px 4px #0000001a;color:#007bff}.mode-button:hover:not(.active){background:#ffffff80;color:#333}.location-prompt{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#fff;padding:24px 16px;text-align:center}.location-prompt h3{font-size:18px;font-weight:600;margin:0 0 12px}.location-prompt p{font-size:14px;line-height:1.4;margin:0 0 16px;opacity:.9}.manual-search{background:#f8f9fa;border-radius:8px;padding:16px;position:relative;z-index:1}.manual-search h3{color:#333;font-size:18px;margin:0 0 8px}.manual-search p{color:#666;font-size:14px;margin:0 0 16px}.location-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .3s ease}.location-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.search-header{align-items:center;background:#f8f9fa;border-left:3px solid #007bff;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.search-header h3{color:#333;font-size:16px;margin:0}.search-header p{color:#666;font-size:12px;margin:2px 0 0}.refresh-button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:background-color .2s ease}.refresh-button:hover{background:#0056b3}.stations-list{grid-gap:8px;display:grid;gap:8px}.station-item{background:#fff;border:1px solid #e1e5e9;border-radius:6px;box-shadow:0 1px 3px #0000000d;cursor:pointer;padding:12px;transition:all .2s ease}.station-item:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff26;transform:translateY(-2px)}.station-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.station-name{color:#333;flex:1 1;line-height:1.3;margin-right:12px}.station-distance{background:#e9ecef;border-radius:3px;color:#495057;font-size:10px;font-weight:600;padding:2px 6px;white-space:nowrap}.station-availability{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));margin-bottom:8px}.availability-item{align-items:center;background:#f8f9fa;border-radius:4px;display:flex;justify-content:space-between;padding:4px 8px}.availability-label{color:#666;font-size:11px;font-weight:500}.availability-value{color:#333;font-size:12px;font-weight:700}.station-status{display:flex;flex-wrap:wrap;gap:4px}.status-badge{border-radius:3px;font-size:9px;font-weight:600;padding:2px 6px;text-transform:uppercase}.status-badge.available{background:#d4edda;color:#155724}.status-badge.unavailable{background:#f8d7da;color:#721c24}.loading{color:#666;font-size:14px;padding:20px}.error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;padding:20px}.error h3{font-size:16px;margin:0 0 12px}.error p{font-size:14px;line-height:1.4;margin:0 0 16px}.retry-button{background:#dc3545;border-radius:4px;font-size:12px;padding:8px 16px;transition:background-color .2s ease}.retry-button:hover{background:#c82333}.no-stations{color:#666;font-size:14px;padding:20px;text-align:center}@media (max-width:768px){.location-station-search{padding:8px}.search-header{align-items:flex-start;flex-direction:column;gap:8px}.search-header h3{font-size:14px}.station-header{align-items:flex-start;flex-direction:column;gap:4px}.station-name{font-size:13px;margin-right:0}.station-availability{grid-template-columns:1fr}.availability-item{justify-content:space-between}}.station-search{width:100%}.search-container{position:relative;width:100%}.search-input{border:2px solid #e5e7eb;border-radius:6px;box-sizing:border-box;font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s ease;width:100%}.search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:9999}.dropdown-item{border-bottom:1px solid #f3f4f6;cursor:pointer;padding:8px 12px;transition:background-color .2s ease}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background-color:#f9fafb}.station-name{color:#1f2937;font-size:14px;font-weight:600;margin-bottom:2px}.station-details{color:#6b7280;font-size:12px}.no-results{font-size:14px;font-style:italic;padding:8px 12px}.loading,.no-results{color:#6b7280;text-align:center}.loading{font-size:1.1rem;padding:2rem}.error{color:#ef4444}.retry-button{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:1rem;padding:.5rem 1rem}.retry-button:hover{background:#1d4ed8}.capacity-chart{width:100%}.chart-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.chart-heading h3{color:#111827;font-size:1.45rem;margin:0 0 .25rem}.chart-heading p{color:#4b5563;font-size:.95rem;margin:0}.timezone-label{background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;color:#334155;flex:0 0 auto;font-size:.8rem;font-weight:700;padding:.35rem .7rem}.chart-controls{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:minmax(0,1.05fr) minmax(300px,1fr) minmax(260px,.85fr);margin-bottom:1rem}.control-panel{background:#f8fafc;border:1px solid #d9e2ec;border-radius:8px;padding:.9rem}.control-panel-header{margin-bottom:.75rem}.control-panel-header h4{color:#111827;font-size:.98rem;margin:0 0 .2rem}.control-panel-header p{color:#64748b;font-size:.82rem;line-height:1.35;margin:0}.segmented-control{grid-gap:.25rem;background:#e2e8f0;border-radius:8px;display:grid;gap:.25rem;grid-auto-columns:1fr;grid-auto-flow:column;padding:.25rem}.segmented-control button{background:#0000;border:0;border-radius:6px;color:#334155;cursor:pointer;font-weight:700;min-height:2.25rem;padding:.45rem .55rem}.segmented-control button.active{background:#003da5;box-shadow:0 1px 2px #0f172a33;color:#fff}.series-control{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr))}.input-group label,.select-label{color:#334155;display:block;font-size:.82rem;font-weight:700;margin-bottom:.4rem}.input-group input,.prediction-model-select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;color:#111827;font-size:.9rem;min-height:2.35rem;padding:.5rem .65rem;width:100%}.input-group input:focus,.prediction-model-select:focus{border-color:#003da5;box-shadow:0 0 0 3px #003da524;outline:none}.custom-inputs{grid-gap:.65rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.custom-inputs,.day-inputs{align-items:end;gap:.65rem;margin-top:.75rem}.day-inputs{display:flex;flex-wrap:wrap}.input-group{min-width:0}.day-date-input{flex:1 1 11rem}.apply-button{background:#00843d;border:none;border-radius:6px;color:#fff;font-weight:700;padding:.5rem 1rem}.apply-button,.day-step-button{cursor:pointer;min-height:2.35rem}.day-step-button{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;font-weight:800;min-width:2.6rem;padding:.5rem .75rem}.apply-button:hover{background:#006b31}.day-step-button:hover:not(:disabled){border-color:#003da5;color:#003da5}.day-step-button:disabled{cursor:default;opacity:.5}.field-error{color:#b91c1c;font-size:.82rem;font-weight:700;grid-column:1/-1;margin:.1rem 0 0}.predictions-panel{display:flex;flex-direction:column;gap:.75rem}.prediction-empty-state{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#9a3412;font-weight:700;margin-bottom:1rem;padding:.75rem .9rem}.prediction-scrubber{background:#fff;border:1px solid #d9e2ec;border-radius:8px;margin:1rem 0;padding:.9rem}.scrubber-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.65rem}.scrubber-label{color:#111827;font-size:.92rem;font-weight:800}.prediction-loading-dot{animation:dot-pulse 1s ease-in-out infinite;background:#00843d;border-radius:999px;display:inline-block;height:.55rem;margin-left:.45rem;vertical-align:middle;width:.55rem}.now-button{background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;color:#1f2937;cursor:pointer;font-weight:800;min-height:2rem;padding:.35rem .75rem}.now-button:hover:not(:disabled){border-color:#003da5;color:#003da5}.now-button:disabled{cursor:default;opacity:.5}.anchor-scrubber{accent-color:#003da5;cursor:pointer;width:100%}.anchor-scrubber:disabled{cursor:default;opacity:.55}.prediction-note{color:#64748b;font-size:.82rem;font-weight:700;margin:.5rem 0 0}.chart-stats{grid-gap:.65rem;display:grid;gap:.65rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem}.stat{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.7rem}.stat-label{color:#64748b;display:block;font-size:.78rem;font-weight:700;margin-bottom:.2rem}.stat-value{color:#111827;font-size:1.35rem;font-weight:800}.chart-container{background:#fff;border:1px solid #d9e2ec;border-radius:8px;min-height:470px;padding:1rem;position:relative}.chart-loading-badge{background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:#1d4ed8;font-size:.8rem;font-weight:700;padding:.35rem .7rem;position:absolute;right:1rem;top:1rem;z-index:2}.chart-legend{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin-bottom:.75rem;padding-right:10rem}.legend-entry{align-items:center;color:#334155;display:inline-flex;font-size:.82rem;font-weight:700;gap:.45rem}.legend-line{border-radius:999px;display:inline-block;height:3px;width:28px}.legend-line.dashed{background:#0000!important;border-top:3px dashed var(--legend-color);height:0}.no-data{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;min-height:360px;text-align:center}.no-data p{font-size:1rem;margin:.35rem 0}.custom-tooltip{background:#0f172aeb;border-radius:6px;box-shadow:0 8px 18px #0f172a38;color:#fff;font-size:.875rem;padding:.75rem}.tooltip-time{font-weight:700;margin:0 0 .5rem}.tooltip-capacity{margin:.15rem 0}.capacity-value{color:#93c5fd;font-weight:800}.chart-skeleton{background:#fff;border:1px solid #d9e2ec;border-radius:8px;padding:1rem}.skeleton-chart,.skeleton-grid span,.skeleton-line{animation:skeleton-pulse 1.2s ease-in-out infinite;background:linear-gradient(90deg,#e2e8f0,#f8fafc,#e2e8f0);background-size:200% 100%;border-radius:8px}.skeleton-title{height:1.4rem;margin-bottom:1rem;width:34%}.skeleton-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1rem}.skeleton-grid span{height:5.5rem}.skeleton-chart{height:420px}.error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;margin:1rem 0;padding:2rem;text-align:center}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes dot-pulse{0%,to{opacity:.35;transform:scale(.82)}50%{opacity:1;transform:scale(1)}}@media (max-width:980px){.chart-controls,.custom-inputs{grid-template-columns:1fr}.day-inputs{display:grid;grid-template-columns:auto minmax(0,1fr) auto}}@media (max-width:768px){.chart-heading{flex-direction:column}.timezone-label{align-self:flex-start}.segmented-control,.series-control{grid-auto-flow:row;grid-auto-rows:1fr;grid-template-columns:1fr}.chart-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-container{min-height:410px;padding:.75rem}.chart-legend{padding-right:0}.chart-loading-badge{display:inline-block;margin-bottom:.75rem;position:static}.skeleton-grid{grid-template-columns:1fr}.skeleton-chart{height:340px}}@media (max-width:420px){.day-inputs{grid-template-columns:1fr 1fr}.day-date-input{grid-column:1/-1;grid-row:1}}
/*# sourceMappingURL=main.76fca8fb.css.map*/