:root{--ink:#122d39;--muted:#5e707a;--line:#dce5ea;--surface:#fff;--canvas:#f2f6f8;--accent:#087c66;--nav:#0e303d;--warning:#995b00;--red:#b93c38;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:16px;line-height:1.5}
*{box-sizing:border-box}body{margin:0;background:var(--canvas)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #17ad8d;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:1.75rem;line-height:1.2;letter-spacing:-.025em;margin-bottom:8px}h2{font-size:1.25rem;line-height:1.3}h3{font-size:1rem}small{font-size:.875rem}.muted{color:var(--muted)}.sidebar{width:236px;position:fixed;inset:0 auto 0 0;background:var(--nav);color:#fff;padding:30px 20px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-size:1.2rem;font-weight:750;letter-spacing:.07em}.brand-mark{display:grid;place-items:center;background:#164957;color:#18d5aa;width:40px;height:40px;border-radius:10px;font-size:1.8rem}.brand small{display:block;font-size:.8rem;font-weight:400;letter-spacing:0;color:#b4cbd4;margin-top:3px}.sidebar-caption{font-size:.75rem;letter-spacing:.09em;color:#a2c0cc;margin:44px 10px 12px}.sidebar nav{display:grid;gap:8px}.nav-item{text-align:left;padding:12px 14px;min-height:46px;border:0;border-radius:7px;background:transparent;color:#d3e5ec;font-size:.95rem}.nav-item.active{background:#1b4b58;color:#fff;border-left:3px solid #18d5aa}.nav-item:hover:not(:disabled){background:#1b4b58}.sidebar-foot{margin-top:auto;font-size:.95rem}.sidebar-foot small{display:block;color:#b4cbd4;margin-top:4px}.demo-pill{display:inline-block;background:#1b4b58;border:1px solid #346271;border-radius:6px;padding:6px 8px;font-size:.75rem;margin-top:20px}.workspace{margin-left:236px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 32px;border-bottom:1px solid var(--line);background:var(--surface);font-size:.875rem}.date{color:var(--muted)}.demo-banner{padding:10px 32px;background:#e7f3f1;font-size:.875rem;color:#23564c;border-bottom:1px solid #d0e9e4}.demo-banner strong{display:inline-block;margin-right:8px}main{padding:28px 32px 40px;max-width:1600px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.eyebrow{font-size:.75rem;color:var(--accent);font-weight:700;letter-spacing:.1em;margin-bottom:8px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat,.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px}.stat{padding:18px 20px}.stat-label{color:var(--muted);font-size:.875rem}.stat-value{font-size:1.75rem;font-weight:650;margin:5px 0;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-note{font-size:.875rem;color:var(--muted)}.panel{padding:20px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.panel-title h2{margin:0}.split{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}th{font-size:.8rem;font-weight:600;color:var(--muted);padding:11px 10px;border-bottom:1px solid var(--line);background:#f7fafb}td{padding:12px 10px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}tbody tr:last-child td{border:0}tbody tr.selected{background:#ebf6f2}.pool-link{background:none;border:0;color:var(--ink);padding:0;font-weight:650;text-decoration:underline;text-decoration-color:#b9d0d6;text-underline-offset:4px;min-height:32px}.status{display:inline-block;padding:3px 8px;border-radius:5px;font-size:.8rem;background:#eef3f5;color:#47616d;white-space:nowrap}.status.attention{background:#fff0d4;color:var(--warning)}.status.good{background:#e2f3ec;color:#07634d}.details{display:grid;grid-template-columns:1fr auto;gap:10px;margin:18px 0;font-size:.875rem}.details dt{color:var(--muted)}.details dd{margin:0;text-align:right;font-weight:600}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:7px;padding:10px 16px;font-size:.9rem;font-weight:600;text-decoration:none}.button.secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.button.block{width:100%}.note{padding:12px 14px;border-radius:7px;background:#f4f8fa;font-size:.875rem;color:#49636f;margin-top:16px}.note.warning{background:#fff4df;color:#825100}.site-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.site-tab{border:1px solid var(--line);background:#fff;border-radius:6px;min-height:42px;padding:8px 13px;font-size:.875rem;color:var(--muted)}.site-tab.active{background:var(--nav);color:#fff;border-color:var(--nav)}.subtle{font-size:.8rem;color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap}.stack{display:grid;gap:18px}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.list{list-style:none;margin:0;padding:0}.list li{padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem}.list li:last-child{border:0}.list strong{display:block}.list small{color:var(--muted)}.flow{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.flow span{font-size:.8rem;padding:7px 10px;background:#edf4f6;border-radius:5px}.price{font-variant-numeric:tabular-nums}.metric-table td:first-child{min-width:150px}label{display:grid;gap:7px;font-size:.875rem;font-weight:600}input,select{width:100%;border:1px solid #bdcdd5;background:#fff;color:var(--ink);border-radius:6px;padding:11px 12px;min-height:44px}dialog{border:1px solid var(--line);border-radius:12px;padding:24px;max-width:480px;width:calc(100% - 32px);color:var(--ink)}dialog::backdrop{background:#0c263b66}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.dialog-head h2{margin:0}.icon-button{background:transparent;border:0;font-size:1.5rem;padding:4px 8px;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.form-error{color:var(--red);font-size:.875rem;margin-top:10px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);background:var(--nav);color:white;padding:12px 20px;border-radius:8px;box-shadow:0 4px 24px #0d293733;display:none;font-size:.9rem;z-index:10}#toast.show{display:block}.empty{padding:24px 12px;text-align:center;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.section-gap{margin-top:22px}.decision{border-left:4px solid var(--accent)}.summary-value{font-size:1.45rem;font-weight:650;margin-bottom:6px}.meeting-step{display:grid;grid-template-columns:36px 1fr;gap:12px;margin-bottom:16px}.step-number{width:32px;height:32px;display:grid;place-items:center;border-radius:7px;background:#e2f3ec;color:var(--accent);font-weight:700}.meeting-step p{margin:5px 0 0;font-size:.875rem;color:var(--muted)}.field-note{font-size:.8rem;color:var(--muted);font-weight:400}.source-link{color:var(--accent)}
@media(min-width:1550px){.split{grid-template-columns:minmax(0,1fr) 350px}}@media(max-width:1200px){.split{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:16px}.stat-value{font-size:1.5rem}.sidebar{width:210px}.workspace{margin-left:210px}main{padding:24px}.topbar,.demo-banner{padding-left:24px;padding-right:24px}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:18px 16px}.brand{font-size:1rem}.brand-mark{width:34px;height:34px}.sidebar-caption,.sidebar-foot{display:none}.sidebar nav{display:flex;flex-wrap:wrap;gap:5px;margin-top:16px}.nav-item{font-size:.875rem;padding:9px 12px;min-height:44px}.workspace{margin-left:0}.topbar{padding:12px 16px}.demo-banner{padding:10px 16px}.date{font-size:.8rem}main{padding:20px 16px}.page-head{flex-direction:column;gap:10px}h1{font-size:1.5rem}.stats{grid-template-columns:1fr}.stat{padding:14px 16px}.stat-value{font-size:1.5rem}.grid-two,.form-grid{grid-template-columns:1fr}.panel{padding:16px}.details{font-size:.9rem}.site-tab{min-height:44px}.table-wrap{margin:0 -5px}.status{font-size:.8rem}.dialog-actions{flex-wrap:wrap}}
.pool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pool-card{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-align:left;padding:16px;display:grid;gap:12px;min-width:0}.pool-card:hover{border-color:#6aa99a}.pool-card.selected{border:2px solid var(--accent);padding:15px;background:#f1faf7}.card-head{display:flex;flex-wrap:wrap;gap:4px;justify-content:space-between;font-size:.9rem}.card-head small{font-size:.75rem;color:var(--muted)}.card-quantity{font-size:1.5rem;font-weight:650}.card-quantity small{font-size:.9rem;font-weight:400;color:var(--muted)}.card-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:.8rem;color:var(--muted)}.card-pair strong{display:block;font-size:.95rem;color:var(--ink);font-weight:600}.card-foot{font-size:.8rem;border-top:1px solid var(--line);padding-top:10px;color:var(--muted)}.card-foot.needs{color:#935100}.check{display:flex;align-items:center;gap:10px;font-weight:400;margin-bottom:18px}.check input{width:18px;height:18px;min-height:0;accent-color:var(--accent)}.water-strip{display:grid;gap:3px;background:#f2f7fa;padding:12px;border-radius:6px;font-size:.9rem}.water-strip small{font-size:.8rem;color:var(--muted);margin-bottom:8px}.cell-note{display:block;color:var(--muted);font-size:.8rem;margin-top:3px}.panel,.stat{min-width:0}@media(max-width:760px){.pool-grid{grid-template-columns:1fr}.details{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.details dd{overflow-wrap:anywhere}.topbar{flex-wrap:wrap}.stat-value{overflow-wrap:anywhere}}
@media(max-width:760px){.status{white-space:normal;max-width:100%}.panel-title>*{max-width:100%}.button{white-space:normal}.stat-value{font-size:1.35rem}}
.finance-controls{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:16px;flex-wrap:wrap}.finance-controls .site-tabs{margin:0;flex:1}.finance-controls label{min-width:210px}.finance-note{margin:0 0 20px;background:#fff4df;color:#825100}.cost-bars{display:grid;gap:16px;margin-top:24px}.cost-row{display:grid;grid-template-columns:minmax(200px,1fr) 2fr 130px;gap:18px;align-items:center;font-size:.875rem}.cost-row strong{text-align:right;font-variant-numeric:tabular-nums}.cost-track{height:10px;background:#e6f0f3;border-radius:4px;overflow:hidden}.cost-track span{display:block;height:100%;background:#087c66;border-radius:4px}[hidden]{display:none!important}.cost-row span{overflow-wrap:anywhere}@media(max-width:760px){.cost-row{grid-template-columns:minmax(0,1fr) 110px;gap:8px}.cost-track{grid-column:1/-1;grid-row:2}.finance-controls label{width:100%}.finance-controls .site-tabs{flex-basis:100%}}
.finance-table td:last-child{white-space:nowrap}
.production-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.electricity-panel .panel-title p{margin:4px 0 0}.electricity-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}.electricity-summary div{background:#f2f7fa;border-radius:7px;padding:12px 14px}.electricity-summary span{display:block;color:var(--muted);font-size:.8rem}.electricity-summary strong{display:block;margin-top:3px;font-size:1.1rem}tfoot td{border-top:2px solid var(--line);border-bottom:0;background:#f7fafb}@media(max-width:1100px){.production-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.production-stats,.electricity-summary{grid-template-columns:1fr}}
/* RODOS: supplied brand without the nursery tagline. */
.sidebar{background:#063d52}.brand{display:block;width:100%;aspect-ratio:1.48;overflow:hidden}.brand img{display:block;width:100%;height:auto}.sidebar-caption{margin-top:24px}@media(max-width:760px){.brand{width:144px}.sidebar{padding-top:8px}.sidebar nav{margin-top:8px}}

/* Inactive demo sites remain visible, without production data or actions. */
.inactive-site{background:#f1f3f4!important;color:#77818a!important;border-color:#dce1e5!important;box-shadow:none!important}
.inactive-site *{color:inherit!important}
.inactive-site .status,.inactive-site button,.site-tab:disabled{background:#e8ecef!important;color:#78828b!important;border-color:#d7dde2!important;cursor:not-allowed;box-shadow:none}
.site-tab small{display:block;font-size:10px;margin-top:3px;font-weight:400}

.pool-metrics{display:grid;gap:10px}.pool-metric{display:flex;flex-direction:column;gap:3px;font-size:.8rem;color:var(--muted)}.pool-metric strong{font-size:1.05rem;color:var(--ink);font-weight:650}
.pool-card.empty-pool,tr.empty-pool{background:#f0f2f4;color:#6f7982}.pool-card.empty-pool.selected{background:#e9edef;border-color:#80958e}.empty-pool .pool-metric strong{color:#65717b}
