@font-face{font-family:General Sans;src:url(/static/font/GeneralSans-Regular.2e31a472ed.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:General Sans;src:url(/static/font/GeneralSans-Medium.c8536fcb58.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:General Sans;src:url(/static/font/GeneralSans-Semibold.a232ef335b.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:General Sans;src:url(/static/font/GeneralSans-Bold.f30d14b7d2.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#111415;--surface-base:#1a1d20;--surface-raised:#262e2f;--surface-hover:#3f4649;--line:#3a4042;--text-primary:#fff;--text-secondary:#d1d5db;--text-muted:#9ca3af;--accent:#75b0f3;--accent-border:#75b0f347;--accent-soft:#75b0f324;--success:#39c27e;--warning:#e6b24b;--error:#de5a57;--brand-gradient:linear-gradient(90deg, #75b0f3 0%, #bfe8cd 50%, #e5fac0 100%);--radius-sm:8px;--radius-md:12px;--radius-lg:14px;--radius-xl:16px;--shadow-inset-hairline:0 0 0 1px #ffffff08 inset;--font-sans:"General Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Space Grotesk", "General Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Code", monospace}.iot-genius-star-mark{color:var(--accent);flex:none;place-items:center;display:inline-grid}.iot-genius-star-mark svg{width:100%;height:100%;display:block}.iot-genius-star-mark__path{fill:var(--iot-genius-star-gradient)}.mark.iot-genius-star-mark{clip-path:none;background:0 0}.commissioning-phase-bar{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.commissioning-phase{min-width:0;color:var(--text-muted);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;font-size:13px;font-weight:500;display:grid;position:relative}.commissioning-phase-marker{z-index:1;border:2px solid var(--text-muted);background:var(--background);border-radius:999px;width:10px;height:10px;position:relative}.commissioning-phase-connector{z-index:0;background:var(--line);height:1px;position:absolute;top:50%;left:10px;right:8px}.commissioning-phase-label{z-index:1;background:var(--background);width:fit-content;padding-right:8px;position:relative}.commissioning-phase-completed{color:var(--text-secondary)}.commissioning-phase-current{color:var(--text-primary)}.commissioning-phase-unavailable{color:var(--text-muted)}.commissioning-phase-unavailable .commissioning-phase-marker{border-style:dashed}.system-status-message{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--surface-base);grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:grid}.system-status-message-icon{color:var(--text-muted)}.system-status-message-label{color:var(--text-primary);font-weight:600}.system-status-message[data-tone=success]{background:#39c27e1a;border-color:#39c27e40}.system-status-message[data-tone=success] .system-status-message-icon{color:var(--success)}.system-status-message[data-tone=warning]{background:#e6b24b1a;border-color:#e6b24b40}.system-status-message[data-tone=warning] .system-status-message-icon{color:var(--warning)}.system-status-message[data-tone=error]{background:#de5a571a;border-color:#de5a5740}.system-status-message[data-tone=error] .system-status-message-icon{color:var(--error)}@media (max-width:520px){.commissioning-phase{gap:5px;font-size:11px}.commissioning-phase-label{padding-right:5px}}@media (prefers-reduced-motion:reduce){.iot-genius-star-mark,.commissioning-phase,.commissioning-phase-marker,.system-status-message{transition:none!important;animation:none!important}}*{box-sizing:border-box}.structured-chat-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:stretch;gap:18px;margin-top:18px;display:grid}.structured-chat-history,.structured-chat-main{background:#1a1d20c7;border:1px solid #a9b4af2e;min-width:0}.structured-chat-history-heading{border-bottom:1px solid var(--line);gap:6px;padding-bottom:14px;display:grid}.structured-chat-history-heading strong{color:var(--text);overflow-wrap:anywhere}.structured-chat-history-list{gap:7px;margin-top:12px;display:grid}.structured-chat-history-list .history-row{width:100%}.structured-chat-main{grid-template-rows:auto minmax(0,1fr);min-height:calc(100vh - 142px);display:grid}.structured-chat-session-header{border-bottom:1px solid var(--line);background:#11141594;grid-template-columns:minmax(220px,.8fr) minmax(180px,.55fr) minmax(340px,1fr);align-items:center;gap:20px;padding:18px 20px;display:grid}.structured-chat-agent-identity{align-items:center;gap:10px;min-width:0;display:flex}.structured-chat-agent-identity h1,.structured-chat-session-meta h2{color:var(--text-primary);font-family:var(--font-display);overflow-wrap:anywhere;margin:0}.structured-chat-agent-identity span{color:var(--text-muted);margin-top:3px;font-size:11px;display:block}.structured-chat-session-meta{min-width:0}.structured-chat-session-meta h2{margin-top:4px;font-size:16px}.session-name-display{grid-template-columns:minmax(0,auto) 28px;align-items:center;gap:6px;margin-top:4px;display:grid}.session-name-display h2{margin-top:0}.session-name-edit-command{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;transition:border-color .12s,color .12s,background .12s;display:inline-grid}.session-name-edit-command:hover,.session-name-edit-command:focus-visible{border-color:var(--line);color:var(--text-primary);background:#ffffff0f;outline:none}.session-name-editor{gap:5px;margin-top:4px;display:grid}.session-name-editor input{border:1px solid var(--accent);width:min(280px,100%);min-width:0;color:var(--text-primary);font:600 16px/1.2 var(--font-display);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);background:#070a0be0;border-radius:7px;outline:none;padding:6px 8px}.session-name-error{color:var(--error);grid-column:1/-1;font-size:11px;line-height:1.35}.structured-chat-sheet{--structured-chat-composer-height:88px;background:0 0;border:0;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.structured-chat-stream{min-height:0;padding:22px clamp(16px,4vw,56px);overflow-y:auto}.structured-chat-stream .chat-thread{gap:12px;width:min(760px,100%);margin:0 auto;display:grid}.guided-chat-turn{gap:10px;min-height:0;margin-top:12px;display:grid}.guided-chat-message{align-items:flex-start;gap:9px;display:flex}.guided-chat-avatar{border:1px solid var(--accent-border);border-radius:var(--radius-md);background:var(--accent-soft);flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.guided-chat-avatar .iot-genius-star-mark{width:17px;height:17px}.guided-chat-bubble.message-bubble{border:1px solid var(--line);border-radius:4px var(--radius-md) var(--radius-md) var(--radius-md);background:var(--surface-raised);width:fit-content;max-width:min(78%,520px);box-shadow:none;padding:9px 12px}.guided-chat-speaker{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;margin-bottom:5px;font-size:10px;display:block}.guided-chat-bubble p{color:var(--text-primary);margin:0;font-size:13px;line-height:1.45}.guided-chat-quick-actions{gap:8px;width:min(520px,100% - 39px);min-width:0;margin-left:39px;display:grid}.guided-chat-quick-actions .primary-command,.guided-chat-quick-actions .secondary-command{min-height:44px;margin:0}.guided-chat-quick-actions .primary-command{border-radius:var(--radius-sm);color:var(--background);background:var(--brand-gradient)}.guided-chat-quick-actions .secondary-command{border-radius:var(--radius-sm);color:var(--text-primary);background:var(--surface-raised)}.step-coach-reference{border:1px solid color-mix(in srgb, var(--accent) 24%, var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-raised) 88%, transparent);grid-template-columns:minmax(132px,.72fr) minmax(0,1fr);gap:8px 14px;padding:12px;display:grid}.step-coach-reference-heading,.step-coach-reference-safety{grid-column:1/-1}.step-coach-reference-heading h3,.step-coach-reference-caption,.step-coach-reference-checks,.step-coach-reference-safety{margin:0}.step-coach-reference-source,.wiring-map-provenance,.wiring-map-photo-provenance{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.step-coach-reference-heading h3{color:var(--text-primary);margin-top:4px;font-size:14px}.step-coach-reference-visual{border:1px solid var(--line);background:#050b0c94;align-self:start;padding:8px}.step-coach-reference-visual svg,.step-coach-reference-photo{width:100%;height:auto;display:block}.step-coach-reference-photo{aspect-ratio:4/3;object-fit:cover}.step-coach-ink{fill:#c8ddd7}.step-coach-surface{fill:#1c2929}.step-coach-highlight-fill{fill:#7ff5dc}.step-coach-highlight-ring{fill:#7ff5dc;opacity:.45}.step-coach-highlight-outline{fill:none;stroke:#7ff5dc;stroke-width:3px}.step-coach-highlight-stroke{fill:none;stroke:#7ff5dc;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.step-coach-ink-stroke{fill:none;stroke:#c8ddd7;stroke-width:4px;stroke-linecap:round}.step-coach-reference-caption,.step-coach-reference-checks,.step-coach-reference-safety{color:var(--text-muted);font-size:12px;line-height:1.45}.step-coach-reference-checks{padding-left:18px}.step-coach-reference-safety{border-top:1px solid var(--line);color:var(--warn);padding-top:8px}.structured-chat-composer{z-index:5;border-top:1px solid var(--line);background:#111415f5;padding:12px clamp(16px,4vw,56px) 16px;position:sticky;bottom:0}.structured-chat-composer>.composer,.structured-chat-composer>form{width:min(820px,100%);margin:0 auto}.session-details-content{gap:16px;display:grid}.session-details-content>section{min-width:0}@media (max-width:900px){.structured-chat-layout{grid-template-columns:1fr}.structured-chat-history{display:none}.structured-chat-session-header{grid-template-columns:1fr;gap:14px}}@media (max-width:760px){.structured-chat-layout{margin-top:0;display:block}.structured-chat-main{background:0 0;border:0;min-height:calc(100dvh - 78px)}.structured-chat-session-header{background:0 0;padding:12px 0 14px}.structured-chat-agent-identity h1{font-size:17px}.structured-chat-sheet{grid-template-rows:minmax(0,1fr) auto}.structured-chat-stream{padding:16px 0;overflow:visible}.structured-chat-composer{padding:10px calc(10px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left));margin:0 -10px -10px}.guided-chat-quick-actions{width:100%;margin-left:0}.step-coach-reference{grid-template-columns:1fr}.step-coach-reference-heading,.step-coach-reference-safety{grid-column:auto}}.detection-panel{background:#141b1feb;border:1px solid #75b0f338;border-radius:12px;gap:14px;padding:18px;display:grid;box-shadow:inset 0 1px #ffffff06}.detection-panel>p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.detection-panel-heading,.detection-technical-title{align-items:center;gap:11px;display:flex}.detection-panel-heading>div{flex:1;min-width:0}.detection-panel-heading h2,.detection-technical-title h3{color:var(--text);font-family:var(--font-display);margin:0;font-size:18px}.detection-panel-icon{color:#75b0f3;background:#75b0f314;border:1px solid #75b0f340;border-radius:9px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:inline-grid}.detection-status{border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:5px 8px;font-size:10px}.detection-status-completed{color:var(--success)}.detection-status-failed{color:var(--danger)}.detection-status-running{color:#75b0f3}.detection-configuration-note{border-left:3px solid var(--warning);padding-left:11px}.detection-summary-success{color:var(--success)!important}.detection-summary-negative{color:var(--warning)!important}.detection-technical{border-top:1px solid var(--line);gap:15px;padding-top:15px;display:grid}.detection-technical-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.detection-technical-grid>div{border-left:1px solid var(--line);gap:6px;min-width:0;padding:0 16px;display:grid}.detection-technical-grid>div:first-child{border-left:0;padding-left:0}.detection-technical-grid dt,.detection-observed>span{color:var(--muted);font-size:11px}.detection-technical-grid dd{min-width:0;color:var(--text);overflow-wrap:anywhere;gap:4px;margin:0;font-size:12px;display:grid}.detection-technical-grid dd span{color:var(--muted);font-size:10px}.detection-observed{gap:7px;display:grid}.detection-observed pre,.detection-probe-request pre{border:1px solid var(--line);max-height:260px;color:var(--text);font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;background:#070c0f9e;border-radius:8px;margin:0;padding:11px 12px;font-size:11px;line-height:1.55;overflow:auto}.detection-probe-request{border-top:1px solid var(--line);padding-top:13px}.detection-probe-request summary{cursor:pointer;color:var(--text);justify-content:space-between;align-items:center;font-size:13px;font-weight:600;list-style:none;display:flex}.detection-probe-request summary::-webkit-details-marker{display:none}.detection-probe-request[open] summary svg{transform:rotate(180deg)}.detection-probe-request summary svg{transition:transform .16s}.detection-probe-request p{color:var(--muted);margin:9px 0;font-size:11px;line-height:1.45}.detection-progress-card,.detection-setup-summary{border-color:var(--commissioning-line);background:var(--commissioning-raised);box-shadow:none;border-radius:14px;gap:11px;padding:13px 14px}.detection-progress-card h2{color:var(--text-primary);font-family:var(--font-display);margin:-2px 0 3px;font-size:16px;line-height:1.2}.detection-progress-list{gap:10px;display:grid}.detection-progress-row{grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.detection-progress-icon{box-sizing:border-box;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.detection-progress-icon-ready{color:var(--commissioning-canvas);background:var(--success)}.detection-progress-icon-active{border:2px solid #75b0f33d;border-top-color:var(--commissioning-blue);animation:.9s linear infinite backend-activity-spin}.detection-progress-label{min-width:0;color:var(--text-primary);font-size:13px}.detection-progress-status{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.06em;white-space:nowrap;font-size:9px}.detection-setup-summary{border-left:3px solid var(--success)}.detection-setup-summary[data-result=failed]{border-left-color:var(--danger)}.detection-summary-grid{gap:8px;margin:0;display:grid}.detection-summary-grid>div{grid-template-columns:auto minmax(0,1fr);gap:16px;display:grid}.detection-summary-grid dt{color:var(--text-muted);font-size:13px}.detection-summary-grid dd{min-width:0;color:var(--text-primary);text-align:right;overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:600}.detection-summary-grid .detection-result-detected{color:var(--success);font-family:var(--font-mono)}.detection-summary-grid .detection-result-not-detected{color:var(--danger);font-family:var(--font-mono)}.detection-panel>.detection-result-message{color:var(--danger);margin:0;font-size:11px}.detection-result-actions{border-top:1px solid var(--commissioning-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:10px;display:grid}.detection-result-actions .primary-command,.detection-result-actions .secondary-command{min-height:44px;margin:0}@media (max-width:760px){.detection-technical-grid{grid-template-columns:1fr 1fr;row-gap:15px}.detection-technical-grid>div:nth-child(odd){border-left:0;padding-left:0}.detection-result-actions{grid-template-columns:minmax(0,1fr)}}.gateway-code-panel .secondary-command.compact{min-height:44px}:root{color:var(--text-primary);background:var(--background);font-family:var(--font-sans)}html,body,#root{min-height:100%;margin:0}body{min-width:320px}button,input,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.shifu-shell{color:#eef8f7;background:linear-gradient(#28f5d60d 1px,#0000 1px) 0 0/34px 34px,linear-gradient(90deg,#28f5d60a 1px,#0000 1px) 0 0/34px 34px,radial-gradient(circle at 18% 12%,#13bca63d,#0000 34%),linear-gradient(150deg,#101515 0%,#171d1d 48%,#0e1111 100%);min-height:100vh;position:relative;overflow-x:hidden}.icon-button,.send-button{color:#e9fffb;background:#0c1415c7;border:1px solid #a0e5da38;border-radius:8px;place-items:center;width:40px;min-width:40px;height:40px;display:inline-grid}.icon-button:hover,.send-button:hover{background:#132c2aeb;border-color:#38e8c7bf}.nav-trigger{z-index:20;position:fixed;top:18px;left:18px}.drawer-layer{z-index:50;background:#0307079e;align-items:stretch;animation:.18s ease-out both drawer-layer-enter;display:flex;position:fixed;inset:0}.drawer-layer--closing{pointer-events:none;animation-name:drawer-layer-exit;animation-timing-function:ease-in}.history-drawer{width:min(340px,100vw - 28px);min-height:0;padding:calc(18px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom)) calc(18px + env(safe-area-inset-left));will-change:transform;background:#0c1112f5;border-right:1px solid #a0e5da33;grid-template-rows:auto auto minmax(0,1fr) auto;animation:.22s cubic-bezier(.22,1,.36,1) both drawer-slide-enter;display:grid;overflow:hidden;box-shadow:16px 0 40px #00000057}.drawer-layer--closing .history-drawer{animation-name:drawer-slide-exit;animation-duration:.18s;animation-timing-function:cubic-bezier(.4,0,1,1)}@keyframes drawer-layer-enter{0%{opacity:0}to{opacity:1}}@keyframes drawer-layer-exit{0%{opacity:1}to{opacity:0}}@keyframes drawer-slide-enter{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes drawer-slide-exit{0%{transform:translate(0)}to{transform:translate(-100%)}}@media (prefers-reduced-motion:reduce){.drawer-layer,.drawer-layer--closing,.history-drawer,.drawer-layer--closing .history-drawer{animation-duration:1ms}}.drawer-header{justify-content:flex-start;display:flex}.drawer-pinned{gap:10px;margin-top:11.5px;display:grid}.drawer-pinned:has(.drawer-home-gateway-content[hidden]){margin-top:0}.drawer-nav{overscroll-behavior:contain;align-content:start;gap:10px;min-height:0;margin-top:0;padding-right:4px;display:grid;overflow-y:auto}.drawer-command,.history-row{color:#e8faf6;text-align:left;background:#ffffff0a;border:1px solid #a0e5da2e;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;display:flex}.drawer-command.primary,.primary-command{color:#031616;background:linear-gradient(135deg,#43f0c7,#72d9ff);border-color:#30eec98f;font-weight:700}.history-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:0;padding:0;display:grid;position:relative}.history-row.active{background:#2af0c91f;border-color:#30eec9b8}.history-row-main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 8px 10px 12px;display:flex}.history-row-actions{align-items:flex-start;padding:4px;display:flex;position:relative}.history-row-menu-trigger{color:#98aaa7;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;width:44px;height:44px;padding:0;display:grid}.history-row-menu-trigger:hover,.history-row-menu-trigger:focus-visible,.history-row-menu-trigger[aria-expanded=true]{color:#e8faf6;background:#ffffff14;border-color:#a0e5da47;outline:none}.history-row-menu{z-index:4;background:#182120;border:1px solid #a0e5da3d;border-radius:8px;min-width:112px;padding:4px;position:absolute;top:calc(100% + 2px);right:0;box-shadow:0 14px 30px #0000006b}.history-row-menu button{color:#e8faf6;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;width:100%;padding:8px 10px;display:flex}.history-row-menu .history-row-menu-delete{color:#ff6b6b}.history-row-menu .history-row-menu-delete:hover,.history-row-menu .history-row-menu-delete:focus-visible{background:#ff5b5b24}.history-row-menu button:hover,.history-row-menu button:focus-visible{background:#30eec921;outline:none}.history-row-editing{min-width:0;padding:8px 12px 10px}.history-row-editing .session-name-editor{margin-top:0}.history-row-editing .session-name-editor input{width:100%;font-size:14px}.history-row-editing small{margin-top:5px}.history-row span,.history-row small{overflow-wrap:anywhere;max-width:100%;display:block}.history-row small,.empty-history{color:#98aaa7}.home-screen,.missing-session,.chat-screen{width:min(960px,100vw - 36px);margin:0 auto;padding:96px 0 48px}.home-screen{grid-template-columns:minmax(0,1.1fr) minmax(240px,.72fr);align-items:end;gap:18px;min-height:100vh;padding-bottom:12vh;display:grid}.home-copy h1,.missing-session h1,.chat-topbar h1{color:#f4fffc;letter-spacing:0;margin:8px 0 12px;font-size:clamp(2.2rem,5vw,4.9rem);line-height:.95}.chat-topbar h1{font-size:2rem;line-height:1.1}.home-copy p,.missing-session p,.chat-card p,.message-bubble p{color:#bed0cc;margin:0;line-height:1.55}.home-kicker{color:#7ff5dc;background:#43f0c714;border:1px solid #43f0c773;border-radius:8px;padding:5px 8px;font-size:.82rem;display:inline-flex}.secondary-command{color:#e9fffb;background:#ffffff0d;border:1px solid #a0e5da40;margin-top:0}.secondary-command.compact,.primary-command.compact{min-height:38px;margin-top:0}.home-status,.how-it-works,.chat-card,.readiness-card,.missing-session{background:#0e1516c2;border:1px solid #a0e5da2e;border-radius:8px;box-shadow:0 20px 70px #00000047}.home-status{grid-template-columns:auto 1fr;gap:10px 14px;padding:18px;display:grid}.home-status span,.state-chip-row span{color:#8fa7a2;font-size:.86rem}.home-status strong{overflow-wrap:anywhere}.how-it-works{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.how-it-works li{color:#dcefeb;border-right:1px solid #a0e5da24;min-height:74px;padding:18px}.how-it-works li:last-child{border-right:0}.missing-session{max-width:680px;padding:42px}.missing-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.missing-actions button{color:#e9fffb;background:#ffffff0f;border:1px solid #a0e5da42;border-radius:8px;min-height:40px;padding:0 14px}.chat-screen{flex-direction:column;min-height:100vh;padding-bottom:118px;display:flex}.workflow-topbar{grid-template-columns:minmax(0,.7fr) minmax(360px,1fr);align-items:end;gap:22px;margin-bottom:18px;display:grid}.workflow-topbar h1{color:#f4fffc;margin:8px 0 0;font-size:clamp(2rem,4vw,4rem);line-height:.98}.workflow-progress{grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.workflow-progress li{color:#91aaa5;text-align:center;background:#ffffff0a;border:1px solid #a0e5da2b;border-radius:8px;min-height:48px;padding:9px 6px;font-size:.74rem}.workflow-progress li.active{color:#031616;background:linear-gradient(135deg,#43f0c7,#72d9ff);border-color:#43f0c7c7;font-weight:800}.workflow-progress li.complete{color:#bffff1;background:#43f0c71f;border-color:#43f0c770}.workflow-grid{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:18px;display:grid}.workflow-main-panel{gap:14px;display:grid}.workflow-step-card,.wiring-map-card,.chat-sheet,.gateway-code-panel{background:linear-gradient(#28f5d612,#ffffff06),#0e1516d1;border:1px solid #a0e5da2e;border-radius:12px;box-shadow:0 20px 70px #00000047}.workflow-step-card{min-height:260px;padding:clamp(22px,5vw,42px)}.workflow-step-kicker{color:#7ff5dc;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:800}.workflow-step-card h2{color:#f8fffd;max-width:720px;margin:10px 0 12px;font-size:clamp(2rem,5vw,4.4rem);line-height:.94}.workflow-step-card p,.wiring-map-card p,.gateway-code-panel p{color:#bed0cc;margin:0;line-height:1.55}.workflow-step-card .primary-command,.workflow-step-card .secondary-command{margin-top:22px}.workflow-secondary-actions{flex-wrap:wrap;gap:10px;display:flex}.workflow-upload input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.workflow-upload-actions{gap:8px;display:grid}.workflow-upload-control{position:relative}.workflow-upload-picker{width:100%;margin:0}.workflow-upload-control input[type=file]{cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;inset:0}.camera-capture-backdrop{z-index:40;background:#040809d1;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.camera-capture-dialog{background:#101516;border:1px solid #a9b4af38;border-radius:16px;gap:14px;width:min(100%,560px);padding:16px;display:grid;box-shadow:0 24px 70px #00000073}.camera-capture-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.camera-capture-header h2{color:#f5fff8;margin:0;font-size:1.2rem}.camera-capture-header>button{min-width:36px;min-height:36px;color:var(--text);background:0 0;border:1px solid #a9b4af38;font-size:1.4rem}.camera-capture-video,.camera-capture-preview{aspect-ratio:4/3;object-fit:cover;background:#050707;border-radius:10px;width:100%;max-height:min(65vh,560px);display:block}.camera-capture-status,.camera-capture-error{color:#bed0cc;margin:0;line-height:1.45}.camera-capture-error{color:#ffb4ae}.camera-capture-actions{justify-content:flex-end;gap:8px;display:flex}.camera-capture-actions .primary-command,.camera-capture-actions .secondary-command{margin-top:0}.claim-code-scanner-backdrop{z-index:40;background:#040809d1;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.claim-code-scanner-dialog{background:#101516;border:1px solid #a9b4af38;border-radius:16px;gap:14px;width:min(100%,560px);padding:16px;display:grid;box-shadow:0 24px 70px #00000073}.claim-code-scanner-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.claim-code-scanner-header h2{color:#f5fff8;margin:0;font-size:1.2rem}.claim-code-scanner-header>button{min-width:36px;min-height:36px;color:var(--text);background:0 0;border:1px solid #a9b4af38;font-size:1.4rem}.claim-code-scanner-instructions,.claim-code-scanner-status,.claim-code-scanner-error{color:#bed0cc;margin:0;line-height:1.45}.claim-code-scanner-video{aspect-ratio:4/3;object-fit:cover;background:#050707;border-radius:10px;width:100%;max-height:min(65vh,560px);display:block}.claim-code-scanner-error{color:#ffb4ae}.claim-code-scanner-form{gap:8px;display:grid}.claim-code-scanner-form label{color:#bed0cc;gap:6px;font-size:.9rem;display:grid}.claim-code-scanner-form input{box-sizing:border-box;width:100%;color:var(--text);background:#050707;border:1px solid #a9b4af4d;border-radius:8px;padding:10px 12px}.claim-code-scanner-form button{justify-self:end}.claim-code-scanner-actions{justify-content:flex-end;display:flex}.claim-code-scanner-actions .secondary-command{margin-top:0}.wiring-map-card h2,.chat-sheet h2,.gateway-code-panel h2{color:#f4fffc;margin:0;font-size:1rem}.card-heading-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-heading-row span{color:#8fa7a2;font-size:.82rem}.wiring-map-card,.chat-sheet,.gateway-code-panel{gap:14px;padding:18px;display:grid}.wiring-rows{gap:8px;display:grid}.wiring-row{background:#ffffff0d;border-radius:8px;grid-template-columns:18px minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.wiring-map-source-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.wiring-map-source-photo{background:#ffffff08;border:1px solid #a0e5da24;border-radius:9px;gap:8px;min-width:0;padding:10px;display:grid}.wiring-map-source-photo h3{color:#f4fffc;margin:0;font-size:.9rem}.wiring-map-image-frame{background:#050b0cb3;border-radius:7px;width:100%;position:relative;overflow:hidden}.wiring-map-image-frame img{width:100%;height:auto;display:block}.wiring-map-marker{z-index:1;color:#152322;pointer-events:none;background:#f5d27a;border:2px solid #152322;border-radius:6px;place-items:center;min-width:30px;min-height:30px;padding:2px;font-size:.82rem;font-weight:800;line-height:1;display:grid;position:absolute;transform:translate(-2px,-2px);box-shadow:0 0 0 1px #ffffffb3}.wiring-map-marker-point{border-radius:999px;width:32px;height:32px;transform:translate(-50%,-50%)}.wiring-map-marker-inferred{border-style:dashed}.wiring-map-marker-unavailable{display:none}.wiring-map-path{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.wiring-map-path polyline{fill:none;stroke:#f5d27a;stroke-width:.018px;stroke-linecap:round;stroke-linejoin:round}.wiring-map-photo-key,.wiring-map-annotation-status{color:#bed0cc;gap:4px;margin:0;padding-left:18px;font-size:.78rem;line-height:1.45;display:grid}.wiring-map-source-unavailable,.wiring-map-warning,.wiring-map-inference,.wiring-map-endpoints{color:#bed0cc;margin:0;font-size:.82rem;line-height:1.5}.wiring-map-warning,.wiring-map-source-unavailable{background:#f5d27a14;border-left:3px solid #f5d27a;padding:10px}.wiring-map-route{gap:10px;margin:0;padding:0;list-style:none;display:grid}.wiring-map-route-item{background:#ffffff0a;border:1px solid #a0e5da24;border-radius:8px;gap:7px;padding:12px;display:grid}.wiring-map-route-heading{align-items:center;gap:8px;display:flex}.wiring-map-route-number{color:#152322;background:#f5d27a;border-radius:999px;flex:0 0 28px;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.wiring-map-route-heading .wire-swatch{margin-left:auto}.wire-swatch{border:1px solid #ffffff85;border-radius:999px;width:14px;height:14px}.gateway-code-panel form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.gateway-code-panel label{color:#b9cbc7;gap:7px;display:grid}.gateway-code-panel input{color:#f3fffc;background:#050b0cb3;border:1px solid #a0e5da2e;border-radius:8px;min-width:0;min-height:40px;padding:0 10px}.chat-sheet .chat-thread{max-height:360px;overflow:auto}.workflow-composer{width:100%;position:static;transform:none}.chat-topbar{justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:16px;display:flex}.session-error{color:#ffb7a8;margin:10px 0 0}.composer-error-notice{z-index:4;color:#ffd5cc;text-overflow:ellipsis;background:#2d1816f5;border:1px solid #ffb7a852;border-radius:8px;width:max-content;max-width:min(560px,100vw - 32px);margin:0;padding:7px 10px;font-size:12px;line-height:1.35;position:absolute;bottom:calc(100% + 8px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 24px #0000004d}.state-chip-row{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.state-chip-row span{background:#ffffff0d;border:1px solid #a0e5da2e;border-radius:8px;padding:7px 10px}.chat-thread{gap:14px;display:grid}.message-bubble,.chat-card,.readiness-card{width:min(100%,760px);padding:16px}.message-bubble{border-radius:8px;gap:10px;display:flex}.message-content{gap:10px;width:100%;min-width:0;display:grid}.message-bubble.assistant{background:#0f1c1dc2;border:1px solid #a0e5da29}.message-bubble.user{color:#031616;background:#8df6df;justify-self:end;max-width:min(680px,88%)}.message-bubble.user p{color:#031616}.message-attachments{gap:8px;width:min(100%,420px);display:grid}.message-attachment-card{background:#050b0c85;border:1px solid #a0e5da2e;border-radius:8px;gap:8px;min-width:0;padding:8px;display:grid}.message-attachment-preview{aspect-ratio:4/3;object-fit:contain;background:#050b0cb8;border:1px solid #a0e5da38;border-radius:6px;width:100%;display:block}.message-attachment-file-icon{color:#a0e5da;background:#a0e5da1a;border-radius:6px;place-items:center;width:42px;height:42px;display:grid}.latest-message-anchor{height:0;scroll-margin-bottom:142px}.readiness-card{outline:none}.readiness-card.focused{border-color:#43f0c7db;box-shadow:0 0 0 3px #43f0c72e}.readiness-card h2,.chat-card h2{letter-spacing:0;margin:0 0 10px;font-size:1rem}.readiness-card ul{color:#d7e7e4;gap:8px;margin:0;padding-left:18px;display:grid}.readiness-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.quick-upload{color:#e9fffb;background:#ffffff0d;border:1px solid #a0e5da3d;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:0 12px;display:inline-flex;position:relative;overflow:hidden}.quick-upload:hover{background:#43f0c71a;border-color:#43f0c7a6}.quick-upload input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.readiness-examples{gap:10px;margin-top:16px;display:grid}.readiness-examples h3{color:#a0e5da;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.readiness-example-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.readiness-example{background:#ffffff0d;border:1px solid #a0e5da2e;border-radius:10px;margin:0;display:grid;overflow:hidden}.readiness-example img{aspect-ratio:4/3;object-fit:cover;width:100%}.readiness-example figcaption{border-top:1px solid #a0e5da24;gap:4px;min-height:72px;padding:10px;display:grid}.readiness-example strong{color:#f7fffd;font-size:.9rem;line-height:1.2}.readiness-example span{color:#aebfbc;font-size:.8rem;line-height:1.35}.artifact-list{gap:8px;display:grid}.artifact-item{background:#ffffff0d;border-radius:8px;grid-template-columns:minmax(0,1fr);align-items:center;gap:12px;padding:10px;display:grid}.artifact-details{gap:4px;min-width:0;display:grid}.artifact-item span,.artifact-item strong{overflow-wrap:anywhere}.card-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.gateway-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.gateway-grid label,.composer-input{color:#b9cbc7;gap:7px;display:grid}.gateway-grid input,.composer textarea{color:#f3fffc;background:#050b0cb3;border:1px solid #a0e5da2e;border-radius:8px;width:100%}.gateway-grid input{min-height:38px;padding:0 10px}.checkbox-row{grid-template-columns:18px 1fr;align-items:center}.composer{z-index:15;background:#090e0ff0;border:1px solid #a0e5da38;border-radius:8px;grid-template-columns:40px 1fr 40px;gap:10px;width:min(760px,100vw - 36px);padding:10px;display:grid;position:fixed;bottom:18px;right:50%;transform:translate(50%);box-shadow:0 18px 54px #0000006b}.composer-actions{position:relative}.step-coach-question-row{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 12px;display:grid}.step-coach-question-label{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.step-coach-question-chips{scrollbar-width:thin;gap:8px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.step-coach-question-chip{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));min-height:44px;color:var(--text-primary);background:color-mix(in srgb, var(--surface-raised) 88%, transparent);text-align:left;border-radius:7px;flex:none;padding:8px 11px;font-size:12px;line-height:1.25}.step-coach-question-chip:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.step-coach-dialog-backdrop{z-index:80;background:#0000007a;place-items:center;padding:24px 16px;display:grid;position:fixed;inset:0}.step-coach-side-answer{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--accent) 34%, var(--line));border-radius:var(--commissioning-control-radius,12px);background:#0e1b1bfa;gap:8px;width:min(100%,390px);max-height:min(72dvh,420px);padding:14px;display:grid;box-shadow:0 22px 60px #00000073}.step-coach-side-answer-header{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.step-coach-side-answer-header .icon-button{width:32px;min-width:32px;height:32px}.step-coach-side-question,.step-coach-side-response{margin:0;font-size:12px;line-height:1.45}.step-coach-side-question{color:var(--text-primary)}.step-coach-side-response{max-height:132px;color:var(--text-primary);padding-right:4px;overflow-y:auto}.composer-main{gap:8px;min-width:0;display:grid}.composer-attachments{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.composer-attachment{color:#eefcf8;background:#10191af2;border:1px solid #a0e5da2e;border-radius:8px;grid-template-columns:42px minmax(0,1fr) 24px;align-items:center;gap:8px;width:min(100%,268px);min-height:52px;padding:5px;display:grid}.composer-attachment.image{grid-template-columns:260px minmax(0,1fr) 24px;width:min(100%,560px);min-height:106px}.composer-attachment-preview,.composer-attachment-file-icon{background:#a0e5da1a;border-radius:6px;width:42px;height:42px}.composer-attachment-preview{object-fit:contain;width:260px;height:96px}.composer-attachment-file-icon{color:#a0e5da;place-items:center;display:grid}.composer-attachment span:not(.composer-attachment-file-icon){text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;line-height:1.2;overflow:hidden}.composer-attachment-remove{color:#dff8f3;background:#050b0cb8;border:1px solid #a0e5da29;border-radius:999px;place-items:center;width:24px;height:24px;display:grid}.composer-attachment-remove:hover{background:#a0e5da1f;border-color:#a0e5da5c}.composer textarea{resize:none;min-height:40px;max-height:120px;padding:9px 11px}.action-menu{background:#11191a;border:1px solid #a0e5da38;border-radius:8px;gap:6px;width:min(280px,100vw - 48px);padding:8px;display:grid;position:absolute;bottom:52px;left:0;box-shadow:0 20px 52px #0000005c}.action-menu-item{color:#e9fffb;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;min-height:40px;padding:8px 10px;display:flex;position:relative}.action-menu-item:hover{background:#43f0c71a}.action-menu-item input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:760px){.nav-trigger{top:12px;left:12px}.home-screen,.missing-session,.chat-screen{width:min(100vw - 24px,100%);padding-top:78px}.home-screen{grid-template-columns:1fr;align-content:end;padding-bottom:96px}.home-copy h1,.missing-session h1{font-size:3rem}.how-it-works{grid-template-columns:1fr}.how-it-works li{border-bottom:1px solid #a0e5da24;border-right:0}.how-it-works li:last-child{border-bottom:0}.chat-topbar{flex-direction:column}.workflow-screen{width:min(100vw - 24px,100%);padding-top:78px}.workflow-topbar,.workflow-grid{grid-template-columns:1fr}.workflow-progress{grid-template-columns:repeat(3,minmax(0,1fr))}.wiring-row,.gateway-code-panel form,.wiring-map-source-photos{grid-template-columns:1fr}.workflow-review-connection{grid-template-columns:auto minmax(0,1fr)}.message-bubble,.chat-card,.readiness-card{width:100%}.readiness-example-grid,.gateway-grid{grid-template-columns:1fr}.composer{width:calc(100vw - 20px);bottom:10px}.composer-attachment.image{grid-template-columns:minmax(0,1fr) 24px;width:100%}.composer-attachment.image .composer-attachment-preview{grid-column:1/-1;width:100%;height:96px}}:root{--bg:var(--background);--surface:var(--surface-base);--raised:var(--surface-raised);--text:var(--text-primary);--muted:var(--text-muted);--blue:var(--accent);--green:#bfe8cd;--lime:#e5fac0;--warn:var(--warning);--danger:var(--error);--gradient:var(--brand-gradient);color:var(--text);background:var(--bg);font-family:var(--font-sans)}.shifu-shell{background:radial-gradient(circle at 15% 8%, #75b0f329, transparent 30%), radial-gradient(circle at 90% 10%, #bfe8cd1f, transparent 34%), linear-gradient(90deg, #75b0f30e 1px, transparent 1px), linear-gradient(180deg, #75b0f30b 1px, transparent 1px), var(--bg);color:var(--text);background-size:auto,auto,58px 58px,58px 58px}.workflow-screen{width:min(1360px,100%);min-height:100vh;margin:0 auto;padding:24px}.workflow-top{background:#1a1d20c7;border:1px solid #a9b4af29;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:14px 16px;display:flex}.workflow-top>.brand{padding-left:48px}.brand{align-items:center;gap:12px;min-width:0;display:flex}.mark{clip-path:polygon(0 0,100% 0,82% 100%,0 100%);width:34px;height:34px;color:var(--bg);background:var(--gradient);place-items:center;font-weight:900;display:grid}.brand strong,.app-title strong{color:var(--text);font-family:var(--font-display);font-size:18px;display:block}.workflow-top .brand strong{overflow-wrap:anywhere}.brand span,.app-title span{color:var(--muted);margin-top:2px;font-size:12px;display:block}.workflow-top-meta{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.support-call-command,.mobile-support-call-command{justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:inline-flex}.workflow-top-meta h1{max-width:48vw;color:var(--text);font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px;line-height:1.1;overflow:hidden}.pill{min-height:32px;color:var(--blue);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;background:#75b0f314;border:1px solid #75b0f342;align-items:center;padding:0 11px;font-size:10px;display:inline-flex}.workflow-error{margin:12px 0 0}.workflow-journey-grid{grid-template-columns:minmax(220px,1fr) minmax(360px,430px) minmax(260px,1fr);align-items:stretch;gap:18px;margin-top:18px;display:grid}.workflow-panel{min-width:0;box-shadow:none;background:#1a1d20b3;border:1px solid #a9b4af29;border-radius:0}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:12px 14px;display:flex}.panel-title{color:var(--text);margin:0;font-size:13px;font-weight:760}.small-label{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.phone-wrap{place-items:center;min-width:0;max-width:100%;display:grid}.installer-phone{background:#0f1213;border:1px solid #f5f8f62e;grid-template-rows:auto minmax(0,1fr) minmax(240px,.42fr);width:min(430px,100%);min-width:0;max-width:100%;height:min(830px,100vh - 132px);min-height:700px;display:grid;overflow:hidden;box-shadow:0 28px 80px #00000073}.installer-phone>*{min-width:0;max-width:100%}.phone-status{min-height:30px;color:var(--muted);font-family:var(--font-mono);justify-content:space-between;align-items:center;padding:7px 14px 0;font-size:10px;display:flex}.appbar{border-bottom:1px solid var(--line);background:#1a1d20eb;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.appbar .pill{overflow-wrap:anywhere;text-align:center;white-space:normal;flex:0 auto;min-width:0;max-width:55%;height:auto;padding:6px 9px;line-height:1.3}.app-title{min-width:0}.app-title strong,.app-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-title strong{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;overflow:visible}.phone-progress{border-bottom:1px solid var(--line);background:#1114159e;grid-template-columns:repeat(15,1fr);gap:5px;padding:10px 14px;display:grid}.bar{background:#a9b4af2e;height:4px}.bar.done{background:var(--gradient)}.phone-main{min-height:0;overflow:auto}.workflow-review-surface,.workflow-step-review{min-width:0;display:grid}.workflow-review-banner{background:#43f0c714;border-bottom:1px solid #43f0c74d;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 14px;display:grid}.workflow-review-banner>div,.workflow-review-artifact>div{min-width:0}.workflow-review-banner span,.workflow-review-banner strong{overflow-wrap:anywhere;display:block}.workflow-review-banner span{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;font-size:10px}.workflow-review-banner strong{color:var(--text);margin-top:3px;font-size:13px}.workflow-review-banner .secondary-command{white-space:normal;max-width:100%;min-height:44px;padding:7px 10px;font-size:12px;line-height:1.25}.workflow-review-heading{padding:18px 16px 10px}.workflow-review-heading h2{color:var(--text);font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:26px;line-height:1.08}.workflow-review-body{gap:12px;min-width:0;padding:8px 16px 18px;display:grid}.workflow-review-redo{background:#ffffff05;border-top:1px solid #a9b4af29;min-width:0;padding:14px 16px 18px}.workflow-review-redo>.secondary-command{min-height:44px}.workflow-review-redo-confirm{gap:12px;min-width:0;display:grid}.workflow-review-redo-confirm p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.45}.workflow-review-redo-actions{flex-wrap:wrap;gap:8px;display:flex}.workflow-review-redo-actions>button{flex:132px;justify-content:center;min-height:44px}.workflow-review-body>p,.workflow-review-map p,.workflow-review-unavailable{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.45}.workflow-review-artifacts,.workflow-review-map{gap:10px;min-width:0;display:grid}.workflow-review-artifact{border:1px solid var(--line);background:#1a1d20b8;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:9px;display:grid}.workflow-review-artifact img{object-fit:cover;width:72px;height:58px}.workflow-review-artifact strong,.workflow-review-artifact span{overflow-wrap:anywhere;display:block}.workflow-review-artifact strong{color:var(--text);font-size:12px}.workflow-review-artifact span{color:var(--muted);margin-top:4px;font-size:10px}.workflow-review-status,.workflow-review-details{background:var(--line);gap:1px;min-width:0;margin:0;display:grid}.workflow-review-status>div,.workflow-review-details>div{background:#1a1d20f2;grid-template-columns:minmax(90px,.7fr) minmax(0,1fr);gap:10px;padding:9px 10px;display:grid}.workflow-review-status dt,.workflow-review-details dt{color:var(--muted);font-size:11px}.workflow-review-status dd,.workflow-review-details dd{min-width:0;color:var(--text);overflow-wrap:anywhere;margin:0;font-size:12px}.workflow-review-connection{border:1px solid var(--line);min-width:0;color:var(--muted);grid-template-columns:auto auto 16px minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:10px;font-size:12px;display:grid}.workflow-review-connection strong{min-width:0;color:var(--text);overflow-wrap:anywhere}.workflow-review-list h3{color:var(--text);margin:0;font-size:12px}.workflow-review-list ul{color:var(--muted);margin:8px 0 0;padding-left:18px;font-size:12px}.workflow-step-card,.wiring-map-card,.gateway-code-panel,.chat-sheet,.workflow-start-notes,.log-card,.device-card{box-shadow:none;background:#1a1d20d1;border:1px solid #a9b4af2e;border-radius:0}.workflow-step-card{background:0 0;border:0;min-height:100%;padding:0;display:grid}.screen-copy{padding:18px 16px 10px}.workflow-step-kicker{color:var(--green);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px;font-size:10px;font-weight:700;display:block}.workflow-step-card h2{max-width:none;color:var(--text);font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:31px;line-height:1.02}.workflow-step-card p,.wiring-map-card p,.gateway-code-panel p,.note,.log-card span{color:var(--muted);overflow-wrap:anywhere;margin:10px 0 0;font-size:13px;line-height:1.45}.screen-body{align-content:start;gap:12px;min-height:0;padding:10px 16px 16px;display:grid}.bottom-actions{border-top:1px solid var(--line);background:#1a1d20eb;gap:8px;padding:12px 14px 16px;display:grid}.primary-command,.secondary-command{border-radius:0;justify-content:center;align-items:center;gap:8px;min-height:46px;margin-top:0;padding:0 14px;display:inline-flex}.primary-command{color:var(--bg);background:var(--gradient);border-color:#0000;font-weight:780}.secondary-command{color:var(--text);background:#262e2fd1;border:1px solid #a9b4af33}.workflow-secondary-actions{gap:8px;display:grid}.workflow-upload{position:relative;overflow:hidden}.workflow-upload input[type=file]{cursor:pointer;opacity:0;position:absolute;inset:0}.camera{background-color:#0b0d0e;background-image:linear-gradient(135deg,#75b0f32e,#0000 30%),linear-gradient(55deg,#0000 42%,#bfe8cd24 43%,#0000 44%),linear-gradient(90deg,#f5f8f612 1px,#0000 1px),linear-gradient(#f5f8f612 1px,#0000 1px),none;background-position:0 0,0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:auto,auto,34px 34px,34px 34px;background-attachment:scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;border:1px solid #a9b4af2e;min-height:310px;position:relative;overflow:hidden}.scan-frame{border:2px solid #e5fac0db;position:absolute;inset:34px;box-shadow:0 0 0 999px #00000038}.scan-label{color:var(--lime);font-family:var(--font-mono);letter-spacing:.1em;text-align:center;text-transform:uppercase;background:#111415d1;border:1px solid #e5fac061;padding:10px 12px;font-size:10px;position:absolute;bottom:24px;left:28px;right:28px}.device-card{padding:13px}.field{border-top:1px solid #a9b4af1f;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:10px 0;font-size:13px;display:grid}.field:first-child{border-top:0;padding-top:0}.field span:first-child{color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.note{border-left:2px solid var(--green);background:#bfe8cd14;margin:0;padding:11px 12px}.wiring{background-color:#0c0f10;background-image:linear-gradient(90deg,#f5f8f60f 1px,#0000 1px),linear-gradient(#f5f8f60f 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:30px 30px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #a9b4af2e;min-height:280px;position:relative;overflow:hidden}.wiring.generated-map{place-items:center;display:grid}.ai-map-image{object-fit:contain;filter:drop-shadow(0 0 20px #bfe8cd2e);width:100%;height:100%;min-height:280px;padding:42px 14px 46px}.wiring.structured-map{align-items:center;padding:54px 18px 58px;display:grid}.wiring.map-unavailable{text-align:center;place-items:center;padding:64px 28px;display:grid}.wiring.map-unavailable p{max-width:420px}.structured-map-stage{background:linear-gradient(135deg,#bfe8cd1f,#75b0f30d),#111415d1;border:1px solid #bfe8cd38;gap:14px;width:min(100%,560px);margin:0 auto;padding:16px;display:grid}.structured-map-title{color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font-size:10px;display:flex}.structured-map-title strong{color:var(--green)}.structured-map-rows{gap:10px;display:grid}.structured-map-row{grid-template-columns:minmax(76px,1fr) minmax(88px,1.2fr) minmax(76px,1fr);align-items:center;gap:10px;display:grid}.structured-terminal{min-height:42px;color:var(--text);font-family:var(--font-mono);background:#262e2feb;border:1px solid #f5f8f638;place-items:center;font-size:13px;font-weight:800;display:grid}.structured-terminal.to{background:#75b0f31f}.structured-wire{border:1px solid #f5f8f657;height:8px;box-shadow:0 0 18px #bfe8cd57}.structured-map-row small{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;text-align:center;grid-column:1/-1;font-size:10px}.terminal{width:58px;height:72px;color:var(--muted);font-family:var(--font-mono);background:#262e2fe6;border:1px solid #f5f8f66b;place-items:center;font-size:12px;display:grid;position:absolute;bottom:56px}.terminal.a{left:25%}.terminal.b{left:44%}.terminal.g{left:63%}.wire{transform-origin:0;height:5px;position:absolute;box-shadow:0 0 16px #bfe8cd73}.wire.one{background:var(--green);width:190px;bottom:132px;left:25%;transform:rotate(-24deg)}.wire.two{background:var(--blue);width:150px;bottom:124px;left:44%;transform:rotate(26deg)}.highlight{border:1px solid var(--lime);color:var(--lime);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:#e5fac01a;padding:8px 9px;font-size:10px;position:absolute}.highlight.top{top:24px;left:24px}.highlight.bottom{bottom:24px;right:22px}.status-list{gap:8px;display:grid}.status-row{color:var(--muted);background:#1114156b;border:1px solid #a9b4af1f;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;font-size:12px;display:grid}.backend-activity-panel{grid-column:1/-1;gap:6px;display:grid}.backend-activity-row{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));color:var(--muted);background:color-mix(in srgb, var(--surface-raised) 84%, transparent);grid-template-columns:18px auto minmax(0,1fr);align-items:center;gap:8px;padding:9px 10px;font-size:12px;display:grid}.backend-activity-row strong{color:var(--text)}.backend-activity-row>span:last-child{overflow-wrap:anywhere;min-width:0}.backend-activity-row[data-state=action_required]{border-color:color-mix(in srgb, var(--warn) 38%, var(--line));background:color-mix(in srgb, var(--warn) 9%, var(--surface-raised))}.backend-activity-row[data-state=ready_to_upload]{border-color:var(--line)}.backend-activity-icon{color:var(--accent)}.backend-activity-row[data-active=false] .backend-activity-icon{color:var(--warn)}.backend-activity-spinner{animation:1.1s linear infinite backend-activity-spin}@keyframes backend-activity-spin{to{transform:rotate(360deg)}}.dot{background:var(--muted);border-radius:50%;width:9px;height:9px}.dot.ok{background:var(--success)}.dot.warn{background:var(--warn)}.mini-tag{color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.wiring-map-card,.gateway-code-panel{gap:12px;margin:0 16px 16px;padding:14px;display:grid}.wiring-map-card h2,.gateway-code-panel h2,.chat-title{color:var(--text);margin:0;font-size:13px}.wiring-row{background:#1114156b;border-radius:0}.gateway-code-panel form{grid-template-columns:1fr}.gateway-code-panel input,.composer textarea,.gateway-grid input{border-radius:0}.phone-chat-panel{background:#111415c7;border-width:1px 0 0;grid-template-rows:auto minmax(0,1fr) auto;gap:0;min-height:0;padding:0;display:grid;overflow:hidden}.chat-head{border-bottom:1px solid #3a4042ad;justify-content:space-between;align-items:center;gap:10px;padding:9px 14px;display:flex}.chat-context{color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.phone-chat-panel .chat-thread{align-content:start;gap:7px;min-height:0;max-height:none;padding:10px 14px;display:grid;overflow:auto}.phone-chat-panel .message-bubble{width:auto;max-width:86%;color:var(--muted);background:#1a1d20d6;border:1px solid #a9b4af24;border-radius:0;padding:9px 10px;font-size:12px}.phone-chat-panel .message-bubble.user{color:var(--text);background:#e5fac017;justify-self:end}.phone-chat-panel .message-bubble.user p{color:var(--text)}.phone-chat-panel .workflow-composer{width:100%;box-shadow:none;background:0 0;border-width:1px 0 0;border-radius:0;padding:8px 14px 10px;position:static;transform:none}.workflow-start-notes .log-card,.log-card{margin:0 14px}.artifact-item{background:#1114156b;border-radius:0}.workflow-start-notes{align-content:start;gap:10px;padding-bottom:14px;display:grid}.log-card{background:#1114156b;padding:12px}.log-card strong{color:var(--text);margin-bottom:5px;font-size:13px;display:block}@media (max-width:1120px){.workflow-journey-grid{grid-template-columns:240px minmax(360px,430px);justify-content:center}.workflow-start-notes{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.workflow-start-notes .panel-head{grid-column:1/-1}}@media (max-width:760px){.workflow-screen{width:100%;padding:10px 10px 10px 60px}.workflow-top>.brand{padding-left:0}.workflow-top,.workflow-top-meta{justify-content:stretch;display:grid}.workflow-top-meta h1{max-width:none}.workflow-journey-grid{grid-template-columns:1fr}.installer-phone{grid-template-rows:auto auto auto auto auto;width:100%;height:auto;min-height:0}.phone-main{overflow:visible}.workflow-review-banner{grid-template-columns:1fr}.workflow-review-banner .secondary-command{width:100%}.workflow-step-card{min-height:0}.phone-chat-panel{min-height:210px}.workflow-start-notes,.status-row,.field{grid-template-columns:1fr}.backend-activity-row{grid-template-columns:18px minmax(0,1fr)}.backend-activity-row>span:last-child{grid-column:2}.phone-chat-panel .workflow-composer{grid-template-columns:40px minmax(0,1fr) 40px}.step-coach-question-row{grid-template-columns:1fr;gap:6px}}@media (max-width:380px){.phone-chat-panel .workflow-composer{grid-template-areas:"activity activity activity""coach-answer coach-answer coach-answer""coach coach coach""main main main""actions.send";container-type:inline-size}.backend-activity-panel{grid-area:activity}.step-coach-side-answer{grid-area:coach-answer}.step-coach-question-row{grid-area:coach}.phone-chat-panel .composer-main{grid-area:main}.phone-chat-panel .composer-actions{grid-area:actions}.phone-chat-panel .send-button{grid-area:send}.phone-chat-panel .action-menu{width:100cqi;margin-top:10px;position:static}}@media (max-width:360px){.workflow-review-status>div,.workflow-review-details>div{grid-template-columns:1fr}.workflow-review-artifact{grid-template-columns:58px minmax(0,1fr)}.workflow-review-artifact img{width:58px;height:50px}}.shifu-shell,.workflow-screen{min-height:100vh;min-height:100dvh}.mobile-app-bar{display:none}.journey-sheet-backdrop{z-index:80;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);background:#030707c2;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.journey-sheet{border:1px solid var(--line);background:var(--surface);width:min(100%,680px);max-height:min(88vh,760px);grid-template-rows:auto minmax(0,1fr);max-height:min(88dvh,760px);animation:.16s ease-out journey-sheet-enter;display:grid;overflow:hidden;box-shadow:0 -24px 70px #0000007a}.journey-sheet-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.journey-sheet-header h2,.journey-sheet-header p{margin:0}.journey-sheet-header p{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.4}.journey-sheet-header button{border:1px solid var(--line);min-width:44px;min-height:44px;color:var(--text);background:var(--raised);place-items:center;font-size:24px;display:grid}.journey-sheet-content{overscroll-behavior:contain;min-height:0;padding-bottom:calc(12px + env(safe-area-inset-bottom));overflow-y:auto}@keyframes journey-sheet-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width:760px){.workflow-screen{width:100%;padding:calc(8px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left));scroll-padding-bottom:calc(88px + env(safe-area-inset-bottom))}.workflow-top,.journey-panel,.phone-progress,.nav-trigger--workflow{display:none}.workflow-journey-grid{margin-top:0;display:block}.phone-wrap,.installer-phone,.phone-main{width:100%;max-width:none}.installer-phone{height:auto;min-height:0;box-shadow:none;background:0 0;border:0;display:block;overflow:visible}.mobile-app-bar{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px;padding:6px 0 7px;display:grid}.mobile-navigation-trigger{border:1px solid var(--line);color:var(--text);background:var(--raised);place-items:center;padding:0;display:grid}.mobile-app-identity,.mobile-app-status{min-width:0}.mobile-app-identity strong,.mobile-app-identity span,.mobile-app-status span{overflow-wrap:anywhere;display:block}.mobile-app-identity strong{color:var(--text);font-family:var(--font-display);font-size:15px}.mobile-app-identity span,.mobile-app-status{color:var(--muted);font-size:10px}.mobile-app-status{overflow-wrap:anywhere;text-align:right;max-width:92px}.mobile-connection-hint{color:var(--success)}.phone-main{overflow:visible}.workflow-step-card{min-height:0}.bottom-actions{z-index:4;padding-bottom:calc(12px + env(safe-area-inset-bottom));position:sticky;bottom:0}.mobile-support-stack{gap:8px;margin-top:10px;display:grid}.phone-chat-panel{min-height:210px}button,.workflow-upload,.drawer-command,.history-row{min-block-size:44px;min-inline-size:44px}label:has(input[type=file]){min-block-size:44px;min-inline-size:44px}.icon-button,.send-button{width:44px;min-width:44px;height:44px}.phone-chat-panel .workflow-composer{grid-template-columns:44px minmax(0,1fr) 44px}.phone-chat-panel .composer textarea,.phone-chat-panel .action-menu-item{min-height:44px;min-block-size:44px}.artifact-details,.artifact-details strong,.artifact-details span,.session-error,.workflow-error{overflow-wrap:anywhere;min-width:0}}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--lime);outline-offset:2px}label:has(input[type=file]:focus-visible){outline:2px solid var(--lime);outline-offset:2px}@media (prefers-reduced-motion:reduce){.journey-sheet,[role=status],.backend-activity-spinner{transition:none!important;animation:none!important}}.auth-page{min-width:0;min-height:100dvh;color:var(--text-primary);background:linear-gradient(color-mix(in srgb, var(--accent) 5.5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--accent) 4.5%, transparent) 1px, transparent 1px), radial-gradient(circle at 50% 24%, color-mix(in srgb, var(--success) 12%, transparent), transparent 36%), var(--background);font-family:var(--font-sans);background-size:58px 58px,58px 58px,auto,auto;place-items:center;padding:54px;display:grid;overflow-x:hidden}.auth-page,.auth-page *{box-sizing:border-box}.auth-page>*,.auth-panel__content,.auth-form,.auth-form__fields{min-width:0}.auth-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-base) 96%, transparent);width:min(100%,510px);padding:42px 48px 36px;animation:.18s cubic-bezier(.25,1,.5,1) both auth-panel-enter;box-shadow:0 28px 84px #00000057}.auth-panel__mark{width:48px;height:48px;margin-bottom:20px;display:block}.auth-panel__kicker{color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;margin-bottom:15px;font-size:10px;font-weight:500;line-height:1.35}.auth-panel__content{animation:.14s cubic-bezier(.25,1,.5,1) both auth-content-enter}.auth-panel h1{color:var(--text-primary);font-family:var(--font-display);letter-spacing:-.045em;overflow-wrap:anywhere;margin:0;font-size:46px;font-weight:700;line-height:.96}.auth-panel__copy{color:var(--text-muted);margin:18px 0 27px;font-size:15px;line-height:1.55}.auth-form,.auth-form__fields,.auth-field{display:grid}.auth-form__fields{gap:16px}.auth-field{gap:7px}.auth-field__label{color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:500;line-height:1}.auth-field__control{border:1px solid var(--line);background:var(--surface-raised);align-items:center;gap:11px;min-width:0;min-height:49px;padding:0 14px;transition:border-color .12s,box-shadow .12s,background-color .12s;display:flex}.auth-field__control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-field:has(.auth-field__error) .auth-field__control{border-color:var(--error)}.auth-field__control input{width:100%;min-width:0;min-height:44px;color:var(--text-primary);font:inherit;background:0 0;border:0;outline:0;padding:0}.auth-field__control input::placeholder{color:var(--text-muted);opacity:1}.auth-field__control svg{width:16px;height:16px;color:var(--text-muted);flex:0 0 16px}.auth-field__error{color:color-mix(in srgb, var(--error) 70%, var(--text-primary));overflow-wrap:anywhere;font-size:12px;line-height:1.4}.auth-feedback{border:1px solid var(--line);width:100%;min-width:0;max-width:100%;color:var(--text-secondary);background:var(--surface-raised);overflow-wrap:anywhere;margin:0 0 20px;padding:12px 14px;font-size:13px;line-height:1.5}.auth-feedback--error{border-color:var(--error);color:color-mix(in srgb, var(--error) 70%, var(--text-primary));background:color-mix(in srgb, var(--error) 10%, var(--surface-raised))}.auth-feedback--status{border-color:var(--accent);color:var(--text-primary);background:color-mix(in srgb, var(--accent-soft) 72%, var(--surface-raised))}.auth-verification-email{min-width:0;color:var(--text-secondary);font-family:var(--font-mono);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.5}.auth-progress{background:var(--line);width:100%;height:2px;margin-top:4px;position:relative;overflow:hidden}.auth-progress:after{background:var(--brand-gradient);content:"";width:45%;position:absolute;inset:0 auto 0 0}.auth-verification-actions{gap:12px;margin-top:23px;display:grid}.auth-button{width:auto;min-height:44px;color:var(--text-primary);font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0 14px;line-height:1.2;transition:background-color .12s,border-color .12s,color .12s,transform .12s;display:inline-flex}.auth-button--primary,.auth-button--secondary,.auth-button--link{min-height:44px}.auth-button--primary{width:100%;min-height:51px;color:var(--background);background:var(--brand-gradient);border:0;margin-top:23px;font-size:14px;font-weight:800}.auth-button--secondary{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text-primary);background:var(--surface-raised);margin-top:12px;font-weight:700}.auth-button--link{width:auto;min-height:44px;color:var(--text-secondary);text-underline-offset:3px;background:0 0;padding:0 4px;font-size:12px;font-weight:600;text-decoration:underline}.auth-form__forgot{font-family:var(--font-mono);justify-self:end;margin-top:10px;font-size:11px}.auth-mode-switch{color:var(--text-muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 4px;margin-top:18px;font-size:12px;display:flex}.auth-mode-switch .auth-button--link{min-height:44px;padding-inline:2px}.auth-form>.auth-button--link:not(.auth-form__forgot){width:100%;margin-top:8px}.auth-verification-actions .auth-button{margin-top:0}.auth-button--primary:hover:not(:disabled){background:var(--accent)}.auth-button--secondary:hover:not(:disabled){border-color:var(--accent);background:var(--surface-hover)}.auth-button--link:hover:not(:disabled){color:var(--accent);background:var(--accent-soft)}.auth-button:active:not(:disabled){transform:translateY(1px)}.auth-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.auth-button:disabled,.auth-field__control input:disabled{opacity:.58;cursor:not-allowed}.auth-form[aria-busy=true],.auth-verification-actions[aria-busy=true],.auth-form[aria-busy=true] .auth-button,.auth-form[aria-busy=true] .auth-field__control input,.auth-verification-actions[aria-busy=true] .auth-button{cursor:wait}.auth-panel__footer{border-top:1px solid var(--line);color:var(--text-muted);font-family:var(--font-mono);text-transform:uppercase;justify-content:space-between;gap:12px;margin-top:26px;padding-top:17px;font-size:9px;font-weight:500;line-height:1.3;display:flex}@keyframes auth-panel-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-content-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:720px){.auth-page{place-items:start center;min-height:100dvh;padding:88px 28px 36px}.auth-panel{width:100%;box-shadow:none;background:0 0;border:0;padding:0}.auth-panel h1{font-size:40px}.auth-panel__footer{display:none}}@media (prefers-reduced-motion:reduce){.auth-panel,.auth-panel__content{transition:none!important;animation:none!important}}.drawer-account{border-top:1px solid #a0e5da2e;gap:10px;margin-top:16px;padding:16px 0 0;display:grid}.drawer-account-email{color:#98aaa7;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.drawer-account-sign-out{min-height:44px}.drawer-account-error{color:var(--error);margin:0;font-size:12px;line-height:1.4}.history-load-error{border-radius:var(--radius-sm);width:min(100% - 32px,560px);color:var(--error);background:var(--surface-raised);border:1px solid #ff7f7f6b;justify-content:space-between;align-items:center;gap:12px;margin:12px auto 0;padding:10px 12px;display:flex}.history-load-error p{margin:0}.history-load-error button{flex:none;min-height:44px}.gateway-home{min-height:100dvh;color:var(--text-primary);background:radial-gradient(circle at 82% 8%, #75b0f317, transparent 32%), var(--background);padding:clamp(24px,5vw,64px)}.gateway-home-header,.gateway-home-layout{width:min(100%,1080px);margin-inline:auto}.gateway-home-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:clamp(32px,6vw,72px);display:flex}.gateway-home-brand{align-items:center;gap:12px;font-size:18px;font-weight:700;display:flex}.gateway-home-header p{max-width:410px;color:var(--text-muted);text-align:right;margin:0}.gateway-home-layout{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;gap:24px;display:grid}.gateway-home-gateway-card,.gateway-home-add-form,.gateway-home-session-group{border:1px solid var(--line);border-radius:var(--radius-lg)}.gateway-home-gateway-card{background:linear-gradient(135deg, #ffffff08, transparent 54%), var(--surface-base);gap:24px;padding:clamp(24px,4vw,40px);display:grid;box-shadow:0 26px 70px #00000038}.gateway-home-card-heading,.gateway-home-actions,.gateway-home-section-heading,.gateway-home-create-error{justify-content:space-between;align-items:center;gap:16px;display:flex}.gateway-home-card-heading{flex-wrap:wrap}.gateway-home h1,.gateway-home h2,.gateway-home p{margin:0}.gateway-home h1{margin-top:5px;font-size:clamp(28px,5vw,48px);line-height:1.02}.gateway-home h2{font-size:18px}.gateway-home-eyebrow,.gateway-home-field>span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600}.gateway-home-status{border:1px solid var(--line);color:var(--text-secondary);background:var(--surface-raised);border-radius:999px;flex:none;align-items:center;gap:7px;padding:7px 10px;font-size:12px;display:inline-flex}.gateway-home-status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.gateway-home-status--online{color:var(--success)}.gateway-home-status--checking{color:var(--warning)}.gateway-home-status--offline{color:var(--error)}.gateway-home-empty{justify-items:start;gap:12px;display:grid}.gateway-home-empty p,.gateway-home-history-empty{color:var(--text-muted)}.gateway-home-field{gap:8px;display:grid}.gateway-home-field input,.gateway-home-field select{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;min-height:48px;color:var(--text-primary);background:var(--surface-raised);font:inherit;padding:0 14px}.gateway-home-field input[aria-invalid=true]{border-color:var(--error)}.gateway-home-reference{color:var(--text-muted);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.gateway-home-primary,.gateway-home-secondary,.gateway-home-session-row,.gateway-home-create-error button{border-radius:var(--radius-sm);min-height:44px;color:var(--text-primary);font:inherit;cursor:pointer;font-weight:600}.gateway-home-primary,.gateway-home-secondary{justify-content:center;align-items:center;gap:8px;padding:0 18px;display:inline-flex}.gateway-home-primary{color:#111415;background:var(--brand-gradient);border:0}.gateway-home-secondary{border:1px solid var(--line);background:var(--surface-raised)}.gateway-home button:disabled,.gateway-home select:disabled,.gateway-home input:disabled{cursor:not-allowed;opacity:.48}.gateway-home-add-form{background:var(--surface-base);grid-column:1;gap:18px;padding:24px;display:grid}.gateway-home-form-heading{gap:5px;display:grid}.gateway-home-save{justify-self:start}.gateway-home-form-errors,.gateway-home-create-error{color:var(--error)}.gateway-home-form-errors p{margin-top:4px}.gateway-home-create-error button{min-width:72px;color:inherit;background:0 0;border:1px solid;padding-inline:12px}.gateway-home-history{grid-area:1/2/span 2;gap:18px;display:grid}.gateway-home-session-group{background:var(--surface-base);overflow:hidden}.gateway-home-section-heading{border-bottom:1px solid var(--line);padding:18px 20px}.gateway-home-section-heading span{min-width:26px;color:var(--text-muted);background:var(--surface-raised);text-align:center;border-radius:999px;padding:3px 8px;font-size:12px}.gateway-home-session-list{display:grid}.gateway-home-session-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:16px 20px;display:flex}.gateway-home-session-row:last-child{border-bottom:0}.gateway-home-session-row:hover,.gateway-home-session-row:focus-visible{background:var(--surface-hover)}.gateway-home-session-row>span{gap:4px;min-width:0;display:grid}.gateway-home-session-row small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.gateway-home-history-empty{padding:20px;font-size:14px}@media (max-width:760px){.gateway-home{padding:20px 16px 40px}.gateway-home-header{margin-bottom:32px;display:grid}.gateway-home-header p{text-align:left}.gateway-home-layout{grid-template-columns:1fr}.gateway-home-add-form,.gateway-home-history{grid-area:auto/1}.gateway-home-actions{grid-template-columns:1fr;display:grid}}.chat-sheet.structured-chat-sheet{box-shadow:none;background:0 0;border:0;border-radius:0}.structured-chat-sheet .structured-chat-stream>.chat-thread{width:min(760px,100%);min-height:0;max-height:none;margin:0 auto;padding:0;overflow:visible}.structured-chat-sheet .message-bubble{width:fit-content;box-shadow:none;padding:9px 12px;font-size:13px;line-height:1.45}.structured-chat-sheet .message-bubble.assistant{background:0 0;border:0;align-items:flex-end;gap:9px;max-width:min(78%,560px);padding:0;display:flex}.structured-chat-sheet .timeline-chat-avatar{background:var(--brand-gradient);border-radius:50%;flex:0 0 26px;place-items:center;width:26px;height:26px;display:grid}.structured-chat-sheet .timeline-chat-avatar .iot-genius-star-mark{width:14px;height:14px}.structured-chat-sheet .timeline-chat-avatar .iot-genius-star-mark__path{fill:var(--background)}.structured-chat-sheet .message-bubble.assistant .message-content{border:1px solid var(--line);background:var(--surface-raised);border-radius:4px 14px 14px;gap:3px;width:auto;margin-top:14px;padding:9px 12px;position:relative}.structured-chat-sheet .timeline-chat-speaker{color:var(--brand-blue);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:9px;line-height:1;position:absolute;top:-14px;left:0}.structured-chat-sheet .message-bubble.user{border:1px solid var(--accent-border);background:var(--accent-soft);max-width:min(78%,560px);color:var(--text-primary);border-radius:14px 4px 14px 14px;justify-self:end}.structured-chat-sheet .message-bubble.user p{color:var(--text-primary)}.structured-chat-sheet .structured-chat-composer{position:sticky}.structured-chat-sheet .structured-chat-composer .workflow-composer{width:min(820px,100%);position:relative;bottom:auto;right:auto;transform:none}@media (max-width:760px){.structured-chat-sheet{padding-bottom:calc(var(--structured-chat-composer-height) + env(safe-area-inset-bottom))}.structured-chat-sheet .structured-chat-composer{z-index:30;margin:0;position:fixed;bottom:0;left:0;right:0}.structured-chat-composer .composer-attachment.image{background:#10191af2;border:1px solid #a0e5da2e;grid-template-columns:42px minmax(0,1fr) 24px;width:min(100%,268px);min-height:52px}.structured-chat-composer .composer-attachment-preview{width:42px;height:42px}.workflow-screen{flex-direction:column;display:flex}.workflow-screen .mobile-app-bar{order:1}.workflow-screen .workflow-top{background:0 0;border-width:0 0 1px;order:2;min-height:0;padding:8px 0;display:flex}.workflow-screen .workflow-top>.brand{display:none}.workflow-screen .workflow-top-meta{flex-wrap:wrap;justify-content:flex-end;width:100%;display:flex}.workflow-screen .workflow-top .support-call-command{display:none}.workflow-screen .structured-chat-layout{order:3;margin-top:0;display:block}.workflow-screen .structured-chat-main{width:100%;min-height:calc(100dvh - 78px)}}:root{--commissioning-canvas:#111415;--commissioning-surface:#1a1d20;--commissioning-raised:#22292b;--commissioning-line:#bfe8cd2b;--commissioning-soft-line:#75b0f338;--commissioning-blue:#75b0f3;--commissioning-mint:#bfe8cd;--commissioning-lime:#e5fac0;--commissioning-radius:18px;--commissioning-control-radius:12px;--commissioning-shadow:0 20px 60px #00000038}.shifu-shell{background:radial-gradient(circle at 14% 0%, #75b0f324, transparent 30%), radial-gradient(circle at 92% 8%, #bfe8cd1a, transparent 26%), linear-gradient(90deg, #75b0f309 1px, transparent 1px), linear-gradient(180deg, #75b0f309 1px, transparent 1px), var(--commissioning-canvas);background-size:auto,auto,64px 64px,64px 64px}.nav-trigger--home{border-color:var(--commissioning-line);background:#1a1d20eb;border-radius:12px;top:clamp(16px,3vw,30px);left:auto;right:clamp(16px,5vw,64px);box-shadow:0 10px 30px #0000002e}.gateway-home{background:radial-gradient(circle at 76% 0%, #75b0f31c, transparent 32%), radial-gradient(circle at 12% 88%, #bfe8cd12, transparent 32%), var(--commissioning-canvas);min-height:100dvh;padding:clamp(26px,5vw,72px)}.gateway-home-header,.gateway-home-layout{width:min(100%,1120px)}.gateway-home-header{min-height:44px;margin-bottom:clamp(38px,7vw,88px);padding-right:64px}.gateway-home-brand{color:var(--text-primary);font-family:var(--font-display);letter-spacing:-.02em;gap:11px;font-size:20px}.gateway-home-brand .mark{width:31px;height:31px}.gateway-home-header p{max-width:360px;color:var(--text-secondary);font-size:14px;line-height:1.5}.gateway-home-layout{grid-template-columns:minmax(0,1.06fr) minmax(320px,.84fr);gap:26px}.gateway-home-gateway-card,.gateway-home-add-form,.gateway-home-session-group{border-color:var(--commissioning-line);border-radius:var(--commissioning-radius);background:linear-gradient(145deg, #ffffff09, transparent 42%), var(--commissioning-surface);box-shadow:var(--commissioning-shadow)}.gateway-home-gateway-card{gap:22px;min-height:348px;padding:clamp(24px,4vw,42px)}.gateway-home-eyebrow,.gateway-home-field>span{color:var(--commissioning-mint);font-family:var(--font-mono);letter-spacing:.13em;font-size:10px;font-weight:600}.gateway-home h1{max-width:14ch;font-family:var(--font-display);letter-spacing:-.045em;margin-top:8px;font-size:clamp(32px,4.2vw,52px);font-weight:700;line-height:.96}.gateway-home h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:18px}.gateway-home-status{border-color:var(--commissioning-line);min-height:31px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:#11141585;padding:0 11px;font-size:10px}.gateway-home-reference{border:1px solid var(--commissioning-line);background:#1114156b;border-radius:10px;padding:11px 12px}.gateway-home-field select,.gateway-home-field input{border-color:var(--commissioning-line);background:#11141585;border-radius:11px;min-height:50px}.gateway-home-field select:focus-visible,.gateway-home-field input:focus-visible{border-color:var(--commissioning-blue);outline-offset:2px;outline:2px solid #75b0f357}.gateway-home-actions{align-items:stretch}.gateway-home-primary,.gateway-home-secondary{border-radius:12px;min-height:48px;transition:transform .14s,border-color .14s,background-color .14s}.gateway-home-primary{color:#111415;background:linear-gradient(100deg, var(--commissioning-blue), var(--commissioning-mint) 56%, var(--commissioning-lime));flex:auto;box-shadow:0 10px 26px #75b0f32e}.gateway-home-primary:hover:not(:disabled){transform:translateY(-1px)}.gateway-home-secondary{border-color:var(--commissioning-line);background:#262e2fd1}.gateway-home-secondary:hover:not(:disabled){border-color:var(--commissioning-blue);background:#3f4649db}.gateway-home-add-form{gap:17px;padding:24px}.gateway-home-history{gap:18px}.gateway-home-session-group{overflow:clip}.gateway-home-section-heading{min-height:66px;padding:17px 20px}.gateway-home-section-heading span{min-width:30px;color:var(--commissioning-mint);font-family:var(--font-mono);background:#bfe8cd17}.gateway-home-session-row{min-height:68px;padding:15px 20px}.gateway-home-session-row:hover,.gateway-home-session-row:focus-visible{background:#75b0f317;outline:none}.gateway-home-session-row:focus-visible,.gateway-home button:focus-visible{outline:2px solid var(--commissioning-blue);outline-offset:-2px}.workflow-screen{width:min(1240px,100%);padding:clamp(16px,3vw,30px)}.workflow-top{border-color:var(--commissioning-line);border-radius:var(--commissioning-radius);background:#1a1d20e0;min-height:70px;padding:12px 16px;box-shadow:0 14px 38px #00000029}.workflow-mobile-utilities{display:none}.workflow-top-leading{align-items:center;gap:12px;min-width:0;display:flex}.workflow-home-command{white-space:nowrap;border-radius:10px;min-height:44px;padding-inline:11px}.workflow-top .brand{min-width:0}.workflow-top .brand .mark{border-radius:10px;width:32px;height:32px}.workflow-top .brand strong{font-size:17px}.workflow-top .brand span{font-size:11px}.workflow-top-meta{gap:8px}.workflow-top-session{gap:3px;min-width:0;max-width:190px;padding-right:4px;display:grid}.workflow-top-session span{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;font-size:9px}.workflow-top-session strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.structured-chat-layout{grid-template-columns:minmax(220px,260px) minmax(0,760px);justify-content:center;gap:20px;margin-top:20px}.structured-chat-history,.structured-chat-main{border-color:var(--commissioning-line);border-radius:var(--commissioning-radius);box-shadow:var(--commissioning-shadow);background:#1a1d20d1}.structured-chat-history{padding:16px}.structured-chat-main{overflow:clip}.structured-chat-session-header{border-color:var(--commissioning-line);background:linear-gradient(135deg,#75b0f312,#0000 54%),#11141580;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;padding:18px 20px 16px}.structured-chat-session-header .commissioning-phase-bar{grid-column:1/-1}.structured-chat-agent-identity h1{font-size:19px}.structured-chat-agent-identity span{color:var(--text-secondary)}.structured-chat-session-meta{text-align:right;max-width:210px}.structured-chat-session-meta h2{font-size:15px}.commissioning-phase-bar{border:1px solid var(--commissioning-line);background:#11141575;border-radius:13px;gap:4px;width:100%;min-width:0;margin:0;padding:9px 10px;list-style:none;display:flex}.commissioning-phase{flex:1 1 0;align-items:center;gap:7px;min-width:0;min-height:32px;padding:0 6px;font-size:12px;display:flex;position:relative}.commissioning-phase-label{z-index:1;text-overflow:ellipsis;white-space:nowrap;background:0 0;min-width:0;padding-right:0;position:relative;overflow:hidden}.commissioning-phase-marker{z-index:1;border:1px solid var(--commissioning-line);background:var(--commissioning-canvas);border-radius:999px;flex:none;width:11px;height:11px;display:block;position:relative}.commissioning-phase-connector{z-index:0;background:var(--commissioning-line);height:1px;display:block;position:absolute;top:50%;left:15px;right:-3px}.commissioning-phase-current{color:var(--text-primary);background:0 0}.commissioning-phase-current .commissioning-phase-marker{border-color:var(--commissioning-blue);box-shadow:0 0 0 4px #75b0f32b}.commissioning-phase-current .commissioning-phase-label{font-weight:700}.commissioning-phase-completed .commissioning-phase-marker{border-color:var(--commissioning-mint);background:var(--commissioning-mint)}.commissioning-phase-completed .commissioning-phase-connector{background:var(--commissioning-mint)}.structured-chat-stream{padding:22px 20px 18px}.structured-chat-sheet .structured-chat-stream>.chat-thread{gap:13px;width:min(680px,100%)}.guided-chat-turn{gap:11px;margin-top:16px}.guided-chat-avatar{border-color:var(--commissioning-soft-line);background:linear-gradient(135deg,#75b0f32e,#bfe8cd24);border-radius:11px;flex-basis:32px;width:32px;height:32px}.guided-chat-bubble.message-bubble{border-color:var(--commissioning-line);background:var(--commissioning-raised);border-radius:6px 16px 16px;width:min(100%,570px);max-width:calc(100% - 41px);padding:13px 15px;box-shadow:0 10px 24px #0000001f}.guided-chat-speaker{color:var(--commissioning-blue);margin-bottom:7px}.guided-chat-bubble h2{color:var(--text-primary);font-family:var(--font-display);letter-spacing:-.025em;margin:0 0 7px;font-size:clamp(18px,2vw,22px);line-height:1.12}.guided-chat-bubble p{color:var(--text-secondary);font-size:13px;line-height:1.5}.guided-chat-quick-actions{gap:9px;width:min(570px,100% - 41px);margin-left:41px}.guided-chat-quick-actions .primary-command,.guided-chat-quick-actions .secondary-command,.workflow-upload-picker{border-radius:12px;min-height:48px}.guided-chat-quick-actions .primary-command{color:#111415;background:linear-gradient(100deg, var(--commissioning-blue), var(--commissioning-mint) 62%, var(--commissioning-lime))}.guided-chat-quick-actions .secondary-command{border-color:var(--commissioning-line);background:#262e2fdb}.wiring-map-card,.gateway-code-panel,.commissioning-completion-card{border:1px solid var(--commissioning-line);border-radius:var(--commissioning-radius);background:linear-gradient(145deg, #ffffff06, transparent 50%), var(--commissioning-surface);box-shadow:0 12px 30px #00000021}.wiring-map-card{gap:14px;padding:18px}.wiring-map-status{min-height:28px;color:var(--commissioning-mint);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:#bfe8cd14;border:1px solid #bfe8cd3d;border-radius:999px;align-items:center;padding:0 9px;font-size:10px;display:inline-flex}.wiring-map-card[data-status=blocked] .wiring-map-status,.wiring-map-card[data-status=unavailable] .wiring-map-status{color:var(--warning);background:#e6b24b1a;border-color:#e6b24b57}.wiring-map-source-photo{border-color:var(--commissioning-line);background:#11141573;border-radius:13px}.wiring-map-image-frame{border:1px solid #ffffff0d;border-radius:10px}.wiring-map-route-item{border-color:var(--commissioning-line);background:#11141566;border-radius:12px}.gateway-code-panel{padding:17px}.commissioning-completion-card{background:radial-gradient(circle at 100% 0%, #bfe8cd1f, transparent 46%), linear-gradient(145deg, #75b0f314, transparent 54%), var(--commissioning-surface);border-color:#bfe8cd4a;gap:13px;padding:clamp(18px,3vw,26px);display:grid}.commissioning-completion-card h2,.commissioning-completion-card p{margin:0}.commissioning-completion-card h2{color:var(--text-primary);font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(22px,3vw,30px);line-height:1.05}.commissioning-completion-card>p{color:var(--text-secondary);line-height:1.5}.commissioning-completion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.commissioning-summary-list,.commissioning-summary-empty{border:1px solid var(--commissioning-line);background:var(--commissioning-line);border-radius:12px;gap:1px;min-width:0;margin:0;padding:1px;display:grid}.commissioning-summary-list>div{background:#111415a6;grid-template-columns:minmax(92px,.7fr) minmax(0,1fr);gap:10px;padding:10px 11px;display:grid}.commissioning-summary-list dt{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.commissioning-summary-list dd{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:600}.commissioning-summary-empty{color:var(--text-muted);align-content:center;padding:14px;font-size:12px;line-height:1.45}.commissioning-summary-home{border-radius:11px;justify-self:start;min-height:44px;margin-top:1px}.structured-chat-composer{border-color:var(--commissioning-line);background:#111415f5;padding:13px 20px 17px}.structured-chat-sheet .structured-chat-composer .workflow-composer{border:1px solid var(--commissioning-line);background:var(--commissioning-raised);border-radius:14px;box-shadow:0 10px 24px #00000024}.workflow-composer .icon-button,.workflow-composer .send-button{border-radius:10px}.workflow-screen button:focus-visible,.workflow-screen input:focus-visible,.workflow-screen select:focus-visible,.workflow-screen textarea:focus-visible{outline:2px solid var(--commissioning-blue);outline-offset:2px}.workflow-screen label:has(input[type=file]:focus-visible){outline:2px solid var(--commissioning-blue);outline-offset:2px}@media (max-width:900px){.structured-chat-layout{grid-template-columns:minmax(0,760px)}.structured-chat-history{display:none}}@media (min-width:761px) and (max-width:1300px){.workflow-top{padding-left:72px}}@media (max-width:760px){.nav-trigger--home{top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right))}.gateway-home{padding:calc(20px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(38px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.gateway-home-header{gap:14px;margin-bottom:32px;padding-right:58px}.gateway-home-header p{max-width:28ch}.gateway-home-layout{gap:16px}.gateway-home-gateway-card{min-height:0;padding:24px 20px}.gateway-home h1{font-size:clamp(32px,10vw,44px)}.gateway-home-actions{gap:9px}.gateway-home-primary,.gateway-home-secondary{width:100%}.workflow-screen{padding:calc(8px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left))}.workflow-screen .workflow-top{display:none}.workflow-mobile-utilities{justify-content:flex-end;padding:8px 4px 0;display:flex}.mobile-session-details-command{border-radius:10px;min-height:44px}.mobile-app-bar:has(.mobile-home-trigger){grid-template-columns:44px 44px minmax(0,1fr) auto}.mobile-app-bar:has(.mobile-home-trigger) .mobile-app-status{max-width:72px}.structured-chat-layout{margin-top:0;display:block}.structured-chat-main{box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.structured-chat-session-header{border-bottom:1px solid var(--commissioning-line);background:0 0;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:13px 4px 12px}.structured-chat-agent-identity h1{font-size:17px}.structured-chat-agent-identity span{font-size:10px}.structured-chat-session-meta{max-width:112px}.structured-chat-session-meta h2{font-size:12px}.commissioning-phase-bar{padding:7px 4px}.commissioning-phase{gap:4px;padding:0 3px;font-size:10px}.commissioning-phase-marker{width:9px;height:9px}.commissioning-phase-connector{left:12px}.structured-chat-stream{padding:16px 0}.guided-chat-bubble.message-bubble{max-width:calc(100% - 41px);padding:12px 13px}.guided-chat-quick-actions{width:100%;margin-left:0}.wiring-map-card,.gateway-code-panel,.commissioning-completion-card{border-radius:14px}.wiring-map-source-photos,.commissioning-completion-grid{grid-template-columns:minmax(0,1fr)}.commissioning-summary-list>div{grid-template-columns:minmax(88px,.65fr) minmax(0,1fr)}.commissioning-summary-home{width:100%}.structured-chat-sheet .structured-chat-composer{padding:9px calc(10px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left));border-top:1px solid var(--commissioning-line);background:#111415fa}.structured-chat-sheet .structured-chat-composer .workflow-composer{border-radius:13px}}@media (max-width:390px){.mobile-app-bar:has(.mobile-home-trigger){grid-template-columns:44px 44px minmax(0,1fr) auto}.mobile-app-bar:has(.mobile-home-trigger) .mobile-connection-hint{display:none}.gateway-home-card-heading{align-items:flex-start}}:root{--commissioning-mobile-width:430px}.shifu-shell{grid-template-columns:minmax(0, var(--commissioning-mobile-width));background:var(--commissioning-canvas);place-content:start center;min-height:100dvh;display:grid}.shifu-shell>*{min-width:0}.nav-trigger--home{width:44px;min-width:44px;height:44px;top:calc(12px + env(safe-area-inset-top));right:max(calc((100vw - var(--commissioning-mobile-width)) / 2 + 12px), calc(12px + env(safe-area-inset-right)));z-index:30;left:auto}.nav-trigger--workflow{display:none}.gateway-home,.workflow-screen{width:min(100%, var(--commissioning-mobile-width));max-width:var(--commissioning-mobile-width);margin:0}.gateway-home{min-height:100dvh;padding:calc(22px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) calc(30px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left));background:0 0;overflow-x:clip}.gateway-home-header{gap:8px;width:100%;margin:0 0 24px;padding-right:54px;display:grid}.gateway-home-header .gateway-home-eyebrow{color:var(--commissioning-blue)}.gateway-home-header h1{max-width:12ch;color:var(--text-primary);margin:0;font-size:clamp(32px,10vw,42px);line-height:.98}.gateway-home-header p{max-width:34ch;color:var(--text-secondary);text-align:left;margin:4px 0 0;font-size:14px;line-height:1.5}.gateway-home-layout{grid-template-columns:minmax(0,1fr);gap:16px;width:100%;display:grid}.gateway-home-gateway-card,.gateway-home-how-it-works,.gateway-home-add-form{border:1px solid var(--commissioning-line);background:var(--commissioning-surface);width:100%;min-width:0;box-shadow:none;border-radius:16px;grid-column:1}.gateway-home-gateway-card{min-height:0;padding:18px}.gateway-home-card-heading{gap:12px}.gateway-home-card-heading h2,.gateway-home-empty h2{overflow-wrap:anywhere;min-width:0;margin:3px 0 0}.gateway-home-how-it-works{gap:12px;padding:17px 18px;display:grid}.gateway-home-how-it-works h2{color:var(--text-primary);margin:0;font-size:15px}.gateway-home-how-it-works ol{counter-reset:home-steps;gap:10px;margin:0;padding:0;list-style:none;display:grid}.gateway-home-how-it-works li{min-width:0;color:var(--text-secondary);grid-template-columns:25px minmax(0,1fr);align-items:start;gap:9px;font-size:13px;line-height:1.42;display:grid}.gateway-home-how-it-works li:before{border:1px solid var(--commissioning-soft-line);width:24px;height:24px;color:var(--commissioning-mint);content:counter(home-steps);counter-increment:home-steps;font-family:var(--font-mono);background:#bfe8cd14;border-radius:999px;place-items:center;font-size:11px;display:grid}.gateway-home-actions{grid-column:1;grid-template-columns:minmax(0,1fr);gap:8px;width:100%;display:grid}.gateway-home-primary,.gateway-home-secondary{justify-content:center;width:100%;min-height:48px}.gateway-home-primary{color:#111415;background:linear-gradient(100deg, var(--commissioning-blue), var(--commissioning-mint) 64%, var(--commissioning-lime));order:0}.gateway-home-manage-control{border-color:var(--commissioning-line);color:var(--text-secondary);background:0 0;order:1}.gateway-home-add-form{padding:18px}.gateway-home-history{display:none}.workflow-screen{background:var(--commissioning-canvas);grid-template-rows:auto auto minmax(0,1fr);height:100dvh;min-height:0;padding:0;display:grid;overflow:hidden}.workflow-top,.workflow-mobile-utilities{display:none}.mobile-app-bar{z-index:4;min-width:0;min-height:62px;padding:calc(9px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) 9px calc(12px + env(safe-area-inset-left));border-bottom:1px solid var(--commissioning-line);background:#111415fa;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid;position:relative}.mobile-app-bar:has(.mobile-home-trigger){grid-template-columns:44px 44px minmax(0,1fr) auto}.mobile-navigation-trigger{border:1px solid var(--commissioning-line);width:44px;min-width:44px;height:44px;color:var(--text-primary);background:var(--commissioning-raised);border-radius:11px;place-items:center;padding:0;display:grid}.mobile-app-identity,.mobile-app-status{min-width:0}.mobile-app-identity strong,.mobile-app-identity span,.mobile-app-status span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-app-identity strong{font-size:15px}.mobile-app-identity span,.mobile-app-status span{font-size:11px}.workflow-phase-bar{z-index:3;border-bottom:1px solid var(--commissioning-line);background:#111415fa;padding:8px 12px;position:relative}.workflow-phase-bar .commissioning-phase-bar{padding:7px 6px}.workflow-phase-bar .commissioning-phase{gap:4px;min-height:30px;padding:0 4px;font-size:10px}.workflow-phase-bar .commissioning-phase-marker{width:9px;height:9px}.workflow-phase-bar .commissioning-phase-connector{left:12px}.structured-chat-layout{min-height:0;margin:0;display:block}.structured-chat-history{display:none}.structured-chat-main{width:100%;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-rows:minmax(0,1fr);display:grid;overflow:hidden}.structured-chat-session-header{border-bottom:1px solid var(--commissioning-line);background:var(--commissioning-canvas);grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;min-width:0;padding:10px 12px;display:grid}.structured-chat-agent-identity{gap:8px;min-width:0}.structured-chat-agent-mark{width:28px;height:28px}.structured-chat-agent-identity h1{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.structured-chat-agent-identity span{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.structured-chat-session-meta{text-align:left;grid-column:1;max-width:none}.structured-chat-session-meta h2{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.structured-chat-session-actions{grid-area:1/2/span 2;align-content:center;gap:4px;display:grid}.structured-chat-session-actions button{white-space:nowrap;border-radius:9px;min-height:32px;padding:5px 8px;font-size:10px;line-height:1.1}.structured-chat-sheet{grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:0;padding:0}.structured-chat-sheet .structured-chat-stream{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding:16px 12px;overflow-y:auto}.structured-chat-sheet .structured-chat-stream>.chat-thread{align-content:start;width:100%;max-width:none;min-height:100%;margin:0}.commissioning-summary-actions{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.commissioning-summary-next,.commissioning-summary-home{justify-content:center;width:100%;min-height:48px}.structured-chat-sheet .structured-chat-composer{z-index:3;padding:9px calc(12px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));border-top:1px solid var(--commissioning-line);background:#111415fa;margin:0;position:relative;bottom:auto;left:auto;right:auto}.structured-chat-sheet .structured-chat-composer>.composer,.structured-chat-sheet .structured-chat-composer>form,.structured-chat-sheet .structured-chat-composer .workflow-composer{width:100%;max-width:none}.structured-chat-sheet .structured-chat-composer textarea{font-size:16px}@media (max-width:390px){.mobile-app-bar:has(.mobile-home-trigger){grid-template-columns:44px 44px minmax(0,1fr) auto}.mobile-app-bar:has(.mobile-home-trigger) .mobile-connection-hint{display:none}.structured-chat-session-actions button{min-height:30px;padding-inline:6px;font-size:9px}}@media (max-height:700px){.gateway-home{padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(20px + env(safe-area-inset-bottom))}.gateway-home-header{gap:6px;margin-bottom:17px}.gateway-home-brand{margin-bottom:5px}.gateway-home-layout{gap:11px}.gateway-home-gateway-card,.gateway-home-how-it-works,.gateway-home-add-form{padding:14px}.gateway-home-how-it-works{gap:8px}.gateway-home-how-it-works ol{gap:7px}}.structured-chat-layout,.structured-chat-main{height:100%}.workflow-screen button,.history-drawer button{min-width:44px;min-height:44px}.workflow-screen .icon-button,.workflow-screen .send-button,.history-drawer .icon-button{width:44px;height:44px}.structured-chat-session-actions button{min-height:44px}.workflow-screen .mobile-app-bar,.workflow-screen .workflow-phase-bar,.workflow-screen .structured-chat-layout{order:0}.workflow-screen .structured-chat-main{min-height:0}.structured-chat-sheet{flex-direction:column;display:flex}.structured-chat-sheet .structured-chat-stream{flex:1 1 0}.structured-chat-sheet .structured-chat-action-zone{z-index:2;overscroll-behavior:contain;background:var(--commissioning-canvas);border-top:0;flex:0 auto;min-height:0;max-height:min(42dvh,420px);padding:10px 12px 0;position:relative;overflow-y:auto}.structured-chat-sheet .structured-chat-action-zone>*{margin-bottom:10px}.structured-chat-sheet .structured-chat-composer{overscroll-behavior:contain;flex:none;max-height:min(21dvh,220px);overflow-y:auto}:is(.structured-chat-sheet .structured-chat-composer:has(.action-menu),.structured-chat-sheet .structured-chat-composer:has(.composer-error-notice)){overflow:visible}.structured-chat-sheet .action-menu{z-index:1}.structured-chat-sheet .workflow-composer{grid-template-columns:44px minmax(0,1fr) 44px}.workflow-phase-bar .commissioning-phase-connector{flex:auto;align-self:center;min-width:6px;margin:0 -8px 0 2px;position:static;left:auto;right:auto}.primary-command,.drawer-command.primary,.gateway-home-primary,.auth-button--primary{border-radius:var(--commissioning-control-radius);color:#111415;background:linear-gradient(100deg, var(--commissioning-blue), var(--commissioning-mint) 62%, var(--commissioning-lime));border:0;overflow:hidden}.primary-command,.secondary-command,.icon-button,.send-button,.mobile-navigation-trigger,.workflow-home-command,.composer textarea,.workflow-composer .icon-button,.workflow-composer .send-button{border-radius:var(--commissioning-control-radius)}.structured-chat-sheet .guided-chat-bubble.message-bubble{display:block}.history-row{box-sizing:border-box;block-size:64px;min-block-size:64px}.history-row-main{box-sizing:border-box;grid-template-rows:20px 16px;align-content:center;gap:2px;block-size:100%;min-block-size:0;padding:7px 8px 7px 12px;display:grid;overflow:hidden}.history-row-main>.history-row-title{overflow-wrap:normal;white-space:nowrap;width:100%;line-height:20px;overflow:hidden}.history-row .history-row-title-text{overflow-wrap:normal;white-space:nowrap;max-width:none;display:inline-block}.history-row-title--overflowing .history-row-title-text{animation:5.5s cubic-bezier(.4,0,.2,1) .75s infinite alternate history-row-title-pan}@keyframes history-row-title-pan{0%,24%{transform:translate(0)}76%,to{transform:translateX(var(--history-row-title-offset))}}@media (prefers-reduced-motion:reduce){.history-row-title--overflowing .history-row-title-text{animation:none}}.history-row-main>small{overflow-wrap:normal;text-overflow:ellipsis;white-space:nowrap;width:100%;line-height:16px;overflow:hidden}.history-row-actions{box-sizing:border-box;align-items:center;block-size:100%;min-block-size:0;padding-block:0}.structured-chat-sheet .backend-activity-panel{grid-area:auto/1/auto/-1}.structured-chat-sheet .composer-actions,.structured-chat-sheet .composer-main,.structured-chat-sheet .send-button{grid-area:auto}.gateway-home,.workflow-screen{margin-inline:auto}.gateway-home-header{padding-right:0}.gateway-home-header-top{justify-content:flex-start;align-items:center;gap:12px;margin-bottom:12px;display:flex}.gateway-home-brand{margin-bottom:0}.gateway-home-menu-trigger{border:1px solid var(--commissioning-line);border-radius:var(--commissioning-control-radius);width:44px;min-width:44px;height:44px;color:var(--text-primary);background:var(--commissioning-raised);place-items:center;padding:0;display:grid}.gateway-home-menu-trigger:hover,.gateway-home-menu-trigger:focus-visible{border-color:var(--commissioning-blue);background:#75b0f31f;outline:none}.drawer-gateway{min-width:0;display:grid}.drawer-home-gateway-content{gap:10px;min-width:0;display:grid}.drawer-home-gateway-content[hidden]{display:none}.drawer-gateway-content{border:1px solid var(--commissioning-line);border-radius:var(--commissioning-control-radius);background:var(--commissioning-surface);gap:10px;padding:14px;display:grid}.drawer-gateway-heading,.session-details-section-row{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.drawer-gateway h2{overflow-wrap:anywhere;color:var(--text-primary);margin:0;font-size:15px}.drawer-gateway-status{color:var(--text-secondary);font-family:var(--font-mono);text-transform:uppercase;flex:none;align-items:center;gap:5px;font-size:10px;display:inline-flex}.drawer-gateway-status:before{background:var(--text-secondary);content:"";border-radius:999px;width:7px;height:7px}.drawer-gateway-status--online:before{background:var(--commissioning-mint);box-shadow:0 0 10px #bfe8cd8c}.drawer-gateway-status--checking:before{background:var(--commissioning-blue);box-shadow:0 0 10px #75b0f38c}.drawer-gateway-status--offline:before{background:#f2c570}.drawer-gateway-select{color:var(--text-secondary);gap:5px;font-size:12px;display:grid}.drawer-gateway-select select{border:1px solid var(--commissioning-line);border-radius:var(--commissioning-control-radius);width:100%;min-height:44px;color:var(--text-primary);background:var(--commissioning-raised);padding:0 10px;font-size:16px}.drawer-gateway-empty,.drawer-gateway-alert{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.45}.drawer-gateway-alert{color:var(--text-primary);gap:8px;display:grid}.journey-sheet{width:min(100%, var(--commissioning-mobile-width));max-width:var(--commissioning-mobile-width);border-color:var(--commissioning-line);background:var(--commissioning-canvas);border-radius:18px 18px 0 0}.session-details-content{gap:12px;padding:12px}.session-details-section{border:1px solid var(--commissioning-line);border-radius:var(--commissioning-control-radius);background:var(--commissioning-surface);gap:9px;min-width:0;padding:14px;display:grid}.session-details-section h2,.session-details-section p{margin:0}.session-details-section p{overflow-wrap:anywhere;min-width:0;color:var(--text-secondary);font-size:13px;line-height:1.45}.session-details-section-row>p{color:var(--text-primary)}.session-details-section .session-name-editor{margin:0}.session-details-section-danger{background:#ff6b6b12;border-color:#ff6b6b7a;margin-top:4px}.session-details-section-danger .secondary-command{color:#ff9a9a;background:0 0;border-color:#ff6b6b7a}.claim-code-scanner-backdrop{z-index:60}.mobile-app-identity{align-items:center;gap:8px;display:flex}.mobile-app-identity-copy{min-width:0}.mobile-app-mark{flex:0 0 26px;width:26px;height:26px}.mobile-support-call-command{border-radius:var(--commissioning-control-radius);width:44px;min-width:44px;height:44px;min-height:44px}.structured-chat-session-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding-block:12px}.structured-chat-session-summary{min-width:0}.structured-chat-session-summary .small-label{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.structured-chat-session-actions{grid-area:auto/2;align-items:center;gap:8px;display:flex}.structured-chat-session-actions [hidden]{display:none}.structured-chat-session-actions .session-details-command{min-height:44px;padding:8px 10px;font-size:10px}.structured-chat-session-summary-card{min-width:0;display:grid}.structured-chat-session-header[hidden],.guided-chat-card-content[hidden]{display:none}.collapsible-card-rail{width:calc(100% - 16px);height:15px;min-height:15px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;margin-inline:auto;padding:0;display:grid;position:relative}.workflow-screen .collapsible-card-rail{min-width:0;min-height:15px}.history-drawer .drawer-gateway-rail{min-width:0;min-height:15px;margin-block:4px}.history-drawer .drawer-gateway-rail svg{background:#0c1112f5}.collapsible-card-rail:before{background:var(--commissioning-line);content:"";inset-inline:0;border-radius:999px;height:1px;position:absolute;top:50%}.collapsible-card-rail svg{z-index:1;box-sizing:content-box;background:var(--commissioning-canvas);padding-inline:5px;position:relative}.collapsible-card-rail:hover,.collapsible-card-rail:focus-visible{color:var(--commissioning-blue);outline:none}.collapsible-card-rail:hover:before,.collapsible-card-rail:focus-visible:before{background:var(--commissioning-blue)}.collapsible-card-rail--before{margin-block:4px}.structured-chat-session-summary-card .collapsible-card-rail--after{margin-block:4px;transform:translateY(8px)}.guided-chat-turn--collapsible{gap:0;width:100%;max-width:none}.guided-chat-turn--collapsible:has(.guided-chat-card-content[hidden]){gap:0;margin-top:0}.guided-chat-turn--collapsible:has(.guided-chat-card-content[hidden]) .collapsible-card-rail--before{margin-block:4px}.structured-chat-sheet .guided-chat-turn--collapsible>.collapsible-card-rail--before{z-index:3;background:var(--commissioning-canvas);width:100%;box-shadow:0 -4px 0 var(--commissioning-canvas), 0 4px 0 var(--commissioning-canvas);margin-inline:0;position:sticky;top:4px}.structured-chat-sheet .guided-chat-turn--collapsible>.collapsible-card-rail--before:before{inset-inline:8px}.structured-chat-sheet .structured-chat-action-zone>.guided-chat-turn--collapsible{margin-top:0;margin-bottom:0}.structured-chat-sheet .structured-chat-action-zone:has(.guided-chat-turn--collapsible){padding-top:0}.structured-chat-sheet .structured-chat-action-zone:has(.guided-chat-card-content[hidden]){border-top:0;padding-block:0}.structured-chat-sheet:has(.guided-chat-turn--collapsible){row-gap:0}.structured-chat-sheet:has(.guided-chat-card-content[hidden]) .structured-chat-composer{border-top:0;padding-top:0}.guided-chat-turn--collapsible .guided-chat-bubble.message-bubble{width:100%;max-width:100%}.guided-chat-card-content{gap:11px;min-width:0;display:grid}.guided-chat-card-heading{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.guided-chat-card-heading h2{min-width:0;margin:0}.guided-chat-turn--collapsible .guided-chat-quick-actions{width:100%;margin-left:0}:root{--brand-blue:#75b0f3;--brand-green:#bfe8cd;--brand-lime:#e5fac0;--surface-input:#3d494a;--text-placeholder:#6b7280;--text-disabled:#4b5563;--focus-ring:#75b0f380}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--surface-hover);border-radius:999px}::-webkit-scrollbar-track{background:0 0}.shifu-shell{background:radial-gradient(circle at 15% 8%, #75b0f324, transparent 30%), radial-gradient(circle at 90% 10%, #bfe8cd17, transparent 34%), var(--background);color:var(--text-primary)}.icon-button,.send-button,.drawer-command,.history-row,.missing-actions button{border-color:var(--line);border-radius:var(--radius-sm);color:var(--text-primary);background:var(--surface-raised)}.icon-button:hover,.send-button:hover,.drawer-command:hover,.history-row:hover{border-color:var(--accent-border);background:var(--surface-hover)}.history-drawer{border-color:var(--line);background:#111415f5}.history-row.active{border-color:var(--accent-border);background:var(--accent-soft)}.history-row-menu{border-color:var(--line);border-radius:var(--radius-sm);background:var(--surface-base)}.history-row-menu button:hover,.history-row-menu button:focus-visible{background:var(--accent-soft)}.home-copy h1,.missing-session h1,.chat-topbar h1,.workflow-topbar h1{color:var(--text-primary);font-family:var(--font-display)}.home-copy p,.missing-session p,.chat-card p,.message-bubble p,.history-row small,.empty-history{color:var(--text-muted)}.home-kicker{border-color:var(--accent-border);color:var(--accent);background:var(--accent-soft)}.home-status,.how-it-works,.chat-card,.readiness-card,.missing-session{border-color:var(--line);border-radius:var(--radius-lg);background:var(--surface-base)}.primary-command,.secondary-command,.auth-button--primary,.auth-button--secondary{border-radius:var(--radius-sm)}.primary-command,.drawer-command.primary{color:var(--background);background:var(--brand-gradient);border-color:#0000}.secondary-command{border-color:var(--line);color:var(--text-primary);background:var(--surface-raised)}.primary-command:hover:not(:disabled),.drawer-command.primary:hover:not(:disabled){filter:brightness(1.06)}.secondary-command:hover:not(:disabled){border-color:var(--accent-border);background:var(--surface-hover)}.workflow-top,.workflow-panel,.workflow-step-card,.wiring-map-card,.gateway-code-panel,.chat-sheet,.workflow-start-notes,.log-card,.device-card{border-color:var(--line);border-radius:var(--radius-md);background:var(--surface-base)}.workflow-review-artifact,.workflow-review-connection,.status-row,.backend-activity-row,.wiring-row,.artifact-item{border-radius:var(--radius-sm)}.workflow-review-banner{border-color:var(--accent-border);background:var(--accent-soft)}.workflow-step-kicker{color:var(--accent)}.installer-phone{border-color:var(--line);border-radius:var(--radius-xl);background:var(--background)}.gateway-code-panel input,.gateway-grid input,.composer textarea,.auth-field__control{border-radius:var(--radius-sm)}.phone-chat-panel .message-bubble{border-color:var(--line);border-radius:4px var(--radius-lg) var(--radius-lg) var(--radius-lg);background:var(--surface-raised)}.phone-chat-panel .message-bubble.user{border-color:var(--accent-border);border-radius:var(--radius-lg) 4px var(--radius-lg) var(--radius-lg);background:var(--accent-soft)}.auth-panel,.gateway-home-gateway-card,.gateway-home-add-form,.gateway-home-session-group{border-radius:var(--radius-lg)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--accent)}label:has(input[type=file]:focus-visible){outline-color:var(--accent)}.workflow-phase-bar{background:#111415eb;border-bottom:0;padding:0 12px}.workflow-phase-bar .commissioning-phase-bar{border:solid var(--commissioning-line);background:0 0;border-width:1px 0;border-radius:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;display:grid}.workflow-phase-bar .commissioning-phase{color:#ffffff4d;min-width:0;min-height:34px;font-family:var(--font-mono);justify-content:center;align-items:center;gap:0;padding:0 4px;font-size:9px;font-weight:400;display:flex}.workflow-phase-bar .commissioning-phase-label{width:100%;color:inherit;font-weight:inherit;text-align:center;text-overflow:clip;overflow:visible}.workflow-phase-bar .commissioning-phase-current{color:#ffffffb3;font-weight:600}.workflow-phase-bar .commissioning-phase-completed{color:#ffffff85}.structured-chat-sheet .structured-chat-composer{padding:10px 14px 0}.structured-chat-sheet .structured-chat-composer .workflow-composer{box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:9px;padding:0;position:relative}.structured-chat-sheet .workflow-composer .icon-button,.structured-chat-sheet .workflow-composer .send-button{border-radius:50%;width:44px;min-width:44px;height:44px}.structured-chat-sheet .workflow-composer .composer-input{min-width:0;display:block}.structured-chat-sheet .workflow-composer textarea{box-sizing:border-box;border-color:var(--commissioning-line);background:var(--surface-base);border-radius:999px;min-height:44px;max-height:120px;padding:10px 15px;line-height:22px}@media (max-width:760px){.workflow-screen .structured-chat-sheet{padding-bottom:var(--structured-chat-composer-height)}.structured-chat-sheet .structured-chat-composer{width:min(100%, var(--commissioning-mobile-width));padding-right:calc(14px + env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom);padding-left:calc(14px + env(safe-area-inset-left));margin-inline:auto;position:fixed;bottom:0;left:0;right:0}}.mobile-app-bar .mobile-navigation-trigger{background:0 0;border-color:#0000;border-radius:0}.mobile-app-bar .mobile-navigation-trigger:hover,.mobile-app-bar .mobile-navigation-trigger:focus-visible{background:0 0;border-color:#0000}.mobile-app-bar .mobile-support-call-command{border-radius:50%}.mobile-app-bar .mobile-app-status-mark{isolation:isolate;background:linear-gradient(100deg, var(--commissioning-blue), var(--commissioning-mint) 62%, var(--commissioning-lime));border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid;position:relative;overflow:visible}.mobile-app-bar .mobile-app-status-mark .mobile-app-mark,.mobile-app-bar .mobile-app-status-mark .mobile-app-mark svg{width:18px;height:18px}.mobile-app-bar .mobile-app-status-mark .iot-genius-star-mark__path{fill:var(--commissioning-canvas)}.mobile-app-bar .mobile-app-status-mark:after{z-index:2;border:1.5px solid var(--commissioning-canvas);background:var(--text-disabled);content:"";border-radius:50%;width:9px;height:9px;position:absolute;bottom:-1px;right:-1px;box-shadow:0 0 0 1px #0000002e}.mobile-app-bar .mobile-app-status-mark--online:after{background:var(--success)}.mobile-app-bar .mobile-app-status-mark--offline:after{background:var(--error)}.mobile-app-bar .mobile-app-status-mark--checking:after{background:var(--warning)}.mobile-app-bar .mobile-app-status-mark--unavailable:after,.mobile-app-bar .mobile-app-status-mark--not_checked:after{background:var(--text-disabled)}.gateway-home{height:100dvh;min-height:100svh;padding:0 calc(14px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.gateway-home-header{gap:5px;margin-bottom:0}.gateway-home-header-top{min-height:44px;padding-top:calc(14px + env(safe-area-inset-top));background:0 0;border-bottom:0;justify-content:flex-start;gap:12px;margin:0 0 0 -9px}.gateway-home-brand{order:1;gap:11px}.gateway-home-brand .mark{background:linear-gradient(100deg, var(--commissioning-blue), var(--commissioning-mint) 62%, var(--commissioning-lime));border-radius:9px;width:31px;height:31px;padding:7px}.gateway-home-brand .mark svg{width:100%;height:100%}.gateway-home-brand .mark .iot-genius-star-mark__path{fill:var(--commissioning-canvas)}.gateway-home-menu-trigger{width:44px;min-width:44px;height:44px;color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:0;order:0;position:static}.gateway-home-menu-trigger:before{content:none}.gateway-home-menu-trigger svg{position:static}.gateway-home-menu-trigger:hover,.gateway-home-menu-trigger:focus-visible{background:0 0;border-color:#0000}.gateway-home-menu-trigger:focus-visible{outline:2px solid var(--commissioning-blue);outline-offset:2px}.gateway-home-header h1{letter-spacing:-.02em;max-width:none;font-size:clamp(24px,7vw,28px);line-height:1.08}.gateway-home-header p{max-width:38ch;margin-top:1px;font-size:14px;line-height:1.45}.gateway-home-layout{overscroll-behavior:contain;grid-template-rows:auto auto auto;align-content:start;gap:12px;min-height:0;overflow:hidden auto}.gateway-home-content{grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;min-height:0;padding-top:12px;display:grid}.gateway-home-content>*{min-width:0}.gateway-home-gateway-card{border-radius:8px;gap:14px;padding:12px}.gateway-home-reference{padding:8px 10px}.gateway-home-setup-context{border:1px solid var(--commissioning-line);background:#ffffff05;border-radius:8px;margin:0;display:grid;overflow:hidden}.gateway-home-setup-context>div{grid-template-columns:minmax(92px,.65fr) minmax(0,1fr);align-items:center;gap:12px;padding:9px 10px;display:grid}.gateway-home-setup-context>div+div{border-top:1px solid var(--commissioning-line)}.gateway-home-setup-context dt{color:var(--text-muted);font-size:12px}.gateway-home-setup-context dd{min-width:0;color:var(--text-primary);text-align:right;overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:600}.gateway-home-gateway-card--summary{gap:0;padding:6px 12px}.gateway-home-gateway-card--summary .gateway-home-setup-context{background:0 0;border:0;border-radius:0}.gateway-home-gateway-card--summary .gateway-home-setup-context>div{padding:10px 0}.gateway-home-gateway-card--summary .gateway-home-status{max-width:100%;color:var(--text-primary);white-space:normal;padding:6px 10px}.gateway-home-gateway-card--summary .gateway-home-status--online:before{color:var(--success)}.gateway-home-how-it-works{background:0 0;border:0;border-radius:0;gap:8px;padding:0}.gateway-home-how-it-works h2{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:600}.gateway-home-how-it-works ol{gap:6px}.gateway-home-how-it-works li{grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;font-size:12px;line-height:1.35}.gateway-home-how-it-works li:before{width:20px;height:20px;color:var(--commissioning-blue);background:#75b0f31f;border-color:#75b0f352;font-size:10px}.gateway-home-actions .gateway-home-primary{border-radius:6px;min-height:44px}.gateway-home-actions .gateway-home-primary>svg{display:none}.structured-chat-sheet .message-bubble.assistant{justify-self:start}.structured-chat-sheet .message-bubble.user{justify-self:end}.structured-chat-sheet .guided-chat-turn--message{width:100%;margin:4px 0 0}.structured-chat-sheet .workflow-guidance-message.message-bubble.assistant,.structured-chat-sheet .commissioning-completion-message.message-bubble.assistant{align-items:flex-end;gap:9px;width:100%;max-width:100%}.structured-chat-sheet .workflow-guidance-message .timeline-chat-avatar,.structured-chat-sheet .commissioning-completion-message .timeline-chat-avatar{margin:0}.structured-chat-sheet .workflow-guidance-message .message-content,.structured-chat-sheet .commissioning-completion-message .message-content{border:1px solid var(--commissioning-line);background:var(--commissioning-raised);border-radius:4px 14px 14px;gap:9px;width:min(100% - 35px,570px);max-width:none;padding:12px 13px;display:grid}.structured-chat-sheet .workflow-guidance-message h2,.structured-chat-sheet .commissioning-completion-message h2{color:var(--text-primary);font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:18px;line-height:1.15}.structured-chat-sheet .workflow-guidance-message .guided-chat-quick-actions{width:100%;margin:2px 0 0}.structured-chat-sheet .workflow-guidance-message .step-coach-reference,.structured-chat-sheet .workflow-guidance-message .wiring-map-card,.structured-chat-sheet .workflow-guidance-message .gateway-code-panel{width:100%;max-width:none}.structured-chat-sheet .commissioning-completion-message .commissioning-completion-card{background:linear-gradient(145deg, #75b0f30d, transparent 54%), var(--commissioning-raised);width:min(100% - 35px,460px);box-shadow:none;text-align:center;border-color:#bfe8cd3d;border-radius:18px;justify-items:center;gap:10px;padding:18px}.commissioning-completion-icon{border:3px solid var(--success);width:52px;height:52px;color:var(--success);background:var(--commissioning-canvas);border-radius:50%;place-items:center;margin:2px auto 6px;display:grid}.structured-chat-sheet .commissioning-completion-message .timeline-chat-speaker{text-align:left;width:100%}.structured-chat-sheet .commissioning-completion-message h2{color:var(--success);font-size:clamp(21px,4.2vw,25px)}.structured-chat-sheet .commissioning-completion-message .commissioning-completion-card>p{max-width:390px;color:var(--text-secondary);font-size:14px;line-height:1.45}.commissioning-handoff-statuses{gap:8px;width:100%;margin-top:4px;display:grid}.commissioning-handoff-row{border:1px solid var(--commissioning-line);min-height:56px;color:var(--text-muted);background:var(--commissioning-canvas);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-size:14px;display:flex}.commissioning-handoff-pill{border:1px solid var(--commissioning-line);min-height:34px;color:var(--text-secondary);background:var(--commissioning-raised);text-align:center;border-radius:999px;align-items:center;gap:8px;padding:7px 13px;font-size:13px;font-weight:700;line-height:1.15;display:inline-flex}.commissioning-handoff-pill>span{background:var(--text-muted);border-radius:50%;flex:none;width:9px;height:9px}.commissioning-handoff-pill[data-status=detected]>span{background:var(--success)}.commissioning-handoff-pill[data-status=not-detected]{color:var(--danger)}.commissioning-handoff-pill[data-status=not-detected]>span{background:var(--danger)}.structured-chat-sheet .commissioning-completion-message .commissioning-completion-grid,.structured-chat-sheet .commissioning-completion-message .commissioning-summary-actions{width:100%}.structured-chat-sheet .commissioning-completion-message .commissioning-completion-grid{grid-template-columns:minmax(0,1fr)}.structured-chat-sheet .commissioning-completion-message .commissioning-summary-list{border-color:var(--commissioning-line);background:var(--commissioning-canvas);gap:0;padding:0;overflow:hidden}.structured-chat-sheet .commissioning-completion-message .commissioning-summary-list>div+div{border-top:1px solid var(--commissioning-line)}.structured-chat-sheet .commissioning-completion-message .commissioning-summary-actions{margin-top:2px}.commissioning-summary-next{width:100%}.structured-chat-sheet .workflow-task-message.message-bubble.assistant{align-items:flex-end;gap:9px;width:100%;max-width:100%}.structured-chat-sheet .workflow-task-message .message-content{background:0 0;border:0;border-radius:0;gap:6px;width:min(100% - 35px,570px);max-width:none;padding:0;display:grid}.structured-chat-sheet .workflow-task-message .wiring-map-card,.structured-chat-sheet .workflow-task-message .gateway-code-panel,.structured-chat-sheet .workflow-task-message .detection-panel{width:100%;max-width:none;margin:0}.structured-chat-sheet .structured-chat-composer{padding-top:10px;padding-bottom:calc(19px + env(safe-area-inset-bottom));background:linear-gradient(to bottom, #111415f5, var(--commissioning-canvas) 28%)}.structured-chat-sheet .structured-chat-composer .workflow-composer{align-items:center;gap:8px}.structured-chat-sheet .step-coach-question-row{grid-template-columns:minmax(0,1fr);gap:7px;min-width:0;padding-bottom:2px;display:grid}.structured-chat-sheet .step-coach-question-label{color:#ffffff8f;letter-spacing:.13em;padding-inline:1px;font-size:9px}.structured-chat-sheet .step-coach-question-chips{scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;gap:7px;margin-inline:-1px;padding:0 20px 2px 1px;scroll-padding-inline:1px 20px;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 18px),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 18px),#0000 100%)}.structured-chat-sheet .step-coach-question-chips::-webkit-scrollbar{display:none}.structured-chat-sheet .step-coach-question-chip{scroll-snap-align:start;color:#ffffffe0;text-overflow:ellipsis;white-space:nowrap;background:#ffffff0a;border-color:#75b0f342;border-radius:999px;max-width:min(78vw,290px);padding:9px 14px;font-size:12px;line-height:1.3;overflow:hidden}.structured-chat-sheet .step-coach-question-chip:hover:not(:disabled),.structured-chat-sheet .step-coach-question-chip:focus-visible{background:#75b0f31a;border-color:#75b0f385}.structured-chat-sheet .workflow-composer .icon-button{color:#ffffffc2;background:#ffffff12;border-color:#0000}.structured-chat-sheet .workflow-composer textarea{background:#ffffff0a;border-color:#ffffff24;padding-inline:16px}.structured-chat-sheet .workflow-composer textarea::placeholder{color:#fff6}.structured-chat-sheet .workflow-composer textarea:focus{background:#ffffff0f;border-color:#75b0f37a}.structured-chat-sheet .workflow-composer .send-button:not(:disabled){color:var(--commissioning-canvas);background:var(--commissioning-blue);border-color:#0000;box-shadow:0 4px 12px #75b0f333}.structured-chat-sheet .workflow-composer .icon-button:active,.structured-chat-sheet .workflow-composer .send-button:active,.structured-chat-sheet .step-coach-question-chip:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.structured-chat-sheet .workflow-composer .icon-button:active,.structured-chat-sheet .workflow-composer .send-button:active,.structured-chat-sheet .step-coach-question-chip:active{transform:none}}.gateway-start-dialog-backdrop{z-index:70;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#030708c2;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.gateway-start-dialog{box-sizing:border-box;border:1px solid var(--commissioning-line);background:var(--commissioning-raised);border-radius:16px;gap:14px;width:min(100%,380px);padding:18px;display:grid;box-shadow:0 24px 64px #00000075}.gateway-start-dialog-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.gateway-start-dialog-header>div{gap:4px;display:grid}.gateway-start-dialog-header h2{color:var(--text-primary);font-family:var(--font-display);margin:0;font-size:22px;line-height:1.15}.gateway-start-dialog-header>button{width:44px;min-width:44px;height:44px;color:var(--text-muted);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.gateway-start-dialog-header>button:hover:not(:disabled),.gateway-start-dialog-header>button:focus-visible{color:var(--text-primary);background:#ffffff0f}.gateway-start-dialog>p,.gateway-start-dialog-reference{color:var(--text-muted);margin:0;font-size:13px;line-height:1.45}.gateway-start-dialog-form,.gateway-start-dialog-form label{gap:8px;display:grid}.gateway-start-dialog-form label>span{color:var(--text-muted);font-size:12px;font-weight:600}.gateway-start-dialog-form select,.gateway-start-dialog-form input{box-sizing:border-box;border:1px solid var(--commissioning-line);width:100%;min-height:48px;color:var(--text-primary);background:var(--surface-base);font:inherit;border-radius:10px;padding:10px 12px}.gateway-start-dialog-form select{padding-right:38px}.gateway-start-dialog-form input::placeholder{color:var(--text-muted)}.gateway-start-dialog-form select:focus-visible,.gateway-start-dialog-form input:focus-visible{border-color:var(--commissioning-blue);outline:2px solid color-mix(in srgb, var(--commissioning-blue) 34%, transparent);outline-offset:1px}.gateway-start-dialog-reference{color:var(--commissioning-blue);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.gateway-start-dialog-confirm{justify-content:center;width:100%;min-height:48px;margin-top:4px}