:root{--bg:#0d1117;--panel:#171d25;--panel2:#202832;--line:#3a4652;--text:#f5f7fa;--muted:#aeb8c4;--red:#d71920;--red2:#ff252b;--yellow:#ffd21c;--green:#21c75a;--blue:#24a7df;--orange:#f1742b;--shadow:0 14px 40px #0008}
*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;background:radial-gradient(ellipse at 18% 0%,#202832 0,#10151c 42%,#090c11 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.45}.app-shell{max-width:1700px;margin:0 auto;min-height:100vh;overflow:hidden;background:#0e131a;border-left:1px solid #303943;border-right:1px solid #303943}.hero{min-height:170px;padding:25px clamp(20px,4vw,64px);display:flex;align-items:center;gap:28px;position:relative;overflow:hidden;background:linear-gradient(105deg,#1b2026 0%,#10151b 60%,#090d12 100%);border-bottom:4px solid var(--red)}.hero:before{content:"";position:absolute;width:42%;height:240%;left:-8%;top:-70%;background:radial-gradient(ellipse,#b3261b 0%,#55221d 35%,transparent 70%);opacity:.55;transform:rotate(-12deg)}.hero:after{content:"";position:absolute;right:-30px;top:-80px;width:210px;height:310px;border-left:12px solid var(--red);border-right:12px solid var(--red);transform:skew(-25deg);opacity:.55}.hero-emblem{z-index:1;width:92px;height:92px;flex:0 0 92px;border:2px solid #89929d;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#303b46,#10151b);box-shadow:0 0 0 6px #ffffff0b,0 0 28px #e11d2440}.hero-emblem span{font-size:45px;filter:drop-shadow(0 2px 4px #000)}.hero-emblem i{position:absolute;width:78px;height:5px;background:var(--yellow);transform:rotate(-23deg);margin-top:54px;border-radius:5px}.hero-copy{z-index:1;min-width:0}.eyebrow{margin:0 0 6px;color:#c7ced6;font-weight:800;font-size:.72rem;letter-spacing:.18em}.red-text{color:#ff4b51}.hero h1{margin:0;font-size:clamp(1.55rem,3.4vw,3.2rem);font-weight:950;line-height:1.03;letter-spacing:-.045em;font-style:italic}.hero h1 strong{display:block;color:var(--red2);font-size:1.16em}.hero-subtitle{margin:10px 0 0;color:#e4e8ed;font-size:clamp(.9rem,1.6vw,1.25rem);font-style:italic;font-weight:750}.hero-note{z-index:1;margin-left:auto;padding-left:25px;border-left:4px solid var(--red);font-weight:750;font-style:italic;color:#e5e8ec;white-space:nowrap}.workspace{display:grid;grid-template-columns:205px minmax(0,1fr);min-height:640px}.sidebar{padding:22px 12px;background:#0b1016;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:9px}.nav-item{border:1px solid transparent;background:transparent;color:#d7dce2;padding:14px 13px;display:flex;align-items:center;gap:13px;text-align:left;border-radius:10px;font-size:.93rem;font-weight:650;cursor:pointer;transition:.18s}.nav-item:hover{background:#202832;border-color:#39434d}.nav-item.active{background:linear-gradient(110deg,#f12027,#a90d13);box-shadow:0 7px 20px #d7192030;color:white}.nav-icon{font-size:1.55rem;width:30px;text-align:center;font-weight:900}.main-content{padding:26px clamp(15px,2.3vw,34px) 34px;min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.section-heading h2,.placeholder-view h2{font-size:1.55rem;margin:0;font-weight:900;letter-spacing:-.02em}.status-chip{font-size:.76rem;color:#c6d0da;border:1px solid #3c4a56;background:#1b2630;padding:7px 11px;border-radius:999px;white-space:nowrap}.status-chip i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#21c75a;margin-right:6px;box-shadow:0 0 10px #21c75a}.calc-layout{display:grid;grid-template-columns:minmax(0,1.43fr) minmax(320px,.85fr);gap:18px;align-items:start}.form-card,.result-card{background:linear-gradient(145deg,#1b222b,#11171e);border:1px solid #56616c;border-radius:18px;box-shadow:var(--shadow);min-width:0}.form-card{padding:20px}.field-section{padding:0 0 19px;margin-bottom:18px;border-bottom:1px solid #35404a}.field-section:last-of-type{border:0;margin-bottom:4px}.section-label{display:flex;align-items:center;gap:10px;margin-bottom:15px}.section-symbol{font-size:1.7rem;color:var(--red2);font-weight:900}.section-label h3{font-size:1.05rem;margin:0;font-weight:850}.field-label{display:block;font-weight:750;margin-bottom:9px}.diameter-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:17px}.diameter-button{min-height:43px;border:1px solid #485564;border-radius:9px;background:linear-gradient(#354250,#29333e);color:#f2f5f8;font-weight:850;cursor:pointer}.diameter-button small{font-size:.7rem}.diameter-button:hover{border-color:#9aa7b4}.diameter-button.selected{background:linear-gradient(#ef252c,#b80d14);border-color:#ff4147;box-shadow:0 4px 12px #e719223a}.field-grid{display:grid;gap:13px}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:.86rem;font-weight:750;color:#e3e8ed}.field label span{color:#aeb9c5;font-weight:600}.field input,.field select{width:100%;min-height:43px;border-radius:8px;border:1px solid #5b6876;background:#f0f3f6;color:#121820;font:700 1rem inherit;padding:9px 12px;outline:none}.field input:focus,.field select:focus{border-color:#ff343a;box-shadow:0 0 0 3px #ed202633}.field input::placeholder{color:#707b86;font-weight:500}.field select{background:#e7ebef;color:#121820}.helper{font-size:.74rem;color:#9eabb8;line-height:1.45;margin:1px 0 0}.inline-helper{margin-top:9px}.align-end{align-items:end}.callout{border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;margin-bottom:14px;font-size:.83rem}.info-callout{background:#102a3a;border:1px solid #1d6c93;color:#d7edf8}.warning-callout{background:#33280f;border:1px solid #a87913;color:#ffe9b2}.callout strong{font-size:.87rem}.compact-section{padding-bottom:8px}.form-actions{display:flex;gap:10px;margin-top:14px}.primary-button,.secondary-button,.save-button{min-height:51px;border-radius:10px;font-weight:900;font-size:1rem;cursor:pointer;transition:.18s}.primary-button{flex:1;border:1px solid #ff454b;color:#fff;background:linear-gradient(100deg,#ed2028,#b70d14);box-shadow:0 7px 20px #c0182030}.primary-button:hover{filter:brightness(1.12);transform:translateY(-1px)}.primary-button span{margin-right:9px}.secondary-button{padding:0 20px;background:linear-gradient(#394552,#2a343e);color:#f5f7f9;border:1px solid #657382}.secondary-button:hover{background:#455362}.result-card{overflow:hidden;position:sticky;top:14px}.result-header{display:flex;align-items:center;gap:14px;padding:13px 20px;background:linear-gradient(100deg,#f01921,#ae070e);border-bottom:1px solid #ff5b60}.result-header h2{margin:0;font-size:1.2rem;font-weight:900}.gauge-icon{font-size:1.8rem}.result-body{padding:19px}.result-kicker{text-align:center;font-weight:850;color:#e6ebf0;font-size:1rem;margin:0 0 13px}.result-status{min-height:92px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:14px;background:linear-gradient(110deg,#1a722e,#20a63e);border:2px solid #35ec64;box-shadow:inset 0 1px 10px #ffffff13;color:white}.result-status.waiting{background:linear-gradient(110deg,#26313d,#1b242e);border-color:#556371;color:#aeb8c2;box-shadow:none}.result-status.invalid{background:linear-gradient(110deg,#6e181d,#3d1117);border-color:#d94a50}.result-status span{font-size:clamp(2.7rem,4.2vw,3.7rem);font-weight:950;letter-spacing:-.05em;line-height:1}.result-status small{font-size:1.3rem;font-weight:850}.result-caption{text-align:center;color:#aeb8c4;font-size:.77rem;margin:9px 0 17px;min-height:18px}.breakdown{display:flex;flex-direction:column;gap:11px;padding:4px 0 16px;border-bottom:1px solid #69737d}.breakdown-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;font-size:.84rem;color:#e1e6eb}.breakdown-row strong{font-size:.88rem;color:#fff;font-variant-numeric:tabular-nums}.key{width:8px;height:20px;border-radius:4px}.key.green{background:#26d35e}.key.blue{background:#20abe9}.key.orange{background:#f17b32}.key.yellow{background:#ffd21c}.key.gray{background:#8995a0}.total-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;font-weight:850;font-style:italic}.total-row strong{font-size:1.45rem;color:var(--yellow);white-space:nowrap}.secondary-metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;background:#151f28;border:1px solid #34414d;border-radius:10px;padding:11px}.secondary-metrics div{display:flex;flex-direction:column;gap:3px}.secondary-metrics span{font-size:.66rem;color:#9da9b4}.secondary-metrics strong{font-size:.83rem;color:#f5f7fa}.alert{font-size:.76rem;line-height:1.45;border-radius:9px;padding:10px 12px;margin-top:13px}.warning-alert{background:#34270f;border:1px solid #aa7712;color:#ffe6a6}.error-alert{background:#39191c;border:1px solid #bd3c42;color:#ffd9dc;margin:0 0 12px}.save-button{width:100%;margin-top:13px;background:#25303a;border:1px solid #596876;color:white;font-size:.82rem;min-height:43px}.save-button:disabled{opacity:.45;cursor:not-allowed}.save-button:not(:disabled):hover{border-color:#f5c915}.feature-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;padding:0 14px 14px}.feature-tile{min-height:102px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:3px;background:linear-gradient(145deg,#202934,#11171e);border:1px solid #56616b;border-radius:12px;padding:10px 4px}.feature-tile span{font-size:1.5rem;color:var(--yellow);font-weight:900}.feature-tile strong{font-size:.79rem;line-height:1.15}.feature-tile small{font-size:.64rem;color:#a9b3bd}.bottom-banner{padding:13px 20px;background:linear-gradient(90deg,#b40810,#ed1c24 55%,#8e090f);font-size:.88rem;letter-spacing:.05em;font-weight:900;font-style:italic;color:#fff}.placeholder-view{max-width:900px;min-height:540px}.placeholder-view h2{margin-bottom:20px}.reference-item{padding:16px;border:1px solid #3c4854;background:#18212a;border-radius:11px;margin:12px 0}.reference-item strong{font-size:1rem}.reference-item p{margin:7px 0;color:#c3ccd5;font-size:.86rem}.reference-item a{color:#ffd21c;font-weight:750;font-size:.83rem;text-decoration:none}.reference-item a:hover{text-decoration:underline}.empty-state{padding:45px 25px;text-align:center;border:1px dashed #52606d;border-radius:15px;background:#151c24}.empty-state span{font-size:3rem;color:var(--yellow)}.empty-state h3{margin:8px 0}.empty-state p{max-width:500px;margin:0 auto;color:#aeb9c5}.history-list{display:flex;flex-direction:column;gap:10px}.history-entry{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px;border:1px solid #3d4a56;background:#18212a;border-radius:10px}.history-entry strong{color:var(--yellow);font-size:1.1rem}.history-entry p{margin:4px 0 0;color:#acb8c4;font-size:.75rem}.history-entry button{background:#3c2225;border:1px solid #844047;color:#ffd5d8;border-radius:7px;padding:7px 10px;cursor:pointer}.hidden{display:none!important}
@media(max-width:1100px){.workspace{grid-template-columns:165px minmax(0,1fr)}.calc-layout{grid-template-columns:minmax(0,1fr)}.result-card{position:static}.feature-strip{grid-template-columns:repeat(4,1fr)}.diameter-options{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.hero{padding:18px 17px;gap:13px;min-height:125px}.hero-emblem{width:55px;height:55px;flex-basis:55px}.hero-emblem span{font-size:28px}.hero-emblem i{width:50px;margin-top:35px;height:4px}.hero-note{display:none}.hero h1{font-size:1.35rem}.hero-subtitle{font-size:.82rem;margin-top:6px}.eyebrow{font-size:.58rem}.workspace{display:block;min-height:unset}.sidebar{padding:8px;display:grid;grid-template-columns:repeat(5,1fr);gap:5px;border-right:0;border-bottom:1px solid var(--line)}.nav-item{padding:8px 2px;min-height:64px;display:flex;flex-direction:column;gap:2px;justify-content:center;text-align:center;font-size:.62rem;line-height:1.12}.nav-icon{font-size:1.3rem;width:auto}.main-content{padding:18px 11px 24px}.section-heading{align-items:flex-start}.section-heading h2,.placeholder-view h2{font-size:1.3rem}.status-chip{font-size:.63rem;padding:6px 8px}.form-card{padding:14px 12px;border-radius:13px}.section-label h3{font-size:.95rem}.field-grid.two-columns{grid-template-columns:1fr 1fr;gap:10px}.field label{font-size:.76rem}.field input,.field select{min-height:42px;padding:8px;font-size:.91rem}.diameter-options{grid-template-columns:repeat(3,1fr);gap:6px}.diameter-button{min-height:40px}.form-actions{flex-direction:column}.secondary-button{min-height:45px}.result-body{padding:14px}.result-status{min-height:80px}.breakdown-row{font-size:.78rem}.total-row{font-size:.86rem}.total-row strong{font-size:1.25rem}.secondary-metrics{grid-template-columns:1fr 1fr 1fr;padding:8px 6px}.secondary-metrics span{font-size:.59rem}.secondary-metrics strong{font-size:.72rem}.feature-strip{grid-template-columns:repeat(2,1fr);padding:0 10px 12px}.feature-tile{min-height:82px}.feature-tile:last-child{grid-column:span 2}.bottom-banner{font-size:.7rem;text-align:center}.reference-item{padding:13px}}
@media(max-width:390px){.field-grid.two-columns{grid-template-columns:1fr}.section-heading{display:block}.status-chip{display:inline-block;margin-top:9px}.result-status span{font-size:2.5rem}.diameter-options{grid-template-columns:repeat(3,1fr)}}

/* --- V0.3: visual system aligned with the approved firefighter dashboard mockup --- */
:root{--bg:#090d12;--panel:#151c24;--panel2:#202a35;--line:#46525e;--text:#f5f7fa;--muted:#aeb8c4;--red:#d71920;--red2:#f52229;--yellow:#ffd21c;--green:#20d84e;--blue:#21b8eb;--orange:#f47724}
body{background:#080c11;color:var(--text);font-family:Arial,Helvetica,sans-serif}
.app-shell{max-width:1900px;background:#0b1016;border:0;box-shadow:0 0 70px #0009}
.hero{min-height:220px;padding:20px 30px;gap:18px;border-bottom:4px solid #b90e16;background-color:#0a0e13;background-image:linear-gradient(90deg,transparent 0%,rgba(7,10,14,.18) 25%,rgba(7,10,14,.88) 42%,#090d12 70%),url('hero-firefighter.webp');background-repeat:no-repeat;background-position:center,left center;background-size:100% 100%,500px 100%;}
.hero:before,.hero:after{display:none}
.hero-emblem{display:none}
.hero-copy{margin-left:clamp(270px,30vw,440px);z-index:1;flex:1}
.hero .eyebrow{display:none}
.hero h1{font-size:clamp(1.9rem,3.45vw,3.6rem);line-height:.98;letter-spacing:-.035em;font-weight:950;text-shadow:0 2px 10px #000}
.hero h1 strong{font-size:1.17em;color:#ed151d}
.hero-subtitle{margin-top:9px;font-size:clamp(1rem,1.75vw,1.45rem);font-weight:900}
.hero-note{font-size:clamp(.85rem,1.25vw,1.15rem);padding-left:18px;line-height:1.18;max-width:190px;white-space:normal}
.workspace{grid-template-columns:190px minmax(0,1fr);min-height:0}
.sidebar{padding:18px 9px;background:linear-gradient(180deg,#101720,#0b1016);border-right:1px solid #39434d;gap:8px}
.nav-item{min-height:78px;border-radius:12px;padding:10px 12px;gap:12px;font-size:.97rem;font-weight:700;line-height:1.08}
.nav-icon{width:36px;font-size:1.9rem;color:#e3e8ed}
.nav-item.active{background:linear-gradient(110deg,#f51a22,#a60810);box-shadow:0 8px 18px #df101d3d}
.main-content{padding:12px 14px 22px}
#view-calc{width:100%}
.calc-layout{grid-template-columns:minmax(0,1.52fr) minmax(350px,.9fr);gap:14px;align-items:stretch}
.form-card,.result-card{border:1px solid #596571;border-radius:18px;background:linear-gradient(145deg,#1b222b,#10161d);box-shadow:0 12px 35px #0008}
.form-card{padding:13px 18px 16px}
.form-card-heading{display:flex;align-items:center;gap:13px;min-height:45px;margin:-1px -2px 13px;padding:0 3px 12px;border-bottom:1px solid #3b4651}
.form-heading-icon{color:#f01821;font-size:2.4rem;line-height:1;font-weight:900;text-shadow:0 2px 9px #e51b2744}
.form-card-heading .eyebrow{font-size:.58rem;margin:0 0 1px;letter-spacing:.13em}
.form-card-heading h2{font-size:1.35rem;line-height:1.05;margin:0;font-style:italic;font-weight:900}
.status-chip{margin-left:auto;font-size:.67rem;padding:5px 9px;color:#bdc8d3;border-color:#3b4854}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:17px}
.form-column{min-width:0}
.right-column{border-left:1px solid #36414b;padding-left:17px}
.field-section{padding:0 0 13px;margin:0 0 13px;border-bottom:1px solid #37424d}
.field-section:last-child{border-bottom:0;margin-bottom:0}
.diameter-section{padding-bottom:14px}
.field-label{font-size:1rem;margin-bottom:8px}
.section-label{gap:9px;margin:0 0 9px}
.section-symbol{font-size:1.45rem;color:#e5eaf0}
.section-label h3{font-size:1rem;font-weight:850}
.diameter-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0 0 4px}
.diameter-button{min-height:46px;border-radius:9px;background:linear-gradient(#34414f,#26323e);border:1px solid #465462;font-size:1rem;font-weight:900}
.diameter-button small{font-size:.72rem}
.diameter-button.selected{background:linear-gradient(#f51a22,#bb0a13);border-color:#f84449;box-shadow:0 4px 12px #e719223a}
.custom-diameter-row{display:flex;align-items:center;gap:12px;min-height:23px}
.text-button{border:0;background:none;color:#c6d0da;font-size:.68rem;text-decoration:underline;padding:1px 0;cursor:pointer}
.custom-diameter-field{display:flex;flex-direction:row;align-items:center;gap:7px}
.custom-diameter-field label{font-size:.7rem!important}
.custom-diameter-field input{width:100px!important;min-height:29px!important;padding:4px 8px!important}
.field-grid{gap:9px}
.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
.field{gap:5px}
.field label{font-size:.81rem;line-height:1.15;font-weight:750;color:#e4e9ee}
.field label span{font-size:.75rem;color:#aeb8c4}
.field input,.field select{min-height:41px;padding:8px 10px;border:1px solid #dce2e8;border-radius:7px;background:#f1f4f7;color:#111820;font:800 1rem Arial,Helvetica,sans-serif}
.field input:focus,.field select:focus{outline:none;border-color:#fa3d43;box-shadow:0 0 0 3px #f0202b33}
.field select{background:#e8edf2;color:#17202a}
.field-span-two{grid-column:1/-1}
.helper{font-size:.68rem;color:#9da9b5;line-height:1.35;margin-top:7px}
.top-inputs{margin-bottom:15px;gap:10px}
.hose-section{padding-bottom:12px;margin-bottom:12px}
.hose-section .section-label{margin-bottom:8px}
.hose-section .field label{font-size:.74rem}
.model-note{font-size:.68rem;line-height:1.35;padding:7px 9px;margin:8px 0 0;border-radius:7px;background:#121d27;border-left:3px solid #eabf18;color:#c4d0dc}
.friction-section{padding-bottom:4px;margin-bottom:0}
.friction-section .section-label{margin-bottom:8px}
.friction-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.friction-pair .field label,.source-field label,.internal-field label{font-size:.7rem}
.friction-pair input,.source-field input,.internal-field input{min-height:37px;font-size:.86rem}
.source-field,.internal-field{margin-top:8px}
.published-data-button{display:block;width:100%;margin-top:8px;padding:8px 10px;border:1px solid #d2a20b;border-radius:7px;background:#3c310f;color:#ffeaa4;font-size:.72rem;font-weight:800;cursor:pointer}
.published-data-button:hover{background:#574412}
.loss-toggle{display:grid;grid-template-columns:18px minmax(0,1fr) 70px 24px;gap:7px;align-items:center;padding:4px 0;font-size:.78rem;color:#eef1f4;cursor:pointer}
.loss-toggle>input[type=checkbox]{width:17px;height:17px;accent-color:#f01a22;margin:0}
.loss-toggle .loss-value{width:100%;min-height:29px;padding:4px 6px;border:1px solid #61707d;border-radius:6px;background:#303c48;color:#fff;text-align:right;font:800 .82rem Arial,Helvetica,sans-serif}
.loss-toggle .loss-value:disabled{opacity:.4}
.loss-toggle b{font-size:.72rem;color:#b8c3ce;font-weight:700}
.compact-section .helper{display:block;margin-top:7px}
.form-actions{display:grid;grid-template-columns:1.55fr 1fr;gap:10px;margin-top:13px;padding-top:12px;border-top:1px solid #39434d}
.primary-button,.secondary-button{min-height:53px;border-radius:10px;font-size:1.18rem;font-style:italic;font-weight:900}
.primary-button{background:linear-gradient(100deg,#f21a22,#c00810);border:1px solid #fb4147;box-shadow:0 7px 18px #b90a143d}
.primary-button span{font-size:1.1rem}
.secondary-button{background:linear-gradient(#394653,#2a3540);border:1px solid #697785;color:#f3f5f7}
.result-card{overflow:hidden;position:sticky;top:12px;align-self:start}
.result-header{min-height:63px;padding:11px 19px;background:linear-gradient(100deg,#f01921,#bf050c);gap:14px}
.result-header h2{font-size:1.5rem;font-style:italic;font-weight:900}
.gauge-icon{font-size:2rem}
.result-body{padding:15px 17px 17px}
.result-kicker{font-size:1.03rem;font-style:italic;font-weight:900;margin:0 0 11px;color:#f1f3f6}
.result-status{min-height:93px;border-radius:14px;position:relative;justify-content:center;padding:8px 48px 8px 14px;background:linear-gradient(110deg,#1c9b31,#20b83e);border:2px solid #39f05f;box-shadow:inset 0 1px 10px #ffffff19}
.result-status.waiting{background:linear-gradient(110deg,#26313d,#1b242e);border-color:#556371}
.result-status.invalid{background:linear-gradient(110deg,#6e181d,#3d1117);border-color:#d94a50}
.result-status span#result-value{font-size:clamp(2.8rem,4.6vw,4rem);font-weight:950;font-style:italic;letter-spacing:-.06em}
.result-status small{font-size:1.75rem;font-style:italic}
.result-check{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:none;width:54px;height:54px;border:5px solid #43f15b;border-radius:50%;font-size:2.3rem;line-height:1.36;text-align:center;color:#fff;font-weight:900}
.result-status:not(.waiting):not(.invalid) .result-check{display:block}
.result-caption{text-align:center;font-size:.71rem;line-height:1.3;margin:8px 0 12px;min-height:18px;color:#acb7c2}
.breakdown{gap:8px;padding:2px 0 12px;border-bottom:1px solid #67727c}
.breakdown-row{grid-template-columns:8px minmax(0,1fr) auto;gap:9px;font-size:.91rem;line-height:1.15;color:#edf0f3}
.breakdown-row strong{font-size:.92rem;font-weight:850;white-space:nowrap}
.key{width:8px;height:19px}
.total-row{padding:12px 0 11px;font-size:.99rem;font-weight:900}
.total-row strong{font-size:1.55rem;color:#ffda22}
.result-validation{display:flex;align-items:center;gap:12px;padding:10px 12px;border:2px solid #20dc48;border-radius:13px;background:linear-gradient(110deg,#0c301a,#10261a);color:#f2f6f3}
.validation-icon{width:39px;height:39px;flex:0 0 39px;border:4px solid #dce7e0;border-radius:50%;display:grid;place-items:center;font-size:1.35rem;font-weight:900;color:#fff}
.validation-lines{display:flex;flex-direction:column;gap:3px;min-width:0}
.validation-lines p{margin:0;font-size:.79rem;line-height:1.25;font-weight:650}
.validation-lines p::first-letter{color:#32e75a}
.validation-lines strong{color:#fff}
.warning-alert{background:#33270f;border:1px solid #aa7712;color:#ffe6a6;font-size:.68rem;padding:8px 10px;margin-top:10px}
.save-button{margin-top:10px;min-height:38px;font-size:.75rem}
.feature-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;padding:0 14px 13px}
.feature-tile{appearance:none;width:100%;min-height:100px;border-radius:12px;border:1px solid #58636d;background:linear-gradient(145deg,#1e2731,#10161d);padding:9px 4px;color:#f5f7fa;cursor:pointer;transition:transform .16s,border-color .16s,background .16s}
.feature-tile:hover{transform:translateY(-2px);border-color:#a5b0ba;background:linear-gradient(145deg,#2a3541,#141b23)}
.feature-tile span{font-size:2rem;color:#ffd21c;line-height:1.1}
.feature-tile strong{font-size:.88rem;line-height:1.1;font-style:italic}
.feature-tile small{font-size:.67rem;color:#aeb8c4}
.bottom-banner{min-height:54px;display:flex;align-items:center;padding:12px 22px;background:linear-gradient(100deg,#b90b12 0%,#ed171e 65%,#a2070d 100%);border-top:4px solid #f22b32;font-size:clamp(.8rem,1.35vw,1.12rem);letter-spacing:0;font-weight:900;font-style:italic;text-transform:none}
.placeholder-view{max-width:1100px;min-height:500px;padding:18px 10px}
.placeholder-view h2{font-size:1.8rem;font-style:italic}
.settings-option{display:flex;align-items:center;gap:9px;margin-top:10px;font-weight:700;color:#eef2f5}
.settings-option input{width:18px;height:18px;accent-color:#ed2027}
#clear-local-data{min-height:38px;font-size:.8rem;font-style:normal}
.history-entry{background:#17212a}
.hidden{display:none!important}
@media(max-width:1250px){.calc-layout{grid-template-columns:minmax(0,1fr)}.result-card{position:static}.form-grid{grid-template-columns:1fr 1fr}.result-body{padding:17px 20px}.result-validation{max-width:620px}}
@media(max-width:900px){.hero{min-height:178px;background-size:100% 100%,400px 100%;padding:15px 20px}.hero-copy{margin-left:clamp(210px,27vw,300px)}.hero h1{font-size:clamp(1.55rem,4vw,2.4rem)}.hero-note{display:none}.workspace{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:7px;gap:5px;border-right:0;border-bottom:1px solid #39434d}.nav-item{min-height:64px;flex-direction:column;justify-content:center;text-align:center;padding:6px 3px;gap:3px;font-size:.65rem}.nav-icon{width:auto;font-size:1.35rem}.main-content{padding:12px 10px 17px}.feature-strip{grid-template-columns:repeat(4,1fr)}}
@media(max-width:620px){.hero{min-height:136px;padding:12px;background-size:100% 100%,270px 100%;background-position:center,left center}.hero-copy{margin-left:clamp(155px,42vw,220px)}.hero h1{font-size:1.25rem}.hero h1 strong{font-size:1.05em}.hero-subtitle{font-size:.74rem;margin-top:6px}.workspace{display:block}.sidebar{grid-template-columns:repeat(3,1fr);grid-auto-rows:54px}.nav-item{min-height:50px;flex-direction:row;justify-content:flex-start;text-align:left;padding:5px 7px;font-size:.68rem}.nav-icon{font-size:1.2rem;width:25px}.form-card{padding:12px 10px}.form-card-heading{margin-bottom:10px}.form-card-heading h2{font-size:1.18rem}.form-grid{grid-template-columns:1fr;gap:0}.right-column{border-left:0;border-top:1px solid #36414b;padding:14px 0 0;margin-top:4px}.field-grid.two-columns{grid-template-columns:1fr 1fr}.diameter-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.diameter-button{min-height:40px;font-size:.84rem}.field label{font-size:.76rem}.field input,.field select{font-size:.9rem;min-height:40px}.top-inputs{margin-bottom:12px}.friction-pair{grid-template-columns:1fr 1fr}.form-actions{grid-template-columns:1fr 1fr}.primary-button,.secondary-button{font-size:1rem;min-height:47px}.result-header{min-height:54px}.result-body{padding:13px 11px}.result-status{min-height:78px}.result-status span#result-value{font-size:2.7rem}.result-status small{font-size:1.25rem}.result-check{width:41px;height:41px;font-size:1.65rem;border-width:4px;right:7px}.breakdown-row{font-size:.8rem}.breakdown-row strong{font-size:.82rem}.feature-strip{grid-template-columns:repeat(2,1fr);padding:0 9px 10px}.feature-tile{min-height:83px}.feature-tile:last-child{grid-column:span 2}.bottom-banner{font-size:.75rem;text-align:center;justify-content:center}.placeholder-view{padding:15px 5px}}
@media(max-width:370px){.hero{background-size:100% 100%,215px 100%}.hero-copy{margin-left:145px}.hero h1{font-size:1.05rem}.hero-subtitle{font-size:.64rem}.field-grid.two-columns{grid-template-columns:1fr}.diameter-button{font-size:.72rem}.loss-toggle{grid-template-columns:17px minmax(0,1fr) 60px 20px;gap:5px;font-size:.7rem}}
/* v0.4 · Gestión de agua */
.water-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}.water-card{padding:17px;border:1px solid #465360;border-radius:13px;background:linear-gradient(145deg,#1b252f,#121920);margin:12px 0}.water-card h3{margin:0 0 13px;font-size:1.08rem;font-weight:900;color:#fff}.water-form{display:grid;grid-template-columns:1fr 1fr;gap:11px}.water-form .field:first-child{grid-column:1/-1}.water-form .primary-button{grid-column:1/-1;min-height:43px;font-size:.9rem}.water-list{display:grid;gap:9px;margin-top:14px}.water-item{padding:11px;border:1px solid #394753;border-radius:9px;background:#111a22;display:grid;gap:6px}.water-item>strong{font-size:.92rem}.water-item>span,.water-item>small{font-size:.77rem;color:#b9c5d0}.water-progress{height:10px;border-radius:20px;background:#303b45;overflow:hidden}.water-progress i{display:block;height:100%;background:linear-gradient(90deg,#0b9bd7,#24d0a0);border-radius:20px}.water-actions{display:flex;gap:8px;margin-top:4px}.water-actions button{border:1px solid #566675;background:#293642;color:#f3f6f8;border-radius:7px;padding:6px 9px;font-size:.72rem;font-weight:750;cursor:pointer}.water-actions button:last-child{border-color:#8a4247;color:#ffc4c7}.transfer-card{border-color:#9c781c}.transfer-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.transfer-form .field:first-child{grid-column:auto}.transfer-form .primary-button{grid-column:1/-1}.movement-item{padding:9px 11px;background:#121b23;border:1px solid #35424d;border-radius:8px;font-size:.78rem;color:#dce4eb}.water-card .helper{margin-top:8px}
@media(max-width:900px){.sidebar{grid-template-columns:repeat(7,minmax(0,1fr))}.nav-item{font-size:.58rem;padding:5px 2px;gap:2px}.nav-icon{font-size:1.15rem}}
@media(max-width:620px){.sidebar{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:54px}.nav-item{font-size:.66rem;padding:5px 7px;gap:3px}.water-grid{grid-template-columns:1fr}.water-form,.transfer-form{grid-template-columns:1fr}.water-form .field:first-child,.transfer-form .field:first-child{grid-column:auto}.water-form .primary-button,.transfer-form .primary-button{grid-column:auto}}
.result-status.partial{background:linear-gradient(110deg,#76510c,#4b350d);border-color:#e5ae27;color:#fff1c2;box-shadow:inset 0 1px 10px #ffffff13}.result-status.partial .result-check{display:none!important}

.badge-partial{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:#6e181d;border:1px solid #d94a50;color:#ffd9dc;font-size:.66rem;font-weight:850;letter-spacing:.04em;vertical-align:middle}
.badge-full{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:#12381f;border:1px solid #2f9e57;color:#c8f5d6;font-size:.66rem;font-weight:850;vertical-align:middle}
.result-status.partial{border-color:#f5c915}
input:disabled,select:disabled{opacity:.5;cursor:not-allowed}
.undo-button{min-height:38px;font-size:.8rem;margin-bottom:6px}
.hidden{display:none!important}
