:root{color-scheme:light;--navy:#061e2b;--navy-2:#0a3441;--teal:#139f8a;--teal-2:#087869;--mint:#e8f6f1;--copper:#bd7545;--ink:#102a35;--muted:#6b7e84;--line:#dce7e4;--canvas:#f2f7f5;--white:#fff;--danger:#c54450;--warning:#9b6519;--shadow:0 16px 46px rgba(6,30,43,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);background:var(--canvas)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation;-webkit-user-select:none;user-select:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(19,159,138,.28);outline-offset:2px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.75rem,5vw,2.4rem);line-height:1.06;letter-spacing:-.045em}h2{font-size:1.25rem;line-height:1.2;letter-spacing:-.025em}.kicker{margin:0 0 7px;color:var(--teal-2);font-size:.67rem;font-weight:850;letter-spacing:.17em}.full{width:100%}.button{min-height:48px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;font-weight:800;text-decoration:none;cursor:pointer;transition:.18s}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.5;cursor:wait;transform:none}.button.primary{color:#fff;background:linear-gradient(135deg,var(--teal),var(--teal-2));box-shadow:0 10px 24px rgba(19,159,138,.22)}.button.secondary{color:var(--navy);background:var(--mint)}.button.ghost{color:var(--ink);background:#fff;border:1px solid var(--line)}.button.danger{color:#fff;background:var(--danger)}.link-button{margin-top:18px}.card{margin-bottom:16px;padding:22px;border:1px solid rgba(220,231,228,.9);border-radius:22px;background:#fff;box-shadow:var(--shadow)}

.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(390px,.95fr);background:#fff}.auth-visual{min-height:100vh;padding:54px clamp(35px,6vw,90px);position:relative;overflow:hidden;color:#fff;background:radial-gradient(circle at 75% 28%,rgba(61,211,189,.28),transparent 30%),linear-gradient(145deg,#041822,#0a3a45)}.auth-visual::after{content:"";position:absolute;width:420px;height:420px;right:-180px;bottom:-150px;border-radius:50%;background:rgba(19,159,138,.19)}.water-ring{position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%}.ring-one{width:520px;height:520px;right:-110px;top:80px}.ring-two{width:310px;height:310px;right:-5px;top:185px}.auth-brand{display:flex;align-items:center;gap:14px;position:relative;z-index:2;font-size:.86rem;font-weight:850;letter-spacing:.18em}.auth-brand img,.mobile-brand img{border-radius:17px;box-shadow:0 12px 32px rgba(0,0,0,.18)}.auth-message{max-width:620px;position:absolute;left:clamp(35px,6vw,90px);bottom:12vh;z-index:2}.auth-message p{color:#74dbc9;font-size:.72rem;font-weight:850;letter-spacing:.18em}.auth-message h1{margin-bottom:24px;font-size:clamp(3.1rem,6vw,5.6rem);letter-spacing:-.065em}.auth-message span{color:#abc4c9;font-size:1.05rem}.auth-panel{width:min(100%,520px);margin:auto;padding:52px}.mobile-brand{display:none}.auth-copy{margin-bottom:28px}.auth-copy h2{margin-bottom:10px;font-size:2rem}.auth-copy>p:last-child{color:var(--muted);line-height:1.55}.auth-panel label,.claim-form label,dialog label,.card>label{display:block;margin:17px 0 8px;font-size:.78rem;font-weight:780}.input-shell{position:relative}.input-shell input{padding-left:44px;padding-right:65px}.input-icon{position:absolute;left:16px;top:17px;color:var(--teal-2);font-size:.78rem;font-weight:850}.input-action{position:absolute;right:7px;top:7px;min-height:38px;padding:0 10px;border:0;background:transparent;color:var(--teal-2);font-size:.75rem;font-weight:850;cursor:pointer}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#f8fbfa}input,select{min-height:52px;padding:0 15px}textarea{min-height:130px;padding:14px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--teal);background:#fff}.auth-panel .primary{margin-top:22px}.form-error{margin:12px 0 -5px;color:var(--danger);font-size:.8rem;font-weight:750}.secure-note{margin-top:20px;padding:13px 14px;display:flex;gap:10px;border-radius:13px;color:var(--muted);background:#f3f8f6}.secure-note span{color:var(--teal);font-weight:900}.secure-note p{margin:0;font-size:.72rem;line-height:1.5}.help-link{display:block;margin-top:18px;color:var(--teal-2);text-align:center;font-size:.78rem;font-weight:800}

.app{width:min(100%,900px);min-height:100vh;margin:0 auto;padding:env(safe-area-inset-top) 20px calc(105px + env(safe-area-inset-bottom))}.app-header{height:78px;display:flex;align-items:center;justify-content:space-between}.brand-button{padding:0;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--ink);cursor:pointer}.brand-button img{border-radius:12px}.brand-button div{display:grid;text-align:left}.brand-button strong{font-size:.8rem;letter-spacing:.14em}.brand-button span{margin-top:2px;color:var(--teal-2);font-size:.55rem;font-weight:800;letter-spacing:.13em}.header-actions{display:flex;gap:8px}.header-button{width:42px;height:42px;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:#fff;box-shadow:0 5px 14px rgba(6,30,43,.04);font-size:1.1rem;cursor:pointer}.view{animation:viewIn .22s ease}@keyframes viewIn{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}.welcome-row{margin:16px 2px 21px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.welcome-row h1{margin-bottom:7px}.welcome-row>div>p:last-child{margin:0;color:var(--muted);font-size:.83rem}.account-badge,.status-pill,.soft-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:99px;font-size:.7rem;font-weight:850}.account-badge{padding:8px 11px;color:#087653;background:#dff5e8}.account-badge.inactive{color:#9b6519;background:#fff0d6}.status-pill{padding:7px 10px;color:#9c3b46;background:#fde8ea}.status-pill.online{color:#087653;background:#dff5e8}.soft-pill{padding:6px 9px;color:var(--teal-2);background:var(--mint)}.notice{margin-bottom:16px;padding:15px 17px;display:flex;align-items:flex-start;gap:13px;border:1px solid #f2d495;border-radius:16px;color:#714814;background:#fff3dc}.notice>span{width:27px;height:27px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;font-weight:900;background:rgba(155,101,25,.12)}.notice strong{font-size:.85rem}.notice p{margin:3px 0 0;font-size:.76rem;line-height:1.45}.notice.error{color:#8f303a;border-color:#f1c7cb;background:#fdebed}.notice.good{color:#087653;border-color:#bce8d2;background:#e8f7ef}.empty-state{padding:50px 24px;text-align:center}.empty-illustration{width:74px;height:74px;margin:0 auto 20px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--teal),var(--teal-2));box-shadow:0 16px 32px rgba(19,159,138,.24)}.empty-illustration span{font-size:2rem;font-weight:300}.empty-state>p:not(.kicker){max-width:530px;margin:0 auto 20px;color:var(--muted);line-height:1.55}.empty-state small{display:block;margin-top:17px;color:var(--muted)}.claim-form{width:min(100%,400px);margin:0 auto;text-align:left}.claim-form .button{margin-top:12px}

.device-hero{margin-bottom:17px;padding:25px;position:relative;overflow:hidden;border-radius:25px;color:#fff;background:radial-gradient(circle at 82% 35%,rgba(47,211,187,.24),transparent 28%),linear-gradient(145deg,#061e2b,#0b3c47);box-shadow:0 24px 56px rgba(6,30,43,.18)}.device-hero::after{content:"";position:absolute;width:220px;height:220px;right:-120px;bottom:-150px;border-radius:50%;border:40px solid rgba(255,255,255,.03)}.device-top{display:flex;justify-content:space-between;gap:18px;position:relative;z-index:1}.status-line{display:flex;align-items:center;gap:8px;color:#a9c0c4;font-size:.72rem}.live-dot{width:8px;height:8px;border-radius:50%;background:#7d9297}.live-dot.online{background:#42d6ad;box-shadow:0 0 0 5px rgba(66,214,173,.12)}.device-top h2{margin:12px 0 5px;font-size:1.45rem}.device-top p{margin:0;color:#9fb5b9;font-size:.75rem}.power-button{width:72px;height:72px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:50%;color:#9fb5b9;background:rgba(255,255,255,.06);cursor:pointer}.power-button.on{color:#fff;border-color:#3cd0b5;background:rgba(19,159,138,.34);box-shadow:0 0 32px rgba(19,159,138,.35)}.power-button span{font-size:1.45rem;line-height:1}.power-button small{font-size:.58rem;font-weight:900;letter-spacing:.12em}.water-primary{min-height:155px;display:flex;align-items:center;justify-content:center;gap:38px;position:relative;z-index:1}.ph-orb{width:125px;height:125px;display:grid;place-content:center;text-align:center;border:1px solid rgba(105,229,209,.35);border-radius:50%;background:radial-gradient(circle,rgba(19,159,138,.27),rgba(19,159,138,.04));box-shadow:inset 0 0 34px rgba(19,159,138,.18)}.ph-orb span{color:#80cfc1;font-size:.64rem;font-weight:800}.ph-orb strong{font-size:2.45rem;letter-spacing:-.06em}.ph-orb small{color:#9fc3c3;font-size:.65rem}.run-info{display:grid;gap:4px}.run-info span,.run-info small{color:#9fb5b9;font-size:.67rem}.run-info strong{font-size:1.35rem}.quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;position:relative;z-index:1}.quality-grid article{padding:13px;border-radius:14px;background:rgba(255,255,255,.07)}.quality-grid span,.quality-grid strong,.quality-grid small{display:block}.quality-grid span{color:#96b2b7;font-size:.61rem}.quality-grid strong{margin:5px 0 1px;font-size:.9rem}.quality-grid small{color:#78979d;font-size:.57rem}.section-block{margin:25px 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.section-title.compact{margin-bottom:13px}.section-title h2{margin-bottom:0}.text-link{border:0;color:var(--teal-2);background:transparent;font-size:.75rem;font-weight:850;cursor:pointer}.quick-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick-modes button{min-height:82px;display:grid;place-content:center;gap:4px;border:1px solid var(--line);border-radius:17px;color:var(--ink);background:#fff;box-shadow:0 8px 22px rgba(6,30,43,.04);cursor:pointer}.quick-modes button.active{color:#fff;border-color:var(--teal);background:linear-gradient(145deg,var(--teal),var(--teal-2))}.quick-modes button:disabled{opacity:.48}.quick-modes span{font-size:1.05rem;font-weight:900}.quick-modes small{color:inherit;font-size:.61rem}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stats-grid article{padding:14px;border-radius:14px;background:#f5f9f7}.stats-grid span,.stats-grid strong{display:block}.stats-grid span{color:var(--muted);font-size:.63rem}.stats-grid strong{margin-top:7px;font-size:.88rem}.command-card{padding:15px 18px;display:flex;align-items:center;justify-content:space-between}.command-card>div{display:flex;align-items:center;gap:12px}.command-card>div>div{display:grid;gap:3px}.command-card strong{font-size:.83rem}.command-card small{color:var(--muted);font-size:.68rem}.spinner{width:26px;height:26px;border:3px solid var(--mint);border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-danger{border:0;color:var(--danger);background:transparent;font-size:.75rem;font-weight:850;cursor:pointer}

.page-heading{margin:15px 2px 24px}.page-heading h1{margin-bottom:8px}.page-heading>p:last-child{margin:0;color:var(--muted);line-height:1.5}.control-card{padding-bottom:23px}.mode-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.mode-list button{min-height:76px;padding:11px 13px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:11px;text-align:left;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:#fbfdfc;cursor:pointer}.mode-list button:hover,.mode-list button.active{border-color:var(--teal);background:#eff9f6}.mode-list button:disabled{opacity:.5}.mode-list button>div{display:grid;gap:3px}.mode-list strong{font-size:.82rem}.mode-list small{color:var(--muted);font-size:.65rem}.mode-list i{color:#9ab0ae;font-style:normal;font-size:1.2rem}.mode-drop{width:45px;height:45px;display:grid;place-items:center;border-radius:50% 50% 50% 10px;transform:rotate(45deg);font-size:.65rem;font-weight:900}.mode-drop::first-line{transform:rotate(-45deg)}.mode-drop.alkaline{color:#087869;background:#dff5ed}.mode-drop.natural{color:#276a9c;background:#e3f1fb}.mode-drop.beauty{color:#925270;background:#f7e8f0}.mode-drop.clean{color:#7b6540;background:#f7f0df}.mode-list .mode-drop{line-height:45px;text-align:center}.mode-list .mode-drop{font-size:0}.mode-list .mode-drop::after{content:attr(data-value);font-size:.65rem;transform:rotate(-45deg)}.toggle-row{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);cursor:pointer}.toggle-row:first-of-type{border-top:0}.toggle-row span{display:grid;gap:4px}.toggle-row strong{font-size:.85rem}.toggle-row small{color:var(--muted)}.toggle-row input{position:absolute;opacity:0;pointer-events:none}.toggle-row i{width:48px;height:27px;padding:3px;flex:0 0 auto;border-radius:99px;background:#c9d7d4;transition:.2s}.toggle-row i::before{content:"";display:block;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.14);transition:.2s}.toggle-row input:checked+i{background:var(--teal)}.toggle-row input:checked+i::before{transform:translateX(21px)}.section-copy{color:var(--muted);font-size:.76rem;line-height:1.5}.stepper{margin-top:12px;display:grid;grid-template-columns:52px 1fr 52px;gap:8px}.stepper button{border:1px solid var(--line);border-radius:13px;color:var(--teal-2);background:#fff;font-size:1.4rem;cursor:pointer}.stepper>div{position:relative}.stepper input{text-align:center;font-size:1.05rem;font-weight:850}.stepper span{position:absolute;right:13px;top:18px;color:var(--muted);font-size:.62rem}.activity-filters{display:flex;gap:7px;margin-bottom:15px}.activity-filters button{padding:8px 13px;border:0;border-radius:99px;color:var(--muted);background:#edf3f1;font-size:.7rem;font-weight:800;cursor:pointer}.activity-filters button.active{color:#fff;background:var(--navy)}.activity-list{display:grid}.activity-item{padding:15px 2px;display:grid;grid-template-columns:38px 1fr auto;align-items:start;gap:11px;border-top:1px solid var(--line)}.activity-item:first-child{border-top:0}.activity-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;color:var(--teal-2);background:var(--mint);font-weight:900}.activity-main{display:grid;gap:4px}.activity-main strong{font-size:.82rem}.activity-main small{color:var(--muted);font-size:.66rem}.activity-status{padding:5px 7px;border-radius:99px;color:var(--teal-2);background:var(--mint);font-size:.6rem;font-weight:850;text-transform:uppercase}.activity-status.failed{color:#a43742;background:#fde9eb}.skeleton-line{height:58px;margin:8px 0;border-radius:12px;background:linear-gradient(90deg,#eef3f1,#f8faf9,#eef3f1);background-size:200%;animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:-200%}}

.health-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}.health-head p:last-child{margin:3px 0 0;color:var(--muted);font-size:.74rem}.health-orb{width:58px;height:58px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#fff;background:var(--teal);font-size:1.3rem;font-weight:900;box-shadow:0 10px 24px rgba(19,159,138,.2)}.health-orb.offline{background:var(--danger);box-shadow:0 10px 24px rgba(197,68,80,.18)}.detail-list{display:grid}.detail-list>div{min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line)}.detail-list>div:first-child{border-top:0}.detail-list span{color:var(--muted);font-size:.74rem}.detail-list strong{max-width:62%;text-align:right;font-size:.78rem;overflow-wrap:anywhere}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.service-date{padding:15px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;border-radius:15px;background:#f5f9f7}.service-date>div{display:grid;gap:5px}.service-date>div:last-child{text-align:right}.service-date span{color:var(--muted);font-size:.64rem}.service-date strong{font-size:.78rem}.service-date i{color:var(--teal);font-style:normal}.danger-zone button{width:100%;min-height:50px;display:flex;align-items:center;justify-content:space-between;border:0;border-top:1px solid var(--line);color:var(--ink);background:transparent;font-size:.8rem;font-weight:750;cursor:pointer}.danger-zone button:last-child{color:var(--danger)}.profile-hero{padding:28px 20px;text-align:center}.avatar{width:78px;height:78px;margin:0 auto 14px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,var(--teal),var(--navy-2));font-size:1.35rem;font-weight:900;box-shadow:0 16px 32px rgba(19,159,138,.2)}.profile-hero h1{margin-bottom:7px}.profile-hero p{margin-bottom:12px;color:var(--muted)}.menu-card{padding-block:5px}.menu-card a,.menu-card button{width:100%;min-height:56px;padding:0 3px;display:flex;align-items:center;justify-content:space-between;border:0;border-top:1px solid var(--line);color:var(--ink);background:transparent;text-decoration:none;font-size:.8rem;font-weight:750;cursor:pointer}.menu-card>*:first-child{border-top:0}.menu-card i{color:var(--muted);font-style:normal}.menu-card .logout-row{color:var(--danger)}.app-version{text-align:center;color:#91a09f;font-size:.67rem}

.bottom-nav{position:fixed;left:50%;bottom:calc(13px + env(safe-area-inset-bottom));z-index:15;transform:translateX(-50%);width:min(calc(100% - 24px),670px);height:69px;padding:6px 8px;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(220,231,228,.9);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 18px 55px rgba(6,30,43,.16);backdrop-filter:blur(16px)}.bottom-nav button{display:grid;place-content:center;justify-items:center;gap:3px;border:0;border-radius:15px;color:#839492;background:transparent;font-size:.57rem;font-weight:800;cursor:pointer}.bottom-nav button.active{color:var(--teal-2);background:var(--mint)}.bottom-nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bottom-nav button:first-child svg path{fill:currentColor;stroke:none}.toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:30;transform:translateX(-50%);width:min(calc(100% - 32px),470px);padding:14px 17px;border-radius:15px;color:#fff;background:var(--navy);box-shadow:0 18px 50px rgba(0,0,0,.24);text-align:center;font-size:.78rem;font-weight:750}dialog{width:min(calc(100% - 30px),460px);padding:0;border:0;border-radius:24px;color:var(--ink);box-shadow:0 30px 95px rgba(0,0,0,.32)}dialog::backdrop{background:rgba(3,20,29,.72);backdrop-filter:blur(5px)}dialog form{padding:30px;position:relative}dialog form>p:not(.kicker):not(.form-error){color:var(--muted);line-height:1.55}.dialog-close{position:absolute;right:14px;top:13px;width:38px;height:38px;border:0;border-radius:50%;color:var(--muted);background:#eff4f2;font-size:1.4rem;cursor:pointer}.dialog-icon{width:52px;height:52px;margin-bottom:17px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--teal);font-size:1.45rem}.warning-icon{background:var(--danger)}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}

@media(min-width:980px){.app{padding-inline:34px}.bottom-nav{bottom:22px}.device-hero{padding:30px}.water-primary{min-height:180px}.card{padding:25px}}
@media(max-width:760px){.auth-page{display:block;background:linear-gradient(180deg,#061e2b 0,#061e2b 180px,#fff 180px)}.auth-visual{display:none}.auth-panel{padding:30px 22px 36px}.mobile-brand{height:120px;display:flex;align-items:center;gap:12px;color:#fff}.mobile-brand div{display:grid}.mobile-brand strong{font-size:.86rem;letter-spacing:.17em}.mobile-brand span{color:#65d3c0;font-size:.58rem;font-weight:800;letter-spacing:.14em}.auth-copy{margin-top:12px}.app{padding-inline:15px}.app-header{height:70px}.welcome-row{margin-top:12px}.card{padding:19px;border-radius:19px}.mode-list{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.quick-modes{gap:7px}.quick-modes button{min-height:75px}.quality-grid article{padding:11px}.button-row{grid-template-columns:1fr}.bottom-nav{height:67px}}
@media(max-width:390px){.device-hero{padding:20px}.water-primary{gap:22px}.ph-orb{width:110px;height:110px}.quality-grid strong{font-size:.78rem}.quick-modes button{min-height:70px}.bottom-nav span{font-size:.52rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.mode-list .mode-drop{font-size:.65rem;line-height:normal;text-align:center;transform:none;border-radius:50% 50% 50% 14px}
.mode-list .mode-drop::after{content:none}

/* Home control surface: keep the full mode set and emergency stop visible together. */
.welcome-actions{display:flex;align-items:center;gap:8px}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:13px;color:var(--teal-2);background:#fff;box-shadow:0 5px 14px rgba(6,30,43,.04);font-weight:900;cursor:pointer}.section-subtitle{margin:4px 0 0;color:var(--muted);font-size:.72rem}.text-link span{margin-left:3px;font-size:1rem}.run-info b{margin-top:4px;color:#66dbc7;font-size:.66rem;font-weight:800}.home-controls{margin-top:26px}.home-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-mode{min-height:76px;padding:11px 12px;display:grid;grid-template-columns:44px minmax(0,1fr) 15px;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:#fff;box-shadow:0 8px 22px rgba(6,30,43,.04);cursor:pointer;transition:.18s}.home-mode:hover{transform:translateY(-1px);border-color:#a6d8ce;box-shadow:0 12px 26px rgba(6,30,43,.08)}.home-mode:disabled{opacity:.46;cursor:wait;transform:none}.home-mode.active{color:#fff;border-color:var(--navy);background:var(--navy);box-shadow:0 13px 28px rgba(6,30,43,.15)}.home-mode.active .mode-copy small,.home-mode.active i{color:#b9d8d5}.mode-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;font-size:.68rem;font-weight:900}.home-mode-alkaline .mode-mark{color:#087869;background:#dff5ed}.home-mode-strong .mode-mark{color:#8f5c12;background:#fff0d4}.home-mode-natural .mode-mark{color:#276a9c;background:#e3f1fb}.home-mode-beauty .mode-mark{color:#925270;background:#f7e8f0}.home-mode-clean .mode-mark{color:#7b6540;background:#f7f0df}.home-mode.active .mode-mark{color:#fff;background:var(--teal)}.mode-copy{min-width:0;display:grid;gap:4px}.mode-copy strong{font-size:.78rem;line-height:1.12}.mode-copy small{color:var(--muted);font-size:.63rem;line-height:1.12}.home-mode i{color:#9ab0ae;font-size:1.05rem;font-style:normal;text-align:right}.home-stop-card{margin:0 0 16px;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) 142px;align-items:center;gap:14px;border:1px solid #f2c7cb;border-radius:18px;background:#fff5f5}.home-stop-card>div{display:flex;align-items:center;gap:12px}.home-stop-card strong{display:block;font-size:.82rem}.home-stop-card p{margin:4px 0 0;color:#8b6267;font-size:.68rem;line-height:1.35}.stop-mark{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;color:#fff;background:var(--danger);font-size:.7rem;box-shadow:0 7px 15px rgba(197,68,80,.2)}.home-stop-card .button{min-height:46px;border-radius:12px;box-shadow:0 9px 18px rgba(197,68,80,.18)}.home-stop-card .button:disabled{background:#d9a8ad}.home-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.shortcut-button{min-height:66px;padding:12px;display:grid;grid-template-columns:34px minmax(0,1fr) 14px;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:#fff;cursor:pointer}.shortcut-button:hover{border-color:#a6d8ce;background:#fbfefd}.shortcut-button>span:nth-child(2){display:grid;gap:4px}.shortcut-button strong{font-size:.75rem}.shortcut-button small{color:var(--muted);font-size:.62rem}.shortcut-button i{color:#9ab0ae;font-style:normal}.shortcut-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:var(--teal-2);background:var(--mint);font-weight:900}.home-mode-grid+.home-stop-card{margin-top:4px}
@media(max-width:520px){.home-stop-card{grid-template-columns:1fr}.home-stop-card .button{width:100%}}
@media(max-width:390px){.home-mode-grid{gap:7px}.home-mode{min-height:70px;padding:9px 8px;grid-template-columns:38px minmax(0,1fr) 12px;gap:7px}.mode-mark{width:38px;height:38px;border-radius:12px;font-size:.61rem}.mode-copy strong{font-size:.69rem}.mode-copy small{font-size:.57rem}.home-mode i{font-size:.9rem}.home-shortcuts{grid-template-columns:1fr}.welcome-actions{gap:5px}.icon-button{width:36px;height:36px}}

/* Keep switch controls aligned inside cards and surface safety telemetry clearly. */
.card>label.toggle-row{margin:0;display:flex;position:relative}.toggle-row.saving{opacity:.68;pointer-events:none}.toggle-row .toggle-control{margin-left:auto;display:flex;align-items:center;gap:9px}.toggle-row input{width:0;height:0;min-height:0;margin:0}.toggle-control b{min-width:24px;color:var(--muted);font-size:.68rem;text-align:right}.toggle-control b.on{color:var(--teal-2)}.toggle-row i{margin-left:0}.alert-value{color:var(--danger)!important;font-weight:900!important}.danger-zone button:disabled{opacity:.45;cursor:not-allowed}.header-button[aria-label="Share Wellwa app"]{font-weight:900}.button-row>.button{width:100%}

/* pH spectrum: carry each water category across the full button surface. */
.home-mode[data-mode="4"],.mode-list button[data-mode="4"]{--mode-bg:#ecf8f5;--mode-border:#b8e4da;--mode-mark:#d8f1eb;--mode-accent:#08786b}
.home-mode[data-mode="5"],.mode-list button[data-mode="5"]{--mode-bg:#edf7fb;--mode-border:#b8ddeb;--mode-mark:#d8edf6;--mode-accent:#176c8d}
.home-mode[data-mode="6"],.mode-list button[data-mode="6"]{--mode-bg:#f0f2fb;--mode-border:#c7ceee;--mode-mark:#dfe4f7;--mode-accent:#3f579c}
.home-mode[data-mode="7"],.mode-list button[data-mode="7"]{--mode-bg:#f5f0fa;--mode-border:#d9c4eb;--mode-mark:#eadff5;--mode-accent:#70469c}
.home-mode[data-mode="1"],.mode-list button[data-mode="1"]{--mode-bg:#f1f8ed;--mode-border:#c6dfb8;--mode-mark:#e1f0d8;--mode-accent:#427b2e}
.home-mode[data-mode="2"],.mode-list button[data-mode="2"]{--mode-bg:#fbf6e9;--mode-border:#e8d5a0;--mode-mark:#f4e9ca;--mode-accent:#7a6024}
.home-mode[data-mode="8"],.mode-list button[data-mode="8"]{--mode-bg:#fbf0f4;--mode-border:#eac2d2;--mode-mark:#f4dce6;--mode-accent:#9b4568}
.home-mode-deep{--mode-bg:#eef4f6;--mode-border:#bfd3d9;--mode-mark:#dce9ed;--mode-accent:#315f6c}
.home-mode,.mode-list button{border-color:var(--mode-border);background:var(--mode-bg)}
.home-mode .mode-mark,.mode-list button .mode-drop{color:var(--mode-accent);background:var(--mode-mark)}
.home-mode i,.mode-list button i{color:var(--mode-accent)}
.home-mode:hover,.home-mode.active,.mode-list button:hover,.mode-list button.active{border-color:var(--mode-accent);background:var(--mode-mark)}
.home-mode.active{color:var(--ink);box-shadow:0 0 0 2px var(--mode-border),0 13px 28px rgba(6,30,43,.12)}
.home-mode.active .mode-copy small,.home-mode.active i{color:var(--muted)}
.home-mode.active .mode-mark{color:#fff;background:var(--mode-accent)}

/* Readability pass for the control, status, care, and account surfaces. */
.button{font-size:.88rem}.notice strong{font-size:.92rem}.notice p{font-size:.82rem}.section-subtitle{font-size:.8rem}.mode-copy strong{font-size:.9rem;line-height:1.25}.mode-copy small{font-size:.72rem;line-height:1.3}.mode-mark{font-size:.75rem}.mode-list strong{font-size:.9rem}.mode-list small{font-size:.73rem;line-height:1.3}.mode-list .mode-drop{font-size:.72rem}.toggle-row strong{font-size:.92rem}.toggle-row small{font-size:.75rem;line-height:1.3}.toggle-control b{font-size:.75rem}.section-copy{font-size:.82rem}.stats-grid span{font-size:.72rem}.stats-grid strong{font-size:.94rem}.activity-main strong{font-size:.88rem}.activity-main small{font-size:.72rem}.activity-status{font-size:.66rem}.health-head p:last-child{font-size:.8rem}.detail-list span{font-size:.8rem}.detail-list strong{font-size:.85rem}.service-date span{font-size:.72rem}.service-date strong{font-size:.84rem}.danger-zone button,.menu-card a,.menu-card button{font-size:.86rem}.home-stop-card strong{font-size:.9rem}.home-stop-card p{font-size:.75rem}.shortcut-button strong{font-size:.83rem}.shortcut-button small{font-size:.7rem}.bottom-nav button{font-size:.62rem}.toast{font-size:.84rem}
@media(max-width:390px){.mode-copy strong{font-size:.82rem}.mode-copy small{font-size:.68rem}.mode-mark{font-size:.7rem}.bottom-nav span{font-size:.58rem}}

/* Standard professional type scale: readable without making the controls feel oversized. */
html{font-size:16px}body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(pointer:coarse){html{font-size:16px}}
.section-title h2{font-size:20px}.mode-copy strong{font-size:15px;line-height:1.25}.mode-copy small{font-size:13px;line-height:1.35}.mode-mark{font-size:12px}.mode-list strong{font-size:15px}.mode-list small{font-size:13px}.mode-list .mode-drop{font-size:12px}.toggle-row strong{font-size:15px}.toggle-row small{font-size:13px}.toggle-control b{font-size:13px}.detail-list span{font-size:13px}.detail-list strong{font-size:14px}.notice strong{font-size:15px}.notice p{font-size:13px}.stats-grid span{font-size:12px}.stats-grid strong{font-size:15px}.home-stop-card strong{font-size:15px}.home-stop-card p{font-size:13px}.shortcut-button strong{font-size:14px}.shortcut-button small{font-size:12px}.bottom-nav button,.bottom-nav span{font-size:10px}.toast{font-size:14px}
@media(max-width:390px){.mode-copy strong{font-size:15px}.mode-copy small{font-size:12px}.mode-mark{font-size:12px}.bottom-nav span{font-size:10px}}
.factory-shortcut{border-color:#efc5c9;background:#fff4f5}.factory-shortcut .shortcut-icon{color:#a93440;background:#fde1e4}.factory-shortcut i{color:#a93440}.factory-shortcut:disabled{opacity:.48;cursor:not-allowed}.home-mode-deep.active{border-color:var(--mode-accent);background:var(--mode-mark)}
@media(min-width:600px){.home-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Phone layout: preserve readable type and reflow controls instead of shrinking them. */
body{overflow-x:hidden}.app{max-width:100%;overflow-x:hidden}
@media(max-width:599px){
  .app{padding-inline:14px;padding-bottom:calc(132px + env(safe-area-inset-bottom))}
  .app-header{gap:10px}.brand-button{min-width:0}.brand-button strong{font-size:12px}.brand-button span{font-size:9px}.header-actions{flex:0 0 auto;gap:6px}.header-button{width:39px;height:39px}
  .welcome-row{display:grid;grid-template-columns:1fr;align-items:start;gap:10px}.welcome-row>div:first-child{min-width:0}.welcome-row h1{font-size:25px;line-height:1.12;overflow-wrap:anywhere}.welcome-row>div>p:last-child{overflow-wrap:anywhere}.welcome-actions{align-items:flex-start;justify-content:flex-start}
  .home-controls .section-title{display:block}.home-controls .text-link{margin-top:10px;padding:0;white-space:nowrap}
  .home-mode-grid{grid-template-columns:1fr;gap:9px}.home-mode{min-height:76px;padding:12px 14px;grid-template-columns:46px minmax(0,1fr) 18px}.mode-copy strong{font-size:15px}.mode-copy small{font-size:13px}.mode-mark{width:44px;height:44px;font-size:12px}
  .home-stop-card{grid-template-columns:1fr}.home-stop-card .button{width:100%}
  .home-shortcuts{grid-template-columns:1fr}.shortcut-button{min-height:68px}.shortcut-button strong{font-size:14px}.shortcut-button small{font-size:12px}
  .section-title>*{min-width:0}.detail-list>div{min-width:0}.detail-list strong{max-width:58%}
  .bottom-nav{bottom:calc(8px + env(safe-area-inset-bottom));width:calc(100vw - 20px);max-width:calc(100vw - 20px);height:66px}
}
@media(max-width:350px){
  .brand-button span{display:none}.header-button{width:36px;height:36px}.welcome-row{grid-template-columns:1fr}.welcome-actions{justify-content:flex-start}.quality-grid{grid-template-columns:1fr}.quality-grid article{min-height:58px}.water-primary{gap:14px}.ph-orb{width:104px;height:104px}
}

/* Turn the cleaning reminder into a clear, safe E-Clean action. */
button.notice{width:100%;font:inherit;text-align:left}
button.notice:disabled{opacity:1;cursor:default}
.notice.actionable{cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}
.notice.actionable:hover{border-color:#e7bf6e;box-shadow:0 8px 22px rgba(155,101,25,.1);transform:translateY(-1px)}
.notice.actionable:active{transform:translateY(0)}
.instant-control{touch-action:manipulation}.instant-control.press-active{transform:scale(.97)!important;filter:saturate(1.12);box-shadow:inset 0 0 0 2px rgba(19,159,138,.24)!important}.instant-control.command-sending{cursor:progress}.instant-control.command-sending:not(.press-active){opacity:.78}
.hold-control{touch-action:pan-y}.hold-control.press-active{box-shadow:inset 0 0 0 3px rgba(19,159,138,.34)!important}
.home-mode-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
.home-mode{min-width:0;min-height:104px!important;padding:10px 5px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:7px!important;text-align:center!important}
.home-mode .mode-mark{width:44px!important;height:40px!important;flex:0 0 auto;border-radius:12px!important}
.home-mode .mode-copy{width:100%;display:block!important;text-align:center}
.home-mode .mode-copy strong{display:block;font-size:12px!important;line-height:1.18!important;overflow-wrap:anywhere}
.home-mode .mode-copy small,.home-mode>i{display:none!important}
@media(max-width:350px){.home-mode-grid{gap:6px!important}.home-mode{min-height:98px!important;padding-inline:3px!important}.home-mode .mode-mark{width:40px!important;height:38px!important}.home-mode .mode-copy strong{font-size:11px!important}}
.notice>div{min-width:0;flex:1}
.notice-action{margin-left:auto;align-self:center;color:currentColor;font-size:20px;font-style:normal;font-weight:900}
.stay-connected{display:flex!important;align-items:center;gap:11px;margin:16px 0 0!important;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#f8fbfa;cursor:pointer}
.stay-connected input{width:20px;min-height:20px;margin:0;accent-color:var(--teal-2)}
.stay-connected span{display:grid;gap:2px}
.stay-connected strong{font-size:.8rem;color:var(--ink)}
.stay-connected small{font-size:.68rem;font-weight:650;color:var(--muted)}
.setup-flow{margin:20px 0;padding:0;display:grid;gap:12px;list-style:none;text-align:left}
.setup-flow li{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:11px}
.setup-flow li>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--teal-2);font-weight:900;font-size:13px}
.setup-flow li div{display:grid;gap:3px}
.setup-flow strong{font-size:14px;color:var(--ink)}
.setup-flow small{font-size:12px;line-height:1.35;color:var(--muted)}
.onboarding-actions{display:grid;gap:9px}
.browser-setup-help{margin:13px 0 0;padding:11px 12px;border:1px solid #e5d09a;border-radius:12px;color:#70551d;background:#fff9e9;font-size:12px;line-height:1.45;text-align:left}
/* Customer installation details: editable until admin approval, then read-only. */
.machine-registration-card{border-color:#bfe4dc}
.machine-details-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin-top:14px}
.machine-details-form label{display:grid;gap:7px;color:var(--muted);font-size:.75rem;font-weight:780}
.machine-details-form input,.machine-details-form select{min-height:48px}
.machine-details-form .section-copy,.machine-details-form .button{grid-column:1/-1}
.machine-details-form .section-copy{margin:0}
.soft-pill.approved{color:#087653;background:#dff5e8}
.soft-pill.pending{color:#8a6115;background:#fff0d6}
.soft-pill.error{color:#9c3b46;background:#fde8ea}
@media(max-width:599px){.machine-details-form{grid-template-columns:1fr}}
