/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}:root{--ink:#17352f;--muted:#6f7f79;--green:#20796d;--green-dark:#173c34;--mint:#e8f3ef;--line:#dfe7e2;--cream:#f7f8f4;--amber:#d6a340;--red:#c9614d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{color:inherit}h1,h2,h3,p{text-wrap:pretty}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--green-dark);color:#eff7f3;z-index:20;flex-direction:column;width:248px;padding:25px 17px 18px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{align-items:center;gap:11px;padding:0 8px 23px;display:flex}.brand-mark{width:39px;height:39px;color:var(--green-dark);background:#e6b95b;border-radius:12px 12px 12px 4px;place-items:center;font-size:21px;font-weight:800;display:grid}.brand small,.brand strong,.operator small,.operator strong{display:block}.brand strong{font-size:17px}.brand small{opacity:.64;margin-top:2px;font-size:10px}.sidebar nav{gap:3px;display:grid}.nav-label{color:#76958c;letter-spacing:1.25px;margin:15px 11px 5px;font-size:8px;font-weight:800}.nav-label:first-of-type{margin-top:16px}.nav-item{color:#c8d9d4;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;min-height:37px;padding:9px 11px;font-size:11px;display:flex}.nav-item span{text-align:center;width:18px;font-size:14px;font-weight:700}.nav-item b{color:var(--green-dark);background:#e4a951;border-radius:20px;margin-left:auto;padding:2px 6px;font-size:9px}.nav-item b.warning-count{color:#ffd98c;background:#455f58}.nav-item.active,.nav-item:hover{color:#fff;background:#28564c}.nav-item.active{font-weight:700;box-shadow:inset 3px 0 #e6b95b}.main-nav{font-size:12px}.sidebar-bottom{gap:14px;margin-top:auto;padding-top:16px;display:grid}.operator{border-top:1px solid #386057;align-items:center;gap:10px;padding:16px 8px 0;display:flex}.operator>span{width:34px;height:34px;color:var(--green-dark);background:#d9b66c;border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.operator strong{font-size:11px}.operator small{opacity:.6;margin-top:3px;font-size:9px}.mobile-nav{display:none}.content{width:calc(100% - 248px);margin-left:248px;padding:31px 36px 54px}.content>*{width:min(1280px,100%);margin-inline:auto}.duration-label,.panel-heading,.plot-top,.section-heading,.topbar{justify-content:space-between;align-items:center;display:flex}.topbar{min-height:62px}.eyebrow{color:#91886c;letter-spacing:1.4px;margin:0 0 6px;font-size:9px;font-weight:800}h1{letter-spacing:-.6px;margin:0;font-size:27px}.subtitle{color:var(--muted);margin:5px 0 0;font-size:11px}.header-actions{align-items:center;gap:18px;display:flex}.last-update{color:var(--muted);font-size:9px}.last-update i,.mode-pill i{background:#41a47e;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.last-update.stale{color:#a9781e}.last-update.stale i{background:#d6a340}.icon-button{border:1px solid var(--line);cursor:pointer;color:#7a8a84;background:#fff;border-radius:10px;width:36px;height:36px;font-weight:800;position:relative}.icon-button b{color:#fff;border:2px solid var(--cream);background:#d96e54;border-radius:50%;place-items:center;width:17px;height:17px;font-size:8px;display:grid;position:absolute;top:-5px;right:-5px}.theme-toggle{border:1px solid var(--line);color:#5f716b;cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:7px;min-height:36px;padding:5px 9px 5px 6px;display:inline-flex}.theme-toggle span{background:#edf3f0;border-radius:7px;place-items:center;width:25px;height:25px;font-size:14px;display:grid}.theme-toggle em{font-size:8px;font-style:normal;font-weight:800}.page-content{margin-top:22px}.section-heading{margin:25px 0 12px}.section-heading.first{margin-top:0}.panel-heading h2,.section-heading h2{margin:0;font-size:15px}.panel-heading p,.section-heading p{color:var(--muted);margin:4px 0 0;font-size:9px}.section-heading.compact{margin-top:0}.text-button{color:var(--green);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:9px;font-weight:700}.primary-button,.secondary-button{cursor:pointer;border-radius:8px;padding:9px 13px;font-size:9px;font-weight:700}.primary-button{border:1px solid var(--green);background:var(--green);color:#fff}.secondary-button{border:1px solid var(--line);background:#fff}.history-count,.mode-pill{color:var(--green);background:#e5f1ed;border-radius:20px;padding:5px 9px;font-size:8px;font-weight:700}.decision-banner{background:linear-gradient(120deg,#f5edda,#f9f5ea);border:1px solid #e5d2a5;border-radius:14px;justify-content:space-between;align-items:center;gap:24px;padding:17px 19px;display:flex}.decision-copy{align-items:center;gap:14px;display:flex}.decision-mark{color:#573f12;background:#e9b54f;border-radius:10px;flex:0 0 38px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.decision-copy h2{margin:0;font-size:15px}.decision-copy p:not(.eyebrow){color:#756b55;margin:4px 0 0;font-size:9px;line-height:1.45}.decision-actions{flex:none;gap:8px;display:flex}.system-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.system-card{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:31px 1fr;align-content:start;gap:9px;min-height:105px;padding:13px;display:grid;position:relative;box-shadow:0 3px 12px #263e3606}.system-card .system-icon{border-radius:8px;place-items:center;width:31px;height:31px;font-size:13px;font-weight:800;display:grid}.system-icon.water{color:#397f94;background:#e4f0f4}.system-icon.pump{color:#348061;background:#e4f1eb}.system-icon.pressure{color:#7460a2;background:#eeeaf6}.system-icon.flow{color:#277d70;background:#e7f1ef}.system-icon.sensors{color:#9b7429;background:#f5ecda}.system-icon.mqtt{color:#525d9d;background:#e7e8f7;font-size:8px}.system-card p,.system-card small,.system-card strong{display:block}.system-card small{color:var(--muted);font-size:8px}.system-card strong{margin-top:3px;font-size:14px}.system-card p{color:var(--muted);grid-column:2;margin:3px 0 0;font-size:8px}.system-card .mini-bar{background:#e9efec;border-radius:4px;height:4px;position:absolute;bottom:12px;left:13px;right:13px;overflow:hidden}.system-card .mini-bar b{background:#4b9cb1;height:100%;display:block}.system-card .mini-bar.full b{background:#3d94c1}.system-card .mini-bar.normal b{background:#2b9b7f}.system-card .mini-bar.warning b{background:#d5a333}.system-card .mini-bar.danger b{background:#cf604d}.health{border-radius:12px;padding:4px 6px;font-size:7px;font-style:normal;font-weight:700;position:absolute;top:12px;right:11px}.health.good{color:#397b62;background:#e2f1e9}.health.live,.status.live{color:#4564a3;background:#e4ecff}.health.warning{color:#956b14;background:#fff0cf}.system-card button{color:var(--green);cursor:pointer;background:0 0;border:0;font-size:8px;font-weight:700;position:absolute;bottom:10px;right:11px}.summary-grid{grid-template-columns:1fr 1fr;gap:11px;margin-top:11px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:13px;padding:17px}.next-irrigation .next-time{flex-direction:column;margin:17px 0 12px;display:flex}.next-time strong{font-size:18px}.next-time span{color:var(--muted);margin-top:4px;font-size:9px}.next-rules{flex-wrap:wrap;gap:6px;margin-bottom:13px;display:flex}.next-rules span{color:#337362;background:#edf5f2;border-radius:6px;padding:5px 7px;font-size:8px}.water-budget-summary{justify-content:space-between;align-items:end;gap:18px;margin-top:17px;display:flex}.water-budget-summary>div{align-items:baseline;gap:7px;display:flex}.water-budget-summary strong{letter-spacing:-.5px;font-size:24px;line-height:1}.water-budget-summary span{color:var(--muted);font-size:10px}.water-budget-percent{text-align:right}.water-budget-percent strong{font-size:20px}.water-budget-percent.normal strong{color:#237b6e}.water-budget-percent.warning strong{color:#b47d13}.water-budget-percent.danger strong{color:#bf4f3e}.water-budget-labels{color:#87958f;justify-content:space-between;align-items:center;margin:14px 0 6px;font-size:9px;display:flex}.water-budget-labels strong{color:#537068;font-size:9px}.water-budget-track{background:#e6eeeb;border-radius:20px;height:12px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #183b3214}.tank-reserve-track>span,.water-budget-track>span{border-radius:inherit;height:100%;transition:width .35s,background-color .25s;display:block}.water-budget-track.normal>span{background:linear-gradient(90deg,#4eaf96,#217b6e);box-shadow:0 0 12px #217b6e2e}.water-budget-track.warning>span{background:linear-gradient(90deg,#e4bf58,#d39328);box-shadow:0 0 12px #d393282e}.water-budget-track.danger>span{background:linear-gradient(90deg,#e58a5d,#c94f43);box-shadow:0 0 12px #c94f4333}.water-risk-legend{color:var(--muted);justify-content:flex-end;gap:12px;margin-top:7px;font-size:9px;display:flex}.water-risk-legend span{align-items:center;gap:4px;display:inline-flex}.water-risk-legend span:before{content:"";border-radius:50%;width:7px;height:7px}.water-risk-legend .normal:before{background:#2b9b7f}.water-risk-legend .warning:before{background:#d5a333}.water-risk-legend .danger:before{background:#cf604d}.water-budget-stats{border:1px solid #e5ebe8;border-radius:9px;grid-template-columns:repeat(3,1fr);margin-top:14px;display:grid}.water-budget-stats>div{min-width:0;padding:9px 10px}.water-budget-stats>div+div{border-left:1px solid #e5ebe8}.water-budget-stats small,.water-budget-stats strong{display:block}.water-budget-stats small{color:var(--muted);white-space:nowrap;font-size:9px}.water-budget-stats strong{margin-top:4px;font-size:12px}.tank-reserve{border-top:1px solid #e5ebe8;margin-top:13px;padding-top:12px}.tank-reserve-heading,.tank-reserve-scale{justify-content:space-between;align-items:center;display:flex}.tank-reserve-heading{margin-bottom:7px;font-size:11px}.tank-reserve-heading span{color:var(--muted)}.tank-reserve-heading strong{font-size:11px}.tank-reserve-track{background:#e6eeeb;border-radius:20px;height:9px;overflow:hidden;box-shadow:inset 0 1px 2px #183b3214}.tank-reserve-track.full>span{background:linear-gradient(90deg,#56b6d5,#337fae)}.tank-reserve-track.normal>span{background:linear-gradient(90deg,#5db69d,#27876f)}.tank-reserve-track.warning>span{background:linear-gradient(90deg,#e6c05a,#d49229)}.tank-reserve-track.danger>span{background:linear-gradient(90deg,#e68058,#c74e43)}.tank-reserve-scale{color:#8b9893;margin-top:6px;font-size:9px}.water-budget-insight{color:#557269;align-items:flex-start;gap:6px;margin:11px 0 0;font-size:9px;line-height:1.45;display:flex}.water-budget-insight>span{color:#2c8b73;font-weight:900}.water-budget-insight strong{color:#32675a}.water-budget-insight.warning strong,.water-budget-insight.warning>span{color:#b67c13}.water-budget-insight.danger strong,.water-budget-insight.danger>span{color:#c05243}.weather-strip{background:#f0eadb;border:1px solid #e8dfc8;border-radius:13px;grid-template-columns:1.25fr .8fr .8fr .7fr 1.7fr;align-items:center;gap:18px;margin-top:12px;padding:15px 18px;display:grid}.weather-page{margin-top:0}.weather-main{align-items:center;gap:12px;display:flex}.sun{color:#db9f37;font-size:27px}.forecast small,.forecast span,.weather-main small,.weather-main strong,.weather-stat small,.weather-stat strong{display:block}.weather-main strong{font-size:20px}.weather-main small{color:#7c765f;margin-top:2px;font-size:9px}.forecast,.weather-stat{border-left:1px solid #ddd3b9;padding-left:20px}.weather-stat small{color:#8c826a;font-size:8px}.weather-stat strong{margin-top:3px;font-size:13px}.forecast span{font-size:9px;font-weight:700}.forecast small{color:#8c826a;margin-top:4px;font-size:8px}.weather-advisor{isolation:isolate;border:1px solid;border-radius:15px;grid-template-columns:78px minmax(260px,1fr) 155px;grid-template-areas:"orb copy probability""orb metrics metrics"".cta cta";align-items:center;gap:15px 18px;margin-top:12px;padding:19px 20px;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 24px #22423912}.weather-advisor:after{z-index:-1;content:"";opacity:.38;border-radius:50%;width:260px;height:260px;position:absolute;top:-90px;right:-70px}.weather-advisor.clear{background:linear-gradient(120deg,#f3fbf7,#edf7f2);border-color:#b8ded1}.weather-advisor.clear:after{background:radial-gradient(circle,#b8e7d2,#0000 68%)}.weather-advisor.watch{background:linear-gradient(120deg,#fffaf0,#fbf3df);border-color:#e8cf8e}.weather-advisor.watch:after{background:radial-gradient(circle,#efd487,#0000 68%)}.weather-advisor.rain{background:linear-gradient(120deg,#f0f8fc,#e8f3f9);border-color:#9ecfe3}.weather-advisor.rain:after{background:radial-gradient(circle,#94d0e8,#0000 68%)}.weather-advisor.loading,.weather-advisor.unavailable{border-color:var(--line);background:#fff}.weather-advisor-orb{background:#ffffffb8;border-radius:22px;grid-area:orb;place-items:center;width:70px;height:70px;display:grid;position:relative;box-shadow:0 9px 22px #295b4d1f}.weather-advisor-orb>span{font-size:34px;line-height:1;animation:weather-float 3s ease-in-out infinite}.weather-advisor-orb i{background:#3f9fc5;border-radius:5px;width:3px;height:10px;animation:rain-drop 1.15s linear infinite;display:none;position:absolute;top:52px;transform:rotate(16deg)}.weather-advisor.rain .weather-advisor-orb i,.weather-advisor.watch .weather-advisor-orb i:first-of-type{display:block}.weather-advisor-orb i:first-of-type{left:23px}.weather-advisor-orb i:nth-of-type(2){animation-delay:.32s;left:35px}.weather-advisor-orb i:nth-of-type(3){animation-delay:.64s;left:47px}.weather-advisor-copy{grid-area:copy}.weather-advisor-copy h2{letter-spacing:-.3px;margin:0;font-size:21px}.weather-advisor-copy>p:not(.eyebrow){color:#557068;max-width:720px;margin:6px 0 0;font-size:14px;line-height:1.5}.weather-advisor-location{color:#3f6e62;align-items:center;gap:5px;margin-top:9px;font-size:13px;font-weight:800;display:inline-flex}.weather-advisor-probability{text-align:right;grid-area:probability}.weather-advisor-probability>span,.weather-advisor-probability>strong{display:block}.weather-advisor-probability>strong{color:#237b6e;letter-spacing:-1px;font-size:38px;line-height:1}.weather-advisor.watch .weather-advisor-probability>strong{color:#b47d13}.weather-advisor.rain .weather-advisor-probability>strong{color:#287fa6}.weather-advisor-probability>span{color:#647a73;margin-top:4px;font-size:12px;font-weight:700}.weather-advisor-probability>div{background:#607e7529;border-radius:20px;height:7px;margin-top:9px;overflow:hidden}.weather-advisor-probability i{border-radius:inherit;background:linear-gradient(90deg,#62b89e,#26826e);height:100%;animation:weather-bar-in .8s both;display:block}.weather-advisor.watch .weather-advisor-probability i{background:linear-gradient(90deg,#e8c667,#d3972f)}.weather-advisor.rain .weather-advisor-probability i{background:linear-gradient(90deg,#65b8d8,#2d81a7)}.weather-advisor-metrics{background:#ffffff75;border:1px solid #64897e2e;border-radius:10px;grid-area:metrics;grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.weather-advisor-metrics>span{min-width:0;padding:10px 12px}.weather-advisor-metrics>span+span{border-left:1px solid #64897e2e}.weather-advisor-metrics small,.weather-advisor-metrics strong{display:block}.weather-advisor-metrics small{color:#71847e;font-size:12px}.weather-advisor-metrics strong{margin-top:4px;font-size:14px}.weather-advisor-decision.clear strong{color:#247c65}.weather-advisor-decision.watch strong{color:#a66f0d}.weather-advisor-decision.rain strong{color:#b85545}.weather-advisor-cta{color:#216f64;cursor:pointer;background:0 0;border:0;grid-area:cta;justify-self:end;font-size:14px;font-weight:800}.weather-advisor-loader{border:3px solid #d8e8e2;border-top:3px solid var(--green);border-radius:50%;grid-area:probability;justify-self:center;width:28px;height:28px;animation:spin 1s linear infinite}@keyframes weather-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes rain-drop{0%{opacity:0;transform:translateY(-3px)rotate(16deg)}30%{opacity:1}to{opacity:0;transform:translateY(10px)rotate(16deg)}}@keyframes weather-bar-in{0%{transform-origin:0;transform:scaleX(0)}to{transform-origin:0;transform:scaleX(1)}}@keyframes spin{to{transform:rotate(1turn)}}.windy-panel{border:1px solid var(--line);background:#fff;border-radius:13px;margin-top:12px;padding:17px;overflow:hidden}.windy-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px;display:flex}.windy-heading h2{margin:0;font-size:15px}.windy-heading p:not(.eyebrow){color:var(--muted);margin:4px 0 0;font-size:9px}.windy-actions{align-items:center;gap:8px;display:flex}.location-button{color:#216f64;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cddbd6;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:8px 11px;font-size:8px;font-weight:800;display:inline-flex;box-shadow:0 2px 7px #1c373014}.location-button:hover:not(:disabled){background:#f3f9f7;border-color:#7eb4aa}.location-button:disabled{opacity:.55;cursor:wait}.place-search{grid-template-columns:auto minmax(260px,620px) 1fr;align-items:center;gap:8px 10px;margin:-2px 0 12px;display:grid}.place-search>label{color:#47645d;white-space:nowrap;font-size:8px;font-weight:800}.place-search-control{background:#fbfdfc;border:1px solid #cadbd5;border-radius:10px;align-items:center;min-width:0;padding:3px;display:flex;box-shadow:0 2px 8px #1c37300d}.place-search-control:focus-within{border-color:#47998b;box-shadow:0 0 0 3px #47998b1f}.place-search-control>span{color:#417e74;padding-left:8px;font-size:14px}.place-search-control input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:7px 8px;font-size:9px}.place-search-control input::placeholder{color:#91a09b}.place-search-control button{color:#fff;cursor:pointer;background:#217b6e;border:0;border-radius:7px;padding:7px 13px;font-size:8px;font-weight:800}.place-search-control button:hover:not(:disabled){background:#195f55}.place-search-control button:disabled{opacity:.55;cursor:wait}.place-search>small{color:#85948f;font-size:7px}.layer-switcher{background:#eef3f0;border-radius:9px;gap:2px;padding:3px;display:flex}.layer-switcher button{color:#64736e;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 11px;font-size:8px;font-weight:700}.layer-switcher button.active{color:#fff;background:#217b6e;box-shadow:0 2px 7px #217b6e38}.layer-switcher button:disabled{opacity:.55;cursor:wait}.windy-map-wrap{background:#dbe9e5;border-radius:10px;height:390px;position:relative;overflow:hidden}.windy-embed,.windy-map{width:100%;height:100%}.windy-embed{background:#dbe9e5;border:0}.windy-state{z-index:500;color:var(--ink);background:linear-gradient(135deg,#e9f2ef,#dce9e5);place-content:center;justify-items:center;gap:5px;display:grid;position:absolute;inset:0}.windy-state small{color:var(--muted);font-size:9px}.windy-state strong{font-size:12px}.windy-state.error{color:#984f3f;background:#f6ece6}.weather-loader{border:3px solid #217b6e2e;border-top-color:#217b6e;border-radius:50%;width:25px;height:25px;animation:weather-spin .8s linear infinite}.windy-location{z-index:450;color:#183c35;background:#ffffffe0;border-radius:7px;padding:6px 9px;font-size:8px;font-weight:700;position:absolute;bottom:10px;left:12px;box-shadow:0 2px 7px #1c373026}@keyframes weather-spin{to{transform:rotate(1turn)}}.plot-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.plot-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:13px;padding:14px;transition:all .2s;box-shadow:0 3px 11px #263e3608}.plot-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #263e3614}.plot-card.selected{border-color:#3d9083;box-shadow:0 0 0 2px #3d90831f}.plot-top{align-items:flex-start;gap:8px}.plot-top small,.plot-top strong{display:block}.plot-top strong{font-size:11px}.plot-top small{color:var(--muted);margin-top:3px;font-size:8px}.status{white-space:nowrap;border-radius:20px;padding:5px 7px;font-size:7px;font-style:normal;font-weight:700}.status.good{color:#397b62;background:#e2f1e9}.status.warning{color:#956b14;background:#fff0cf}.status.danger{color:#a74e3c;background:#f9e3de}.moisture-row{align-items:center;gap:9px;margin:16px 0 9px;display:flex}.drop{color:#3c9b91;font-size:16px}.moisture-row small,.moisture-row strong{display:block}.moisture-row small{color:var(--muted);font-size:8px}.moisture-row strong{margin-top:2px;font-size:20px}.progress{background:#e7eeeb;border-radius:10px;height:5px;overflow:hidden}.progress i{background:#3b9b8e;border-radius:10px;height:100%;display:block}.plot-metrics{border-top:1px solid #edf1ee;grid-template-columns:repeat(3,1fr);margin-top:14px;padding-top:11px;display:grid}.plot-metrics span+span{border-left:1px solid #edf1ee;padding-left:8px}.plot-metrics small,.plot-metrics strong{display:block}.plot-metrics small{color:var(--muted);font-size:7px}.plot-metrics strong{margin-top:4px;font-size:9px}.context-strip{border:1px solid var(--line);background:#fff;border-radius:11px;gap:0;margin-bottom:12px;padding:12px 0;display:flex}.context-strip span{color:var(--muted);flex:1;padding:0 16px;font-size:8px}.context-strip span+span{border-left:1px solid var(--line)}.context-strip small{color:var(--ink);margin-right:3px;font-size:11px;font-weight:800}.lower-grid{grid-template-columns:1.8fr 1fr;gap:11px;margin-top:11px;display:grid}.wide-chart{grid-template-columns:1.55fr .7fr}.threshold,.valve{color:#8b7847;background:#f5edd9;border-radius:20px;padding:5px 8px;font-size:8px;font-weight:700}.valve{color:#687770;background:#eef1ef}.valve.on{color:#26715b;background:#dff1e8}.chart{height:210px;margin-top:14px;display:flex}.y-labels{color:#8f9b96;flex-direction:column;justify-content:space-between;padding:0 8px 16px 0;font-size:8px;display:flex}.chart-area{background:repeating-linear-gradient(#0000 0 calc(25% - 1px),#edf1ee 25%);border-bottom:1px solid #e6ece8;flex:1;position:relative}.chart-area svg{width:100%;height:calc(100% - 17px);overflow:visible}.threshold-line{border-top:1px dashed #d5ad59;position:absolute;top:55%;left:0;right:0}.moisture-target-line,.threshold-line{z-index:2}.moisture-target-line i,.threshold-line i{color:#9b7122;background:#fff9ebe6;border-radius:5px;padding:2px 4px;font-size:6px;font-style:normal;font-weight:800;position:absolute;top:-12px;right:3px}.moisture-target-line{border-top:1px dashed #32896f;position:absolute;left:0;right:0}.moisture-target-line i{color:#27755e;background:#e9f7f1eb}.moisture-target-band{z-index:0;background:#49a6811a;border-top:1px solid #49a6812e;border-bottom:1px solid #49a6812e;min-height:3px;position:absolute;left:0;right:0}.irrigation-event{z-index:3;color:#277b98;justify-items:center;gap:2px;font-size:6px;font-weight:800;display:grid;position:absolute;bottom:21px;transform:translate(-50%)}.irrigation-event i{background:#36a6cc;border:2px solid #fff;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 2px #36a6cc38}.moisture-chart-legend{color:var(--muted);flex-wrap:wrap;gap:8px 14px;margin-top:10px;font-size:7px;display:flex}.moisture-chart-legend span{align-items:center;gap:5px;display:inline-flex}.moisture-chart-legend span:before{content:"";background:#d5ad59;width:11px;height:2px}.moisture-chart-legend .target:before{background:#32896f}.moisture-chart-legend .band:before{background:#49a68138;height:7px}.moisture-chart-legend .event:before{background:#36a6cc;border-radius:50%;width:7px;height:7px}.x-labels{color:#8f9b96;justify-content:space-between;font-size:8px;display:flex;position:absolute;inset:auto 0 -3px}.soil-profile dl{margin:16px 0}.soil-profile dl div{border-top:1px solid #edf1ee;justify-content:space-between;padding:10px 0;font-size:9px;display:flex}.soil-profile dt{color:var(--muted)}.soil-profile dd{margin:0;font-weight:700}.soil-profile .primary-button{width:100%}.sensor-network-heading{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:11px;padding:16px 18px;display:flex}.sensor-network-heading h2{margin:2px 0 3px;font-size:17px}.sensor-network-heading>div:first-child>p:last-child{color:var(--muted);margin:0;font-size:8px}.sensor-view-tabs{background:#edf3f0;border-radius:10px;flex:none;gap:4px;padding:4px;display:flex}.sensor-view-tabs button{color:#668078;cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:32px;padding:0 12px;font-size:8px;font-weight:850}.sensor-view-tabs button.active{background:var(--green);color:#fff;box-shadow:0 4px 12px #1b705833}.sensor-summary{grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:11px;display:grid}.sensor-summary article{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:11px;padding:15px;display:flex}.metric-symbol{border-radius:9px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.metric-symbol.good{color:#367b60;background:#e3f1ea}.metric-symbol.warning{color:#956b14;background:#fff0cf}.metric-symbol.neutral{color:#5e7794;background:#e9eef4}.sensor-summary p,.sensor-summary small,.sensor-summary strong{display:block}.sensor-summary small{color:var(--muted);font-size:8px}.sensor-summary strong{margin-top:2px;font-size:16px}.sensor-summary p{color:var(--muted);margin:2px 0 0;font-size:8px}.node-distribution-panel{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 10px 28px #18463a0d}.node-distribution-panel>header{background:linear-gradient(110deg,#f9fcfb,#eef6f3);border-bottom:1px solid #e4ece8;justify-content:space-between;align-items:center;gap:14px;padding:14px 17px;display:flex}.node-distribution-panel>header strong{font-size:12px;display:block}.node-distribution-panel>header p{color:var(--muted);margin:3px 0 0;font-size:8px}.topology-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:11px;font-size:7px;display:flex}.topology-legend span{align-items:center;gap:5px;display:inline-flex}.topology-legend i{background:#42ad8a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #42ad8a1f}.topology-legend .warning i{background:#d5a03d;box-shadow:0 0 0 3px #d5a03d1f}.topology-legend .offline i{box-shadow:none;background:#8e9b96}.node-topology-map{background:radial-gradient(circle at 50% 7%,#41ae8b1a,#0000 27%),linear-gradient(#f1f6f4 1px,#0000 0) 0 0/22px 22px,linear-gradient(90deg,#f1f6f4 1px,#0000 0) 0 0/22px 22px;padding:24px 18px 20px;position:relative}.topology-gateway{z-index:2;background:#f7fcfa;border:1px solid #b9d9ce;border-radius:14px;align-items:center;gap:11px;width:fit-content;max-width:calc(100% - 20px);margin:0 auto;padding:12px 18px 12px 12px;display:flex;position:relative;box-shadow:0 9px 23px #1c5e4b1f}.topology-gateway.offline{background:#f6f8f7;border-color:#d3dcda}.gateway-radio{color:#fff;background:#1f8066;border-radius:13px;flex:0 0 43px;place-items:center;width:43px;height:43px;display:grid;position:relative}.topology-gateway.offline .gateway-radio{background:#7d8d88}.gateway-radio b{z-index:2;font-size:20px;position:relative;transform:rotate(-18deg)}.gateway-radio i{border:1px solid #ffffff59;border-radius:50%;position:absolute;inset:7px}.gateway-radio i+i{opacity:.6;inset:2px}.topology-gateway p,.topology-gateway small,.topology-gateway strong{display:block}.topology-gateway small{color:#4c8a77;letter-spacing:1px;font-size:6px;font-weight:900}.topology-gateway strong{margin-top:2px;font-size:11px}.topology-gateway p{color:var(--muted);margin:3px 0 0;font-size:7px}.topology-trunk{background:#78b8a5;width:2px;height:34px;margin:0 auto;position:relative}.topology-trunk span{background:#fff;border:2px solid #78b8a5;border-radius:50%;width:9px;height:9px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.topology-lots{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:22px;display:grid;position:relative}.topology-lots:before{content:"";background:#78b8a5;height:2px;position:absolute;top:0;left:calc(12.5% - 1px);right:calc(12.5% - 1px)}.topology-lot{background:#fffffff0;border:1px solid #d7e6e1;border-radius:13px;min-width:0;padding:12px;position:relative}.topology-lot.receiving{border-color:#a9d8c8;box-shadow:inset 0 3px #43a987,0 7px 18px #226e550f}.topology-lot.idle{border-style:dashed}.topology-lot.unassigned{border-color:#dbc37e}.lot-connector{background:#78b8a5;width:2px;height:22px;position:absolute;top:-23px;left:50%;transform:translate(-50%)}.topology-lot>header{border-bottom:1px solid #e7eeeb;justify-content:space-between;align-items:flex-start;gap:8px;padding-bottom:9px;display:flex}.topology-lot>header p,.topology-lot>header small,.topology-lot>header strong{display:block}.topology-lot>header small{color:#6b8d82;letter-spacing:1px;font-size:6px;font-weight:900}.topology-lot>header strong{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;overflow:hidden}.topology-lot>header p{color:var(--muted);margin:2px 0 0;font-size:7px}.topology-lot>header>b{color:#27755f;background:#e6f3ef;border-radius:999px;flex:none;padding:4px 6px;font-size:7px}.topology-node-list{gap:7px;margin-top:9px;display:grid}.topology-node{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#f8fbfa;border:1px solid #d7e6e1;border-radius:10px;padding:7px;display:block}.topology-node:hover{border-color:#75b9a3;transform:translateY(-1px)}.topology-node-main{grid-template-rows:auto;grid-template-columns:28px minmax(0,1fr);align-items:center;column-gap:7px;display:grid}.topology-node-main>i{background:#def2eb;border-radius:9px;place-items:center;width:28px;height:28px;display:grid;position:relative}.topology-node-main>i:before{content:"ESP";color:#23755d;font-size:6px;font-style:normal;font-weight:950}.topology-node-main>i>span{background:#40aa87;border:1px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:3px;right:3px}.topology-node-main small,.topology-node-main strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.topology-node-main strong{font-size:8px}.topology-node-main small{color:var(--muted);margin-top:2px;font-size:6px}.topology-live-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:7px;display:grid}.topology-live-values>span{background:#edf3f0;border:1px solid #0000;border-radius:7px;min-width:0;padding:5px 3px 5px 5px;position:relative;overflow:hidden}.topology-live-values em{margin-right:2px;font-size:7px;font-style:normal}.topology-live-values b,.topology-live-values small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.topology-live-values small{color:var(--muted);font-size:5px}.topology-live-values b{margin-top:2px;font-size:7px}.topology-live-values .optimal{color:#24735d;background:#e4f4ee;border-color:#b8dfd1}.topology-live-values .low{color:#286f99;background:#e5f2fa;border-color:#add1e6}.topology-live-values .high{color:#97650e;background:#fff1d4;border-color:#e8c078}.topology-live-values .missing{color:#7d8985;background:#edf0ef}.topology-node.warning{background:#fffaf0;border-color:#e1c778}.topology-node.warning .topology-node-main>i{background:#f8e9c5}.topology-node.warning .topology-node-main>i>span{background:#d49e39}.topology-node.offline{background:#f3f5f4;border-color:#dce2e0}.topology-node.offline .topology-node-main>i{background:#e4e9e7}.topology-node.offline .topology-node-main>i:before{color:#71807b}.topology-node.offline .topology-node-main>i>span{background:#939f9b}.topology-node.offline .topology-live-values{opacity:.58}.topology-empty{color:#8b9994;border:1px dashed #d8e1de;border-radius:9px;place-items:center;min-height:42px;font-size:7px;display:grid}.topology-parameter-key{color:var(--muted);background:#ffffffdb;border:1px solid #dde9e5;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:15px;padding:9px 11px;font-size:7px;display:flex}.topology-parameter-key strong{color:var(--ink);font-size:7px}.topology-parameter-key span{align-items:center;gap:4px;display:inline-flex}.topology-parameter-key span i{background:#e4f4ee;border:1px solid #8dcab5;border-radius:2px;width:7px;height:7px}.topology-parameter-key span.low i{background:#dceef9;border-color:#83b8d6}.topology-parameter-key span.high i{background:#ffedc9;border-color:#d9aa50}.topology-parameter-key small{font-size:6px}.sensor-lot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.sensor-lot-card{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;padding:15px;box-shadow:0 8px 22px #18463a0a}.sensor-lot-card.unassigned{border-color:#dfc37d;grid-column:1/-1}.sensor-lot-heading{border-bottom:1px solid #e6eeea;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.sensor-lot-heading h2{margin:1px 0 2px;font-size:15px}.sensor-lot-heading span{color:var(--muted);font-size:8px}.sensor-lot-heading>b{color:#71807b;white-space:nowrap;background:#edf1ef;border-radius:999px;padding:6px 9px;font-size:8px}.sensor-lot-heading>b.online{color:#24755f;background:#e1f4ec}.sensor-lot-heading>b.warning{color:#946711;background:#fff1d1}.sensor-node-list{gap:9px;margin-top:11px;display:grid}.sensor-node-card{background:#f9fcfb;border:1px solid #dce8e3;border-radius:12px;padding:12px}.sensor-node-card.online{border-color:#a9d9c9;box-shadow:inset 3px 0 #45ae8e}.sensor-node-card.warning{border-color:#e2c67c;box-shadow:inset 3px 0 #d8a03c}.sensor-node-card.offline{background:#f4f6f5;border-color:#d9dfdc;box-shadow:inset 3px 0 #9ba8a3}.sensor-node-card>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.sensor-node-identity{align-items:center;gap:8px;min-width:0;display:flex}.sensor-node-identity>i{background:#44aa89;border-radius:50%;flex:0 0 9px;width:9px;height:9px;box-shadow:0 0 0 4px #44aa891f}.sensor-node-card.offline .sensor-node-identity>i{box-shadow:none;background:#9da9a5}.sensor-node-card.warning .sensor-node-identity>i{background:#d6a03b;box-shadow:0 0 0 4px #d6a03b1f}.sensor-node-identity small,.sensor-node-identity strong{display:block}.sensor-node-identity strong{font-size:11px}.sensor-node-identity small{color:var(--muted);margin-top:2px;font-size:7px}.sensor-node-card>header>em{color:#23775f;white-space:nowrap;background:#e2f3ed;border-radius:999px;padding:5px 8px;font-size:7px;font-style:normal;font-weight:850}.sensor-node-card.warning>header>em{color:#956813;background:#fff1d1}.sensor-node-card.offline>header>em{color:#6d7b76;background:#e8ecea}.sensor-node-measurements{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px;display:grid}.sensor-node-measurements>span{background:#fff;border-radius:9px;min-width:0;padding:8px}.sensor-node-measurements i{margin-right:4px;font-size:12px;font-style:normal}.sensor-node-measurements small,.sensor-node-measurements strong{display:block}.sensor-node-measurements small{color:var(--muted);margin-top:4px;font-size:7px}.sensor-node-measurements strong{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;overflow:hidden}.sensor-node-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 12px;margin:10px 0 0;display:grid}.sensor-node-details div{min-width:0}.sensor-node-details dt{color:var(--muted);font-size:7px}.sensor-node-details dd{text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:8px;font-weight:750;overflow:hidden}.sensor-lot-empty{min-height:178px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:5px;display:grid}.sensor-lot-empty>span{color:#789087;background:#edf3f0;border-radius:50%;place-items:center;width:35px;height:35px;display:grid}.sensor-lot-empty strong{color:var(--ink);font-size:10px}.sensor-lot-empty p{max-width:230px;margin:0;font-size:8px;line-height:1.5}.plot-node-badges{border-top:1px solid #e2ebe7;flex-wrap:wrap;gap:5px;margin-top:10px;padding-top:9px;display:flex}.plot-node-badges span{color:#226d59;background:#e6f4ef;border-radius:999px;align-items:center;gap:4px;padding:4px 6px;font-size:7px;font-weight:800;display:inline-flex}.plot-node-badges span.offline{color:#6c7975;background:#eaeeec}.plot-node-badges i{background:#3da584;border-radius:50%;width:5px;height:5px}.plot-node-badges .offline i{background:#9da8a4}.data-panel{overflow:hidden}.data-table{border:1px solid #e8eeea;border-radius:9px;margin-top:14px;overflow-x:auto}.table-head,.table-row{grid-template-columns:1.25fr 1fr 1.2fr .8fr .8fr .9fr;align-items:center;min-width:780px;display:grid}.table-head{color:#7d8a85;letter-spacing:.5px;text-transform:uppercase;background:#f2f5f3;font-size:7px;font-weight:800}.table-head span,.table-row>span{padding:9px 11px}.table-row{border-top:1px solid #edf1ee;font-size:9px}.table-row small,.table-row strong{display:block}.table-row small{color:var(--muted);margin-top:3px;font-size:7px}.battery{background:#e6ece9;border-radius:5px;width:42px;height:6px;margin-bottom:4px;display:block;overflow:hidden}.battery i{background:#4b9b7d;height:100%;display:block}.battery.low i{background:#d8a03c}.info-note,.maintenance-card,.rule-note{background:#eaf3f0;border:1px solid #d6e7e1;border-radius:11px;align-items:center;gap:11px;margin-top:11px;padding:12px 14px;display:flex}.info-note>span,.maintenance-card>span,.rule-note>span{width:28px;height:28px;color:var(--green);background:#fff;border-radius:8px;place-items:center;font-weight:800;display:grid}.info-note p,.maintenance-card p,.rule-note p{color:#527068;margin:0;font-size:8px;line-height:1.45}.info-note strong,.maintenance-card strong,.rule-note strong{color:var(--ink)}.climate-advice{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:11px;display:grid}.climate-advice article{border:1px solid var(--line);background:#fff;border-radius:11px;gap:9px;padding:13px;display:flex}.climate-advice article>span{width:28px;height:28px;color:var(--green);background:#e6f2ee;border-radius:8px;flex:0 0 28px;place-items:center;font-size:10px;display:grid}.climate-advice strong{font-size:9px}.climate-advice p{color:var(--muted);margin:4px 0 0;font-size:8px;line-height:1.45}.control-layout{grid-template-columns:minmax(0,1.55fr) 360px;align-items:start;gap:11px;display:grid}.control-layout .plot-grid{grid-template-columns:repeat(2,1fr)}.control-layout .system-grid{grid-template-columns:repeat(3,1fr)}.control-layout .system-card:nth-child(n+4){display:none}.irrigation-panel{position:sticky;top:20px}.recommendation{background:#f5efe1;border-radius:9px;gap:10px;margin-top:15px;padding:11px;display:flex}.recommendation.safe{background:#e9f3ef}.recommendation>span{background:#e5d5b0;border-radius:8px;flex:0 0 29px;place-items:center;width:29px;height:29px;font-size:11px;display:grid}.recommendation.safe>span{color:var(--green);background:#d5e9e1}.recommendation strong{font-size:9px}.recommendation p{color:#776e5a;margin:3px 0 0;font-size:8px;line-height:1.4}.safety-checks{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.safety-checks span{color:#557269;border:1px solid #dce8e3;border-radius:6px;padding:5px 6px;font-size:7px}.safety-checks i{background:#43a17e;border-radius:50%;width:5px;height:5px;margin-right:4px;display:inline-block}.safety-checks span.blocked i{background:#d95849}.safety-checks span.estimated i{background:#d5a333}.duration-label{margin-top:16px;font-size:9px}.duration-label strong{font-size:10px}input[type=range]{accent-color:#247e70;width:100%;margin:11px 0 0}.range-labels{color:#8a9691;justify-content:space-between;font-size:8px;display:flex}.irrigation-summary{border:1px solid #e5ebe8;border-radius:9px;grid-template-columns:repeat(3,1fr);margin-top:13px;display:grid}.irrigation-summary span{padding:9px}.irrigation-summary span+span{border-left:1px solid #e5ebe8}.irrigation-summary small,.irrigation-summary strong{display:block}.irrigation-summary small{color:var(--muted);font-size:7px}.irrigation-summary strong{margin-top:3px;font-size:10px}.irrigate-button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:9px;width:100%;margin-top:13px;padding:11px;font-size:9px;font-weight:700}.irrigate-button.stop{background:#b34f3f}.water-estimate{text-align:center;color:var(--muted);margin:8px 0 0;font-size:7px}.confirm-box{background:#fff8e8;border:1px solid #e6c66f;border-radius:9px;margin-top:13px;padding:12px}.confirm-box>strong{font-size:9px}.confirm-box p{color:#7e7152;font-size:8px;line-height:1.45}.confirm-box>div{justify-content:flex-end;gap:6px;display:flex}.confirm-box button{cursor:pointer;background:#fff;border:1px solid #ded5bd;border-radius:7px;padding:7px 9px;font-size:8px;font-weight:700}.confirm-box button.confirm{background:var(--green);border-color:var(--green);color:#fff}.automation-hero,.schedule-toolbar{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:11px;padding:14px 16px;display:flex}.automation-hero>div,.schedule-toolbar>div{align-items:center;gap:11px;display:flex}.schedule-toolbar strong{font-size:10px}.schedule-toolbar p{color:var(--muted);margin:3px 0 0;font-size:8px}.mode-dot{background:#41a47e;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 5px #e5f2ed}.schedule-table .table-head,.schedule-table .table-row{grid-template-columns:1.25fr 1.2fr .7fr .7fr .8fr .8fr}.rule-note{background:#f5efe1;border-color:#e8dcc0}.rule-note>span{color:#94702d}.automation-hero{background:linear-gradient(120deg,#e6f1ed,#f1f6f4);border-color:#d5e5df;padding:18px}.automation-orb{color:#fff;background:#9ba8a4;border-radius:12px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.automation-orb.on{background:var(--green);box-shadow:0 0 0 5px #20796d1a}.automation-hero h2{margin:0;font-size:15px}.automation-hero p:not(.eyebrow){color:var(--muted);margin:4px 0 0;font-size:8px}.rules-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.rules-grid article{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:flex-start;gap:10px;min-height:126px;padding:14px;display:flex;position:relative}.rule-icon{border-radius:8px;flex:0 0 31px;place-items:center;width:31px;height:31px;font-size:11px;display:grid}.rule-icon.moisture{color:#3b8390;background:#e3f0f2}.rule-icon.rain{color:#6079a7;background:#e6ebf5}.rule-icon.tank{color:#2f806e;background:#e5f2ee}.rule-icon.pressure{color:#735b9a;background:#eee9f5}.rule-icon.salinity{color:#a26935;background:#f5eadf}.rule-icon.time{color:#92722d;background:#f3eddc}.rules-grid strong{font-size:9px}.rules-grid p{color:var(--muted);margin:4px 0 0;font-size:8px;line-height:1.45}.rules-grid em{color:#34745f;background:#e6f2ed;border-radius:12px;padding:4px 7px;font-size:7px;font-style:normal;font-weight:700;position:absolute;bottom:13px;left:55px}.automation-hero.checking{border-color:#2585df;box-shadow:0 0 0 3px #2585df21}.automation-blocked,.automation-complete,.automation-physical-note,.automation-simulation-note,.hydraulic-simulation-lock{border-radius:11px;align-items:center;gap:11px;padding:12px 14px;display:flex}.automation-simulation-note{color:#245d91;background:#eef7ff;border:1px solid #bedbf3;margin-bottom:13px}.automation-physical-note{color:#805f1d;background:#fff8e8;border:1px solid #e2c78b;margin-bottom:10px}.automation-physical-note.ready{color:#286d5e;background:#edf8f4;border-color:#b8ddcf}.automation-physical-note>span{color:#fff;background:currentColor;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:10px;font-weight:900;display:grid}.automation-physical-note>div,.automation-simulation-note>div{flex:1}.automation-zone-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 16px;display:grid}.automation-zone-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px;transition:border-color .2s,box-shadow .2s,transform .2s}.automation-zone-card.selected{border-color:#6eb4a1;box-shadow:0 0 0 3px #2e8e6b1a}.automation-zone-card.running{border-color:#2585df;box-shadow:0 0 0 4px #2585df21}.automation-zone-card header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.automation-zone-card header small,.automation-zone-card header span,.automation-zone-card header strong{display:block}.automation-zone-card header small{color:var(--muted);font-size:7px}.automation-zone-card header strong{margin-top:4px;font-size:12px}.automation-zone-card header span{color:var(--muted);margin-top:2px;font-size:8px}.automation-zone-card header b{white-space:nowrap;border-radius:20px;padding:5px 7px;font-size:7px}.automation-zone-card header b.ready{color:#26775f;background:#e5f4ee}.automation-zone-card header b.pending{color:#8c6723;background:#f9efd8}.automation-zone-reading{background:#f4f8f6;border-radius:9px;justify-content:space-between;align-items:center;margin:12px 0 10px;padding:9px 10px;display:flex}.automation-zone-reading small,.automation-zone-reading strong{display:block}.automation-zone-reading small{color:var(--muted);font-size:7px}.automation-zone-reading strong{margin-top:2px;font-size:15px}.automation-zone-reading em{border-radius:16px;padding:4px 7px;font-size:7px;font-style:normal;font-weight:800}.automation-zone-reading em.live{color:#217158;background:#dff3eb}.automation-zone-reading em.reference{color:#8b6523;background:#f8ecd2}.automation-zone-valve{color:var(--muted);align-items:center;gap:8px;margin:0 0 11px;font-size:8px;line-height:1.35;display:flex}.automation-zone-valve input{width:16px;height:16px;accent-color:var(--green)}.automation-zone-card>button{width:100%}.irrigation-mode-card{background:#fff;border:1px solid #d6e5df;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:11px;padding:14px 16px;display:flex}.irrigation-mode-card small,.irrigation-mode-card strong{display:block}.irrigation-mode-card strong{margin-top:3px;font-size:12px}.irrigation-mode-card small{color:var(--muted);margin-top:4px;font-size:8px;line-height:1.45}.irrigation-mode-buttons{background:#edf3f0;border-radius:10px;flex:0 0 250px;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;display:grid}.irrigation-mode-buttons button{color:#6c7c76;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:32px;font-size:8px;font-weight:900}.irrigation-mode-buttons button.active{color:#fff;background:#237e6c;box-shadow:0 4px 10px #237e6c33}.irrigation-state-strip{grid-template-columns:repeat(6,1fr);gap:7px;margin-bottom:11px;display:grid}.irrigation-state-strip span{color:#83918c;background:#fff;border:1px solid #dce7e3;border-radius:9px;justify-content:center;align-items:center;gap:5px;min-width:0;padding:8px 6px;font-size:7px;font-weight:800;display:flex}.irrigation-state-strip i{background:#edf2f0;border-radius:50%;flex:0 0 17px;place-items:center;width:17px;height:17px;font-style:normal;display:grid}.irrigation-state-strip span.done{color:#2b755f;background:#edf8f4;border-color:#b8dbcf}.irrigation-state-strip span.done i{color:#fff;background:#42a481}.irrigation-state-strip span.active{color:#1c6da9;background:#edf7ff;border-color:#328fda;box-shadow:0 0 0 3px #328fda1a}.irrigation-state-strip span.active i{color:#fff;background:#328fda}.irrigation-queue-card{background:#fff;border:1px solid #d9e5e1;border-radius:12px;margin-bottom:11px;overflow:hidden}.irrigation-queue-card>header{justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.irrigation-queue-card>header strong{margin-top:3px;font-size:10px;display:block}.irrigation-queue-card>header>span{color:#2a7963;background:#e8f3ef;border-radius:16px;padding:5px 8px;font-size:7px;font-weight:800}.irrigation-queue-card>div{border-top:1px solid #e5ece9;grid-template-columns:repeat(4,1fr);display:grid}.irrigation-queue-card button{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-right:1px solid #e5ece9;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 11px;display:grid}.irrigation-queue-card button:last-child{border-right:0}.irrigation-queue-card button>b{color:#28755f;background:#e3f1ec;border-radius:50%;place-items:center;width:20px;height:20px;font-size:8px;display:grid}.irrigation-queue-card button small,.irrigation-queue-card button strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.irrigation-queue-card button strong{font-size:8px}.irrigation-queue-card button small{color:var(--muted);margin-top:2px;font-size:7px}.irrigation-queue-card button em{color:#b27420;font-size:10px;font-style:normal;font-weight:900}.automation-ready{color:#246c58;background:#eaf8f2;border:2px solid #299373;border-radius:12px;align-items:center;gap:12px;margin-top:13px;padding:13px 14px;display:flex}.automation-ready>span{color:#fff;background:#299373;border-radius:50%;flex:0 0 40px;place-items:center;width:40px;height:40px;font-size:10px;font-weight:900;display:grid}.automation-ready>div:nth-child(2){flex:1}.automation-ready strong{font-size:10px;display:block}.automation-ready p{margin:3px 0 0;font-size:8px;line-height:1.45}.automation-ready>div:last-child{gap:7px;display:flex}.automation-simulation-note>span,.hydraulic-simulation-lock>span{color:#fff;letter-spacing:.7px;background:#1978cb;border-radius:7px;flex:none;padding:6px 7px;font-size:8px;font-weight:900}.automation-blocked strong,.automation-complete strong,.automation-physical-note strong,.automation-simulation-note strong,.hydraulic-simulation-lock strong{font-size:10px;display:block}.automation-blocked p,.automation-complete p,.automation-physical-note p,.automation-simulation-note p,.hydraulic-simulation-lock p{margin:3px 0 0;font-size:8px;line-height:1.4}.automation-check-count{color:#176cb6;background:#e9f4ff;border-radius:20px;padding:6px 9px;font-size:8px;font-weight:800}.automation-rules article{transition:border-color .22s,background .22s,box-shadow .22s,transform .22s}.automation-rules article.pending{opacity:.64}.automation-rules article.checking{z-index:1;background:#eaf5ff;border:2px solid #1d82dc;animation:automation-check-pulse .7s ease-in-out infinite alternate;transform:translateY(-2px);box-shadow:0 0 0 4px #1d82dc21,0 9px 24px #1d82dc24}.automation-rules article.checking em{color:#fff;background:#1676c8}.automation-rules article.passed{background:#f1f8ff;border:2px solid #3092e6;box-shadow:0 7px 20px #3092e61a}.automation-rules article.passed em{color:#126bb7;background:#dceeff}.automation-rules article.failed{background:#fff2f0;border:2px solid #d95849;box-shadow:0 7px 20px #d958491f}.automation-rules article.failed em{color:#b33328;background:#ffe0dc}.automation-blocked,.automation-complete{margin-top:13px}.automation-blocked{color:#9b2d25;background:#fff1ef;border:2px solid #d95849}.automation-complete{color:#205f96;background:#edf7ff;border:2px solid #2e8cd8}.automation-blocked>span,.automation-complete>span{color:#fff;background:currentColor;border-radius:50%;flex:0 0 31px;place-items:center;width:31px;height:31px;font-weight:900;display:grid}.automation-blocked>div,.automation-complete>div{flex:1}.automation-simulation-banner{background:linear-gradient(120deg,#e8f4ff,#f5faff);border:2px solid #2585df;border-radius:14px;grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:16px;margin-bottom:13px;padding:15px 17px;display:grid;box-shadow:0 8px 26px #2585df1f}.automation-simulation-banner.complete{background:linear-gradient(120deg,#eaf8f3,#f6fbf9);border-color:#35a780}.simulation-banner-heading{align-items:center;gap:11px;display:flex}.simulation-banner-heading>span{color:#fff;background:#187aca;border-radius:11px;flex:0 0 40px;place-items:center;width:40px;height:40px;font-size:9px;font-weight:900;display:grid}.automation-simulation-banner.complete .simulation-banner-heading>span{background:#278e6b}.simulation-banner-heading h2{margin:1px 0 3px;font-size:14px}.simulation-banner-heading p:last-child{color:var(--muted);margin:0;font-size:8px}.simulation-lot-progress{gap:5px;display:flex}.simulation-lot-progress span{color:#788983;white-space:nowrap;border:1px solid #cddbd7;border-radius:18px;align-items:center;gap:5px;max-width:82px;padding:5px 7px;font-size:7px;font-weight:700;display:flex;overflow:hidden}.simulation-lot-progress i{background:#dde7e3;border-radius:50%;flex:0 0 17px;place-items:center;width:17px;height:17px;font-style:normal;display:grid}.simulation-lot-progress span.active{color:#0e65b0;background:#dceeff;border-color:#2585df;box-shadow:0 0 0 3px #2585df1f}.simulation-lot-progress span.active i{color:#fff;background:#2585df}.simulation-lot-progress span.done{color:#267b60;background:#eaf8f3;border-color:#84cdb4}.simulation-lot-progress span.done i{color:#fff;background:#35a780}@keyframes automation-check-pulse{0%{box-shadow:0 0 0 2px #1d82dc14,0 7px 18px #1d82dc1a}to{box-shadow:0 0 0 6px #1d82dc2e,0 11px 28px #1d82dc2e}}.equipment-grid{grid-template-columns:1fr 1fr;gap:11px;margin-top:11px;display:grid}.equipment-gauge{grid-template-columns:120px 1fr;align-items:center;gap:18px;margin-top:15px;display:grid}.equipment-gauge>div{text-align:center;border:11px solid #dfeee9;border-top:11px solid var(--green);border-radius:50%;place-content:center;width:108px;height:108px;display:grid}.equipment-gauge>div strong{font-size:20px}.equipment-gauge>div small{color:var(--muted);margin-top:3px;font-size:7px}.equipment-gauge dl{margin:0}.equipment-gauge dl div{border-top:1px solid #edf1ee;justify-content:space-between;gap:10px;padding:9px 0;font-size:8px;display:flex}.equipment-gauge dt{color:var(--muted)}.equipment-gauge dd{text-align:right;margin:0;font-weight:700}.valve-list{margin-top:12px}.valve-list>div{border-top:1px solid #edf1ee;grid-template-columns:12px 1fr auto;align-items:center;gap:8px;padding:10px 0;display:grid}.valve-list strong{font-size:9px}.valve-list small{color:var(--muted);font-size:8px}.valve-dot{background:#aebbb6;border-radius:50%;width:9px;height:9px}.valve-dot.active{background:#42a37e;box-shadow:0 0 0 3px #e2f1eb}.hydraulic-panel{background:#fff;border:1px solid #d7e3de;border-radius:16px;margin-top:12px;overflow:hidden;box-shadow:0 14px 38px #1f4d4114}.pump-command-banner{color:#315f51;background:#f1f8f5;border:2px solid #b9d4ca;border-radius:13px;align-items:center;gap:12px;margin-bottom:12px;padding:13px 15px;display:flex}.pump-command-banner>span{color:#28775f;background:#d9ebe4;border-radius:10px;flex:0 0 36px;place-items:center;width:36px;height:36px;font-size:11px;font-weight:900;display:grid}.pump-command-banner>div{min-width:0}.pump-command-banner strong{font-size:11px;display:block}.pump-command-banner p:last-child{color:var(--muted);margin:3px 0 0;font-size:8px;line-height:1.45}.pump-command-banner.publishing,.pump-command-banner.waiting{color:#195f97;background:#edf7ff;border-color:#63aee9}.pump-command-banner.publishing>span,.pump-command-banner.waiting>span{color:#fff;background:#237fc8;animation:pump-command-spin 1s linear infinite}.pump-command-banner.confirmed{color:#26765d;background:#eaf7f2;border-color:#43a985}.pump-command-banner.confirmed>span{color:#fff;background:#319570}.pump-command-banner.error{color:#a6382d;background:#fff1ef;border-color:#d85b4d}.pump-command-banner.error>span{color:#fff;background:#cb4d40}@keyframes pump-command-spin{to{transform:rotate(1turn)}}.hydraulic-heading{border-bottom:1px solid #e2eae6;justify-content:space-between;align-items:center;gap:24px;padding:19px 21px 16px;display:flex}.hydraulic-heading h2{letter-spacing:-.25px;margin:0;font-size:18px}.hydraulic-heading>div:first-child>p:last-child{color:var(--muted);margin:5px 0 0;font-size:10px}.hydraulic-heading-status{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.hydraulic-diagram-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.hydraulic-diagram-actions button{color:#34735f;cursor:pointer;background:#f4f9f7;border:1px solid #bcd5cc;border-radius:9px;min-height:31px;padding:6px 10px;font-size:8px;font-weight:900}.hydraulic-diagram-actions button.active{color:#236d55;background:#e3f4ed;border-color:#3da181}.hydraulic-diagram-actions button.calculate{color:#fff;background:#1979c7;border-color:#1979c7;box-shadow:0 5px 13px #1979c72e}.hydraulic-diagram-actions button:disabled{cursor:not-allowed;opacity:.58}.hydraulic-mode,.hydraulic-system-state{border-radius:20px;align-items:center;gap:6px;min-height:29px;padding:6px 10px;font-size:9px;font-weight:800;display:inline-flex}.hydraulic-mode{color:#61736d;background:#f4f8f6;border:1px solid #d9e5e0}.hydraulic-mode i{background:#96a8a1;border-radius:50%;width:7px;height:7px}.hydraulic-mode.live{color:#287763;background:#e9f5f1;border-color:#c9e4db}.hydraulic-mode.live i{background:#43b68e;box-shadow:0 0 0 4px #43b68e1f}.hydraulic-mode.simulation{color:#176bb3;background:#e8f4ff;border-color:#88bde9}.hydraulic-mode.simulation i{background:#2585df;box-shadow:0 0 0 4px #2585df21}.hydraulic-system-state.stopped{color:#697a74;background:#edf1ef}.hydraulic-system-state.flowing{color:#23785e;background:#e0f3ec}.hydraulic-simulation-lock{color:#185f9d;background:#eaf5ff;border:1px solid #91c4ed;margin:13px 21px 0}.engineering-simulation-panel{background:#f5faff;border:2px solid #4b9cde;border-radius:13px;margin:13px 21px 0;overflow:hidden}.engineering-simulation-panel>header{background:#eaf5ff;border-bottom:1px solid #cfe2f2;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.engineering-simulation-panel>header h3{color:#175e98;margin:2px 0 0;font-size:12px}.engineering-simulation-panel>header button{color:#286987;cursor:pointer;background:#fff;border:1px solid #a8c8df;border-radius:8px;padding:6px 9px;font-size:8px;font-weight:800}.engineering-simulation-panel.compatible{background:#f5fbf8;border-color:#3da47f}.engineering-simulation-panel.compatible>header{background:#e8f6f0;border-color:#c4e2d5}.engineering-simulation-panel.compatible>header h3{color:#24765a}.engineering-simulation-panel.incompatible{background:#fff8f6;border-color:#cf5549}.engineering-simulation-panel.incompatible>header{background:#fff0ed;border-color:#efc7c2}.engineering-simulation-panel.incompatible>header h3{color:#a43d33}.engineering-simulation-steps{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:11px 14px;display:grid}.engineering-simulation-steps span{color:#71817d;background:#edf2f4;border-radius:8px;align-items:center;gap:6px;min-width:0;padding:6px 8px;font-size:7px;font-weight:800;display:flex}.engineering-simulation-steps i{background:#d9e1e2;border-radius:50%;flex:0 0 18px;place-items:center;width:18px;height:18px;font-style:normal;display:grid}.engineering-simulation-steps span.active{color:#1768aa;background:#ddecfa;box-shadow:0 0 0 2px #207dc81a}.engineering-simulation-steps span.active i{color:#fff;background:#2585d2;animation:automation-check-pulse .8s ease-in-out infinite alternate}.engineering-simulation-steps span.done{color:#28775f;background:#e3f3ed}.engineering-simulation-steps span.done i{color:#fff;background:#37a27d}.engineering-simulation-result{border-top:1px solid #dce8e3}.engineering-result-metrics{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.engineering-result-metrics article{min-width:0;padding:11px 14px}.engineering-result-metrics article+article{border-left:1px solid #dce8e3}.engineering-result-metrics em,.engineering-result-metrics small,.engineering-result-metrics strong{display:block}.engineering-result-metrics small{color:var(--muted);font-size:7px}.engineering-result-metrics strong{margin-top:3px;font-size:13px}.engineering-result-metrics em{color:#6d827a;margin-top:3px;font-size:7px;font-style:normal}.engineering-pump-recommendation{border-top:1px solid #dce8e3;grid-template-columns:38px 1fr;align-items:center;gap:11px;padding:12px 14px;display:grid}.engineering-pump-recommendation>span{color:#25805f;background:#d9eee5;border-radius:10px;place-items:center;width:36px;height:36px;font-size:16px;font-weight:900;display:grid}.engineering-simulation-panel.incompatible .engineering-pump-recommendation>span{color:#b34237;background:#f6d9d5}.engineering-pump-recommendation strong{font-size:10px;display:block}.engineering-pump-recommendation p{color:#5e756d;margin:3px 0 0;font-size:8px;line-height:1.45}.engineering-pump-recommendation em{color:#81918c;margin-top:4px;font-size:7px;font-style:normal;display:block}.hydraulic-canvas{background-color:#f3f8f6;background-image:radial-gradient(circle at 1px 1px,#3a6b5e1a 1px,#0000 0);background-size:22px 22px;padding:25px 23px 22px;position:relative;overflow-x:auto}.hydraulic-source-line{grid-template-columns:145px minmax(42px,1fr) 82px minmax(42px,1fr) minmax(205px,1.4fr) minmax(42px,1fr) 116px;align-items:center;min-width:880px;display:grid}.hydraulic-canvas.editing .hydraulic-source-line{grid-template-columns:175px minmax(190px,1fr) 90px minmax(42px,.45fr) minmax(320px,1.4fr) minmax(190px,1fr) 125px;align-items:stretch;min-width:1360px}.hydraulic-pipe-segment{align-content:center;gap:8px;min-width:0;display:grid}.hydraulic-segment-editor{background:#fafdfcf7;border:1px solid #b8d5cb;border-radius:9px;grid-template-columns:minmax(80px,1fr) minmax(90px,1fr);gap:5px;padding:6px;display:grid;box-shadow:0 5px 14px #1f4d4114}.hydraulic-inline-zone-editor label,.hydraulic-node-input,.hydraulic-segment-editor label{color:#597169;align-content:start;gap:3px;min-width:0;font-size:7px;font-weight:800;display:grid}.hydraulic-inline-zone-editor label>div,.hydraulic-node-input>div,.hydraulic-segment-editor label>div{background:#fff;border:1px solid #cfddd8;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;display:grid;overflow:hidden}.hydraulic-inline-zone-editor input,.hydraulic-inline-zone-editor select,.hydraulic-node-input input,.hydraulic-segment-editor input,.hydraulic-segment-editor select{width:100%;min-width:0;min-height:27px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cfddd8;border-radius:6px;outline:0;padding:4px 6px;font-size:8px;font-weight:800}.hydraulic-inline-zone-editor label>div input,.hydraulic-node-input>div input,.hydraulic-segment-editor label>div input{border:0;border-radius:0}.hydraulic-inline-zone-editor em,.hydraulic-node-input em,.hydraulic-segment-editor em{color:#72847e;background:#edf3f1;border-left:1px solid #d5e1dd;place-items:center;min-width:27px;padding:0 4px;font-size:6px;font-style:normal;display:grid}.hydraulic-node-input.wide{grid-column:1/-1}.hydraulic-node-editor.pump{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:8px;display:grid}.hydraulic-device{z-index:2;background:#fffffff5;border:1px solid #cadbd5;position:relative;box-shadow:0 8px 22px #20504314}.hydraulic-device em,.hydraulic-device small,.hydraulic-device strong{display:block}.hydraulic-device small{color:#7d8d87;letter-spacing:.8px;font-size:7px;font-weight:800}.hydraulic-device strong{margin-top:3px;font-size:10px}.hydraulic-device em{color:var(--muted);margin-top:3px;font-size:8px;font-style:normal}.hydraulic-tank{border-radius:12px;grid-template-columns:48px 1fr;align-items:center;gap:11px;min-height:112px;padding:12px;display:grid}.tank-visual{background:#e4eceb;border:3px solid #65858b;border-top:0;border-radius:3px 3px 10px 10px;width:45px;height:76px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #ffffff73}.tank-visual:before{content:"";z-index:3;background:#d7e4e1;border:3px solid #65858b;border-radius:50%;height:7px;position:absolute;inset:-2px -4px auto}.tank-visual>span{background:linear-gradient(#52b9dd,#278cb9);min-height:3px;transition:height .25s;position:absolute;inset:auto 0 0}.tank-visual>span:before{content:"";opacity:.9;background:#75cceb;border-radius:50%;height:6px;position:absolute;inset:-3px 0 auto}.tank-visual b{z-index:4;color:#123f4d;text-shadow:0 1px #ffffff80;place-items:center;font-size:10px;display:grid;position:absolute;inset:0}.hydraulic-filter{text-align:center;border-radius:13px;place-content:center;justify-items:center;min-height:94px;display:grid}.hydraulic-filter>span{color:#4d7b6f;background:#e7f0ed;border-radius:9px;place-items:center;width:32px;height:32px;margin-bottom:5px;font-size:14px;display:grid}.hydraulic-pump{border-radius:14px;min-height:132px;padding:14px}.hydraulic-pump.on{border-color:#55b899;box-shadow:0 0 0 3px #48b8941f,0 10px 28px #297e631f}.pump-heading,.valve-heading{grid-template-columns:auto 1fr auto;align-items:center;gap:9px;display:grid}.pump-rotor{color:#6c7e78;background:#ecf1ef;border:5px solid #8ca19a;border-radius:50%;place-items:center;width:38px;height:38px;font-size:11px;font-weight:900;display:grid}.hydraulic-pump.on .pump-rotor{color:#23775d;background:#dff2eb;border-color:#45a887;box-shadow:0 0 18px #45a88738}.device-led{background:#aab7b2;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #edf1ef}.hydraulic-pump.on .device-led,.hydraulic-zone.flowing .device-led,.hydraulic-zone.open .device-led{background:#43bc8d;box-shadow:0 0 0 4px #43bc8d21,0 0 11px #43bc8d6b}.hydraulic-pump p{min-height:23px;color:var(--muted);margin:9px 0 8px;font-size:8px;line-height:1.35}.hydraulic-manifold{text-align:center;border-radius:12px;place-content:center;justify-items:center;min-height:104px;display:grid}.hydraulic-manifold>span{color:#487587;background:#e4edf2;border-radius:9px;place-items:center;width:34px;height:34px;margin-bottom:5px;font-size:20px;font-weight:900;display:grid}.hydraulic-pipe{z-index:1;background:linear-gradient(#b5c6c8,#8da6aa 47%,#748f94 50%,#aebfc1);border:1px solid #8ea8ad;display:block;position:relative;overflow:hidden;box-shadow:inset 0 2px #fff6,0 2px 5px #274c5226}.hydraulic-pipe.horizontal{width:calc(100% + 2px);height:13px;margin-inline:-1px}.hydraulic-pipe.vertical{width:13px;height:35px;margin-inline:auto}.hydraulic-pipe.vertical.outlet{height:27px}.hydraulic-distributor.flowing,.hydraulic-pipe.flowing{background:linear-gradient(#73cbea,#2da4d1 47%,#187fa9 50%,#5abada);border-color:#339ab8;box-shadow:inset 0 2px #ffffff59,0 0 13px #2ea7d045}.hydraulic-distributor i,.hydraulic-pipe i{opacity:0;background:repeating-linear-gradient(90deg,#0000 0 18px,#ffffffb8 19px 24px,#0000 25px 39px);position:absolute;inset:0}.hydraulic-pipe.vertical i{background:repeating-linear-gradient(#0000 0 13px,#ffffffb8 14px 19px,#0000 20px 31px)}.hydraulic-distributor.flowing i,.hydraulic-pipe.flowing i{opacity:.72;animation:hydraulic-flow-x 1.2s linear infinite}.hydraulic-pipe.vertical.flowing i{animation-name:hydraulic-flow-y}@keyframes hydraulic-flow-x{to{transform:translate(39px)}}@keyframes hydraulic-flow-y{to{transform:translateY(31px)}}.hydraulic-distributor{background:linear-gradient(#b5c6c8,#8da6aa 47%,#748f94 50%,#aebfc1);border:1px solid #8ea8ad;min-width:660px;height:13px;margin:28px 11.6% 0;position:relative;overflow:visible;box-shadow:inset 0 2px #fff6,0 2px 5px #274c5226}.hydraulic-distributor:after{content:"";background:inherit;border:1px solid #8ea8ad;border-bottom:0;border-radius:0 6px 0 0;width:13px;height:30px;position:absolute;bottom:11px;right:-1px}.hydraulic-distributor.flowing:after{border-color:#339ab8;box-shadow:0 0 10px #2ea7d033}.hydraulic-zones{grid-template-columns:repeat(4,1fr);gap:12px;min-width:880px;display:grid}.hydraulic-zone{flex-direction:column;align-items:stretch;min-width:0;display:flex}.hydraulic-valve-device{background:#fffffff5;border:1px solid #d4dfdb;border-radius:12px;padding:11px;box-shadow:0 7px 18px #2050430f}.hydraulic-zone.flowing .hydraulic-valve-device,.hydraulic-zone.open .hydraulic-valve-device{border-color:#62b99d;box-shadow:0 0 0 2px #50b3941a,0 8px 21px #297e631a}.valve-wheel{color:#7b8b86;background:#eef2f0;border:4px solid #9aa9a4;border-radius:50%;place-items:center;width:30px;height:30px;font-size:17px;font-weight:900;display:grid;transform:rotate(45deg)}.hydraulic-zone.flowing .valve-wheel,.hydraulic-zone.open .valve-wheel{color:#258064;background:#e0f2eb;border-color:#49aa8b}.valve-heading small,.valve-heading strong{display:block}.valve-heading small{color:#7d8d87;letter-spacing:.65px;font-size:7px;font-weight:800}.valve-heading strong{margin-top:2px;font-size:10px}.hydraulic-switch{z-index:4;touch-action:manipulation;background:#edf2f0;border:1px solid #dce5e1;border-radius:9px;grid-template-columns:1fr 1fr;gap:4px;padding:3px;display:grid;position:relative}.hydraulic-valve-device .hydraulic-switch{margin-top:9px}.hydraulic-switch button{color:#778680;letter-spacing:.55px;cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:28px;font-size:8px;font-weight:900}.hydraulic-switch button:hover:not(:disabled){background:#ffffffb3}.hydraulic-switch button.active.on{color:#fff;background:#2d9b78;box-shadow:0 3px 8px #2d9b7840}.hydraulic-switch button.active.off{color:#5e6d68;background:#fff;box-shadow:0 2px 7px #304c4417}.hydraulic-switch button:disabled{cursor:not-allowed;opacity:.36}.hydraulic-field{background:linear-gradient(150deg,#f8faf5,#eef4ea);border:1px solid #d4dfd5;border-radius:13px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-height:96px;padding:12px 10px;display:grid;position:relative}.hydraulic-zone.flowing .hydraulic-field{background:linear-gradient(150deg,#edf8ee,#e0f1e5);border-color:#60b88f;box-shadow:inset 0 -3px #489f6814,0 0 18px #489f681f}.hydraulic-inline-zone-editor{border-top:1px solid #dbe5df;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;padding-top:8px;display:grid}.field-icon{color:#4d8c58;background:#dfeadb;border-radius:10px;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.hydraulic-zone.flowing .field-icon{color:#2e8b4b;background:#cfe9d4;box-shadow:0 0 13px #39975026}.hydraulic-field em,.hydraulic-field small,.hydraulic-field strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.hydraulic-field small{color:#788a78;font-size:7px}.hydraulic-field strong{margin-top:3px;font-size:10px}.hydraulic-field em{color:var(--muted);margin-top:3px;font-size:8px;font-style:normal}.hydraulic-field>b{color:#718079;letter-spacing:.45px;background:#e2e8e4;border-radius:12px;grid-column:1/-1;justify-self:start;padding:4px 7px;font-size:7px}.hydraulic-field>b.active{color:#247b52;background:#d4eee0}.hydraulic-footer{background:#fbfcfb;border-top:1px solid #e0e9e5;grid-template-columns:repeat(4,1fr);display:grid}.hydraulic-footer>div{grid-template-columns:34px 1fr;align-content:center;column-gap:9px;min-height:92px;padding:13px 16px;display:grid}.hydraulic-footer>div+div{border-left:1px solid #e0e9e5}.hydraulic-footer-icon{border-radius:10px;grid-row:1/span 3;align-self:center;place-items:center;width:34px;height:34px;font-size:15px;font-weight:900;display:grid}.hydraulic-footer-icon.pressure{color:#735b9a;background:#eee9f5}.hydraulic-footer-icon.flow{color:#338096;background:#e1f1f4}.hydraulic-footer-icon.valves{color:#318064;background:#e3f1eb}.hydraulic-footer-icon.source{color:#6177b2;background:#e8ebf6;font-size:9px}.hydraulic-footer em,.hydraulic-footer small,.hydraulic-footer strong{display:block}.hydraulic-footer small{color:var(--muted);font-size:7px}.hydraulic-footer strong{margin-top:2px;font-size:11px}.hydraulic-footer em{color:#75847f;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:7px;font-style:normal;overflow:hidden}.hydraulic-safety-note{color:#4e6f65;background:#eaf5f1;border-top:1px solid #dbe8e3;align-items:center;gap:7px;margin:0;padding:11px 18px;font-size:8px;line-height:1.45;display:flex}.hydraulic-safety-note>span{color:#287a61;background:#d3ebe2;border-radius:6px;flex:0 0 20px;place-items:center;width:20px;height:20px;font-weight:900;display:grid}.hydraulic-designer{background:#fff;border:1px solid #d4e2dd;border-radius:16px;margin-top:14px;overflow:hidden;box-shadow:0 14px 38px #1f4d4114}.hydraulic-designer-heading{background:linear-gradient(145deg,#fbfdfc,#f3f8f6);border-bottom:1px solid #e0e9e5;justify-content:space-between;align-items:flex-start;gap:24px;padding:20px 22px;display:flex}.hydraulic-designer-heading h2{letter-spacing:-.25px;margin:1px 0 0;font-size:19px}.hydraulic-designer-heading>div:first-child>p:last-child{max-width:690px;color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.5}.hydraulic-designer-actions{justify-items:end;gap:8px;min-width:220px;display:grid}.hydraulic-designer-actions span{color:#43816f;font-size:8px;font-weight:800}.hydraulic-add-zone,.hydraulic-designer-actions button{color:#2c745f;cursor:pointer;background:#f5faf8;border:1px solid #bfd7cf;border-radius:9px;min-height:33px;padding:7px 11px;font-size:8px;font-weight:900}.hydraulic-add-zone:hover,.hydraulic-designer-actions button:hover{background:#e9f6f1;border-color:#64b69b}.hydraulic-engineering-note{color:#356f83;background:#edf8fc;border:1px solid #b9d9e6;border-radius:11px;align-items:flex-start;gap:10px;margin:15px 21px 0;padding:12px 14px;display:flex}.hydraulic-engineering-note>span{background:#cee9f3;border-radius:7px;flex:0 0 23px;place-items:center;width:23px;height:23px;font-size:10px;font-weight:900;display:grid}.hydraulic-engineering-note p{margin:0;font-size:9px;line-height:1.5}.hydraulic-distance-summary{background:#fbfdfc;border:1px solid #d8e6e1;border-radius:13px;margin:12px 21px 0;overflow:hidden}.hydraulic-distance-summary>header{background:#f3f8f6;border-bottom:1px solid #e2ebe7;justify-content:space-between;align-items:center;gap:16px;padding:11px 14px;display:flex}.hydraulic-distance-summary>header h3{margin:2px 0 0;font-size:11px}.hydraulic-distance-summary>header>strong{color:#28775e;font-size:10px}.hydraulic-distance-summary>div{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.hydraulic-distance-summary article{grid-template-columns:30px 1fr;align-content:center;column-gap:8px;min-height:76px;padding:10px 12px;display:grid}.hydraulic-distance-summary article+article{border-left:1px solid #e3ebe8}.hydraulic-distance-summary article>span{color:#28775e;background:#dff1ea;border-radius:8px;grid-row:1/span 3;align-self:center;place-items:center;width:28px;height:28px;font-size:11px;font-weight:900;display:grid}.hydraulic-distance-summary em,.hydraulic-distance-summary small,.hydraulic-distance-summary strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.hydraulic-distance-summary small{color:var(--muted);font-size:7px}.hydraulic-distance-summary strong{margin-top:2px;font-size:10px}.hydraulic-distance-summary em{color:#788983;margin-top:2px;font-size:7px;font-style:normal}.hydraulic-design-sections{gap:10px;padding:15px 21px 20px;display:grid}.hydraulic-design-sections details{background:#fbfdfc;border:1px solid #dce7e3;border-radius:12px;overflow:hidden}.hydraulic-design-sections summary{cursor:pointer;grid-template-columns:29px 1fr auto;align-items:center;gap:10px;padding:12px 14px;list-style:none;display:grid}.hydraulic-design-sections summary::-webkit-details-marker{display:none}.hydraulic-design-sections summary>span{color:#27755d;background:#dff1ea;border-radius:8px;place-items:center;width:27px;height:27px;font-size:9px;font-weight:900;display:grid}.hydraulic-design-sections summary small,.hydraulic-design-sections summary strong{display:block}.hydraulic-design-sections summary strong{font-size:10px}.hydraulic-design-sections summary small{color:var(--muted);margin-top:2px;font-size:8px}.hydraulic-design-sections summary>b{color:#397b68;font-size:8px}.hydraulic-design-sections details[open] summary{background:#f5faf8;border-bottom:1px solid #e2ebe7}.hydraulic-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:15px;display:grid}.hydraulic-form-grid.four{grid-template-columns:repeat(5,minmax(0,1fr));padding:0}.hydraulic-form-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));padding:0}.hydraulic-form-grid.commercial-pipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:0}.hydraulic-input{color:#596e67;align-content:start;gap:5px;min-width:0;font-size:8px;font-weight:800;display:grid}.hydraulic-field-label{align-items:center;gap:5px;min-height:18px;display:flex}.hydraulic-info{color:#27775e;cursor:help;background:#eaf6f1;border:1px solid #9fc9bb;border-radius:50%;flex:0 0 16px;place-items:center;width:16px;height:16px;font-size:10px;font-style:normal;font-weight:900;line-height:1;display:inline-grid}.hydraulic-info:focus,.hydraulic-info:hover{background:#d9f0e7;border-color:#4ca889;box-shadow:0 0 0 3px #41a8871a}.hydraulic-input>div{background:#fff;border:1px solid #d5e1dd;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;display:grid;overflow:hidden}.hydraulic-input input,.hydraulic-input select{width:100%;min-width:0;min-height:34px;color:var(--ink);font:inherit;background:#fff;border:1px solid #d5e1dd;border-radius:8px;outline:0;padding:7px 9px;font-size:9px;font-weight:700}.hydraulic-input>div input{border:0;border-radius:0}.hydraulic-input>div em{color:#6e7f79;background:#f0f5f3;border-left:1px solid #dce5e2;place-items:center;min-width:42px;padding:0 7px;font-size:7px;font-style:normal;display:grid}.hydraulic-input input:focus,.hydraulic-input select:focus,.hydraulic-input>div:focus-within{border-color:#4eaa8d;box-shadow:0 0 0 3px #41a8871c}.hydraulic-input select:disabled{color:#7b8b85;cursor:not-allowed;background:#edf2f0}.hydraulic-input.calculated>div{background:#edf7f3;border-color:#b9d8cd}.hydraulic-input.calculated input[readonly]{color:#246d56;cursor:default;background:#edf7f3}.hydraulic-input>small{color:#8a9893;font-size:7px;font-weight:500;line-height:1.35}.hydraulic-pipe-editor{padding:14px 15px 16px}.hydraulic-pipe-editor h4{color:#3e6358;margin:0 0 10px;font-size:9px}.hydraulic-zone-editor-list{gap:11px;padding:14px 15px 5px;display:grid}.hydraulic-zone-editor{background:#fff;border:1px solid #d9e5e1;border-radius:12px;padding:13px}.hydraulic-zone-editor>header{border-bottom:1px solid #e6ecea;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;padding-bottom:10px;display:flex}.hydraulic-zone-editor>header>div{grid-template-columns:auto auto;align-items:center;gap:3px 8px;display:grid}.hydraulic-zone-editor>header span{color:#28755e;background:#def0e9;border-radius:9px;grid-row:1/span 2;place-items:center;width:33px;height:33px;font-size:8px;font-weight:900;display:grid}.hydraulic-zone-editor>header strong{font-size:10px}.hydraulic-zone-editor>header small{color:var(--muted);font-size:7px}.hydraulic-zone-editor>header button{color:#aa5044;cursor:pointer;background:#f8ecea;border:0;border-radius:7px;padding:7px 9px;font-size:7px;font-weight:900}.hydraulic-add-zone:disabled,.hydraulic-zone-editor>header button:disabled{cursor:not-allowed;opacity:.4}.hydraulic-zone-editor .hydraulic-pipe-editor{background:#f5f9f7;border-radius:10px;margin-top:13px;padding:12px}.hydraulic-add-zone{margin:8px 15px 15px}.hydraulic-inline-actions{grid-template-columns:auto minmax(240px,1fr);align-items:end;gap:12px;padding:0 15px 15px;display:grid}.hydraulic-inline-actions .hydraulic-add-zone{align-self:end;margin:0}.discharge-list{gap:11px;padding:14px 15px 5px;display:grid}.sector-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.emitter-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.hydraulic-verdict{background:#eaf7f2;border:1px solid #b9dfd2;border-radius:13px;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;margin:0 21px 14px;padding:14px;display:grid}.hydraulic-verdict>span{color:#25785d;background:#cdeadd;border-radius:10px;place-items:center;width:36px;height:36px;font-size:16px;font-weight:900;display:grid}.hydraulic-verdict h3{margin:1px 0 0;font-size:13px}.hydraulic-verdict div>p:last-child{color:#59766d;margin:4px 0 0;font-size:8px}.hydraulic-verdict>em{color:#4d7468;background:#ffffffb3;border-radius:18px;padding:7px 10px;font-size:8px;font-style:normal;font-weight:800}.hydraulic-verdict.incompatible{background:#fff0ee;border-color:#e4aaa4}.hydraulic-verdict.incompatible>span{color:#b44438;background:#f4cec9}.hydraulic-verdict.warning{background:#fff8e8;border-color:#e8d29c}.hydraulic-verdict.warning>span{color:#9a721b;background:#f4e1ad}.hydraulic-result-grid{border:1px solid #dce6e2;border-radius:12px;grid-template-columns:repeat(5,1fr);margin:0 21px 14px;display:grid;overflow:hidden}.hydraulic-result-grid article{background:#fbfdfc;grid-template-columns:30px 1fr;align-content:center;column-gap:9px;min-height:91px;padding:12px;display:grid}.hydraulic-result-grid article+article{border-left:1px solid #e1e9e6}.hydraulic-result-grid article>span{color:#307d65;background:#e2f1eb;border-radius:9px;grid-row:1/span 3;align-self:center;place-items:center;width:29px;height:29px;font-size:13px;font-weight:900;display:grid}.hydraulic-result-grid em,.hydraulic-result-grid small,.hydraulic-result-grid strong{display:block}.hydraulic-result-grid small{color:var(--muted);font-size:7px}.hydraulic-result-grid strong{margin-top:3px;font-size:11px}.hydraulic-result-grid em{color:#75857f;margin-top:3px;font-size:7px;font-style:normal}.hydraulic-output-grid{grid-template-columns:repeat(3,1fr)}.hydraulic-output-grid article:nth-child(3n+1){border-left:0}.hydraulic-output-grid article:nth-child(n+4){border-top:1px solid #e1e9e6}.hydraulic-checks{grid-template-columns:repeat(2,1fr);gap:8px;margin:0 21px 14px;display:grid}.hydraulic-checks article{background:#fbfdfc;border:1px solid #dce6e2;border-radius:10px;grid-template-columns:26px 1fr;align-items:center;gap:9px;min-height:62px;padding:10px 12px;display:grid}.hydraulic-checks article>span{color:#2d7b63;background:#e1f1eb;border-radius:8px;place-items:center;width:25px;height:25px;font-size:10px;font-weight:900;display:grid}.hydraulic-checks article strong{font-size:9px;display:block}.hydraulic-checks article p{color:var(--muted);margin:3px 0 0;font-size:7px;line-height:1.35}.hydraulic-checks article.danger{background:#fff5f3;border-color:#edc1bc}.hydraulic-checks article.danger>span{color:#b4493e;background:#f5d5d1}.hydraulic-checks article.info{background:#f2f9fc;border-color:#c6dce7}.hydraulic-checks article.info>span{color:#3b758b;background:#d7eaf2}.hydraulic-zone-results{border:1px solid #dce6e2;border-radius:12px;margin:0 21px 14px;overflow:hidden}.hydraulic-zone-results>header{background:#f6faf8;border-bottom:1px solid #e1e9e6;justify-content:space-between;align-items:center;gap:20px;padding:13px 15px;display:flex}.hydraulic-zone-results h3{margin:1px 0 0;font-size:12px}.hydraulic-zone-results>header>span{color:var(--muted);font-size:8px}.hydraulic-result-table{overflow-x:auto}.hydraulic-result-row{grid-template-columns:1.4fr repeat(4,.8fr) .65fr;align-items:center;min-width:880px;display:grid}.hydraulic-result-row>span{min-width:0;padding:10px 12px;font-size:8px}.hydraulic-result-row+.hydraulic-result-row{border-top:1px solid #e7ecea}.hydraulic-result-row.heading{color:#71817c;text-transform:uppercase;letter-spacing:.35px;background:#f9fbfa;font-size:7px;font-weight:900}.hydraulic-result-row small,.hydraulic-result-row strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.hydraulic-result-row strong{font-size:8px}.hydraulic-result-row small{color:var(--muted);margin-top:3px;font-size:7px}.hydraulic-result-row b{border-radius:14px;padding:5px 8px;font-size:7px;display:inline-flex}.hydraulic-result-row b.ok{color:#26765e;background:#dff1ea}.hydraulic-result-row b.danger{color:#ad4438;background:#f8ded9}.hydraulic-method-note{background:#f3f8f6;border-top:1px solid #dde8e4;margin:0;padding:13px 21px 15px}.hydraulic-method-note strong{color:#446a5f;font-size:8px;display:block}.hydraulic-method-note p{color:#72827c;margin:4px 0 0;font-size:7px;line-height:1.5}.hydraulic-method-note>em{color:#477567;margin-top:7px;font-size:8px;font-style:normal;font-weight:800;display:block}.pump-safety-alert{color:#6f531b;background:#fff6df;border:1px solid #e1bd67;border-left:4px solid #d69e2f;border-radius:11px;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;margin:13px 20px 0;padding:10px 11px;display:grid;box-shadow:0 8px 22px #89621817}.pump-safety-alert>span{color:#5b4110;background:#f1c661;border-radius:9px;place-items:center;width:32px;height:32px;font-size:15px;font-weight:900;display:grid}.pump-safety-alert strong{font-size:10px}.pump-safety-alert p{color:#7e642f;margin:3px 0 0;font-size:8px;line-height:1.4}.pump-safety-alert button{color:#76591e;cursor:pointer;background:#ffffffa6;border:1px solid #e2c77f;border-radius:8px;place-items:center;width:28px;height:28px;font-size:17px;display:grid}.pump-details-trigger{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.pump-details-trigger:hover .pump-rotor{transform:scale(1.04)}.pump-details-callout{color:var(--green);white-space:nowrap;justify-items:center;gap:5px;font-size:7px;font-weight:800;display:grid}.pump-details-callout .device-led{display:block}.pump-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#081915a8;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.pump-details-modal{width:min(900px,100%);max-height:calc(100vh - 44px);color:var(--ink);background:#f8faf8;border:1px solid #cfddd8;border-radius:18px;overflow-y:auto;box-shadow:0 34px 100px #0a2a214d}.pump-modal-header{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8faf8f5;border-bottom:1px solid #dbe5e1;grid-template-columns:auto 1fr auto auto;align-items:center;gap:13px;padding:17px 19px;display:grid;position:sticky;top:0}.pump-modal-icon{color:#64766f;background:#e9efec;border:6px solid #8fa19b;border-radius:50%;place-items:center;width:46px;height:46px;font-size:13px;font-weight:900;display:grid}.pump-modal-icon.on{color:#26775f;background:#dff2ea;border-color:#43aa88;box-shadow:0 0 20px #43aa882e}.pump-modal-header h2{margin:0;font-size:18px}.pump-modal-header p:not(.eyebrow){color:var(--muted);margin:4px 0 0;font-size:9px}.pump-modal-state{color:#687871;background:#edf1ef;border-radius:20px;align-items:center;gap:6px;padding:6px 9px;font-size:8px;font-weight:800;display:inline-flex}.pump-modal-state i{background:#9eaaa6;border-radius:50%;width:7px;height:7px}.pump-modal-state.on{color:#27775f;background:#e0f2ea}.pump-modal-state.on i{background:#44b78c;box-shadow:0 0 0 4px #44b78c1f}.pump-modal-close{color:#6f7e79;cursor:pointer;background:#fff;border:1px solid #d8e2de;border-radius:9px;place-items:center;width:34px;height:34px;font-size:21px;display:grid}.pump-modal-warning{color:#6e521a;background:#fff5dc;border:1px solid #e2bd67;border-radius:10px;grid-template-columns:30px 1fr;align-items:center;gap:9px;margin:13px 17px 0;padding:9px 11px;display:grid}.pump-modal-warning>span{color:#5a410e;background:#f1c661;border-radius:8px;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.pump-modal-warning strong{font-size:9px}.pump-modal-warning p{color:#7f6530;margin:3px 0 0;font-size:8px}.pump-modal-body{grid-template-columns:300px 1fr;gap:15px;padding:17px;display:grid}.pump-pressure-card{background:#fff;border:1px solid #d7e2de;border-radius:14px;padding:15px}.pump-card-title{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.pump-card-title small,.pump-card-title strong{display:block}.pump-card-title small{color:var(--muted);letter-spacing:.8px;font-size:7px;font-weight:800}.pump-card-title strong{margin-top:3px;font-size:11px}.pump-card-title>span{border-radius:12px;padding:4px 7px;font-size:7px;font-weight:800}.pump-card-title>span.optimal{color:#287a61;background:#e0f2ea}.pump-card-title>span.attention{color:#8b6420;background:#f7ead4}.pump-manometer{place-items:center;padding:19px 0 9px;display:grid}.manometer-face{background:radial-gradient(circle at center,white 0 52%,transparent 53%),conic-gradient(from 220deg,#d96f59 0 17%,#e5b24c 17% 39%,#49ad82 39% 59%,#e5b24c 59% 79%,#d96f59 79% 100%);border:10px solid #e6ece9;border-radius:50%;width:205px;height:205px;position:relative;box-shadow:inset 0 0 0 8px #fff,0 12px 28px #1e493d1f}.manometer-face:after{content:"";background:repeating-conic-gradient(from -132deg,#879892 0 1deg,transparent 1deg 12deg);border:1px solid #d4ded9;border-radius:50%;position:absolute;inset:21px;-webkit-mask:radial-gradient(circle,#0000 0 68%,#000 69% 100%);mask:radial-gradient(circle,#0000 0 68%,#000 69% 100%)}.manometer-needle{z-index:3;transform-origin:50% 100%;background:#c54e3f;border-radius:5px 5px 1px 1px;width:4px;height:68px;transition:transform .35s;position:absolute;bottom:50%;left:50%;box-shadow:0 0 8px #c54e3f40}.manometer-center{z-index:4;background:#344f47;border:4px solid #fff;border-radius:50%;width:17px;height:17px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 5px #00000038}.manometer-face>strong{font-size:23px;inset:64% 0 auto}.manometer-face>small,.manometer-face>strong{z-index:4;text-align:center;position:absolute}.manometer-face>small{color:var(--muted);font-size:8px;font-weight:800;inset:77% 0 auto}.manometer-face>em{z-index:4;color:#667770;font-size:7px;font-style:normal;font-weight:800;position:absolute}.gauge-zero{bottom:41px;left:22px}.gauge-two{top:51px;left:38px}.gauge-three{top:51px;right:38px}.gauge-five{bottom:41px;right:22px}.pressure-legend{color:var(--muted);justify-content:center;gap:11px;font-size:7px;display:flex}.pressure-legend span{align-items:center;gap:4px;display:inline-flex}.pressure-legend i{border-radius:50%;width:7px;height:7px}.pressure-legend i.high,.pressure-legend i.low{background:#d96f59}.pressure-legend i.optimal{background:#49ad82}.pump-details-right{align-content:start;gap:10px;display:grid}.pump-config-editor{background:#f3faf7;border:1px solid #bcdacf;border-radius:12px;overflow:hidden}.pump-config-editor>header{background:#e9f6f1;border-bottom:1px solid #d2e5de;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 13px 10px;display:flex}.pump-config-editor h3{margin:1px 0 0;font-size:11px}.pump-config-editor>header>span{color:#28765e;white-space:nowrap;background:#d5eee4;border-radius:14px;padding:5px 8px;font-size:7px;font-weight:900}.pump-config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px;display:grid}.pump-config-grid label{color:#536d64;gap:5px;min-width:0;font-size:8px;font-weight:800;display:grid}.pump-config-grid label.wide{grid-column:1/-1}.pump-config-grid label>div{grid-template-columns:minmax(0,1fr) auto;display:grid;overflow:hidden}.pump-config-grid input,.pump-config-grid label>div{background:#fff;border:1px solid #ceded8;border-radius:8px}.pump-config-grid input{width:100%;min-width:0;min-height:34px;color:var(--ink);font:inherit;outline:0;padding:7px 9px;font-size:9px;font-weight:800}.pump-config-grid label>div input{border:0;border-radius:0}.pump-config-grid label>div em{color:#657a72;background:#edf4f1;border-left:1px solid #d7e4df;place-items:center;min-width:42px;padding:0 7px;font-size:7px;font-style:normal;display:grid}.pump-config-grid input:focus,.pump-config-grid label>div:focus-within{border-color:#43a484;box-shadow:0 0 0 3px #43a4841f}.pump-config-editor>p{color:#647a72;border-top:1px solid #d5e6e0;margin:0;padding:9px 12px 11px;font-size:7px;line-height:1.45}.pump-characteristics{grid-template-columns:1fr 1fr;gap:10px;display:grid}.pump-characteristics article{background:#fff;border:1px solid #d9e3df;border-radius:12px;grid-template-columns:38px 1fr;align-items:center;gap:10px;min-height:105px;padding:13px;display:grid}.pump-characteristics em,.pump-characteristics small,.pump-characteristics strong{display:block}.pump-characteristics small{color:var(--muted);font-size:7px}.pump-characteristics strong{margin-top:4px;font-size:15px}.pump-characteristics em{color:#788781;margin-top:4px;font-size:7px;font-style:normal}.pump-stat-icon{border-radius:10px;place-items:center;width:38px;height:38px;font-size:15px;font-weight:900;display:grid}.pump-stat-icon.flow{color:#338096;background:#e1f1f4}.pump-stat-icon.volume{color:#607da1;background:#e8eef6}.pump-stat-icon.time{color:#9a7026;background:#f2ead9}.pump-stat-icon.load{color:#785c9d;background:#eee8f5}.pump-stat-icon.service{color:#2f8466;background:#e2f2ea}.pump-stat-icon.next{color:#aa6538;background:#f8e9dc}.pump-maintenance-progress{background:#fff;border:1px solid #d9e4df;border-radius:12px;margin:0 17px 17px;padding:13px 15px}.pump-maintenance-progress>div:first-child,.pump-maintenance-progress>div:last-child{justify-content:space-between;gap:10px;display:flex}.pump-maintenance-progress>div:first-child{font-size:8px}.pump-maintenance-progress>div:last-child{color:var(--muted);font-size:7px}.pump-maintenance-track{background:#e5ece9;border-radius:8px;height:9px;margin:9px 0 7px;overflow:hidden}.pump-maintenance-track>span{border-radius:inherit;background:linear-gradient(90deg,#4aad84,#d9ad4d);height:100%;display:block}.pump-modal-footer{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8faf8f7;border-top:1px solid #d9e4df;grid-template-columns:1fr 210px auto;align-items:center;gap:12px;padding:13px 17px;display:grid;position:sticky;bottom:0}.pump-modal-footer>div:first-child span,.pump-modal-footer>div:first-child strong{display:block}.pump-modal-footer>div:first-child strong{font-size:9px}.pump-modal-footer>div:first-child span{color:var(--muted);margin-top:3px;font-size:7px}.pump-modal-footer>button{color:#5f716b;cursor:pointer;background:#fff;border:1px solid #d3dfda;border-radius:9px;min-height:36px;padding:8px 12px;font-size:8px;font-weight:800}.alert-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:11px;display:grid}.alert-summary article{border:1px solid var(--line);background:#fff;border-radius:11px;padding:14px}.alert-summary small,.alert-summary span,.alert-summary strong{display:block}.alert-summary strong{font-size:21px}.alert-summary span{margin-top:3px;font-size:9px;font-weight:700}.alert-summary small{color:var(--muted);margin-top:4px;font-size:7px}.alert-list{grid-template-columns:1fr 1fr;gap:10px;display:grid}.alert-list.full{grid-template-columns:1fr}.alert-item{background:#fff;border:1px solid var(--line);border-left:3px solid;border-radius:10px;align-items:center;gap:11px;padding:13px 14px;display:flex}.danger-border{border-left-color:#cf6d59}.warning-border{border-left-color:#d4a340}.alert-icon{color:#ab4c3b;background:#f8e7e2;border-radius:8px;flex:0 0 29px;place-items:center;width:29px;height:29px;font-size:11px;font-weight:800;display:grid}.alert-icon.water-alert{color:#956b14;background:#fff0cf}.alert-icon.sensor-alert{color:#5c7592;background:#e8edf4}.alert-item div{flex:1}.alert-item strong{font-size:9px}.alert-item p{color:var(--muted);margin:3px 0 0;font-size:8px}.alert-item div small{color:#9aa49f;margin-top:5px;font-size:7px;display:block}.alert-item button{color:var(--green);cursor:pointer;background:#fff;border:1px solid #d8e3de;border-radius:7px;padding:7px 9px;font-size:8px;font-weight:700}.telemetry-history{border:1px solid var(--line);background:#fff;border-radius:13px;margin-bottom:12px;padding:18px}.telemetry-history-toolbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:15px;display:flex}.telemetry-history-toolbar h2{margin:0;font-size:16px}.telemetry-history-toolbar>div>p:not(.eyebrow){color:var(--muted);margin:4px 0 0;font-size:9px}.history-range{background:#eef3f0;border-radius:9px;gap:3px;padding:3px;display:inline-flex}.history-range button{color:#6f7f79;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:7px 10px;font-size:8px;font-weight:700}.history-range button.active{background:var(--green);color:#fff;box-shadow:0 3px 8px #1f67582e}.telemetry-chart-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.telemetry-chart-card{background:#fbfdfc;border:1px solid #e0e8e4;border-radius:12px;min-width:0;padding:13px}.telemetry-chart-heading{grid-template-columns:auto 1fr auto;align-items:center;gap:9px;min-height:36px;display:grid}.telemetry-chart-heading>span{background:#f7ece7;border-radius:10px;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.telemetry-chart-card.humidity .telemetry-chart-heading>span{background:#e8f3f8}.telemetry-chart-card.conductivity .telemetry-chart-heading>span{background:#fff3d8}.telemetry-chart-card.soil .telemetry-chart-heading>span{background:#eaf4eb}.telemetry-chart-heading small,.telemetry-chart-heading strong{display:block}.telemetry-chart-heading small{color:var(--muted);font-size:7px}.telemetry-chart-heading strong{color:#c76543;margin-top:3px;font-size:15px}.telemetry-chart-card.humidity .telemetry-chart-heading strong{color:#327d9b}.telemetry-chart-card.conductivity .telemetry-chart-heading strong{color:#9a6b12}.telemetry-chart-card.soil .telemetry-chart-heading strong{color:#39784d}.telemetry-chart-heading p{color:#8a9892;text-align:right;margin:0;font-size:7px}.telemetry-chart-heading p b{color:#53655e;margin-top:3px;font-size:9px;display:block}.telemetry-target-summary{color:#60766e;background:#edf5f1;border-radius:7px;justify-content:space-between;gap:8px;margin-top:9px;padding:6px 8px;font-size:7px;display:flex}.telemetry-target-summary strong{color:#20806a}.telemetry-chart-plot{height:122px;margin-top:11px;padding:5px 0;position:relative}.telemetry-chart-plot svg{width:100%;height:112px;overflow:visible}.telemetry-chart-plot line{stroke:#e8eeeb;stroke-width:1px;vector-effect:non-scaling-stroke}.telemetry-chart-plot .telemetry-optimal-band{fill:#37a87c1f}.telemetry-chart-plot .telemetry-setpoint-line{stroke:#e0a333;stroke-width:1.6px;stroke-dasharray:6 4}.telemetry-chart-plot path{fill:none;stroke:#d06b48;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.telemetry-chart-card.humidity .telemetry-chart-plot path{stroke:#3887a7}.telemetry-chart-card.conductivity .telemetry-chart-plot path{stroke:#d29a32}.telemetry-chart-card.soil .telemetry-chart-plot path{stroke:#428256}.chart-max,.chart-min{z-index:1;color:#91a099;background:#fbfdfce6;border-radius:4px;padding:2px 4px;font-size:6px;position:absolute;right:3px}.chart-max{top:2px}.chart-min{bottom:4px}.telemetry-chart-axis{color:#8b9993;justify-content:space-between;font-size:7px;display:flex}.telemetry-chart-empty,.telemetry-history-state{color:#84928d;text-align:center;place-items:center;min-height:133px;font-size:9px;display:grid}.telemetry-history-state{border:1px dashed #dce5e1;border-radius:10px;min-height:240px}.telemetry-history-state.error{color:#b85c48}.telemetry-history-footer{color:#87958f;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;font-size:7px;display:flex}.telemetry-history-footer i{background:#3f9b79;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.telemetry-history-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.open-analysis-button,.setpoint-button{color:#176656;cursor:pointer;white-space:nowrap;background:#e6f4ef;border:1px solid #26806f;border-radius:9px;align-items:center;gap:6px;padding:8px 11px;font-size:8px;font-weight:800;display:inline-flex}.open-analysis-button:hover{background:#dcefe8;border-color:#1f6e60}.open-analysis-button span{font-size:12px;line-height:1}.setpoint-button{color:#805d18;background:#fff6df;border-color:#d3a044}.setpoint-button:hover{background:#f9edcc;border-color:#bd8524}.telemetry-analysis-backdrop{z-index:1500;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#051411c2;place-items:center;padding:14px;display:grid;position:fixed;inset:0}.telemetry-analysis-modal{width:min(1180px,100%);max-height:calc(100vh - 28px);color:var(--ink);background:#f4f8f6;border:1px solid #d7e4df;border-radius:18px;overflow:auto;box-shadow:0 30px 100px #03151161}.telemetry-analysis-header{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f8f6f5;border-bottom:1px solid #dfe9e5;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 22px 16px;display:flex;position:sticky;top:0}.telemetry-analysis-header h2{margin:1px 0 4px;font-size:20px}.telemetry-analysis-header>div>p:not(.eyebrow){color:var(--muted);margin:0;font-size:9px}.analysis-close{color:#60736c;cursor:pointer;background:#fff;border:1px solid #d5e1dc;border-radius:10px;flex:0 0 34px;width:34px;height:34px;font-size:22px;line-height:1}.analysis-close:hover{color:#173f36;border-color:#b9ccc4}.telemetry-analysis-toolbar{background:#fff;border-bottom:1px solid #dfe9e5;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:14px 22px;display:grid}.analysis-live-status{align-items:center;gap:9px;min-width:0;display:flex}.analysis-live-status>i{background:#38a584;border-radius:50%;flex:0 0 9px;width:9px;height:9px;animation:live-pulse 2s ease-in-out infinite;box-shadow:0 0 0 5px #38a58421}.analysis-live-status small,.analysis-live-status span,.analysis-live-status strong{display:block}.analysis-live-status strong{color:#236f60;font-size:9px}.analysis-live-status small{color:#83918c;margin-top:3px;font-size:7px}.analysis-range{background:#edf3f0}.analysis-download{color:#fff;cursor:pointer;white-space:nowrap;background:#287d6d;border:1px solid #287d6d;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:8px 11px;font-size:8px;font-weight:800;display:inline-flex}.analysis-download span{font-size:13px}.analysis-download:disabled{cursor:not-allowed;background:#bdcbc6;border-color:#bdcbc6}.analysis-chart-stack{gap:11px;padding:15px 22px;display:grid}.analysis-chart-card{background:#fff;border:1px solid #dbe6e1;border-radius:14px;min-width:0;padding:14px 16px;box-shadow:0 8px 24px #14463a0b}.analysis-chart-title{grid-template-columns:auto 1fr auto;align-items:center;gap:11px;display:grid}.analysis-chart-title>span{background:#f9e9e3;border-radius:12px;place-items:center;width:43px;height:43px;font-size:22px;display:grid}.analysis-chart-card.humidity .analysis-chart-title>span{background:#e5f2f8}.analysis-chart-card.conductivity .analysis-chart-title>span{background:#fff3d8}.analysis-chart-card.soil .analysis-chart-title>span{background:#e6f3e8}.analysis-chart-title h3{margin:0;font-size:14px}.analysis-chart-title p{color:#819089;margin:4px 0 0;font-size:8px}.analysis-signal{color:#238064;background:#e4f3ed;border-radius:999px;padding:5px 9px;font-size:8px;font-weight:850}.analysis-signal.attention{color:#9d6b0f;background:#fff1d1}.analysis-signal.critical{color:#b44835;background:#ffe4df}.analysis-current{background:#edf6f2;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;min-width:108px;padding:8px 10px;display:grid}.analysis-current small{color:#73837d;font-size:7px}.analysis-current strong{grid-area:1/2/3;font-size:16px}.analysis-current em{font-size:7px;font-style:normal;font-weight:800}.analysis-current.optimal em,.analysis-current.optimal strong{color:#238064}.analysis-current.attention{background:#fff5de}.analysis-current.attention em,.analysis-current.attention strong{color:#a87313}.analysis-current.critical{background:#ffebe7}.analysis-current.critical em,.analysis-current.critical strong{color:#bc4f3a}.analysis-stat-row{grid-template-columns:1.25fr 1fr 1fr;gap:7px;margin:12px 0 8px;display:grid}.analysis-stat-row>span{background:#fafcfb;border:1px solid #e4ebe8;border-radius:9px;padding:9px 11px}.analysis-stat-row>span.actual{background:#edf8f4;border-color:#bcded1}.analysis-stat-row>span.actual.attention{background:#fff7e5;border-color:#e7cd8a}.analysis-stat-row>span.actual.critical{background:#fff0ed;border-color:#e7aaa0}.analysis-stat-row small,.analysis-stat-row strong{display:block}.analysis-stat-row small{color:#84918c;font-size:7px}.analysis-stat-row strong{margin-top:3px;font-size:13px}.analysis-chart-meta{color:#70827b;justify-content:space-between;align-items:center;gap:12px;margin:0 2px 7px;font-size:7px;font-weight:750;display:flex}.analysis-chart-meta span{align-items:center;gap:5px;display:inline-flex}.analysis-chart-meta i{background:#2fa06e4d;border-radius:3px;width:9px;height:9px}.analysis-chart-meta span:last-child{color:#a06f16}.analysis-chart-canvas{background:#fbfdfc;border:1px solid #e3ebe7;border-radius:10px;height:150px;position:relative;overflow:hidden}.analysis-chart-canvas svg{width:100%;height:100%;display:block}.analysis-chart-canvas .zone-optimal{fill:#2fa06e26}.analysis-chart-canvas .zone-attention{fill:#e7b13f1f}.analysis-chart-canvas .zone-critical{fill:#e05b441b}.analysis-grid-line{stroke:#46655b26;stroke-width:1px;vector-effect:non-scaling-stroke}.analysis-limit-line{stroke-width:1.15px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.analysis-limit-line.optimal{stroke:#39a477}.analysis-limit-line.critical{stroke:#d36a52}.analysis-setpoint-line{stroke:#e2a536;stroke-width:2px;stroke-dasharray:8 5;vector-effect:non-scaling-stroke}.analysis-series-path{fill:none;stroke:#d56b48;stroke-width:2.8px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 3px #d56b4833)}.analysis-chart-card.humidity .analysis-series-path{stroke:#3186a8;filter:drop-shadow(0 2px 3px #3186a833)}.analysis-chart-card.conductivity .analysis-series-path{stroke:#d29a32;filter:drop-shadow(0 2px 3px #d29a3233)}.analysis-chart-card.soil .analysis-series-path{stroke:#3c8754;filter:drop-shadow(0 2px 3px #3c875433)}.analysis-last-point-ring{fill:#d56b482e;stroke:none}.analysis-last-point{fill:#d56b48;stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke}.analysis-chart-card.humidity .analysis-last-point-ring{fill:#3186a82e}.analysis-chart-card.humidity .analysis-last-point{fill:#3186a8}.analysis-chart-card.conductivity .analysis-last-point-ring{fill:#d29a3233}.analysis-chart-card.conductivity .analysis-last-point{fill:#d29a32}.analysis-chart-card.soil .analysis-last-point-ring{fill:#3c87542e}.analysis-chart-card.soil .analysis-last-point{fill:#3c8754}.analysis-scale-label{z-index:2;color:#788882;background:#ffffffd1;border-radius:4px;padding:2px 4px;font-size:6px;position:absolute;left:7px}.analysis-scale-label.top{top:5px}.analysis-scale-label.bottom{bottom:5px}.analysis-guide-label{z-index:2;background:#ffffffe0;border-radius:5px;width:104px;padding:3px 5px;font-size:6.5px;font-weight:800;position:absolute;right:6px;transform:translateY(-50%)}.analysis-guide-label.maximum,.analysis-guide-label.minimum{color:#b95a47}.analysis-guide-label.optimum{color:#258162}.analysis-guide-label.setpoint{color:#9a6b16;border:1px solid #d2962973}.analysis-chart-footer{color:#7e8d87;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:8px;font-size:7px;display:grid}.analysis-chart-footer strong{color:#5f756d;font-size:7px}.analysis-chart-footer>span:last-child{text-align:right}.analysis-zone-legend{justify-content:center;gap:12px;display:flex}.analysis-zone-legend span{align-items:center;gap:4px;display:inline-flex}.analysis-zone-legend i{border-radius:2px;width:7px;height:7px}.analysis-zone-legend i.optimal{background:#41a97e}.analysis-zone-legend i.attention{background:#e4ae3d}.analysis-zone-legend i.critical{background:#dc6a52}.analysis-chart-empty,.analysis-modal-state{color:#7e8d87;text-align:center;place-items:center;min-height:220px;font-size:9px;display:grid}.analysis-modal-state{border:1px dashed #d5e2dd;border-radius:12px;margin:18px 22px}.analysis-modal-state.error{color:#b9513f}.analysis-threshold-note{background:#eaf5f0;border:1px solid #d6e7df;border-radius:10px;align-items:flex-start;gap:9px;margin:0 22px 20px;padding:11px 13px;display:flex}.analysis-threshold-note>span{color:#24755e;background:#d1eadf;border-radius:50%;flex:0 0 20px;place-items:center;width:20px;height:20px;font-size:9px;font-weight:800;display:grid}.analysis-threshold-note p{color:#587068;margin:1px 0 0;font-size:8px;line-height:1.5}.report-metrics{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:11px;display:grid}.report-metrics article{border:1px solid var(--line);background:#fff;border-radius:11px;padding:14px}.report-metrics small,.report-metrics span,.report-metrics strong{display:block}.report-metrics small{color:var(--muted);font-size:8px}.report-metrics strong{margin-top:5px;font-size:18px}.report-metrics span{color:var(--muted);margin-top:5px;font-size:7px}.report-metrics span.positive{color:#3b8066}.effectiveness-panel,.history-panel{border:1px solid var(--line);background:#fff;border-radius:13px;padding:17px}.effectiveness-panel{margin-bottom:11px}.effectiveness-table{border:1px solid #e5ece9;border-radius:10px;overflow-x:auto}.effectiveness-head,.effectiveness-row{grid-template-columns:1.25fr .65fr .65fr .8fr .8fr 1.55fr;align-items:center;min-width:760px;display:grid}.effectiveness-head{color:#75867f;text-transform:uppercase;background:#f2f6f4;font-size:7px;font-weight:900}.effectiveness-head span,.effectiveness-row span{padding:9px 11px}.effectiveness-row{border-top:1px solid #e8eeeb;font-size:8px}.effectiveness-row .positive{color:#298164;font-weight:800}.effectiveness-note{color:var(--muted);margin:9px 0 0;font-size:7px;line-height:1.45}.history-list{border-top:1px solid #edf1ee;grid-template-columns:repeat(4,1fr);padding-top:14px;display:grid}.history-list>div{padding:0 14px 0 20px;position:relative}.history-list>div+div{border-left:1px solid #edf1ee}.history-list p,.history-list strong,.history-list time{display:block}.history-list time{color:#8a9691;font-size:8px}.history-list strong{margin-top:5px;font-size:9px}.history-list p{color:var(--muted);margin:4px 0 0;font-size:8px;line-height:1.45}.event-dot{background:#3d9b8b;border-radius:50%;width:9px;height:9px;position:absolute;top:2px;left:2px;box-shadow:0 0 0 3px #e2f1ed}.event-dot.warning{background:#d39c37;box-shadow:0 0 0 3px #faefd6}.event-dot.sensor{background:#718ec2;box-shadow:0 0 0 3px #e5ebf6}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0e2a248c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.settings-modal{background:#fff;border-radius:16px;width:min(640px,100%);max-height:calc(100vh - 40px);padding:22px;overflow-y:auto;box-shadow:0 24px 70px #0d29234d}.settings-header{justify-content:space-between;align-items:flex-start;display:flex}.settings-header h2{margin:0;font-size:19px}.settings-header button{cursor:pointer;color:#62716c;background:#edf2ef;border:0;border-radius:8px;width:32px;height:32px;font-size:20px}.settings-intro{color:var(--muted);margin:9px 0 20px;font-size:10px;line-height:1.5}.settings-modal label{border-top:1px solid #edf1ee;padding:13px 0;display:block}.settings-modal label span{justify-content:space-between;font-size:10px;display:flex}.settings-modal label strong{color:var(--green)}.settings-modal label>small{color:var(--muted);margin:5px 0 8px;font-size:8px;display:block}.settings-modal .automation-setting-toggle span{align-items:center}.settings-modal .automation-setting-toggle input{width:34px;height:18px;accent-color:var(--green);cursor:pointer}.settings-mode-selector{border-top:1px solid #edf1ee;padding:13px 0}.settings-mode-selector>span{font-size:10px}.settings-mode-selector>div{background:#edf3f0;border-radius:10px;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;padding:4px;display:grid}.settings-mode-selector button{color:#64766f;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:32px;font-size:8px;font-weight:900}.settings-mode-selector button.active{color:#fff;background:#247e6b}.settings-mode-selector small{color:var(--muted);margin-top:7px;font-size:8px;display:block}.setpoint-range-stack{gap:11px;margin-bottom:7px;display:grid}.setpoint-range-card{background:#f9fcfb;border:1px solid #dce8e3;border-radius:13px;padding:14px}.setpoint-range-card>header{grid-template-columns:38px 1fr auto;align-items:center;gap:10px;display:grid}.setpoint-range-card>header>span{background:#f9e9e3;border-radius:11px;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.setpoint-range-card.humidity>header>span{background:#e5f2f8}.setpoint-range-card.conductivity>header>span{background:#fff3d8}.setpoint-range-card.soil>header>span{background:#e6f3e8}.setpoint-range-card>header small,.setpoint-range-card>header strong{display:block}.setpoint-range-card>header strong{font-size:12px}.setpoint-range-card>header small{color:var(--muted);margin-top:3px;font-size:8px}.setpoint-range-card>header b{color:#24755f;white-space:nowrap;background:#e7f3ef;border-radius:999px;padding:6px 9px;font-size:9px}.setpoint-range-control{grid-template-columns:1fr 1fr;gap:14px;margin-top:12px;display:grid}.settings-modal .setpoint-range-card label{border:0;padding:0;display:block}.settings-modal .setpoint-range-card label span{color:#667972;justify-content:space-between;align-items:center;gap:8px;font-size:8px;display:flex}.settings-modal .setpoint-range-card label strong{color:var(--ink);font-size:12px}.setpoint-range-card input[type=range]{accent-color:#4db6ad;cursor:pointer;width:100%;margin:9px 0 0}.setpoint-range-spectrum{grid-template-columns:1fr 1.35fr 1fr;gap:5px;margin-top:10px;display:grid}.setpoint-range-spectrum span{color:#86958f;text-align:center;min-height:7px;padding-top:11px;font-size:7px;position:relative}.setpoint-range-spectrum span:before{content:"";background:#d87563;border-radius:999px;height:6px;position:absolute;inset:0 0 auto}.setpoint-range-spectrum span:nth-child(2):before{background:#3aa37d}.setpoint-range-spectrum span:nth-child(3):before{background:#d29a32}.settings-note{color:#286d5e;background:#eaf4f0;border-radius:9px;align-items:center;gap:9px;margin-top:10px;padding:10px;display:flex}.settings-note span{font-weight:800}.settings-note p{margin:0;font-size:9px;line-height:1.4}.settings-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.live-data-banner{background:#f3f6fc;border:1px solid #cfdcf5;border-radius:10px;grid-template-columns:auto minmax(150px,1fr) auto auto;align-items:center;gap:14px;margin-top:10px;padding:12px 14px;display:grid}.live-data-banner.reference{background:linear-gradient(110deg,#f8faf7,#f1f5f2);border-color:#d9dfd5}.live-data-banner.stale{background:#faf5e8;border-color:#e1cf9f}.live-data-banner strong{font-size:9px;display:block}.live-data-banner p{color:#687791;margin:3px 0 0;font-size:8px}.live-data-values{align-items:stretch;gap:7px;display:flex}.live-metric-card{box-sizing:border-box;background:#fff;border:1px solid #dce5f7;border-radius:9px;align-items:flex-start;gap:8px;min-width:182px;padding:8px 10px;display:flex}.live-metric-card.out-of-range{background:#fff4f2;border:3px solid #d92d20;padding:6px 8px;box-shadow:0 0 0 2px #d92d202e,0 0 20px #d92d2033}.live-metric-card i{background:#eef3fc;border-radius:8px;place-items:center;width:28px;height:28px;font-size:15px;font-style:normal;display:grid}.live-metric-card.humidity i{background:#e9f4fb}.live-metric-card.soil i{background:#edf6ed}.live-metric-card small{color:#77849c;white-space:nowrap;margin-bottom:3px;font-size:7px;display:block}.live-metric-card strong{color:#304c83;font-size:13px}.live-metric-card.humidity strong{color:#317493}.live-metric-card.soil strong{color:#39734a}.live-metric-card p{color:#73827c;white-space:nowrap;margin:4px 0 0;font-size:7px}.live-metric-card p b{color:#4c665d}.live-metric-card em{border-radius:999px;margin-top:5px;padding:2px 5px;font-size:6.5px;font-style:normal;font-weight:800;display:inline-block}.live-metric-card em.optimal{color:#27765c;background:#ddf2e8}.live-metric-card em.attention{color:#b42318;background:#ffe4e1;border:1px solid #f04438;padding:4px 7px;font-size:9px;font-weight:950}.live-data-actions{justify-items:end;gap:6px;display:grid}.setpoint-save-status{color:#1f7458;white-space:nowrap;background:#e2f5ec;border:1px solid #68ae91;border-radius:999px;align-items:center;padding:4px 7px;font-size:7.5px;font-weight:900;display:inline-flex}.setpoint-summary-button{color:#7c5918;cursor:pointer;background:#fff5db;border:1px solid #d2a044;border-radius:8px;padding:7px 9px;font-size:8px;font-weight:800}.live-dot,.live-pulse{background:#4c75bd;border-radius:50%;width:8px;height:8px;animation:mqtt-pulse 1.8s ease-out infinite;box-shadow:0 0 0 4px #4c75bd24}.live-pulse.reference{background:#d49b31;animation:none;box-shadow:0 0 0 4px #d49b3124}.live-pulse.stale{background:#d6a340;animation:none;box-shadow:0 0 0 4px #d6a34024}@keyframes mqtt-pulse{50%{box-shadow:0 0 0 7px #4c75bd00}}.hivemq-panel-host.background{display:none}.integration-layout{grid-template-columns:minmax(0,1.38fr) minmax(310px,.82fr);align-items:start;gap:12px;display:grid}.integration-card{padding:20px}.integration-heading{border-bottom:1px solid #edf1ee;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding-bottom:17px;display:grid}.integration-logo{color:#fff;background:linear-gradient(145deg,#3d4f95,#6978bd);border-radius:13px;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 7px 18px #4653972e}.integration-logo span{letter-spacing:.4px;font-size:11px;font-weight:900}.integration-heading h2,.payload-card h2{margin:0;font-size:16px}.integration-heading p:not(.eyebrow),.payload-card>p:not(.eyebrow){color:var(--muted);margin:4px 0 0;font-size:9px;line-height:1.5}.connection-pill{color:#697771;white-space:nowrap;background:#edf1ef;border-radius:20px;align-items:center;gap:6px;padding:6px 9px;font-size:8px;font-weight:800;display:inline-flex}.connection-pill i{background:#9aa6a1;border-radius:50%;width:7px;height:7px}.connection-pill.connected{color:#35775d;background:#e2f1e9}.connection-pill.connected i{background:#3c9b75;box-shadow:0 0 0 3px #3c9b7521}.connection-pill.connecting,.connection-pill.reconnecting{color:#8d671c;background:#fff1d7}.connection-pill.connecting i,.connection-pill.reconnecting i{background:#d49b31;animation:mqtt-pulse 1.2s ease-out infinite}.connection-pill.error{color:#a14e3f;background:#f9e5e1}.connection-pill.error i{background:#c65d49}.integration-form{grid-template-columns:1fr 1fr;gap:13px 11px;margin-top:18px;display:grid}.integration-form label{gap:6px;display:grid}.integration-form label>span{color:#405b54;font-size:9px;font-weight:800}.integration-form input{width:100%;min-width:0;height:39px;color:var(--ink);background:#fbfdfc;border:1px solid #cedbd6;border-radius:9px;outline:0;padding:0 11px;font-size:9px}.integration-form input:focus{border-color:#4b998c;box-shadow:0 0 0 3px #4b998c1c}.integration-form input:disabled{color:#63716d;background:#f1f4f2}.integration-form input::placeholder{color:#9aa7a2}.integration-form label small{color:#83918c;font-size:7px;line-height:1.45}.full-field{grid-column:1/-1}.integration-actions{justify-content:space-between;align-items:center;gap:14px;min-height:40px;padding-top:3px;display:flex}.integration-actions p{color:#64746e;margin:0;font-size:8px;line-height:1.45}.integration-actions button{flex:none}.credential-note{background:#f0f5f3;border-radius:9px;align-items:flex-start;gap:10px;margin-top:17px;padding:11px 12px;display:flex}.credential-note>span{width:26px;height:26px;color:var(--green);background:#fff;border-radius:7px;flex:0 0 26px;place-items:center;font-weight:800;display:grid}.credential-note strong{font-size:8px;display:block}.credential-note p{color:#71807b;margin:3px 0 0;font-size:7px;line-height:1.45}.integration-side{gap:12px;display:grid}.payload-card pre{color:#cbe8dc;background:#172d29;border-radius:9px;margin:13px 0 10px;padding:13px;font:8px/1.65 Consolas,monospace;overflow-x:auto}.topic-example{gap:4px;display:grid}.topic-example small{color:var(--muted);font-size:7px}.topic-example code{overflow-wrap:anywhere;color:#405a91;background:#edf1fb;border-radius:7px;padding:7px 8px;font-size:7px}.messages-card .panel-heading>span{min-width:24px;height:24px;color:var(--green);background:#e9f1ee;border-radius:50%;place-items:center;font-size:8px;font-weight:800;display:grid}.message-empty{text-align:center;color:#87948f;align-content:center;justify-items:center;gap:7px;min-height:82px;display:grid}.message-empty span{font-size:17px}.message-empty p{max-width:230px;margin:0;font-size:8px;line-height:1.45}.mqtt-messages{margin-top:9px}.mqtt-messages>div{border-top:1px solid #edf1ee;grid-template-columns:auto 1fr;align-items:start;gap:9px;padding:9px 0;display:grid}.mqtt-messages .live-dot{width:6px;height:6px;margin:4px 2px 0}.mqtt-messages small,.mqtt-messages strong{display:block}.mqtt-messages strong{font-size:8px}.mqtt-messages p{color:#667670;margin:3px 0;font-size:7px;line-height:1.4}.mqtt-messages small{color:#9aa49f;font-size:7px}.connection-limit{color:#796d50;background:#fbf6e9;border:1px solid #e8d9b6;border-radius:9px;align-items:flex-start;gap:9px;padding:10px 12px;display:flex}.connection-limit>span{background:#fff;border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:8px;font-weight:800;display:grid}.connection-limit p{margin:0;font-size:7px;line-height:1.5}.app-shell.dark-theme{--ink:#eef8f4;--muted:#9db3ab;--green:#55c9ab;--green-dark:#091a17;--mint:#19352e;--line:#2b4840;--cream:#0c1715;--amber:#f0ba58;--red:#ef7c67;color-scheme:dark;color:var(--ink);background:radial-gradient(circle at 88% 0,#17352f 0,#0c1815 34%,#091310 100%)}.dark-theme .content{background:0 0}.dark-theme .sidebar{background:linear-gradient(#0c201c,#081713);border-right:1px solid #24443b;box-shadow:14px 0 40px #00000029}.dark-theme .brand-mark{background:linear-gradient(145deg,#f5c667,#dca342);box-shadow:0 7px 20px #e6b95b2e}.dark-theme .nav-label{color:#63847a}.dark-theme .nav-item{color:#b9d0c8}.dark-theme .nav-item.active,.dark-theme .nav-item:hover{color:#f4fbf8;background:#183d35}.dark-theme .operator{border-color:#28483f}.dark-theme .eyebrow{color:#d0ad68}.dark-theme .icon-button,.dark-theme .theme-toggle{color:#dcece6;background:#172a26;border-color:#315149;box-shadow:0 6px 18px #00000026}.dark-theme .icon-button:hover,.dark-theme .theme-toggle:hover{background:#1b342e;border-color:#4d8b7b}.dark-theme .theme-toggle span{color:#ffd270;background:#283a2e}.dark-theme .icon-button b{border-color:#0c1815}.dark-theme .text-button{color:#68d3b8}.dark-theme .primary-button{color:#061713;background:#3eaa8d;border-color:#4bb899}.dark-theme .alert-item button,.dark-theme .confirm-box button,.dark-theme .location-button,.dark-theme .secondary-button{color:#bfe9dc;background:#192d28;border-color:#36554d}.dark-theme .history-count,.dark-theme .mode-pill{color:#72d5bb;background:#193a31}.dark-theme :is(.system-card,.panel,.windy-panel,.plot-card,.context-strip,.sensor-summary article,.climate-advice article,.rules-grid article,.alert-summary article,.alert-item,.telemetry-history,.report-metrics article,.history-panel,.settings-modal,.schedule-toolbar){background:linear-gradient(150deg,#172a26,#12221e);border-color:#2a4740;box-shadow:0 10px 28px #00000029}.dark-theme .plot-card:hover{border-color:#4b8879;transform:translateY(-1px)}.dark-theme .plot-card.selected{border-color:#5ac7aa;box-shadow:0 0 0 2px #5ac7aa26,0 12px 30px #0003}.dark-theme .decision-banner{background:linear-gradient(120deg,#2b2a1f,#24261f);border-color:#66582f}.dark-theme .decision-copy p:not(.eyebrow){color:#c3baa1}.dark-theme .decision-mark{background:#e9b54f;box-shadow:0 0 24px #e9b54f33}.dark-theme .weather-strip{background:linear-gradient(120deg,#292a21,#20261f);border-color:#544a30}.dark-theme :is(.weather-main small,.weather-stat small,.forecast small){color:#b8ad8e}.dark-theme .forecast,.dark-theme .weather-stat{border-color:#514b38}.dark-theme .sun{color:#ffc45c;text-shadow:0 0 22px #ffc45c40}.dark-theme .weather-advisor.clear{background:linear-gradient(120deg,#153129,#172a26);border-color:#315a4e}.dark-theme .weather-advisor.watch{background:linear-gradient(120deg,#2d2a1e,#26271f);border-color:#625331}.dark-theme .weather-advisor.rain{background:linear-gradient(120deg,#142a32,#172a2f);border-color:#31566a}.dark-theme .weather-advisor.loading,.dark-theme .weather-advisor.unavailable{background:linear-gradient(150deg,#172a26,#12221e);border-color:#2a4740}.dark-theme .weather-advisor-orb{background:#ffffff0e;box-shadow:0 9px 24px #0003}.dark-theme .weather-advisor-copy>p:not(.eyebrow){color:#a8beb6}.dark-theme .weather-advisor-location{color:#84cbb8}.dark-theme .weather-advisor-probability>strong{color:#6dd5b8}.dark-theme .weather-advisor.watch .weather-advisor-probability>strong{color:#f0c467}.dark-theme .weather-advisor.rain .weather-advisor-probability>strong{color:#73c9ec}.dark-theme .weather-advisor-metrics small,.dark-theme .weather-advisor-probability>span{color:#9db3ab}.dark-theme .weather-advisor-metrics{background:#ffffff06;border-color:#315048}.dark-theme .weather-advisor-metrics>span+span{border-color:#315048}.dark-theme .weather-advisor-decision.clear strong{color:#75d8ba}.dark-theme .weather-advisor-decision.watch strong{color:#f0c467}.dark-theme .weather-advisor-decision.rain strong{color:#ff9985}.dark-theme .weather-advisor-cta{color:#75d8ba}.dark-theme .live-data-banner{background:linear-gradient(110deg,#11251f,#172d28);border-color:#2e594e;box-shadow:inset 0 1px #ffffff06,0 10px 28px #00000024}.dark-theme .live-data-banner.reference{background:linear-gradient(110deg,#22271f,#182a25);border-color:#4b4935}.dark-theme .live-data-banner.stale{background:linear-gradient(110deg,#29271c,#25271e);border-color:#66562e}.dark-theme .live-data-banner p{color:#91aaa2}.dark-theme .live-data-values{gap:9px}.dark-theme .live-metric-card{background:#1b302b;border-color:#34564d;border-radius:11px;gap:10px;min-width:142px;padding:10px 12px;box-shadow:inset 0 1px #ffffff09}.dark-theme .live-metric-card i{color:#ffad6d;background:#ff985321;border-radius:12px;width:42px;height:42px;font-size:22px;box-shadow:0 0 18px #ff985314}.dark-theme .live-metric-card.humidity i{background:#50bee521;box-shadow:0 0 18px #50bee514}.dark-theme .live-metric-card.soil i{background:#68cf7e21;box-shadow:0 0 18px #68cf7e14}.dark-theme .live-metric-card small{color:#9db1aa;font-size:8px}.dark-theme .live-metric-card strong{color:#ffad6d;font-size:16px}.dark-theme .live-metric-card.humidity strong{color:#65c9e9}.dark-theme .live-metric-card.soil strong{color:#83d98f}.dark-theme .live-metric-card p{color:#94aba3}.dark-theme .live-metric-card p b{color:#d8e8e2}.dark-theme .live-metric-card em.optimal{color:#78d6b9;background:#183c31}.dark-theme .live-metric-card.out-of-range{background:#381c1c;border-color:#ff4d4f;box-shadow:0 0 0 2px #ff4d4f3d,0 0 24px #ff4d4f47}.dark-theme .live-metric-card em.attention{color:#ffb3b4;background:#5a2021;border-color:#ff6b6d}.dark-theme .setpoint-save-status{color:#82dfbf;background:#173b30;border-color:#3d8f72}.dark-theme .setpoint-button,.dark-theme .setpoint-summary-button{color:#f2c66d;background:#342d1d;border-color:#8d7137}.dark-theme .live-dot,.dark-theme .live-pulse{background:#62d5b5;box-shadow:0 0 0 4px #62d5b524}.dark-theme .climate-advice article>span,.dark-theme .metric-symbol,.dark-theme .rule-icon,.dark-theme .system-card .system-icon{filter:saturate(1.25)}.dark-theme .system-icon.water{color:#62c9e9;background:#4ab0d324}.dark-theme .system-icon.flow,.dark-theme .system-icon.pump{color:#65d2b2;background:#4ec7a324}.dark-theme .system-icon.pressure{color:#b99ae9;background:#a984e626}.dark-theme .system-icon.sensors{color:#f5c66a;background:#f0ba5824}.dark-theme .system-icon.mqtt{color:#9badf2;background:#778fea26}.dark-theme .battery,.dark-theme .mini-bar,.dark-theme .progress,.dark-theme .system-card .mini-bar{background:#263e37}.dark-theme .connection-pill.connected,.dark-theme .health.good,.dark-theme .status.good{color:#75d7b5;background:#193d32}.dark-theme .health.live,.dark-theme .status.live{color:#91b6ff;background:#202f4d}.dark-theme .connection-pill.connecting,.dark-theme .connection-pill.reconnecting,.dark-theme .health.warning,.dark-theme .status.warning{color:#f0c467;background:#43371e}.dark-theme .connection-pill.error,.dark-theme .status.danger{color:#ff9c88;background:#472721}.dark-theme .info-note,.dark-theme .maintenance-card,.dark-theme .next-rules span,.dark-theme .settings-note{color:#7cd4bc;background:#19362f;border-color:#2f5047}.dark-theme .water-budget-percent.normal strong{color:#69d4b8}.dark-theme .water-budget-percent.warning strong{color:#f0c467}.dark-theme .water-budget-percent.danger strong{color:#ff917c}.dark-theme .water-budget-labels,.dark-theme .water-budget-stats small,.dark-theme .water-budget-summary span{color:#9db3ab}.dark-theme .water-budget-labels strong{color:#c0d4cd}.dark-theme .tank-reserve-track,.dark-theme .water-budget-track{background:#263e37;box-shadow:inset 0 1px 3px #00000040}.dark-theme .water-budget-track.normal>span{background:linear-gradient(90deg,#49a98f,#70dbbd);box-shadow:0 0 14px #69d4b829}.dark-theme .water-budget-track.warning>span{background:linear-gradient(90deg,#e3b84f,#f0c467);box-shadow:0 0 14px #f0c46729}.dark-theme .water-budget-track.danger>span{background:linear-gradient(90deg,#df745e,#ff917c);box-shadow:0 0 14px #ff917c29}.dark-theme .tank-reserve,.dark-theme .water-budget-stats,.dark-theme .water-budget-stats>div+div{border-color:#2d4a43}.dark-theme .tank-reserve-heading span,.dark-theme .tank-reserve-scale,.dark-theme .water-risk-legend{color:#9db3ab}.dark-theme .tank-reserve-track.full>span{background:linear-gradient(90deg,#55bad9,#77cbed)}.dark-theme .tank-reserve-track.normal>span{background:linear-gradient(90deg,#49a98f,#70dbbd)}.dark-theme .tank-reserve-track.warning>span{background:linear-gradient(90deg,#e3b84f,#f0c467)}.dark-theme .tank-reserve-track.danger>span{background:linear-gradient(90deg,#df745e,#ff917c)}.dark-theme .water-budget-insight{color:#a9c1b8}.dark-theme .water-budget-insight.normal strong,.dark-theme .water-budget-insight.normal>span{color:#75d8ba}.dark-theme .water-budget-insight.warning strong,.dark-theme .water-budget-insight.warning>span{color:#f0c467}.dark-theme .water-budget-insight.danger strong,.dark-theme .water-budget-insight.danger>span{color:#ff917c}.dark-theme :is(.info-note,.rule-note,.maintenance-card)>span{color:#75d8ba;background:#234239}.dark-theme :is(.info-note,.rule-note,.maintenance-card) p{color:#9db7ae}.dark-theme .confirm-box,.dark-theme .recommendation,.dark-theme .rule-note{background:#2c2a1f;border-color:#5d5030}.dark-theme .recommendation.safe{background:#18332b}.dark-theme .confirm-box p,.dark-theme .recommendation p{color:#bdb39a}.dark-theme .irrigation-summary,.dark-theme .safety-checks span{color:#a9c1b8;border-color:#2d4a43}.dark-theme .automation-hero{background:linear-gradient(120deg,#16332b,#172a26);border-color:#31564c}.dark-theme .automation-hero.checking{border-color:#4da5ee;box-shadow:0 0 0 3px #4da5ee2b}.dark-theme .rules-grid em{color:#79d8b8;background:#1d4035}.dark-theme .automation-simulation-note,.dark-theme .hydraulic-simulation-lock{color:#9dd0fa;background:#132e45;border-color:#285f8c}.dark-theme .automation-physical-note{color:#e4c678;background:#332b19;border-color:#6b5528}.dark-theme .automation-physical-note.ready{color:#83d7be;background:#17372f;border-color:#2f6958}.dark-theme .automation-zone-card{background:#142720;border-color:#2e4941}.dark-theme .automation-zone-card.selected{border-color:#4a9f88}.dark-theme .automation-zone-card.running{border-color:#459de7}.dark-theme .automation-zone-reading{background:#1b322b}.dark-theme .automation-zone-card header b.ready,.dark-theme .automation-zone-reading em.live{color:#8ed8bf;background:#1b4035}.dark-theme .automation-zone-card header b.pending,.dark-theme .automation-zone-reading em.reference{color:#e4c678;background:#3a301a}.dark-theme .automation-check-count{color:#9dd0fa;background:#153752}.dark-theme .automation-rules article.checking,.dark-theme .automation-rules article.passed{background:#132e45;border-color:#459de7}.dark-theme .automation-blocked,.dark-theme .automation-rules article.failed{color:#ffaea3;background:#40211e;border-color:#e36d5e}.dark-theme .automation-complete{color:#a6d7fb;background:#15344d;border-color:#4ba5e9}.dark-theme .automation-simulation-banner{background:linear-gradient(120deg,#132f47,#172d3d);border-color:#459de7}.dark-theme .automation-simulation-banner.complete{background:linear-gradient(120deg,#16362d,#192f29);border-color:#48b68f}.dark-theme .simulation-lot-progress span{color:#9eb2ab;border-color:#3b554e}.dark-theme .simulation-lot-progress span.active{color:#a7d9ff;background:#153b59;border-color:#459de7}.dark-theme .simulation-lot-progress span.done{color:#8ed8bf;background:#1a3a31;border-color:#3c806b}.dark-theme .context-strip>div+div,.dark-theme .forecast,.dark-theme .history-list>div+div,.dark-theme .irrigation-summary span+span,.dark-theme .plot-metrics span+span,.dark-theme .weather-stat{border-color:#2b4640}.dark-theme .data-table{border-color:#2b4840}.dark-theme .node-distribution-panel,.dark-theme .sensor-network-heading{background:#142720;border-color:#2d4b43}.dark-theme .sensor-view-tabs{background:#203a33}.dark-theme .sensor-view-tabs button{color:#9eb5ad}.dark-theme .sensor-view-tabs button.active{color:#071b15;background:#3aa183}.dark-theme .node-distribution-panel>header{background:linear-gradient(110deg,#192f29,#142720);border-color:#2b4740}.dark-theme .node-topology-map{background:radial-gradient(circle at 50% 7%,#41ae8b1c,#0000 27%),linear-gradient(#1c342d 1px,#0000 0) 0 0/22px 22px,linear-gradient(90deg,#1c342d 1px,#0000 0) 0 0/22px 22px}.dark-theme .topology-gateway{background:#163129;border-color:#36685a;box-shadow:0 9px 23px #0003}.dark-theme .topology-gateway.offline{background:#1c2925;border-color:#3d4f49}.dark-theme .topology-trunk span{background:#142720}.dark-theme .topology-lot{background:#132720f5;border-color:#315249}.dark-theme .topology-lot.receiving{border-color:#356b5b}.dark-theme .topology-lot.unassigned{border-color:#69572b}.dark-theme .topology-lot>header{border-color:#2c4941}.dark-theme .topology-lot>header>b{color:#78d7ba;background:#1b4035}.dark-theme .topology-node{color:#dcefe8;background:#172c26;border-color:#315048}.dark-theme .topology-node:hover{border-color:#4d957e}.dark-theme .topology-node-main>i{background:#1d4337}.dark-theme .topology-node-main>i:before{color:#82d6ba}.dark-theme .topology-node.warning{background:#302a1c;border-color:#66562e}.dark-theme .topology-node.warning .topology-node-main>i{background:#493a1d}.dark-theme .topology-node.offline{background:#1b2723;border-color:#34463f}.dark-theme .topology-node.offline .topology-node-main>i{background:#283832}.dark-theme .topology-node.offline .topology-node-main>i:before{color:#91a29c}.dark-theme .topology-live-values>span{background:#20342e}.dark-theme .topology-live-values .optimal{color:#83d8bb;background:#18392f;border-color:#326552}.dark-theme .topology-live-values .low{color:#9fd3f0;background:#193445;border-color:#315c75}.dark-theme .topology-live-values .high{color:#efc66e;background:#3b301b;border-color:#70582b}.dark-theme .topology-live-values .missing{color:#8fa099;background:#263630}.dark-theme .topology-parameter-key{background:#142720e6;border-color:#315048}.dark-theme .topology-empty{color:#7f958d;border-color:#344d45}.dark-theme .sensor-lot-card{background:linear-gradient(150deg,#192e28,#13241f);border-color:#2d4b43;box-shadow:0 10px 28px #0000002e}.dark-theme .sensor-lot-card.unassigned{border-color:#69572b}.dark-theme .sensor-lot-heading{border-color:#2b4740}.dark-theme .sensor-lot-heading>b{color:#9caea8;background:#263a35}.dark-theme .sensor-lot-heading>b.online{color:#79d7ba;background:#1b4035}.dark-theme .sensor-lot-heading>b.warning{color:#efc466;background:#40351d}.dark-theme .sensor-node-card{background:#142721;border-color:#2d4b43}.dark-theme .sensor-node-card.online{border-color:#356455}.dark-theme .sensor-node-card.warning{border-color:#66562e}.dark-theme .sensor-node-card.offline{background:#17231f;border-color:#34463f}.dark-theme .sensor-node-measurements>span{background:#1a302a}.dark-theme .sensor-lot-empty>span{color:#9db2aa;background:#1d342d}.dark-theme .plot-node-badges{border-color:#2b4740}.dark-theme .plot-node-badges span{color:#78d7ba;background:#1b4035}.dark-theme .plot-node-badges span.offline{color:#9eada8;background:#293a35}.dark-theme .history-range,.dark-theme .layer-switcher,.dark-theme .table-head{color:#91a9a0;background:#1d332d}.dark-theme .history-list,.dark-theme .integration-heading,.dark-theme .mqtt-messages>div,.dark-theme .settings-modal label,.dark-theme .table-row,.dark-theme .valve-list>div{border-color:#2b4640}.dark-theme .integration-form input,.dark-theme .place-search-control{color:#e8f3ef;background:#10231f;border-color:#34524a}.dark-theme .integration-form input:disabled{color:#82948e;background:#1a2b27}.dark-theme .integration-form label>span,.dark-theme .place-search>label{color:#bad0c8}.dark-theme .location-button:hover:not(:disabled){background:#1e3932;border-color:#519b89}.dark-theme .telemetry-chart-card{background:linear-gradient(150deg,#1b302b,#142620);border-color:#2d4b43}.dark-theme .hydraulic-panel{background:#13241f;border-color:#2d4b43;box-shadow:0 16px 42px #00000040}.dark-theme .pump-command-banner{color:#9dd8c3;background:#172f29;border-color:#31564c}.dark-theme .pump-command-banner.publishing,.dark-theme .pump-command-banner.waiting{color:#a6d7fb;background:#153550;border-color:#367db5}.dark-theme .pump-command-banner.confirmed{color:#91d9c0;background:#17382f;border-color:#3e8f73}.dark-theme .pump-command-banner.error{color:#ffaca1;background:#40211e;border-color:#a9473d}.dark-theme .hydraulic-heading{background:linear-gradient(145deg,#172b26,#12231f);border-color:#2b4740}.dark-theme .hydraulic-heading>div:first-child>p:last-child{color:#92a9a1}.dark-theme .hydraulic-diagram-actions button{color:#9bc5b7;background:#183028;border-color:#3b5b52}.dark-theme .hydraulic-diagram-actions button.active{color:#84ddbe;background:#1d4336;border-color:#51ae8e}.dark-theme .hydraulic-diagram-actions button.calculate{color:#f3f9ff;background:#17659d;border-color:#398dcc}.dark-theme .engineering-simulation-panel{background:#132a34;border-color:#397bab}.dark-theme .engineering-simulation-panel>header{background:#173542;border-color:#31586e}.dark-theme .engineering-simulation-panel>header h3{color:#a6d6ef}.dark-theme .engineering-simulation-panel>header button{color:#afd4e4;background:#193541;border-color:#42687a}.dark-theme .engineering-simulation-panel.compatible{background:#142a22;border-color:#3b8d70}.dark-theme .engineering-simulation-panel.compatible>header{background:#19372d;border-color:#315d4d}.dark-theme .engineering-simulation-panel.compatible>header h3{color:#8cddbd}.dark-theme .engineering-simulation-panel.incompatible{background:#321d1a;border-color:#9a4b42}.dark-theme .engineering-simulation-panel.incompatible>header{background:#3c231f;border-color:#6c3933}.dark-theme .engineering-simulation-panel.incompatible>header h3{color:#ffaaa0}.dark-theme .engineering-simulation-steps span{color:#98aaa4;background:#263a35}.dark-theme .engineering-simulation-steps i{background:#354b45}.dark-theme .engineering-simulation-steps span.active{color:#92cdf2;background:#183c53}.dark-theme .engineering-simulation-steps span.active i{background:#287fbd}.dark-theme .engineering-simulation-steps span.done{color:#86d5b8;background:#1d4033}.dark-theme .engineering-simulation-steps span.done i{background:#318d6b}.dark-theme .engineering-pump-recommendation,.dark-theme .engineering-result-metrics article+article,.dark-theme .engineering-simulation-result{border-color:#304b43}.dark-theme .engineering-pump-recommendation em,.dark-theme .engineering-pump-recommendation p,.dark-theme .engineering-result-metrics em{color:#91a79f}.dark-theme .engineering-pump-recommendation>span{color:#82dab9;background:#1e4838}.dark-theme .engineering-simulation-panel.incompatible .engineering-pump-recommendation>span{color:#ff9e93;background:#552a25}.dark-theme .hydraulic-mode{color:#a5b9b2;background:#1b302b;border-color:#38534c}.dark-theme .hydraulic-mode.live{color:#76d4b6;background:#183a30;border-color:#356557}.dark-theme .hydraulic-mode.simulation{color:#9dd0fa;background:#153752;border-color:#367cb4}.dark-theme .hydraulic-system-state.stopped{color:#a1b3ad;background:#243630}.dark-theme .hydraulic-system-state.flowing{color:#75dab9;background:#194034}.dark-theme .hydraulic-canvas{background-color:#0f201b;background-image:radial-gradient(circle at 1px 1px,#76a39521 1px,#0000 0)}.dark-theme .hydraulic-segment-editor{background:#132a23fa;border-color:#36594f}.dark-theme .hydraulic-inline-zone-editor label,.dark-theme .hydraulic-node-input,.dark-theme .hydraulic-segment-editor label{color:#abc0b8}.dark-theme .hydraulic-inline-zone-editor input,.dark-theme .hydraulic-inline-zone-editor label>div,.dark-theme .hydraulic-inline-zone-editor select,.dark-theme .hydraulic-node-input input,.dark-theme .hydraulic-node-input>div,.dark-theme .hydraulic-segment-editor input,.dark-theme .hydraulic-segment-editor label>div,.dark-theme .hydraulic-segment-editor select{color:#e7f2ee;background:#10231f;border-color:#36544b}.dark-theme .hydraulic-inline-zone-editor em,.dark-theme .hydraulic-node-input em,.dark-theme .hydraulic-segment-editor em{color:#9eb1aa;background:#1d342d;border-color:#3a574e}.dark-theme .hydraulic-inline-zone-editor{border-color:#2e4941}.dark-theme .hydraulic-device,.dark-theme .hydraulic-valve-device{background:linear-gradient(150deg,#1c322c,#162a25);border-color:#35554d;box-shadow:0 9px 25px #00000038}.dark-theme .hydraulic-device small,.dark-theme .valve-heading small{color:#8fa59d}.dark-theme .hydraulic-device em,.dark-theme .hydraulic-pump p{color:#9bb0a9}.dark-theme .tank-visual{background:#203b3e;border-color:#68858a;box-shadow:inset 0 0 0 3px #ffffff06}.dark-theme .tank-visual:before{background:#284348;border-color:#68858a}.dark-theme .tank-visual b{color:#c7effa;text-shadow:0 1px #0e282e}.dark-theme .hydraulic-filter>span{color:#77b8a6;background:#253f38}.dark-theme .hydraulic-pump.on{border-color:#50b493;box-shadow:0 0 0 3px #50b4931c,0 10px 30px #0000003d}.dark-theme .pump-rotor{color:#a0b2ac;background:#263a35;border-color:#637a73}.dark-theme .hydraulic-pump.on .pump-rotor{color:#7ce0be;background:#1e4639;border-color:#55bd9b}.dark-theme .device-led{background:#61736d;box-shadow:0 0 0 4px #253832}.dark-theme .hydraulic-manifold>span{color:#73bfd7;background:#263d43}.dark-theme .hydraulic-switch{background:#11241f;border-color:#39554d}.dark-theme .hydraulic-switch button{color:#93a79f}.dark-theme .hydraulic-switch button:hover:not(:disabled){background:#253d36}.dark-theme .hydraulic-switch button.active.on{color:#f1fffa;background:#32a47e;box-shadow:0 0 13px #32a47e3b}.dark-theme .hydraulic-switch button.active.off{color:#c2d1cc;box-shadow:none;background:#2a3e38}.dark-theme .valve-wheel{color:#a6b5b0;background:#263934;border-color:#5f746e}.dark-theme .hydraulic-zone.flowing .valve-wheel,.dark-theme .hydraulic-zone.open .valve-wheel{color:#7be0bd;background:#1d4638;border-color:#53ba98}.dark-theme .hydraulic-zone.flowing .hydraulic-valve-device,.dark-theme .hydraulic-zone.open .hydraulic-valve-device{border-color:#4e9e85}.dark-theme .hydraulic-field{background:linear-gradient(150deg,#182b22,#14251f);border-color:#314b3f}.dark-theme .hydraulic-zone.flowing .hydraulic-field{background:linear-gradient(150deg,#173325,#1a3928);border-color:#4d9e6b}.dark-theme .field-icon{color:#71b97b;background:#263d2c}.dark-theme .hydraulic-zone.flowing .field-icon{color:#77d58a;background:#20492c}.dark-theme .hydraulic-field small{color:#8da18e}.dark-theme .hydraulic-field em{color:#91a69f}.dark-theme .hydraulic-field>b{color:#9baca6;background:#293a34}.dark-theme .hydraulic-field>b.active{color:#7bda9a;background:#1f4933}.dark-theme .hydraulic-footer{background:#142620;border-color:#2b4740}.dark-theme .hydraulic-footer>div+div{border-color:#2b4740}.dark-theme .hydraulic-footer em,.dark-theme .hydraulic-footer small{color:#90a59e}.dark-theme .hydraulic-footer-icon.pressure{color:#bd9eea;background:#a984e626}.dark-theme .hydraulic-footer-icon.flow{color:#67cae9;background:#50bee524}.dark-theme .hydraulic-footer-icon.valves{color:#70d6b8;background:#4ec7a324}.dark-theme .hydraulic-footer-icon.source{color:#9caff3;background:#778fea26}.dark-theme .hydraulic-safety-note{color:#9fc0b5;background:#17342b;border-color:#315047}.dark-theme .hydraulic-safety-note>span{color:#7bd9b9;background:#23483b}.dark-theme .hydraulic-designer{background:#13241f;border-color:#2d4b43;box-shadow:0 16px 42px #00000040}.dark-theme .hydraulic-designer-heading{background:linear-gradient(145deg,#172b26,#12231f);border-color:#2b4740}.dark-theme .hydraulic-designer-heading>div:first-child>p:last-child{color:#92a9a1}.dark-theme .hydraulic-designer-actions span{color:#74bba5}.dark-theme .hydraulic-add-zone,.dark-theme .hydraulic-designer-actions button{color:#83d3b9;background:#19342c;border-color:#3b5e54}.dark-theme .hydraulic-add-zone:hover,.dark-theme .hydraulic-designer-actions button:hover{background:#204238;border-color:#55a68d}.dark-theme .hydraulic-engineering-note{color:#9ccddd;background:#142f39;border-color:#315c6d}.dark-theme .hydraulic-engineering-note>span{color:#a5d9e8;background:#204855}.dark-theme .hydraulic-distance-summary{background:#142720;border-color:#304c44}.dark-theme .hydraulic-distance-summary>header{background:#1a302a;border-color:#2e4941}.dark-theme .hydraulic-distance-summary>header>strong{color:#78d4b7}.dark-theme .hydraulic-distance-summary article+article{border-color:#2e4941}.dark-theme .hydraulic-distance-summary article>span{color:#75d4b7;background:#203f35}.dark-theme .hydraulic-distance-summary em,.dark-theme .hydraulic-distance-summary small{color:#91a79f}.dark-theme .hydraulic-design-sections details{background:#162923;border-color:#304c44}.dark-theme .hydraulic-design-sections summary>span{color:#75d4b7;background:#203f35}.dark-theme .hydraulic-design-sections summary small{color:#91a79f}.dark-theme .hydraulic-design-sections summary>b{color:#75c7ae}.dark-theme .hydraulic-design-sections details[open] summary{background:#1a302a;border-color:#2e4941}.dark-theme .hydraulic-input{color:#aec1ba}.dark-theme .hydraulic-input input,.dark-theme .hydraulic-input select,.dark-theme .hydraulic-input>div{color:#e7f2ee;background:#10231f;border-color:#345149}.dark-theme .hydraulic-input>div em{color:#9eb1aa;background:#1d342d;border-color:#38544c}.dark-theme .hydraulic-input>small{color:#8da199}.dark-theme .hydraulic-pipe-editor h4{color:#a7c1b8}.dark-theme .hydraulic-zone-editor{background:#13251f;border-color:#304d45}.dark-theme .hydraulic-zone-editor>header{border-color:#2e4941}.dark-theme .hydraulic-zone-editor>header span{color:#75d4b7;background:#203f35}.dark-theme .hydraulic-zone-editor>header small{color:#91a79f}.dark-theme .hydraulic-zone-editor>header button{color:#ff9e93;background:#402420}.dark-theme .hydraulic-zone-editor .hydraulic-pipe-editor{background:#182d27}.dark-theme .hydraulic-verdict{background:#17382f;border-color:#356958}.dark-theme .hydraulic-verdict>span{color:#7cdbba;background:#204b3d}.dark-theme .hydraulic-verdict div>p:last-child,.dark-theme .hydraulic-verdict>em{color:#9db7ae}.dark-theme .hydraulic-verdict>em{background:#081a1566}.dark-theme .hydraulic-verdict.warning{background:#302b1d;border-color:#6a5a2e}.dark-theme .hydraulic-verdict.warning>span{color:#f2c25b;background:#503d1d}.dark-theme .hydraulic-verdict.incompatible{background:#3a211e;border-color:#80433c}.dark-theme .hydraulic-verdict.incompatible>span{color:#ff9e93;background:#582923}.dark-theme .hydraulic-checks article,.dark-theme .hydraulic-result-grid,.dark-theme .hydraulic-zone-results{border-color:#304c44}.dark-theme .hydraulic-checks article,.dark-theme .hydraulic-result-grid article{background:#162923}.dark-theme .hydraulic-result-grid article+article{border-color:#2e4941}.dark-theme .hydraulic-checks article>span,.dark-theme .hydraulic-result-grid article>span{color:#75d4b7;background:#203f35}.dark-theme .hydraulic-checks article p,.dark-theme .hydraulic-result-grid em,.dark-theme .hydraulic-result-grid small{color:#92a79f}.dark-theme .hydraulic-checks article.danger{background:#38221f;border-color:#79433c}.dark-theme .hydraulic-checks article.danger>span{color:#ff9e93;background:#542b26}.dark-theme .hydraulic-checks article.info{background:#142e38;border-color:#315b6c}.dark-theme .hydraulic-checks article.info>span{color:#9bd4e5;background:#204754}.dark-theme .hydraulic-result-row.heading,.dark-theme .hydraulic-zone-results>header{color:#9aafa7;background:#1a302a;border-color:#2e4941}.dark-theme .hydraulic-result-row small,.dark-theme .hydraulic-zone-results>header>span{color:#91a79f}.dark-theme .hydraulic-result-row+.hydraulic-result-row{border-color:#2c463f}.dark-theme .hydraulic-result-row b.ok{color:#7bdbb8;background:#1f4939}.dark-theme .hydraulic-result-row b.danger{color:#ff9e93;background:#522925}.dark-theme .hydraulic-method-note{background:#172b25;border-color:#2e4941}.dark-theme .hydraulic-method-note strong{color:#a8c1b8}.dark-theme .hydraulic-method-note p{color:#91a79f}.dark-theme .pump-safety-alert{color:#f0c66c;background:#302b1d;border-color:#66552c #66552c #66552c #e1aa3b;box-shadow:0 9px 24px #0003}.dark-theme .pump-safety-alert>span{color:#f2c25b;background:#503d1d}.dark-theme .pump-safety-alert p{color:#c7b17f}.dark-theme .pump-safety-alert button{color:#dec680;background:#3a3322;border-color:#62522f}.dark-theme .pump-details-callout{color:#75d8b9}.dark-theme .pump-details-modal{color:#e7f2ee;background:#10211c;border-color:#315048;box-shadow:0 38px 115px #00000094}.dark-theme .pump-modal-footer,.dark-theme .pump-modal-header{background:#0f1f1bf7;border-color:#2d4942}.dark-theme .pump-modal-icon{color:#a7b8b2;background:#243a34;border-color:#61756e}.dark-theme .pump-modal-icon.on{color:#79debb;background:#1d4438;border-color:#52ba98}.dark-theme .pump-modal-footer>div:first-child span,.dark-theme .pump-modal-header p:not(.eyebrow){color:#93a8a1}.dark-theme .pump-modal-state{color:#a7b8b2;background:#263a34}.dark-theme .pump-modal-state.on{color:#78dab8;background:#1d4437}.dark-theme .pump-modal-close,.dark-theme .pump-modal-footer>button{color:#b3c6bf;background:#1a302a;border-color:#355149}.dark-theme .pump-modal-warning{color:#f0c66c;background:#302b1d;border-color:#66552c}.dark-theme .pump-modal-warning>span{color:#f2c25b;background:#503d1d}.dark-theme .pump-modal-warning p{color:#c7b17f}.dark-theme .pump-characteristics article,.dark-theme .pump-maintenance-progress,.dark-theme .pump-pressure-card{background:linear-gradient(150deg,#1a2f29,#142620);border-color:#2d4a42}.dark-theme .pump-config-editor{background:#152a24;border-color:#356052}.dark-theme .pump-config-editor>header{background:#1a352d;border-color:#315347}.dark-theme .pump-config-editor>header>span{color:#7bdabb;background:#20493b}.dark-theme .pump-config-grid label{color:#afc4bc}.dark-theme .pump-config-grid input,.dark-theme .pump-config-grid label>div{color:#e7f2ee;background:#10231e;border-color:#38564d}.dark-theme .pump-config-grid label>div em{color:#a1b5ae;background:#1d342d;border-color:#3a584f}.dark-theme .pump-config-editor>p{color:#91a79f;border-color:#315047}.dark-theme .pressure-legend,.dark-theme .pump-card-title small,.dark-theme .pump-characteristics em,.dark-theme .pump-characteristics small,.dark-theme .pump-maintenance-progress>div:last-child{color:#91a69f}.dark-theme .pump-card-title>span.optimal{color:#78d7b7;background:#1e4437}.dark-theme .pump-card-title>span.attention{color:#efc267;background:#43371f}.dark-theme .manometer-face{background:radial-gradient(circle at center,#182d27 0 52%,transparent 53%),conic-gradient(from 220deg,#b85f50 0 17%,#bd9445 17% 39%,#3c9470 39% 59%,#bd9445 59% 79%,#b85f50 79% 100%);border-color:#263f37;box-shadow:inset 0 0 0 8px #182d27,0 14px 31px #00000047}.dark-theme .manometer-face:after{border-color:#345048}.dark-theme .manometer-center{background:#2c5145;border-color:#d9e8e3}.dark-theme .manometer-face>em,.dark-theme .manometer-face>small{color:#91a69f}.dark-theme .pump-stat-icon.flow{color:#67cae9;background:#50bee524}.dark-theme .pump-stat-icon.volume{color:#9baff2;background:#778fea26}.dark-theme .pump-stat-icon.time{color:#efc56b;background:#e7b55024}.dark-theme .pump-stat-icon.load{color:#bd9ee9;background:#a984e626}.dark-theme .pump-stat-icon.service{color:#70d5b7;background:#4ec7a324}.dark-theme .pump-stat-icon.next{color:#efa273;background:#eb8c5924}.dark-theme .pump-maintenance-track{background:#263e37}.dark-theme .telemetry-chart-heading>span{background:#ff945321;border-radius:12px;width:42px;height:42px;font-size:21px}.dark-theme .telemetry-chart-card.humidity .telemetry-chart-heading>span{background:#50bee521}.dark-theme .telemetry-chart-card.conductivity .telemetry-chart-heading>span{background:#f0b84e24}.dark-theme .telemetry-chart-card.soil .telemetry-chart-heading>span{background:#68cf7e21}.dark-theme .telemetry-chart-heading strong{color:#ffad70}.dark-theme .telemetry-chart-card.humidity .telemetry-chart-heading strong{color:#65c9e9}.dark-theme .telemetry-chart-card.conductivity .telemetry-chart-heading strong{color:#f0c467}.dark-theme .telemetry-chart-card.soil .telemetry-chart-heading strong{color:#83d98f}.dark-theme .telemetry-chart-heading p b{color:#c3d5cf}.dark-theme .telemetry-target-summary{color:#9cb5ac;background:#1b3830}.dark-theme .telemetry-target-summary strong{color:#75d5b8}.dark-theme .telemetry-chart-plot line{stroke:#29433c}.dark-theme .telemetry-chart-plot .telemetry-optimal-band{fill:#4ec2911c}.dark-theme .telemetry-chart-plot .telemetry-setpoint-line{stroke:#f0b84e}.dark-theme .telemetry-chart-card .telemetry-chart-plot path{stroke:#ff986a;filter:drop-shadow(0 0 4px #ff986a42)}.dark-theme .telemetry-chart-card.humidity .telemetry-chart-plot path{stroke:#59c3e5;filter:drop-shadow(0 0 4px #59c3e540)}.dark-theme .telemetry-chart-card.conductivity .telemetry-chart-plot path{stroke:#f0b84e;filter:drop-shadow(0 0 4px #f0b84e40)}.dark-theme .telemetry-chart-card.soil .telemetry-chart-plot path{stroke:#73d18a;filter:drop-shadow(0 0 4px #73d18a40)}.dark-theme .chart-max,.dark-theme .chart-min{color:#90a79f;background:#12241fe6}.dark-theme .telemetry-history-state{border-color:#35534b}.dark-theme .open-analysis-button{color:#79d8bd;background:#193a31;border-color:#3f9f88}.dark-theme .open-analysis-button:hover{background:#21483d}.dark-theme .telemetry-analysis-modal{color:#e5f1ed;background:#0f1f1b;border-color:#315048;box-shadow:0 34px 110px #0000008f}.dark-theme .telemetry-analysis-header{background:#0f1f1bf5;border-color:#2d4942}.dark-theme .telemetry-analysis-header>div>p:not(.eyebrow){color:#91a69f}.dark-theme .analysis-close{color:#aac1b8;background:#1a302a;border-color:#34534b}.dark-theme .telemetry-analysis-toolbar{background:#142621;border-color:#2d4942}.dark-theme .analysis-live-status strong{color:#70d5b8}.dark-theme .analysis-live-status small{color:#8ba29a}.dark-theme .analysis-range{background:#1d332d}.dark-theme .analysis-download{color:#061713;background:#3da187;border-color:#49ad93}.dark-theme .analysis-download:disabled{color:#7c8d87;background:#3d504a;border-color:#3d504a}.dark-theme .analysis-chart-card{background:linear-gradient(150deg,#192e28,#13241f);border-color:#2d4b43;box-shadow:0 10px 28px #0003}.dark-theme .analysis-chart-title>span{background:#ff945321}.dark-theme .analysis-chart-card.humidity .analysis-chart-title>span{background:#50bee521}.dark-theme .analysis-chart-card.conductivity .analysis-chart-title>span{background:#f0b84e24}.dark-theme .analysis-chart-card.soil .analysis-chart-title>span{background:#68cf7e21}.dark-theme .analysis-chart-title p,.dark-theme .analysis-stat-row small{color:#8fa69e}.dark-theme .analysis-signal{color:#78d8b9;background:#1b4035}.dark-theme .analysis-signal.attention{color:#f0c467;background:#40351d}.dark-theme .analysis-signal.critical{color:#ff9c88;background:#472721}.dark-theme .analysis-current{background:#193b31}.dark-theme .analysis-current small{color:#96ada5}.dark-theme .analysis-current.optimal em,.dark-theme .analysis-current.optimal strong{color:#74d8b7}.dark-theme .analysis-current.attention{background:#40351d}.dark-theme .analysis-current.attention em,.dark-theme .analysis-current.attention strong{color:#f0c467}.dark-theme .analysis-current.critical{background:#472721}.dark-theme .analysis-current.critical em,.dark-theme .analysis-current.critical strong{color:#ff9c88}.dark-theme .analysis-stat-row>span{background:#172a25;border-color:#2d4942}.dark-theme .analysis-stat-row>span.actual{background:#183a30;border-color:#356455}.dark-theme .analysis-stat-row>span.actual.attention{background:#302b1d;border-color:#66562e}.dark-theme .analysis-stat-row>span.actual.critical{background:#38221f;border-color:#79433c}.dark-theme .analysis-chart-meta{color:#92aaa2}.dark-theme .analysis-chart-meta i{background:#48be8b61}.dark-theme .analysis-chart-meta span:last-child{color:#e8b64e}.dark-theme .analysis-chart-canvas{background:#10211d;border-color:#2d4942}.dark-theme .analysis-chart-canvas .zone-optimal{fill:#48be8b21}.dark-theme .analysis-chart-canvas .zone-attention{fill:#e8b7491a}.dark-theme .analysis-chart-canvas .zone-critical{fill:#e3674f1a}.dark-theme .analysis-grid-line{stroke:#8baa9f2e}.dark-theme .analysis-series-path{stroke:#ff986a;filter:drop-shadow(0 0 4px #ff986a3d)}.dark-theme .analysis-chart-card.humidity .analysis-series-path{stroke:#59c3e5;filter:drop-shadow(0 0 4px #59c3e53d)}.dark-theme .analysis-chart-card.conductivity .analysis-series-path{stroke:#f0b84e;filter:drop-shadow(0 0 4px #f0b84e3d)}.dark-theme .analysis-chart-card.soil .analysis-series-path{stroke:#73d18a;filter:drop-shadow(0 0 4px #73d18a3d)}.dark-theme .analysis-guide-label,.dark-theme .analysis-scale-label{background:#10211de0}.dark-theme .analysis-chart-footer,.dark-theme .analysis-scale-label{color:#8ca39b}.dark-theme .analysis-chart-footer strong{color:#a8beb6}.dark-theme .analysis-guide-label.maximum,.dark-theme .analysis-guide-label.minimum{color:#ff9d88}.dark-theme .analysis-guide-label.optimum{color:#78d8b9}.dark-theme .analysis-modal-state{border-color:#35534b}.dark-theme .analysis-threshold-note{background:#18332b;border-color:#315048}.dark-theme .analysis-threshold-note>span{color:#78d8b9;background:#23473d}.dark-theme .analysis-threshold-note p{color:#99b1a8}.dark-theme .settings-header button{color:#b8ccc5;background:#213b34}.dark-theme .setpoint-range-card{background:#142721;border-color:#2e4b43}.dark-theme .setpoint-range-card>header>span{background:#ff945321}.dark-theme .setpoint-range-card.humidity>header>span{background:#50bee521}.dark-theme .setpoint-range-card.conductivity>header>span{background:#f0b84e24}.dark-theme .setpoint-range-card.soil>header>span{background:#68cf7e21}.dark-theme .setpoint-range-card>header b{color:#7bd7ba;background:#1b4035}.dark-theme .settings-modal .setpoint-range-card label span{color:#92a9a1}.dark-theme .settings-modal .setpoint-range-card label strong{color:#e8f2ee}.dark-theme .credential-note{background:#1a302a}.dark-theme .credential-note>span{background:#244139}.dark-theme .credential-note p,.dark-theme .integration-actions p,.dark-theme .mqtt-messages p{color:#97aea6}.dark-theme .topic-example code{color:#a7bafa;background:#1c2942}.dark-theme .messages-card .panel-heading>span{background:#1d3a32}.dark-theme .connection-limit{color:#c0b48f;background:#2b2a20;border-color:#5b5032}.dark-theme .connection-limit>span{background:#3b3827}.dark-theme .windy-location{color:#dcece6;background:#10251fe6}.dark-theme .windy-state.error{color:#ffa28d;background:#422720}@media (prefers-reduced-motion:no-preference){.app-shell,.icon-button,.live-metric-card,.panel,.plot-card,.system-card,.theme-toggle{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}}@media (prefers-reduced-motion:reduce){.engineering-simulation-steps span.active i,.hydraulic-distributor i,.hydraulic-pipe i,.weather-advisor-loader,.weather-advisor-orb i,.weather-advisor-orb>span,.weather-advisor-probability i{animation:none}}@media (max-width:1180px){.hydraulic-distance-summary>div{grid-template-columns:repeat(3,minmax(0,1fr))}.hydraulic-distance-summary article:nth-child(4){border-left:0}.hydraulic-distance-summary article:nth-child(n+4){border-top:1px solid #e3ebe8}.dark-theme .hydraulic-distance-summary article:nth-child(n+4){border-color:#2e4941}.live-data-banner{grid-template-columns:auto 1fr}.live-data-actions,.live-data-values{grid-column:2}.live-data-values{flex-wrap:wrap}.live-data-actions{grid-auto-flow:column;justify-content:start;justify-items:start}.system-grid{grid-template-columns:repeat(3,1fr)}.plot-grid{grid-template-columns:repeat(2,1fr)}.weather-strip{grid-template-columns:repeat(4,1fr)}.forecast{border-left:0;grid-column:1/-1;padding-left:0}.control-layout{grid-template-columns:1fr}.irrigation-panel{position:static}.rules-grid{grid-template-columns:repeat(2,1fr)}.integration-layout{grid-template-columns:1fr}.integration-side{grid-template-columns:1fr 1fr}.connection-limit{grid-column:1/-1}}@media (max-width:840px){.sidebar{width:218px}.content{width:calc(100% - 218px);margin-left:218px;padding-inline:22px}.decision-banner{flex-direction:column;align-items:flex-start}.equipment-grid,.lower-grid,.summary-grid,.wide-chart{grid-template-columns:1fr}.system-grid{grid-template-columns:repeat(2,1fr)}.alert-summary,.climate-advice,.sensor-lot-grid,.sensor-summary{grid-template-columns:1fr}.sensor-lot-card.unassigned{grid-column:auto}.report-metrics{grid-template-columns:repeat(2,1fr)}.history-list{grid-template-columns:1fr 1fr;gap:14px}.history-list>div:nth-child(3){border-left:0}.telemetry-chart-grid{grid-template-columns:1fr}.telemetry-history-toolbar{flex-direction:column}.telemetry-history-controls{justify-content:space-between;width:100%}.telemetry-analysis-toolbar{grid-template-columns:1fr auto}.analysis-live-status{grid-column:1/-1}.weather-advisor{grid-template-columns:72px minmax(220px,1fr) 145px}.weather-advisor-metrics{grid-template-columns:repeat(3,1fr)}.weather-advisor-metrics>span:nth-child(4){border-top:1px solid #64897e2e;border-left:0}.weather-advisor-metrics>span:nth-child(5),.weather-advisor-metrics>span:nth-child(6){border-top:1px solid #64897e2e}.hydraulic-heading{flex-direction:column;align-items:flex-start}.hydraulic-heading-status{justify-content:flex-start;width:100%}.hydraulic-diagram-actions{width:100%}.engineering-simulation-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.hydraulic-footer{grid-template-columns:1fr 1fr}.hydraulic-footer>div:nth-child(3){border-left:0}.hydraulic-footer>div:nth-child(n+3){border-top:1px solid #e0e9e5}.dark-theme .hydraulic-footer>div:nth-child(n+3){border-color:#2b4740}.pump-modal-body{grid-template-columns:1fr}.pump-pressure-card{grid-template-columns:1fr 240px;align-items:center;display:grid}.pressure-legend,.pump-card-title{grid-column:1}.pump-manometer{grid-area:1/2/span 2}}@media (max-width:680px){.sidebar{display:none}.content{width:100%;margin-left:0;padding:20px 14px 88px}.mobile-nav{z-index:40;background:#173c34fa;grid-template-columns:repeat(6,1fr);height:66px;padding:6px 5px 7px;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -8px 25px #16332d26}.mobile-nav button{color:#b9cec7;background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:7px;display:flex}.mobile-nav button span{font-size:15px}.mobile-nav button.active{color:#fff;background:#28564c}.topbar{align-items:flex-start}.last-update{display:none}h1{font-size:22px}.page-content{margin-top:18px}.decision-actions{width:100%}.decision-actions button{flex:1}.automation-zone-grid,.plot-grid,.report-metrics,.rules-grid,.system-grid{grid-template-columns:1fr}.system-card{min-height:96px}.weather-strip{grid-template-columns:1fr 1fr}.weather-stat{border-left:0;padding-left:0}.forecast{grid-column:1/-1}.windy-heading{flex-direction:column;align-items:flex-start}.windy-actions{flex-direction:column;align-items:stretch;width:100%}.location-button{width:100%}.place-search{grid-template-columns:1fr;gap:6px;margin-top:3px}.place-search>small{line-height:1.4}.layer-switcher{width:100%}.layer-switcher button{flex:1}.windy-map-wrap{height:390px}.context-strip{grid-template-columns:1fr 1fr;gap:10px 0;display:grid}.context-strip span:nth-child(3){border-left:0}.control-layout .plot-grid,.control-layout .system-grid{grid-template-columns:1fr}.control-layout .system-card:nth-child(n+3){display:none}.automation-hero,.schedule-toolbar{flex-direction:column;align-items:flex-start}.automation-hero button,.schedule-toolbar button{width:100%}.equipment-gauge{grid-template-columns:1fr;justify-items:center}.equipment-gauge dl{width:100%}.alert-item{flex-wrap:wrap;align-items:flex-start}.alert-item button{margin-left:40px}.history-list{grid-template-columns:1fr}.history-list>div+div{border-top:1px solid #edf1ee;border-left:0;padding-top:14px}.history-list>div+div .event-dot{top:16px}.telemetry-history{padding:14px}.telemetry-history-toolbar{flex-direction:column}.telemetry-history-controls{flex-direction:column;align-items:stretch}.open-analysis-button,.setpoint-button{justify-content:center}.history-range{width:100%}.history-range button{flex:1}.telemetry-history-footer{flex-direction:column;align-items:flex-start}.telemetry-analysis-backdrop{align-items:stretch;padding:0}.telemetry-analysis-modal{border-radius:0;width:100%;max-height:100vh}.telemetry-analysis-header{padding:16px 14px 13px}.telemetry-analysis-header h2{font-size:17px}.telemetry-analysis-toolbar{grid-template-columns:1fr;padding:12px 14px}.analysis-download,.analysis-live-status,.analysis-range{grid-column:1;width:100%}.analysis-download{min-height:36px}.analysis-chart-stack{padding:14px}.analysis-chart-card{padding:13px}.analysis-chart-title{grid-template-columns:auto 1fr auto}.analysis-stat-row{grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-chart-canvas{height:140px}.analysis-guide-label{width:92px;font-size:6px}.analysis-chart-footer{grid-template-columns:1fr auto 1fr}.analysis-zone-legend{order:3;grid-area:2/1/auto/-1}.analysis-threshold-note{margin:0 14px 16px}.modal-backdrop{align-items:end;padding:0}.settings-modal{border-radius:16px 16px 0 0}.setpoint-range-control{grid-template-columns:1fr;gap:11px}.setpoint-range-card>header{grid-template-columns:34px 1fr}.setpoint-range-card>header>span{width:34px;height:34px}.setpoint-range-card>header b{grid-column:1/-1;justify-self:start}.live-data-banner{grid-template-columns:auto 1fr}.live-data-actions,.live-data-values{grid-column:2;justify-self:start}.live-data-values{flex-wrap:wrap}.live-data-actions{grid-auto-flow:row}.live-metric-card{min-width:min(100%,220px)}.integration-heading{grid-template-columns:auto 1fr;align-items:start}.connection-pill{grid-column:1/-1;justify-self:start}.integration-form{grid-template-columns:1fr}.integration-form .full-field,.integration-form label{grid-column:1}.integration-actions{flex-direction:column;align-items:stretch}.integration-actions button{width:100%}.integration-side{grid-template-columns:1fr}.connection-limit{grid-column:auto}.weather-advisor{grid-template-columns:58px minmax(0,1fr);grid-template-areas:"orb copy""probability probability""metrics metrics""cta cta";gap:14px;padding:16px}.weather-advisor-orb{border-radius:17px;width:56px;height:56px}.weather-advisor-orb>span{font-size:28px}.weather-advisor-orb i{top:40px}.weather-advisor-orb i:first-of-type{left:17px}.weather-advisor-orb i:nth-of-type(2){left:27px}.weather-advisor-orb i:nth-of-type(3){left:37px}.weather-advisor-copy h2{font-size:18px}.weather-advisor-probability{text-align:left}.weather-advisor-probability>div{max-width:240px}.weather-advisor-metrics{grid-template-columns:1fr 1fr}.weather-advisor-metrics>span:nth-child(odd){border-left:0}.weather-advisor-metrics>span:nth-child(n+3){border-top:1px solid #64897e2e}.weather-advisor-cta{justify-self:start}.hydraulic-heading{padding:17px 15px 14px}.hydraulic-heading-status{align-items:stretch;width:100%}.hydraulic-heading-status>span{flex:1;justify-content:center}.hydraulic-diagram-actions{grid-template-columns:1fr;display:grid}.hydraulic-diagram-actions button{width:100%}.engineering-simulation-panel{margin:11px 13px 0}.engineering-simulation-panel>header{flex-direction:column;align-items:flex-start}.engineering-simulation-panel>header button{width:100%}.engineering-simulation-steps{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.engineering-result-metrics{grid-template-columns:1fr}.engineering-result-metrics article+article{border-top:1px solid #dce8e3;border-left:0}.dark-theme .engineering-result-metrics article+article{border-color:#304b43}.engineering-pump-recommendation{align-items:flex-start}.hydraulic-canvas{padding:20px 14px}.hydraulic-footer{grid-template-columns:1fr}.hydraulic-footer>div+div{border-top:1px solid #e0e9e5;border-left:0}.dark-theme .hydraulic-footer>div+div{border-color:#2b4740}.hydraulic-safety-note{align-items:flex-start;padding:12px 14px}.pump-safety-alert{grid-template-columns:30px 1fr auto;margin:10px 13px 0}.pump-modal-backdrop{align-items:end;padding:0}.pump-details-modal{border-radius:18px 18px 0 0;width:100%;max-height:96vh}.pump-modal-header{grid-template-columns:auto 1fr auto;padding:14px}.pump-modal-state{grid-column:2;justify-self:start}.pump-modal-close{grid-area:1/3}.pump-modal-body{padding:13px}.pump-pressure-card{padding:13px;display:block}.pump-config-grid{grid-template-columns:1fr}.pump-config-grid label.wide{grid-column:1}.pump-characteristics{grid-template-columns:1fr}.pump-characteristics article{min-height:91px}.pump-maintenance-progress{margin:0 13px 13px}.pump-modal-footer{grid-template-columns:1fr;padding:12px 13px}.pump-modal-footer .hydraulic-switch,.pump-modal-footer>button{width:100%}}.app-shell :is(.health,.status,.consumption-bars small,.plot-metrics small,.table-head,.table-row small,.safety-checks span,.irrigation-summary small,.water-estimate,.rules-grid em,.equipment-gauge>div small,.alert-summary small,.alert-item div small,.telemetry-chart-heading small,.telemetry-chart-heading p,.chart-max,.chart-min,.telemetry-chart-axis,.telemetry-history-footer,.report-metrics span,.live-metric-card small,.integration-form label small,.credential-note p,.topic-example small,.topic-example code,.mqtt-messages p,.mqtt-messages small,.connection-limit p){font-size:12px}.app-shell :is(.nav-label,.nav-item b,.icon-button b,.theme-toggle em,.mode-pill,.history-count,.system-icon.mqtt,.system-card small,.system-card p,.system-card button,.next-rules span,.weather-stat small,.forecast small,.location-button,.place-search>label,.place-search-control button,.place-search>small,.layer-switcher button,.windy-location,.plot-top small,.moisture-row small,.context-strip span,.threshold,.valve,.y-labels,.x-labels,.sensor-summary small,.sensor-summary p,.info-note p,.rule-note p,.maintenance-card p,.climate-advice p,.recommendation p,.range-labels,.confirm-box p,.confirm-box button,.schedule-toolbar p,.automation-hero p:not(.eyebrow),.rules-grid p,.equipment-gauge dl div,.valve-list small,.alert-item p,.alert-item button,.history-range button,.telemetry-chart-empty,.telemetry-history-state,.history-list time,.history-list p,.settings-note p,.live-data-banner p,.connection-pill,.integration-form label>span,.integration-form input,.integration-actions p,.credential-note strong,.messages-card .panel-heading>span,.message-empty p,.mqtt-messages strong,.connection-limit>span,.payload-card pre,.mobile-nav button){font-size:13px}.app-shell :is(.brand small,.nav-item,.operator strong,.operator small,.eyebrow,.subtitle,.last-update,.section-heading p,.panel-heading p,.text-button,.primary-button,.secondary-button,.decision-copy p:not(.eyebrow),.next-time span,.weather-main small,.windy-heading p:not(.eyebrow),.place-search-control input,.windy-state small,.plot-top strong,.plot-metrics strong,.soil-profile dl div,.table-row,.climate-advice strong,.recommendation strong,.duration-label,.irrigation-summary strong,.irrigate-button,.confirm-box>strong,.schedule-toolbar strong,.rules-grid strong,.valve-list strong,.alert-summary span,.alert-item strong,.telemetry-history-toolbar>div>p:not(.eyebrow),.telemetry-chart-heading p b,.history-list strong,.settings-intro,.settings-modal label span,.live-data-banner strong,.integration-heading p:not(.eyebrow),.payload-card>p:not(.eyebrow)){font-size:14px}.app-shell :is(.main-nav,.operator strong,.windy-state strong){font-size:15px}.app-shell :is(.section-heading h2,.panel-heading h2,.decision-copy h2,.windy-heading h2,.automation-hero h2){font-size:19px}.app-shell :is(.equipment-gauge dl div,.water-budget-summary span,.water-budget-stats small,.water-budget-insight,.water-risk-legend,.tank-reserve-heading,.tank-reserve-scale){font-size:14px}.app-shell .brand strong{font-size:19px}.app-shell .nav-item{min-height:44px;line-height:1.3}.app-shell .sidebar nav{gap:5px}.app-shell .system-card{min-height:122px;padding-bottom:25px}.app-shell .system-card strong{font-size:16px}.app-shell :is(.weather-stat strong,.forecast span,.duration-label strong,.water-budget-stats strong,.tank-reserve-heading strong){font-size:15px}.app-shell :is(.table-head,.table-row,.equipment-gauge dl div,.valve-list>div,.history-list>div){line-height:1.4}.app-shell .table-head span,.app-shell .table-row>span{padding-block:12px}.app-shell :is(.decision-copy p:not(.eyebrow),.info-note p,.rule-note p,.maintenance-card p,.climate-advice p,.recommendation p,.confirm-box p,.rules-grid p,.alert-item p,.history-list p,.integration-heading p:not(.eyebrow),.payload-card>p:not(.eyebrow),.integration-actions p,.credential-note p,.message-empty p,.mqtt-messages p,.connection-limit p){line-height:1.55}.hydraulic-mobile-flow,.mobile-brand,.mobile-menu-backdrop{display:none}@media (max-width:680px){.content{padding:12px 12px 86px}.mobile-brand{align-items:center;gap:9px;margin-bottom:17px;display:flex}.mobile-brand>span{color:#173b33;background:linear-gradient(145deg,#e2b95e,#b9832f);border-radius:11px;place-items:center;width:36px;height:36px;font-size:17px;font-weight:950;display:grid;box-shadow:0 6px 18px #cd9e4033}.mobile-brand small,.mobile-brand strong{display:block}.mobile-brand strong{color:var(--text);font-size:16px;line-height:1.1}.mobile-brand small{color:var(--muted);margin-top:3px;font-size:10px}.topbar{gap:12px}.topbar>div:first-child{min-width:0}.topbar .subtitle{max-width:235px}.header-actions{flex:none;gap:5px}.theme-toggle{min-width:42px;padding-inline:10px}.theme-toggle em{display:none}.mobile-nav{height:70px;padding:6px max(6px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));border-top:1px solid #82b2a42e;grid-template-columns:repeat(5,1fr)}.mobile-nav button{touch-action:manipulation;gap:3px;min-width:0;min-height:55px;font-weight:700;position:relative;font-size:11px!important}.mobile-nav button span{font-size:18px;line-height:1}.mobile-nav button b{color:#173b33;background:#e3aa4e;border-radius:9px;place-items:center;min-width:16px;height:16px;margin:0;font-size:8px;display:grid;position:absolute;top:4px;left:calc(50% + 9px)}.mobile-menu-backdrop{z-index:80;padding:18px 10px calc(78px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#05120e9e;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-menu-sheet{background:#f8fbf9;border:1px solid #d5e2dd;border-radius:22px;width:100%;max-height:min(660px,100vh - 112px);overflow-y:auto;box-shadow:0 24px 65px #04130e4d}.mobile-menu-sheet header{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fbf9f5;border-bottom:1px solid #e0e9e5;justify-content:space-between;align-items:center;gap:12px;padding:17px 17px 13px;display:flex;position:sticky;top:0}.mobile-menu-sheet h2{margin:2px 0 0;font-size:19px}.mobile-menu-sheet header>button{color:#49635b;cursor:pointer;background:#e8efec;border:0;border-radius:10px;width:36px;height:36px;font-size:23px}.mobile-menu-grid{grid-template-columns:1fr 1fr;gap:9px;padding:13px;display:grid}.mobile-menu-grid>button{min-width:0;min-height:80px;color:var(--text);text-align:left;cursor:pointer;touch-action:manipulation;background:#fff;border:1px solid #d8e4df;border-radius:13px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:12px;display:grid}.mobile-menu-grid>button.active{background:#e8f5f0;border-color:#47b18e;box-shadow:inset 0 0 0 1px #47b18e33}.mobile-menu-grid>button>span{color:#2c8469;background:#e5f0ec;border-radius:10px;place-items:center;width:34px;height:34px;font-size:15px;font-weight:900;display:grid}.mobile-menu-grid small,.mobile-menu-grid strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.mobile-menu-grid strong{font-size:12px}.mobile-menu-grid small{color:var(--muted);margin-top:4px;font-size:9px}.system-grid{scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;margin-inline:-12px;padding:0 12px 6px;display:flex;overflow-x:auto}.system-grid::-webkit-scrollbar{display:none}.system-grid .system-card{scroll-snap-align:center;flex:0 0 min(82vw,320px)}.control-layout .system-grid{display:flex}.report-metrics{grid-template-columns:1fr 1fr}.automation-simulation-banner{grid-template-columns:1fr;align-items:stretch;padding:14px}.simulation-lot-progress{grid-template-columns:1fr 1fr;display:grid}.simulation-lot-progress span{max-width:none}.automation-blocked>button,.automation-complete>button,.automation-simulation-banner>button{width:100%}.automation-blocked,.automation-complete{flex-wrap:wrap;align-items:flex-start}.automation-blocked>div,.automation-complete>div{flex:calc(100% - 50px)}.hydraulic-simulation-lock{align-items:flex-start;margin:11px 13px 0}.hydraulic-canvas{display:none}.hydraulic-mobile-flow{background-color:#f3f8f6;background-image:radial-gradient(circle at 1px 1px,#3a6b5e1a 1px,#0000 0);background-size:20px 20px;padding:14px;display:block}.hydraulic-mobile-source{grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr);align-items:stretch;display:grid}.hydraulic-mobile-flow.editing .hydraulic-mobile-source{grid-template-columns:1fr;gap:8px}.hydraulic-mobile-flow.editing .hydraulic-mobile-connector{display:none}.hydraulic-mobile-pump,.hydraulic-mobile-tank{background:#fffffff5;border:1px solid #cadbd5;border-radius:13px;min-width:0;box-shadow:0 7px 20px #20504314}.hydraulic-mobile-tank{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;padding:11px;display:grid}.hydraulic-mobile-tank .tank-visual{width:38px;height:70px}.hydraulic-mobile-tank em,.hydraulic-mobile-tank small,.hydraulic-mobile-tank strong{display:block}.hydraulic-mobile-pump small,.hydraulic-mobile-tank small{color:#7d8d87;letter-spacing:.6px;font-size:7px;font-weight:800}.hydraulic-mobile-pump strong,.hydraulic-mobile-tank strong{margin-top:3px;font-size:10px}.hydraulic-mobile-pump em,.hydraulic-mobile-tank em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:7px;font-style:normal;display:block;overflow:hidden}.hydraulic-mobile-connector{background:linear-gradient(#b5c6c8,#8da6aa 47%,#748f94 50%,#aebfc1);border:1px solid #8ea8ad;align-self:center;height:12px;position:relative;overflow:hidden}.hydraulic-mobile-connector.flowing{background:linear-gradient(#73cbea,#2da4d1 47%,#187fa9 50%,#5abada);border-color:#339ab8;box-shadow:0 0 12px #2ea7d047}.hydraulic-mobile-pump{padding:10px}.hydraulic-mobile-pump.on{border-color:#55b899;box-shadow:0 0 0 3px #48b8941c,0 8px 22px #297e631f}.hydraulic-mobile-pump>button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:35px minmax(0,1fr) 8px;align-items:center;gap:7px;padding:0;display:grid}.hydraulic-mobile-pump .pump-rotor{width:35px;height:35px}.hydraulic-mobile-pump p{min-height:27px;color:var(--muted);margin:7px 0;font-size:8px;line-height:1.35}.hydraulic-mobile-flow.editing .hydraulic-node-editor.pump{grid-template-columns:1fr}.hydraulic-mobile-pipe-editors{grid-template-columns:1fr 1fr;gap:8px;margin-top:9px;padding:9px}.hydraulic-mobile-line-status,.hydraulic-mobile-pipe-editors{background:#ffffffdb;border:1px solid #d2e0db;border-radius:11px;display:grid}.hydraulic-mobile-line-status{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;margin:14px 0 10px;padding:9px 11px}.hydraulic-mobile-line-status>span{color:#6f8580;background:#e6eeeb;border-radius:9px;place-items:center;width:32px;height:32px;font-size:20px;font-weight:900;display:grid}.hydraulic-mobile-line-status>span.flowing{color:#2487a6;background:#d8eef5}.hydraulic-mobile-line-status small,.hydraulic-mobile-line-status strong{display:block}.hydraulic-mobile-line-status small{color:var(--muted);font-size:7px}.hydraulic-mobile-line-status strong{margin-top:2px;font-size:10px}.hydraulic-mobile-line-status>b{color:#3b7465;font-size:11px}.hydraulic-mobile-zones{gap:9px;display:grid}.hydraulic-mobile-zones>article{background:#fffffff2;border:1px solid #d2dfda;border-radius:13px;padding:11px;box-shadow:0 6px 18px #2050430f}.hydraulic-mobile-zones>article.flowing,.hydraulic-mobile-zones>article.open{border-color:#58b697}.hydraulic-mobile-zone-heading{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.hydraulic-mobile-zone-heading em,.hydraulic-mobile-zone-heading small,.hydraulic-mobile-zone-heading strong{display:block}.hydraulic-mobile-zone-heading small{color:#7f918a;font-size:7px}.hydraulic-mobile-zone-heading strong{margin-top:2px;font-size:11px}.hydraulic-mobile-zone-heading em{color:var(--muted);margin-top:2px;font-size:8px;font-style:normal}.hydraulic-mobile-zone-heading>b{color:#718079;background:#e6ece9;border-radius:12px;padding:5px 7px;font-size:7px}.hydraulic-mobile-zones>article.flowing .hydraulic-mobile-zone-heading>b,.hydraulic-mobile-zones>article.open .hydraulic-mobile-zone-heading>b{color:#267d5c;background:#d6eee3}.hydraulic-mobile-zone-control{border-top:1px solid #e2e9e6;grid-template-columns:minmax(0,1fr) 128px;align-items:center;gap:9px;margin-top:9px;padding-top:9px;display:grid}.hydraulic-mobile-zone-control>span{color:var(--muted);font-size:8px}.hydraulic-mobile-zone-control>span i{margin-right:4px;display:inline-block}.hydraulic-mobile-zone-control .hydraulic-switch{width:128px}.hydraulic-inline-zone-editor.mobile{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:9px}.hydraulic-footer{grid-template-columns:1fr 1fr}.hydraulic-footer>div{min-height:82px;padding:11px}.hydraulic-footer>div:nth-child(odd){border-left:0}.hydraulic-footer>div:nth-child(n+3){border-top:1px solid #e0e9e5}.pump-characteristics{grid-template-columns:1fr 1fr}.pump-characteristics article{align-items:flex-start;min-height:108px;padding:12px 10px}.dark-theme .mobile-menu-sheet{background:#13251f;border-color:#304d45}.dark-theme .mobile-menu-sheet header{background:#13251ff5;border-color:#2b4740}.dark-theme .mobile-menu-sheet header>button{color:#c4d6d0;background:#263e37}.dark-theme .mobile-menu-grid>button{color:#e5f0ec;background:#192d27;border-color:#304c44}.dark-theme .mobile-menu-grid>button.active{background:#1b3b31;border-color:#4fae91}.dark-theme .mobile-menu-grid>button>span{color:#75d4b7;background:#203f35}.dark-theme .hydraulic-mobile-flow{background-color:#0f201b;background-image:radial-gradient(circle at 1px 1px,#76a39521 1px,#0000 0)}.dark-theme .hydraulic-mobile-line-status,.dark-theme .hydraulic-mobile-pump,.dark-theme .hydraulic-mobile-tank,.dark-theme .hydraulic-mobile-zones>article{background:linear-gradient(150deg,#1c322c,#162a25);border-color:#35554d;box-shadow:0 9px 24px #0003}.dark-theme .hydraulic-mobile-pump small,.dark-theme .hydraulic-mobile-tank small{color:#8fa59d}.dark-theme .hydraulic-mobile-pump em,.dark-theme .hydraulic-mobile-pump p,.dark-theme .hydraulic-mobile-tank em,.dark-theme .hydraulic-mobile-zone-control>span,.dark-theme .hydraulic-mobile-zone-heading em{color:#9bb0a9}.dark-theme .hydraulic-mobile-line-status{border-color:#315047}.dark-theme .hydraulic-mobile-pipe-editors{background:#172b25;border-color:#315047}.dark-theme .hydraulic-mobile-line-status>span{color:#9cb0a9;background:#263d36}.dark-theme .hydraulic-mobile-line-status>span.flowing{color:#6fcde9;background:#183c49}.dark-theme .hydraulic-mobile-line-status>b{color:#74cdb3}.dark-theme .hydraulic-mobile-zone-control{border-color:#2e4941}.dark-theme .hydraulic-mobile-zone-heading>b{color:#9baca6;background:#293a34}.dark-theme .hydraulic-mobile-zones>article.flowing .hydraulic-mobile-zone-heading>b,.dark-theme .hydraulic-mobile-zones>article.open .hydraulic-mobile-zone-heading>b{color:#7bda9a;background:#1f4933}.dark-theme .hydraulic-footer>div:nth-child(n+3){border-color:#2b4740}}@media (min-width:841px){.app-shell .sidebar{width:220px;padding:24px 15px 18px}.app-shell .content{width:calc(100% - 220px);margin-left:220px}.app-shell .sidebar nav{gap:7px;margin-top:14px}.app-shell .sidebar .nav-item{min-height:43px}}.home-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 20px;display:grid}.home-action-grid>button{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:#fff;border:1px solid #d7e4df;border-radius:15px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;display:grid;box-shadow:0 8px 24px #1e483d0f}.home-action-grid>button:hover{border-color:#58b598;transform:translateY(-1px);box-shadow:0 12px 28px #1e483d1a}.home-action-icon{color:#28856a;background:#e7f4ef;border-radius:12px;place-items:center;width:42px;height:42px;font-size:17px;font-weight:900;display:grid}.home-action-icon.water{color:#2f8692;background:#e7f4f6}.home-action-icon.pump{color:#a56d19;background:#f7eddc}.home-action-grid p,.home-action-grid small,.home-action-grid strong{display:block}.home-action-grid small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:8px;font-weight:800}.home-action-grid strong{font-size:13px}.home-action-grid p{color:var(--muted);margin:4px 0 0;font-size:9px;line-height:1.45}.home-action-grid em{color:#2e8c70;white-space:nowrap;font-size:9px;font-style:normal;font-weight:900}.telemetry-corner{z-index:60;width:390px;color:var(--text);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8fcfaf7;border:1px solid #bdd8cf;border-radius:17px;position:fixed;top:92px;right:22px;overflow:hidden;box-shadow:0 18px 52px #082a2038}.telemetry-corner-toggle{width:100%;min-height:72px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(92px,1fr) auto auto;align-items:center;gap:11px;padding:12px 14px;display:grid}.telemetry-corner-title small,.telemetry-corner-title strong{display:block}.telemetry-corner-title strong{font-size:14px;line-height:1.2}.telemetry-corner-title small{max-width:135px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;overflow:hidden}.telemetry-corner-values{align-items:center;gap:10px;display:flex}.telemetry-corner-values b{color:#38675b;white-space:nowrap;font-size:10.5px}.telemetry-corner-chevron{color:#38675b;background:#e3efeb;border-radius:9px;place-items:center;width:31px;height:31px;font-size:16px;font-weight:900;display:grid}.telemetry-corner-detail{border-top:1px solid #dce9e4;gap:8px;padding:0 14px 14px;display:grid}.telemetry-corner-row{border-bottom:1px solid #e6efeb;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.telemetry-corner-row>span{background:#edf5f2;border-radius:9px;place-items:center;width:34px;height:34px;font-size:17px;display:grid}.telemetry-corner-row small,.telemetry-corner-row strong{display:block}.telemetry-corner-row small{color:var(--muted);font-size:9px}.telemetry-corner-row strong{margin-top:3px;font-size:14px}.telemetry-corner-row em{color:#28765f;background:#dff2e9;border-radius:999px;padding:5px 8px;font-size:9px;font-style:normal;font-weight:900}.telemetry-corner-row.attention em{color:#b62b22;background:#ffe1dd}.telemetry-corner-time{color:var(--muted);text-align:right;margin:2px 0;font-size:9px}.telemetry-corner-actions{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.telemetry-corner-actions button{color:#315f53;cursor:pointer;background:#f4f8f6;border:1px solid #cdded8;border-radius:9px;padding:9px 6px;font-size:10px;font-weight:850}.pump-state-notice{z-index:90;color:#f4fff9;border:1px solid #0000;border-radius:15px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;min-width:310px;padding:13px 17px;animation:pump-state-notice-in .3s ease-out both;display:grid;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 18px 52px #051d1652}.pump-state-notice.on{background:#156f52f7;border-color:#57d6ac}.pump-state-notice.off{background:#2d3e39f7;border-color:#829b93}.pump-state-notice>span{background:#ffffff24;border-radius:11px;place-items:center;width:38px;height:38px;font-size:17px;display:grid}.pump-state-notice small,.pump-state-notice strong{display:block}.pump-state-notice strong{font-size:15px;line-height:1.2}.pump-state-notice small{color:#f4fff9cc;margin-top:4px;font-size:10px}@keyframes pump-state-notice-in{0%{opacity:0;transform:translate(-50%,-18px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}.dark-theme .home-action-grid>button{background:#142923;border-color:#2c4d44;box-shadow:0 10px 28px #00000029}.dark-theme .home-action-grid>button:hover{border-color:#4cac8d}.dark-theme .telemetry-corner{background:#0d211bf7;border-color:#345b50;box-shadow:0 18px 52px #0000006b}.dark-theme .telemetry-corner-values b{color:#acd0c4}.dark-theme .telemetry-corner-chevron,.dark-theme .telemetry-corner-row>span{color:#9ed3c2;background:#203d34}.dark-theme .telemetry-corner-detail,.dark-theme .telemetry-corner-row{border-color:#29483f}.dark-theme .telemetry-corner-row em{color:#8ed8bf;background:#1b4035}.dark-theme .telemetry-corner-row.attention em{color:#ffaaa5;background:#512523}.dark-theme .telemetry-corner-actions button{color:#b7d5cb;background:#192f29;border-color:#315249}@media (max-width:940px){.home-action-grid{grid-template-columns:1fr}}@media (max-width:680px){.home-action-grid{gap:9px;margin-bottom:16px}.home-action-grid>button{padding:12px}.telemetry-corner{top:calc(70px + env(safe-area-inset-top));width:auto;left:10px;right:10px}.telemetry-corner-toggle{grid-template-columns:auto minmax(76px,1fr) auto auto;min-height:64px;padding:10px 11px}.telemetry-corner-title small{max-width:90px}.telemetry-corner-values{gap:6px}.telemetry-corner-values b{font-size:9px}.pump-state-notice{top:auto;bottom:calc(78px + env(safe-area-inset-bottom));width:calc(100% - 20px);min-width:0}.theme-toggle em{display:none}}@media (max-width:1180px){.hydraulic-form-grid.compact,.hydraulic-form-grid.four{grid-template-columns:repeat(3,minmax(0,1fr))}.hydraulic-result-grid{grid-template-columns:repeat(3,1fr)}.hydraulic-result-grid article:nth-child(4){border-left:0}.hydraulic-result-grid article:nth-child(n+4){border-top:1px solid #e1e9e6}.dark-theme .hydraulic-result-grid article:nth-child(n+4){border-color:#2e4941}.emitter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:840px){.hydraulic-distance-summary>div{grid-template-columns:repeat(2,minmax(0,1fr))}.hydraulic-distance-summary article:nth-child(4){border-left:1px solid #e3ebe8}.hydraulic-distance-summary article:nth-child(odd){border-left:0}.hydraulic-distance-summary article:nth-child(n+3){border-top:1px solid #e3ebe8}.dark-theme .hydraulic-distance-summary article:nth-child(n+3){border-color:#2e4941}.dark-theme .hydraulic-distance-summary article:nth-child(4){border-left-color:#2e4941}.hydraulic-designer-heading{flex-direction:column}.hydraulic-designer-actions{justify-items:start;width:100%;min-width:0}.hydraulic-form-grid,.hydraulic-form-grid.commercial-pipe-grid,.hydraulic-form-grid.compact,.hydraulic-form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.hydraulic-inline-actions{grid-template-columns:1fr}.hydraulic-inline-actions .hydraulic-add-zone{width:100%}.hydraulic-verdict{grid-template-columns:38px 1fr}.hydraulic-verdict>em{grid-column:2;justify-self:start}.hydraulic-result-grid{grid-template-columns:repeat(2,1fr)}.hydraulic-result-grid article:nth-child(odd){border-left:0}.hydraulic-result-grid article:nth-child(n+3){border-top:1px solid #e1e9e6}.dark-theme .hydraulic-result-grid article:nth-child(n+3){border-color:#2e4941}}@media (max-width:680px){.hydraulic-designer{border-radius:14px}.hydraulic-designer-heading{gap:15px;padding:17px 15px}.hydraulic-designer-actions button{width:100%}.hydraulic-engineering-note{margin:12px 13px 0}.hydraulic-distance-summary{margin:10px 13px 0}.hydraulic-distance-summary>header{flex-direction:column;align-items:flex-start;gap:4px}.hydraulic-distance-summary>div{grid-template-columns:1fr}.hydraulic-distance-summary article+article{border-top:1px solid #e3ebe8;border-left:0}.dark-theme .hydraulic-distance-summary article+article{border-color:#2e4941}.hydraulic-design-sections{padding:12px 13px 15px}.hydraulic-design-sections summary{grid-template-columns:29px minmax(0,1fr);padding:11px}.hydraulic-design-sections summary>b{display:none}.hydraulic-form-grid,.hydraulic-form-grid.commercial-pipe-grid,.hydraulic-form-grid.compact,.hydraulic-form-grid.four{grid-template-columns:1fr;padding:12px}.hydraulic-form-grid.commercial-pipe-grid,.hydraulic-form-grid.compact,.hydraulic-form-grid.four{padding:0}.hydraulic-pipe-editor{padding:12px}.hydraulic-zone-editor-list{padding:12px 10px 4px}.hydraulic-zone-editor{padding:11px}.hydraulic-zone-editor>header{align-items:flex-start}.hydraulic-zone-editor .hydraulic-pipe-editor{padding:10px}.hydraulic-add-zone{width:calc(100% - 20px);margin:8px 10px 12px}.hydraulic-inline-actions{padding:0 10px 12px}.hydraulic-inline-actions .hydraulic-add-zone{width:100%;margin:0}.hydraulic-verdict{grid-template-columns:34px 1fr;gap:9px;margin:0 13px 12px;padding:12px}.hydraulic-verdict>span{width:34px;height:34px}.hydraulic-verdict>em{grid-column:1/-1}.hydraulic-result-grid{grid-template-columns:1fr;margin:0 13px 12px}.hydraulic-result-grid article+article{border-left:0}.hydraulic-result-grid article:nth-child(n+2){border-top:1px solid #e1e9e6}.dark-theme .hydraulic-result-grid article:nth-child(n+2){border-color:#2e4941}.hydraulic-checks{grid-template-columns:1fr}.hydraulic-checks,.hydraulic-zone-results{margin:0 13px 12px}.hydraulic-zone-results>header{flex-direction:column;align-items:flex-start;gap:5px}.hydraulic-method-note{padding:12px 14px 14px}}.pump-datasheet-importer{background:#f7fbf9;border:1px solid #cddfd9;border-radius:14px;margin:15px;overflow:hidden}.pump-datasheet-heading{background:linear-gradient(140deg,#f9fcfb,#edf7f3);border-bottom:1px solid #dbe7e3;justify-content:space-between;align-items:flex-start;gap:20px;padding:16px;display:flex}.pump-datasheet-heading h3{margin:2px 0 0;font-size:16px}.pump-datasheet-heading p:not(.eyebrow){max-width:650px;color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.45}.pump-datasheet-heading>span{color:#57746b;text-align:right;background:#e9f3ef;border-radius:10px;max-width:330px;padding:8px 10px;font-size:9px;font-weight:800}.pump-datasheet-heading>span.reading,.pump-datasheet-heading>span.saving{color:#37788c;background:#e7f4fa}.pump-datasheet-heading>span.saved{color:#267654;background:#dff3e9}.pump-datasheet-heading>span.error{color:#ab4136;background:#fde8e4}.pump-import-options{grid-template-columns:minmax(0,1.55fr) minmax(230px,.65fr);gap:12px;padding:15px;display:grid}.pump-pdf-dropzone{text-align:center;background:#f2faf7;border:2px dashed #9fcbbc;border-radius:13px;align-content:center;place-items:center;gap:7px;min-height:190px;transition:all .18s;display:grid}.pump-pdf-dropzone.dragging{background:#e4f7f0;border-color:#32a47e;transform:translateY(-2px);box-shadow:0 10px 24px #287e621f}.pump-pdf-dropzone>span{color:#27785f;background:#d9eee7;border-radius:12px;place-items:center;width:42px;height:42px;font-size:11px;font-weight:950;display:grid}.pump-pdf-dropzone strong{font-size:13px}.pump-manual-entry p,.pump-pdf-dropzone p{color:var(--muted);margin:0 0 3px;font-size:9px}.pump-manual-entry button,.pump-pdf-dropzone button{min-height:35px}.pump-manual-entry{text-align:center;background:#fff;border:1px solid #d7e4df;border-radius:13px;align-content:center;place-items:center;gap:7px;padding:18px;display:grid}.pump-manual-entry>span{color:#7a8d86;background:#edf3f1;border-radius:50%;place-items:center;width:30px;height:30px;font-size:9px;font-weight:900;display:grid}.pump-manual-entry strong{font-size:12px}.pump-model-selector{background:linear-gradient(135deg,#edf8f4,#f8fcfa);border:1px solid #b9d9ce;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);align-items:end;gap:18px;margin:0 15px 15px;padding:14px 15px;display:grid}.pump-model-selector h4{margin:3px 0 5px;font-size:14px}.pump-model-selector p:not(.eyebrow){max-width:680px;color:var(--muted);margin:0;font-size:9px;line-height:1.45}.pump-model-selector label{color:#526e65;gap:6px;font-size:8px;font-weight:800;display:grid}.pump-model-selector select{width:100%;min-height:40px;color:var(--text);font:inherit;background:#fff;border:1px solid #9fcaba;border-radius:9px;outline:0;padding:0 35px 0 10px;font-size:9px;font-weight:750}.pump-model-selector select:focus{border-color:#3ba17f;box-shadow:0 0 0 3px #3ba17f1f}.pump-review-panel{background:#fff;border:1px solid #d6e4df;border-radius:13px;margin:0 15px 15px;overflow:hidden}.pump-review-panel>header{background:#f4f9f7;border-bottom:1px solid #e2ebe8;justify-content:space-between;align-items:center;gap:16px;padding:14px 15px;display:flex}.pump-review-panel>header h4{margin:2px 0 0;font-size:14px}.pump-curve-flags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.pump-curve-flags b{border-radius:14px;padding:5px 8px;font-size:8px}.pump-curve-flags .found{color:#277657;background:#dff3e9}.pump-curve-flags .missing{color:#98614f;background:#f2e9e4}.pump-detected-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 15px 0;display:grid}.pump-detected-grid.identity{grid-template-columns:repeat(3,minmax(0,1fr))}.pump-detected-grid label{color:#536a62;min-width:0;font-size:9px;font-weight:800}.pump-detected-grid label>span{justify-content:space-between;align-items:center;gap:5px;min-height:20px;margin-bottom:5px;display:flex}.pump-detected-grid input{width:100%;min-width:0;min-height:35px;color:var(--text);font:inherit;background:#fbfdfc;border:1px solid #cfddd8;border-radius:8px;outline:0;padding:7px 9px;font-size:10px}.pump-detected-grid label>div{background:#f0f5f3;border:1px solid #cfddd8;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;display:grid;overflow:hidden}.pump-detected-grid label>div input{border:0;border-radius:0}.pump-detected-grid label>div em{color:#6c8078;border-left:1px solid #d7e2de;place-items:center;min-width:46px;padding:0 7px;font-size:8px;font-style:normal;display:grid}.pump-detected-grid input:focus,.pump-detected-grid label>div:focus-within{border-color:#49aa88;box-shadow:0 0 0 3px #49aa881c}.pump-confidence{border-radius:10px;flex:none;padding:3px 5px;font-size:7px;line-height:1}.pump-confidence.high{color:#277656;background:#dff3e9}.pump-confidence.medium{color:#91630e;background:#fff0cb}.pump-confidence.low{color:#a94438;background:#fde4de}.pump-confidence.unknown{color:#788982;background:#edf1ef}.pump-extraction-notes{gap:6px;margin:14px 15px 0;display:grid}.pump-extraction-notes p{color:#79602a;background:#fff8e7;border:1px solid #ead49d;border-radius:9px;align-items:center;gap:8px;margin:0;padding:8px 10px;font-size:9px;display:flex}.pump-extraction-notes span{background:#f2d990;border-radius:6px;flex:0 0 18px;place-items:center;width:18px;height:18px;font-weight:900;display:grid}.pump-curves-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 15px;display:grid}.pump-curve-editor{background:#f8fbfa;border:1px solid #d6e2de;border-radius:10px;min-width:0;overflow:hidden}.pump-curve-editor>header{border-bottom:1px solid #dfe8e5;justify-content:space-between;gap:10px;padding:10px;display:flex}.pump-curve-editor>header strong{font-size:10px}.pump-curve-editor>header span{color:var(--muted);font-size:8px}.pump-curve-table>div{grid-template-columns:1fr 1fr 28px;align-items:center;gap:5px;padding:5px 8px;display:grid}.pump-curve-table>div+div{border-top:1px solid #e6ecea}.pump-curve-table .heading{color:#6c7f78;font-size:7px;font-weight:900}.pump-curve-table input{width:100%;min-width:0;height:29px;color:var(--text);font:inherit;background:#fff;border:1px solid #d2dfda;border-radius:6px;padding:5px 6px;font-size:9px}.pump-curve-table button{color:#a34238;cursor:pointer;background:#f7e7e4;border:0;border-radius:6px;width:26px;height:26px}.pump-add-point{width:calc(100% - 16px);min-height:30px;margin:5px 8px 8px;font-size:8px}.pump-curve-canvas{background:#10231d;border:1px solid #315048;border-radius:11px;width:calc(100% - 30px);height:auto;margin:0 15px 15px;display:block}.pump-operation-summary{background:#edf8f4;border:1px solid #bfded3;border-radius:11px;grid-template-columns:38px minmax(0,1fr) minmax(360px,1.1fr);align-items:center;gap:12px;margin:0 15px 14px;padding:12px;display:grid}.pump-operation-summary>span{color:#27795e;background:#d6eee4;border-radius:10px;place-items:center;width:36px;height:36px;font-size:16px;font-weight:900;display:grid}.pump-operation-summary h4{margin:2px 0 0;font-size:13px}.pump-operation-summary p:not(.eyebrow){color:#57736a;margin:4px 0 0;font-size:9px;line-height:1.4}.pump-operation-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;display:grid}.pump-operation-summary dl>div{background:#ffffffb8;border-radius:8px;padding:7px 8px}.pump-operation-summary dt{color:#71837d;font-size:7px}.pump-operation-summary dd{margin:2px 0 0;font-size:9px;font-weight:850}.pump-operation-summary.incompatible{background:#fff0ee;border-color:#e5aaa3}.pump-operation-summary.incompatible>span{color:#af4035;background:#f4cec9}.pump-operation-summary.insufficient-data,.pump-operation-summary.warning{background:#fff8e7;border-color:#ead49d}.pump-operation-summary.insufficient-data>span,.pump-operation-summary.warning>span{color:#936913;background:#f3dfaa}.pump-confirm-actions{flex-wrap:wrap;align-items:center;gap:8px;padding:0 15px 15px;display:flex}.pump-confirm-actions button{min-height:36px}.pump-confirm-actions small{color:var(--muted);flex:250px;font-size:8px;line-height:1.35}.pump-library-list{background:#fff;border:1px solid #d5e3de;border-radius:12px;margin:0 15px 15px;overflow:hidden}.pump-library-list>header{background:#f4f9f7;border-bottom:1px solid #dfe9e5;justify-content:space-between;align-items:center;gap:15px;padding:12px 14px;display:flex}.pump-library-list h4{margin:2px 0 0;font-size:13px}.pump-library-list>header>span{color:#5e7a71;font-size:8px;font-weight:800}.pump-library-list article{grid-template-columns:minmax(180px,1.7fr) .5fr .7fr auto auto;align-items:center;gap:10px;padding:10px 13px;display:grid}.pump-library-list article+article{border-top:1px solid #e6ecea}.pump-library-list article small,.pump-library-list article strong{display:block}.pump-library-list article strong{font-size:10px}.pump-library-list article small{color:var(--muted);margin-top:3px;font-size:8px}.pump-library-list article>a,.pump-library-list article>em,.pump-library-list article>span{color:#60786f;font-size:8px;font-style:normal}.pump-library-list article>a{color:#2b8b6d;font-weight:900}.pump-library-list article>button{color:#27795e;cursor:pointer;background:#e9f6f1;border:1px solid #b9d8cd;border-radius:7px;min-height:30px;padding:5px 8px;font-size:8px;font-weight:900}.pump-import-disclaimer{background:#edf4f1;border-top:1px solid #dbe7e3;align-items:flex-start;gap:9px;padding:11px 15px 13px;display:flex}.pump-import-disclaimer strong{color:#496e61;flex:none;font-size:8px}.pump-import-disclaimer p{color:#6a7f77;margin:0;font-size:8px;line-height:1.45}.pump-manual-config-title{border-top:1px solid #dce7e3;align-items:baseline;gap:9px;margin:0 15px;padding:12px 0 0;display:flex}.pump-manual-config-title strong{font-size:10px}.pump-manual-config-title span{color:var(--muted);font-size:8px}.dark-theme .pump-datasheet-importer{background:#13251f;border-color:#315048}.dark-theme .pump-datasheet-heading,.dark-theme .pump-library-list>header,.dark-theme .pump-review-panel>header{background:linear-gradient(140deg,#1a302a,#152822);border-color:#2d4941}.dark-theme .pump-confirm-actions small,.dark-theme .pump-datasheet-heading p:not(.eyebrow),.dark-theme .pump-manual-entry p,.dark-theme .pump-pdf-dropzone p{color:#91a69e}.dark-theme .pump-datasheet-heading>span{color:#a2b7b0;background:#223a33}.dark-theme .pump-datasheet-heading>span.reading,.dark-theme .pump-datasheet-heading>span.saving{color:#83cfe7;background:#183b47}.dark-theme .pump-datasheet-heading>span.saved{color:#7fdbb6;background:#1c4233}.dark-theme .pump-datasheet-heading>span.error{color:#ff9e94;background:#4b2624}.dark-theme .pump-pdf-dropzone{background:#142d25;border-color:#3d6c5e}.dark-theme .pump-pdf-dropzone.dragging{background:#183a30;border-color:#68c5a7}.dark-theme .pump-pdf-dropzone>span{color:#7bd8ba;background:#21463a}.dark-theme .pump-library-list,.dark-theme .pump-manual-entry,.dark-theme .pump-review-panel{background:#10231d;border-color:#304d45}.dark-theme .pump-manual-entry>span{color:#a2b3ad;background:#253c35}.dark-theme .pump-model-selector{background:linear-gradient(135deg,#17372e,#132a24);border-color:#37695a}.dark-theme .pump-model-selector label{color:#b4c9c1}.dark-theme .pump-model-selector select{color:#e8f3ef;color-scheme:dark;background:#0d211a;border-color:#3b6558}.dark-theme .pump-detected-grid label{color:#b3c6bf}.dark-theme .pump-detected-grid input,.dark-theme .pump-detected-grid label>div{color:#e8f3ef;background:#0d1e19;border-color:#345149}.dark-theme .pump-detected-grid label>div em{color:#9fb3ac;background:#1b332b;border-color:#36534b}.dark-theme .pump-confidence.unknown{color:#9fb1ab;background:#283d36}.dark-theme .pump-extraction-notes p{color:#d0b97f;background:#302b1d;border-color:#65562f}.dark-theme .pump-extraction-notes span{color:#f2c25b;background:#503d1d}.dark-theme .pump-curve-editor{background:#162a24;border-color:#304d45}.dark-theme .pump-curve-editor>header,.dark-theme .pump-curve-table>div+div{border-color:#2c463f}.dark-theme .pump-curve-table input{color:#e8f3ef;background:#0f211b;border-color:#35534b}.dark-theme .pump-operation-summary{background:#17382f;border-color:#356958}.dark-theme .pump-operation-summary>span{color:#7cdbba;background:#204b3d}.dark-theme .pump-operation-summary p:not(.eyebrow){color:#9eb8af}.dark-theme .pump-operation-summary dl>div{background:#081a156b}.dark-theme .pump-operation-summary dt{color:#91a79f}.dark-theme .pump-operation-summary.incompatible{background:#3a211e;border-color:#80433c}.dark-theme .pump-operation-summary.incompatible>span{color:#ff9e93;background:#582923}.dark-theme .pump-operation-summary.insufficient-data,.dark-theme .pump-operation-summary.warning{background:#302b1d;border-color:#6a5a2e}.dark-theme .pump-operation-summary.insufficient-data>span,.dark-theme .pump-operation-summary.warning>span{color:#f2c25b;background:#503d1d}.dark-theme .pump-library-list article+article{border-color:#29443c}.dark-theme .pump-library-list article>button{color:#82d6b9;background:#1a3b31;border-color:#3c6558}.dark-theme .pump-import-disclaimer{background:#172b25;border-color:#2e4941}.dark-theme .pump-import-disclaimer strong{color:#a8c1b8}.dark-theme .pump-import-disclaimer p{color:#91a79f}.dark-theme .pump-manual-config-title{border-color:#2e4941}@media (max-width:1180px){.pump-detected-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pump-curves-editor-grid{grid-template-columns:1fr 1fr}.pump-operation-summary{grid-template-columns:38px 1fr}.pump-operation-summary dl{grid-column:2}}@media (max-width:840px){.pump-datasheet-heading{flex-direction:column}.pump-datasheet-heading>span{text-align:left;max-width:none}.pump-import-options,.pump-model-selector{grid-template-columns:1fr}.pump-model-selector{align-items:stretch}.pump-detected-grid,.pump-detected-grid.identity{grid-template-columns:repeat(2,minmax(0,1fr))}.pump-curves-editor-grid{grid-template-columns:1fr}.pump-library-list article{grid-template-columns:minmax(180px,1.5fr) .6fr .8fr auto}.pump-library-list article>button{grid-column:1/-1;width:100%}}@media (max-width:680px){.pump-datasheet-importer{margin:10px}.pump-datasheet-heading,.pump-import-options{padding:12px}.pump-library-list,.pump-model-selector,.pump-review-panel{margin:0 10px 10px}.pump-review-panel>header{flex-direction:column;align-items:flex-start}.pump-curve-flags{justify-content:flex-start}.pump-detected-grid,.pump-detected-grid.identity{grid-template-columns:1fr;padding:12px 10px 0}.pump-extraction-notes{margin:12px 10px 0}.pump-curves-editor-grid{padding:12px 10px}.pump-curve-canvas{width:calc(100% - 20px);margin:0 10px 12px}.pump-operation-summary{grid-template-columns:34px 1fr;margin:0 10px 12px}.pump-operation-summary dl{grid-column:1/-1;grid-template-columns:1fr}.pump-confirm-actions{padding:0 10px 12px}.pump-confirm-actions button{width:100%}.pump-library-list article{grid-template-columns:1fr 1fr}.pump-library-list article>div{grid-column:1/-1}.pump-import-disclaimer{flex-direction:column}.pump-manual-config-title{flex-direction:column;align-items:flex-start;gap:3px;margin:0 10px}}.hydraulic-report-panel{background:#fbfdfc;border:1px solid #d9e6e1;border-radius:15px;margin:0 24px 18px;overflow:hidden}.hydraulic-report-panel>header{border-bottom:1px solid #e1eae6;justify-content:space-between;align-items:flex-start;gap:20px;padding:17px 18px 14px;display:flex}.hydraulic-report-panel>header h3{margin:3px 0 4px;font-size:17px}.hydraulic-report-panel>header p:not(.eyebrow){color:var(--muted);margin:0;font-size:12px;line-height:1.45}.hydraulic-report-panel>header>span{color:#60766e;text-align:right;background:#edf4f1;border-radius:10px;max-width:330px;padding:7px 10px;font-size:10px;font-weight:750}.hydraulic-report-panel>header>span.saved{color:#237453;background:#dff4e9}.hydraulic-report-panel>header>span.error{color:#ad3d31;background:#fde8e4}.hydraulic-report-actions{grid-template-columns:minmax(220px,1fr) auto auto;align-items:end;gap:10px;padding:14px 18px;display:grid}.hydraulic-report-actions label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.45px;margin-bottom:6px;font-size:10px;font-weight:800;display:block}.hydraulic-report-actions input{width:100%;min-height:39px;color:var(--text);font:inherit;background:#fff;border:1px solid #cbdad5;border-radius:9px;padding:8px 10px}.hydraulic-report-actions button{white-space:nowrap;min-height:39px}.hydraulic-report-empty{color:var(--muted);text-align:center;border:1px dashed #cbdcd6;border-radius:10px;margin:0 18px 16px;padding:13px;font-size:11px}.hydraulic-report-list{border-top:1px solid #e1eae6;overflow-x:auto}.hydraulic-report-row{grid-template-columns:1.7fr 1fr .9fr .9fr .9fr .9fr;align-items:center;min-width:880px;display:grid}.hydraulic-report-row+.hydraulic-report-row{border-top:1px solid #edf2ef}.hydraulic-report-row>span{color:#49625a;min-width:0;padding:10px 12px;font-size:10px}.hydraulic-report-row small,.hydraulic-report-row strong{display:block}.hydraulic-report-row strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.hydraulic-report-row small{color:var(--muted);margin-top:3px;font-size:9px}.hydraulic-report-row.heading{background:#f0f6f3}.hydraulic-report-row.heading>span{color:#70867f;letter-spacing:.35px;text-transform:uppercase;font-size:9px;font-weight:850}.hydraulic-report-row b{color:#96620d;background:#fff0cf;border-radius:9px;padding:5px 7px;font-size:9px;display:inline-flex}.hydraulic-report-row b.compatible{color:#247653;background:#dff4e9}.hydraulic-report-row b.incompatible{color:#ad3b31;background:#fde5e1}.dark-theme .hydraulic-report-panel{background:#172a24;border-color:#2e4b43}.dark-theme .hydraulic-report-list,.dark-theme .hydraulic-report-panel>header{border-color:#2c463f}.dark-theme .hydraulic-report-panel>header>span{color:#9fb4ad;background:#223b33}.dark-theme .hydraulic-report-panel>header>span.saved{color:#7fdbb6;background:#1c4233}.dark-theme .hydraulic-report-panel>header>span.error{color:#ff9e94;background:#4b2624}.dark-theme .hydraulic-report-actions input{color:#eaf4f0;background:#10221c;border-color:#35554c}.dark-theme .hydraulic-report-empty{border-color:#35554c}.dark-theme .hydraulic-report-row.heading{background:#1d342d}.dark-theme .hydraulic-report-row+.hydraulic-report-row{border-color:#29443c}@media (max-width:840px){.hydraulic-report-panel>header{flex-direction:column}.hydraulic-report-panel>header>span{text-align:left;max-width:none}.hydraulic-report-actions{grid-template-columns:1fr 1fr}.hydraulic-report-actions label{grid-column:1/-1}}@media (max-width:680px){.hydraulic-report-panel{margin:0 13px 12px}.hydraulic-report-panel>header{padding:14px}.hydraulic-report-actions{grid-template-columns:1fr;padding:12px 14px}.hydraulic-report-actions label{grid-column:1}.hydraulic-report-actions button{width:100%}.hydraulic-report-empty{margin:0 14px 14px}}@media (max-width:440px){.engineering-simulation-steps,.hydraulic-inline-zone-editor.mobile,.hydraulic-mobile-pipe-editors{grid-template-columns:1fr}}.farm-workspace-bar{background:linear-gradient(120deg,#f8fcfa,#edf6f2);border:1px solid #cfe1da;border-radius:14px;grid-template-columns:40px minmax(180px,1fr) minmax(190px,260px) auto;align-items:center;gap:13px;margin-bottom:12px;padding:14px 16px;display:grid;box-shadow:0 5px 18px #1f55460d}.farm-workspace-icon{color:#fff;background:#1f796b;border-radius:11px;place-items:center;width:40px;height:40px;font-size:18px;display:grid}.farm-workspace-copy span,.farm-workspace-copy strong{display:block}.farm-workspace-copy strong{font-size:14px}.farm-workspace-copy span{color:var(--muted);margin-top:3px;font-size:9px}.farm-selector{gap:5px;display:grid}.farm-selector>span{color:var(--muted);font-size:8px;font-weight:700}.farm-selector select{width:100%;min-height:36px;color:var(--ink);font:inherit;background:#fff;border:1px solid #ccddd7;border-radius:8px;padding:0 34px 0 10px;font-size:10px;font-weight:700}.farm-workspace-actions{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.farm-sync-state{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:8px;display:inline-flex}.farm-sync-state i{background:#40a681;border-radius:50%;width:7px;height:7px}.farm-sync-state.loading i,.farm-sync-state.saving i{background:#d5a333;animation:farm-sync-pulse 1s ease-in-out infinite}.farm-sync-state.error{color:#bd5444}.farm-sync-state.error i{background:#cf604d}@keyframes farm-sync-pulse{50%{opacity:.35}}.farm-manager-backdrop{z-index:1200}.farm-manager-modal{background:#fff;border-radius:18px;width:min(920px,100%);max-height:calc(100vh - 40px);padding:22px;overflow-y:auto;box-shadow:0 28px 90px #071e1861}.farm-card,.farm-card-actions,.farm-editor-heading,.farm-manager-footer,.farm-manager-header,.farm-manager-toolbar{align-items:center;display:flex}.farm-manager-header{border-bottom:1px solid var(--line);justify-content:space-between;gap:30px;padding-bottom:16px}.farm-manager-header h2{margin:0;font-size:22px}.farm-manager-header p:not(.eyebrow){color:var(--muted);margin:5px 0 0;font-size:10px}.farm-editor-heading>button,.farm-manager-header>button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:9px;flex:none;width:34px;height:34px;font-size:20px}.farm-manager-toolbar{justify-content:space-between;gap:18px;margin:17px 0}.farm-manager-toolbar span,.farm-manager-toolbar strong{display:block}.farm-manager-toolbar strong{font-size:12px}.farm-manager-toolbar span{color:var(--muted);margin-top:3px;font-size:9px}.farm-manager-error{color:#a83f32;background:#fff0ed;border:1px solid #efb8ae;border-radius:9px;align-items:center;gap:8px;margin:0 0 14px;padding:10px 12px;font-size:10px;display:flex}.farm-manager-error span{font-weight:900}.farm-editor-form{background:#f5faf8;border:1px solid #c9ddd5;border-radius:13px;margin:0 0 16px;padding:16px}.farm-editor-heading{justify-content:space-between}.farm-editor-heading h3{margin:0;font-size:15px}.farm-editor-grid{grid-template-columns:1.35fr 1.65fr .8fr .8fr;gap:10px;margin-top:14px;display:grid}.farm-editor-grid label{gap:6px;display:grid}.farm-editor-grid label span{color:var(--muted);font-size:8px;font-weight:700}.farm-editor-grid input{width:100%;min-height:38px;color:var(--ink);background:#fff;border:1px solid #ceddd7;border-radius:8px;padding:0 10px;font-size:10px}.farm-editor-help{color:var(--muted);margin:9px 0 0;font-size:8px}.farm-editor-actions{justify-content:flex-end;gap:8px;margin-top:13px;display:flex}.farm-list{gap:9px;display:grid}.farm-card{border:1px solid var(--line);background:#fbfcfb;border-radius:12px;gap:12px;padding:13px}.farm-card.active{background:#f3faf7;border-color:#55a690;box-shadow:inset 3px 0 #2e8b77}.farm-card-mark{color:#287865;background:#e3f0eb;border-radius:11px;flex:none;place-items:center;width:39px;height:39px;font-size:15px;font-weight:800;display:grid}.farm-card-copy{flex:1;min-width:0}.farm-card-copy>div{align-items:center;gap:7px;display:flex}.farm-card-copy strong{font-size:12px}.farm-card-copy em{color:#2a7d67;background:#dff1e9;border-radius:10px;padding:3px 6px;font-size:7px;font-style:normal;font-weight:800}.farm-card-copy p{color:var(--muted);margin:4px 0;font-size:9px}.farm-card-copy>span{color:#668078;font-size:8px}.farm-card-actions{flex:none;gap:6px}.farm-delete-button{color:#b65043;cursor:pointer;background:0 0;border:0;padding:8px;font-size:8px;font-weight:700}.farm-delete-button:disabled{opacity:.35;cursor:not-allowed}.farm-manager-footer{color:#3e695d;background:#eaf5f0;border-radius:10px;align-items:flex-start;gap:8px;margin-top:16px;padding:11px 12px}.farm-manager-footer>span{color:#20866c;font-weight:900}.farm-manager-footer p{margin:0;font-size:9px;line-height:1.45}.dark-theme .farm-workspace-bar{background:linear-gradient(120deg,#142b25,#10251f);border-color:#31544b}.dark-theme .farm-editor-grid input,.dark-theme .farm-manager-modal,.dark-theme .farm-selector select{color:#d9eee7;background:#132721;border-color:#36554d}.dark-theme .farm-card,.dark-theme .farm-manager-header{border-color:#2b4941}.dark-theme .farm-card.active,.dark-theme .farm-editor-form{background:#102a23;border-color:#3b7969}.dark-theme .farm-card{background:#152923}.dark-theme .farm-manager-footer{color:#b7ddd1;background:#16352c}.dark-theme .farm-manager-error{color:#ffc0b5;background:#3b211e;border-color:#804a42}@media (max-width:900px){.farm-workspace-bar{grid-template-columns:40px 1fr auto}.farm-selector{grid-area:2/2/auto/-1}.farm-editor-grid{grid-template-columns:1fr 1fr}}@media (max-width:680px){.farm-workspace-bar{grid-template-columns:36px 1fr;padding:12px}.farm-workspace-icon{width:36px;height:36px}.farm-selector,.farm-workspace-actions{grid-area:auto/1/auto/-1;width:100%}.farm-workspace-actions{align-items:stretch}.farm-workspace-actions .secondary-button{width:100%}.farm-manager-backdrop{align-items:end;padding:0}.farm-manager-modal{border-radius:18px 18px 0 0;max-height:92vh;padding:17px}.farm-manager-header{align-items:flex-start}.farm-manager-toolbar{flex-direction:column;align-items:stretch}.farm-editor-grid{grid-template-columns:1fr}.farm-card{flex-wrap:wrap;align-items:flex-start}.farm-card-actions{width:100%}.farm-card-actions button{flex:1}}.pump-selector{gap:16px;display:grid}.pump-selector-heading{border:1px solid var(--line);background:linear-gradient(135deg,#fbfdfc,#eef8f4);border-radius:16px;justify-content:space-between;align-items:flex-start;gap:28px;padding:22px;display:flex}.pump-selector-heading h2{margin:4px 0 7px;font-size:22px}.pump-selector-heading p:not(.eyebrow){max-width:690px;color:var(--muted);margin:0;font-size:10px;line-height:1.55}.pump-selector-heading .secondary-button{flex:none}.pump-selector-safety{color:#315e52;background:#eaf6f1;border:1px solid #b7d9cd;border-radius:11px;align-items:flex-start;gap:10px;padding:11px 13px;display:flex}.pump-selector-safety>span{color:#fff;background:#278c72;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:10px;font-weight:900;display:grid}.pump-selector-safety p{margin:1px 0 0;font-size:9px;line-height:1.5}.pump-selector-layout{grid-template-columns:minmax(360px,.92fr) minmax(480px,1.08fr);align-items:stretch;gap:16px;display:grid}.pump-schematic,.pump-selector-inputs{border:1px solid var(--line);background:#fff;border-radius:16px}.pump-selector-inputs{align-content:start;display:grid}.pump-selector-group{padding:18px}.pump-selector-group+.pump-selector-group{border-top:1px solid var(--line)}.pump-selector-group-heading{align-items:center;gap:10px;margin-bottom:14px;display:flex}.pump-selector-group-heading>span{color:#19745e;background:#e1f1eb;border-radius:8px;place-items:center;width:27px;height:27px;font-size:11px;font-weight:900;display:grid}.pump-selector-group-heading small,.pump-selector-group-heading strong{display:block}.pump-selector-group-heading strong{font-size:11px}.pump-selector-group-heading small{color:var(--muted);margin-top:2px;font-size:8px}.pump-selector-field-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.pump-selector-field{gap:6px;display:grid}.pump-selector-field.text{margin-bottom:10px}.pump-selector-field>span{color:var(--muted);align-items:center;gap:4px;font-size:8px;font-weight:700;display:flex}.pump-selector-field>span i{color:#28866f;cursor:help;border-radius:50%;place-items:center;width:15px;height:15px;font-size:9px;font-style:normal;display:inline-grid}.pump-selector-field>div{background:#fbfdfc;border:1px solid #ccddd7;border-radius:9px;align-items:center;min-height:39px;display:flex;overflow:hidden}.pump-selector-field input,.pump-selector-field select{width:100%;min-width:0;height:37px;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;padding:0 9px;font-size:10px;font-weight:700}.pump-selector-field.text>input{width:100%;min-height:39px;color:var(--ink);font:inherit;background:#fbfdfc;border:1px solid #ccddd7;border-radius:9px;outline:0;padding:0 10px;font-size:10px;font-weight:700}.pump-selector-field em{color:#658178;white-space:nowrap;flex:none;padding:0 9px;font-size:8px;font-style:normal}.pump-pipe-list{gap:9px;display:grid}.pump-pipe-row{background:#f8fbfa;border:1px solid #d4e3de;border-radius:11px;padding:11px}.pump-pipe-row>header{margin-bottom:9px}.pump-pipe-row>header small,.pump-pipe-row>header strong{display:block}.pump-pipe-row>header strong{color:#245d4e;font-size:9px}.pump-pipe-row>header small{color:var(--muted);margin-top:2px;font-size:7px;line-height:1.4}.pump-pipe-row .pump-selector-field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pump-pipe-summary{color:#486b60;background:#eaf6f1;border-radius:8px;margin:9px 0 0;padding:8px 10px;font-size:8px;line-height:1.45}.pump-schematic{min-width:0;overflow:hidden}.pump-schematic>header{border-bottom:1px solid var(--line);padding:18px 20px 14px}.pump-schematic>header h3{margin:4px 0 0;font-size:15px}.pump-schematic-network{background:radial-gradient(circle at 20% 45%,#4aadc51a,#0000 30%),linear-gradient(#f6fbf9 1px,#0000 0) 0 0/20px 20px,linear-gradient(90deg,#f6fbf9 1px,#0000 0) 0 0/20px 20px;grid-template-columns:88px minmax(68px,1fr) 92px minmax(100px,1.25fr) 88px;align-items:center;padding:26px 20px 22px;display:grid}.schematic-collector,.schematic-pump,.schematic-source{z-index:2;text-align:center;background:#fff;border:1px solid #97c7b8;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:82px;display:flex;position:relative;box-shadow:0 7px 20px #15504117}.schematic-collector>span,.schematic-pump>span,.schematic-source>span{color:#168aa4;background:#dff4f7;border-radius:9px;place-items:center;width:30px;height:30px;font-size:15px;font-weight:900;display:grid}.schematic-pump>span{color:#1b8065;background:#def2e9;border-radius:50%}.schematic-collector>span{color:#6557a8;background:#e7e5f5}.schematic-collector strong,.schematic-pump strong,.schematic-source strong{font-size:9px}.schematic-collector small,.schematic-pump small,.schematic-source small{color:var(--muted);font-size:7px}.schematic-line{border-top:5px solid #a9c3c2;border-bottom:1px solid #607a7b;height:8px;position:relative}.schematic-line:after{content:"";border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid #607a7b;position:absolute;top:-8px;right:-1px}.schematic-line span{color:#5f776f;text-align:center;width:max-content;max-width:130px;font-size:7px;font-weight:700;position:absolute;bottom:13px;left:50%;transform:translate(-50%)}.schematic-zone-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:10px;padding:24px 20px 18px;display:grid;position:relative}.schematic-zone-grid:before{content:"";background:#65a58f;width:1px;height:18px;position:absolute;top:0;left:50%}.schematic-zone{background:#f8fcfa;border:1px solid #c9ded7;border-radius:11px;grid-template-columns:30px 1fr;align-items:center;gap:8px;min-width:0;padding:11px;display:grid;position:relative}.schematic-zone:before{content:"";background:#65a58f;width:1px;height:6px;position:absolute;top:-6px;left:50%}.schematic-zone>span{color:#1e7c64;background:#dff1e9;border-radius:9px;place-items:center;width:29px;height:29px;font-size:10px;font-weight:900;display:grid}.schematic-zone>div{min-width:0}.schematic-zone small,.schematic-zone strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.schematic-zone strong{font-size:9px}.schematic-zone small{color:var(--muted);margin-top:2px;font-size:7px}.schematic-zone-fields{border-top:1px solid #e0ece8;grid-column:1/-1;gap:5px;margin-top:2px;padding-top:8px;display:grid}.schematic-zone label{justify-content:space-between;align-items:center;gap:8px;display:flex}.schematic-zone label>span{color:var(--muted);font-size:7px;font-weight:700}.schematic-zone label>div{background:#fff;border:1px solid #c6ddd5;border-radius:7px;align-items:center;max-width:130px;display:flex;overflow:hidden}.schematic-zone input{width:73px;height:28px;color:var(--ink);background:0 0;border:0;outline:0;padding:0 6px;font-size:9px;font-weight:800}.schematic-zone em{color:var(--muted);padding-right:7px;font-size:7px;font-style:normal}.configure-four-zones{color:#24755f;cursor:pointer;background:#ebf7f2;border:1px dashed #54a78f;border-radius:9px;margin:0 20px 16px;padding:9px 12px;font-size:9px;font-weight:800}.pump-formula{color:#234e42;background:#f1f8f5;border:1px solid #bcd6cd;border-radius:11px;justify-content:center;align-items:center;gap:7px;margin:0 20px;padding:13px;display:flex}.pump-formula>span{font-size:16px;font-weight:900}.pump-formula>div{text-align:center;gap:3px;display:grid}.pump-formula b{font-size:11px}.pump-formula i{background:currentColor;height:1px}.pump-formula em{font-size:12px;font-style:normal;font-weight:800}.pump-formula-copy{color:var(--muted);text-align:center;margin:8px 20px 18px;font-size:8px}.pump-evaluate-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#26866d,#17624f);border:0;border-radius:13px;justify-content:center;align-items:center;gap:12px;width:100%;padding:14px 18px;display:flex;box-shadow:0 8px 22px #17624f33}.pump-evaluate-button>span{background:#ffffff26;border-radius:50%;place-items:center;width:31px;height:31px;font-size:10px;display:grid}.pump-evaluate-button small,.pump-evaluate-button strong{text-align:left;display:block}.pump-evaluate-button strong{font-size:11px}.pump-evaluate-button small{color:#d8eee7;margin-top:2px;font-size:8px;font-weight:500}.pump-selector-result{background:#fff;border:2px solid;border-radius:16px;overflow:hidden}.pump-selector-result.compatible{border-color:#299174}.pump-selector-result.incompatible{border-color:#d65c4c}.pump-selector-result>header{align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.pump-selector-result.compatible>header{background:#eaf8f2}.pump-selector-result.incompatible>header{background:#fff0ed}.pump-selector-result>header>span{color:#fff;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-size:16px;font-weight:900;display:grid}.pump-selector-result.compatible>header>span{background:#299174}.pump-selector-result.incompatible>header>span{background:#d65c4c}.pump-selector-result h3{margin:4px 0;font-size:16px}.pump-selector-result header p:not(.eyebrow){color:var(--muted);margin:0;font-size:9px}.pump-result-metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.pump-result-metrics article{border-right:1px solid var(--line);padding:14px 17px}.pump-result-metrics article:last-child{border-right:0}.pump-result-metrics small,.pump-result-metrics span,.pump-result-metrics strong{display:block}.pump-result-metrics small{color:var(--muted);text-transform:uppercase;font-size:7px}.pump-result-metrics strong{margin:5px 0 1px;font-size:20px}.pump-result-metrics span{color:#538072;font-size:8px}.pump-result-checks{grid-template-columns:repeat(2,1fr);gap:9px;padding:16px 20px;display:grid}.pump-result-checks article{border:1px solid var(--line);border-radius:10px;align-items:center;gap:9px;padding:10px;display:flex}.pump-result-checks article>span{border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:10px;font-weight:900;display:grid}.pump-result-checks article.pass>span{color:#1c8568;background:#dff3ea}.pump-result-checks article.fail>span{color:#c74c3d;background:#ffe4df}.pump-result-checks strong{font-size:9px;display:block}.pump-result-checks p{color:var(--muted);margin:3px 0 0;font-size:8px}.pump-selector-result footer{border-top:1px solid var(--line);color:var(--muted);background:#f7faf9;padding:11px 20px;font-size:8px;line-height:1.5}.dark-theme .pump-selector-heading{background:linear-gradient(135deg,#142a24,#10231e);border-color:#2e4c44}.dark-theme .pump-selector-safety{color:#b9e1d4;background:#16352c;border-color:#326b5c}.dark-theme .pump-schematic,.dark-theme .pump-selector-inputs,.dark-theme .pump-selector-result,.dark-theme .schematic-collector,.dark-theme .schematic-pump,.dark-theme .schematic-source{background:#132720;border-color:#315048}.dark-theme .pump-result-metrics,.dark-theme .pump-schematic>header,.dark-theme .pump-selector-group+.pump-selector-group,.dark-theme .pump-selector-result footer,.dark-theme .schematic-zone-grid{border-color:#2b4941}.dark-theme .pump-selector-field.text>input,.dark-theme .pump-selector-field>div,.dark-theme .schematic-zone label>div{color:#d9eee7;background:#10241e;border-color:#3b5a51}.dark-theme .pump-pipe-row{background:#10241e;border-color:#304f46}.dark-theme .pump-pipe-row>header strong{color:#9ad8c4}.dark-theme .pump-pipe-summary{color:#a9c9bf;background:#17372e}.dark-theme .pump-selector-field input,.dark-theme .pump-selector-field select,.dark-theme .schematic-zone input{color:#d9eee7;color-scheme:dark}.dark-theme .pump-schematic-network{background:radial-gradient(circle at 20% 45%,#45c0d714,#0000 30%),linear-gradient(#17342c 1px,#0000 0) 0 0/20px 20px,linear-gradient(90deg,#17342c 1px,#0000 0) 0 0/20px 20px}.dark-theme .schematic-zone{background:#10251f;border-color:#34594f}.dark-theme .schematic-zone label{border-color:#29473f}.dark-theme .pump-formula{color:#c5e8dc;background:#16352c;border-color:#35675a}.dark-theme .pump-selector-result.compatible{border-color:#37a383}.dark-theme .pump-selector-result.incompatible{border-color:#df6555}.dark-theme .pump-selector-result.compatible>header{background:#15372d}.dark-theme .pump-selector-result.incompatible>header{background:#3d211e}.dark-theme .pump-result-checks article{border-color:#2f4d45}.dark-theme .pump-selector-result footer{background:#10231e}@media (max-width:1100px){.topology-lots{grid-template-columns:repeat(2,minmax(0,1fr))}.topology-lots:before{left:calc(25% - 1px);right:calc(25% - 1px)}.pump-selector-layout{grid-template-columns:1fr}}@media (max-width:760px){.node-distribution-panel>header,.sensor-network-heading{flex-direction:column;align-items:stretch}.sensor-view-tabs{width:100%}.sensor-view-tabs button{flex:1}.topology-lots{grid-template-columns:1fr;padding-top:10px}.lot-connector,.topology-lots:before{display:none}.topology-trunk{height:20px}.topology-legend{gap:8px}.pump-selector-heading{flex-direction:column;padding:17px}.pump-selector-heading .secondary-button{width:100%}.pump-pipe-row .pump-selector-field-grid,.pump-result-checks,.pump-selector-field-grid{grid-template-columns:1fr}.pump-schematic-network{grid-template-columns:70px minmax(38px,1fr) 74px minmax(54px,1fr) 70px;padding-inline:12px}.schematic-line span{max-width:90px}.pump-result-metrics{grid-template-columns:1fr 1fr}.pump-result-metrics article:nth-child(2){border-right:0}.pump-result-metrics article:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (max-width:520px){.node-topology-map{padding-inline:11px}.topology-gateway{box-sizing:border-box;width:100%;max-width:none}.topology-lot{padding:10px}.sensor-node-measurements{grid-template-columns:1fr}.sensor-node-details{grid-template-columns:repeat(2,minmax(0,1fr))}.sensor-node-card>header{align-items:flex-start}.pump-selector-group{padding:14px}.pump-schematic-network{grid-template-columns:62px 1fr 66px;row-gap:28px}.pump-schematic-network .discharge{grid-column:2}.schematic-collector{grid-column:3}.schematic-zone-grid{padding-inline:14px}.pump-result-metrics,.schematic-zone-grid{grid-template-columns:1fr}.pump-result-metrics article,.pump-result-metrics article:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.pump-result-metrics article:last-child{border-bottom:0}}.hydraulic-safety-panel{background:#fff;border:1px solid #d7e5e0;border-radius:14px;margin:11px 0;overflow:hidden}.hydraulic-safety-panel>header{background:linear-gradient(120deg,#f8fbfa,#edf6f2);border-bottom:1px solid #e4ece9;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;display:flex}.hydraulic-safety-panel h2{margin:3px 0 0;font-size:15px}.hydraulic-safety-panel header p:not(.eyebrow){max-width:720px;color:var(--muted);margin:4px 0 0;font-size:8px;line-height:1.5}.emergency-button{color:#fff;cursor:pointer;background:#bc4035;border:0;border-radius:9px;flex:none;min-height:38px;padding:0 13px;font-size:8px;font-weight:900}.emergency-button:disabled{color:#87928e;cursor:not-allowed;background:#d9e0dd}.hydraulic-safety-grid{grid-template-columns:repeat(4,1fr);display:grid}.hydraulic-safety-grid article{border-right:1px solid #e4ece9;min-width:0;padding:14px 16px;box-shadow:inset 0 3px #d5a333}.hydraulic-safety-grid article:last-child{border-right:0}.hydraulic-safety-grid article.safe{box-shadow:inset 0 3px #3ea07c}.hydraulic-safety-grid article.active{box-shadow:inset 0 3px #388fd2}.hydraulic-safety-grid article.danger{background:#fff7f5;box-shadow:inset 0 3px #d75448}.hydraulic-safety-grid small,.hydraulic-safety-grid span,.hydraulic-safety-grid strong{display:block}.hydraulic-safety-grid small{color:var(--muted);text-transform:uppercase;font-size:7px;font-weight:800}.hydraulic-safety-grid strong{margin-top:5px;font-size:12px}.hydraulic-safety-grid span{color:var(--muted);margin-top:4px;font-size:7px;line-height:1.4}.dark-theme :is(.irrigation-mode-card,.irrigation-state-strip span,.irrigation-queue-card,.automation-ready,.hydraulic-safety-panel,.effectiveness-panel){background:#142720;border-color:#2f4d45}.dark-theme .irrigation-mode-buttons,.dark-theme .settings-mode-selector>div{background:#203a33}.dark-theme .irrigation-mode-buttons button,.dark-theme .settings-mode-selector button{color:#9eb5ad}.dark-theme .irrigation-mode-buttons button.active,.dark-theme .settings-mode-selector button.active{color:#071b15;background:#3aa183}.dark-theme .irrigation-state-strip span.done{color:#8bd4bc;background:#18372e;border-color:#326554}.dark-theme .irrigation-state-strip span.active{color:#a9d8f9;background:#15344b;border-color:#3a85bd}.dark-theme .effectiveness-row,.dark-theme .hydraulic-safety-grid article,.dark-theme .hydraulic-safety-panel>header,.dark-theme .irrigation-queue-card button,.dark-theme .irrigation-queue-card>div{border-color:#2d4941}.dark-theme .irrigation-queue-card button>b,.dark-theme .irrigation-queue-card>header>span{color:#83d5ba;background:#1b3b31}.dark-theme .automation-ready{color:#96ddc5;background:#17382e;border-color:#3c997b}.dark-theme .hydraulic-safety-panel>header{background:linear-gradient(120deg,#172d27,#12241f)}.dark-theme .hydraulic-safety-grid article.danger{background:#3b211e}.dark-theme .emergency-button:disabled{color:#74877f;background:#2a3d37}.dark-theme .effectiveness-table{border-color:#2b4941}.dark-theme .effectiveness-head{color:#91a9a0;background:#1d332d}.dark-theme .threshold-line i{color:#f0c467;background:#302714f0}.dark-theme .moisture-target-line i{color:#7dd6b9;background:#14362cf0}.dark-theme .moisture-target-band{background:#49b98e1a;border-color:#49b98e33}@media (max-width:900px){.hydraulic-safety-grid{grid-template-columns:repeat(2,1fr)}.hydraulic-safety-grid article:nth-child(2){border-right:0}.hydraulic-safety-grid article:nth-child(-n+2){border-bottom:1px solid #e4ece9}.irrigation-state-strip{grid-template-columns:repeat(3,1fr)}.irrigation-queue-card>div{grid-template-columns:repeat(2,1fr)}.irrigation-queue-card button:nth-child(2n){border-right:0}}@media (max-width:680px){.automation-ready,.hydraulic-safety-panel>header,.irrigation-mode-card{flex-direction:column;align-items:stretch}.irrigation-mode-buttons{flex-basis:auto;width:100%}.automation-ready>div:last-child{grid-template-columns:1fr 1fr;display:grid}.hydraulic-safety-grid{grid-template-columns:1fr}.hydraulic-safety-grid article,.hydraulic-safety-grid article:nth-child(2){border-bottom:1px solid #e4ece9;border-right:0}.hydraulic-safety-grid article:last-child{border-bottom:0}.emergency-button{width:100%}}@media (max-width:480px){.irrigation-state-strip{grid-template-columns:repeat(2,1fr)}.irrigation-queue-card>div{grid-template-columns:1fr}.irrigation-queue-card button{border-bottom:1px solid #e5ece9;border-right:0}.irrigation-queue-card button:last-child{border-bottom:0}.moisture-chart-legend{gap:7px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}