.soil-time-map{padding:0!important;min-width:0;overflow:hidden;border:1px solid rgba(139,174,193,.4);border-radius:24px;background:var(--card-bg,#f1f8fb);color:var(--text-color,#193e53)}
.soil-time-map [hidden]{display:none!important}
.soil-map-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 26px;background:linear-gradient(115deg,#194c68,#27777b);color:#fff}
.soil-map-header .eyebrow{color:#a0e5e4;font-size:.72rem;letter-spacing:.08em}
.soil-map-header h2{margin:8px 0;font-size:clamp(1.2rem,2.2vw,1.7rem);color:#fff}
.soil-map-header p{margin:0;color:#d3e8ee;font-size:.88rem}
.soil-time-map button,.soil-time-map input[type=month]{font:inherit;border:1px solid #b6d1df;border-radius:12px;padding:11px 14px;min-height:44px;background:#fff;color:#1a4a63;font-weight:700;cursor:pointer}
.soil-time-map button:disabled{cursor:default;opacity:.5}
.soil-time-map button:focus-visible,.soil-time-map input:focus-visible,.soil-time-map canvas:focus-visible{outline:3px solid #e2ac16;outline-offset:3px}
.soil-time-map .soil-map-screen{flex-shrink:0;background:#1682a7;border-color:#4da1b9;color:#fff;font-size:.85rem}
.soil-map-controls{display:grid;grid-template-columns:minmax(290px,1fr) minmax(320px,1.6fr);gap:20px;padding:20px 24px;background:rgba(211,232,239,.45)}
.soil-map-controls fieldset{min-width:0;margin:0;padding:15px;border:1px solid #c0d9e5;border-radius:16px}
.soil-map-controls legend{font-weight:800;font-size:.88rem;padding:0 6px}
.soil-map-controls label:not(.soil-map-toggle){display:grid;gap:8px;font-weight:700;font-size:.85rem}
.soil-map-controls input[type=month]{width:100%;min-width:0;box-sizing:border-box;cursor:text}
.soil-map-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.soil-map-actions button{font-size:.82rem;flex:1}
.soil-map-actions button[type=submit]{background:#f5c43d;color:#173b51;border-color:#edbb34;flex:2}
.soil-map-toggles{display:flex;flex-wrap:wrap;gap:9px}
.soil-map-toggle{position:relative;cursor:pointer}
.soil-map-toggle input{position:absolute;opacity:0;width:1px;height:1px}
.soil-map-toggle span{display:block;padding:11px 14px;border:1px solid #bcd4df;border-radius:12px;background:#fff;font-weight:750;font-size:.85rem;color:#567181}
.soil-map-toggle input:checked+span{background:#187ba0;color:#fff;border-color:#187ba0}
.soil-map-toggle input:checked+span:before{content:'✓ ';font-weight:900}
.soil-map-toggle input:focus-visible+span{outline:3px solid #e2ac16;outline-offset:3px}
.soil-map-controls fieldset p{font-size:.78rem;color:#577383;margin:12px 0 0}
.soil-map-status{padding:12px 24px;margin:0;border-bottom:1px solid #c9dde7;font-size:.85rem;color:#537284;min-height:1.4em}
.soil-map-plots{display:grid;gap:16px;padding:20px 18px}
.soil-map-plot{min-width:0;border:1px solid #cadce4;border-radius:16px;overflow:hidden;background:rgba(248,252,254,.5)}
.soil-map-plot-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;background:rgba(210,232,240,.45)}
.soil-map-plot-heading h3{margin:0;font-size:1rem;line-height:1.4}
.soil-map-plot-heading button{padding:6px 10px;min-height:34px;font-size:.76rem}
.soil-map-summary,.soil-map-source{margin:10px 18px;color:#567384;font-size:.79rem;line-height:1.6}
.soil-map-stage{position:relative;min-width:0;padding:0 6px}
.soil-map-stage canvas{display:block;max-width:100%;touch-action:pan-y}
.soil-map-readout{margin:0 24px 18px;padding:14px 18px;border:1px solid #bdd6e2;border-radius:14px;background:rgba(213,235,244,.5);font-size:.85rem;min-height:48px;line-height:1.65}
.soil-map-readout strong{display:block;margin-bottom:6px}
.soil-map-readout span{display:inline-block;margin-right:18px}
.soil-map-footer{padding:18px 24px;border-top:1px solid #c6dbe6;color:#567384;font-size:.79rem;line-height:1.65}
.soil-map-scale-bar{height:17px;border-radius:9px;overflow:hidden;display:flex}
.soil-map-scale-bar i{flex:1}
.soil-map-scale-labels{display:flex;justify-content:space-between;font-weight:750;font-size:.78rem;padding-top:7px}
.soil-map-empty{margin:20px 24px;padding:18px;background:#e5edf1;border-radius:14px}
.soil-time-map:fullscreen,.soil-time-map.is-soil-fullscreen{background:#edf5f8;border-radius:0;overflow:auto;padding:0;max-height:100vh}
.soil-time-map.is-soil-fullscreen{position:fixed;inset:0;z-index:11000;margin:0!important}
.soil-time-map:fullscreen .soil-map-header,.soil-time-map.is-soil-fullscreen .soil-map-header{position:sticky;top:0;z-index:2}
@media(max-width:900px){.soil-map-controls{grid-template-columns:1fr}.soil-map-header{align-items:flex-start}.soil-map-header .soil-map-screen{max-width:150px}.soil-map-plots{padding:15px 8px}}
@media(max-width:520px){.soil-map-header{padding:18px;flex-direction:column}.soil-map-controls{padding:14px}.soil-map-footer{padding:15px}.soil-map-readout{margin:0 14px 15px}.soil-map-plot-heading{padding:12px}.soil-map-summary,.soil-map-source{margin:8px 12px}}
