:root{--paper: #F5F3EE;--surface: #FFFFFF;--ink: #1B2226;--muted: #5F686D;--hair: #E1DDD4;--help: #0E7C6B;--help-t: #DDF1EC;--block: #A65F00;--block-t: #FBEBD3;--clear: #2F66A8;--clear-t: #E1EBF7;--lime: #C8F169;--pick: #1B2226;--rec-red: #E53E3E;--assistant-bg: #EFECE6;--assistant-bg-now: #E6E1D8}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #121517;--surface: #1B2023;--ink: #ECEFEF;--muted: #9AA3A7;--hair: #2D3438;--help: #4CC3AE;--help-t: #173630;--block: #E9A348;--block-t: #3A2A14;--clear: #7FAAE0;--clear-t: #1C2B3E;--pick: #ECEFEF;--assistant-bg: #262D32;--assistant-bg-now: #2E363C}}:root[data-theme=dark]{--paper: #121517;--surface: #1B2023;--ink: #ECEFEF;--muted: #9AA3A7;--hair: #2D3438;--help: #4CC3AE;--help-t: #173630;--block: #E9A348;--block-t: #3A2A14;--clear: #7FAAE0;--clear-t: #1C2B3E;--pick: #ECEFEF;--assistant-bg: #262D32;--assistant-bg-now: #2E363C;--chat-dock-height: 320px}*{box-sizing:border-box}html{height:100%}body{min-height:100%;margin:0;background:var(--paper);color:var(--ink);font-family:Instrument Sans,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.4}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--clear);outline-offset:2px}.app{display:block;max-width:1180px;margin:0 auto;min-height:100vh}.plan{padding:18px 18px calc(var(--chat-dock-height, 320px) + 36px);display:flex;flex-direction:column;box-sizing:border-box}@media(max-width:640px){.plan{padding:12px 10px calc(var(--chat-dock-height, 320px) + 28px)}}.head{margin-bottom:14px}.head-title{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.head-title h1{margin:0;font-size:24px;font-weight:700;display:flex;align-items:center;gap:8px}.head-controls{display:flex;align-items:center;gap:10px}.head-sub{margin:4px 0 0;color:var(--muted);font-size:14px}.backend-badge{font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--hair);color:var(--muted)}.backend-badge.connected{color:var(--help);border-color:var(--help);background:var(--help-t)}.backend-badge.disconnected{color:var(--rec-red);border-color:var(--rec-red)}.locale-toggle{display:inline-flex;border-radius:8px;border:1px solid var(--hair);background:var(--surface);overflow:hidden}.locale-btn{border:0;background:transparent;padding:4px 10px;font-size:12px;font-weight:700;color:var(--muted)}.locale-btn.active{background:var(--ink);color:var(--paper)}.cols{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start;margin-bottom:18px}@media(max-width:640px){.cols{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:10px;margin-bottom:12px}.plan{padding:12px 10px calc(var(--chat-dock-height, 320px) + 28px)}.tile{padding:10px}.th .nm{font-size:14.5px}.opt{padding:5px 8px;font-size:12px}.rc{padding:3px 8px 3px 4px;font-size:11.5px;gap:4px}.rc .sw{width:18px;height:11px}.rc .sw:after{width:7px;height:7px;left:9px;top:2px}.rc.off .sw:after{left:2px}}.reasons{position:sticky;top:12px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;min-width:0}.rwrap{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start;align-items:flex-start;text-align:left;width:100%}.rc{display:inline-flex;align-items:center;justify-content:flex-start;text-align:left;gap:2px;border-radius:999px;padding:3px 6px 3px 4px;border:1.5px solid;font-size:12.5px;font-weight:600;transition:all .2s;max-width:100%;box-sizing:border-box}.rc button.rc-main{background:none;border:none;padding:1px 4px 1px 2px;margin:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:inherit;font:inherit;text-align:left;min-width:0}.rc button.rc-del{background:none;border:none;padding:0;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:inherit;font-size:14px;line-height:1;font-weight:700;opacity:.65;transition:all .15s ease;margin-left:1px;margin-right:2px;flex-shrink:0}.rc button.rc-del:hover{opacity:1;background:color-mix(in srgb,currentColor 20%,transparent);transform:scale(1.18)}.rc span.l{white-space:normal;word-break:break-word;line-height:1.25;text-align:left}.rc .sw{width:22px;height:13px;border-radius:7px;flex-shrink:0;position:relative;transition:background .2s}.rc .sw:after{content:"";position:absolute;top:2px;left:11px;width:9px;height:9px;border-radius:5px;background:#fff;transition:left .2s}.rc.help{background:var(--help-t);border-color:var(--help);color:var(--help)}.rc.help .sw{background:var(--help)}.rc.block{background:var(--block-t);border-color:var(--block);color:var(--block)}.rc.block .sw{background:var(--block)}.rc.clear{background:var(--clear-t);border-color:var(--clear);color:var(--clear)}.rc.clear .sw{background:var(--clear)}.rc.off{background:transparent;border-style:dashed;opacity:.6}.rc.off .sw{background:var(--hair)}.rc.off .sw:after{left:2px}.rc.off span.l{text-decoration:line-through}.rc.hl{box-shadow:0 0 0 2px var(--surface),0 0 0 4px currentColor}.tiles{display:flex;flex-direction:column;gap:10px}.tile{background:var(--surface);border:1px solid var(--hair);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .2s,border-color .2s}.tile.hl{border-color:var(--hlc, var(--help))!important;box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--hlc, var(--help))!important}.tile.out{background:transparent;border-style:dashed;border-color:var(--block)}.tile.out.hl{border-color:var(--hlc, var(--block))!important;box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--hlc, var(--block))!important}.th{display:flex;justify-content:space-between;align-items:center;gap:8px}.th .nm{font-size:16px;font-weight:700;display:flex;gap:6px;align-items:center}.th .status-pill{font-size:11px;font-weight:700;padding:2px 7px;border-radius:6px}.status-pill.fit{background:var(--help-t);color:var(--help)}.status-pill.out{background:var(--block-t);color:var(--block)}.implode{background:none;border:0;padding:2px 6px;font-size:12px;color:var(--muted);text-decoration:underline;cursor:pointer;transition:color .15s}.implode:hover{color:var(--ink)}.opts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start;align-items:flex-start}.opt{border-radius:10px;padding:6px 10px;font-size:13px;font-weight:600;border:1.5px solid var(--help);background:var(--help-t);display:inline-flex;gap:6px;align-items:center;justify-content:flex-start;transition:all .2s;text-align:left}.opt.nomatch{border:1.5px dashed var(--hair);background:transparent;color:var(--muted)}.opt.blocked{border:1.5px dashed var(--block);background:transparent;color:var(--muted);cursor:not-allowed;pointer-events:none}.opt.blocked span{text-decoration:line-through}.opt.sel{background:var(--pick);border-color:var(--pick);color:var(--paper)}.opt.more{border:1.5px dashed var(--hair);background:transparent;color:var(--muted);font-weight:600}.opt.hl{border-color:var(--hlc, var(--help))!important;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--hlc, var(--help))!important}.dots{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;align-items:flex-start;padding:8px 2px 14px;margin-top:8px;border-top:1px solid var(--hair);scroll-margin-bottom:calc(var(--chat-dock-height, 320px) + 36px)}@media(max-height:680px){.msgs{max-height:100px;padding:8px 14px 4px}}.dot{background:none;border:0;padding:3px 8px 3px 4px;border-radius:999px;display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:7px;font-size:13px;font-weight:600;color:var(--muted);transition:box-shadow .2s,color .2s}.dot i{width:12px;height:12px;border-radius:6px;display:block;flex-shrink:0}.dot.out i{background:var(--block-t);border:2px solid var(--block)}.dot.none i{background:var(--surface);border:2px solid var(--muted)}.dot.indicated{color:var(--ink);box-shadow:0 0 0 1.5px var(--help)}.dot.indicated i{background:var(--surface);border:2px solid var(--help);box-shadow:none}.dot.hl{color:var(--ink)!important;box-shadow:0 0 0 2px var(--hlc, var(--help))!important}.dot.hl i{background:var(--surface)!important;border-color:var(--hlc, var(--help))!important;box-shadow:none!important}.dot.out.hl i{background:var(--block-t)!important;border-color:var(--block)!important}.bar{margin:0;border-bottom:1px solid var(--hair);padding:6px 14px;background:var(--surface);display:flex;justify-content:space-between;align-items:center;gap:10px;position:relative;transition:all .2s ease}.bar.is-empty{padding:4px 14px;background:var(--surface)}.bar.is-empty .selbtn{font-size:12px;color:var(--muted);text-decoration:none;cursor:default;font-weight:500}.bar.is-empty .cta{height:28px;padding:0 10px;font-size:11.5px;border-radius:8px;opacity:.35}.bar:not(.is-empty){padding:8px 14px;background:var(--surface)}.bar:not(.is-empty) .selbtn{font-size:13.5px;font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:3px}.bar:not(.is-empty) .cta{height:34px;padding:0 14px;font-size:13px;font-weight:700}.selbtn{background:none;border:0;padding:2px 0;font:inherit}.selpop{position:absolute;bottom:calc(100% + 8px);left:14px;width:min(380px,calc(100% - 36px));background:var(--surface);border:1px solid var(--hair);border-radius:14px;box-shadow:0 -8px 24px #00000026;padding:10px;display:none;flex-direction:column;gap:4px;z-index:120}.selpop.on{display:flex}.selpop .lbl{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:4px 4px 2px}.selpop button{display:flex;justify-content:space-between;gap:8px;text-align:left;background:none;border:0;border-radius:8px;padding:7px 8px;font-size:13.5px}.selpop button:hover{background:var(--paper)}.selpop button span{color:var(--muted);font-size:12px}.cta{height:34px;border:0;border-radius:12px;background:var(--lime);color:#1b2226;font-weight:700;padding:0 14px;font-size:13px;transition:opacity .2s}.cta:disabled{opacity:.35;cursor:default}.chat{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(1180px,100vw);box-sizing:border-box;z-index:100;margin:0;border:1px solid var(--hair);border-bottom:0;border-radius:16px 16px 0 0;background:var(--surface);box-shadow:0 -8px 24px #00000014;display:flex;flex-direction:column;overflow:hidden}.msgs{max-height:140px;overflow-y:auto;padding:12px 14px 6px;display:flex;flex-direction:column;gap:6px}.msg{max-width:90%;border-radius:10px;padding:7px 11px;font-size:13.5px;line-height:1.4}.msg.a{background:var(--assistant-bg)!important;color:var(--ink)!important;align-self:flex-start;border:none!important;box-shadow:none!important}.msg.a.now{background:var(--assistant-bg-now)!important;border:none!important}.msg.a.loading{background:var(--assistant-bg)!important;color:var(--muted)!important;display:inline-flex;align-items:center;font-size:13px;padding:8px 12px}.msg-loading-inner{display:inline-flex;align-items:center;gap:8px}.loading-dots{display:inline-flex;align-items:center;gap:3.5px}.loading-dots span{width:5.5px;height:5.5px;border-radius:50%;background-color:var(--help);display:inline-block;animation:pulse-dot 1.2s infinite ease-in-out both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.loading-dots span:nth-child(3){animation-delay:0s}@keyframes pulse-dot{0%,80%,to{transform:scale(.6);opacity:.35}40%{transform:scale(1.15);opacity:1}}.loading-text{font-weight:500;letter-spacing:-.01em}.msg.u{background:var(--ink);color:var(--paper);align-self:flex-end;border:none!important}.msg.sys{align-self:center;background:transparent;border:1px dashed var(--hair);font-size:12.5px;color:var(--muted);max-width:95%}.qr{display:flex;gap:6px;align-self:flex-start;justify-content:flex-start;align-items:flex-start;margin-top:4px}.qr button{height:36px;min-width:64px;border-radius:10px;border:1.5px solid var(--ink);background:var(--surface);font-weight:700;padding:0 12px}.qr button:last-child{background:var(--ink);color:var(--paper)}.qr button.book-cta{background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease}.qr button.book-cta:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-1px)}.qr.mc{flex-wrap:wrap;max-width:100%;justify-content:flex-start;align-items:flex-start}.qr.mc button{min-width:0;background:var(--surface);color:var(--ink);border-color:var(--hair);text-align:left;display:inline-flex;align-items:center;justify-content:flex-start}.qr.mc button.neither{border-color:var(--ink);font-weight:700}.qr.mc button.neither:hover{background:var(--hair)}.qr.mc button.it.on{background:var(--block-t);border-color:var(--block);color:var(--block)}.qr.mc button.done{background:var(--ink);color:var(--paper);border-color:var(--ink)}.qr.mc button.done:disabled{opacity:.35;cursor:not-allowed}.compose{background:var(--surface);border-top:1px solid var(--hair);padding:8px 14px 10px;display:flex;flex-direction:column;gap:6px}.compose-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:2px}.session-label{font-size:11px;color:var(--muted);font-family:monospace}.demo{position:relative}.demobtn{border:1.5px solid var(--hair);background:transparent;border-radius:8px;padding:3px 9px;font-size:12px;font-weight:700;color:var(--muted)}.demobtn:hover{background:var(--paper);color:var(--ink)}.demomenu{display:none;position:absolute;left:0;bottom:34px;top:auto;right:auto;width:320px;background:var(--surface);border:1px solid var(--hair);border-radius:12px;box-shadow:0 -8px 24px #00000026;padding:8px;z-index:110;flex-direction:column;gap:4px}.demomenu.on{display:flex}.demomenu button{text-align:left;background:none;border:0;border-radius:8px;padding:7px 9px;font-size:13px}.demomenu button:hover{background:var(--paper)}.demomenu .sname{font-weight:700;display:block}.demomenu .snext{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:2px}.demomenu hr{border:0;border-top:1px solid var(--hair);margin:4px 0}.inrow{display:flex;gap:6px}.inrow input{flex:1;min-width:0;height:44px;border-radius:12px;border:1.5px solid var(--hair);padding:0 12px;font:inherit;background:var(--paper);color:var(--ink);transition:border-color .2s,box-shadow .2s,background .2s}.compose.intake-active .inrow input{border:1.5px solid #ef4444;background:var(--paper);color:#fff;caret-color:#ef4444;box-shadow:0 0 0 3px #ef444433}.compose.intake-active .inrow input::placeholder{color:#fff9}.icon{width:44px;height:44px;border-radius:12px;border:1.5px solid var(--hair);background:var(--surface);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:all .2s}.icon.send{background:var(--ink);color:var(--paper);border-color:var(--ink)}.icon.rec{background:#ef4444;color:#fff;border-color:#dc2626;animation:pulse-rec 1.2s infinite}@keyframes pulse-rec{0%{transform:scale(1);box-shadow:0 0 #ef444499}70%{transform:scale(1.05);box-shadow:0 0 0 8px #ef444400}to{transform:scale(1);box-shadow:0 0 #ef444400}}.small{font-size:12px;color:var(--muted)}.small.is-recording{color:#dc2626;font-weight:600}.small.is-error{color:#b91c1c;font-weight:600;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:4px 8px;margin-top:4px;line-height:1.35}.linkbtn{background:none;border:0;padding:0;color:var(--muted);text-decoration:underline;font-size:12px}.tip{position:fixed;z-index:20;max-width:360px;background:var(--surface);border:1px solid var(--hair);border-radius:12px;padding:10px 12px;box-shadow:0 12px 30px #00000026;font-size:13.5px;pointer-events:none;display:none}.tip .t{font-weight:700}.tip .c{font-size:12px;color:var(--muted);margin-bottom:6px}.tip .s{font-size:11.5px;color:var(--muted)}.tip p{margin:4px 0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000085;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal.on{display:flex}.card{position:relative;background:var(--surface);border:1px solid var(--hair);box-shadow:0 20px 50px #00000040;border-radius:18px;padding:24px 24px 20px;width:100%;max-width:500px;max-height:calc(100vh - 40px);overflow-y:auto;display:flex;flex-direction:column;gap:12px;animation:modalFadeIn .2s cubic-bezier(.16,1,.3,1)}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-close-btn{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:1px solid var(--hair);background:var(--paper);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;cursor:pointer;transition:all .15s ease;line-height:1;padding:0;z-index:2}.modal-close-btn:hover{background:var(--surface);color:var(--ink);border-color:var(--ink);transform:scale(1.06)}.card h3{margin:0;padding-right:32px;font-size:19px}.card .q{font-size:17px;line-height:1.4}.card .m{font-size:13px;color:var(--muted)}.prog{height:6px;background:var(--hair);border-radius:3px;overflow:hidden}.prog i{display:block;height:100%;background:var(--ink);transition:width .3s}.yn{display:flex;gap:8px}.yn button{flex:1;height:48px;border-radius:12px;border:1.5px solid var(--hair);background:var(--surface);font-weight:700;font-size:16px}.yn button.pri{background:var(--ink);color:var(--paper);border-color:var(--ink)}.res{font-size:14px;display:flex;flex-direction:column;gap:6px}.res .ok{color:var(--help);font-weight:600}.res .no{color:var(--block);font-weight:600}.qbtn{width:22px;height:22px;border-radius:11px;border:1.5px solid var(--hair);background:var(--surface);font-size:12px;font-weight:700;color:var(--muted);padding:0;line-height:1}.hint{font-size:13px;color:var(--muted);margin:4px 0}
