:root{--tx-navy:#00205b;--tx-navy-600:#1b3a7a;--tx-red:#bf2a35;--bg:#f4f6fb;--surface:#fff;--border:#d9dfeb;--text:#1a2231;--text-muted:#5b6678;--assistant-bg:#eef2fb;--user-bg:var(--tx-navy);--user-fg:#fff;--radius:14px;--shadow:0 1px 3px #10182814, 0 8px 24px #1018280f;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.5}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#app-shell{background:var(--bg);flex-direction:column;max-width:820px;height:100dvh;margin:0 auto;display:flex}#app-shell.poc-layout{flex-direction:row;max-width:1320px}#app-shell.poc-layout #main-col{flex-direction:column;flex:auto;min-width:0;height:100dvh;display:flex}.app-header{background:var(--tx-navy);color:#fff;box-shadow:var(--shadow);z-index:2;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--tx-red);color:#fff;letter-spacing:.5px;border-radius:10px;place-items:center;width:40px;height:40px;font-size:15px;font-weight:700;display:grid}.app-header h1{margin:0;font-size:1.05rem;font-weight:600}.subtitle{opacity:.8;margin:0;font-size:.78rem}.conn-status{white-space:nowrap;background:#ffffff26;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:600}.conn-status[data-state=connecting]{background:#ffffff26}.conn-status[data-state=online]{background:#1f8a4c}.conn-status[data-state=error]{background:var(--tx-red)}#app{flex-direction:column;flex:auto;gap:14px;padding:20px;display:flex;overflow-y:auto}.banner{border-radius:var(--radius);color:#6b4e00;background:#fff6e6;border:1px solid #f0d9a8;padding:12px 16px;font-size:.9rem}.banner.recap{color:var(--tx-navy-600);background:#e8f1ff;border-color:#bcd6ff}.transcript{flex-direction:column;gap:12px;display:flex}.turn{border-radius:var(--radius);max-width:78%;box-shadow:var(--shadow);margin:0;padding:10px 14px;font-size:.95rem;animation:.18s ease-out rise}.turn strong{text-transform:uppercase;letter-spacing:.06em;opacity:.6;margin-bottom:2px;font-size:.7rem;font-weight:700;display:block}.turn-assistant{background:var(--assistant-bg);color:var(--text);border-bottom-left-radius:4px;align-self:flex-start}.turn-user{background:var(--user-bg);color:var(--user-fg);border-bottom-right-radius:4px;align-self:flex-end}.turn-user strong{opacity:.75}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.composer{background:var(--surface);border-top:1px solid var(--border);flex:none;padding:14px 20px 18px}.composer-row{align-items:center;gap:10px;display:flex}.answer-input{font:inherit;color:var(--text);border:1px solid var(--border);background:#fff;border-radius:999px;outline:none;flex:auto;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.answer-input:focus{border-color:var(--tx-navy-600);box-shadow:0 0 0 3px #1b3a7a2e}.answer-input:disabled{color:var(--text-muted);background:#f0f2f6}.btn{font:inherit;cursor:pointer;border:none;border-radius:999px;padding:11px 20px;font-weight:600;transition:background .15s,transform 50ms,box-shadow .15s}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline-offset:2px;outline:3px solid #1b3a7a73}.btn-primary{background:var(--tx-navy);color:#fff}.btn-primary:hover{background:var(--tx-navy-600)}.btn-icon{color:var(--tx-navy);background:#eef2fb;padding:11px 14px;font-size:1.05rem;line-height:1}.btn-icon[aria-pressed=true]{background:var(--tx-red);color:#fff}.composer-meta{align-items:center;gap:8px;margin-top:10px;display:flex}.locale-label{color:var(--text-muted);font-size:.8rem}.locale-select{font:inherit;border:1px solid var(--border);color:var(--text);background:#fff;border-radius:8px;padding:5px 8px}@media (max-width:560px){.turn{max-width:88%}.subtitle{display:none}}@media (prefers-reduced-motion:reduce){.turn{animation:none}}.debug-panel{color:#cdd6ea;background:#0f1627;border-left:1px solid #1f2a44;flex-direction:column;flex:0 0 360px;width:360px;height:100dvh;font-size:.82rem;display:flex}.debug-head{background:#0b111f;border-bottom:1px solid #1f2a44;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.debug-head h2{color:#fff;align-items:center;gap:8px;margin:0;font-size:.9rem;font-weight:600;display:flex}.poc-tag{letter-spacing:.08em;background:var(--tx-red);color:#fff;border-radius:4px;padding:2px 6px;font-size:.6rem}.debug-body{flex-direction:column;flex:auto;gap:16px;padding:12px 14px;display:flex;overflow-y:auto}.debug-section h3{text-transform:uppercase;letter-spacing:.08em;color:#7f8db0;margin:0 0 6px;font-size:.7rem}.debug-grow{flex-direction:column;flex:auto;min-height:120px;display:flex}.debug-kv{grid-template-columns:auto 1fr;gap:2px 10px;margin:0;display:grid}.debug-kv dt{color:#7f8db0}.debug-kv dd{color:#e6ebf7;word-break:break-all;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.debug-slots{border-collapse:collapse;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem}.debug-slots th,.debug-slots td{text-align:left;vertical-align:top;border-bottom:1px solid #1f2a44;padding:4px 6px}.debug-slots th{color:#7f8db0;font-weight:600}.debug-slots td.muted{color:#5e6a88;text-align:center}.slot-state{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:1px 6px;font-size:.68rem}.slot-state.held{color:#ffd874;background:#4a3a00}.slot-state.committed{color:#71e0a3;background:#0f3d26}.slot-state.outstanding{color:#9fb0da;background:#2a3350}.slot-state.not_applicable{color:#9a9a9a;background:#2a2a2a}.slot-state.needs_reconfirm{color:#ffa7af;background:#4a1f23}.debug-controls{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.debug-field{flex-direction:column;gap:3px;margin-top:6px;display:flex}.debug-field span{color:#7f8db0;font-size:.72rem}.debug-input{font:inherit;color:#e6ebf7;background:#0b111f;border:1px solid #27324f;border-radius:6px;padding:5px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.debug-log{white-space:pre-wrap;word-break:break-word;background:#0b111f;border:1px solid #1f2a44;border-radius:6px;flex:auto;min-height:80px;margin:0;padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;line-height:1.45;overflow-y:auto}.log-in{color:#71e0a3}.log-out{color:#9fb0da}.log-err{color:#ffa7af}.log-sys{color:#7f8db0}.btn-ghost{color:#cdd6ea;background:#1b2540;padding:6px 12px;font-size:.78rem}.btn-ghost:hover{background:#27324f}.progress-pill{color:#9fb0da;background:#1b2540;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:.68rem;font-weight:600}.form-view{flex-direction:column;gap:10px;display:flex}.fv-section{border:1px solid #1f2a44;border-radius:8px;overflow:hidden}.fv-section-head{color:#cdd6ea;background:#16203a;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.74rem;font-weight:600;display:flex}.fv-committed{color:#71e0a3;font-size:.68rem;font-weight:600}.fv-slot{border-top:1px solid #141c30;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;display:flex}.fv-slot.fv-current{background:#17233f;box-shadow:inset 3px 0 #ffd874}.fv-slot-main{align-items:center;gap:8px;min-width:0;display:flex}.fv-label{color:#e6ebf7;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.fv-opt{color:#5e6a88;font-size:.68rem}.fv-slot-meta{flex:none;align-items:center;gap:6px;display:flex}.fv-value{color:#ffd874;text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;overflow:hidden}.fv-dot{background:#39456a;border-radius:50%;flex:none;width:9px;height:9px}.fv-dot.committed{background:#71e0a3}.fv-dot.held{background:#ffd874}.fv-dot.outstanding{background:#39456a}.fv-dot.not_applicable{background:#5e6a88}.fv-dot.needs_reconfirm{background:#ffa7af}.fv-dot.unseen{background:#2a3350}@media (max-width:1024px){#app-shell.poc-layout{flex-direction:column}.debug-panel{border-top:1px solid #1f2a44;border-left:none;flex-basis:auto;width:100%;height:40vh}#app-shell.poc-layout #main-col{height:60vh}}
