:root,[data-theme=light]{--bg:#e7f1ea;--bg-deep:#d3e6da;--surface:#ffffff94;--surface-strong:#ffffffc7;--surface-solid:#f4faf6;--ink:#102419;--muted:#5a7364;--brand:#0d6548;--brand-soft:#1b8f67;--water:#1690b4;--water-deep:#0a5a74;--accent:#c9a24d;--danger:#c04545;--line:#1024191a;--line-strong:#10241929;--shadow:0 10px 30px #10241912, 0 2px 8px #1024190a;--shadow-lift:0 18px 40px #1024191f, 0 4px 12px #1024190f;--glow:0 0 0 1px color-mix(in srgb, var(--water) 18%, transparent);--radius-sm:.65rem;--radius-md:1rem;--radius-lg:1.35rem;--radius-xl:1.7rem;--blur:18px;--hero-glow:radial-gradient(ellipse 80% 55% at 12% -10%, #1690b438, transparent 55%), radial-gradient(ellipse 70% 50% at 92% 0%, #0d65482e, transparent 50%), radial-gradient(ellipse 50% 40% at 50% 100%, #c9a24d1a, transparent 55%), linear-gradient(165deg, #f3faf5 0%, #e4f0e8 42%, #d7ebf2 100%);--tank:#0d7a9c;--lawn:#3d9a5f;--flower:#d46a8c;--ease:cubic-bezier(.22, 1, .36, 1)}[data-theme=dark]{--bg:#0a1410;--bg-deep:#07100c;--surface:#12221b9e;--surface-strong:#162820d1;--surface-solid:#101f18;--ink:#e8f4ec;--muted:#93ad9f;--brand:#45d4a0;--brand-soft:#249e72;--water:#45bbe0;--water-deep:#1a8fb5;--accent:#e4c278;--danger:#f07a7a;--line:#e8f4ec1a;--line-strong:#e8f4ec29;--shadow:0 14px 36px #00000061, 0 2px 8px #0003;--shadow-lift:0 22px 50px #00000080;--glow:0 0 0 1px color-mix(in srgb, var(--water) 22%, transparent);--hero-glow:radial-gradient(ellipse 75% 50% at 10% -8%, #45bbe029, transparent 50%), radial-gradient(ellipse 65% 45% at 90% 0%, #45d4a01f, transparent 48%), linear-gradient(168deg, #0a1410 0%, #0e1c16 48%, #0c1a22 100%);--tank:#2aa4c8;--lawn:#4cba76;--flower:#e288a8}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{min-height:100%;margin:0}body{font-optical-sizing:auto;color:var(--ink);background:var(--hero-glow);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;font-family:Figtree,system-ui,sans-serif;font-weight:450;line-height:1.5}body:before{content:"";pointer-events:none;z-index:0;opacity:.35;background-image:radial-gradient(#10241909 .6px,#0000 .6px);background-size:3px 3px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 88%);mask-image:linear-gradient(#000 0%,#0000 88%)}[data-theme=dark] body:before{opacity:.22;background-image:radial-gradient(#e8f4ec0d .6px,#0000 .6px)}#root{z-index:1;position:relative}h1,h2,h3,.brand{letter-spacing:-.03em;font-optical-sizing:auto;font-family:Fraunces,Georgia,serif;font-weight:650;line-height:1.1}button,input,select,textarea{font:inherit;letter-spacing:inherit}::selection{background:color-mix(in srgb, var(--water) 28%, transparent);color:var(--ink)}.app{width:min(1220px,100% - 2rem);margin:0 auto;padding:1.35rem 0 4.5rem}.topbar{animation:rise .7s var(--ease) both;justify-content:space-between;align-items:flex-start;gap:1.1rem;margin-bottom:1.5rem;display:flex}.brand-block h1{color:var(--brand);text-wrap:balance;margin:0;font-size:clamp(2.35rem,5vw,3.45rem);line-height:.92}.brand-row{align-items:center;gap:.85rem;display:flex}.brand-logo{width:58px;height:58px;box-shadow:var(--shadow), var(--glow);object-fit:cover;border-radius:16px;flex-shrink:0}.brand-block p{color:var(--muted);text-wrap:pretty;max-width:34ch;margin:.55rem 0 0;font-size:1.02rem;font-weight:500;line-height:1.4}.toggles{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(var(--blur));border-radius:999px;flex-wrap:wrap;gap:.55rem;padding:.35rem;display:flex}.seg{background:color-mix(in srgb, var(--surface-solid) 55%, transparent);border:1px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.seg button{color:var(--muted);cursor:pointer;transition:background .2s var(--ease), color .2s var(--ease);background:0 0;border:0;padding:.48rem .85rem;font-size:.86rem;font-weight:600}.seg button:hover{color:var(--ink)}.seg button.active{background:var(--brand);color:#fff;box-shadow:0 4px 12px color-mix(in srgb, var(--brand) 35%, transparent)}.nav{display:none}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(var(--blur));animation:rise .75s var(--ease) both;padding:1.35rem 1.4rem}.panel h2{margin:0 0 .4rem;font-size:1.5rem}.panel .lead{color:var(--muted);text-wrap:pretty;margin:0 0 1.15rem;font-size:.98rem;line-height:1.45}.dropzone{border:1.5px dashed color-mix(in srgb, var(--water) 48%, var(--line));border-radius:var(--radius-md);text-align:center;background:linear-gradient(180deg, color-mix(in srgb, var(--water) 9%, transparent), transparent 70%), var(--surface-solid);transition:border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);cursor:pointer;padding:1.75rem 1.4rem}.dropzone:hover,.dropzone.drag{border-color:var(--water);box-shadow:var(--shadow);transform:translateY(-2px)}.row-actions,.actions{flex-wrap:wrap;gap:.55rem;margin-top:1rem;display:flex}.btn{cursor:pointer;background:linear-gradient(180deg, color-mix(in srgb, var(--brand) 92%, white), var(--brand));color:#fff;letter-spacing:-.01em;box-shadow:0 8px 18px color-mix(in srgb, var(--brand) 28%, transparent);transition:transform .2s var(--ease), box-shadow .2s var(--ease), filter .2s var(--ease);border:0;border-radius:999px;padding:.72rem 1.2rem;font-weight:650}.btn:hover:not(:disabled){box-shadow:0 12px 24px color-mix(in srgb, var(--brand) 34%, transparent);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn.secondary{background:var(--surface-strong);color:var(--ink);border:1px solid var(--line-strong);box-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn.secondary:hover:not(:disabled){border-color:color-mix(in srgb, var(--water) 35%, var(--line));box-shadow:var(--shadow)}.btn:disabled{opacity:.5;cursor:wait;box-shadow:none}.table-wrap{border-radius:var(--radius-md);border:1px solid var(--line);margin-top:1rem;overflow:auto;box-shadow:inset 0 1px #ffffff40}table{border-collapse:collapse;background:var(--surface-solid);width:100%;min-width:900px}th,td{border-bottom:1px solid var(--line);text-align:left;padding:.62rem .5rem;font-size:.9rem}th{color:var(--muted);background:var(--surface-solid);font-weight:600;position:sticky;top:0}td input,td select{border:1px solid var(--line);width:100%;min-width:4.5rem;color:var(--ink);background:0 0;border-radius:.45rem;padding:.35rem .4rem}.sliders{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.slider label{color:var(--muted);justify-content:space-between;gap:.5rem;margin-bottom:.4rem;font-size:.88rem;font-weight:600;display:flex}.slider input[type=range]{width:100%;accent-color:var(--water);height:1.35rem}.slider input[type=number]{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-solid);width:100%;color:var(--ink);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);padding:.52rem .65rem}.slider input[type=number]:focus{border-color:color-mix(in srgb, var(--water) 50%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--water) 18%, transparent);outline:none}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.stat{border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface-solid) 92%, transparent);border:1px solid var(--line);box-shadow:var(--shadow);padding:1.05rem 1.1rem}.stat strong{letter-spacing:-.03em;color:var(--water-deep);font-family:Fraunces,Georgia,serif;font-size:1.5rem;display:block}[data-theme=dark] .stat strong{color:var(--water)}.stat span{color:var(--muted);font-size:.9rem}.gantt{gap:.4rem;margin-top:1rem;display:grid}.gantt-row{grid-template-columns:120px 1fr;align-items:center;gap:.6rem;display:grid}.gantt-track{background:color-mix(in srgb, var(--line) 70%, transparent);border-radius:999px;height:28px;position:relative;overflow:hidden}.gantt-bar{background:linear-gradient(90deg, var(--water), var(--brand-soft));border-radius:999px;min-width:4px;transition:left .3s,width .3s;position:absolute;top:3px;bottom:3px}.gantt-bar.drip{background:linear-gradient(90deg, var(--brand), var(--accent))}.gantt-bar.skipped{opacity:.35;background:var(--muted)}.rationale{border-left:3px solid var(--water);background:color-mix(in srgb, var(--water) 6%, var(--surface-solid));border-radius:0 var(--radius-md) var(--radius-md) 0;margin-top:1rem;padding:1.05rem 1.15rem;line-height:1.5}.sim{grid-template-columns:1.1fr 1fr;gap:1.25rem;display:grid}.tank-scene{background:radial-gradient(circle at 70% 80%, color-mix(in srgb, var(--lawn) 35%, transparent), transparent 40%), linear-gradient(180deg, color-mix(in srgb, var(--water) 18%, transparent), transparent 40%), var(--surface-solid);border:1px solid var(--line);border-radius:1.2rem;min-height:320px;position:relative;overflow:hidden}.tank{border:3px solid color-mix(in srgb, var(--ink) 35%, transparent);background:color-mix(in srgb, var(--ink) 6%, transparent);border-radius:.6rem .6rem 1rem 1rem;width:120px;height:180px;position:absolute;top:12%;left:8%;overflow:hidden}.tank-fill{background:linear-gradient(180deg, var(--water), var(--water-deep));transition:height .25s linear;position:absolute;bottom:0;left:0;right:0}.tank-label{color:var(--muted);font-size:.85rem;position:absolute;top:205px;left:8%}.ground{background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--lawn) 40%, transparent));height:38%;position:absolute;bottom:0;left:0;right:0}.spray{background:var(--water);opacity:0;border-radius:50%;width:10px;height:10px;position:absolute}.spray.on{animation:1.2s ease-out infinite spray}.plot{opacity:.55;border-radius:50% 50% 40% 40%;width:70px;height:48px;transition:opacity .3s,filter .3s;position:absolute;bottom:12%}.plot.lawn{background:var(--lawn);right:28%}.plot.flowers{background:var(--flower);right:12%}.plot.drip{background:var(--brand);right:44%}.plot.active{opacity:1;filter:saturate(1.3)brightness(1.05);box-shadow:0 0 24px color-mix(in srgb, var(--water) 50%, transparent)}.bars{gap:.75rem;display:grid}.bar-row label{color:var(--muted);justify-content:space-between;margin-bottom:.25rem;font-size:.9rem;display:flex}.bar-track{background:color-mix(in srgb, var(--line) 80%, transparent);border-radius:999px;height:14px;overflow:hidden}.bar-fill{border-radius:inherit;background:linear-gradient(90deg, var(--water), var(--brand));height:100%}.compare{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.error{color:var(--danger);margin-top:.75rem}.weather{grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:.55rem;margin-top:.55rem;display:grid}.weather-day{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-solid) 92%, transparent);border:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;gap:.35rem;padding:.65rem .6rem .7rem;font-size:.82rem;display:flex}.weather-date{letter-spacing:.02em;color:var(--ink);font-size:.78rem}.weather-row{background:color-mix(in srgb, var(--surface-solid) 70%, transparent);border:1px solid color-mix(in srgb, var(--line) 80%, transparent);border-radius:.55rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.3rem;padding:.28rem .35rem;display:grid}.weather-row.rain{background:color-mix(in srgb, var(--water) 12%, var(--surface-solid))}.weather-row.temp{background:color-mix(in srgb, #e8a45a 12%, var(--surface-solid))}.weather-ico{font-size:.85rem;line-height:1}.weather-label{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);font-size:.66rem;font-weight:700}.weather-row b{font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700}.location-block{border-radius:var(--radius-md);border:1px solid var(--line);background:color-mix(in srgb, var(--surface-solid) 88%, transparent);box-shadow:var(--shadow);margin-bottom:.55rem;padding:1rem 1.05rem}.location-label{color:var(--muted);margin-bottom:.4rem;font-size:.9rem;display:block}.location-row{flex-wrap:wrap;align-items:flex-start;gap:.55rem;display:flex}.location-search{flex:1;min-width:220px;position:relative}.location-search input{border:1px solid var(--line);width:100%;color:var(--ink);background:0 0;border-radius:.7rem;padding:.65rem .8rem}.location-busy{color:var(--muted);position:absolute;top:.65rem;right:.75rem}.location-results{z-index:8;background:var(--surface-solid);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:.75rem;max-height:220px;margin:.25rem 0 0;padding:.35rem;list-style:none;position:absolute;left:0;right:0;overflow:auto}.location-results button{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:.5rem;padding:.55rem .65rem}.location-results button:hover{background:color-mix(in srgb, var(--water) 14%, transparent)}.location-selected{color:var(--muted);margin:.55rem 0 0;font-size:.88rem}.location-map{border:1px solid var(--line);aspect-ratio:16/9;background:color-mix(in srgb, var(--water) 10%, transparent);border-radius:.85rem;margin-top:.75rem;position:relative;overflow:hidden}.location-map iframe{border:0;width:100%;height:100%}.location-map-link{background:var(--surface-solid);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:.25rem .5rem;font-size:.75rem;text-decoration:none;position:absolute;bottom:.5rem;right:.5rem}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes spray{0%{opacity:.9;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-40px)scale(.4)}}:root,[data-theme=light]{--iso-sky-top:#e8f6fa;--iso-sky-mid:#eef8f0;--iso-sky-bot:#f4f9eb}[data-theme=dark]{--iso-sky-top:#183840;--iso-sky-mid:#163028;--iso-sky-bot:#142820}.dash-app{width:100%}@media (width>=901px){html,body,#root{height:100%;max-height:100dvh;overflow:hidden}.dash-app{box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:.35rem .45rem .4rem;display:flex;overflow:hidden}.dash-app .topbar{flex-shrink:0;margin-bottom:.35rem}.dash-app .brand-block h1{font-size:clamp(1.75rem,2.6vw,2.35rem)}.dash-app .brand-block p{display:none}.dash-app .brand-logo{width:44px;height:44px}.dash-hero{flex:1;grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:.4rem;min-height:0;margin-bottom:0}.desktop-deck-extra{display:none!important}.iso-wrap{flex-direction:column;gap:.22rem;height:100%;min-height:0;padding:.25rem .3rem;display:flex}.iso-hud-compact{display:none}.mobile-sim-controls{display:none!important}.iso-wrap>.flow-meter{flex-shrink:0;margin:0 0 .2rem}.iso-stage{background:var(--iso-sky-bot);border-radius:.75rem;flex:1;min-height:0;display:flex}.iso-svg{width:100%;height:100%;min-height:0}.iso-stage .sim-live-legend,.mobile-only-legend{display:none!important}.mini-timeline,.iso-scrub{flex-shrink:0}.dash-command{gap:.35rem;height:100%;min-height:0;padding:.5rem .55rem;overflow:hidden}.dash-command .dash-title{font-size:1.15rem}.command-actions{gap:.4rem;margin-top:0}.command-actions .btn{min-height:38px;padding:.55rem .85rem;font-size:.86rem}.dash-command .dash-title{margin-bottom:.15rem;font-size:1.05rem}.dash-command .dash-meta{font-size:.75rem}.deck-tile{min-height:52px}.sim-rail-hud{display:none}.sim-rail-lines{max-height:88px}.sim-rail-stats{grid-template-columns:repeat(3,1fr)}.sim-rail-stats span{font-size:.82rem}.sim-rail .sim-control-group{gap:.3rem}.sim-rail .sim-label{margin:0}.sim-rail-actions .btn{min-height:34px;padding:.4rem .55rem;font-size:.8rem}.sim-rail-root{border-top:1px solid var(--line);flex-direction:column;flex:1;min-height:0;margin-top:.2rem;padding-top:.45rem;display:flex;overflow:hidden}.sim-rail-root .sim-rail{flex:1;min-height:0;padding-right:0;overflow:hidden}.sim-rail-live{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-solid) 88%, transparent);border-radius:.75rem;flex-direction:column;flex:1;min-height:0;margin-top:.35rem;padding:.45rem .5rem;display:flex;overflow:auto}.sim-rail-live .sim-live-row{margin-bottom:.35rem}.sim-rail-live .chip{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-solid) 88%, transparent);color:var(--ink);border-radius:999px;align-items:center;padding:.14rem .42rem;font-size:.68rem;font-weight:700;display:inline-flex}.sim-rail-live .chip.lawn{background:color-mix(in srgb, #3daa63 28%, var(--surface-solid));border-color:color-mix(in srgb, #3daa63 45%, var(--line))}.sim-rail-live .chip.flower{background:color-mix(in srgb, #c47890 28%, var(--surface-solid));border-color:color-mix(in srgb, #c47890 45%, var(--line))}.sim-rail-live .chip.drip{background:color-mix(in srgb, var(--water) 28%, var(--surface-solid));border-color:color-mix(in srgb, var(--water) 45%, var(--line))}.sim-rail-live .chip.box{font-family:ui-monospace,Menlo,monospace;font-size:.64rem}.sim-rail-live .chip.zone{opacity:.9}.sim-rail-live .sim-live-chips,.sim-rail-live .sim-live-boxes{flex-wrap:wrap;gap:.28rem;margin-top:.28rem;display:flex}.sim-rail-live .sim-live-idle{color:var(--muted);font-size:.78rem}.dash-command .dash-meta{flex-shrink:0;margin:.15rem 0 0}}.dash-hero{animation:rise .75s var(--ease) both;grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:stretch;gap:.65rem;margin-bottom:1.15rem;display:grid}.dash-hero-copy{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(var(--blur));flex-direction:column;justify-content:flex-start;gap:.65rem;padding:1.15rem;display:flex}.dash-command .dash-title{margin:0;font-size:clamp(1.2rem,2vw,1.45rem)}.dash-command .lead{margin:0;font-size:.86rem;line-height:1.35}.command-actions{flex-direction:column;align-items:stretch;gap:.5rem;margin-top:.35rem}.command-actions .btn{text-align:center;justify-content:center;width:100%}.command-deck-grid{grid-template-columns:1fr 1fr;gap:.4rem;margin:0;display:grid}.deck-tile{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-solid) 88%, transparent);min-height:58px;color:var(--ink);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:.9rem;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.45rem .35rem;display:flex}.deck-tile span{font-size:1.05rem;line-height:1}.deck-tile em{letter-spacing:.01em;color:var(--muted);font-size:.68rem;font-style:normal;font-weight:700}.deck-tile:hover:not(:disabled){border-color:color-mix(in srgb, var(--brand) 45%, var(--line));transform:translateY(-1px)}.deck-tile:disabled{opacity:.4;cursor:not-allowed}.deck-tile-primary{background:linear-gradient(165deg, color-mix(in srgb, var(--brand) 82%, white), var(--brand));color:#fff;box-shadow:0 6px 14px color-mix(in srgb, var(--brand) 28%, transparent);border-color:#0000}.deck-tile-primary em{color:#ffffffeb}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sim-timeline-row{grid-template-columns:1fr auto;align-items:center;gap:.45rem;display:grid}.sim-timeline-row .iso-scrub{width:100%;margin:0}.sim-speed-select select{appearance:none;border:1px solid var(--line-strong);background-color:var(--surface-solid);color:var(--ink);font:inherit;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;border-radius:999px;min-width:3.6rem;min-height:34px;padding:.3rem 1.4rem .3rem .55rem;font-size:.78rem;font-weight:700}.dash-title{color:var(--ink);margin:0 0 .4rem;font-size:clamp(1.55rem,2.8vw,2.15rem)}.dash-meta{color:var(--muted);margin:.85rem 0 0;font-size:.9rem;line-height:1.4}.glass-fallback{isolation:isolate;background:linear-gradient(145deg, #ffffff38, #ffffff0d), color-mix(in srgb, var(--surface) 70%, transparent);border:1px solid color-mix(in srgb, white 28%, var(--line));box-shadow:var(--shadow), inset 0 1px 0 #ffffff59, inset 0 -1px 0 #0000000f;-webkit-backdrop-filter:blur(18px)saturate(1.35);position:relative}[data-theme=dark] .glass-fallback{background:linear-gradient(145deg, #ffffff14, #ffffff05), color-mix(in srgb, var(--surface) 78%, transparent);border-color:color-mix(in srgb, white 14%, var(--line));box-shadow:var(--shadow), inset 0 1px 0 #ffffff1f}.glass-solid,.recent-panel,.flow-hover,.flow-inspect{background:var(--surface-solid)!important;-webkit-backdrop-filter:none!important;border:1px solid var(--line-strong)!important;box-shadow:var(--shadow-lift)!important}[data-theme=dark] .glass-solid,[data-theme=dark] .recent-panel,[data-theme=dark] .flow-hover,[data-theme=dark] .flow-inspect{background:color-mix(in srgb, var(--surface-solid) 96%, black)!important}.glass-panel{border-radius:var(--radius-xl)}.glass-pill,.glass-button{border-radius:999px;align-items:center;display:inline-flex}.glass-dock{border-radius:1.35rem}.iso-glass,.command-glass{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.iso-glass .iso-wrap,.command-glass .dash-command{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;height:100%}.seg-glass{display:inline-flex}.seg-glass .seg{background:0 0;border:0}.recent-wrap{z-index:30;position:relative}.recent-trigger{border:1px solid var(--line);background:var(--surface-solid);color:var(--ink);cursor:pointer;border-radius:999px;place-items:center;width:2.35rem;height:2.35rem;font-size:1rem;display:grid;position:relative}.recent-trigger.active{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb, var(--brand) 25%, transparent)}.recent-trigger em{background:var(--brand);color:#fff;border-radius:999px;place-items:center;min-width:1rem;height:1rem;padding:0 .2rem;font-size:.62rem;font-style:normal;font-weight:700;display:grid;position:absolute;top:2px;right:2px}.recent-panel-portal{z-index:10000;color:#102018;width:min(360px,100vw - 1.5rem);animation:popIn .18s var(--ease) both;background:#f7fbf8;border:1px solid #c5d6cc;border-radius:1rem;padding:.9rem .95rem;position:fixed;box-shadow:0 18px 40px #08181047}[data-theme=dark] .recent-panel-portal{color:#e8f2ec;background:#12241a;border-color:#2a4638;box-shadow:0 18px 40px #0000008c}.recent-panel-portal .recent-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.45rem;display:flex}.recent-panel-portal .recent-head strong{font-family:Fraunces,Georgia,serif;font-size:1.05rem}.recent-panel-portal .recent-current{opacity:.75;word-break:break-all;margin:0 0 .55rem;font-size:.78rem}.recent-panel-portal .recent-current code{opacity:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem}.recent-panel-portal .recent-empty{opacity:.8;margin:0;font-size:.88rem;line-height:1.45}.recent-panel-portal .recent-list{gap:.25rem;max-height:280px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.recent-panel-portal .recent-list li{align-items:stretch;gap:.3rem;display:flex}.recent-panel-portal .recent-list .recent-open{text-align:left;cursor:pointer;min-width:0;color:inherit;background:#fff;border:1px solid #d5e4db;border-radius:.85rem;flex:1;gap:.15rem;padding:.55rem .65rem;display:grid}.recent-panel-portal .recent-list .recent-copy{cursor:pointer;width:2.35rem;color:inherit;opacity:.72;background:#fff;border:1px solid #d5e4db;border-radius:.85rem;flex:none;place-items:center;display:grid}[data-theme=dark] .recent-panel-portal .recent-list .recent-open,[data-theme=dark] .recent-panel-portal .recent-list .recent-copy{background:#1a3226;border-color:#2f4d3e}.recent-panel-portal .recent-list .recent-open:hover,.recent-panel-portal .recent-list .recent-copy:hover{border-color:var(--brand);opacity:1}.recent-panel-portal .recent-list .recent-copy.done{color:var(--brand);opacity:1}.recent-panel-portal .recent-list strong{font-size:.86rem;font-weight:650}.recent-panel-portal .recent-list .recent-open span{opacity:.7;font-size:.72rem}.kpi-row{animation:rise .85s var(--ease) both;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1.05rem;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(var(--blur));transition:transform .25s var(--ease), box-shadow .25s var(--ease);padding:1.05rem 1.1rem}.kpi:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.kpi span{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:.8rem;font-weight:650}.kpi strong{letter-spacing:-.03em;color:var(--water-deep);margin-top:.35rem;font-family:Fraunces,Georgia,serif;font-size:1.55rem;display:block}[data-theme=dark] .kpi strong{color:var(--water)}.kpi em{color:var(--muted);margin-top:.25rem;font-size:.82rem;font-style:normal;font-weight:500;display:block}.dash-grid{animation:rise .95s var(--ease) both;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.dash-tile{text-align:left;border:1px solid var(--line);border-radius:var(--radius-lg);cursor:pointer;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(var(--blur));transition:transform .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);align-items:flex-start;gap:.9rem;padding:1.1rem;display:flex;position:relative}.dash-tile:hover{border-color:color-mix(in srgb, var(--water) 40%, var(--line));box-shadow:var(--shadow-lift);transform:translateY(-4px)}.dash-tile-icon{background:color-mix(in srgb, var(--water) 16%, transparent);width:2.55rem;height:2.55rem;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--water) 12%, transparent);border-radius:.9rem;flex-shrink:0;place-items:center;font-size:1.1rem;display:grid}.accent-brand .dash-tile-icon{background:color-mix(in srgb, var(--brand) 18%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 14%, transparent)}.accent-accent .dash-tile-icon{background:color-mix(in srgb, var(--accent) 24%, transparent)}.accent-lawn .dash-tile-icon{background:color-mix(in srgb, var(--lawn) 22%, transparent)}.dash-tile-copy{gap:.28rem;min-width:0;display:grid}.dash-tile-copy strong{letter-spacing:-.025em;font-family:Fraunces,Georgia,serif;font-size:1.18rem}.dash-tile-copy span{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.86rem;line-height:1.35;display:-webkit-box;overflow:hidden}.dash-badge{background:var(--brand);color:#fff;min-width:1.55rem;height:1.55rem;box-shadow:0 6px 14px color-mix(in srgb, var(--brand) 30%, transparent);border-radius:999px;place-items:center;padding:0 .42rem;font-size:.75rem;font-weight:700;display:grid;position:absolute;top:.75rem;right:.75rem}.iso-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(var(--blur));min-width:0;padding:1rem 1.05rem 1.1rem}.iso-hud{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.2rem;margin-bottom:.55rem;padding:.1rem .25rem .25rem;display:flex}.iso-hud strong{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:700;display:block}.iso-hud span{letter-spacing:-.02em;font-family:Fraunces,Georgia,serif;font-size:1.1rem}.iso-hud-em{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:600;display:block}.iso-hud-actions{gap:.45rem;display:flex}.sim-controls{border-radius:var(--radius-md);border:1px solid var(--line);background:color-mix(in srgb, var(--surface-solid) 72%, transparent);flex-wrap:wrap;align-items:flex-end;gap:.65rem 1rem;margin:0 0 .65rem;padding:.65rem .75rem;display:flex}.sim-control-group{flex-wrap:wrap;align-items:center;gap:.4rem .55rem;display:flex}.sim-label{letter-spacing:.04em;text-transform:uppercase;width:100%;color:var(--muted);font-size:.68rem;font-weight:700}.sim-seg button{min-height:32px;padding:.38rem .65rem;font-size:.78rem}.sim-valve{min-height:34px;box-shadow:none;padding:.42rem .85rem;font-size:.82rem}.sim-check{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.35rem;font-size:.8rem;display:inline-flex}.sim-check input{accent-color:var(--brand)}.sim-rail{flex-direction:column;flex:1;gap:.55rem;min-height:0;display:flex}.sim-rail-hud{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.sim-rail-hud>div:last-child{grid-column:1/-1}.sim-rail-hud strong{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.62rem;font-weight:700;display:block}.sim-rail-hud span{letter-spacing:-.02em;font-family:Fraunces,Georgia,serif;font-size:.98rem}.sim-rail-hud em{color:var(--muted);margin-left:.35rem;font-size:.78rem;font-style:normal;font-weight:600;display:inline}.sim-rail-hud span.over{color:var(--danger)}.sim-rail-actions{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.sim-rail-actions .btn{width:100%;min-height:36px;padding:.5rem .65rem;font-size:.84rem}.sim-seg-stack{flex-wrap:wrap;width:100%;display:flex}.sim-seg-stack button{flex:auto;padding:.35rem .45rem;font-size:.72rem}.sim-rail .sim-valve{width:100%}.sim-speed-group{border-top:1px solid var(--line);flex-direction:column;align-items:stretch;gap:.35rem;width:100%;margin-top:.15rem;padding-top:.45rem}.sim-speed-group .sim-label{width:auto}.sim-speed-seg{background:color-mix(in srgb, var(--surface-solid) 88%, transparent);border:1px solid var(--line);border-radius:999px;grid-template-columns:repeat(5,minmax(0,1fr));gap:.25rem;width:100%;padding:.2rem;display:grid!important}.sim-speed-seg button{border-radius:999px;min-width:0;min-height:30px;padding:.35rem .15rem;font-size:.72rem}.sim-rail-stats{grid-template-columns:repeat(3,1fr);gap:.35rem;display:grid}.sim-rail-stats div{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-solid) 80%, transparent);border-radius:.65rem;padding:.4rem .45rem}.sim-rail-stats strong{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.58rem;display:block}.sim-rail-stats span{font-family:Fraunces,Georgia,serif;font-size:.92rem}.sim-rail-lines{min-height:0;font-size:.78rem;overflow:auto}.sim-rail-lines strong{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.25rem;font-size:.72rem;display:block}.sim-rail-lines ul{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.sim-rail-lines li{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);justify-content:space-between;gap:.35rem;padding:.2rem 0;display:flex}.sim-rail-idle{color:var(--muted);margin:0;font-size:.78rem;line-height:1.35}.sim-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:.65rem 0 .55rem;display:grid}.sim-stats div{border-radius:var(--radius-sm);border:1px solid var(--line);background:color-mix(in srgb, var(--surface-solid) 85%, transparent);padding:.55rem .65rem}.sim-stats strong{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.68rem;font-weight:700;display:block}.sim-stats span{letter-spacing:-.02em;font-family:Fraunces,Georgia,serif;font-size:1rem}.iso-stage{border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--line);position:relative;overflow:hidden}.iso-stage-interactive{cursor:pointer}.iso-stage-interactive:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.iso-play-hint{z-index:4;pointer-events:none;background:#0000002e;place-items:center;display:grid;position:absolute;inset:0}.iso-play-hint span{color:#fff;background:color-mix(in srgb, var(--brand) 88%, black);opacity:.92;border-radius:999px;place-items:center;width:4rem;height:4rem;padding-left:.2rem;font-size:1.55rem;display:grid;box-shadow:0 10px 28px #00000059}.iso-svg{width:100%;height:auto;min-height:280px;display:block}.iso-muni.on path{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--water) 45%, transparent))}.iso-ao{fill:#10241924;pointer-events:none}[data-theme=dark] .iso-ao{fill:#00000047}.iso-prism path{stroke:#1024190a;stroke-width:.4px;vector-effect:non-scaling-stroke}.iso-pipe{stroke:#9aabb4;stroke-dasharray:8 7;stroke-linecap:square;stroke-linejoin:miter}.iso-pipe.flow{stroke:#5ec4e0;filter:drop-shadow(0 0 4px #5ec4e073);animation:.85s linear infinite pipeFlow}.iso-pipe.thin{stroke-width:2.5px;stroke:#a8bcc6}.iso-pipe.thin.flow{stroke:#7fd4ec}.iso-water{transition:y .25s linear,height .25s linear}.iso-label{fill:var(--ink);opacity:.88;font-family:Figtree,sans-serif;font-size:13px;font-weight:700}.iso-label-sm{fill:var(--ink);opacity:.72;font-family:Figtree,sans-serif;font-size:9px}.iso-plot{opacity:.72;transition:opacity .35s,filter .35s}.iso-plot.on{opacity:1;filter:saturate(1.18)brightness(1.04)}.iso-plot.on .iso-label-sm{opacity:1;fill:var(--ink);font-weight:700}.iso-iot-body{fill:color-mix(in srgb, var(--surface-solid) 88%, white);stroke:color-mix(in srgb, var(--line-strong) 70%, transparent);stroke-width:1px;filter:drop-shadow(0 2px 6px #1024191f)}[data-theme=dark] .iso-iot-body{fill:color-mix(in srgb, var(--surface-solid) 92%, black);stroke:#ffffff29}.iso-iot-text{fill:var(--ink);letter-spacing:.02em;font-family:Figtree,system-ui,sans-serif;font-size:8.5px;font-weight:700}.iso-iot-led{fill:#a8b8b0}.iso-iot.live .iso-iot-led,.iso-iot-led.live{fill:#3ecf8a;animation:1.4s ease-out infinite spray}.iso-iot-lawn.live .iso-iot-led{fill:#4cbc6e}.iso-iot-flower.live .iso-iot-led{fill:#e88ab0}.iso-iot-drip.live .iso-iot-led{fill:#5ec4e0}.iso-iot-muni.live .iso-iot-led{fill:#3ecf8a}.iso-wifi path,.iso-wifi circle{stroke:#5ec4e0;fill:#5ec4e0;opacity:.75}.iso-iot.live .iso-wifi path{animation:2.2s linear infinite pipeFlow}.iso-valve-body{fill:#1f6b4a;stroke:#d8f5e6;stroke-width:1.2px}.iso-valve-knob{fill:#8fdfff;stroke:#eefcff;stroke-width:1px;animation:1.2s ease-out infinite spray}.iso-valve-lawn .iso-valve-body{fill:#2f8f52}.iso-valve-flower .iso-valve-body{fill:#a85a78}.iso-valve-drip .iso-valve-body{fill:#1a7a96}.iso-valve-label{fill:#0a1a12;paint-order:stroke;stroke:#ffffffd9;stroke-width:3px;font-family:Figtree,system-ui,sans-serif;font-size:9px;font-weight:800}.iso-valve-box{fill:#0a1a12;paint-order:stroke;stroke:#fffc;stroke-width:2.5px;font-family:ui-monospace,Menlo,monospace;font-size:8px;font-weight:700}[data-theme=dark] .iso-valve-label,[data-theme=dark] .iso-valve-box{fill:#f2fff8;stroke:#081410bf}.iso-spray{fill:#9fe8ff;animation:1.1s ease-out infinite spray}.iso-drip{animation:1.4s ease-in-out infinite dripPulse}.iso-tank{transform-origin:200px 220px;animation:4s ease-in-out infinite tankBob}.iso-rain{animation:5s ease-in-out infinite floaty}.iso-butterflies{animation:6s ease-in-out infinite floaty}.iso-palm,.iso-umbrella{transform-box:fill-box;transform-origin:bottom}.iso-scrub{width:100%;accent-color:var(--water);margin-top:.55rem}.flow-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:.85rem 0 1rem;display:grid}.flow-cap-note{color:var(--muted);font-size:.75rem;font-style:normal;font-weight:500}.subhead{margin:1.1rem 0 .25rem;font-size:1.1rem}.tiny-lead{color:var(--muted);margin:0 0 .65rem;font-size:.88rem}.flow-profile{border-radius:var(--radius-md);border:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--water) 6%, transparent), transparent 55%), var(--surface-solid);height:160px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff59}.flow-profile-bar.hot{outline:2px solid var(--accent);outline-offset:-1px;z-index:2}.flow-inspect{border-radius:var(--radius-md);max-height:min(42vh,320px);margin-top:.55rem;padding:.7rem .8rem;overflow:auto}.flow-inspect header{background:inherit;border-bottom:1px solid var(--line);z-index:1;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-bottom:.45rem;padding-bottom:.35rem;display:flex;position:sticky;top:0}.flow-inspect ul{gap:.28rem;margin:0;padding:0;list-style:none;display:grid}.flow-inspect li{border-bottom:1px solid color-mix(in srgb, var(--line) 65%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.5rem .85rem;padding:.28rem 0;font-size:.86rem;display:grid}.flow-inspect-meta{color:var(--muted);white-space:nowrap;font-size:.8rem}.flow-inspect footer{color:var(--muted);margin-top:.45rem;font-size:.8rem}.flow-inspect-hint{color:var(--muted);text-align:center;font-size:.86rem}.flow-hover{display:none}.group-dur{color:var(--muted);font-size:.85em;font-style:normal;font-weight:500}.group-card li strong small{color:var(--muted);font-family:Figtree,system-ui,sans-serif;font-size:.78em;font-weight:500}.program-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.35rem 0 .65rem;display:flex}.program-table-wrap{border-radius:var(--radius-md);border:1px solid var(--line);max-height:min(55vh,480px);overflow:auto}.program-table{border-collapse:collapse;width:100%;min-width:640px;font-size:.86rem}.program-table th,.program-table td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:.45rem .55rem}.program-table th{background:var(--surface-solid);z-index:1;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.72rem;position:sticky;top:0}.program-table tbody tr:hover td{background:color-mix(in srgb, var(--brand) 8%, transparent)}.program-table .num{font-variant-numeric:tabular-nums;text-align:right}.flow-profile-cap{border-top:1px dashed color-mix(in srgb, var(--danger) 55%, var(--line));z-index:1;pointer-events:none;position:absolute;top:8%;left:0;right:0}.flow-profile-bar{background:color-mix(in srgb, var(--water) 55%, transparent);border-radius:.25rem .25rem 0 0;min-width:2px;position:absolute;bottom:0}.flow-profile-bar.multi{background:linear-gradient(180deg, var(--brand-soft), var(--water))}.flow-profile-bar.single{opacity:.75}.flow-profile-bar.over{background:linear-gradient(180deg, var(--danger), #e09a3a)}.flow-profile-scale{color:var(--muted);justify-content:space-between;gap:.5rem;margin-top:.35rem;font-size:.78rem;display:flex}.group-list{gap:.65rem;max-height:360px;padding-right:.15rem;display:grid;overflow:auto}.group-card{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface-solid) 88%, transparent);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);padding:.85rem .95rem}.group-card.is-multi{border-color:color-mix(in srgb, var(--water) 42%, var(--line));box-shadow:inset 3px 0 0 var(--water), var(--shadow);background:color-mix(in srgb, var(--water) 5%, var(--surface-solid))}.group-card header{flex-wrap:wrap;justify-content:space-between;gap:.35rem .75rem;display:flex}.group-flow b{color:var(--water-deep)}[data-theme=dark] .group-flow b{color:var(--water)}.group-meta{color:var(--muted);margin:.25rem 0 .45rem;font-size:.82rem}.group-card ul{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.group-card li{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);justify-content:space-between;gap:.75rem;padding:.25rem 0;font-size:.88rem;display:flex}.group-card footer{color:var(--muted);margin-top:.45rem;font-size:.85rem}.iso-flow-live span{font-family:Fraunces,Georgia,serif;font-size:1.25rem}.iso-flow-live span.over{color:var(--danger)}.iso-flow-live em{color:var(--muted);font-size:.78rem;font-style:normal;display:block}.iso-flow-live small{font-family:Figtree,sans-serif;font-size:.75rem;font-weight:600}.flow-meter{margin:.35rem 0 .65rem}.flow-meter-track{background:color-mix(in srgb, var(--line) 80%, transparent);border-radius:999px;height:12px;position:relative;overflow:hidden}.flow-meter-fill{border-radius:inherit;background:linear-gradient(90deg, var(--water), var(--brand-soft));height:100%;transition:width .15s linear}.flow-meter-fill.over{background:linear-gradient(90deg, var(--danger), #e09a3a)}.flow-meter-cap{background:color-mix(in srgb, var(--ink) 35%, transparent);width:2px;position:absolute;top:0;bottom:0;right:0}.flow-meter-labels{color:var(--muted);justify-content:space-between;margin-top:.25rem;font-size:.75rem;display:flex}.live-lines{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface-solid) 90%, transparent);margin-top:.8rem;padding:.8rem .9rem;box-shadow:inset 0 1px #ffffff47}.live-lines-head{flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-bottom:.45rem;display:flex}.live-lines-head span{color:var(--muted);font-size:.85rem}.live-empty{color:var(--muted);margin:0;font-size:.88rem}.live-lines ul{gap:.3rem;max-height:140px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.live-lines li{border-top:1px solid color-mix(in srgb, var(--line) 65%, transparent);justify-content:space-between;gap:.75rem;padding:.3rem 0;font-size:.88rem;display:flex}.live-lines li small{color:var(--muted)}.live-sum{color:var(--muted);margin:.5rem 0 0;font-size:.85rem}.mini-timeline{background:color-mix(in srgb, var(--line) 70%, transparent);border-radius:999px;height:18px;margin-top:0;position:relative;overflow:hidden}.sim-timeline-block{flex-direction:column;gap:.28rem;margin-top:.25rem;display:flex}.sim-timeline-scale{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.72rem;display:flex}.sim-timeline-scale span:nth-child(2){color:var(--ink);font-weight:700}.iso-stage{position:relative}.sim-live-legend{z-index:3;background:color-mix(in srgb, var(--surface-solid) 92%, transparent);border:1px solid var(--line-strong);max-width:min(280px,52%);box-shadow:var(--shadow);pointer-events:none;border-radius:.75rem;padding:.45rem .55rem;font-size:.72rem;position:absolute;top:.55rem;left:.55rem}.sim-live-row{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.3rem;display:flex}.sim-live-row em{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.62rem;font-style:normal;font-weight:700}.sim-live-row strong{font-size:.78rem}.sim-live-idle{color:var(--muted)}.sim-live-chips,.sim-live-boxes{flex-wrap:wrap;gap:.25rem;margin-top:.25rem;display:flex}.sim-live-legend .chip{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-solid) 88%, transparent);color:var(--ink);border-radius:999px;align-items:center;padding:.12rem .4rem;font-size:.66rem;font-weight:700;display:inline-flex}.sim-live-legend .chip.lawn{background:color-mix(in srgb, #3daa63 28%, var(--surface-solid));border-color:color-mix(in srgb, #3daa63 45%, var(--line))}.sim-live-legend .chip.flower{background:color-mix(in srgb, #c47890 28%, var(--surface-solid));border-color:color-mix(in srgb, #c47890 45%, var(--line))}.sim-live-legend .chip.drip{background:color-mix(in srgb, var(--water) 28%, var(--surface-solid));border-color:color-mix(in srgb, var(--water) 45%, var(--line))}.sim-live-legend .chip.box{background:color-mix(in srgb, var(--brand) 18%, var(--surface-solid));border-color:color-mix(in srgb, var(--brand) 40%, var(--line));font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sim-live-legend .chip.zone{opacity:.9}.mini-seg{cursor:pointer;background:color-mix(in srgb, var(--water) 55%, transparent);border:0;border-radius:999px;padding:0;position:absolute;top:3px;bottom:3px}.mini-seg.multi{background:linear-gradient(90deg, var(--brand), var(--water))}.mini-seg.now{outline:2px solid var(--accent);z-index:1}.mini-playhead{background:var(--ink);opacity:.55;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.modal-root{z-index:40;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(8px);cursor:pointer;animation:fadeIn .22s var(--ease) both;background:#08120e7a;border:0;position:absolute;inset:0}.modal-sheet{background:color-mix(in srgb, var(--surface-solid) 78%, transparent);border:1px solid var(--line-strong);border-radius:var(--radius-xl);width:min(740px,100%);max-height:min(88vh,920px);box-shadow:var(--shadow-lift);-webkit-backdrop-filter:blur(22px)saturate(1.25);animation:popIn .32s var(--ease) both;position:relative;overflow:auto}.modal-sheet.wide{width:min(1000px,100%)}.modal-head{z-index:2;background:color-mix(in srgb, var(--surface-solid) 88%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 1.25rem;display:flex;position:sticky;top:0}.modal-head h2{margin:0;font-size:1.35rem}.modal-close{border:1px solid var(--line);background:var(--surface);width:2.35rem;height:2.35rem;color:var(--ink);cursor:pointer;transition:background .2s var(--ease), transform .2s var(--ease);border-radius:999px;font-size:1.35rem;line-height:1}.modal-close:hover{background:var(--surface-strong);transform:scale(1.04)}.modal-body{padding:.45rem 1rem 1.15rem}.modal-body .panel{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:.55rem .2rem 1rem;animation:none}.modal-body .panel>h2,.modal-body .panel>.lead:first-of-type{display:none}@keyframes pipeFlow{to{stroke-dashoffset:-32px}}@keyframes dripPulse{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(4px)}}@keyframes tankBob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:none}}@media (width<=1100px) and (width>=821px){.dash-hero{grid-template-columns:1fr}.dash-grid,.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.stats,.compare,.sim,.gantt-row{grid-template-columns:1fr}}.btn-compact{box-shadow:none;margin-top:.65rem;padding:.55rem .95rem;font-size:.86rem}.stat small{color:var(--muted);margin-left:.15rem;font-family:Figtree,system-ui,sans-serif;font-size:.72rem;font-weight:600}.group-flow small{color:var(--muted);font-weight:500}.group-card li em{color:var(--muted);font-style:normal;font-weight:500}.mobile-only{display:none!important}.mobile-dock{display:none}@media (width<=820px){.desktop-only,.desktop-actions{display:none!important}.mobile-only{display:inline!important}.mobile-only.block,div.mobile-only,p.mobile-only,h3.mobile-only{display:block!important}html,body,#root{overscroll-behavior:none;height:100%;max-height:100dvh;overflow:hidden}body{background:var(--bg)}.app,.dash-app{width:100%;max-width:100%;height:100dvh;max-height:100dvh;padding:0;padding-bottom:calc(3.55rem + env(safe-area-inset-bottom,0px));box-sizing:border-box;flex-direction:column;margin:0;display:flex;overflow:hidden}.topbar{z-index:12;border:0;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface-solid) 94%, transparent);-webkit-backdrop-filter:blur(16px);box-shadow:none;border-radius:0;flex-direction:row;flex-shrink:0;justify-content:space-between;align-items:center;gap:.35rem;margin:0;padding:.35rem .45rem;position:relative}.toggles{box-shadow:none;background:0 0;border:0;flex-wrap:nowrap;gap:.2rem;padding:0}.toggles .seg button{min-height:30px;padding:.32rem .45rem;font-size:.72rem}.brand-logo{border-radius:10px;width:34px;height:34px}.brand-block h1{font-size:1.28rem}.brand-block p{display:none}.seg button{min-height:34px;padding:.4rem .55rem;font-size:.78rem}.dash-hero{flex-direction:column;flex:1;gap:0;min-height:0;margin:0;display:flex}.iso-glass{flex:1;order:-1;min-height:0;box-shadow:none!important;-webkit-backdrop-filter:none!important;background:0 0!important;border:0!important;border-radius:0!important}.iso-wrap{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;flex-direction:column;order:-1;gap:.28rem;height:100%;min-height:0;padding:.35rem .4rem .3rem;display:flex}.iso-wrap>.iso-hud{flex-shrink:0;order:0;gap:.35rem .55rem;margin:0;padding:.1rem .05rem .15rem}.iso-wrap>.iso-stage{border-radius:.65rem;flex:auto;order:1;min-height:0;display:flex}.iso-wrap>.flow-meter{flex-shrink:0;order:2;margin:0}.iso-wrap>.sim-timeline-block{flex-shrink:0;order:3;margin:0}.iso-wrap>.mobile-sim-controls,.mobile-sim-controls{display:none!important}.iso-wrap>.live-lines,.live-lines{display:none}.iso-svg{flex:1;width:100%;height:100%;min-height:0}.kpi-row,.dash-grid,.desktop-deck-extra{display:none!important}.dash-command{display:none}.command-glass{display:none!important}.sim-live-legend{max-width:min(220px,58%);padding:.35rem .45rem;font-size:.66rem}.sim-live-legend .chip{padding:.1rem .32rem;font-size:.6rem}.sim-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-title{font-size:1.28rem}.mobile-dock{z-index:40;padding:.3rem .25rem calc(.3rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--surface-solid) 96%, transparent);border:0;border-top:1px solid var(--line-strong);-webkit-backdrop-filter:blur(22px)saturate(1.2);isolation:isolate;border-radius:0;grid-template-columns:repeat(5,minmax(0,1fr));gap:.1rem;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 20px #0000002e}.mobile-dock button{color:var(--muted);min-width:0;min-height:46px;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;gap:.12rem;padding:.3rem .1rem;display:flex;position:relative;overflow:hidden}.mobile-dock button span{z-index:1;font-size:1rem;line-height:1}.mobile-dock button em{letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;z-index:1;max-width:100%;font-size:.62rem;font-style:normal;font-weight:700;line-height:1.1;overflow:hidden}.mobile-dock button:disabled{opacity:.35}.mobile-dock button.dock-active{color:var(--ink)}.mobile-dock button.dock-active:before{content:"";background:color-mix(in srgb, var(--brand) 18%, var(--surface-solid));border:1px solid color-mix(in srgb, var(--brand) 35%, var(--line));z-index:0;border-radius:.65rem;position:absolute;inset:3px;box-shadow:inset 0 1px #fff3}.mobile-dock .dock-primary{color:#fff;box-shadow:none;background:0 0;transform:none}.mobile-dock .dock-primary:before{content:"";background:linear-gradient(165deg, color-mix(in srgb, var(--brand) 78%, white), var(--brand));box-shadow:0 6px 14px color-mix(in srgb, var(--brand) 32%, transparent);z-index:0;border-radius:.65rem;position:absolute;inset:3px}.mobile-dock .dock-primary em,.mobile-dock .dock-primary span{color:#fff}.mobile-dock .dock-primary:disabled:before{opacity:.45}.modal-root{align-items:end;padding:0}.modal-sheet,.modal-sheet.wide{width:100%;max-height:min(93vh,100%);animation:sheetUp .3s var(--ease) both;border-radius:1.45rem 1.45rem 0 0}.modal-head{padding:.9rem 1.05rem}.modal-head h2{font-size:1.18rem}.modal-close{width:2.5rem;height:2.5rem;font-size:1.45rem}.modal-body{padding:.3rem .75rem calc(1.1rem + env(safe-area-inset-bottom,0px))}.iso-hud{grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem .4rem;margin-bottom:0;padding:0;display:grid}.iso-hud>div:not(.iso-hud-actions) span{font-size:.88rem}.iso-hud-actions{display:none}.iso-stage{border-radius:.65rem;min-height:0}.dash-meta{margin-top:.55rem;font-size:.82rem}.kpi em{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dash-tile-icon{border-radius:.75rem;width:2.15rem;height:2.15rem;font-size:.98rem}.dash-tile-copy strong{font-size:1.02rem}.dash-tile-copy span{-webkit-line-clamp:2;font-size:.76rem}.btn{min-height:44px;padding:.7rem 1.05rem}.table-wrap{-webkit-overflow-scrolling:touch;border-radius:.85rem;margin-left:-.15rem;margin-right:-.15rem}table{min-width:720px;font-size:.85rem}th,td{padding:.48rem .38rem}td input,td select{min-height:40px;font-size:16px}.sliders{grid-template-columns:1fr}.location-row{flex-direction:column}.location-row .btn{width:100%}.location-map{aspect-ratio:4/3}.location-search input{min-height:44px;font-size:16px}.gantt-row{gap:.25rem}.weather{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.group-list{max-height:280px}.panel{border-radius:1.25rem;padding:1.05rem}.schedule-panel .lead,.schedule-panel .tiny-lead{display:none}.schedule-panel .flow-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:.35rem 0 .65rem}.schedule-panel .stat{box-shadow:none;border-radius:.85rem;padding:.65rem .55rem}.schedule-panel .stat strong{font-size:1.15rem}.schedule-panel .stat em{font-size:.72rem}.schedule-panel .subhead{margin:.7rem 0 .2rem;font-size:1rem}.schedule-panel .flow-profile{height:120px}.schedule-panel .flow-inspect{max-height:min(36vh,260px)}.schedule-panel .program-table{min-width:560px;font-size:.8rem}.schedule-panel .group-list{gap:.45rem;max-height:42vh}.schedule-panel .group-card{border-radius:.85rem;padding:.65rem .7rem}.schedule-panel .group-card li{padding:.18rem 0;font-size:.82rem}.schedule-panel .btn-compact{width:100%;margin-top:.5rem}.schedule-panel .rationale{padding:.75rem .85rem;font-size:.88rem}}@media (width<=380px){.dash-grid{grid-template-columns:1fr}.kpi-row{grid-template-columns:1fr 1fr}.mobile-dock button em{font-size:.58rem}}@keyframes sheetUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
