/* HYDRO — a light working surface, with red reserved for actions and alerts. */
:root{color-scheme:light;--page:#f4f5f7;--canvas:#f8f9fb;--panel:#fff;--line:#dce0e6;--text:#252933;--muted:#626a78;--accent:#b91f35;--cyan:#246c86;background:var(--page);color:var(--text)}
body{background:var(--page)}
a{color:#a8182f}
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline-color:#b91f35}
button:disabled{opacity:.38}
.topbar{height:78px;max-width:none;padding-inline:max(28px,calc((100vw - 1348px)/2));background:#fff;border-top:4px solid var(--accent);border-bottom:1px solid var(--line)}
.brand{font-size:1.5rem;letter-spacing:-.6px}.brand-mark{width:35px;height:35px;border-radius:10px}
.topbar-label{color:var(--muted);border-color:var(--line);font-size:.875rem}.topbar-right{color:#7d4a53;font-weight:650;letter-spacing:1px}
.workspace{padding-top:24px}
.app-tabs{gap:4px;width:fit-content;background:#fff;border-color:var(--line);border-radius:12px;padding:5px;box-shadow:0 2px 5px #28304405;scrollbar-width:thin;scrollbar-color:#d6b5bb transparent}
.app-tabs button{color:#59616e;border-radius:8px;padding:12px 24px;flex:0 0 auto;min-width:max-content;white-space:nowrap}
.app-tabs button:hover{color:#96172a;background:#fff1f3}
.app-tabs button[aria-selected=true]{background:#b91f35;border-color:#b91f35;color:#fff;box-shadow:0 2px 5px #9b152526}
.page-intro{font-size:.875rem;color:#626a78}.eyebrow{color:#69717d}
.reset-button{background:#fff;color:#545c6a;border-color:var(--line);font-size:.875rem}.reset-button:hover{background:#fff2f4;border-color:#d5a5ae;color:#a0182d}
.stage-shell{border-color:var(--line);border-radius:16px;box-shadow:0 6px 24px #27303c06;background:#f8f9fb}
.stage-toolbar{background:#fff;border-color:var(--line);padding:14px 20px}
.layout-choices{background:#f3f4f6;border-color:#e4e6ea;padding:3px;border-radius:9px}
.layout-choices button{color:#69707c;min-height:40px}
.layout-choices button:hover{background:#fff;color:#98192c}
.layout-choices button.active{background:#fff;color:#a61d32;border-color:#e3c2c9;box-shadow:0 1px 4px #39172010}
.division-toggle{background:#fff;color:#a51d31;border-color:#ddb5bd}.division-toggle:hover{background:#fff2f4}.division-toggle.active{background:#fff0f2;border-color:#c66b7b;color:#96192b}
.division-order-note{background:#fff7f8;border-color:var(--line);color:#72535b}
.diagram{background-color:#f8f9fb;background-image:radial-gradient(#b9becb66 .85px,transparent .85px);background-size:24px 24px}
.hose-border{stroke:#536071;stroke-width:11}.pipe-group:hover .hose-border,.pipe-group:focus .hose-border{stroke:#9299a8;stroke-width:17}.pipe-group.selected .hose-border{stroke:#be617277}
.hose-light{stroke-opacity:.5}.flow-jet{fill:#209ccb;fill-opacity:.13;stroke:#208eb8;stroke-opacity:.23}.water-motion{stroke:#218db2;stroke-opacity:.38}
.control-caption,.flow-control .control-caption{color:#414957;font-weight:600}.control-caption .mini-unit{color:#67717e}
.control-body{background:#fff;border-color:#c7ccd5;box-shadow:0 3px 9px #2633480b}
.control-body>button.step-button{background:#f0f2f5;color:#596271}.control-body>button.step-button:hover{background:#e5e8ed;color:#9e1c31}.control-body>button.step-button:last-child{color:#a0182d}
.control-center>span{color:#68717d}.control-meta{color:#626b78}.control-meta:hover{color:#a0182d}
.flow-control .control-body{border-color:#d8a1ac;background:#fff}.flow-control .control-body .step-button{background:#fff0f3;color:#a71d31}.flow-control .control-meta{color:#626b78}
.control-center input[aria-invalid=true],.elevation-stepper input[aria-invalid=true]{color:#b21c30}
.pressure-float{background:#b91f35;border:1px solid #a8172d;color:#fff;box-shadow:0 5px 20px #95152824;border-radius:12px}
.pressure-float .eyebrow,.pressure-readout>span,.pressure-float small{color:#fff}.pressure-float small{opacity:.87}.pressure-readout strong{font-weight:750}
.elevation-control,.elevation-caption span{color:#67717d}.elevation-stepper{background:#ffffffeb;border-color:#d6dae2}.elevation-stepper button{color:#6a707d}.elevation-stepper button:hover{background:#f6eaed;color:#9e1e31}.elevation-stepper input{color:#4c5460}
.hub-label{color:#704752}.pump-label,.pump-label strong{color:#404753}.pump-label span{border-color:#bec4ce}
.stage-footer{background:#fff;border-color:var(--line);color:#616975;padding:15px 20px}.diameter-legend i{height:5px;box-shadow:0 0 0 1px #0001}
.panel{background:#fff;border-color:var(--line);border-radius:13px}.panel h2{font-weight:650}
.calculation-row{color:#646c78}.calculation-row strong{color:#383e49}.calculation-total{border-color:var(--line);color:#393e48}.calculation-total strong{color:#b51e34}
.formula-line{background:#f5f6f8;color:#626a78}.branch-result{background:#f8f9fb;border-color:#e3e6eb}.branch-result .branch-value{color:#3f4855}.branch-result small{color:#667180}.branch-result .critical-tag{color:#b11f35}.balance-note{color:#626a78}
.notice{background:#fff1ed;color:#923f24;border-color:#edc3b6}
.reference{background:#fff;border-color:var(--line)}.reference summary{color:#5e6673}.reference-content{border-color:var(--line);color:#657080}.reference-content strong{color:#303b48}th,td{border-color:#e1e5eb}th{color:#424e5c}.credits{color:#6a7685}
.page-footer{color:#7a818c}.page-footer strong{color:#b22135}
.dialog{background:#fff;color:#303743;border-color:#d8dce3;box-shadow:0 25px 100px #20273344}.dialog::backdrop{background:#20273380;backdrop-filter:blur(3px)}
.dialog-header{background:#fff;border-color:var(--line)}.close-button{background:#f5f6f8;border-color:#dce0e6;color:#626a78}.dialog-intro{color:#647081}
.edit-segment{border-color:#d9dee6;border-left-color:var(--hose-color)}.edit-segment-heading{color:#576272}.small-remove{color:#a65260}.small-remove:hover{background:#fff0f2}
.field-label{color:#5c6572}.diameter-option span{color:#424b58;border-color:#d5dbe4;border-bottom:3px solid var(--hose-color)}.diameter-option input:checked+span{background:#f0f2f5;box-shadow:0 0 0 1px #7c8593;border-color:#7c8593;border-bottom-color:var(--hose-color)}.diameter-option input:focus-visible+span{outline-color:#b91f35}
.edit-grid select,.edit-input,.count-editor{background:#fff;border-color:#cbd2dc}.count-editor button{background:#f1f3f6;color:#4c5764}.edit-info{color:#667280}.add-edit-segment{border-color:#c28a96;color:#a11a30;background:#fffafb}.edit-extra,.dialog-footer{border-color:var(--line)}.dialog-footer>span{color:#546272}.done-button{background:#b91f35;color:#fff}
.segment-move{background:#f5f6f8;color:#535f6d;border-color:#d5dbe4}.segment-move:hover:not(:disabled){background:#fff0f3;border-color:#c78c97}
.layout-option{background:#fafbfc;border-color:#d6dce5}.layout-option svg{color:#b1273c}.layout-option small{color:#646f7d}.layout-option.active{background:#fff1f4;border-color:#c06f7e}
.install-button{background:#fff;color:#a92135;border-color:#dfbdc3}.install-button:hover{background:#fff0f3}.install-steps{color:#53606e}
.equipment-row{background:#fff;border-color:var(--line);border-radius:12px;min-height:80px}
.equipment-quantity.is-issued,.equipment-check:has(input:checked){background:#fff2f4;border-color:#d594a1;box-shadow:inset 4px 0 #b91f35}
.equipment-counter{background:#fff;border-color:#d6dbe3}.equipment-counter button{background:#f1f3f6;color:#64707e}.equipment-counter button:hover:not(:disabled){background:#f9e4e9;color:#a0192e}.equipment-counter input{color:#313d4a}.equipment-counter input[aria-invalid=true],.equipment-error{color:#b22338}.equipment-check:hover{background:#fbf7f8;border-color:#c9a2ab}.equipment-check input{accent-color:#b91f35}
.controller-count{color:#9b2033;background:#fff1f4;border-radius:7px;padding:6px 10px}
.controller-secondary{background:#fff;color:#a11d31;border-color:#ddbac2}.controller-secondary:hover{background:#fff0f3}.controller-sound-status{color:#68717d}.controller-sound-status.is-error{color:#ac2234}.controller-use-note,.controller-calculation{color:#697381}
.team-card{background:#fff;border-color:var(--line);border-radius:13px}.team-heading{background:#f8f9fb;border-color:var(--line)}
.team-number{background:#fae7eb;color:#a32236}.team-name{background:#fff;color:#303844;border-color:#d7dde5}.team-name::placeholder{color:#424a57}.team-name:hover{border-color:#bd8c98}
.team-status,.team-member legend,.team-field>span,.team-field>label,.team-result-label,.team-member-time,.team-state-note{color:#636e7c}
.team-field input{background:#fff;color:#303b48;border-color:#d2d9e3}.team-field input::placeholder{color:#87909c}.team-field input[aria-invalid=true]{color:#b32035;border-color:#c85062}.team-field input.is-low{color:#b51b31;border-color:#ce586a;background:#fff1f4}.team-field input:disabled:not(.is-low){color:#556372;background:#f6f7f9;border-color:#e0e4eb}
.team-input-unit>span{color:#737d8b}.team-field small{color:#b1253b}.team-consumption-option{background:#fafbfc;border-color:#bbc4d1;color:#5b6675}.team-consumption-option:hover:not(:disabled){background:#f8e9ed}
.team-member-time strong{color:#404d5b}.team-result{border-color:var(--line)}.team-result small{color:#75808e}.team-timer{color:#aa1d33;font-weight:700}
.team-engage{background:#b91f35;border-color:#b91f35;color:#fff}.team-engage:hover:not(:disabled){background:#a1172c}
.team-card[data-state=active]{border-color:#be7887}.team-card[data-state=active] .team-status{color:#ab2237}
.team-card[data-state=warning],.team-card[data-state=expired]{border-color:#c3213a;box-shadow:0 0 0 1px #c3213a}
.team-card[data-state=warning] .team-heading,.team-card[data-state=expired] .team-heading{background:#ffe8ed}
.team-card[data-state=warning] .team-status,.team-card[data-state=expired] .team-status,.team-card[data-state=warning] .team-timer,.team-card[data-state=expired] .team-timer,.team-card[data-state=warning] .team-state-note,.team-card[data-state=expired] .team-state-note{color:#aa132c}
.team-card[data-state=returned] .team-status,.team-card[data-state=returned] .team-timer{color:#6d7886}
.controller-alarm{background:#fff;color:#2b303b;border-color:#b91f35}.controller-alarm::backdrop{background:#21263399}.controller-alarm-header{background:#b91f35;color:#fff;border-color:#a11b2f}.controller-alert-label,.controller-alarm-header p{color:#fff}.controller-alert{background:#fff1f4;border-color:#e3b5bf}.controller-alert h3{color:#9d1329}.controller-alert p{color:#87505d}.controller-alert button{background:#b91f35;color:#fff}.controller-alarm-audio{color:#ac1d33}
@media(max-width:800px){.topbar{height:65px;padding-inline:18px}.brand{font-size:1.25rem}.brand-mark{width:30px;height:30px}.workspace{padding-top:18px}.app-tabs{width:100%;gap:3px}.app-tabs button{flex:1 0 auto;min-width:max-content;font-size:.875rem;padding:10px 12px;white-space:nowrap}.page-intro{font-size:.875rem}.stage-toolbar{padding:11px 12px}.stage-footer{padding:13px 14px}.dock:not([hidden]){background:#b91f35;color:#fff;border-color:#9f162b;box-shadow:0 4px 18px #8d18392b}.dock>span,.dock small{color:#fff}.controller-count{font-size:.875rem}}
@media(max-width:370px){.app-tabs button{padding:10px 9px}.topbar-right{font-size:.7rem}}

/* Surfaces gris ardoise, relief et accents rouges. */
:root{--page:#dfe3e9;--canvas:#e9edf1;--panel:#f7f8fa;--line:#bcc5d0;--muted:#566171}
body{background:linear-gradient(145deg,#e6e8ed,#d9dfe7);min-height:100dvh}
.topbar{height:68px;background:#303946;border-top-color:#b91f35;border-bottom:1px solid #242d39;box-shadow:0 4px 16px #20304818;color:#fff}
.topbar-label{color:#d2d8e0;border-color:#596271}.brand-dot{color:#ff8c9b}.brand-mark{background:#b91f35}
.workspace{padding-top:20px}.app-tabs{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;background:#cdd4dd;border:1px solid #b6c0ce;box-shadow:inset 0 1px 2px #28384e0d;gap:5px;padding:5px;margin-bottom:18px}
.app-tabs button{width:100%;min-width:0;flex:none;padding:11px 10px;white-space:nowrap;color:#3c485b;font-size:.9375rem}
.app-tabs button[aria-selected=true]{background:#ad1e34;border-color:#9c142b;box-shadow:0 3px 8px #79213724}
.page-heading{margin-bottom:15px}.page-intro{color:#4e5b6c}.reset-button{background:#f4f5f7;border-color:#b8c2cf;color:#445268}
.stage-shell{background:#e9edf1;border-color:#acb8c8;box-shadow:0 9px 28px #29385116}
.stage-toolbar,.stage-footer{background:#d7dee7;border-color:#b7c2d0;color:#445268}.layout-choices{background:#c5ceda;border-color:#afbdce}.layout-choices button{color:#44536b}
.division-toggle{background:#f5edf0;border-color:#c79da7;color:#932139}.division-toggle.active{background:#a71e35;border-color:#8c1429;color:#fff}
.diagram{background-color:#e9edf1;background-image:radial-gradient(#8191a455 .85px,transparent .85px)}
.control-body{border-color:#b1bdcd;box-shadow:0 3px 9px #26334818}.control-body>button.step-button{background:#dae1ea;color:#41536b}
.pressure-float{background:#a61c33;border-color:#861b2d;box-shadow:0 5px 18px #6e243b2a}
.panel,.equipment-row,.team-card{background:#f6f7f9;border-color:#b8c3d0;box-shadow:0 3px 10px #273b5510}
.team-heading{background:#dce2eb;border-color:#bcc7d6}.team-number{background:#af243a;color:white}
.equipment-counter button{background:#dce3ed;color:#44536b}.equipment-quantity.is-issued,.equipment-check:has(input:checked){background:#efdae1;border-color:#bf7e8c;box-shadow:inset 4px 0 #af243a}
.pressure-summary{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;margin-top:16px;padding:18px 20px;border-left:4px solid #ad1e34}
.summary-total{border-right:1px solid #c7ced8;padding-right:20px;display:flex;flex-direction:column;justify-content:center;gap:7px}
.summary-total h2{font-size:.875rem;margin:0;color:#4b5668}.summary-total>strong{color:#a71d34;font-size:1.8rem;line-height:1.2;font-variant-numeric:tabular-nums}.summary-total>span{font-size:.75rem;color:#5b6778}
.summary-lines-heading{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#596678;font-size:.75rem;margin-bottom:8px}.summary-lines-heading strong{color:#303e50;font-weight:650}
.pressure-summary .branch-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}.pressure-summary .branch-result{padding:9px 11px;gap:4px 8px;background:#e8edf3;border-color:#c1cad6;border-radius:8px}.pressure-summary .branch-result.is-critical{background:#f0e2e7;border-color:#d1a8b3}
.pressure-summary .branch-result strong{font-size:.8125rem}.pressure-summary .branch-result small,.pressure-summary .critical-tag{grid-column:1/-1;text-align:left;font-size:.6875rem}.pressure-summary .balance-note{font-size:.75rem;margin-top:8px;line-height:1.4}
@media(max-width:800px){.topbar{height:60px}.workspace{padding-top:15px}.app-tabs button{font-size:.875rem}.pressure-summary{grid-template-columns:150px minmax(0,1fr);gap:13px;padding:14px}.summary-total{padding-right:12px}.summary-total>strong{font-size:1.6rem}}
@media(max-width:600px){.app-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.app-tabs button{padding:10px 8px;min-height:44px;font-size:.875rem}.pressure-summary{grid-template-columns:1fr;gap:12px}.summary-total{display:grid;grid-template-columns:1fr auto;border-right:0;padding-right:0;padding-bottom:10px;border-bottom:1px solid #c6ced9;align-items:center;gap:4px 12px}.summary-total>strong{grid-column:2;grid-row:1/3}.summary-total>span{grid-row:2}.pressure-summary .branch-results{grid-template-columns:1fr}.pressure-summary .branch-result{grid-template-columns:1fr auto}.pressure-summary .branch-result small,.pressure-summary .critical-tag{font-size:.75rem}}

/* Même palette pour la barre système, l’en-tête et les trois outils. */
:root{--page:#e9e5e5;--canvas:#f0eded;--line:#cbbfc2;--muted:#665c61}
body{background:#e9e5e5}
.topbar{background:#e5dddf;border:0;box-shadow:none;color:#8f1d30;height:64px}
.topbar-label{color:#746169;border-color:#c8b6bd}.brand-dot{color:#b32941}.brand-mark{background:#a51e34}
.workspace{padding-top:10px}.app-tabs{grid-template-columns:repeat(3,minmax(0,1fr));background:#e5dddf;border-color:#cdbec3;box-shadow:none;gap:4px;padding:4px}.app-tabs button{color:#67545d}.app-tabs button[aria-selected=true]{background:#a51e34;border-color:#a51e34}
.stage-toolbar,.stage-footer{background:#e2dbde;border-color:#cbbfc5}.layout-choices{background:#d5cdd2;border-color:#c4b8c1}.layout-choices button{color:#615561}.stage-shell{border-color:#c1b7c1}.diagram{background-color:#efedef}.panel,.equipment-row,.team-card{border-color:#c7bec7}.team-heading{background:#e3dce2;border-color:#cbbfcb}
.pressure-tools{display:flex;justify-content:flex-end;margin:0 0 12px}.equipment-open{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;min-height:42px;padding:9px 13px;border:1px solid #bfa5ad;border-radius:10px;background:#f9f4f5;color:#8f2337;font-weight:600;font-size:.875rem;box-shadow:0 2px 6px #39242b09}.equipment-open:hover{background:#fff}.equipment-open svg{width:20px;height:20px}.equipment-open>span{margin-left:4px}
.equipment-dialog{width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0}.equipment-dialog .dialog-header{position:sticky;top:0;z-index:2;background:#eee5e8}.equipment-dialog .dialog-body{padding:16px}.equipment-dialog .equipment-list{display:grid;grid-template-columns:1fr;gap:8px}.equipment-dialog .equipment-heading{gap:10px;margin-bottom:14px}.equipment-dialog .equipment-row{min-height:66px;padding:12px 15px}.equipment-dialog .page-intro{line-height:1.5}.equipment-dialog .equipment-name{font-size:.9375rem}.equipment-dialog .equipment-counter{max-width:138px}.equipment-dialog .close-button svg{width:20px;height:20px}
@media(max-width:600px){.topbar{height:58px}.app-tabs{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}.app-tabs button{padding:10px 3px;min-height:44px;font-size:.8125rem}.pressure-tools{margin-bottom:12px}.equipment-dialog .dialog-header h2{font-size:1.1rem;white-space:nowrap}.equipment-dialog .equipment-counter{width:130px}.equipment-dialog .equipment-heading .reset-button{min-width:42px;width:42px;padding:10px}.equipment-dialog .equipment-heading .reset-button span{display:none}}

.pressure-tools{align-items:center;gap:10px}
#panel-pressure>.page-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
#panel-pressure>.page-heading .page-intro{white-space:nowrap;font-size:clamp(.6875rem,3vw,.9375rem);letter-spacing:-.02em;line-height:1.5}
.controller-grid[data-count="1"]{grid-template-columns:minmax(0,1fr);max-width:760px;margin-inline:auto}
.controller-add{min-height:44px;padding:10px 15px;border:1px solid #92182e;border-radius:9px;background:#a51e34;color:#fff;font-size:.875rem;font-weight:650}
.controller-add:hover:not(:disabled){background:#8e192d}
.controller-add:disabled{background:#e3d9dd;border-color:#ccbec4;color:#73626b;cursor:default}
.workspace{padding-bottom:36px}
@media(max-width:600px){#panel-pressure>.page-heading .reset-button{min-width:42px;width:42px;padding:10px}#panel-pressure>.page-heading .reset-button span{display:none}.workspace{padding-bottom:78px}}
@media(max-width:350px){#panel-pressure>.page-heading{gap:6px}#panel-pressure>.page-heading .page-intro{font-size:.625rem;letter-spacing:-.025em}}
