:root{--navy:#082f49;--blue:#125a9c;--ink:#172c45;--muted:#596d82;--line:#dce5ee;--bg:#eef3f8;--white:#fff;--teal:#0f8a7e}
[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Segoe UI',Tahoma,sans-serif;font-size:15px;line-height:1.5}
.wrap{max-width:1540px;margin:0 auto;padding:0 24px}header{background:linear-gradient(110deg,var(--navy),var(--blue));color:white;padding:22px 0}
.head{display:flex;gap:20px;align-items:center;justify-content:space-between}header h1{font-size:28px;margin:4px 0}header p{margin:0;color:#d7e9f8}header a{color:#d7e9f8;text-decoration:none;white-space:nowrap}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--muted)}header .eyebrow{color:#badcf5}
h2{font-size:20px;line-height:1.3;margin:7px 0 12px}.muted{color:var(--muted)}.small{font-size:12px}button,input,select{font:inherit}button{cursor:pointer}
button:disabled{cursor:default;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}
.forecast-choice{margin:18px 0 12px;border:1px solid var(--line);border-radius:12px;background:var(--white);padding:14px 18px}.forecast-choice select{max-width:480px;margin-top:6px}.forecast-choice p{font-size:12px;margin:8px 0 0}
.method-bar{margin:12px 0;border:1px solid var(--line);border-radius:12px;background:var(--white);padding:14px 18px}
.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs button{padding:8px 18px;background:#edf3f8;border:0;border-radius:7px;font-weight:600;color:var(--muted)}.tabs .active{background:var(--navy);color:white}
.method-content{margin-top:12px}.method-content p{margin:0 0 8px}.method-content[hidden]{display:none}
label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--muted)}input,select{min-width:0;width:100%;padding:8px 10px;background:white;border:1px solid #ccd8e3;border-radius:6px;color:var(--ink);font-size:14px}
.coordinate-row,.upload-row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.coordinate-row label{width:135px}.upload-row label{flex:1;min-width:200px;max-width:480px}
.primary,.secondary{border-radius:7px;padding:9px 13px;font-weight:600;font-size:13px}.primary{background:var(--navy);color:white;border:1px solid var(--navy)}.secondary{background:#f1f6fb;border:1px solid #cddde9;color:var(--blue)}
.full{width:100%;margin:16px 0}.text-button{border:0;background:none;padding:4px;color:var(--blue);font-size:12px}.status{padding:10px 14px;background:#e5eff9;border-radius:7px;color:var(--blue);margin-bottom:12px;min-height:42px}
.status.error{background:#fff0ed;color:#a83124}.status.busy:before{content:'';display:inline-block;width:12px;height:12px;border:2px solid #afc7dc;border-top-color:var(--blue);border-radius:50%;margin-right:9px;animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.status.busy:before{animation:none}}
.workspace{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,3fr);gap:16px;align-items:start}.map-panel,.result-panel,.lower-panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.map-panel{position:sticky;top:12px}.map-tools{padding:10px 14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.map-tools label{display:flex;flex-direction:row;align-items:center;font-size:12px}.map-tools input{width:auto;margin:0}
.map-tools .text-button{margin-left:auto}#map{height:590px;min-height:350px;background:#dce9f1}.rain-layer{image-rendering:pixelated}.map-note{padding:12px 14px;font-size:12px;border-top:1px solid var(--line);color:var(--muted)}
.result-panel{padding:18px}.selection-heading{display:flex;align-items:center;justify-content:space-between}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}fieldset{margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:7px}legend{font-size:12px;color:var(--muted);padding:0 5px;font-weight:600}
fieldset label{margin-top:8px}.time-presets{display:flex;gap:4px;flex-wrap:wrap}.time-presets button{padding:6px 8px;font-size:11px}.model-cards{display:grid;gap:8px}.model-card{border-left:3px solid var(--model-color);padding:8px 10px;background:#f6f9fc;border-radius:0 6px 6px 0}.model-card .top{display:flex;align-items:center;justify-content:space-between;gap:8px}.model-card .amount{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.model-card .amount small{font-size:12px;font-weight:400}.model-card p{margin:3px 0 0;font-size:11px;color:var(--muted)}
.exports{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.legend{padding:10px 14px;border-top:1px solid var(--line);font-size:11px}.legend b{display:block;margin-bottom:6px}.legend #legend-colors{display:flex;gap:8px;flex-wrap:wrap}.legend span{display:inline-flex;align-items:center;gap:4px}.legend i{display:inline-block;width:12px;height:10px}
.lower-panel{padding:20px;margin-top:18px}.section-head{display:flex;gap:15px;align-items:center;justify-content:space-between;flex-wrap:wrap}.chart-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.chart-controls label{min-width:220px}.chart-box{position:relative;height:330px;margin-top:16px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}caption{text-align:left;font-weight:600;margin:16px 0 8px}th,td{padding:10px 9px;border-bottom:1px solid var(--line);text-align:right;vertical-align:top;white-space:nowrap}th{color:var(--muted);font-size:12px}th:first-child,td:first-child{text-align:left}td small{display:block;font-size:10px;color:var(--muted)}.coverage-low{color:#a83124}
.runoff-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.runoff-values>div{padding:14px;background:#f4f8fc;border:1px solid var(--line);border-radius:8px}.runoff-values span,.runoff-values small{display:block;font-size:12px;color:var(--muted)}.runoff-values strong{display:block;font-size:27px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.runoff-values .runoff-highlight{background:#e9f6f3;border-color:#a7d7cb;color:#075e54}.runoff-note{font-size:12px;background:#f4f8fc;border-left:3px solid #96b7d0;padding:10px 12px}.runoff-invalid{color:#a83124}#runoff-percent{max-width:180px}#runoff-status{font-size:13px}
@media(max-width:800px){.runoff-values{grid-template-columns:1fr 1fr}}@media(max-width:480px){.runoff-values{grid-template-columns:1fr}.runoff-values strong{font-size:24px}}
footer{font-size:12px;color:var(--muted);padding:16px 0 28px}footer p{margin:7px 0}footer a{color:var(--blue)}body.analysing .leaflet-draw{pointer-events:none;opacity:.45}
@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,6fr) minmax(280px,4fr)}#map{height:520px}.wrap{padding:0 16px}}
@media(max-width:800px){.workspace{grid-template-columns:1fr}.map-panel{position:static}#map{height:440px}.field-pair{grid-template-columns:1fr 1fr}.model-cards{grid-template-columns:1fr}.model-card .top{flex-direction:row;align-items:center}.model-card .amount{font-size:19px}.head{align-items:start}header h1{font-size:23px}header p{font-size:13px}.chart-box{height:300px}}
@media(max-width:480px){.wrap{padding:0 10px}.head{flex-direction:column;gap:9px}.method-bar{padding:12px}.tabs{gap:4px}.tabs button{padding:8px 10px;font-size:12px}.coordinate-row label{width:calc(50% - 5px)}.model-cards{grid-template-columns:1fr}.model-card .top{flex-direction:row;align-items:center}.field-pair{grid-template-columns:1fr}.lower-panel{padding:14px}#map{height:380px}.map-tools{gap:7px}.chart-controls label{min-width:0;width:100%}input,select{font-size:16px}}
