*{box-sizing:border-box}.probe-observations,.probe-status-refresh{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.probe-manual-panel,.probe-result{background:#1a1d20d1;border:1px solid #a9b4af2e;gap:12px;padding:16px;display:grid}.probe-manual-panel h2,.probe-result h2{color:var(--text);margin:0;font-size:18px}.probe-manual-panel label{color:var(--muted);gap:7px;font-size:13px;display:grid}.probe-manual-panel select{border:1px solid var(--line);min-height:42px;color:var(--text);background:var(--surface-raised);padding:0 10px}.probe-result-passed{border-left:3px solid var(--success)}.probe-result-failed,.probe-result-error{border-left:3px solid var(--danger)}.probe-result-needs_engineer_review{border-left:3px solid var(--warning)}.gateway-code-panel .secondary-command.compact{min-height:44px}:root{color:#eef8f7;background:#0f1314;font-family:Aptos,Segoe UI,system-ui,sans-serif}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;display:flex;position:fixed;inset:0}.history-drawer{background:#0c1112f5;border-right:1px solid #a0e5da33;width:min(340px,100vw - 28px);padding:18px;box-shadow:16px 0 40px #00000057}.drawer-nav{gap:10px;margin-top:22px;display:grid}.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{flex-direction:column;align-items:flex-start}.history-row.active{background:#2af0c91f;border-color:#30eec9b8}.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,.workflow-evidence-panel,.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,.empty-evidence{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-evidence-panel{gap:14px;padding:16px;display:grid;position:sticky;top:18px}.workflow-evidence-panel h2,.wiring-map-card h2,.chat-sheet h2,.gateway-code-panel h2{color:#f4fffc;margin:0;font-size:1rem}.evidence-group{gap:8px;display:grid}.evidence-group h3{color:#7ff5dc;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem}.artifact-list.compact{gap:6px}.evidence-status{border-top:1px solid #a0e5da24;grid-template-columns:1fr auto;gap:8px;padding-top:12px;display:grid}.evidence-status span{color:#8fa7a2}.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}.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}.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-item.image{grid-template-columns:88px minmax(0,1fr)}.artifact-preview{object-fit:contain;background:#050b0cb8;border:1px solid #a0e5da38;border-radius:6px;width:88px;height:68px}.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}.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))}.workflow-evidence-panel{position:static}.wiring-row,.gateway-code-panel form{grid-template-columns: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:#111415;--surface:#1a1d20;--raised:#262e2f;--line:#3a4042;--text:#f5f8f6;--muted:#a9b4af;--blue:#75b0f3;--green:#bfe8cd;--lime:#e5fac0;--success:#39c27e;--warn:#e6b24b;--error:#de5a57;--gradient:linear-gradient(120deg, var(--blue), var(--green) 58%, var(--lime));--font-sans:"General Sans", "Segoe UI", system-ui, sans-serif;--font-display:"Space Grotesk", "General Sans", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Cascadia Mono", ui-monospace, monospace;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}.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}.workflow-timeline{gap:8px;margin:0;padding:14px;list-style:none;display:grid}.workflow-timeline li{min-width:0;color:var(--text);border:1px solid #0000}.workflow-timeline li>button,.home-workflow-screen .workflow-timeline li{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;width:100%;min-width:0;min-height:44px;padding:7px 9px;display:grid}.workflow-timeline li>button{color:inherit;font:inherit;text-align:left;background:0 0;border:0}.workflow-timeline li.current,.workflow-timeline li.active{background:#75b0f31c;border-color:#75b0f37a}.workflow-timeline li.completed .step-num,.workflow-timeline li.complete .step-num{color:var(--success);border-color:#39c27e8c}.workflow-timeline li.reviewing{background:#43f0c71a;border-color:#43f0c794}.workflow-timeline li>button:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.workflow-timeline li>button:disabled{cursor:not-allowed;opacity:.5}.step-num{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;place-items:center;font-size:10px;display:grid}.timeline-title{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:13px;font-weight:760;line-height:1.18;display:block}.timeline-meta{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:11px;line-height:1.35;display:block}.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: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-evidence-panel,.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,.empty-evidence,.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}.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-evidence-panel{align-content:start;gap:12px;padding:0 0 14px;display:grid;position:static}.evidence-group,.evidence-status,.workflow-start-notes .log-card,.log-card{margin:0 14px}.evidence-group h3{color:var(--green)}.artifact-item{background:#1114156b;border-radius:0}.artifact-preview{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-evidence-panel,.workflow-start-notes{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.workflow-evidence-panel .panel-head,.workflow-start-notes .panel-head,.evidence-status{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-evidence-panel,.workflow-start-notes,.status-row,.field{grid-template-columns:1fr}.phone-chat-panel .workflow-composer{grid-template-columns:40px minmax(0,1fr) 40px}}@media (max-width:380px){.phone-chat-panel .workflow-composer{grid-template-areas:"main main main""actions.send";container-type:inline-size}.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,.task-progress-summary,.support-disclosure-trigger{display:none}.support-disclosure-content{display:block}.support-disclosure:has(.evidence-panel-embedded){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,.workflow-evidence-panel[data-variant=desktop],.phone-progress,.nav-trigger{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)}.task-progress-summary{width:100%;min-height:52px;color:var(--text);text-align:left;background:#75b0f317;border:1px solid #75b0f357;grid-template-columns:auto minmax(0,1fr) 20px;align-items:center;gap:10px;padding:7px 10px;display:grid}.task-progress-summary span{color:var(--blue);font-family:var(--font-mono);text-transform:uppercase;font-size:10px}.task-progress-summary strong{overflow-wrap:anywhere;min-width:0}.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}:is(.support-disclosure,.support-disclosure:has(.evidence-panel-embedded)){border:1px solid var(--line);background:#1a1d20c2;min-width:0;display:block}.support-disclosure-trigger{width:100%;min-height:44px;color:var(--text);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;padding:8px 12px;font-weight:700;display:flex}.support-disclosure-trigger:after{content:"+";color:var(--green);font-size:18px}.support-disclosure[data-expanded=true]>.support-disclosure-trigger:after{content:"−"}.support-disclosure[data-expanded=false]>.support-disclosure-content{display:none}.support-disclosure[data-expanded=true]>.support-disclosure-content{border-top:1px solid var(--line);display:block}.workflow-evidence-panel[data-variant=embedded]{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}.pilot-access-shell{background:linear-gradient(#49e6c10b 1px, transparent 1px), linear-gradient(90deg, #49e6c10b 1px, transparent 1px), radial-gradient(circle at 50% 20%, #49e6c121, transparent 42%), var(--bg);background-size:32px 32px,32px 32px,auto,auto;place-items:center;min-height:100dvh;padding:24px;display:grid}.pilot-access-card{border:1px solid var(--line);background:#121718f5;gap:16px;width:min(100%,430px);padding:clamp(24px,6vw,42px);display:grid;box-shadow:0 24px 80px #0000006b}.pilot-access-mark{border:1px solid var(--green);width:44px;height:44px;color:var(--green);font-family:var(--font-mono);letter-spacing:.08em;place-items:center;font-size:13px;font-weight:800;display:grid}.pilot-access-eyebrow{color:var(--green);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:4px 0 -8px;font-size:11px}.pilot-access-card h1,.pilot-access-card p{margin:0}.pilot-access-card h1{color:var(--text);font-family:var(--font-display);font-size:clamp(28px,7vw,40px);line-height:1}.pilot-access-status,.pilot-access-form>p,.pilot-access-notice{color:var(--muted);line-height:1.55}.pilot-access-form,.pilot-access-notice{gap:12px;display:grid}.pilot-access-form label{color:var(--text);font-size:13px;font-weight:700}.pilot-access-form input{border:1px solid var(--line);width:100%;min-height:46px;color:var(--text);background:var(--raised);font:inherit;border-radius:0;padding:10px 12px}.pilot-access-form .primary-command,.pilot-access-notice .primary-command{width:100%;min-height:46px}.pilot-access-error{color:var(--error);line-height:1.5}@media (max-width:520px){.pilot-access-shell{align-items:stretch;padding:0}.pilot-access-card{border:0;align-content:center;width:100%;min-height:100dvh}}@media (prefers-reduced-motion:reduce){.journey-sheet,.support-disclosure-content,[role=status]{transition:none!important;animation:none!important}}