.analysis-pipeline{align-items:stretch;display:flex;flex-direction:column;padding:4px 0}.pipeline-note{line-height:1.45;margin:2px 0 10px}.pipeline-start{align-items:center;background:linear-gradient(135deg,#4fc1ff1f,#6366f11f);border:1.5px solid #6366f166;border-radius:10px;color:#93c5fd;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;justify-content:center;line-height:1.1;margin-bottom:14px;overflow:hidden;padding:10px 16px;position:relative;transition:all .25s;white-space:nowrap}.pipeline-start:hover:not(:disabled){background:linear-gradient(135deg,#4fc1ff38,#6366f138);border-color:#6366f199}.pipeline-start:disabled{cursor:not-allowed;opacity:.5}.pipeline-start--done{background:#22c55e1f;border-color:#22c55e66;color:#86efac}.pipeline-start__label{position:relative;white-space:nowrap;z-index:1}.pipeline-node{align-items:center;background:#343a40;border:1.5px solid #495057;border-radius:8px;color:#ced4da;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;padding:10px 14px;position:relative;transition:all .3s ease;width:100%}.pipeline-node:disabled{cursor:default}.pipeline-node__icon{flex-shrink:0;width:16px}.pipeline-node__label{flex:1 1;text-align:left}.pipeline-node__check{color:#4ade80;font-size:13px;margin-left:auto}.pipeline-node--compact{align-items:center;flex-direction:column;font-size:11px;gap:6px;padding:10px 6px;text-align:center}.pipeline-node--compact .pipeline-node__label{text-align:center}.pipeline-node--compact .pipeline-node__check{font-size:10px;margin-left:0;position:absolute;right:6px;top:4px}.pipeline-node--idle:hover:not(:disabled){background:#3d444b;border-color:#6c757d}.pipeline-node--disabled{border-color:#3a3f44;opacity:.35}.pipeline-node--running{animation:pipeline-pulse 1.8s ease-in-out infinite;background:#60a5fa14;border-color:#60a5fa;color:#93c5fd}.pipeline-node--done{background:#22c55e14;border-color:#22c55e;color:#86efac}.pipeline-node--ready{animation:pipeline-glow 2s ease-in-out infinite;background:#f59e0b1a;border-color:#f59e0b;color:#fcd34d}.pipeline-node--ready:hover:not(:disabled){background:#f59e0b33;border-color:#fbbf24}.pipeline-parallel{display:flex;gap:8px}.pipeline-parallel .pipeline-node{flex:1 1;min-width:0}.pipeline-arrow{color:#495057;display:flex;justify-content:center;padding:2px 0;transition:color .4s}.pipeline-arrow--active{color:#4ade80}@keyframes pipeline-pulse{0%,to{box-shadow:0 0 0 0 #60a5fa26}50%{box-shadow:0 0 12px 3px #60a5fa40}}@keyframes pipeline-glow{0%,to{box-shadow:0 0 0 0 #f59e0b1a}50%{box-shadow:0 0 14px 4px #f59e0b40}}@media (max-width:700px){.pipeline-start{font-size:14px;min-height:48px;padding:14px 16px}.pipeline-node{font-size:13px;min-height:44px;padding:12px 14px}.pipeline-node--compact{font-size:11px;min-height:52px;padding:12px 6px}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.flood-page{background:#1a1a1a;color:#f8f9fa;display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.flood-summary-bar{align-items:center;background:#2c3e50;border-bottom:1px solid #495057;display:flex;flex-shrink:0;flex-wrap:wrap;gap:12px;padding:8px 16px}.flood-summary-bar .summary-title{font-size:14px;font-weight:600;margin-right:8px;white-space:nowrap}.flood-summary-bar .summary-chip{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:3px 10px;white-space:nowrap}.flood-summary-bar .summary-chip .chip-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.flood-summary-bar .summary-update{color:#fff;font-size:12px;margin-left:auto;white-space:nowrap}.flood-content{display:flex;flex:1 1;overflow:hidden}.flood-panel{background:#2d2d2d;border-right:1px solid #495057;display:flex;flex-direction:column;min-width:320px;overflow-y:auto;width:380px}.flood-panel-header{background:#2c3e50;border-bottom:1px solid #495057;padding:16px}.flood-panel-header h2{font-size:18px;font-weight:600;margin:0 0 4px}.flood-panel-header p{color:#adb5bd;font-size:12px;margin:0}.flood-panel-body{flex:1 1;overflow-y:auto;padding:16px}.flood-panel-empty{align-items:center;color:#adb5bd;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.flood-panel-empty svg{font-size:48px;margin-bottom:16px;opacity:.4}.flood-map-container{flex:1 1;min-height:0;min-width:0;position:relative}.flood-panel-mobile-backdrop,.flood-panel-mobile-close,.flood-panel-mobile-open,.mobile-filter-content,.mobile-filter-toggle,.mobile-mode-row{display:none}.desktop-mode-row{display:flex}.desktop-filter-content{display:block}.flood-map-container .esri-search{width:min(300px,calc(100% - 56px));z-index:2}.flood-modal-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.flood-modal{background:#2d2d2d;border:1px solid #495057;border-radius:10px;max-height:min(80vh,720px);overflow:auto;width:min(860px,100%)}.flood-modal-header{align-items:center;background:#2c3e50;border-bottom:1px solid #495057;display:flex;justify-content:space-between;padding:12px 14px;position:-webkit-sticky;position:sticky;top:0}.flood-modal-header h3{font-size:14px;font-weight:700;margin:0}.flood-modal-close{background:#1e1e1eeb;border:1px solid #495057;border-radius:8px;color:#f8f9fa;cursor:pointer;font-size:18px;height:32px;width:32px}.flood-modal-body{color:#e9ecef;font-size:13px;line-height:1.5;padding:14px}.flood-modal-body h4{color:#f8f9fa;font-size:13px;font-weight:700;margin:12px 0 8px}.flood-modal-body ul{margin:6px 0 10px 18px}.station-detail-card{background:#343a40;border-radius:8px;margin-bottom:16px;overflow:hidden}.station-detail-header{align-items:center;display:flex;justify-content:space-between;padding:12px 16px}.station-detail-header h3{flex:1 1;font-size:14px;font-weight:600;margin:0 8px 0 0}.flood-status-badge{align-items:center;border-radius:16px;display:inline-flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase;white-space:nowrap}.station-detail-body{padding:0 16px 16px}.capability-note{color:#adb5bd;font-size:13px;line-height:1.45}.station-meta-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.station-meta-item{background:#2d2d2d;border-radius:6px;padding:8px 10px}.station-meta-item .meta-label{color:#adb5bd;font-size:10px;letter-spacing:.5px;margin-bottom:2px;text-transform:uppercase}.station-meta-item .meta-value{font-size:14px;font-weight:600}.stats-table{border-collapse:collapse;font-size:13px;margin-top:12px;width:100%}.stats-table td,.stats-table th{border-bottom:1px solid #495057;padding:6px 10px;text-align:left}.stats-table th{color:#adb5bd;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.stats-table td{font-weight:500}.stats-table tr.active-threshold td{color:#ff6b35;font-weight:700}.flood-chart-container{background:#343a40;border-radius:8px;margin-bottom:16px;padding:12px}.flood-chart-container h4{color:#e9ecef;font-size:13px;font-weight:600;margin:0 0 8px}.flood-legend{background:#1e1e1eeb;border:1px solid #495057;border-radius:8px;bottom:16px;max-height:min(45vh,360px);max-width:min(420px,calc(100% - 24px));overflow:auto;padding:10px 14px;position:absolute;right:16px;z-index:10}.flood-legend h4{color:#e9ecef;font-size:12px;font-weight:600;margin:0 0 6px}.flood-legend-item{align-items:center;color:#adb5bd;display:flex;font-size:11px;gap:8px;padding:2px 0}.flood-legend-item .legend-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.flood-loading{align-items:center;color:#adb5bd;display:flex;height:100%;justify-content:center}.flood-loading svg{animation:spin 1s linear infinite;margin-right:8px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:900px){.flood-content{flex-direction:column}.flood-panel{border-bottom:1px solid #495057;border-right:none;max-height:40vh;min-width:0;min-width:auto;width:100%}.flood-map-container{height:60vh;min-height:320px}.flood-legend{bottom:8px;right:8px}}@media (max-width:700px){.flood-summary-bar{display:none}.flood-content{position:relative}.flood-map-container{height:100%;min-height:0;min-height:auto}.flood-panel{border:none;bottom:0;box-shadow:0 -6px 32px #00000080;left:0;max-height:50vh;min-width:0;min-width:auto;overscroll-behavior:contain;position:absolute;right:0;top:auto;transition:transform .22s ease;width:100%;z-index:30}.flood-panel,.flood-panel-header{background:#232a33;border-radius:18px 18px 0 0}.flood-panel-header{border-bottom:1px solid #ffffff0f;padding:0 16px 10px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.flood-panel-header p{display:none}.flood-panel-header h2{font-size:15px;margin:0}.flood-panel-grab{cursor:grab;display:flex;justify-content:center;margin:0 -16px 4px;padding:12px 0 10px;touch-action:none;-webkit-user-select:none;user-select:none}.flood-panel-grab-handle{background:#ffffff4d;border-radius:999px;height:4px;width:40px}.flood-panel-mobile-close{background:#ffffff14;border:none;border-radius:50%;color:#8b95a5;font-size:15px;height:30px;right:12px;top:14px;width:30px}.flood-panel-mobile-close,.flood-panel-mobile-open{align-items:center;cursor:pointer;display:inline-flex;justify-content:center;position:absolute}.flood-panel-mobile-open{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#1c222eeb;border:none;border-radius:24px;box-shadow:0 4px 16px #0006;color:#e9ecef;font-size:13px;font-weight:600;gap:6px;left:12px;padding:10px 16px;top:12px;z-index:31}.flood-panel-mobile-backdrop{background:#00000040;border:none;cursor:pointer;display:block;inset:0;position:absolute;z-index:29}.flood-panel-body{-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain;padding:0 16px calc(16px + env(safe-area-inset-bottom, 0px));touch-action:pan-y}.desktop-filter-content,.desktop-mode-row{display:none}.mobile-filter-content{display:block}.mobile-mode-row{display:flex;gap:6px;margin-top:6px}.mobile-mode-row button{background:#0000;border:1px solid #3a4452;border-radius:8px;color:#8b95a5;cursor:pointer;flex:1 1;font-size:12px;font-weight:600;padding:7px 0;text-align:center;transition:background .15s,color .15s}.mobile-mode-row button.active{background:#4fc3f71f;border-color:#4fc3f740;color:#4fc3f7}.mobile-filter-toggle{align-items:center;background:#ffffff08;border:1px solid #3a4452;border-radius:10px;color:#8b95a5;cursor:pointer;display:flex;font-size:13px;font-weight:600;justify-content:space-between;margin-bottom:8px;padding:10px 12px;transition:background .15s;width:100%}.mobile-filter-toggle:active,.mobile-filter-toggle:hover{background:#ffffff0f}.mobile-filter-toggle .toggle-arrow{font-size:10px;transition:transform .2s ease}.mobile-filter-toggle .toggle-arrow.open{transform:rotate(180deg)}.mobile-filter-content{max-height:0;opacity:0;overflow:hidden;transition:max-height .25s ease,opacity .2s ease}.mobile-filter-content.expanded{max-height:600px;opacity:1}.flood-panel-empty{padding:20px 16px}.flood-panel-empty svg{font-size:32px;margin-bottom:8px}.flood-panel-empty p{font-size:13px;line-height:1.5;margin:0}.flood-legend{border-radius:12px;bottom:72px;left:10px;max-height:28vh;max-width:calc(100% - 20px);padding:8px 12px;right:10px}.flood-map-container .esri-search{max-width:520px;width:calc(100% - 20px)}}
/*# sourceMappingURL=37.183b2b1d.chunk.css.map*/