:root{--brand-navy: #0A2B4D;--brand-coral: #CE5D39;--brand-accent: #2a5a8a;--brand-font: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--bg: #f4f7fb;--panel: #ffffff;--navy: var(--brand-navy);--navy-soft: #3a4f73;--line: #dde6f1;--muted: #8595ad;--ok-dot: #0e9b8e;--brand-tint: #e6edf5;--amber: #c9760a;--amber-bg: #fcefda;--danger: #8a1f11;--danger-bg: #fdecea;--danger-line: #f2c0ba;--danger-ref: #C0392B;--warn: #c9760a;--warn-bg: #fcefda;--warn-line: #f0d6ab;--safe: #1d6e3f;--safe-bg: #e8f6ec;--safe-line: #bfe3c8;--font-sans: var(--brand-font);--font-display: var(--brand-font);--font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--fs-h1: 30px;--fs-h2: 14px;--fs-body: 13.5px;--fs-value: 30px;--fs-label: 12px;--fs-cap: 11px;--lh-body: 1.5;--r-panel: 14px;--r-card: 13px;--r-pill: 11px;--r-control: 9px;--r-badge: 5px;--r-round: 999px;--s-1: 5px;--s-2: 9px;--s-3: 13px;--s-4: 16px;--s-5: 22px;--s-6: 28px;--s-page-x-mobile: 13px;--maxw: 1080px;--shadow: 0 1px 2px rgba(22,40,74,.05), 0 8px 24px rgba(22,40,74,.06);--dot-idle: #c4cedd}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html,body{max-width:100%;overflow-x:hidden}body{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}*,*:before,*:after{min-width:0}.wrap,.card,.store-row,.bubble,.drawer-note,.drawer-body,.drawer-foot,.signin,.start-page,.tour-overlay-card,.status-line,.item-body,.section-head,.banner,.foniaio-caption{overflow-wrap:anywhere;word-break:normal}.drawer{max-width:100vw;box-sizing:border-box}.drawer-foot,.drawer-body,.drawer-head{box-sizing:border-box;max-width:100%}.voice-strip>*{max-width:100%}img,svg,video,canvas,table{max-width:100%}.tech-table-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}body{font-family:var(--font-sans);color:var(--navy);background:radial-gradient(1200px 600px at 80% -10%,#eaf2fc 0%,transparent 60%),var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased;line-height:var(--lh-body)}button{font-family:var(--font-sans);cursor:pointer}a{color:var(--brand-accent)}.wrap{max-width:var(--maxw);margin:0 auto;padding:var(--s-5) var(--s-page-x-mobile) calc(112px + env(safe-area-inset-bottom,0px))}@media(min-width:640px){.wrap{padding:var(--s-6) var(--s-5) calc(112px + env(safe-area-inset-bottom,0px))}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-5);padding-bottom:var(--s-3);border-bottom:2px solid var(--brand-coral)}.brand{display:flex;flex-direction:column;gap:2px}.brand h1{font-family:var(--font-display);font-weight:800;font-size:22px;letter-spacing:-.5px;color:var(--navy)}.brand h1{display:flex;align-items:center;gap:8px}.brand-logo{height:40px;width:auto;display:block}.signin .brand-logo{height:64px}.brand .sub{font-size:var(--fs-cap);color:var(--navy-soft);font-weight:500}@media(min-width:640px){.brand h1{font-size:26px}}nav.tabs{display:flex;align-items:center;gap:6px}nav.tabs a{font-weight:600;font-size:13px;color:var(--navy-soft);text-decoration:none;padding:7px 13px;border-radius:var(--r-control);border:1px solid transparent}nav.tabs a.active{background:var(--panel);border-color:var(--line);color:var(--navy);box-shadow:var(--shadow)}.topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{font-weight:600;font-size:13px;border-radius:var(--r-control);padding:var(--s-2) var(--s-4);border:1px solid transparent;transition:filter .15s,border-color .15s}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{filter:brightness(1.12)}.btn-ghost{background:var(--panel);border-color:var(--line);color:var(--navy-soft)}.btn-ghost:hover{border-color:var(--navy-soft)}.section-head{display:flex;align-items:baseline;gap:10px;margin:0 2px var(--s-3);flex-wrap:wrap}.section-head h2{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-.3px;color:var(--navy)}.section-head .as-of{font-size:var(--fs-cap);color:var(--muted);font-weight:500}.cards{display:grid;grid-template-columns:1fr;gap:var(--s-3)}@media(min-width:720px){.cards{grid-template-columns:repeat(2,1fr)}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);padding:var(--s-4);position:relative;overflow:hidden}.card .card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.card .card-title{font-weight:700;font-size:15px;color:var(--navy)}.card .card-title .store{font-family:var(--font-mono);color:var(--muted);font-weight:500;font-size:12px;margin-left:4px}.item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.item:first-of-type{border-top:none}.item-body{flex:1;min-width:0}.item-body .cond{font-weight:600;font-size:14px;color:var(--navy)}.item-body .todo{font-size:12.5px;color:var(--navy-soft);margin-top:3px}.item-body .since{font-size:11px;color:var(--muted);margin-top:3px;font-family:var(--font-mono)}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-round);padding:3px 11px;border:1px solid;font-size:11px;font-weight:700;letter-spacing:.2px;white-space:nowrap;flex-shrink:0}.pill.act{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger)}.pill.check{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn)}.pill.watch{background:var(--safe-bg);border-color:var(--safe-line);color:var(--safe)}.refrig-line{font-size:12.5px;color:var(--navy-soft);margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);line-height:1.45}.state-msg{font-size:13.5px;color:var(--navy-soft)}.state-msg.nodata{color:var(--amber)}.allclear{display:flex;align-items:center;gap:8px}.dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.dot.ok{background:var(--ok-dot)}.dot.idle{background:var(--dot-idle)}.dot.warn{background:var(--amber)}.total-line{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--navy);margin:0 2px var(--s-4);line-height:1.35}.total-line .num{color:var(--brand-accent)}.store-rows{display:flex;flex-direction:column;gap:var(--s-3)}.store-row{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);padding:var(--s-4)}.store-row .r-main{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.store-row .r-name{font-weight:700;font-size:15px;color:var(--navy)}.store-row .r-name .store{font-family:var(--font-mono);color:var(--muted);font-weight:500;font-size:12px;margin-left:4px}.store-row .r-cost{font-family:var(--font-mono);font-weight:600;font-size:15px;color:var(--navy)}.store-row .r-cost .kwh{color:var(--muted);font-weight:500;font-size:12px;margin-left:6px}.store-row .r-meta{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;border-radius:var(--r-round);padding:3px 10px;border:1px solid var(--line);color:var(--navy-soft);background:#fbfdff;text-decoration:none}.tag.attn{color:var(--danger);border-color:var(--danger-line);background:var(--danger-bg)}.tag.refrig-ok{color:var(--safe);border-color:var(--safe-line);background:var(--safe-bg)}.tag.refrig-no{color:var(--amber);border-color:var(--warn-line);background:var(--warn-bg)}.rate-note{font-size:var(--fs-cap);color:var(--muted);margin:var(--s-4) 2px 0}.signin{max-width:26rem;margin:12vh auto;padding:0 var(--s-4)}.signin .card{padding:26px 22px}.signin h1{font-family:var(--font-display);font-weight:800;font-size:26px;color:var(--navy)}.signin h1{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.signin p{color:var(--navy-soft);font-size:14px;margin-top:8px}.signin form{margin-top:18px;display:flex;flex-direction:column;gap:12px}.signin input{font-family:var(--font-mono);font-size:14px;padding:11px 12px;border:1px solid var(--line);border-radius:var(--r-control);color:var(--navy);background:#fbfdff;outline:none;width:100%}.signin input:focus{border-color:var(--brand-coral);box-shadow:0 0 0 3px var(--brand-tint)}.signin .msg{font-size:13px;color:var(--brand-accent);min-height:1.2em}.signin .field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--navy-soft)}.signin .field span{font-weight:600}.signin .linkish{margin-top:14px;border:none;padding:4px 0;color:var(--brand-accent);text-decoration:underline;font-size:13px;background:none}.signin .msg:empty{display:none}.signin .foot{margin-top:16px;font-size:var(--fs-cap);color:var(--muted)}.viewas{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--navy-soft)}.viewas select{font-family:var(--font-sans);font-size:12px;font-weight:600;color:var(--navy);border:1px solid var(--line);border-radius:var(--r-control);padding:6px 8px;background:var(--panel)}.drawer-btn{position:fixed;right:16px;bottom:16px;z-index:40;background:var(--navy);color:#fff;border:none;border-radius:var(--r-round);padding:12px 18px;font-weight:700;font-size:14px;box-shadow:var(--shadow)}.drawer-btn:hover{filter:brightness(1.12)}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#16284a47;z-index:50}.drawer-scrim[hidden]{display:none}.drawer{position:fixed;right:0;top:0;bottom:0;z-index:51;width:min(420px,100%);background:var(--panel);border-left:3px solid var(--brand-coral);box-shadow:var(--shadow);display:flex;flex-direction:column}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line)}.drawer-head h3{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--navy)}.drawer-head .x{background:none;border:none;color:var(--muted);font-size:22px;line-height:1;padding:0 4px}.context-chip{align-self:flex-start;margin:0 18px 6px;padding:4px 12px;border-radius:var(--r-round);border:1px solid var(--brand-coral);background:var(--brand-tint);color:var(--navy);font-size:12px;font-weight:600}.context-chip:disabled{opacity:.7}.drawer-body{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:12px}.starters{display:flex;flex-direction:column;gap:8px}.starter{text-align:left;background:#fbfdff;border:1px solid var(--line);border-radius:var(--r-control);padding:10px 12px;font-size:13px;color:var(--navy-soft)}.starter:hover{border-color:var(--brand-coral)}.msg-row{display:flex}.msg-row.user{justify-content:flex-end}.bubble{max-width:85%;padding:10px 13px;border-radius:13px;font-size:13.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.msg-row.user .bubble{background:var(--navy);color:#fff;border-bottom-right-radius:4px}.msg-row.user.interim .bubble{opacity:.6;font-style:italic}.voice-banner{display:flex;align-items:center;gap:10px;justify-content:space-between}.btn-ghost{background:transparent;border:1px solid currentColor;color:inherit;padding:6px 12px;border-radius:var(--r-control);font-size:13px;cursor:pointer;white-space:nowrap}.tap-to-hear{flex:none}.stale-reload{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--navy);color:#fff;padding:8px 14px;font-size:13.5px;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:var(--shadow)}.stale-reload .stale-reload-btn{min-height:44px;min-width:44px;background:#fff;color:var(--navy)}.version-label{position:fixed;left:calc(8px + env(safe-area-inset-left,0px));bottom:calc(2px + env(safe-area-inset-bottom,0px));z-index:1001;max-width:calc(100vw - 150px);font-size:11px;line-height:16px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:text;user-select:text}.version-label:empty{display:none}.history-transcript{display:flex;flex-direction:column;gap:12px;padding:12px 2px}.report-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:-4px}.report-label{font-size:var(--fs-cap);color:var(--muted)}.report-fmt{min-height:44px;min-width:64px}.report-fmt:disabled{opacity:.5}.report-line{flex-basis:100%;font-size:13px;line-height:1.4;color:var(--navy);overflow-wrap:anywhere}.msg-row.foniaio .bubble{background:var(--brand-tint);color:var(--navy);border-bottom-left-radius:4px}.drawer-foot{padding:12px 18px;border-top:1px solid var(--line)}.drawer-input{display:flex;gap:8px}.drawer-input input{flex:1;font-family:var(--font-sans);font-size:13.5px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-control);outline:none;color:var(--navy);background:#fbfdff}.drawer-input input:focus{border-color:var(--brand-coral);box-shadow:0 0 0 3px var(--brand-tint)}.drawer-note{font-size:var(--fs-cap);color:var(--muted);margin-top:10px;line-height:1.4}.voice-strip{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.btn-hold{flex:1;min-width:140px;background:var(--navy);color:#fff;font-weight:700;padding:12px 16px;border:none;border-radius:var(--r-control);touch-action:none}.btn-hold:hover{filter:brightness(1.08)}.btn-hold:disabled{background:#cbd5e3;cursor:not-allowed}.btn-hold.ptt-target.is-live,.btn-hold:active{background:var(--danger)}.btn-stop{background:var(--panel);border:1px solid var(--danger-line);color:var(--danger);font-weight:700;padding:12px 16px;border-radius:var(--r-control)}.speak-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--navy-soft);white-space:nowrap}.speak-toggle input{width:16px;height:16px}.voice-status{font-size:12.5px;color:var(--navy-soft);margin-bottom:8px}.voice-banner{margin-bottom:8px}.foniaio-launcher{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}.foniaio-launcher>*{pointer-events:auto}.foniaio-btn{position:static;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.foniaio-btn:active,.foniaio-btn.ptt-target:active{background:var(--danger)}.foniaio-caption{font-size:11px;color:var(--navy-soft);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-round);padding:3px 10px;box-shadow:var(--shadow);-webkit-user-select:none;user-select:none}.foniaio-btn,.btn-hold{position:relative}.foniaio-btn[data-state=listening],.btn-hold[data-state=listening]{animation:pttPulse 1.4s infinite}@keyframes pttPulse{0%{box-shadow:0 0 #0e9b8e80}70%{box-shadow:0 0 0 12px #0e9b8e00}to{box-shadow:0 0 #0e9b8e00}}.foniaio-btn[data-state=speaking]:before,.btn-hold[data-state=speaking]:before{content:"";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:13px;height:14px;pointer-events:none;background:linear-gradient(#fff,#fff) 0 50% / 3px 40% no-repeat,linear-gradient(#fff,#fff) 5px 50% / 3px 100% no-repeat,linear-gradient(#fff,#fff) 10px 50% / 3px 60% no-repeat;animation:pttBars .55s ease-in-out infinite alternate}@keyframes pttBars{0%{background-size:3px 40%,3px 100%,3px 55%}to{background-size:3px 95%,3px 30%,3px 85%}}.foniaio-btn[data-state=error],.btn-hold[data-state=error]{animation:pttShake .4s}@keyframes pttShake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.bubble.thinking{display:inline-flex;align-items:center;gap:5px;padding:12px 14px}.bubble.thinking .tdot{width:6px;height:6px;border-radius:50%;background:var(--navy);opacity:.3;animation:tdotPulse 1.2s ease-in-out infinite}.bubble.thinking .tdot:nth-child(2){animation-delay:.2s}.bubble.thinking .tdot:nth-child(3){animation-delay:.4s}@keyframes tdotPulse{0%,to{opacity:.3;transform:translateY(0)}40%{opacity:.9;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.foniaio-btn[data-state],.btn-hold[data-state]{animation:none!important}.foniaio-btn[data-state=speaking]:before,.btn-hold[data-state=speaking]:before{animation:none!important}.bubble.thinking .tdot{animation:none!important;opacity:.55;transform:none!important}}.mic-preflight{background:var(--brand-tint);border:1px solid var(--safe-line);border-radius:var(--r-card);padding:14px 16px;margin-bottom:12px}.mic-preflight .mic-intro{font-size:13.5px;color:var(--navy);margin-bottom:10px;line-height:1.45}.empty{text-align:center;color:var(--muted);padding:48px 20px;font-size:14px}.error{background:var(--warn-bg);border:1px solid var(--warn-line);color:#7a4a06;border-radius:var(--r-control);padding:12px 14px;font-size:13.5px}.spin{color:var(--muted);font-size:13px}.build-stamp{color:var(--muted);font-size:11px;text-align:center;margin-top:10px;-webkit-user-select:text;user-select:text}.build-stamp:empty{display:none}.drawer-foot .build-stamp{margin-top:8px}.tour-card{background:var(--brand-tint);border:1px solid var(--brand-coral);border-radius:var(--r-control);padding:12px 14px;margin:0 2px 12px}.tour-card-row{display:flex;align-items:center;gap:10px;justify-content:space-between}.tour-tap{flex:1;text-align:left;background:var(--navy);color:#fff;border:none;border-radius:var(--r-control);padding:12px 16px;font-weight:700;font-size:14px;cursor:pointer}.tour-tap:hover{filter:brightness(1.1)}.tour-dismiss{flex:none}.tour-fallback{display:flex;flex-direction:column;gap:10px}.tour-text{font-size:13.5px;line-height:1.5;color:var(--navy)}.show-around{align-self:flex-start}.tech-header .as-of{color:var(--muted);font-size:13px;margin-top:2px}.tech-controls .btn.active{background:var(--navy-soft, #334);color:#fff}.tech-selector select{margin-left:4px}.tech-section h3{margin:0;font-size:15px;display:inline-block}.tech-table{border-collapse:collapse;width:100%;font-size:13px;margin-top:6px}.tech-table th,.tech-table td{text-align:left;padding:4px 8px;border-bottom:1px solid var(--line, #e3e3e3);white-space:nowrap}.tech-table th{color:var(--muted);font-weight:600}.tech-table tr.fault td{background:var(--danger-bg, #fff4f4)}.tech-section.tech-platform{opacity:.9}.tech-section summary{cursor:pointer;font-weight:700}.status-line{font-size:12.5px;color:var(--navy-soft);margin-top:2px}.card.edge-attention{border-left:3px solid var(--danger-line)}.store-back{margin-right:10px}.store-section{margin:16px 0}.store-section h3{font-size:14px;margin:0 0 6px;color:var(--navy)}.hvac-line{font-size:13px;color:var(--navy-soft);margin:4px 0}.working{color:var(--muted)}.working .spin{width:22px;height:22px;margin:0 auto 10px;border:3px solid var(--line);border-top-color:var(--brand-coral);border-radius:50%;animation:paiol-spin .8s linear infinite}.working-line{font-size:13.5px}.working-sub{color:var(--muted);font-size:12px;margin-top:4px}@keyframes paiol-spin{to{transform:rotate(360deg)}}.start-page{max-width:34rem;margin:6vh auto;padding:0 var(--s-4)}.start-page .card{padding:24px 22px}.start-page h1{font-family:var(--font-display);font-weight:800;font-size:22px;color:var(--navy)}.start-page h2{font-size:15px;color:var(--navy);margin:18px 0 6px}.start-page p,.start-page li{font-size:13.5px;line-height:1.5;color:var(--navy-soft)}.start-subtitle{font-weight:600;color:var(--navy)!important}.start-steps{padding-left:20px;display:flex;flex-direction:column;gap:6px}.start-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.screen0 .start-actions .btn{min-height:44px;font-size:16px;padding:10px 14px}.tour-overlay{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:0 var(--s-4) calc(var(--s-4) + 18px + env(safe-area-inset-bottom,0px));pointer-events:none}.tour-overlay-card{pointer-events:auto;max-width:520px;margin:0 auto;background:var(--navy);color:#fff;border-radius:var(--r-card);box-shadow:0 -4px 24px #00000040;padding:16px}.tour-overlay-text{font-size:14px;line-height:1.5}.tour-overlay-actions{display:flex;justify-content:space-between;gap:10px;margin-top:12px;flex-wrap:wrap}.tour-overlay .btn{min-height:44px;font-size:16px;padding:10px 14px}.tour-overlay .btn-primary{background:#fff;color:var(--navy)}.tour-overlay .btn-ghost{color:#fff;border-color:#fff6}.rate-entry{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}.rate-entry input{font-family:var(--font-mono);font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:var(--r-control);width:7em}.unit-row{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px dashed var(--line);padding:8px 0;font-family:var(--font-sans);cursor:pointer}.unit-row.cooling,.unit-row.heating{color:var(--navy);font-weight:600}.unit-row.no_reading{color:var(--muted)}.unit-row.needs_attention,.unit-row.too_warm,.unit-row.too_cold,.calc.too_warm,.calc.too_cold{color:var(--navy);font-weight:600}.unit-row.extreme,.unit-status.extreme,.calc.extreme{color:var(--danger);font-weight:700}.unit-row.cooling_no_effect,.unit-row.heating_no_effect,.unit-row.room_not_recovering,.unit-status.cooling_no_effect,.unit-status.heating_no_effect,.unit-status.room_not_recovering,.calc.cooling_no_effect,.calc.heating_no_effect,.calc.room_not_recovering{color:var(--safe);font-weight:600}.unit-row.not_reporting,.unit-row.sensor_not_connected,.unit-status.not_reporting,.unit-status.sensor_not_connected,.calc.not_reporting,.calc.sensor_not_connected{color:var(--muted)}.unit-cond{color:var(--navy)}.unit-sheet-body{gap:8px}.unit-status{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--navy);margin-bottom:6px}.unit-status.cooling,.unit-status.heating{color:var(--navy)}.unit-line{font-size:14px;color:var(--navy-soft)}.unit-ask{margin-top:14px}@media(max-width:640px),(hover:none)and (pointer:coarse){input,select,textarea{font-size:16px!important}}.author-sheet{position:fixed;left:0;right:0;bottom:0;top:0;z-index:45;background:#00000059;display:flex;align-items:flex-end;justify-content:center}.author-sheet[hidden]{display:none}.author-card{width:100%;max-width:520px;max-height:85vh;overflow-y:auto;background:#fff;border-radius:var(--r-card) var(--r-card) 0 0;box-shadow:0 -4px 24px #00000040;padding:16px calc(var(--s-4)) calc(16px + env(safe-area-inset-bottom,0px))}.author-title{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--navy);margin:0 0 12px}.author-text{width:100%;box-sizing:border-box;min-width:0;font-family:var(--font-sans);font-size:16px;line-height:1.4;padding:10px;border:1px solid var(--line);border-radius:var(--r-control);color:var(--navy)}.author-note{margin-top:10px;font-size:14px;color:var(--navy);font-weight:600}.author-note[hidden]{display:none}[data-hold-guard],[data-hold-guard] *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}[data-hold-guard=tap]{touch-action:manipulation}[data-hold-guard=hold]{touch-action:none}.author-input{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.author-input .author-text{flex:1 1 220px}.author-hold{flex:0 0 auto}.author-hold[data-state=listening]{background:var(--brand-accent);color:#fff}.author-missed{margin-top:8px;font-size:14px;color:var(--navy)}.author-missed[hidden]{display:none}.author-buttons{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.author-sheet .btn{min-height:44px;font-size:16px;padding:10px 14px}.author-list{margin-top:20px}.author-list-title{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--navy);margin:0 0 8px}.author-empty{font-size:14px;color:var(--muted)}.author-row{border-top:1px dashed var(--line);padding:10px 0;overflow-wrap:anywhere}.author-meta{font-size:12px;color:var(--muted)}.author-body{font-size:14px;color:var(--navy);margin:4px 0}.author-status{font-size:13px;color:var(--navy-soft);font-weight:600}.author-actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}.graph-btn{display:block;box-sizing:border-box;width:100%;padding:6px 8px;margin:0;border:1px solid var(--line);border-radius:var(--r-control);background:var(--bg);color:var(--navy-soft);cursor:zoom-in;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.graph-btn:focus-visible{outline:2px solid var(--brand-coral);outline-offset:2px}.graph-last{margin:2px 0 6px}.graph-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:46;background:#16284a61;display:flex;align-items:center;justify-content:center;touch-action:none;overscroll-behavior:contain;padding:calc(12px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px));box-sizing:border-box}.graph-card{width:100%;max-width:720px;max-height:100%;box-sizing:border-box;background:#fff;border-radius:var(--r-card);box-shadow:var(--shadow);padding:14px 16px;color:var(--navy);overflow-wrap:anywhere;min-width:0}.graph-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.graph-card-head h3{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--navy);margin:0;min-width:0}.graph-close{flex:0 0 auto;min-height:44px;min-width:44px;padding:8px 12px;font-size:16px;border:1px solid var(--line);border-radius:var(--r-control);background:#fff;color:var(--navy);cursor:pointer;touch-action:manipulation}.graph-grid{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;row-gap:4px}.graph-yscale{display:flex;flex-direction:column;justify-content:space-between;text-align:right;font-size:var(--fs-cap);color:var(--muted);white-space:nowrap}.graph-plot{position:relative;height:min(50vh,260px);border-left:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--navy-soft);min-width:0;cursor:crosshair}.graph-marker{position:absolute;top:0;bottom:0;width:0;border-left:1px solid var(--brand-coral);pointer-events:none}.graph-marker[hidden]{display:none}.graph-readout{min-height:1.5em;margin-top:6px;font-family:var(--font-mono);color:var(--navy)}.graph-plot svg{display:block}.graph-xscale{display:flex;justify-content:space-between;gap:6px;font-size:var(--fs-cap);color:var(--muted)}.finder{position:relative;margin:0 0 12px}.finder-input{box-sizing:border-box;width:100%;min-height:44px;font-family:var(--font-sans);font-size:14px;color:var(--navy);border:1px solid var(--line);border-radius:var(--r-control);padding:8px 12px;background:var(--panel)}.finder-list{position:absolute;left:0;right:0;top:100%;z-index:30;margin:4px 0 0;padding:4px 0;list-style:none;max-height:60vh;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-control);box-shadow:0 4px 16px #0000001f}.finder-list[hidden]{display:none}.finder-item,.finder-none{display:flex;flex-direction:column;gap:2px;min-height:44px;justify-content:center;padding:6px 12px;overflow-wrap:anywhere}.finder-item{cursor:pointer;color:var(--navy)}.finder-item.active,.finder-item:hover{background:var(--brand-tint)}.finder-label{font-size:14px}.finder-group{font-size:var(--fs-cap);color:var(--muted)}.finder-none{color:var(--navy-soft);font-size:13px}.pm-entry{display:flex;flex-direction:column;gap:10px}.pm-entry-sub{margin:0 2px}.pm-entry-sample{margin:0 2px;font-weight:600;color:var(--navy-soft)}.pm-entry-rules{margin:0 2px 0 20px;font-size:13px;color:var(--navy-soft)}.pm-entry-sec{display:flex;flex-direction:column;gap:8px}.pm-entry-h{margin:12px 2px 2px}.pm-entry-field{display:flex;flex-direction:column;gap:4px}.pm-entry-label{font-size:13.5px;font-weight:600;color:var(--navy);display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.pm-entry-field input,.pm-entry-field textarea,.pm-entry-field select{box-sizing:border-box;width:100%;min-height:44px;font-family:var(--font-sans);font-size:14px;color:var(--navy);border:1px solid var(--line);border-radius:var(--r-control);padding:8px 12px;background:var(--panel)}.pm-entry-field input:disabled{background:var(--bg);color:var(--muted)}.pm-entry-inline{display:flex;gap:8px;align-items:center}.pm-entry-inline input{flex:1}.pm-entry-choice{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pm-entry-col{flex-direction:column;align-items:stretch}.pm-entry-btn,.pm-entry-opt{min-height:44px;font-size:15px}.pm-entry-opt[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}.pm-entry-start{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin:8px 2px}.pm-entry-field textarea{resize:vertical}.pm-editors{margin-top:28px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.pm-editors-h{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-.3px;color:var(--navy);margin:0 2px}.pm-site-note-add{padding:4px 2px 8px}.pm-site-note-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.pm-site-note-controls .pm-entry-field{flex-basis:100%}.viewas-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:280px}.viewas-preview{margin:0}.pm-overview-row{display:flex;flex-direction:column}.pm-start-row{align-self:flex-start;margin:2px 2px 12px}.pm-start-none,.pm-start-hint{margin:4px 2px 8px}.pm-entry-unit,.pm-entry-due,.pm-entry-req{font-size:var(--fs-cap);font-weight:500;color:var(--muted)}.pm-entry-due{color:var(--brand-accent)}.pm-entry-unit-card,.pm-entry-task{display:flex;flex-direction:column;gap:8px}.pm-entry-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}.pm-entry-bad{outline:2px solid var(--danger);outline-offset:2px;border-radius:var(--r-control)}.pm-entry-why{font-size:13px;color:var(--danger)}.pm-entry-reasons{margin:6px 0 0 18px}.pm-capture{margin:8px 0 12px}.pm-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pm-photo{margin:0}.pm-photo img{display:block;width:100%;height:auto;border-radius:var(--r-control);border:1px solid var(--line)}.pm-quarters-years{display:flex;gap:8px;flex-wrap:wrap;margin:0 2px 8px}.pm-quarters-year[aria-pressed=true]{background:var(--navy);color:#fff}.pm-quarters-year{min-height:44px;min-width:44px}.pm-q-row{display:grid;grid-template-columns:.8fr 1fr 1.4fr .8fr .8fr;gap:8px;align-items:baseline}.pm-q-head{margin:0 12px 4px;font-weight:600}.pm-q-label{display:none}.pm-q-meta{font-size:12px}.pm-q-row[data-state=short] .pm-q-cell:nth-child(2) .pm-q-meta{color:var(--danger);font-weight:600}.pm-q-row.pm-q-nobilling{grid-template-columns:.8fr 1fr 1.4fr}.pm-reports{display:flex;gap:8px;flex-wrap:wrap;margin:0 2px 8px}.pm-report-link{min-height:44px;display:inline-flex;align-items:center}@media(max-width:640px){.pm-q-head{display:none}.pm-q-row,.pm-q-row.pm-q-nobilling{grid-template-columns:1fr;gap:2px}.pm-q-label{display:inline;margin-right:6px;color:var(--navy-soft)}}.stack-label{display:none}@media(max-width:640px){.stack-grid{grid-template-columns:1fr!important;gap:2px!important}.stack-head{display:none!important}.stack-label{display:inline;margin-right:6px;color:var(--navy-soft)}}.back-link,.tabs a,.signin .linkish{min-height:44px;display:inline-flex;align-items:center}.nav-help,.nav-signout,.starters .btn,.starter,.pm-capture-unit,.unit-ask,.drawer-btn,.store-back{min-height:44px}.nav-sms{min-height:44px;display:inline-flex;align-items:center}.sms-form{display:grid;gap:8px;margin-top:8px}.sms-number{box-sizing:border-box;width:100%;min-height:44px;font-size:16px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-control)}.sms-consent,.start-page .sms-consent{margin:4px 0;font-size:15px;line-height:1.45;color:var(--navy)}.sms-agree-row{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:600}.sms-agree{width:22px;height:22px}.sms-save,.sms-stop{min-height:44px}.sms-state{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}@media print{.sms-preview .card{box-shadow:none;border:1px solid #000}}.nav-alerts,.alerts-customer{min-height:44px;display:inline-flex;align-items:center}.alerts-picker{display:grid;gap:8px;margin-top:8px}.alerts-rows{display:grid;gap:10px;margin-top:8px}.alerts-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:6px 12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-control)}.alerts-row[aria-busy=true]{opacity:.6}.alerts-msg{grid-column:1 / -1}.alerts-msg:empty{display:none}.alerts-switch,.alerts-choice,.alerts-site{display:flex;align-items:center;gap:8px;min-height:44px}.alerts-switch{font-weight:600}.alerts-switch input,.alerts-choice input,.alerts-site input{width:22px;height:22px}@media(max-width:640px){.alerts-row{grid-template-columns:1fr}}.nav-settings,.as-link{min-height:44px;display:inline-flex;align-items:center}.as-list{display:grid;gap:8px;margin-top:8px}.as-card{display:grid;gap:8px;padding:10px 12px;margin-top:8px;border:1px solid var(--line);border-radius:var(--r-control)}.as-field{display:grid;gap:4px}.as-label{font-size:14px;font-weight:600;color:var(--navy)}.as-input{box-sizing:border-box;width:100%;min-height:44px;font-size:16px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-control);background:#fff}.as-buttons{display:flex;gap:8px;flex-wrap:wrap}.as-btn{min-height:44px;font-size:16px;padding:10px 14px}.as-inuse{font-weight:600}.as-mute{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:6px 0}.as-msg:empty{display:none}.as-flash{font-weight:600;margin:6px 0}.as-log{margin:6px 0 0 18px;padding:0;display:grid;gap:6px;font-size:15px}.alert-settings,.alert-review{padding-bottom:80px}.ar-period{min-height:44px;font-size:16px}.ar-counts{font-weight:600;margin:8px 0}.ar-customer h3{margin:14px 0 4px}.ar-site h4{margin:10px 0 4px}.ar-unit{margin:6px 0 12px}.ar-alert{border:1px solid var(--border, #d8dee6);border-radius:8px;padding:8px 10px;margin:6px 0}.ar-open{border-left:4px solid var(--danger)}.ar-title{font-weight:600}.ar-why-head{font-size:14px;font-weight:600;margin-top:6px}.ar-why{margin:2px 0 0 18px;padding:0;display:grid;gap:3px;font-size:15px;overflow-wrap:anywhere}.equip-edit-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.equip-edit-controls .btn,.equip-edit-buttons .btn{min-height:44px}.equip-edit-fields{display:grid;gap:10px;margin-bottom:10px}.equip-edit-field{display:grid;gap:4px}.equip-edit-label{font-size:14px;font-weight:600;color:var(--navy)}.equip-edit-input{min-height:44px}.equip-edit-bad .equip-edit-input{outline:2px solid var(--danger);outline-offset:2px}.equip-edit-why{font-size:13px;color:var(--danger)}.equip-edit-why[hidden],.equip-edit-errors[hidden]{display:none}.equip-edit-errors{margin:6px 0 0 18px;color:var(--danger);font-size:14px}.equip-edit-buttons{display:flex;gap:8px;flex-wrap:wrap}.equip-edit-flash{margin:6px 2px 0;font-weight:600}.equip-history-row{overflow-wrap:anywhere}.equip-history-drawer .drawer-head .x{min-width:44px;min-height:44px}.vendor-controls{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.vendor-controls .btn,.vendor-buttons .btn,.vendor-site .btn,.pm-vendors-link{min-height:44px}.pm-vendors-link{display:inline-flex;align-items:center;margin:0 2px 8px}.vendor-site{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}.vendor-fields{display:grid;gap:10px;margin-bottom:10px}.vendor-field{display:grid;gap:4px}.vendor-label{font-size:14px;font-weight:600;color:var(--navy)}.vendor-input{min-height:44px}.vendor-bad .vendor-input{outline:2px solid var(--danger);outline-offset:2px}.vendor-why{font-size:13px;color:var(--danger)}.vendor-why[hidden],.vendor-errors[hidden],.vendor-contact-warn[hidden],.vendor-reassign-hint[hidden]{display:none}.vendor-errors{margin:6px 0 0 18px;color:var(--danger);font-size:14px}.vendor-buttons{display:flex;gap:8px;flex-wrap:wrap}.lang-switch{display:inline-flex;gap:4px;align-items:center}.lang-btn{min-width:44px;min-height:44px}.lang-btn[aria-pressed=true]{background:var(--navy);color:#fff}.pm-invoice-line{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.pm-invoice-decide-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.invoice-decide-btn{min-height:44px}.pmg-home{margin:0 2px 12px}.pmg-home .btn,.pmg-home .pmg-row,.pmg-home .pmg-chip{min-height:44px;display:inline-flex;align-items:center}.pmg-home .pmg-row{display:block;padding:8px 0}.pmg-home .pmg-counts{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-wrap:wrap;gap:8px}
