:root{color-scheme:light;--ink: #132238;--ink-soft: #42526a;--muted: #627084;--line: #d9e2ec;--surface: #ffffff;--surface-soft: #f6f9fc;--aqua: #0f766e;--aqua-soft: #e7f8f5;--blue: #2563eb;--amber: #b45309;font-family:SF Pro Display,Geist Sans,Helvetica Neue,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;background:#f7f9fb;color:#182234;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 18% 0%,rgba(20,184,166,.07),transparent 28%),linear-gradient(180deg,#fbfcfe,#f7f9fb 42%,#f3f7fb)}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}.site-shell{min-height:100vh;background:#f5f8fb;color:var(--ink)}.site-shell a{color:inherit}.site-shell .primary-link{color:#fff}.site-header{position:sticky;top:0;z-index:24;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px;padding:10px 32px;background:#fafcfed6;border-bottom:1px solid rgba(203,213,225,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.site-brand{min-width:0;display:flex;align-items:center;gap:12px;text-decoration:none}.site-brand-mark{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#e8faf5;color:#0f766e}.site-brand strong,.site-brand small{display:block}.site-brand strong{font-size:17px;line-height:1.2}.site-brand small{margin-top:3px;color:#7a8aa0;font-size:12px}.site-nav,.site-header-actions{display:flex;align-items:center;gap:18px}.site-nav a{color:#5d6b7d;font-size:14px;font-weight:600;text-decoration:none}.site-nav a:hover{color:#132238}.site-review-link{flex:0 0 auto}.home-page{padding-bottom:0}.hero-section{position:relative;min-height:min(720px,calc(100dvh - 52px));overflow:hidden}.hero-media{position:absolute;inset:0;background-position:center;background-size:cover}.hero-section:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#07101c05,#07101c33),linear-gradient(90deg,rgba(7,16,28,.08),transparent 64%)}.hero-content{position:relative;z-index:1;width:min(1240px,100%);min-height:inherit;margin:0 auto;padding:80px 32px 92px;display:flex;flex-direction:column;justify-content:flex-end;gap:18px}.hero-kicker{margin:0;color:#7dd3fcfa;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero-section h1{max-width:790px;margin:0;color:#fff;font-size:clamp(36px,4vw,56px);line-height:1.08;text-wrap:balance}.hero-summary{max-width:720px;margin:0;color:#e2e8f0f0;font-size:18px;line-height:1.65;text-wrap:pretty}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.primary-link{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;border:0;border-radius:7px;background:#0f766e;color:#fff;box-shadow:0 6px 12px #0f766e2e;font-weight:700;text-decoration:none}.primary-link:hover{background:#0b5f59}.hero-secondary{border-color:#ffffff47;background:#0b1f3061;color:#fff}.hero-secondary:hover{background:#ffffff2e}.compact-hero{min-height:min(660px,calc(100dvh - 52px))}.compact-hero h1{max-width:1040px}.section-inner{width:min(1240px,calc(100% - 64px));margin:0 auto}.signal-band{position:relative;z-index:3;margin-top:-40px}.signal-strip{display:grid;grid-template-columns:140px repeat(4,minmax(0,1fr));align-items:stretch;overflow:hidden;border:1px solid rgba(203,213,225,.86);border-radius:8px;background:#fffffff0}.signal-strip-label{display:flex;align-items:center;padding:18px 20px;color:#0f766e;background:#e7f8f5;font-size:13px;font-weight:800}.signal-item{min-width:0;display:flex;align-items:center;gap:14px;padding:18px 20px;border-left:1px solid #e3e9f1}.signal-item strong{flex:0 0 auto;color:var(--ink);font-size:28px;line-height:1}.signal-item span,.signal-item small{display:block}.signal-item span{color:var(--ink-soft);font-size:13px;font-weight:800}.signal-item small{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.35}.section-band{padding:72px 0}.muted-band{background:#f2f6fb}.section-head{max-width:760px;margin-bottom:28px}.section-head>span{display:block;margin-bottom:8px;color:#0f766e;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.section-head h2{margin:0;color:var(--ink);font-size:34px;line-height:1.15;text-wrap:balance}.section-head p{margin:14px 0 0;color:#5d6b7d;font-size:16px;line-height:1.7}.nightsight-entry{background:#fbfcfe}.nightsight-entry-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);gap:44px;align-items:start}.nightsight-entry .section-head{margin-bottom:0}.text-action{width:fit-content;min-height:36px;margin-top:20px;display:inline-flex;align-items:center;gap:8px;padding:0;border:0;color:#0f766e;background:transparent;font:inherit;font-size:14px;font-weight:800}.text-action:hover{color:#0b5f59}.nightsight-brief{display:grid;gap:0;border-top:1px solid #dce5ee}.brief-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;align-items:center;min-height:78px;border-bottom:1px solid #dce5ee}.brief-row span{color:#95a3b6;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;font-weight:800}.brief-row strong{color:var(--ink);font-size:20px;line-height:1.25}.platform-brief-table{display:grid;border:1px solid #dce5ee;border-radius:8px;overflow:hidden;background:#ffffffdb}.platform-brief-row{display:grid;grid-template-columns:44px minmax(110px,.42fr) minmax(160px,.52fr) minmax(280px,1fr);gap:16px;align-items:center;padding:18px 20px}.platform-brief-row+.platform-brief-row{border-top:1px solid #e3e9f1}.platform-brief-row span{color:#6c7a8f;font-size:12px;font-weight:800}.platform-brief-row strong{color:var(--ink);font-size:18px;line-height:1.2}.platform-brief-row p{margin:0;color:#59697d;line-height:1.6}.capability-band{padding-top:0;background:#fbfcfe}.capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.capability-note{min-height:170px;padding:26px;border:1px solid #dce5ee;border-radius:8px;background:#fff}.capability-note h3{margin:18px 0 8px;color:var(--ink);font-size:22px;line-height:1.2}.capability-note p{max-width:560px;margin:0;color:#59697d;line-height:1.65}.home-footer{padding:24px 0 34px;border-top:1px solid #e3e9f1;background:#fff}.home-footer-inner{display:flex;align-items:center;justify-content:flex-end;gap:16px}.home-footer-inner span{margin-right:auto;color:#7a8aa0;font-size:12px;font-weight:800}.home-footer-inner button{min-height:34px;padding:0;border:0;color:#44546a;background:transparent;font:inherit;font-size:13px;font-weight:800}.home-footer-inner button:hover{color:#0f766e}.engine-list{border-top:1px solid #dce5ee}.engine-row{display:grid;grid-template-columns:48px minmax(260px,1fr) minmax(280px,.95fr);gap:18px;align-items:start;padding:22px 0;border-bottom:1px solid #dce5ee}.engine-copy h3{margin:0 0 8px;color:var(--ink);font-size:21px;line-height:1.25}.engine-copy p{margin:0;color:#59697d;line-height:1.65}.engine-tags{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.engine-tags li{padding:7px 9px;border:1px solid #dce5ee;border-radius:7px;color:#42526a;background:#fff;font-size:12px;font-weight:700}.section-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#edf8f5;color:#0f766e}.section-icon.strong{width:44px;height:44px;background:#0f766e;color:#fff}.feature-list{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:10px}.feature-list.compact{margin-top:16px}.feature-list li{position:relative;padding-left:18px;color:#42526a;line-height:1.5}.feature-list li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:999px;background:#14b8a6}.product-matrix{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:20px}.featured-product{border:1px solid rgba(15,118,110,.24);border-radius:8px;background:#f0faf7}.featured-product-head{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 22px;border-bottom:1px solid rgba(15,118,110,.18)}.featured-product .product-code{margin:0;color:#0f766e}.featured-product-body{padding:24px}.featured-product h3{margin:18px 0 8px;color:var(--ink);font-size:28px;line-height:1.16}.featured-action{margin-top:22px}.product-list{display:grid;align-content:start;border:1px solid #dce5ee;border-radius:8px;background:#ffffffc7}.product-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:18px}.product-row+.product-row{border-top:1px solid #e3e9f1}.product-row h3{margin:4px 0 5px;color:var(--ink);font-size:18px;line-height:1.25}.product-row p{margin:0;color:#59697d;line-height:1.55}.product-row-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:#0f766e;font-size:12px;font-weight:800}.product-row-meta small{color:#6c7a8f;font-size:12px;font-weight:700}.product-stage{flex:0 0 auto;padding:5px 9px;border:1px solid rgba(15,118,110,.12);border-radius:999px;background:#e8faf5;color:#0f766e;font-size:12px;font-weight:700}.product-code{margin-top:18px;color:#95a3b6;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.product-position{margin:0 0 10px;color:#0f766e;font-weight:700}.product-summary{margin:0;color:#59697d;line-height:1.65}.bundle-title{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.solution-panel{border:1px solid #dce5ee;border-radius:8px;background:#fffc}.bundle-row{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(260px,1fr) minmax(260px,1fr);gap:22px;align-items:start;padding:24px}.bundle-row+.bundle-row{border-top:1px solid #e3e9f1}.bundle-description{margin:0;color:#59697d;line-height:1.65}.rule-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #dce5ee;border-radius:8px;background:#ffffffd1}.rule-item{padding:22px}.rule-item+.rule-item{border-left:1px solid #e3e9f1}.rule-item h3{margin:16px 0 8px;color:var(--ink);font-size:20px;line-height:1.25}.rule-item p{margin:0;color:#59697d;line-height:1.65}.bundle-title span,.cta-inner>div>span{display:block;color:#7a8aa0;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.bundle-title strong{display:block;margin-top:4px;color:#132238;font-size:24px;line-height:1.2}.cta-band{padding:0 0 64px}.cta-inner{padding:30px 32px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border:1px solid rgba(15,23,42,.08);border-radius:8px;background:#0f172a}.cta-inner h2{max-width:760px;margin:10px 0;color:#fff;font-size:30px;line-height:1.15}.cta-inner p{max-width:740px;margin:0;color:#c7d2de;line-height:1.65}.cta-inner>div>span{color:#67e8f9}.cta-button{flex:0 0 auto}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{min-height:72px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#ffffffeb;color:#162033;border-bottom:1px solid rgba(203,213,225,.78);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;min-width:230px}.brand-mark{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#e7f8f5;color:#0f766e}.brand strong,.brand small{display:block}.brand strong{font-size:18px;line-height:1.2}.brand small{margin-top:3px;color:#7a8aa0;font-size:12px}.topbar-actions,.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.topbar-actions{flex-wrap:nowrap;justify-content:flex-end}.topbar-back-button{min-height:36px;padding-inline:10px}.mode-switch{min-height:38px;display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(203,213,225,.82);border-radius:8px;background:#f8fafceb}.mode-switch button{min-height:30px;padding:0 12px;border:0;border-radius:6px;color:#64748b;background:transparent;font:inherit;font-size:13px;font-weight:800;white-space:nowrap}.mode-switch button:hover{color:#0f766e;background:#eefaf7}.mode-switch button.is-active{color:#0f766e;background:#dff4ef}.topbar-summary-pill{min-height:36px;display:inline-flex;align-items:center;gap:9px;padding:0 12px;border:1px solid rgba(203,213,225,.76);border-radius:7px;color:#536174;background:#f8fafcdb;font-size:12px;font-weight:800;white-space:nowrap}.topbar-summary-pill strong{color:#132238;font-size:14px}.topbar-summary-pill.state-ok{color:#0f766e;border-color:#0f766e3d;background:#eefaf7}.topbar-summary-pill.state-warn{color:#9a3412;border-color:#d9770642;background:#fff7ed}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:268px minmax(0,1fr);gap:28px;padding:30px 32px 36px}.sidebar{min-width:0;min-height:0;display:flex;flex-direction:column;gap:16px}.step-list,.side-panel{min-width:0;border:1px solid rgba(203,213,225,.7);background:#ffffffc7}.step-list{padding:10px;border-radius:8px}.step-button{width:100%;min-height:44px;display:grid;grid-template-columns:32px 1fr 18px;align-items:center;gap:8px;padding:10px;border:0;border-radius:6px;color:#5d6b7d;background:transparent;text-align:left;transition:background .16s ease,color .16s ease,transform .16s ease}.step-button+.step-button{margin-top:4px}.step-button.is-active{background:#e9f7f4;color:#132238}.step-copy{min-width:0;display:grid;gap:3px}.step-copy strong{color:inherit;font-size:14px;line-height:1.2}.step-copy small{color:#718198;font-size:12px;line-height:1.25}.step-button.is-active .step-copy small{color:#315174}.step-icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#f2f6fb;color:#2563eb}.step-button.is-active .step-icon{color:#0f766e;background:#dff7f2}.step-check{color:#14b8a6}.side-panel{padding:18px;border-radius:8px;color:#64748b}.side-panel strong{display:block;margin:10px 0 6px;color:#132238;font-size:21px}.side-panel-note{display:block;margin-bottom:8px;color:#64748b;font-size:13px;line-height:1.45}.side-panel-title{color:#7a8aa0;font-size:11px;font-weight:700;text-transform:uppercase}.side-panel.compact{display:grid;gap:8px}.project-status-panel{align-content:start}.side-reset-button{min-height:32px;margin-top:4px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(203,213,225,.76);border-radius:7px;color:#536174;background:#f8fafcb8;font:inherit;font-size:12px;font-weight:800}.side-reset-button:hover{color:#9a3412;border-color:#d9770642;background:#fff7ed}.side-reset-button.primary{width:100%;color:#fff;border-color:#0f766e;background:#0f766e}.side-reset-button.primary:hover{color:#fff;border-color:#0b5f59;background:#0b5f59}.side-reset-button:disabled{cursor:not-allowed;opacity:.62}.plan-name-input{width:100%;height:34px;margin:10px 0 6px;padding:0 10px;border:1px solid #dbe5ef;border-radius:7px;color:#132238;background:#fbfdff;font:inherit;font-size:12px;font-weight:800;outline:none}.plan-name-input:focus{border-color:#0f766e6b;box-shadow:0 0 0 3px #0f766e1a}.plan-list{display:grid;gap:7px;margin-top:12px}.plan-list button{width:100%;min-height:44px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;border:1px solid #dbe5ef;border-radius:7px;color:#536174;background:#fff;font:inherit;text-align:left}.plan-list button.is-active{color:#0f766e;border-color:#0f766e47;background:#eefaf7}.plan-list button:disabled{cursor:not-allowed;opacity:.62}.plan-list button span{min-width:0;display:grid;gap:2px}.plan-list button strong{overflow:hidden;margin:0;color:inherit;font-size:12px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.plan-list button small{color:#718198;font-size:11px;font-weight:700}.realtime-source-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.realtime-source-toggle button{min-height:30px;border:1px solid #dbe5ef;border-radius:7px;color:#536174;background:#fff;font:inherit;font-size:12px;font-weight:800}.realtime-source-toggle button.is-active{color:#0f766e;border-color:#0f766e47;background:#eefaf7}.status-line{display:flex;align-items:center;gap:6px;font-size:13px}.status-line.ok{color:#0f766e}.status-line.warn{color:#b45309}.content-panel{min-width:0;min-height:0;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}.panel-stack{height:100%;min-height:0;padding:0;overflow:auto}.panel-stack.fill-height{display:flex;flex-direction:column}.admin-shell{background:radial-gradient(circle at 0% 0%,rgba(37,99,235,.08),transparent 28%),linear-gradient(180deg,#f7fafc,#f2f6fb)}.admin-workspace{grid-template-columns:300px minmax(0,1fr)}.admin-sidebar{display:flex;flex-direction:column}.admin-note,.admin-help-text{margin:0;color:#5d6b7d;font-size:13px;line-height:1.6}.admin-note{padding:10px 12px;border:1px solid #dbeafe;border-radius:8px;background:#f8fbff}.admin-section-head{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;border-bottom:1px solid #e8eef5}.admin-section-head span{display:block;margin-bottom:4px;color:#0f766e;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.admin-section-head h2{margin:0;color:#132238;font-size:18px;line-height:1.25}.admin-section-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#2563eb;background:#eff6ff}.admin-section-icon.is-busy{color:#b45309;background:#fff7ed}.admin-section-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px}.admin-inline-error{max-width:280px;color:#b42318;font-size:12px;font-weight:700;line-height:1.35}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.admin-data-section{overflow:hidden}.admin-filter-card{padding:16px 18px;border-bottom:1px solid #e8eef5;background:linear-gradient(90deg,#0f766e0d,#2563eb0a),#fbfdff}.admin-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px}.admin-filter-field{display:grid;gap:7px;min-width:0}.admin-filter-field span{color:#42526a;font-size:12px;font-weight:800}.admin-filter-field input,.admin-filter-field select{width:100%;height:38px;min-width:0;padding:0 10px;border:1px solid #d9e2ec;border-radius:7px;color:#172033;background:#ffffffe6;font:inherit;font-size:13px}.admin-filter-hint{margin:12px 0 0;color:#64748b;font-size:12px;line-height:1.5}.compact-action{min-height:34px;padding:0 14px;border-radius:7px}.admin-wide-table{min-width:1060px}.admin-empty-cell{padding:28px 16px!important;color:#718198;text-align:center;font-weight:700}.admin-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid rgba(15,118,110,.24);border-radius:999px;color:#0f766e;background:#eefaf7;font-size:12px;font-weight:800;white-space:nowrap}.admin-chip.is-fill{color:#9a3412;border-color:#d9770647;background:#fff7ed}.admin-site-summary{min-height:142px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px}.admin-site-summary div{display:grid;align-content:center;gap:10px;min-width:0;padding:16px;border:1px solid rgba(203,213,225,.72);border-radius:8px;background:#f8fbff}.admin-site-summary span{color:#64748b;font-size:12px;font-weight:800}.admin-site-summary strong{color:#132238;font-size:24px;line-height:1}.admin-login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 0% 0%,rgba(20,184,166,.12),transparent 30%),linear-gradient(180deg,#eff6ff,#f8fbff)}.admin-login-card{width:min(420px,100%);padding:32px;border:1px solid rgba(203,213,225,.72);border-radius:12px;background:#ffffffe6;box-shadow:0 18px 48px #0f172a14}.admin-login-mark{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:#0f766e;background:#e7f8f5}.admin-login-card h1{margin:18px 0 10px;color:#132238;font-size:28px;line-height:1.15}.admin-login-card p{margin:0;color:#607086;line-height:1.65}.admin-login-form{margin-top:22px;display:grid;gap:16px}.admin-login-form label{display:grid;gap:8px}.admin-login-form span{color:#42526a;font-size:13px;font-weight:700}.admin-login-form input{height:42px;padding:0 12px;color:#132238;border:1px solid #d9e2ec;border-radius:8px;background:#fbfdff}.admin-login-error{padding:10px 12px;border:1px solid #fed7d7;border-radius:8px;color:#b42318;background:#fff5f5;font-size:13px}.admin-login-button{width:100%}.panel-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.panel-header span{display:block;margin-bottom:5px;color:#0f766e;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.panel-header h1{margin:0;color:#132238;font-size:24px;line-height:1.2;letter-spacing:0}.table-card,.chart-panel,.flow-editor,.diagnostic-panel{border:1px solid rgba(203,213,225,.72);border-radius:8px;background:#ffffffd1}.table-card{margin-bottom:26px}.table-scroll{width:100%;overflow:auto}.data-table{width:100%;min-width:980px;border-collapse:collapse;font-size:13.5px}.data-table.compact-table{min-width:780px}.data-table th{height:44px;padding:0 16px;color:#42526a;background:#f6f9fc;border-bottom:1px solid #e3e9f1;font-weight:700;text-align:left;white-space:nowrap}.data-table td{height:48px;padding:8px 16px;border-bottom:1px solid #eef3f7;white-space:nowrap}.data-table tr:hover td{background:#f8fafc}.cell-input{width:100%;min-width:96px;height:34px;padding:0 10px;color:#1f2937;border:1px solid #edf2f7;border-radius:6px;background:#fbfdff;outline:none}.cell-input:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1c}.cell-input:disabled{color:#42526a;background:#f8fbff;cursor:not-allowed}.cell-input.number{text-align:right}.action-col{width:64px;text-align:center}.primary-button,.secondary-button,.ghost-button,.icon-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:7px;border:1px solid transparent;font-weight:700}.primary-button{padding:0 16px;background:#0f766e;color:#fff;box-shadow:0 5px 10px #0f766e29}.primary-button:hover{background:#0b5f59}.primary-button:disabled{cursor:not-allowed;opacity:.62}.secondary-button{padding:0 15px;color:#132238;border-color:#d8e2ee;background:#ffffffdb}.secondary-button:hover,.ghost-button:hover{background:#f8fafc}.ghost-button{padding:0 14px;color:#44546a;border-color:#cbd5e1b8;background:#ffffff9e}.topbar .ghost-button{color:#536174;border-color:#cbd5e1db;background:#f8fafcd1}.icon-button{width:32px;min-height:32px;border-color:#e2e8f0;background:#fff;color:#64748b}.icon-button.danger:hover{color:#be123c;border-color:#fecdd3;background:#fff1f2}.metric-pill{min-height:36px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border-radius:7px;color:#68788e;border:1px solid rgba(203,213,225,.7);background:#f8fafcdb;font-size:12px}.metric-pill.state-ok{color:#0f766e;border-color:#0f766e3d;background:#eefaf7}.metric-pill.state-warn{color:#9a3412;border-color:#d9770642;background:#fff7ed}.metric-pill strong{color:#132238;font-size:15px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:16px;margin-bottom:18px}.metric-card{min-height:98px;padding:18px;border:1px solid rgba(203,213,225,.72);border-radius:8px;background:#fffc}.metric-card span{display:block;color:#64748b;font-size:13px;font-weight:700}.metric-card strong{display:flex;align-items:flex-end;gap:6px;margin-top:12px;color:#132238;font-size:30px;line-height:1}.metric-card small{margin-bottom:3px;color:#64748b;font-size:12px}.metric-card em{display:block;margin-top:12px;color:#66768b;font-size:12px;font-style:normal;font-weight:700}.tone-teal{border-color:#0f766e3d;background:#f0faf7}.tone-teal span{color:#0f766e}.tone-blue{border-color:#2563eb38;background:#f2f7ff}.tone-blue span{color:#2563eb}.tone-amber{border-color:#d9770642;background:#fff8ed}.tone-amber span,.tone-amber strong{color:#9a3412}.tone-neutral{border-color:#94a3b847;background:#f8fbff}.flow-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}.flow-editor{min-height:460px;display:flex;flex-direction:column;overflow:hidden}.editor-toolbar{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;border-bottom:1px solid #edf2f7;color:#64748b;font-size:13px}.editor-toolbar strong{color:#0f766e}.flow-editor textarea{flex:1;width:100%;min-height:0;padding:18px;resize:none;border:0;outline:none;color:#172033;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.6}.flow-editor textarea:read-only{color:#1e293b;background:linear-gradient(180deg,#f8fbffeb,#fffffffa)}.diagnostic-panel{min-height:0;padding:16px;display:grid;grid-auto-rows:min-content;gap:14px;overflow:auto}.issue-list{padding:14px;border-radius:8px;border:1px solid #fde3bf;background:#fffbebb8;color:#9a3412}.issue-list.subdued{border-color:#dbeafe;background:#f8fbff;color:#315174}.issue-list strong{display:block;margin-bottom:7px;font-size:13px}.issue-list ul{margin:0;padding-left:18px}.issue-list li{margin:4px 0;line-height:1.45;font-size:13px}.chart-panel{margin-bottom:18px;padding:24px}.chart-title{display:flex;align-items:center;gap:8px;margin-bottom:18px;color:#132238;font-weight:800}.chart-title-stacked{align-items:flex-start;flex-direction:column;gap:7px}.chart-title-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px}.chart-title-main{display:inline-flex;align-items:center;gap:8px}.chart-mode-toggle{display:inline-flex;gap:2px;padding:3px;border:1px solid rgba(203,213,225,.82);border-radius:8px;background:#f8fafceb}.chart-mode-toggle button{min-height:28px;padding:0 10px;border:0;border-radius:6px;color:#64748b;background:transparent;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.chart-mode-toggle button:hover{color:#0f766e;background:#eefaf7}.chart-mode-toggle button.is-active{color:#0f766e;background:#dff4ef}.chart-title-stacked small{color:#64748b;font-size:12px;font-weight:700;line-height:1.45}.chart-title-stacked .chart-visibility-note{color:#475569;font-weight:800}.chart-wrap{position:relative;width:100%;height:310px}.chart-empty-state{min-height:240px;display:flex;align-items:center;justify-content:center;color:#64748b;font-weight:800}.chart-frame{position:relative;overflow:hidden}.chart-frame:before{content:"";position:absolute;inset:0 auto 16px 0;z-index:3;width:58px;pointer-events:none;background:linear-gradient(90deg,#fff 72%,#fff0)}.chart-scroll{width:100%;overflow-x:auto;cursor:grab;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.chart-scroll.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.chart-scroll .chart-wrap{min-width:1040px}.chart-wrap svg{width:auto;height:100%;display:block}.chart-y-axis{position:sticky;left:0;z-index:4;float:left;margin-right:-58px;pointer-events:none}.chart-y-axis span{position:absolute;right:12px;transform:translateY(-50%);color:#5c708f;font-size:12px;line-height:1;white-space:nowrap}.grid-line{stroke:#edf2f7;stroke-width:1}.axis-label,.legend-label{fill:#718198;font-size:12px}.legend-heading{fill:#132238;font-size:12px;font-weight:900}.legend-label{fill:#42526a;font-weight:700}.legend-label.is-zero{fill:#8290a4}.legend-stat{fill:#64748b;font-size:10px;font-weight:700}.legend-stat.is-zero{fill:#94a3b8}.outlier-marker{fill:#be123c;font-size:14px;font-weight:900}.results-table{flex:1;min-height:300px;margin-bottom:0}.result-table-toolbar{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid #e3e9f1;color:#64748b;font-size:13px;font-weight:700}.pagination-controls{display:inline-flex;align-items:center;gap:10px}.pagination-controls strong{min-width:70px;color:#132238;text-align:center}.results-table .table-scroll{border-radius:8px}.results-table .data-table{min-width:1360px;table-layout:fixed}.result-col-date{width:128px}.result-col-dma{width:112px}.result-col-name{width:160px}.result-col-number{width:122px}.result-col-small{width:96px}.result-col-flag{width:150px}.data-table th.number-cell,.data-table td.number-cell{text-align:right;font-variant-numeric:tabular-nums}.data-table th.number-cell,.data-table td.number-cell{padding-right:18px}.data-table td.number-cell.emphasis{color:#be123c;font-weight:800;background:transparent}.readonly-badge,.readonly-cell{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid rgba(15,118,110,.22);border-radius:999px;color:#0f766e;background:#eefaf7;font-size:12px;font-weight:800}.readonly-cell{justify-content:center;min-width:30px;padding:0;color:#64748b;border-color:#cbd5e1b3;background:#f8fbff}.backend-result-panel{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:16px;margin-bottom:18px;padding:16px;border:1px solid rgba(15,118,110,.18);border-radius:10px;background:linear-gradient(135deg,#0f766e14,#2563eb0d),#ffffffd1}.backend-result-copy{display:grid;align-content:center;gap:8px}.backend-result-heading{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.backend-result-copy strong{color:#132238;font-size:16px}.backend-result-copy span{color:#5d6b7d;font-size:13px;line-height:1.55}.source-mode-badge{min-height:24px;display:inline-flex;align-items:center;padding:0 9px;border:1px solid #d9e2ec;border-radius:6px;color:#536174;background:#f8fafceb;font-size:11px;font-weight:900;white-space:nowrap}.source-mode-badge.is-live{color:#0f766e;border-color:#0f766e42;background:#eefaf7}.source-mode-badge.is-demo{color:#9a6a00;border-color:#b453093d;background:#fff8e7}.source-mode-note{color:#6c7a8f;font-size:12px;line-height:1.45}.range-preset-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.range-preset-row button{min-height:30px;padding:0 11px;border:1px solid rgba(15,118,110,.2);border-radius:999px;color:#0f766e;background:#f0faf7eb;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.range-preset-row button:hover{border-color:#0f766e6b;background:#e0f5ef}.tool-filter-grid{display:grid;grid-template-columns:minmax(160px,.9fr) minmax(150px,1fr) minmax(150px,1fr) minmax(130px,.9fr) auto;gap:10px;align-items:end}.tool-filter-grid label{display:grid;gap:7px}.tool-filter-grid span{color:#42526a;font-size:12px;font-weight:800}.tool-filter-grid input{width:100%;height:38px;min-width:0;padding:0 10px;border:1px solid #d9e2ec;border-radius:7px;color:#172033;background:#ffffffe6;font:inherit;font-size:13px}.filter-search-button{min-width:88px;height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 15px;border:1px solid rgba(15,118,110,.18);border-radius:7px;color:#fff;background:#0f766e;box-shadow:0 5px 10px #0f766e24;font:inherit;font-size:13px;font-weight:800}.filter-search-button:hover:not(:disabled){background:#0b5f59}.filter-search-button:disabled{cursor:not-allowed;opacity:.62}.results-view-stack .panel-header{align-items:center;margin-bottom:12px}.results-view-stack .panel-header span{margin-bottom:3px;font-size:10px}.results-view-stack .panel-header h1{font-size:22px}.results-view-stack .panel-header .button-row{gap:8px}.results-view-stack .panel-header .primary-button,.results-view-stack .panel-header .secondary-button{min-height:34px;padding-inline:13px}.results-view-stack .backend-result-panel{grid-template-columns:minmax(340px,.9fr) minmax(0,1.45fr);gap:14px;margin-bottom:16px;padding:12px 14px;border-radius:8px}.results-view-stack .backend-result-copy{gap:6px}.results-view-stack .backend-result-heading{gap:8px}.results-view-stack .backend-result-copy strong{font-size:14px}.results-view-stack .backend-result-copy span{font-size:12px;line-height:1.45}.results-view-stack .source-mode-badge{min-height:22px;padding:0 8px;font-size:10px}.results-view-stack .source-mode-note{font-size:11px}.results-view-stack .range-preset-row{gap:7px;margin-top:2px}.results-view-stack .range-preset-row button{min-height:26px;padding:0 10px;font-size:11px}.results-view-stack .tool-filter-grid{gap:8px}.results-view-stack .tool-filter-grid label{gap:5px}.results-view-stack .tool-filter-grid span{font-size:11px}.results-view-stack .tool-filter-grid input{height:34px;font-size:12px}.results-view-stack .filter-search-button{height:34px;min-width:82px;padding:0 12px;font-size:12px}.result-decision-panel{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:start;gap:16px;margin-bottom:16px}.result-primary-stack{min-width:0;display:grid;gap:12px}.result-conclusion-card,.result-context-card,.result-source-card{min-width:0;border:1px solid rgba(203,213,225,.72);border-radius:8px;background:#ffffffdb}.result-conclusion-card{padding:20px}.result-source-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;overflow:hidden}.result-source-card>div{min-width:0;display:grid;align-content:center;gap:6px;min-height:92px;padding:14px 16px}.result-source-card>div+div{border-left:1px solid #e3e9f1}.result-source-card span{color:#64748b;font-size:11px;font-weight:900}.result-source-card strong{min-width:0;color:#132238;font-size:17px;line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.result-source-card small{color:#6c7a8f;font-size:11px;font-weight:750;line-height:1.25}.result-source-card strong small{color:#64748b;font-size:11px}.result-section-label{display:block;margin-bottom:8px;color:#0f766e;font-size:11px;font-weight:900}.result-conclusion-card h2{margin:0;color:#132238;font-size:26px;line-height:1.15;text-wrap:balance}.result-conclusion-card p{max-width:760px;margin:12px 0 0;color:#59697d;line-height:1.6}.result-metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.result-metric-strip>div{min-width:0;min-height:78px;display:grid;align-content:space-between;gap:10px;padding:12px;border:1px solid #e3e9f1;border-radius:8px;background:#fbfdff}.result-metric-strip span{color:#64748b;font-size:12px;font-weight:800}.result-metric-strip strong{min-width:0;display:flex;align-items:flex-end;gap:4px;color:#132238;font-size:20px;line-height:1.05;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.result-metric-strip small{margin-bottom:1px;color:#64748b;font-size:11px}.result-metric-strip .quality-good strong{color:#0f766e}.result-metric-strip .quality-medium strong{color:#9a6a00}.result-metric-strip .quality-warn strong{color:#b42318}.result-context-card{display:grid;grid-template-columns:1fr}.result-context-block{min-width:0;padding:16px 18px}.result-context-block+.result-context-block{border-top:1px solid #e3e9f1}.result-evidence-list{margin:0;display:grid;gap:10px}.result-evidence-list div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px}.result-evidence-list dt{color:#7a8aa0;font-size:12px;font-weight:800}.result-evidence-list dd{min-width:0;margin:0;color:#132238;font-size:13px;font-weight:750;line-height:1.45}.result-action-list{margin:0;padding:0;list-style:none;display:grid;gap:10px;counter-reset:action}.result-action-list li{position:relative;display:grid;gap:4px;padding-left:28px;color:#59697d;line-height:1.45}.result-action-list li:before{counter-increment:action;content:counter(action);position:absolute;left:0;top:1px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;color:#0f766e;background:#e7f8f5;font-size:11px;font-weight:900}.result-action-list strong{color:#132238;font-size:13px}.result-action-list span{font-size:13px}.results-view-stack .metric-grid{gap:14px;margin-bottom:16px}.results-view-stack .metric-card{min-height:76px;padding:14px 16px}.results-view-stack .metric-card span{font-size:12px}.results-view-stack .metric-card strong{margin-top:8px;font-size:26px}.results-view-stack .metric-card em{margin-top:8px;font-size:11px}.mobile-card-list{display:grid;gap:14px}.mobile-only{display:none}.mobile-entity-card,.mobile-result-card{border:1px solid rgba(203,213,225,.72);border-radius:8px;background:#ffffffd6;padding:14px}.mobile-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.mobile-card-header strong{color:#132238;font-size:16px;line-height:1.2}.mobile-field-grid,.mobile-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mobile-field{display:grid;gap:6px}.mobile-field span{color:#6c7a8f;font-size:12px;font-weight:700}.mobile-field.is-full{grid-column:1 / -1}.mobile-result-date{margin-bottom:12px;color:#6c7a8f;font-size:12px;font-weight:700}.mobile-result-badge{flex:0 0 auto;padding:4px 8px;border:1px solid rgba(203,213,225,.8);border-radius:999px;color:#42526a;background:#f8fbff;font-size:11px;font-weight:700}.mobile-metric{display:grid;gap:6px;padding:10px 12px;border-radius:8px;background:#f8fbff}.mobile-metric span{color:#6c7a8f;font-size:12px;font-weight:700}.mobile-metric strong{color:#132238;font-size:18px;line-height:1;font-variant-numeric:tabular-nums}.mobile-metric.is-emphasis{background:#fff5f7}.mobile-metric.is-emphasis strong{color:#be123c}.mobile-result-limit-note{padding:10px 12px;border:1px solid #dbeafe;border-radius:8px;color:#315174;background:#f8fbff;font-size:12px;font-weight:700;line-height:1.45}.empty-state{height:100%;min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#64748b}.empty-state h2{margin:0;color:#132238}.empty-state-error{max-width:520px;margin:0;padding:10px 12px;border:1px solid #fed7d7;border-radius:8px;color:#b42318;background:#fff5f5;font-size:13px;font-weight:700;line-height:1.5;text-align:center}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.product-row-action{width:fit-content;min-height:34px;margin-top:12px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(37,99,235,.24);border-radius:8px;padding:7px 10px;background:#fff;color:#1d4ed8;font-size:13px;font-weight:800}.floodcast-shell{background:linear-gradient(180deg,#eff6ffcc,#f7fafcfa),#f7f9fb}.floodcast-mark{background:#e0f2fe;color:#0369a1}.floodcast-data-grid{grid-template-columns:minmax(0,1fr) 280px}.floodcast-editor textarea{min-height:520px}.floodcast-diagnostics{align-content:start}.coverage-summary{display:grid;gap:8px;padding:12px;border:1px solid #dbe5ef;border-radius:8px;background:#fff}.coverage-summary>strong{color:#132238;font-size:13px}.coverage-row{min-height:30px;display:grid;grid-template-columns:minmax(70px,.7fr) minmax(0,1fr) 52px;align-items:center;gap:8px;padding:0 8px;border-radius:6px;background:#f8fbff}.coverage-row span{color:#42526a;font-size:12px;font-weight:800}.coverage-row small{color:#64748b;font-size:12px;font-weight:700}.coverage-row em{color:#0f766e;font-size:12px;font-style:normal;font-weight:800;text-align:right}.coverage-row.state-warn{background:#fff7ed}.coverage-row.state-warn em{color:#9a3412}.series-import-list{display:grid;gap:7px;padding:12px;border:1px solid #dbe5ef;border-radius:8px;background:#fff}.series-import-list>strong{color:#132238;font-size:13px}.series-import-list button{width:100%;display:grid;gap:3px;padding:8px 10px;border:1px solid #dbe5ef;border-radius:7px;color:#536174;background:#f8fbff;font:inherit;text-align:left}.series-import-list button.is-active{color:#0f766e;border-color:#0f766e47;background:#eefaf7}.series-import-list span{overflow:hidden;color:inherit;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.series-import-list small{color:#718198;font-size:11px;font-weight:700}.floodcast-window-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.compact-field{display:grid;gap:7px;padding:12px;border:1px solid #e1e8f0;border-radius:8px;background:#fff}.compact-field span,.floodcast-field-grid span,.parameter-input-grid span{color:#64748b;font-size:12px;font-weight:800}.compact-field input,.floodcast-field-grid input,.floodcast-field-grid select,.parameter-input-grid input{width:100%;height:36px;border:1px solid #cbd5e1;border-radius:8px;padding:0 10px;background:#fff;color:var(--ink)}.correction-panel{padding:16px}.compact-head{align-items:center}.correction-grid{grid-template-columns:minmax(160px,1fr) repeat(2,minmax(120px,.8fr))}.floodcast-reservoir-panel{padding:16px}.floodcast-reservoir-list{display:grid;gap:16px}.floodcast-object-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #e3e9f1}.floodcast-object-head span{display:block;margin-bottom:5px;color:#0f766e;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.floodcast-object-head strong{color:#132238;font-size:20px;line-height:1.2}.floodcast-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.floodcast-field-grid.compact{grid-template-columns:minmax(160px,1.4fr) minmax(120px,.8fr) minmax(150px,.8fr);align-items:end}.floodcast-field-grid label,.parameter-input-grid label{display:grid;gap:7px}.floodcast-reservoir-groups{margin-top:14px}.storage-curve-field{display:grid;gap:8px;margin-top:14px}.storage-curve-field span{color:#64748b;font-size:12px;font-weight:800}.storage-curve-field textarea{width:100%;min-height:98px;padding:12px;border:1px solid #cbd5e1;border-radius:8px;color:#132238;background:#fff;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;line-height:1.5;resize:vertical}.toggle-field{min-height:36px;display:inline-flex!important;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px}.toggle-field input{width:18px;height:18px}.floodcast-subbasin-list{display:grid;gap:14px}.floodcast-subbasin-list.nested{margin-top:16px}.floodcast-subbasin-card{padding:16px}.subbasin-card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px}.icon-button{width:38px;height:38px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d9e2ec;border-radius:8px;background:#fff;color:#42526a}.icon-button.danger{border-color:#dc262640;color:#b91c1c}.parameter-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.initial-state-group{grid-column:1 / -1}.parameter-group{min-width:0;border:1px solid #e1e8f0;border-radius:8px;padding:12px;background:#fbfdff}.parameter-group>strong{display:block;margin-bottom:10px;color:#1f2d3d;font-size:13px}.parameter-input-grid{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));gap:10px}.floodcast-chart-panel{padding:14px}.result-tabbar{min-height:42px;display:inline-flex;align-items:center;gap:4px;margin-bottom:14px;padding:4px;border:1px solid rgba(203,213,225,.72);border-radius:8px;background:#fffc}.result-tabbar button{min-height:32px;padding:0 13px;border:0;border-radius:6px;color:#64748b;background:transparent;font:inherit;font-size:12px;font-weight:800}.result-tabbar button:hover{color:#0f766e;background:#f2fbf8}.result-tabbar button.is-active{color:#0f766e;background:#dff4ef}.run-context-bar,.floodcast-result-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}.run-context-bar{padding:12px 14px;border:1px solid rgba(203,213,225,.72);border-radius:8px;background:#ffffffd1}.run-context-bar span{min-height:28px;display:inline-flex;align-items:center;gap:6px;padding-right:12px;color:#64748b;border-right:1px solid #e3e9f1;font-size:12px;font-weight:800}.run-context-bar span:last-child{border-right:0}.run-context-bar strong{color:#132238}.run-context-bar .run-mode-pill{padding:0 10px;border-radius:999px;border:1px solid rgba(15,118,110,.24);color:#0f766e;background:#eefaf7}.run-context-bar .run-mode-pill.mode-manual{border-color:#2563eb38;color:#2563eb;background:#eff6ff}.stale-result-banner{margin-bottom:14px;padding:11px 14px;border:1px solid rgba(217,119,6,.28);border-radius:8px;color:#9a3412;background:#fff7ed;font-size:13px;font-weight:800}.correction-summary{display:flex;align-items:center;flex-wrap:wrap;gap:9px 12px;margin-bottom:14px;padding:11px 14px;border:1px solid rgba(15,118,110,.22);border-radius:8px;background:#eefaf7;color:#0f766e;font-size:12px;font-weight:800}.correction-summary strong{color:#0f766e}.correction-summary span,.correction-summary em{color:#42526a;font-size:12px;font-style:normal;font-weight:700}.correction-summary.is-muted{border-color:#94a3b83d;background:#f8fafc;color:#64748b}.correction-summary.is-muted strong{color:#475569}.floodcast-run-history{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:10px;border:1px solid rgba(203,213,225,.72);border-radius:8px;background:#f8fafcd1}.floodcast-run-history>span{padding:0 6px;color:#64748b;font-size:12px;font-weight:800}.floodcast-run-history button{min-height:34px;display:inline-flex;align-items:center;gap:8px;padding:0 11px;border:1px solid #d8e2ee;border-radius:7px;color:#42526a;background:#fff;font:inherit;font-size:12px;font-weight:800}.floodcast-run-history button.is-active{color:#0f766e;border-color:#0f766e47;background:#eefaf7}.floodcast-run-history button.is-failed,.floodcast-run-history button.is-failed:disabled{cursor:help;opacity:1;color:#9f1239;border-color:#be123c3d;background:#fff1f2}.floodcast-run-history button.is-failed strong{color:#9f1239}.floodcast-run-history button.is-failed small{color:#be123c}.floodcast-run-history small{color:#718198;font-size:11px;font-weight:700}.floodcast-result-toolbar{padding:10px;border:1px solid rgba(203,213,225,.72);border-radius:8px;background:#ffffffbd}.floodcast-result-actions{flex-wrap:nowrap}.floodcast-result-toolbar>span{padding:0 6px;color:#64748b;font-size:12px;font-weight:800}.floodcast-result-toolbar button{min-height:32px;padding:0 12px;border:1px solid #d8e2ee;border-radius:7px;color:#42526a;background:#fff;font:inherit;font-size:12px;font-weight:800}.floodcast-result-toolbar button.is-active{color:var(--series-color);border-color:color-mix(in srgb,var(--series-color),white 68%);background:color-mix(in srgb,var(--series-color),white 92%)}.reservoir-view-switch{display:inline-grid;grid-template-columns:repeat(2,minmax(76px,1fr));gap:2px;padding:3px;border:1px solid #d7e1e6;border-radius:7px;background:#edf2f4}.reservoir-view-switch button{min-width:0;min-height:30px;padding:0 12px;border:0;border-radius:5px;color:#5d6d7e;background:transparent;box-shadow:none;appearance:none;cursor:pointer;font:inherit;font-size:12px;font-weight:800;line-height:1;white-space:nowrap}.reservoir-view-switch button:hover:not(.is-active){color:#254454;background:#ffffff8c}.reservoir-view-switch button.is-active{color:#0f766e;background:#fff;box-shadow:0 0 0 1px #0f766e1f,0 1px 2px #0f233714}.reservoir-view-switch button:focus-visible{outline:2px solid rgba(15,118,110,.35);outline-offset:1px}.floodcast-chart-wrap{display:grid;gap:10px}.floodcast-chart-scroll{overflow-x:auto;padding-bottom:6px}.floodcast-chart{min-width:760px;width:100%;height:360px;display:block}.floodcast-chart.hydrograph-chart{height:460px}.floodcast-chart line{stroke:#d4deea;stroke-width:1}.floodcast-chart text{fill:#64748b;font-size:12px;font-weight:700}.rain-bar{fill:#2563eb6b}.forecast-rain{fill:#2563eb38}.flow-line,.observed-line,.reservoir-observed-line,.reservoir-forecast-line{fill:none;stroke-linejoin:round;stroke-linecap:round}.flow-line{stroke:#0f766e;stroke-width:3}.observed-line{stroke:#b45309;stroke-width:2.4;stroke-dasharray:7 7}.reservoir-observed-line,.reservoir-forecast-line{stroke:var(--series-color);stroke-width:3}.reservoir-forecast-line{stroke-dasharray:8 8}.forecast-boundary{stroke:#94a3b8!important;stroke-width:1.4!important;stroke-dasharray:5 6}.forecast-label{fill:#475569!important;font-size:12px!important;font-weight:800!important}.chart-segment-label{fill:#94a3b8!important;font-size:11px!important;font-weight:800!important}.reservoir-peak-dot{fill:#fff;stroke:var(--series-color);stroke-width:2.5}.chart-hit-area{fill:transparent;cursor:crosshair;pointer-events:all}.chart-hover-line{stroke:#475569!important;stroke-width:1.2!important;stroke-dasharray:3 4;pointer-events:none}.chart-hover-dot{fill:#fff;stroke:var(--series-color);stroke-width:2.5;pointer-events:none}.chart-tooltip-object{overflow:visible;pointer-events:none}.floodcast-chart-tooltip{display:grid;gap:6px;padding:11px 12px;border:1px solid rgba(148,163,184,.42);border-radius:7px;color:#42526a;background:#fffffff7;box-shadow:0 10px 28px #1c324829;font-size:11px;font-variant-numeric:tabular-nums}.floodcast-chart-tooltip>strong{color:#132238;font-size:13px}.floodcast-chart-tooltip>span,.floodcast-chart-tooltip>em{color:#64748b;font-size:11px;font-style:normal;font-weight:700}.chart-tooltip-reservoir{display:grid;gap:3px;padding-top:6px;border-top:1px solid #e3e9f1}.chart-tooltip-reservoir b{color:var(--series-color);font-size:12px}.chart-tooltip-reservoir small{color:#536174;font-size:10px;font-weight:700}.floodcast-chart-legend{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:0 4px}.floodcast-chart-legend span{min-height:28px;display:inline-flex;align-items:center;gap:7px;color:#42526a;font-size:12px;font-weight:800}.floodcast-chart-legend i{width:18px;height:3px;border-radius:999px;background:var(--series-color)}.floodcast-chart-legend .legend-line-sample i{width:24px;height:0;border-top:3px solid #132238;background:transparent}.floodcast-chart-legend .legend-line-sample.forecast-flow i{border-top-style:dashed}.floodcast-chart-legend .legend-rain-sample i{width:10px;height:16px;border-radius:2px;background:#2563eb6b}.floodcast-chart-legend .legend-rain-sample.forecast-rain-sample i{background:#2563eb38}.floodcast-chart-legend strong{color:#132238;font-weight:800}.floodcast-chart-legend em{color:#64748b;font-size:12px;font-style:normal;font-weight:700}.floodcast-mobile-results .mobile-field strong{color:#132238;font-size:13px;font-variant-numeric:tabular-nums;line-height:1.35}.floodcast-mobile-results .mobile-field.is-full{padding-top:10px;border-top:1px solid #e3e9f1}.table-inline-note{padding:12px 14px 0;color:#64748b;font-size:12px;font-weight:800}.floodcast-result-table{min-width:1320px}.water-level-table{min-width:1180px}.water-level-badge{min-height:26px;display:inline-flex;align-items:center;padding:0 9px;border:1px solid rgba(148,163,184,.28);border-radius:999px;color:#475569;background:#f8fafc;font-size:12px;font-weight:800;white-space:nowrap}.water-level-badge.state-normal{border-color:#0f766e3d;color:#0f766e;background:#eefaf7}.water-level-badge.state-aboveFloodLimit,.water-level-badge.state-aboveDamCrest,.water-level-badge.state-belowDeadWater{border-color:#d9770647;color:#9a3412;background:#fff7ed}.water-level-badge.state-aboveDamCrest{border-color:#be123c4d;color:#be123c;background:#fff1f2}.chart-time-label{font-size:11px!important;font-weight:600!important}@media(max-width:1100px){.site-header{flex-wrap:wrap;padding:14px 18px;gap:14px 20px}.site-nav{width:100%;order:3;gap:16px}.section-inner{width:calc(100% - 36px)}.floodcast-data-grid{grid-template-columns:1fr}.parameter-input-grid{grid-template-columns:repeat(3,minmax(72px,1fr))}.hero-section{min-height:640px}.hero-content{padding:84px 18px 90px}.hero-section h1{font-size:46px}.signal-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.signal-strip-label{grid-column:1 / -1;min-height:42px;padding:10px 18px}.signal-item:nth-of-type(odd){border-left:0}.engine-row{grid-template-columns:44px minmax(0,1fr)}.engine-tags{grid-column:2}.product-matrix{grid-template-columns:1fr}.nightsight-entry-grid{grid-template-columns:1fr;gap:28px}.bundle-row{grid-template-columns:1fr;gap:14px}.topbar{align-items:flex-start;flex-direction:column;padding:16px 18px}.workspace{grid-template-columns:1fr;gap:20px;padding:18px 18px 28px}.admin-workspace,.admin-grid{grid-template-columns:1fr}.admin-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.backend-result-panel,.result-decision-panel{grid-template-columns:1fr}.tool-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-search-button{width:100%}.admin-site-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px)}.step-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.step-button+.step-button{margin-top:0}}@media(max-width:820px){.site-header{padding:12px 14px}.site-nav{display:none}.site-header-actions,.site-header-actions .ghost-button{width:100%}.hero-section{min-height:580px}.hero-content{padding:72px 14px 74px}.hero-section h1{font-size:36px}.hero-summary{font-size:16px}.signal-band{margin-top:-28px}.section-band{padding:56px 0}.section-head h2{font-size:28px}.signal-strip,.rule-strip{grid-template-columns:1fr}.signal-item,.signal-item:nth-of-type(odd){border-left:0;border-top:1px solid #e3e9f1}.admin-filter-grid,.admin-site-summary,.tool-filter-grid{grid-template-columns:1fr}.admin-section-head{align-items:flex-start;flex-direction:column;padding:14px 16px}.admin-section-actions{width:100%;justify-content:space-between}.engine-row{grid-template-columns:38px minmax(0,1fr);gap:14px;padding:18px 0}.engine-tags{grid-column:1 / -1}.featured-product-body{padding:20px}.featured-product h3{font-size:24px}.rule-item+.rule-item{border-top:1px solid #e3e9f1;border-left:0}.cta-inner{flex-direction:column;align-items:flex-start;padding:26px 22px}.cta-button{width:100%}.workspace{gap:16px;padding:14px 14px 24px}.sidebar,.flow-grid,.metric-grid{grid-template-columns:1fr}.topbar-actions{width:100%;gap:8px;flex-wrap:wrap;justify-content:flex-start}.topbar-actions .ghost-button,.topbar-actions .primary-button{flex:1 1 auto}.brand{min-width:0}.sidebar{display:flex}.step-list{display:grid;grid-template-columns:1fr}.step-button{min-height:48px}.side-panel{padding:16px}.panel-header{align-items:stretch;flex-direction:column}.panel-header h1{font-size:19px}.metric-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.result-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-brief-row{grid-template-columns:40px minmax(0,1fr);align-items:start}.platform-brief-row span,.platform-brief-row strong,.platform-brief-row p{grid-column:2}.capability-grid{grid-template-columns:1fr}.home-footer-inner{flex-wrap:wrap;justify-content:flex-start}.home-footer-inner span{flex:1 1 100%}.chart-wrap{height:240px}.editor-toolbar{align-items:flex-start;flex-direction:column;justify-content:center;padding:12px 14px}.flow-editor textarea{padding:14px;font-size:12px}.desktop-only{display:none!important}.mobile-only{display:block}.mobile-card-list.mobile-only{display:grid}.button-row{width:100%}.button-row .secondary-button,.button-row .ghost-button,.button-row .primary-button{flex:1 1 calc(50% - 4px)}.results-table,.table-card{margin-bottom:18px}.mobile-field-grid,.mobile-result-grid{grid-template-columns:1fr}.mobile-result-card{padding:14px}.result-table-toolbar{align-items:flex-start;flex-direction:column}}@media(max-width:700px){.topbar{position:sticky;top:0;z-index:20;min-height:auto;padding:10px 12px;gap:10px}.topbar-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.floodcast-topbar .topbar-actions{width:100%;display:flex;align-items:center;flex-wrap:nowrap}.floodcast-topbar .topbar-summary-pill{min-width:0;flex:1 1 auto}.floodcast-topbar .topbar-back-button{flex:0 0 auto}.mode-switch{grid-column:1 / -1;width:100%}.mode-switch button{flex:1}.topbar-summary-pill{grid-column:1 / -1;min-height:30px;padding:0 8px;font-size:11px;justify-content:space-between}.topbar-summary-pill strong{font-size:12px}.topbar-actions .ghost-button,.topbar-actions .primary-button{min-height:34px;padding:0 8px;font-size:12px}.workspace{gap:10px;padding:10px 10px 18px}.sidebar{gap:10px}.step-list{display:flex;gap:8px;padding:8px;overflow-x:auto;scroll-snap-type:x mandatory}.step-button{flex:0 0 174px;min-height:52px;grid-template-columns:28px 1fr 14px;scroll-snap-align:start}.step-copy strong{font-size:13px}.step-copy small{font-size:11px}.side-panel{padding:12px}.side-panel strong{margin:6px 0 4px;font-size:18px}.panel-header{gap:10px;margin-bottom:12px}.panel-header h1{font-size:18px}.backend-result-panel{gap:12px;padding:12px}.backend-result-copy strong{font-size:14px}.backend-result-copy span{font-size:12px}.tool-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-search-button{width:100%}.tool-filter-grid input,.admin-filter-field input,.admin-filter-field select{height:36px;font-size:12px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-conclusion-card{padding:16px}.result-conclusion-card h2{font-size:21px}.result-source-card{grid-template-columns:1fr}.result-source-card>div{min-height:72px;padding:12px 14px}.result-source-card>div+div{border-top:1px solid #e3e9f1;border-left:0}.result-evidence-list div{grid-template-columns:1fr;gap:3px}.result-context-block{padding:14px}.metric-card{min-height:76px;padding:12px}.metric-card strong{margin-top:8px;font-size:22px}.metric-card em{margin-top:8px}.floodcast-field-grid,.floodcast-field-grid.compact,.parameter-group-grid{grid-template-columns:1fr}.subbasin-card-head{align-items:stretch;flex-direction:column}.flow-grid{gap:10px}.flow-editor{min-height:430px}.flow-editor textarea{min-height:320px;font-size:11.5px;line-height:1.55;white-space:pre;overflow:auto}.diagnostic-panel{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px;gap:8px;overflow:visible}.diagnostic-panel .issue-list{grid-column:1 / -1}.chart-panel{padding:14px}.chart-title{margin-bottom:12px}.chart-title-head{align-items:flex-start;flex-direction:column;gap:10px}.chart-mode-toggle{width:100%}.chart-mode-toggle button{flex:1}.chart-title-stacked small{font-size:11px}.chart-wrap{height:260px}.chart-scroll{margin:0 -2px;padding-bottom:6px}.mobile-card-list{gap:10px}.mobile-entity-card,.mobile-result-card{padding:12px}.mobile-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-metric{padding:9px 10px}.mobile-metric strong{font-size:16px}}@media(max-width:520px){.site-brand strong{font-size:16px}.site-brand small{font-size:11px}.site-brand-mark{width:38px;height:38px}.section-inner{width:calc(100% - 24px)}.hero-section{min-height:520px}.hero-content{padding:64px 12px 62px}.hero-section h1{font-size:30px}.hero-actions{flex-direction:column;align-items:stretch}.primary-link,.hero-secondary{width:100%}.signal-item,.product-row,.bundle-row,.rule-item{padding:18px}.section-head h2{font-size:24px}.bundle-title strong,.product-row h3{font-size:20px}.cta-inner h2{font-size:24px}.topbar{padding:14px 12px}.brand strong{font-size:16px}.brand small{font-size:11px}.workspace{padding:12px 12px 22px}.brand{gap:10px}.brand-mark{width:38px;height:38px}.button-row .secondary-button,.button-row .ghost-button,.button-row .primary-button{flex:1 1 100%}.floodcast-result-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.floodcast-result-actions .primary-button{grid-column:1 / -1;order:-1}.floodcast-result-actions .primary-button,.floodcast-result-actions .secondary-button{width:100%;min-width:0}.result-metric-strip{grid-template-columns:1fr}.topbar-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-actions .ghost-button,.topbar-actions .primary-button{flex:initial}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{min-height:88px;padding:14px}.metric-card strong{font-size:21px}.tool-filter-grid,.diagnostic-panel{grid-template-columns:1fr}.parameter-input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-editor{min-height:380px}.flow-editor textarea{min-height:280px}.chart-wrap{height:230px}.mobile-card-header{align-items:flex-start}.mobile-card-header strong{font-size:15px}.mobile-result-badge{margin-top:1px}.empty-state{min-height:340px}.empty-state.compact h2{font-size:16px}}.floodcast-global-settings{margin-bottom:16px;padding:16px;border:1px solid #dbe5ef;border-radius:8px;background:#fff}.floodcast-global-settings .floodcast-object-head{margin-bottom:14px}.floodcast-config-workbench{min-width:0;display:grid;grid-template-columns:minmax(230px,260px) minmax(0,1fr);align-items:start;gap:16px}.floodcast-object-nav,.floodcast-object-editor{min-width:0;border:1px solid #dbe5ef;border-radius:8px;background:#fff}.floodcast-object-nav{position:sticky;top:18px;overflow:hidden}.object-nav-head{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #e3e9f1;background:#f8fbff}.object-nav-head span,.object-nav-head strong{display:block}.object-nav-head span{margin-bottom:4px;color:#64748b;font-size:11px;font-weight:800}.object-nav-head strong{color:#132238;font-size:13px}.floodcast-object-select{display:none}.object-nav-list{max-height:calc(100dvh - 250px);overflow-y:auto;padding:8px}.object-nav-group+.object-nav-group{margin-top:8px;padding-top:8px;border-top:1px solid #e8edf3}.object-nav-item{width:100%;min-width:0;min-height:46px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 9px;border:1px solid transparent;border-radius:6px;color:#536174;background:transparent;font:inherit;text-align:left;transition:border-color .16s ease,background .16s ease,color .16s ease}.object-nav-item:hover{color:#0f766e;background:#f2fbf8}.object-nav-item.is-active{color:#0f766e;border-color:#0f766e38;background:#eaf8f4}.object-nav-item>span{min-width:0}.object-nav-item strong,.object-nav-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-nav-item strong{color:inherit;font-size:12px;font-weight:800}.object-nav-item small{margin-top:2px;color:#718198;font-size:10px;font-weight:700}.object-nav-item.subbasin-item{padding-left:22px}.object-nav-item em{min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;font-size:10px;font-style:normal;font-weight:900}.object-nav-item em.state-ok{color:#0f766e;background:#dff4ef}.object-nav-item em.state-warn{color:#9a3412;background:#ffedd5}.object-nav-add{min-height:34px;display:inline-flex;align-items:center;gap:6px;margin:3px 8px 2px 38px;padding:0;border:0;color:#0f766e;background:transparent;font:inherit;font-size:11px;font-weight:800}.floodcast-object-editor{padding:18px}.floodcast-object-editor>.floodcast-object-head{margin-bottom:0}.object-editor-actions{width:auto}.editor-section{min-width:0;padding:18px 0 20px;border-bottom:1px solid #e3e9f1}.editor-section:last-child{padding-bottom:0;border-bottom:0}.editor-section-head{min-height:28px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.editor-section-head>div{min-width:0}.editor-section-head strong,.editor-section-head span{display:block}.editor-section-head strong{color:#1f2d3d;font-size:13px}.editor-section-head span{color:#718198;font-size:11px;font-weight:700;line-height:1.5;text-align:right}.editor-section-head div span{margin-top:4px;text-align:left}.floodcast-field-grid.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}.reservoir-level-grid{grid-template-columns:repeat(5,minmax(92px,1fr))}.gain-loss-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}.compact-action{min-height:32px;padding:0 10px;font-size:12px}.lav-editor{min-width:0;overflow:hidden;border:1px solid #dbe5ef;border-radius:7px}.lav-row{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(110px,1fr)) 48px;align-items:center;gap:10px;padding:8px 10px}.lav-row+.lav-row{border-top:1px solid #e8edf3}.lav-header{min-height:36px;color:#64748b;background:#f8fafc;font-size:11px;font-weight:800}.lav-row label{min-width:0}.lav-row label>span{display:none}.lav-row input{width:100%;min-width:0;height:34px;padding:0 9px;border:1px solid #cbd5e1;border-radius:6px;color:#132238;background:#fff;font-variant-numeric:tabular-nums}.lav-row .icon-button{width:34px;height:34px}.config-tabbar{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin:16px 0 0;padding:3px;border:1px solid #dbe5ef;border-radius:7px;background:#f6f9fc}.config-tabbar button{min-width:0;min-height:34px;padding:0 8px;border:0;border-radius:5px;color:#64748b;background:transparent;font:inherit;font-size:12px;font-weight:800}.config-tabbar button:hover,.config-tabbar button.is-active{color:#0f766e;background:#fff}.config-tabbar button.is-active{box-shadow:0 1px 2px #19344817}.subbasin-tab-panel{margin-top:16px}.parameter-group-grid.subbasin-tab-panel{align-items:start}.forcing-binding-stack{display:grid;gap:12px}.forcing-binding-editor{min-width:0;padding:14px;border:1px solid #dbe5ef;border-radius:8px;background:#fbfdff}.forcing-binding-editor.has-error{border-color:#d977066b;background:#fffdf9}.forcing-binding-head,.forcing-binding-foot,.snow-module-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.forcing-binding-head>div:first-child,.snow-module-head>div{display:flex;align-items:center;gap:8px;color:#0f766e}.forcing-binding-head strong,.snow-module-head strong{color:#1f2d3d;font-size:13px}.binding-mode-control{display:grid;grid-template-columns:repeat(2,minmax(74px,1fr));gap:2px;padding:2px;border:1px solid #d8e2ee;border-radius:7px;background:#f1f5f9}.binding-mode-control button{min-height:28px;padding:0 9px;border:0;border-radius:5px;color:#64748b;background:transparent;font:inherit;font-size:11px;font-weight:800}.binding-mode-control button.is-active{color:#0f766e;background:#fff;box-shadow:0 1px 2px #19344814}.forcing-source-list{display:grid;gap:8px;margin-top:12px}.forcing-source-row{min-width:0;display:grid;grid-template-columns:minmax(120px,.9fr) minmax(150px,1.2fr) minmax(80px,.45fr) 38px;align-items:end;gap:9px}.forcing-source-row label{min-width:0;display:grid;gap:6px}.forcing-source-row label span{color:#64748b;font-size:11px;font-weight:800}.forcing-source-row input{width:100%;min-width:0;height:34px;padding:0 9px;border:1px solid #cbd5e1;border-radius:6px;color:#132238;background:#fff}.forcing-source-row input:disabled{color:#64748b;background:#f1f5f9}.forcing-source-row .icon-button{width:34px;height:34px}.forcing-binding-foot{margin-top:11px;padding-top:10px;border-top:1px solid #e3e9f1}.forcing-binding-foot>span{color:#64748b;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}.forcing-binding-foot>span.is-valid strong{color:#0f766e}.forcing-binding-foot>span.is-invalid strong{color:#b45309}.text-action{min-height:28px;display:inline-flex;align-items:center;gap:5px;padding:0;border:0;color:#0f766e;background:transparent;font:inherit;font-size:11px;font-weight:800}.forcing-errors{display:grid;gap:3px;margin-top:8px;color:#9a3412;font-size:11px;font-weight:700;line-height:1.45}.initial-condition-grid{grid-template-columns:repeat(4,minmax(82px,1fr))}.snow-panel{border-bottom:0}.snow-module-head{justify-content:flex-start;padding-bottom:14px;border-bottom:1px solid #e3e9f1}.snow-module-head>div{min-width:0;display:grid;gap:3px;margin-right:auto}.snow-module-head span{color:#718198;font-size:11px;font-weight:700}.snow-parameter-grid{max-width:420px;grid-template-columns:repeat(2,minmax(120px,1fr));margin-top:14px}.icon-button:disabled{cursor:not-allowed;opacity:.42}.delete-confirm-backdrop{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:20px;background:#0f172a7a}.delete-confirm-dialog{width:min(100%,440px);display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:22px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 24px 64px #0f172a3d}.delete-confirm-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;color:#be123c;background:#fff1f2}.delete-confirm-copy{min-width:0}.delete-confirm-copy>span{display:block;margin-bottom:5px;color:#be123c;font-size:11px;font-weight:800}.delete-confirm-copy h2{margin:0;color:#132238;font-size:18px;line-height:1.4;overflow-wrap:anywhere}.delete-confirm-copy p{margin:8px 0 0;color:#64748b;font-size:13px;line-height:1.65}.delete-confirm-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.delete-confirm-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 15px;border:1px solid #be123c;border-radius:7px;color:#fff;background:#be123c;font:inherit;font-weight:800}.delete-confirm-button:hover{border-color:#9f1239;background:#9f1239}@media(max-width:430px){.delete-confirm-backdrop{padding:14px}.delete-confirm-dialog{grid-template-columns:38px minmax(0,1fr);gap:12px;padding:18px}.delete-confirm-icon{width:38px;height:38px}.delete-confirm-actions>button{flex:1}}@media(max-width:1180px){.reservoir-level-grid{grid-template-columns:repeat(3,minmax(92px,1fr))}.floodcast-field-grid.three-column{grid-template-columns:repeat(2,minmax(0,1fr))}.forcing-source-row{grid-template-columns:minmax(110px,.9fr) minmax(130px,1fr) 76px 36px}}@media(max-width:1100px){.floodcast-config-workbench{grid-template-columns:minmax(0,1fr)}.floodcast-object-nav{position:static;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px}.object-nav-head{grid-column:2;grid-row:1;min-height:auto;padding:0;border:0;background:transparent}.object-nav-head>div{display:none}.floodcast-object-select{width:100%;min-width:0;height:38px;display:block;grid-column:1;grid-row:1;padding:0 10px;border:1px solid #cbd5e1;border-radius:7px;color:#132238;background:#fff;font:inherit;font-size:13px;font-weight:700}.object-nav-list{display:none}}@media(max-width:700px){.floodcast-global-settings,.floodcast-object-editor{padding:12px}.correction-grid,.floodcast-field-grid.three-column,.gain-loss-grid{grid-template-columns:minmax(0,1fr)}.reservoir-level-grid,.initial-condition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.object-editor-actions{width:auto}.forcing-binding-head{align-items:flex-start;flex-direction:column}.binding-mode-control{width:100%}.forcing-source-row{grid-template-columns:minmax(0,1fr) minmax(74px,.42fr) 34px}.forcing-source-row label:nth-child(2){grid-column:1 / -1;grid-row:2}.forcing-source-row label:nth-child(3){grid-column:2;grid-row:1}.forcing-source-row .icon-button{grid-column:3;grid-row:1}}@media(max-width:520px){.floodcast-shell,.floodcast-workspace,.content-panel,.panel-stack,.floodcast-config-workbench,.floodcast-object-editor{min-width:0;max-width:100%}.floodcast-object-editor>.floodcast-object-head{align-items:flex-start}.floodcast-object-head strong{font-size:17px;overflow-wrap:anywhere}.config-tabbar{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-section-head{align-items:flex-start;flex-direction:column}.editor-section-head span{text-align:left}.reservoir-level-grid,.initial-condition-grid,.snow-parameter-grid{max-width:none;grid-template-columns:minmax(0,1fr)}.lav-editor{overflow:visible;border:0}.lav-header{display:none}.lav-row{grid-template-columns:minmax(0,1fr) 34px;gap:8px;padding:10px;border:1px solid #dbe5ef;border-radius:7px;background:#fbfdff}.lav-row+.lav-row{margin-top:8px;border-top:1px solid #dbe5ef}.lav-row label{grid-column:1;display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1fr);align-items:center;gap:8px}.lav-row label>span{display:block;color:#64748b;font-size:10px;font-weight:800}.lav-row .icon-button{grid-column:2;grid-row:1}.forcing-binding-editor{padding:11px}.forcing-source-row{grid-template-columns:minmax(0,1fr) 34px}.forcing-source-row label,.forcing-source-row label:nth-child(2),.forcing-source-row label:nth-child(3){grid-column:1;grid-row:auto}.forcing-source-row .icon-button{grid-column:2;grid-row:1}.forcing-binding-foot{align-items:flex-start;flex-direction:column}.snow-module-head{align-items:flex-start;flex-wrap:wrap}}.forward-fill-context{color:#9a3412!important}.forward-fill-context i,.forward-fill-badge i{width:7px;height:7px;flex:0 0 auto;display:inline-block;border-radius:50%;background:#f59e0b}.forward-fill-badge{min-height:24px;display:inline-flex;align-items:center;gap:6px;padding:0 8px;border:1px solid rgba(217,119,6,.28);border-radius:6px;color:#9a3412;background:#fff7ed;font-size:11px;font-weight:800;white-space:nowrap}.floodcast-shell{background:#f3f6f8}.floodcast-v2-topbar{min-height:76px;position:sticky;top:0;z-index:20;padding-inline:clamp(18px,2.4vw,38px);background:#fffffff5}.floodcast-run-context{min-width:0;display:flex;align-items:stretch;gap:0;margin-left:auto;border:1px solid #dce5eb;border-radius:7px;background:#f8fafb}.floodcast-run-context>div{min-width:142px;display:grid;gap:3px;padding:8px 14px}.floodcast-run-context>div+div{border-left:1px solid #dce5eb}.floodcast-run-context span,.floodcast-plan-bar span,.operational-panel-head span,.run-readiness-band span,.recent-run-summary span,.active-result-note span{color:#748294;font-size:10px;font-weight:800;letter-spacing:0}.floodcast-run-context strong{color:#1b2a3a;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.floodcast-run-context strong.state-ok{color:#0f766e}.floodcast-run-context strong.state-warn{color:#b45309}.floodcast-v2-actions{gap:8px}.floodcast-run-button{min-height:40px;box-shadow:none}.floodcast-v2-workspace{flex:1;min-width:0;display:flex;flex-direction:column}.floodcast-primary-nav{min-width:0;min-height:62px;position:sticky;top:76px;z-index:15;display:flex;align-items:center;gap:20px;padding:0 clamp(18px,2.4vw,38px);border-bottom:1px solid #dce5eb;background:#fafcfdf5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.floodcast-primary-tabs{min-width:0;display:flex;align-items:stretch;align-self:stretch;gap:3px}.floodcast-primary-tabs>button{min-width:118px;display:flex;align-items:center;gap:8px;position:relative;padding:0 13px;border:0;color:#5e6d80;background:transparent;font:inherit;text-align:left;transition:color .16s ease,background .16s ease}.floodcast-primary-tabs>button:after{content:"";height:2px;position:absolute;right:12px;bottom:0;left:12px;background:transparent}.floodcast-primary-tabs>button:hover{color:#0f766e;background:#f0f7f5}.floodcast-primary-tabs>button.is-active{color:#0f766e;background:#edf7f4}.floodcast-primary-tabs>button.is-active:after{background:#0f766e}.floodcast-primary-tabs strong,.floodcast-primary-tabs small{display:block;letter-spacing:0}.floodcast-primary-tabs strong{font-size:12px;font-weight:800}.floodcast-primary-tabs small{margin-top:2px;color:#8390a0;font-size:9px;font-weight:700}.floodcast-plan-bar{min-width:0;display:flex;align-items:center;gap:8px;margin-left:auto}.floodcast-plan-bar>div{max-width:180px;display:grid;gap:3px}.floodcast-plan-bar>div strong{overflow:hidden;color:#263547;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.floodcast-plan-bar .plan-name-input{width:min(210px,16vw);height:34px;padding:0 10px;border:1px solid #ccd8e2;border-radius:6px;color:#263547;background:#fff;font-size:11px;font-weight:700}.floodcast-v2-content{width:min(100%,1720px);margin:0 auto;padding:24px clamp(18px,2.4vw,38px) 40px;overflow:visible}.floodcast-v2-content .panel-stack{overflow:visible}.run-readiness-band{min-width:0;display:grid;grid-template-columns:minmax(280px,1.4fr) repeat(3,minmax(145px,.65fr));margin-bottom:16px;border:1px solid #d8e3e9;border-left:4px solid #0f766e;border-radius:8px;background:#fff}.run-readiness-band.state-warn{border-left-color:#d97706}.run-readiness-band>div{min-width:0;display:grid;align-content:center;gap:5px;padding:17px 20px}.run-readiness-band>div+div{border-left:1px solid #e3eaef}.run-readiness-band strong{color:#1a2938;font-size:20px;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:0}.run-readiness-band small{overflow:hidden;color:#6c7b8c;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.run-readiness-main strong{font-size:22px}.overview-work-grid,.run-history-layout,.data-quality-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.72fr);gap:16px}.overview-work-grid+.overview-work-grid{margin-top:16px}.operational-panel{min-width:0;border:1px solid #d8e3e9;border-radius:8px;background:#fff}.operational-panel-head,.configuration-check-head{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e3eaef;color:#516275}.operational-panel-head>div,.configuration-check-head>div{min-width:0;display:grid;gap:4px}.operational-panel-head strong,.configuration-check-head strong{overflow:hidden;color:#1e2d3d;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.readiness-table{min-width:560px}.reservoir-readiness-panel{overflow-x:auto}.readiness-row{min-height:58px;display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(90px,.65fr));align-items:center;gap:12px;padding:8px 16px;border-top:1px solid #edf1f4;color:#425267;font-size:12px}.readiness-row:first-child{border-top:0}.readiness-row>span:first-child{min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:3px 7px}.readiness-row>span:first-child small{grid-column:2;color:#8491a0;font-size:10px}.readiness-header{min-height:38px;color:#758396;background:#f7f9fa;font-size:10px;font-weight:800}.quality-state{width:fit-content;min-height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;border-radius:5px;font-size:10px;font-style:normal;font-weight:800;white-space:nowrap}.quality-state.state-ok{color:#0f766e;background:#e5f5f0}.quality-state.state-warn,.quality-state.state-pending{color:#9a5b08;background:#fff4d6}.quality-state.state-error{color:#b42318;background:#feeceb}.source-panel,.data-run-settings,.configuration-check-panel{align-self:start}.source-rule-row{display:grid;gap:10px;padding:14px 16px;border-top:1px solid #edf1f4}.source-rule-row:first-of-type{border-top:0}.source-rule-row>div:first-child{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:10px}.source-rule-row strong{color:#2a394b;font-size:12px}.source-rule-row span{overflow:hidden;color:#738195;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.source-rule-row.compact-rule{grid-template-columns:minmax(0,1fr) auto;align-items:center}.source-rule-row.compact-rule>div:first-child{display:grid;gap:4px}.overview-issue-list,.overview-plan-list,.plan-ledger-list{display:grid;padding:8px}.overview-issue-list>button,.overview-plan-list>button,.plan-ledger-list>button{min-width:0;min-height:42px;display:grid;grid-template-columns:18px minmax(0,1fr) 16px;align-items:center;gap:8px;padding:7px 9px;border:0;border-radius:6px;color:#516175;background:transparent;font:inherit;text-align:left}.overview-issue-list>button:hover,.overview-plan-list>button:hover,.plan-ledger-list>button:hover,.plan-ledger-list>button.is-active{color:#0f766e;background:#edf7f4}.overview-issue-list>button{color:#9a5b08}.overview-issue-list>span{padding:4px 10px 8px;color:#7a8797;font-size:10px}.quality-empty{min-height:144px;display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;color:#0f766e}.quality-empty>div{display:grid;gap:5px}.quality-empty strong,.quality-empty span{display:block}.quality-empty strong{color:#263648;font-size:13px}.quality-empty span{color:#748295;font-size:11px}.recent-run-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid #edf1f4}.recent-run-summary>div{display:grid;gap:5px;padding:16px}.recent-run-summary>div+div{border-left:1px solid #edf1f4}.recent-run-summary strong,.active-result-note strong{color:#233345;font-size:15px;font-variant-numeric:tabular-nums}.recent-run-summary small,.active-result-note small,.overview-plan-list small,.plan-ledger-list small{color:#7c8999;font-size:10px;font-weight:700}.overview-plan-list span,.plan-ledger-list span{min-width:0;display:grid;gap:3px}.overview-plan-list strong,.plan-ledger-list strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.data-strategy-strip,.data-metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #d8e3e9;border-radius:8px;background:#fff}.data-strategy-strip{margin-bottom:14px}.data-strategy-strip>div{min-width:0;min-height:64px;display:grid;grid-template-columns:22px minmax(0,1fr);align-content:center;gap:3px 8px;padding:10px 14px;color:#0f766e}.data-strategy-strip>div+div,.data-metric-strip>div+div{border-left:1px solid #e3eaef}.data-strategy-strip span,.data-strategy-strip strong{grid-column:2}.data-strategy-strip span{color:#7a8797;font-size:10px;font-weight:800}.data-strategy-strip strong{overflow:hidden;color:#29394b;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.data-view-toolbar{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.data-view-toolbar>span{color:#738195;font-size:11px;font-weight:700}.data-metric-strip{margin:14px}.data-metric-strip>div{display:grid;gap:4px;padding:12px}.data-metric-strip span{color:#7a8797;font-size:10px;font-weight:800}.data-metric-strip strong{color:#1e2e3f;font-size:18px;font-variant-numeric:tabular-nums}.data-metric-strip small{color:#7a8797;font-size:9px}.data-coverage-table{min-width:600px;margin-top:4px}.data-coverage-panel{overflow-x:auto}.data-coverage-row{min-height:46px;display:grid;grid-template-columns:minmax(160px,1.3fr) repeat(4,minmax(78px,.6fr));align-items:center;gap:10px;padding:7px 16px;border-top:1px solid #edf1f4;color:#526175;font-size:11px;font-variant-numeric:tabular-nums}.data-coverage-header{min-height:36px;color:#778596;background:#f7f9fa;font-size:10px;font-weight:800}.data-run-settings{display:grid;gap:10px;padding-bottom:12px}.data-run-settings>:not(.operational-panel-head){margin-inline:12px}.data-run-settings .floodcast-window-fields{gap:8px}.data-run-settings .compact-field{padding:10px}.data-raw-editor{min-height:560px}.data-raw-editor textarea{min-height:500px}.data-issue-band{margin-top:14px}.configuration-blocker-summary{min-height:38px;display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:0 12px;border:1px solid #f3d4a6;border-radius:7px;color:#9a5b08;background:#fff8e8;font-size:11px;font-weight:800}.floodcast-config-workbench{grid-template-columns:minmax(220px,240px) minmax(0,1fr) minmax(240px,275px);gap:14px}.configuration-breadcrumb{min-height:28px;display:flex;align-items:center;gap:6px;margin-bottom:10px;color:#7b8999;font-size:10px;font-weight:800}.configuration-breadcrumb strong{color:#0f766e}.configuration-check-panel{min-width:0;position:sticky;top:154px;overflow:hidden;border:1px solid #d8e3e9;border-radius:8px;background:#fff}.configuration-check-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #e7edf1;background:#f7f9fa}.configuration-check-summary span{display:grid;gap:3px;padding:10px;color:#748294;font-size:9px;text-align:center}.configuration-check-summary span+span{border-left:1px solid #e3eaef}.configuration-check-summary b{color:#263648;font-size:15px}.configuration-check-list{display:grid;gap:8px;padding:12px;border-bottom:1px solid #edf1f4}.configuration-check-list>div,.configuration-note{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:7px;color:#526175;font-size:10px;font-weight:700;line-height:1.45}.configuration-check-list svg{color:#0f766e}.configuration-check-list.is-blocking svg,.configuration-note svg{color:#d97706}.configuration-check-list.is-blocking{color:#9a5b08;background:#fffaf0}.configuration-note{padding:12px;color:#8a570f;background:#fff7e2}.configuration-note.is-confirmed{color:#0f766e;background:#eaf7f3}.configuration-note.is-confirmed svg{color:#0f766e}.forcing-selection-count{color:#6f7e90;font-size:10px;font-weight:800}.forcing-source-row{grid-template-columns:50px minmax(105px,.9fr) minmax(135px,1.15fr) minmax(78px,.45fr) 38px}.station-enable-field{align-self:stretch;display:flex!important;align-items:center;justify-content:center;gap:5px!important;padding-bottom:4px}.station-enable-field input{width:16px;height:16px;accent-color:#0f766e}.station-enable-field span{font-size:9px!important}.forcing-source-row.is-disabled{opacity:.58}.forcing-binding-foot{display:grid;grid-template-columns:minmax(0,1fr) auto auto}.forcing-binding-foot>span strong{color:#263648}.forcing-binding-foot>em{color:#9a5b08;font-size:9px;font-style:normal;font-weight:800}.run-ledger-table{min-width:620px}.run-ledger{overflow-x:auto}.run-ledger-row{width:100%;min-height:48px;display:grid;grid-template-columns:minmax(100px,.7fr) minmax(145px,1fr) 80px 100px 18px;align-items:center;gap:12px;padding:7px 16px;border:0;border-top:1px solid #edf1f4;color:#526175;background:transparent;font:inherit;font-size:11px;text-align:left}button.run-ledger-row:hover:not(:disabled){color:#0f766e;background:#f0f8f5}.run-ledger-header{min-height:36px;color:#7a8797;background:#f7f9fa;font-size:10px;font-weight:800}.run-ledger-row:disabled{cursor:not-allowed;opacity:.7}.ledger-empty{padding:28px 16px;color:#7a8797;font-size:11px;text-align:center}.active-result-note{display:grid;gap:5px;margin:8px;padding:12px;border-top:1px solid #edf1f4}@media(max-width:1500px){.floodcast-run-context>div:nth-child(2){display:none}.floodcast-config-workbench{grid-template-columns:minmax(220px,240px) minmax(0,1fr)}.configuration-check-panel{position:static;grid-column:1 / -1}}@media(max-width:1250px){.floodcast-primary-nav{align-items:stretch;flex-direction:column;gap:0;padding-block:0 8px}.floodcast-primary-tabs{min-height:58px}.floodcast-plan-bar{width:100%;min-height:40px;margin-left:0}.floodcast-plan-bar>div{max-width:none}.floodcast-plan-bar .plan-name-input{width:min(260px,34vw);margin-left:auto}.overview-work-grid,.run-history-layout,.data-quality-layout{grid-template-columns:minmax(0,1fr)}.run-readiness-band{grid-template-columns:repeat(3,minmax(0,1fr))}.run-readiness-main{grid-column:1 / -1;border-bottom:1px solid #e3eaef}.run-readiness-band>div:nth-child(2){border-left:0}}@media(max-width:900px){.floodcast-run-context{display:none}.floodcast-v2-topbar{min-height:66px}.floodcast-primary-nav{top:66px}.floodcast-primary-tabs{overflow-x:auto}.floodcast-primary-tabs>button{min-width:108px}.floodcast-config-workbench{grid-template-columns:minmax(0,1fr)}.configuration-check-panel{grid-column:auto}.data-strategy-strip,.data-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.data-strategy-strip>div:nth-child(3),.data-metric-strip>div:nth-child(3){border-left:0;border-top:1px solid #e3eaef}.data-strategy-strip>div:nth-child(4),.data-metric-strip>div:nth-child(4){border-top:1px solid #e3eaef}}@media(max-width:700px){.floodcast-v2-topbar{min-height:66px;align-items:center;flex-direction:row;padding-inline:12px}.floodcast-v2-topbar .floodcast-v2-actions{width:auto;display:flex;margin-left:auto}.floodcast-v2-topbar .brand{min-width:0}.floodcast-v2-topbar .brand small,.floodcast-v2-actions .topbar-back-button{display:none}.floodcast-run-button{width:40px;padding:0}.floodcast-run-button span{display:none}.floodcast-primary-nav{padding-inline:12px}.floodcast-primary-tabs>button{min-width:96px;justify-content:center;padding-inline:9px}.floodcast-primary-tabs small,.floodcast-plan-bar>div,.floodcast-plan-bar .plan-name-input{display:none}.floodcast-plan-bar{justify-content:flex-end}.floodcast-v2-content{padding:16px 12px 88px}.run-readiness-band{grid-template-columns:repeat(2,minmax(0,1fr))}.run-readiness-main{grid-column:1 / -1}.run-readiness-band>div{padding:14px}.run-readiness-band>div:nth-child(4){grid-column:1 / -1;border-top:1px solid #e3eaef;border-left:0}.run-readiness-band strong{font-size:17px}.data-view-toolbar{align-items:flex-start;flex-direction:column}.forcing-source-row{grid-template-columns:44px minmax(0,1fr) 34px}.forcing-source-row>label:nth-of-type(2),.forcing-source-row>label:nth-of-type(3),.forcing-source-row>label:nth-of-type(4){grid-column:2 / -1}.forcing-source-row .icon-button{grid-column:3;grid-row:1}.forcing-binding-foot{grid-template-columns:minmax(0,1fr) auto}.forcing-binding-foot>em{grid-column:1;grid-row:2}.forcing-binding-foot .text-action{grid-column:2;grid-row:1 / span 2}}@media(max-width:430px){.data-strategy-strip,.data-metric-strip,.recent-run-summary{grid-template-columns:minmax(0,1fr)}.data-strategy-strip>div+div,.data-metric-strip>div+div,.recent-run-summary>div+div{border-top:1px solid #e3eaef;border-left:0}.configuration-check-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}.forward-fill-dot{fill:#f59e0b;stroke:#fff;stroke-width:2;pointer-events:none}.forward-fill-tooltip{color:#b45309!important;font-weight:900!important}.floodcast-chart-legend .legend-forward-fill i{width:9px;height:9px;border:2px solid #ffffff;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 1px #b4530957}.floodcast-shell{--floodcast-ink: #172331;--floodcast-muted: #667587;--floodcast-line: #d7e0e6;--floodcast-line-soft: #e8edf1;--floodcast-surface: #ffffff;--floodcast-surface-muted: #f5f7f8;--floodcast-accent: #0f766e;--floodcast-accent-soft: #e9f5f2;max-width:100%;overflow-x:clip;color:var(--floodcast-ink);background:#f2f5f6}.floodcast-shell :where(button,input,select,textarea,summary){font-family:inherit}.floodcast-shell :where(button,summary){-webkit-tap-highlight-color:transparent}.floodcast-shell :where(.primary-button,.secondary-button,.ghost-button,.icon-button,.floodcast-primary-tabs>button,.text-action){transition:color .15s ease,border-color .15s ease,background-color .15s ease,transform .1s ease}.floodcast-shell :where(button,summary):active{transform:translateY(1px)}.floodcast-v2-topbar{min-height:68px;display:grid;grid-template-columns:max-content minmax(300px,1fr) max-content max-content;align-items:center;gap:12px;padding:8px clamp(16px,2vw,30px);border-bottom-color:var(--floodcast-line);background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.floodcast-v2-topbar .brand{min-width:180px;gap:10px}.floodcast-v2-topbar .brand-mark{width:38px;height:38px;color:var(--floodcast-accent);background:var(--floodcast-accent-soft)}.floodcast-v2-topbar .brand strong{color:var(--floodcast-ink);font-size:16px}.floodcast-v2-topbar .brand small{margin-top:2px;color:var(--floodcast-muted);font-size:10px}.floodcast-plan-bar{width:100%;min-width:0;gap:6px;margin-left:0}.floodcast-plan-bar>div{min-width:104px;max-width:160px}.floodcast-plan-bar>div strong{color:#314153;font-size:10px}.floodcast-plan-bar .plan-name-input{width:auto;min-width:100px;max-width:230px;flex:1 1 170px;height:32px;border-color:#cbd6de;background:#fff}.floodcast-plan-bar .plan-selector{width:min(160px,14vw);min-width:112px;height:32px;flex:0 1 160px;padding:0 9px;border:1px solid #cbd6de;border-radius:6px;color:#314153;background:#fff;font-size:10px;font-weight:700}.floodcast-plan-bar .icon-button{width:32px;height:32px;min-height:32px}.floodcast-run-context{margin-left:0;border-color:var(--floodcast-line);background:var(--floodcast-surface-muted)}.floodcast-run-context>div{min-width:126px;display:grid;padding:6px 11px}.floodcast-run-context>div:nth-child(2){display:grid}.floodcast-run-context>div+div{border-left-color:var(--floodcast-line)}.floodcast-v2-actions{width:auto;flex-wrap:nowrap;gap:6px}.floodcast-run-button,.floodcast-v2-actions .topbar-back-button{min-height:36px;padding-inline:12px;white-space:nowrap;box-shadow:none}.floodcast-primary-nav{min-height:50px;top:68px;padding:0 clamp(16px,2vw,30px);border-bottom-color:var(--floodcast-line);background:#f8fafb;-webkit-backdrop-filter:none;backdrop-filter:none}.floodcast-primary-tabs{width:auto;min-height:50px;display:grid;grid-template-columns:repeat(4,minmax(104px,1fr));gap:0}.floodcast-primary-tabs>button{min-width:0;min-height:50px;justify-content:center;gap:6px;padding:0 14px;text-align:center}.floodcast-primary-tabs>button:after{right:10px;left:10px}.floodcast-primary-tabs>button:hover{color:var(--floodcast-accent);background:#f0f6f4}.floodcast-primary-tabs>button.is-active{color:var(--floodcast-accent);background:var(--floodcast-accent-soft)}.floodcast-primary-tabs>button.is-active:after{background:var(--floodcast-accent)}.floodcast-v2-content{width:min(100%,1680px);min-width:0;padding:14px clamp(16px,2vw,30px) 32px}.floodcast-v2-content :where(.panel-stack,.overview-work-grid,.operational-panel,.data-quality-layout,.floodcast-config-workbench,.floodcast-object-editor,.table-card){min-width:0;max-width:100%}.floodcast-v2-content .panel-header{align-items:center;margin-bottom:14px}.floodcast-v2-content .panel-header h1{font-size:20px}.run-readiness-band{margin-bottom:12px}.run-readiness-band>div{gap:3px;padding:10px 14px}.run-readiness-band strong{font-size:16px}.run-readiness-main strong{font-size:18px}.run-readiness-band small{font-size:10px}.overview-work-grid,.run-history-layout,.data-quality-layout{gap:12px}.operational-panel-head,.configuration-check-head{min-height:46px;padding:6px 12px}.operational-panel-head>div,.configuration-check-head>div{gap:2px}.operational-panel-head strong,.configuration-check-head strong{font-size:12px}.readiness-row{min-height:44px;padding:6px 14px}.readiness-header{min-height:34px}.run-settings-panel{align-self:start;display:grid;gap:8px;padding-bottom:10px;overflow:hidden}.run-settings-panel>.compact-field,.run-settings-panel>.floodcast-window-fields,.run-settings-panel>.advanced-run-settings,.run-settings-panel>.active-source-summary{margin-inline:14px}.run-settings-panel>.compact-field{margin-top:4px}.run-settings-panel .compact-field{gap:5px;padding:0;border:0;background:transparent}.run-settings-panel .compact-field input{height:34px;border-radius:6px;background:#fff}.advanced-run-settings{border-top:1px solid var(--floodcast-line-soft);border-bottom:1px solid var(--floodcast-line-soft)}.advanced-run-settings summary{min-height:36px;display:flex;align-items:center;color:#3f5163;cursor:pointer;font-size:11px;font-weight:800;list-style-position:inside}.advanced-run-settings[open] summary{color:var(--floodcast-accent)}.advanced-run-settings .floodcast-window-fields{padding:0 0 12px}.active-source-summary{display:grid;gap:5px;color:var(--floodcast-muted);font-size:10px;font-weight:700;line-height:1.45}.active-source-summary span{overflow-wrap:anywhere}.run-check-strip{min-width:0;display:grid;gap:8px;margin-top:12px;padding:10px 12px;border:1px solid #c9ded8;border-radius:8px;color:var(--floodcast-accent);background:#f0f8f6}.run-check-strip.has-issues{color:#945b0b;border-color:#ead4ae;background:#fff9ed}.run-check-strip>div:first-child{min-width:0;display:flex;align-items:center;gap:8px;font-size:12px}.run-check-strip>div:first-child>span{color:var(--floodcast-muted);font-size:11px;font-weight:700}.run-check-strip .overview-issue-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding:0}.run-check-strip .overview-issue-list>button{min-height:34px;grid-template-columns:minmax(0,1fr) 14px;padding:5px 8px}.run-check-strip .overview-issue-list>button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-source-panel{margin-bottom:12px;overflow:hidden}.data-source-routes{display:grid;padding:0 14px}.data-source-route{min-width:0;min-height:66px;display:grid;grid-template-columns:34px minmax(150px,.7fr) minmax(280px,1.4fr) auto auto;align-items:center;gap:10px;border-top:1px solid var(--floodcast-line-soft)}.data-source-route:first-child{border-top:0}.data-source-icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--floodcast-accent);background:var(--floodcast-accent-soft)}.data-source-route.is-pending .data-source-icon{color:#7a5b28;background:#fff4dd}.data-source-copy,.data-source-fields{min-width:0;display:grid;gap:3px}.data-source-copy strong{color:var(--floodcast-ink);font-size:12px}.data-source-copy span,.data-source-fields span,.data-source-fields small{color:var(--floodcast-muted);font-size:10px;font-weight:700;line-height:1.45}.data-source-fields small{color:#7a5b28}.data-source-route>em{min-width:48px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;border-radius:5px;color:var(--floodcast-accent);background:var(--floodcast-accent-soft);font-size:10px;font-style:normal;font-weight:800;white-space:nowrap}.data-source-route.is-pending>em{color:#7a5b28;background:#fff4dd}.data-source-action:empty{display:none}.active-data-bar{min-width:0;min-height:42px;display:grid;grid-template-columns:20px minmax(150px,1fr) repeat(3,auto) auto;align-items:center;gap:8px 12px;margin-bottom:10px;padding:6px 10px;border:1px solid var(--floodcast-line);border-left:3px solid #94a3b8;border-radius:7px;color:var(--floodcast-muted);background:#fff;font-size:10px;font-weight:700}.active-data-bar.is-saved{border-left-color:var(--floodcast-accent)}.active-data-bar>svg{color:var(--floodcast-accent)}.active-data-bar>div{min-width:0;display:grid;gap:2px}.active-data-bar>div span{color:#7b8998;font-size:9px;font-weight:800}.active-data-bar>div strong{overflow:hidden;color:var(--floodcast-ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.active-data-bar>em{min-height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;border-radius:5px;color:#667587;background:#edf1f3;font-style:normal;font-weight:800;white-space:nowrap}.active-data-bar.is-saved>em{color:var(--floodcast-accent);background:var(--floodcast-accent-soft)}.data-view-toolbar{min-height:36px;margin-bottom:10px}.data-metric-strip{margin:10px}.data-metric-strip>div{gap:3px;padding:9px 10px}.data-metric-strip strong{font-size:16px}.data-coverage-row{min-height:42px;padding:5px 14px}.data-coverage-header{min-height:32px}.data-toolbar-context{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:10px 14px;color:var(--floodcast-muted);font-size:10px;font-weight:700}.data-toolbar-context label{min-width:0;display:flex;align-items:center;gap:7px}.data-toolbar-context label>span{white-space:nowrap}.data-toolbar-context select{width:min(220px,28vw);min-width:120px;height:34px;padding:0 9px;border:1px solid #cbd6de;border-radius:6px;color:#314153;background:#fff;font-size:11px}.data-quality-layout.is-single-column{grid-template-columns:minmax(0,1fr)}.data-quality-layout.is-single-column .data-coverage-panel{width:100%}.floodcast-config-workbench{grid-template-columns:minmax(220px,250px) minmax(0,1fr);align-items:start;gap:14px}.floodcast-object-nav,.floodcast-object-editor{border-color:var(--floodcast-line);background:var(--floodcast-surface)}.floodcast-object-nav{top:132px}.floodcast-object-nav .object-nav-head{min-height:56px;padding:9px 12px}.floodcast-object-nav .object-nav-list{padding:6px}.floodcast-object-nav .object-nav-group+.object-nav-group{margin-top:6px;padding-top:6px}.floodcast-object-nav .object-nav-item{min-height:42px;padding-block:5px}.floodcast-object-nav .object-nav-add{min-height:30px;margin-top:1px;margin-bottom:1px}.floodcast-object-editor{padding:13px 16px}.floodcast-object-editor>.floodcast-object-head{padding-bottom:10px}.floodcast-object-editor>.floodcast-object-head span{margin-bottom:3px;font-size:10px}.floodcast-object-editor>.floodcast-object-head strong{font-size:17px;line-height:1.2}.floodcast-object-editor .object-editor-actions .secondary-button{min-height:32px;padding-inline:10px;font-size:12px}.floodcast-object-editor .editor-section{padding:12px 0 14px}.floodcast-object-editor .editor-section-head{min-height:24px;margin-bottom:8px}.floodcast-object-editor .editor-section-head strong{font-size:12px}.floodcast-object-editor .editor-section-head span{font-size:10px}.floodcast-object-editor .floodcast-field-grid{gap:10px}.floodcast-object-editor .floodcast-field-grid label,.floodcast-object-editor .parameter-input-grid label{gap:5px}.floodcast-object-editor .floodcast-field-grid span,.floodcast-object-editor .parameter-input-grid span{font-size:10.5px}.floodcast-object-editor .floodcast-field-grid input,.floodcast-object-editor .floodcast-field-grid select,.floodcast-object-editor .parameter-input-grid input{height:34px;font-size:13px}.floodcast-object-editor .config-tabbar{margin-top:10px}.floodcast-object-editor .config-tabbar button{min-height:30px}.floodcast-object-editor .subbasin-tab-panel{margin-top:10px}.object-validation-strip{min-width:0;min-height:30px;display:flex;align-items:center;gap:8px;margin:6px 0 0;padding:5px 9px;border:1px solid #c9ded8;border-radius:6px;color:var(--floodcast-accent);background:#f0f8f6;font-size:10px;font-weight:700}.object-validation-strip.has-issues{align-items:flex-start;color:#945b0b;border-color:#ead4ae;background:#fff9ed}.object-validation-strip span{min-width:0;overflow-wrap:anywhere}.object-validation-strip span strong{margin-right:8px;color:inherit}.forcing-binding-stack{gap:0}.forcing-rule-note{min-height:32px;display:flex;align-items:center;padding:6px 0;border-bottom:1px solid var(--floodcast-line-soft);color:var(--floodcast-muted);font-size:10px;font-weight:700}.model-input-access-head{align-items:center}.model-input-access-head .button-row{flex:0 0 auto}.model-input-source-strip{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--floodcast-line);border-bottom:1px solid var(--floodcast-line)}.model-input-source-strip>div{min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:2px 7px;padding:8px 10px}.model-input-source-strip>div+div{border-left:1px solid var(--floodcast-line-soft)}.model-input-source-strip svg{grid-row:1 / 3;color:#7a5b28}.model-input-source-strip .is-ready svg{color:var(--floodcast-accent)}.model-input-source-strip span,.model-input-source-strip small{min-width:0;overflow:hidden;color:var(--floodcast-muted);font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.model-input-source-strip strong{color:var(--floodcast-ink);font-size:10px;white-space:nowrap}.model-input-source-strip small{grid-column:2 / -1}.model-input-rule-table{min-width:0;border-bottom:1px solid var(--floodcast-line)}.model-input-rule-row{min-width:0;min-height:38px;display:grid;grid-template-columns:minmax(130px,1.15fr) repeat(3,minmax(110px,1fr));align-items:center;gap:10px;padding:5px 10px;border-top:1px solid var(--floodcast-line-soft)}.model-input-rule-row.is-header{min-height:30px;border-top:0;color:var(--floodcast-muted);background:var(--floodcast-surface-muted);font-size:9px;font-weight:800}.model-input-rule-row>strong{min-width:0;color:var(--floodcast-ink);font-size:11px}.model-input-rule-row>strong small{margin-left:6px;color:var(--floodcast-muted);font-size:9px;font-weight:700}.model-input-rule-row>span{min-width:0}.input-rule-badge{min-height:22px;display:inline-flex;align-items:center;padding:0 7px;border-radius:5px;color:#526274;background:#edf1f3;font-size:9px;font-style:normal;font-weight:800;white-space:nowrap}.input-rule-badge.is-import,.input-rule-badge.is-carry{color:var(--floodcast-accent);background:var(--floodcast-accent-soft)}.input-rule-badge.is-zero{color:#8a5810;background:#fff2d9}.input-rule-badge.is-none{color:#7b8998;background:transparent}.model-input-footnote{padding-top:6px;color:var(--floodcast-muted);font-size:9px;font-weight:700}.forcing-binding-editor,.forcing-binding-editor.has-error{padding:12px 0;border:0;border-bottom:1px solid var(--floodcast-line-soft);border-radius:0;background:transparent}.forcing-binding-editor:last-child{border-bottom:0}.forcing-binding-editor.has-error .forcing-binding-head{color:#945b0b}.forcing-source-list{gap:9px}.forcing-source-row{grid-template-columns:54px minmax(110px,.9fr) minmax(150px,1.2fr) minmax(76px,.42fr) 36px;gap:8px;padding:7px 0;border-top:1px solid #edf1f3}.forcing-source-row:first-child{border-top:0}.forcing-source-row>label{min-width:0}.source-protection-label{width:36px;height:34px;display:inline-flex;align-items:center;justify-content:center;align-self:end;border:1px solid #dbe3e8;border-radius:6px;color:#768495;background:#f4f6f7;font-size:9px;font-weight:800;white-space:nowrap}.floodcast-shell .config-tabbar button.is-active{box-shadow:none}.standalone-result-actions{justify-content:flex-end;margin-bottom:6px}.result-summary-line{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px 0;margin-bottom:10px;padding:9px 12px;border:1px solid var(--floodcast-line);border-radius:7px;color:var(--floodcast-muted);background:#fff}.result-summary-line>span{min-height:22px;display:inline-flex;align-items:center;gap:5px;padding:0 12px;border-left:1px solid var(--floodcast-line-soft);font-size:10px;font-weight:700;white-space:nowrap}.result-summary-line>span:first-child{padding-left:0;border-left:0}.result-summary-line strong{color:#29394a;font-variant-numeric:tabular-nums}.result-run-details{margin-bottom:10px;border:1px solid var(--floodcast-line);border-radius:7px;background:#fff;overflow:hidden}.result-run-details>summary{min-height:38px;display:flex;align-items:center;gap:7px;padding:0 12px;color:#526274;cursor:pointer;font-size:11px;font-weight:800}.result-run-details>summary::marker{color:var(--floodcast-accent)}.result-run-details[open]>summary{color:var(--floodcast-accent);border-bottom:1px solid var(--floodcast-line-soft);background:#f7faf9}.result-run-details .run-context-bar{margin:0;padding:10px 12px;border:0;border-bottom:1px solid var(--floodcast-line-soft);border-radius:0;background:#fff}.result-run-details .correction-summary{margin:10px 12px}.result-run-archive{min-width:0;background:#fff}.result-run-archive-head{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;color:#344557;border-bottom:1px solid var(--floodcast-line-soft);font-size:11px}.result-run-archive-head span{color:#7b8998;font-size:10px;font-weight:700}.result-run-archive-list{display:grid}.result-run-archive-row{width:100%;min-width:0;min-height:46px;display:grid;grid-template-columns:minmax(130px,1fr) auto minmax(72px,auto) 16px;align-items:center;gap:10px;padding:7px 12px;border:0;border-bottom:1px solid #edf1f3;border-radius:0;color:#516174;background:#fff;font:inherit;font-size:10px;text-align:left}.result-run-archive-row:last-child{border-bottom:0}button.result-run-archive-row:hover,.result-run-archive-row.is-active{color:var(--floodcast-accent);background:#f0f7f5}.result-run-archive-row>span{min-width:0;display:grid;gap:2px}.result-run-archive-row>span strong,.result-run-archive-row>span small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-run-archive-row small{color:#788697;font-size:9px;font-weight:700}.result-run-archive-row.is-failed{color:#a23a32;background:#fff8f7}.panel-stack>.result-run-archive{border:1px solid var(--floodcast-line);border-radius:7px;overflow:hidden}.compact-empty-state{min-height:180px;height:auto;margin-bottom:10px;padding:28px 20px;border:1px solid var(--floodcast-line);border-radius:8px;color:var(--floodcast-muted);background:#fff;text-align:center}.compact-empty-state svg{color:var(--floodcast-accent)}.compact-empty-state h2{font-size:16px}.compact-empty-state p{max-width:420px;margin:0;font-size:12px;line-height:1.6}.floodcast-chart-panel{max-width:100%;margin-bottom:10px;padding:10px;overflow:hidden;background:#fff}.floodcast-chart-scroll{width:100%;max-width:100%;overscroll-behavior-inline:contain}.result-key-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.result-key-metrics .metric-card{min-width:0;min-height:68px;padding:10px 12px;background:#fff}.result-key-metrics .metric-card span{font-size:10px}.result-key-metrics .metric-card strong{min-width:0;margin-top:5px;font-size:19px;font-variant-numeric:tabular-nums}.result-key-metrics .metric-card em{margin-top:5px;font-size:9px}.floodcast-shell .tone-blue,.floodcast-shell .tone-teal{color:var(--floodcast-ink);border-color:#c9ded8;background:#f1f8f6}.floodcast-shell .tone-blue span,.floodcast-shell .tone-teal span{color:var(--floodcast-accent)}.floodcast-shell :where(.water-level-badge,.run-mode-pill){border-radius:6px}.floodcast-result-toolbar,.result-tabbar{max-width:100%;margin-bottom:10px;background:#fff}@media(max-width:1100px){.floodcast-config-workbench{grid-template-columns:minmax(0,1fr)}.floodcast-object-nav{position:static;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px;padding:8px}.floodcast-object-nav .object-nav-head{min-height:34px;grid-column:2;grid-row:1;padding:0;border:0;background:transparent}.floodcast-object-nav .object-nav-head>div,.floodcast-object-nav .object-nav-list{display:none}.floodcast-object-nav .floodcast-object-select{width:100%;min-width:0;height:34px;display:block;grid-column:1;grid-row:1;padding:0 9px;border:1px solid #cbd6de;border-radius:6px;color:#314153;background:#fff;font-size:12px;font-weight:700}}@media(max-width:1180px){.floodcast-v2-topbar{min-height:108px;position:relative;grid-template-columns:max-content minmax(0,1fr) max-content;grid-template-rows:44px 36px;gap:4px 10px}.floodcast-v2-topbar .brand{grid-column:1;grid-row:1}.floodcast-run-context{grid-column:2;grid-row:1;justify-self:end}.floodcast-v2-actions{grid-column:3;grid-row:1}.floodcast-plan-bar{grid-column:1 / -1;grid-row:2}.floodcast-plan-bar>div{max-width:220px}.floodcast-plan-bar .plan-name-input{max-width:none}.floodcast-primary-nav{top:0}.run-check-strip .overview-issue-list{grid-template-columns:minmax(0,1fr)}.active-data-bar{grid-template-columns:20px minmax(150px,1fr) repeat(3,auto) auto}}@media(max-width:900px){.overview-work-grid{grid-template-columns:minmax(0,1fr)}.floodcast-run-context{display:flex}.result-key-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.active-data-bar{grid-template-columns:20px minmax(0,1fr) auto}.active-data-bar>span{grid-column:2 / -1}.active-data-bar>em{grid-column:3;grid-row:1}}@media(min-width:521px)and (max-width:700px){.forcing-source-row{grid-template-columns:46px minmax(0,1fr) 76px 34px;grid-template-rows:auto auto;align-items:end}.forcing-source-row>label:nth-of-type(1){grid-column:1;grid-row:1 / 3}.forcing-source-row>label:nth-of-type(2){grid-column:2;grid-row:1}.forcing-source-row>label:nth-of-type(3){grid-column:2 / 4;grid-row:2}.forcing-source-row>label:nth-of-type(4){grid-column:3;grid-row:1}.forcing-source-row>.icon-button,.forcing-source-row>.source-protection-label{grid-column:4;grid-row:1}}@media(max-width:700px){.floodcast-shell{overflow-x:hidden}.floodcast-v2-topbar{min-height:0;position:relative;display:grid;grid-template-columns:minmax(0,1fr) max-content;grid-template-rows:42px auto 34px;gap:6px 8px;padding:7px 10px 9px}.floodcast-v2-topbar .brand{min-width:0;grid-column:1;grid-row:1}.floodcast-v2-topbar .brand-mark{width:34px;height:34px}.floodcast-v2-topbar .brand small{display:none}.floodcast-v2-actions{grid-column:2;grid-row:1}.floodcast-v2-actions .topbar-back-button{min-height:34px;display:inline-flex;padding-inline:9px}.floodcast-run-button{width:34px;min-height:34px;padding:0}.floodcast-run-button span{display:none}.floodcast-run-context{width:100%;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1 / -1;grid-row:2;justify-self:stretch}.floodcast-run-context>div,.floodcast-run-context>div:nth-child(2){min-width:0;display:grid;padding:5px 9px}.floodcast-run-context strong{overflow:hidden;font-size:11px;text-overflow:ellipsis}.floodcast-plan-bar{min-height:34px;grid-column:1 / -1;grid-row:3}.floodcast-plan-bar>div{display:none}.floodcast-plan-bar .plan-name-input{min-width:0;display:block;flex:1 1 auto;height:32px;margin-left:0}.floodcast-plan-bar .plan-selector{width:auto;min-width:92px;display:block;flex:0 1 132px}.floodcast-primary-nav{min-height:48px;top:0;padding:0 6px}.floodcast-primary-tabs{width:100%;min-height:48px;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}.floodcast-primary-tabs>button{min-width:0;min-height:48px;gap:4px;padding:0 4px}.floodcast-primary-tabs>button svg{width:15px;height:15px;flex:0 0 auto}.floodcast-primary-tabs strong{min-width:0;font-size:11px;white-space:nowrap}.floodcast-v2-content{width:100%;padding:14px 10px 48px}.floodcast-v2-content .panel-header{align-items:stretch}.floodcast-v2-content .panel-header .button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.run-readiness-band>div,.run-readiness-band>div:nth-child(4){min-width:0}.run-readiness-main{grid-column:auto;border-bottom:0}.run-readiness-band>div:nth-child(2){border-left:1px solid var(--floodcast-line-soft)}.run-readiness-band>div:nth-child(3),.run-readiness-band>div:nth-child(4){grid-column:auto;border-top:1px solid var(--floodcast-line-soft)}.run-readiness-band>div:nth-child(4){border-left:1px solid var(--floodcast-line-soft)}.run-settings-panel>.compact-field,.run-settings-panel>.floodcast-window-fields,.run-settings-panel>.advanced-run-settings,.run-settings-panel>.active-source-summary{margin-inline:12px}.run-check-strip>div:first-child{align-items:flex-start;flex-wrap:wrap}.run-check-strip>div:first-child>span{flex-basis:100%;padding-left:24px}.active-data-bar{grid-template-columns:18px minmax(0,1fr) auto;gap:5px 8px}.active-data-bar>span{grid-column:2 / -1;white-space:normal}.active-data-bar>em{grid-column:3;grid-row:1}.model-input-access-head{align-items:stretch;flex-direction:column}.model-input-access-head .button-row{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.model-input-source-strip{grid-template-columns:minmax(0,1fr)}.model-input-source-strip>div+div{border-top:1px solid var(--floodcast-line-soft);border-left:0}.model-input-rule-row.is-header{display:none}.model-input-rule-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px 8px}.model-input-rule-row>strong{grid-column:1 / -1}.model-input-rule-row>span{display:grid;gap:4px}.model-input-rule-row>span:before{color:var(--floodcast-muted);font-size:8px;font-weight:800}.model-input-rule-row>span:nth-child(2):before{content:"历史监测"}.model-input-rule-row>span:nth-child(3):before{content:"实时监测"}.model-input-rule-row>span:nth-child(4):before{content:"预报数据"}.input-rule-badge{justify-content:center;padding-inline:4px;white-space:normal;text-align:center}.data-view-toolbar{gap:8px}.data-toolbar-context{width:100%;align-items:stretch;flex-direction:column}.data-toolbar-context label{width:100%}.data-toolbar-context select{width:100%;flex:1 1 auto}.data-source-routes{padding:0 10px}.data-source-route{grid-template-columns:30px minmax(0,1fr) auto auto;grid-template-rows:auto auto;gap:5px 8px;padding:10px 0}.data-source-icon{grid-column:1;grid-row:1}.data-source-copy{grid-column:2;grid-row:1}.data-source-fields{grid-column:2 / -1;grid-row:2}.data-source-route>em{grid-column:3;grid-row:1}.data-source-action{grid-column:4;grid-row:1}.data-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.floodcast-object-editor{padding:12px}.floodcast-object-head{gap:10px}.floodcast-object-head .object-editor-actions{width:auto}.forcing-binding-head{align-items:center;flex-direction:row}.forcing-binding-foot{grid-template-columns:minmax(0,1fr) auto}.forcing-binding-foot .text-action{grid-column:2;grid-row:1}.result-summary-line{align-items:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:6px 8px}.result-summary-line>span,.result-summary-line>span:first-child{min-width:0;padding:5px 7px;border:0;white-space:normal}.result-run-details .run-context-bar{align-items:flex-start}.floodcast-result-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.floodcast-result-toolbar>span{flex:1 1 auto}.floodcast-result-toolbar>button{min-width:0;flex:1 1 calc(50% - 4px)}.floodcast-chart-panel{padding:8px}.floodcast-chart{min-width:720px}.result-key-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.result-key-metrics .metric-card{min-height:72px;padding:10px}.result-key-metrics .metric-card strong{font-size:19px;overflow-wrap:anywhere}.result-tabbar{display:none}.result-run-archive-row{grid-template-columns:minmax(100px,1fr) auto minmax(54px,auto) 14px;gap:6px;padding-inline:9px}.mobile-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.floodcast-v2-topbar .brand strong{font-size:15px}.data-source-route{grid-template-columns:30px minmax(0,1fr) auto}.data-source-route>em{grid-column:3}.data-source-action{grid-column:2 / -1;grid-row:3;justify-self:start}.floodcast-v2-actions .topbar-back-button{padding-inline:7px}.floodcast-primary-tabs strong{font-size:10.5px}.floodcast-window-fields{grid-template-columns:minmax(0,1fr)}.reservoir-readiness-panel{overflow-x:visible}.readiness-table{min-width:0}.readiness-header{display:none}.readiness-row{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:7px 12px;padding-block:11px}.readiness-row>span:first-child{grid-column:1;grid-row:1}.readiness-row>em{grid-column:2;grid-row:1}.readiness-row>strong{color:#536477;font-size:11px}.readiness-row>strong:nth-child(2){grid-column:1;grid-row:2}.readiness-row>strong:nth-child(3){grid-column:2;grid-row:2;text-align:right}.readiness-row>strong:nth-child(2):before{content:"子流域 ";color:#8a97a6;font-weight:500}.readiness-row>strong:nth-child(3):before{content:"覆盖 ";color:#8a97a6;font-weight:500}.forcing-source-row{grid-template-columns:minmax(0,1fr) 34px;grid-template-rows:auto auto auto auto;gap:8px}.forcing-source-row>label:nth-of-type(1){min-height:34px;grid-column:1;grid-row:1;justify-self:start;padding-bottom:0}.forcing-source-row>label:nth-of-type(2){grid-column:1 / -1;grid-row:2}.forcing-source-row>label:nth-of-type(3){grid-column:1 / -1;grid-row:3}.forcing-source-row>label:nth-of-type(4){grid-column:1 / -1;grid-row:4}.forcing-source-row>.icon-button,.forcing-source-row>.source-protection-label{grid-column:2;grid-row:1}.source-protection-label{align-self:center}.result-summary-line{grid-template-columns:minmax(0,1fr)}.result-key-metrics .metric-card strong{font-size:17px}.result-key-metrics .metric-card small{font-size:10px}.result-run-archive-row{grid-template-columns:minmax(0,1fr) auto}.result-run-archive-row>small,.result-run-archive-row>svg{display:none}}.floodcast-result-table-scroll{max-height:60dvh;overflow:auto}.floodcast-result-table-scroll thead th{position:sticky;top:0;z-index:1}@media(max-width:820px){.floodcast-shell .result-tabbar{display:none}}@media(min-width:1640px){.floodcast-shell{--floodcast-wide-edge: calc((100vw - 1600px)/2 + 20px) }.floodcast-v2-topbar,.floodcast-primary-nav{padding-right:var(--floodcast-wide-edge);padding-left:var(--floodcast-wide-edge)}.floodcast-v2-content{width:1600px;max-width:calc(100% - 40px);padding-right:20px;padding-left:20px}}.api-control-shell{--api-navy: #0b2533;--api-teal: #0f766e;--api-cyan: #5eead4;--api-slate: #52647b}.api-brand-mark{color:#d9fffa;background:var(--api-navy)}.api-control-stack{padding-bottom:36px}.api-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:26px}.api-control-grid .table-card{height:100%;margin-bottom:0}.api-control-form{overflow:hidden}.api-form-body{display:grid;gap:16px;padding:18px}.api-form-body>label,.api-form-row>label{display:grid;gap:7px;min-width:0}.api-form-body label>span,.api-form-body legend,.api-side-field>span{color:#42526a;font-size:12px;font-weight:800}.api-form-body input,.api-form-body select,.api-form-body textarea,.api-side-field select{width:100%;min-width:0;border:1px solid #d9e2ec;border-radius:7px;color:#172033;background:#fbfdff;font:inherit;font-size:13px}.api-form-body input,.api-form-body select,.api-side-field select{height:40px;padding:0 11px}.api-form-body textarea{min-height:68px;padding:10px 11px;resize:vertical}.api-form-body input:focus,.api-form-body select:focus,.api-form-body textarea:focus,.api-side-field select:focus{outline:3px solid rgba(37,99,235,.14);border-color:#7aa7ee}.api-form-body fieldset{min-width:0;margin:0;padding:0;border:0}.api-form-body legend{margin-bottom:8px}.api-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.api-check-grid,.api-scope-picker{display:grid;gap:8px}.api-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.api-check-option{min-height:42px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:9px 11px;border:1px solid #dfe7f0;border-radius:7px;background:#f8fbff;cursor:pointer}.api-check-option:has(input:checked){color:#0f5f59;border-color:#0f766e52;background:#eefaf7}.api-check-option input{width:15px;height:15px;accent-color:#0f766e}.api-check-option span{color:inherit;font-size:13px;font-weight:800}.api-check-option code{grid-column:2;color:#708096;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px}.api-form-note{margin:-2px 0 0;color:#64748b;font-size:12px;line-height:1.55}.api-form-body>.primary-button{justify-self:start}.api-side-field{display:grid;gap:7px;margin-top:14px}.api-policy-panel{border-color:#0f766e38;background:#f4fbf9}.api-secret-reveal{position:relative;margin-bottom:18px;padding:17px 18px 18px;overflow:hidden;border:1px solid rgba(94,234,212,.28);border-radius:9px;color:#e8fffb;background:var(--api-navy)}.api-secret-reveal:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--api-cyan)}.api-secret-heading,.api-secret-context,.api-secret-value{position:relative;z-index:1}.api-secret-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.api-secret-heading>span{display:inline-flex;align-items:center;gap:8px;color:var(--api-cyan);font-size:12px;font-weight:850;letter-spacing:.04em}.api-icon-button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.16);border-radius:6px;color:#d5e8ea;background:#ffffff0f}.api-secret-context{display:flex;align-items:center;gap:10px;margin-top:10px;color:#9fb9c1;font-size:12px}.api-secret-context strong{color:#fff}.api-secret-value{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:12px}.api-secret-value code{min-width:0;padding:13px 14px;overflow:auto;border:1px solid rgba(94,234,212,.2);border-radius:6px;color:#d9fffa;background:#0003;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;white-space:nowrap}.api-status-badge,.api-product-list span,.api-scope-chip,.api-http-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;white-space:nowrap}.api-status-badge{min-height:24px;padding:0 9px;color:#0f766e;border:1px solid rgba(15,118,110,.22);background:#eefaf7;font-size:11px;font-weight:850}.api-status-badge.is-suspended,.api-status-badge.is-revoked,.api-status-badge.is-expired{color:#9a3412;border-color:#d9770640;background:#fff7ed}.api-directory-table{min-width:920px!important}.api-directory-table td:first-child strong,.api-directory-table td:first-child small{display:block}.api-directory-table td:first-child small{max-width:260px;margin-top:3px;overflow:hidden;color:#718198;text-overflow:ellipsis}.api-product-list,.api-scope-list{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.api-product-list span{min-height:23px;padding:0 8px;color:#1d4ed8;border:1px solid #dbeafe;background:#eff6ff;font-size:11px;font-weight:800}.api-key-list{display:grid}.api-key-row{display:grid;grid-template-columns:minmax(190px,1.05fr) minmax(260px,1.5fr) 92px minmax(170px,.85fr) auto;align-items:center;gap:16px;min-height:104px;padding:15px 18px;border-bottom:1px solid #e8eef5}.api-key-row:last-child{border-bottom:0}.api-key-row.is-revoked{background:#fbfcfd;opacity:.74}.api-key-row.is-expired{background:#fffbeb}.api-key-fingerprint,.api-key-dates{display:grid;gap:5px;min-width:0}.api-key-fingerprint>span,.api-key-usage>span,.api-key-dates>span{color:#718198;font-size:11px}.api-key-fingerprint>strong{overflow:hidden;color:#132238;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.api-key-fingerprint>code{width:fit-content;max-width:100%;padding:5px 8px;overflow:hidden;border:1px solid #d8e5e7;border-radius:5px;color:#0b5f59;background:#f0faf8;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;text-overflow:ellipsis}.api-scope-chip{min-height:24px;padding:0 8px;color:#42526a;border:1px solid #dfe7f0;background:#f8fbff;font-size:10px;font-weight:800}.api-key-usage{display:grid;gap:4px}.api-key-usage strong{color:#132238;font-size:24px;line-height:1}.api-key-usage small{color:#718198;font-size:10px}.api-key-dates .api-status-badge{width:fit-content;margin-bottom:2px}.api-key-actions{display:flex;justify-content:flex-end;gap:7px}.ghost-button.is-danger-confirm{color:#b42318;border-color:#fecaca;background:#fff5f5}.api-empty-state{padding:34px 20px;color:#718198;text-align:center;font-size:13px;font-weight:700}.api-usage-bars{min-height:230px;display:grid;grid-auto-columns:minmax(24px,1fr);grid-auto-flow:column;align-items:end;gap:8px;padding:24px 20px 18px;overflow-x:auto}.api-usage-bar-column{min-width:24px;display:grid;grid-template-rows:150px auto auto;justify-items:center;gap:5px}.api-usage-bar-track{width:12px;height:150px;display:flex;align-items:flex-end;overflow:hidden;border-radius:3px;background:#edf2f7}.api-usage-bar-track span{width:100%;min-height:4px;border-radius:3px;background:#0f766e}.api-usage-bar-column strong{color:#132238;font-size:11px}.api-usage-bar-column small{color:#718198;font-size:9px;writing-mode:vertical-rl}.api-endpoint-table{min-width:640px!important}.api-endpoint-table td:first-child code,.api-endpoint-table td:first-child span{display:block}.api-endpoint-table td:first-child code{width:fit-content;margin-bottom:4px;color:#0f766e;font-size:10px;font-weight:850}.api-endpoint-table td:first-child span{max-width:360px;overflow:hidden;color:#42526a;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;text-overflow:ellipsis}.api-request-list{max-height:470px;overflow:auto}.api-request-list article{min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:11px 16px;border-bottom:1px solid #edf2f7}.api-request-list article:last-child{border-bottom:0}.api-request-list article>div{min-width:0}.api-request-list article>div:first-child strong,.api-request-list article>div:first-child code,.api-request-list article>div:last-child small,.api-request-list article>div:last-child time{display:block}.api-request-list article>div:first-child strong{color:#132238;font-size:12px}.api-request-list article>div:first-child code{max-width:100%;margin-top:5px;overflow:hidden;color:#64748b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.api-request-list article>div:last-child{text-align:right}.api-request-list article>div:last-child small,.api-request-list article>div:last-child time{margin-top:3px;color:#718198;font-size:9px}.api-http-status{min-width:42px;min-height:22px;padding:0 7px;color:#0f766e;background:#eefaf7;font-size:10px;font-weight:900}.api-http-status.is-4xx,.api-http-status.is-5xx{color:#b42318;background:#fff1f2}@media(max-width:1260px){.api-key-row{grid-template-columns:minmax(190px,1fr) minmax(240px,1.35fr) 90px}.api-key-dates{grid-column:1 / 3;display:flex;align-items:center;gap:10px}.api-key-actions{grid-column:3;grid-row:2}}@media(max-width:980px){.api-control-grid,.api-analytics-grid{grid-template-columns:1fr}.api-control-grid .table-card{height:auto}.api-key-row{grid-template-columns:minmax(0,1fr) auto}.api-key-scopes,.api-key-dates{grid-column:1 / -1}.api-key-usage{grid-column:2;grid-row:1;text-align:right}.api-key-actions{grid-column:2;grid-row:3}}@media(max-width:820px){.api-control-shell .topbar-actions .secondary-button{flex:1 1 auto}.api-form-row,.api-check-grid,.api-secret-value{grid-template-columns:1fr}.api-secret-value .secondary-button{justify-self:start}.api-key-row{grid-template-columns:1fr;gap:12px}.api-key-usage,.api-key-scopes,.api-key-dates,.api-key-actions{grid-column:1;grid-row:auto;text-align:left}.api-key-dates{align-items:flex-start;flex-direction:column}.api-key-actions{justify-content:flex-start}}.floodcast-primary-tabs{grid-template-columns:repeat(5,minmax(104px,1fr))}.floodcast-shell .spin{animation:floodcast-spin .9s linear infinite}@keyframes floodcast-spin{to{transform:rotate(360deg)}}.boundary-workspace{gap:12px}.boundary-page-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:2px 0 4px}.boundary-page-head>div:first-child{min-width:0}.boundary-page-head>div:first-child>span,.boundary-detail-head>div:first-child>span{color:var(--floodcast-accent);font-size:9px;font-weight:900;letter-spacing:.14em}.boundary-page-head h1,.boundary-detail-head h2{margin:3px 0 0;color:var(--floodcast-ink);font-size:22px;line-height:1.2}.boundary-page-head p,.boundary-detail-head p{margin:5px 0 0;color:var(--floodcast-muted);font-size:11px;line-height:1.5}.boundary-page-head .button-row,.boundary-detail-head .button-row,.boundary-action-dialog .button-row{display:flex;align-items:center;justify-content:flex-end;gap:7px}.boundary-page-head :where(.primary-button,.secondary-button),.boundary-detail-head :where(.primary-button,.secondary-button),.boundary-action-dialog :where(.primary-button,.secondary-button){min-height:34px;padding:0 11px;border-radius:6px;box-shadow:none;font-size:11px;white-space:nowrap}.boundary-summary-strip{min-width:0;display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(130px,1fr));overflow:hidden;border:1px solid var(--floodcast-line);border-radius:8px;background:var(--floodcast-surface)}.boundary-summary-strip>div{min-width:0;display:grid;align-content:center;gap:3px;padding:10px 14px}.boundary-summary-strip>div+div{border-left:1px solid var(--floodcast-line-soft)}.boundary-summary-strip span,.boundary-summary-strip small{overflow:hidden;color:var(--floodcast-muted);font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.boundary-summary-strip strong{overflow:hidden;color:#27384a;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.boundary-summary-main{position:relative;padding-left:18px!important;background:#f7fbfa}.boundary-summary-main:before{width:3px;position:absolute;top:10px;bottom:10px;left:9px;border-radius:4px;background:var(--floodcast-accent);content:""}.boundary-summary-main strong{color:var(--floodcast-accent);font-size:17px}.boundary-ecmwf-status{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:10px 13px;border:1px solid #d9e2ea;border-left:3px solid #64748b;border-radius:8px;color:#526477;background:#f8fafc}.boundary-ecmwf-status.is-ready{border-color:#bfdad4;border-left-color:var(--floodcast-accent);color:var(--floodcast-accent);background:#f4faf8}.boundary-ecmwf-status.has-error{border-color:#edc8c8;border-left-color:#b4232d;color:#b4232d;background:#fff8f8}.boundary-ecmwf-status>div:not(.boundary-ecmwf-meta){min-width:0;display:grid;gap:2px}.boundary-ecmwf-status span,.boundary-ecmwf-status small{overflow:hidden;color:var(--floodcast-muted);font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.boundary-ecmwf-status strong{overflow:hidden;color:#27384a;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.boundary-ecmwf-meta{display:grid;justify-items:end;gap:2px}.boundary-ecmwf-meta em{color:currentColor;font-size:10px;font-style:normal;font-weight:800;letter-spacing:.05em}.boundary-model-status{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;padding:9px 12px;border:1px solid #bfdad4;border-left:3px solid var(--floodcast-accent);border-radius:7px;color:var(--floodcast-accent);background:#f4faf8}.boundary-model-status.has-warning{border-color:#ead6ac;border-left-color:#b45309;color:#b45309;background:#fffaf0}.boundary-model-status.is-loading{border-left-color:#64748b;color:#64748b;background:#f8fafc}.boundary-model-status>svg{justify-self:center}.boundary-model-status>div{min-width:0;display:grid;gap:2px}.boundary-model-status span,.boundary-model-status small{color:var(--floodcast-muted);font-size:9px;font-weight:700}.boundary-model-status strong{color:#27384a;font-size:12px}.boundary-model-status .text-action{color:currentColor}.boundary-model-status.is-compact{min-height:50px;margin-top:-4px;padding-block:6px}.boundary-message{min-height:38px;display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid #b9ded6;border-radius:6px;color:#0f766e;background:#f0faf7;font-size:11px;font-weight:750}.boundary-message.is-error{border-color:#fecaca;color:#b42318;background:#fff5f5}.boundary-message span{min-width:0;flex:1 1 auto}.boundary-message button{border:0;color:currentColor;background:transparent;font-size:10px;font-weight:900;cursor:pointer}.boundary-upload-panel{min-width:0;overflow:hidden;border:1px solid #b9d7d1;border-radius:8px;background:#fff;box-shadow:0 8px 28px #0f2c3112}.boundary-upload-head,.boundary-upload-footer{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#f4faf8}.boundary-upload-head{border-bottom:1px solid #dcebe7}.boundary-upload-head>div{min-width:0;display:flex;align-items:center;gap:9px;color:var(--floodcast-accent)}.boundary-upload-head>div>span{min-width:0;display:grid;gap:2px}.boundary-upload-head strong{color:#253a3b;font-size:12px}.boundary-upload-head small{color:var(--floodcast-muted);font-size:9px}.boundary-upload-grid{min-width:0;display:grid;grid-template-columns:minmax(250px,.75fr) minmax(420px,1.25fr);gap:14px;padding:14px}.boundary-file-drop{min-width:0;min-height:148px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:18px;border:1px dashed #9abfb8;border-radius:7px;color:var(--floodcast-accent);background:#f8fbfa;text-align:center;cursor:pointer}.boundary-file-drop:hover{border-color:var(--floodcast-accent);background:#f1f8f6}.boundary-file-drop input{width:1px;height:1px;position:absolute;overflow:hidden;opacity:0}.boundary-file-drop strong{max-width:100%;overflow:hidden;color:#27384a;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.boundary-file-drop span,.boundary-file-drop small{color:var(--floodcast-muted);font-size:9px;line-height:1.45}.boundary-upload-fields,.boundary-mapping-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px}.boundary-upload-fields label,.boundary-mapping-grid label{min-width:0;display:grid;gap:5px}.boundary-upload-fields label>span,.boundary-mapping-grid label>span{color:#526273;font-size:9px;font-weight:850}.boundary-upload-fields input,.boundary-mapping-grid input{width:100%;min-width:0;height:34px;padding:0 9px;border:1px solid #cbd6de;border-radius:6px;color:#27384a;background:#fff;font-size:11px;outline:none}.boundary-upload-fields input:focus,.boundary-mapping-grid input:focus,.boundary-file-drop:focus-within{border-color:var(--floodcast-accent);box-shadow:0 0 0 3px #0f766e1f}.boundary-mapping-panel{border-top:1px solid var(--floodcast-line-soft)}.boundary-mapping-panel summary{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;color:#405265;background:#fafcfc;cursor:pointer;list-style:none}.boundary-mapping-panel summary::-webkit-details-marker{display:none}.boundary-mapping-panel summary>span{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:850}.boundary-mapping-panel summary small{color:var(--floodcast-muted);font-size:9px}.boundary-mapping-grid{grid-template-columns:repeat(5,minmax(120px,1fr));padding:12px 14px 14px;border-top:1px solid var(--floodcast-line-soft)}.boundary-upload-footer{border-top:1px solid #dcebe7}.boundary-activate-toggle{min-width:0;display:flex;align-items:center;gap:8px;color:#27384a;cursor:pointer}.boundary-activate-toggle input{width:16px;height:16px;accent-color:var(--floodcast-accent)}.boundary-activate-toggle span{min-width:0;display:grid;gap:1px}.boundary-activate-toggle strong{font-size:10px}.boundary-activate-toggle small{color:var(--floodcast-muted);font-size:9px}.boundary-upload-action{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:10px}.boundary-upload-action>span{min-width:0;display:flex;align-items:center;gap:5px;color:#526273;font-size:9px;font-weight:750}.boundary-upload-action>span.state-error{color:#b42318}.boundary-upload-action>span.state-success{color:var(--floodcast-accent)}.boundary-upload-action .primary-button{min-height:34px;padding:0 12px;border-radius:6px;box-shadow:none;font-size:11px}.boundary-catalog-layout{min-width:0;display:grid;grid-template-columns:286px minmax(0,1fr);gap:12px;align-items:stretch}.boundary-version-panel,.boundary-detail-panel,.boundary-history-panel,.boundary-audit-panel{min-width:0;overflow:hidden;border:1px solid var(--floodcast-line);border-radius:8px;background:#fff}.boundary-section-head{min-width:0;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 12px;border-bottom:1px solid var(--floodcast-line-soft);color:#596b7c;background:#f8fafb}.boundary-section-head>div{min-width:0;display:grid;gap:2px}.boundary-section-head span{color:#7a8998;font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.boundary-section-head strong{overflow:hidden;color:#324456;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.boundary-version-list{display:grid;padding:7px}.boundary-version-list>button{width:100%;min-width:0;min-height:76px;display:grid;grid-template-columns:28px minmax(0,1fr) 14px;align-items:center;gap:7px;padding:9px 8px;border:1px solid transparent;border-radius:6px;color:#708091;background:transparent;text-align:left;cursor:pointer}.boundary-version-list>button+button{margin-top:3px}.boundary-version-list>button:hover{background:#f5f8f8}.boundary-version-list>button.is-selected{border-color:#bdd9d3;background:#eff8f5}.boundary-version-marker{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#64748b;background:#edf1f4}.boundary-version-list>button.is-active .boundary-version-marker{color:#fff;background:var(--floodcast-accent)}.boundary-version-copy{min-width:0;display:grid;gap:2px}.boundary-version-copy span{color:var(--floodcast-accent);font-size:8px;font-weight:900;letter-spacing:.06em}.boundary-version-copy strong{overflow:hidden;color:#27384a;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.boundary-version-copy small{color:var(--floodcast-muted);font-size:9px}.boundary-detail-panel{display:flex;flex-direction:column}.boundary-detail-head{min-width:0;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;border-bottom:1px solid var(--floodcast-line-soft)}.boundary-detail-head>div:first-child{min-width:0}.boundary-detail-head h2{overflow:hidden;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.boundary-detail-head h2 small{color:var(--floodcast-muted);font-size:11px}.boundary-detail-head p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boundary-active-badge{min-height:23px;display:inline-flex;align-items:center;padding:0 8px;border-radius:999px;color:#64748b;background:#edf1f4;font-size:9px;font-style:normal;font-weight:900;white-space:nowrap}.boundary-active-badge.is-active{color:#0f766e;background:#e5f5f1}.boundary-detail-metrics{min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--floodcast-line-soft);background:#fbfcfd}.boundary-detail-metrics>div{min-width:0;display:grid;gap:3px;padding:9px 12px}.boundary-detail-metrics>div+div{border-left:1px solid var(--floodcast-line-soft)}.boundary-detail-metrics span{color:var(--floodcast-muted);font-size:8px;font-weight:800}.boundary-detail-metrics strong{overflow:hidden;color:#27384a;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.boundary-detail-metrics small{font-size:8px}.boundary-detail-grid{min-width:0;display:grid;grid-template-columns:minmax(600px,1fr) minmax(260px,.42fr);flex:1 1 auto}.boundary-subbasin-section{min-width:0;border-right:1px solid var(--floodcast-line-soft)}.boundary-subbasin-table{min-width:650px;overflow-x:auto}.boundary-subbasin-row{min-width:650px;min-height:52px;display:grid;grid-template-columns:minmax(150px,1.35fr) minmax(78px,.6fr) minmax(110px,.9fr) minmax(80px,.62fr) minmax(130px,1fr);align-items:center;border-bottom:1px solid var(--floodcast-line-soft)}.boundary-subbasin-row:last-child{border-bottom:0}.boundary-subbasin-row.is-header{min-height:30px;color:#718198;background:#fbfcfd;font-size:8px;font-weight:900;letter-spacing:.05em}.boundary-subbasin-row>span{min-width:0;display:grid;gap:2px;padding:6px 11px}.boundary-subbasin-row>span+span{border-left:1px solid #f0f3f5}.boundary-subbasin-row strong{overflow:hidden;color:#2c3e50;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.boundary-subbasin-row small{overflow:hidden;color:var(--floodcast-muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.boundary-coverage-cell i{width:100%;max-width:84px;height:3px;overflow:hidden;border-radius:5px;background:#e4eaee}.boundary-coverage-cell i b{height:100%;display:block;border-radius:inherit;background:var(--floodcast-accent)}.boundary-readiness{width:max-content;min-height:20px;display:inline-flex;align-items:center;padding:0 7px;border-radius:999px;color:#b45309;background:#fff4d8;font-size:8px;font-style:normal;font-weight:900}.boundary-readiness.state-ready{color:var(--floodcast-accent);background:#e7f5f1}.boundary-grid-preview{min-width:0;display:flex;flex-direction:column;background:#fbfcfd}.boundary-grid-preview>svg{width:100%;height:auto;min-height:170px;display:block;padding:5px 10px 0}.grid-map-frame{fill:#f4f8f8;stroke:#cfdbdf;stroke-width:1}.grid-map-line{stroke:#dce5e8;stroke-width:.7}.boundary-grid-legend{display:grid;gap:4px;padding:0 12px 8px}.boundary-grid-legend span{min-width:0;display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:6px;color:#435568;font-size:8px;font-weight:800}.boundary-grid-legend span i{width:7px;height:7px;border-radius:50%}.boundary-grid-legend span b{color:#7a8998;font-size:8px}.boundary-grid-preview>small{margin-top:auto;padding:8px 12px;border-top:1px solid var(--floodcast-line-soft);color:#7a8998;font-size:8px;line-height:1.5}.boundary-grid-preview.is-empty{align-items:center;justify-content:center;gap:5px;padding:30px;color:#8a99a8;text-align:center}.boundary-grid-preview.is-empty strong{color:#435568;font-size:11px}.boundary-grid-preview.is-empty span{font-size:9px}.boundary-version-foot{min-width:0;display:flex;align-items:center;gap:16px;padding:8px 12px;border-top:1px solid var(--floodcast-line-soft);color:#718198;background:#fbfcfd;font-size:8px;font-weight:750}.boundary-version-foot span{min-width:0;display:flex;align-items:center;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boundary-history-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:12px;align-items:start}.boundary-job-list,.boundary-audit-list{display:grid}.boundary-job-list details+details,.boundary-audit-list article+article{border-top:1px solid var(--floodcast-line-soft)}.boundary-job-list summary{min-width:0;min-height:54px;display:grid;grid-template-columns:minmax(116px,auto) minmax(180px,1fr) 74px 14px;align-items:center;gap:10px;padding:7px 12px;cursor:pointer;list-style:none}.boundary-job-list summary::-webkit-details-marker{display:none}.boundary-job-list summary:hover{background:#f8fafb}.boundary-job-list details[open] summary{background:#f5f9f8}.boundary-job-list details[open] summary>svg{transform:rotate(90deg)}.boundary-job-list summary>span:not(.boundary-job-state){min-width:0;display:grid;gap:2px}.boundary-job-list summary strong{overflow:hidden;color:#324456;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.boundary-job-list summary small{color:#7a8998;font-size:8px}.boundary-job-state{width:max-content;min-height:22px;display:inline-flex;align-items:center;gap:4px;padding:0 7px;border-radius:999px;color:#526273;background:#edf1f4;font-size:8px;font-weight:900}.boundary-job-state.state-ready{color:var(--floodcast-accent);background:#e6f5f1}.boundary-job-state.state-error{color:#b42318;background:#fff0f0}.boundary-job-report{display:grid;gap:8px;padding:10px 12px;border-top:1px solid #dce8e5;background:#fafcfc}.boundary-job-metrics{display:flex;flex-wrap:wrap;gap:6px}.boundary-job-metrics span{min-height:24px;display:inline-flex;align-items:center;gap:4px;padding:0 7px;border:1px solid #dde5e9;border-radius:4px;color:#718198;background:#fff;font-size:8px}.boundary-job-metrics strong{color:#324456;font-size:9px}.boundary-report-items{overflow:hidden;border:1px solid #e0e7eb;border-radius:5px;background:#fff}.boundary-report-items>span{min-width:0;min-height:34px;display:grid;grid-template-columns:minmax(90px,.45fr) minmax(180px,1fr) auto;align-items:center;gap:8px;padding:5px 8px}.boundary-report-items>span+span{border-top:1px solid var(--floodcast-line-soft)}.boundary-report-items strong{overflow:hidden;color:#324456;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.boundary-report-items small{color:#718198;font-size:8px}.boundary-report-items em{color:var(--floodcast-accent);font-size:8px;font-style:normal;font-weight:900}.boundary-report-items em.is-invalid{color:#b42318}.boundary-inline-error{display:flex;align-items:flex-start;gap:5px;padding:7px 8px;border-radius:4px;color:#b42318;background:#fff0f0;font-size:9px;font-weight:750;line-height:1.5}.boundary-job-report footer{display:flex;flex-wrap:wrap;gap:12px;color:#82909d;font-size:8px}.boundary-audit-list article{min-width:0;min-height:60px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 12px}.boundary-audit-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--floodcast-accent);background:#e8f5f2}.boundary-audit-icon.is-rollback{color:#b45309;background:#fff3d6}.boundary-audit-list article>div{min-width:0;display:grid;gap:2px}.boundary-audit-list article>div span,.boundary-audit-list article small{color:#718198;font-size:8px}.boundary-audit-list article strong{overflow:hidden;color:#324456;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.boundary-audit-list article>em{color:#718198;font-size:7px;font-style:normal;font-weight:900;letter-spacing:.08em}.boundary-list-empty{min-height:80px;display:flex;align-items:center;justify-content:center;padding:20px;color:#82909d;font-size:9px}.boundary-detail-loading,.boundary-loading-state,.boundary-empty-state{min-height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:30px;color:#82909d;text-align:center}.boundary-loading-state,.boundary-empty-state{min-height:340px;border:1px solid var(--floodcast-line);border-radius:8px;background:#fff}.boundary-detail-loading strong,.boundary-loading-state strong,.boundary-empty-state strong{color:#324456;font-size:12px}.boundary-detail-loading span,.boundary-loading-state span,.boundary-empty-state span{font-size:9px}.boundary-detail-loading.is-error{color:#b42318}.boundary-empty-state .primary-button{min-height:34px;margin-top:6px;border-radius:6px;box-shadow:none;font-size:10px}.boundary-action-backdrop{position:fixed;z-index:1100;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#141f2a6b}.boundary-action-dialog{width:min(100%,430px);display:grid;gap:9px;padding:20px;border:1px solid #cbd6de;border-radius:8px;background:#fff;box-shadow:0 24px 70px #15222f38}.boundary-action-dialog>span{color:var(--floodcast-accent);font-size:9px;font-weight:900;letter-spacing:.1em}.boundary-action-dialog h2{margin:0;color:#27384a;font-size:17px;line-height:1.35}.boundary-action-dialog p{margin:0;color:#637385;font-size:10px;line-height:1.65}.boundary-action-dialog .button-row{margin-top:5px}@media(max-width:1180px){.boundary-summary-strip{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(130px,1fr))}.boundary-summary-strip>div:nth-child(4),.boundary-summary-strip>div:nth-child(5){border-top:1px solid var(--floodcast-line-soft)}.boundary-summary-strip>div:nth-child(4){grid-column:2}.boundary-summary-strip>div:nth-child(5){grid-column:3}.boundary-detail-grid{grid-template-columns:minmax(0,1fr)}.boundary-subbasin-section{overflow-x:auto;border-right:0;border-bottom:1px solid var(--floodcast-line-soft)}.boundary-grid-preview>svg{max-width:460px;align-self:center}.boundary-grid-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.boundary-mapping-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}}@media(max-width:900px){.boundary-page-head{align-items:flex-start;flex-direction:column}.boundary-page-head .button-row{width:100%;justify-content:flex-start;flex-wrap:wrap}.boundary-upload-grid,.boundary-catalog-layout,.boundary-history-layout{grid-template-columns:minmax(0,1fr)}.boundary-version-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.boundary-version-list>button+button{margin-top:0}.boundary-detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.boundary-detail-metrics>div:nth-child(4),.boundary-detail-metrics>div:nth-child(5){border-top:1px solid var(--floodcast-line-soft)}.boundary-history-layout{align-items:stretch}}@media(max-width:700px){.floodcast-primary-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.floodcast-primary-tabs>button{gap:3px;padding-inline:2px}.floodcast-primary-tabs strong{font-size:9px}.boundary-page-head h1{font-size:19px}.boundary-page-head .button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.boundary-page-head .button-row .primary-button{grid-column:1 / -1}.boundary-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.boundary-summary-main{grid-column:1 / -1}.boundary-summary-strip>div,.boundary-summary-strip>div:nth-child(4),.boundary-summary-strip>div:nth-child(5){grid-column:auto;border-top:1px solid var(--floodcast-line-soft);border-left:0}.boundary-summary-strip>div:nth-child(odd):not(.boundary-summary-main){border-left:1px solid var(--floodcast-line-soft)}.boundary-model-status{grid-template-columns:26px minmax(0,1fr)}.boundary-model-status .text-action{grid-column:2;justify-self:start}.boundary-upload-fields,.boundary-mapping-grid{grid-template-columns:minmax(0,1fr)}.boundary-upload-footer,.boundary-upload-action{align-items:stretch;flex-direction:column}.boundary-upload-action .primary-button{width:100%}.boundary-version-list{grid-template-columns:minmax(0,1fr)}.boundary-detail-head{align-items:flex-start;flex-direction:column}.boundary-detail-head .button-row{width:100%;justify-content:space-between}.boundary-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.boundary-detail-metrics>div{border-top:1px solid var(--floodcast-line-soft)}.boundary-detail-metrics>div:nth-child(2n){border-left:1px solid var(--floodcast-line-soft)}.boundary-grid-legend{grid-template-columns:minmax(0,1fr)}.boundary-version-foot{align-items:flex-start;flex-direction:column;gap:5px}.boundary-job-list summary{grid-template-columns:minmax(105px,auto) minmax(0,1fr) 14px}.boundary-job-list summary>span:nth-of-type(3){display:none}.boundary-report-items>span{grid-template-columns:minmax(80px,.45fr) minmax(0,1fr) auto}}@media(max-width:430px){.floodcast-primary-tabs>button{flex-direction:column;gap:1px}.floodcast-primary-tabs strong{font-size:8px}.boundary-page-head .button-row{grid-template-columns:minmax(0,1fr)}.boundary-page-head .button-row .primary-button{grid-column:auto}.boundary-summary-strip{grid-template-columns:minmax(0,1fr)}.boundary-summary-main,.boundary-summary-strip>div,.boundary-summary-strip>div:nth-child(4),.boundary-summary-strip>div:nth-child(5){grid-column:auto;border-left:0!important}.boundary-detail-metrics{grid-template-columns:minmax(0,1fr)}.boundary-detail-metrics>div{border-left:0!important}.boundary-job-list summary{grid-template-columns:minmax(100px,auto) minmax(0,1fr) 14px}.boundary-report-items>span{grid-template-columns:minmax(0,1fr) auto}.boundary-report-items small{grid-column:1 / -1}}
