.forecast-basis-control{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;padding:22px 26px;margin-bottom:20px;border:1px solid #cbd3c4;background:#faf9f3}
.forecast-basis-control>div:first-child{flex:1 1 350px}
.forecast-basis-control h2{margin:0;font:700 27px/1.25 var(--serif);color:#153f32}
.forecast-basis-control p{margin:8px 0 0;font-size:15px;line-height:1.6;color:#425548}
.forecast-basis-control fieldset{display:flex;flex-wrap:wrap;gap:10px;border:0;padding:0;margin:0}
.forecast-basis-control label{display:flex;gap:8px;align-items:center;min-height:48px;padding:10px 14px;background:#edf1e6;border:1px solid #cbd3c4;border-radius:4px;font-size:15px;font-weight:700;color:#153f32;cursor:pointer}
.forecast-basis-control input{width:18px;height:18px;accent-color:#153f32}
.forecast-basis-control label>span{font-size:11px;border:1px solid #bdc8b5;padding:2px 5px;border-radius:3px}
.forecast-basis-control label:has(input:checked){border-color:#153f32;background:#e1eadb}
.forecast-basis-control label:focus-within{outline:3px solid #ae7919;outline-offset:3px}
#forecast-basis-status{width:100%;padding-top:12px;border-top:1px solid #d4dacd}
.forecast-route-upgrade{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;width:100%;padding:18px;background:#e9e5d5}
.forecast-route-upgrade[hidden]{display:none}
.forecast-route-upgrade>div{flex:1 1 360px}
.forecast-route-upgrade strong{font:700 22px/1.3 var(--serif);color:#153f32}
.forecast-route-upgrade .button{min-height:46px;font-size:14px}
.forecast-route-upgrade>a:not(.button){font-size:14px;font-weight:700;line-height:1.6;color:#153f32;min-height:44px;display:flex;align-items:center;text-underline-offset:3px}
.weekend-route-report{padding:24px 28px;max-width:1000px;font-size:17px;line-height:1.7;color:#354d40}
.weekend-route-report>p{margin:12px 0}
.weekend-route-report details{margin-top:18px;border-top:1px solid #ccd4c5}
.weekend-route-report summary{min-height:48px;padding:14px 0;font-weight:700;cursor:pointer;color:#153f32}
.weekend-route-report h3{font-size:20px;line-height:1.4;margin:16px 0 6px}
.weekend-route-report a{color:#153f32;font-weight:700;text-underline-offset:3px}
.weekend-route-warning{border-left:4px solid #a43c35;padding-left:14px}
@media(max-width:600px){.forecast-basis-control{padding:18px 16px}.forecast-basis-control fieldset{width:100%}.forecast-basis-control label{flex:1 1 160px}.forecast-route-upgrade{padding:16px}.weekend-route-report{padding:20px 18px}}
