:root{color:#20211f;font-synthesis:none;text-rendering:optimizelegibility;--bg:#f8f8f6;--surface:#fff;--sidebar:#efefec;--text:#20211f;--muted:#6e716b;--line:#dedfda;--line-strong:#c8cac3;--accent:#126f65;--accent-hover:#0d5d55;--accent-soft:#dcebe7;--danger:#b4433a;--focus:#168d80;background:#ececea;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0}body{overflow:hidden}button,textarea,input,select{font:inherit}button{color:inherit}button:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.48}.demo-shell{background:#ececea;width:100%;height:100dvh;position:relative}.production-shell{background:var(--bg);width:100%;height:100dvh}.demo-toolbar{z-index:30;position:fixed;top:12px;right:18px}.view-toggle{background:#ffffffeb;border:1px solid #d4d5d0;border-radius:7px;grid-template-columns:1fr 1fr;gap:2px;padding:3px;display:inline-grid;box-shadow:0 3px 14px #191c1814}.view-toggle button{color:#676963;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;gap:6px;height:30px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.view-toggle button.is-active{color:#20211f;background:#e8e8e4}.desktop-viewport{background:var(--bg);width:100%;height:100%;container:dodo-viewport/inline-size}.desktop-stage,.desktop-frame{width:100%;height:100%}.desktop-frame>.phone-speaker,.desktop-frame>.phone-home{display:none}.phone-stage{justify-content:center;align-items:center;width:100%;height:100%;padding:10px 24px;display:flex;overflow:auto}.phone-frame{background:#181917;border:1px solid #191a18;border-radius:48px;flex:none;width:414px;height:880px;padding:18px 12px;position:relative;box-shadow:0 28px 70px #1416133d}.phone-screen{background:var(--bg);border-radius:34px;width:390px;height:844px;overflow:hidden;container:dodo-viewport/inline-size}.phone-screen .chat-app{grid-template-columns:1fr}.phone-speaker{z-index:5;background:#30312e;border-radius:3px;width:74px;height:5px;margin-left:-37px;position:absolute;top:9px;left:50%}.phone-home{z-index:5;background:#666762;border-radius:3px;width:110px;height:4px;margin-left:-55px;position:absolute;bottom:7px;left:50%}.chat-app{background:var(--bg);grid-template-columns:278px minmax(0,1fr);width:100%;height:100%;min-height:0;display:grid;position:relative;overflow:hidden;container:chat/inline-size}.sidebar{z-index:12;border-right:1px solid var(--line);background:var(--sidebar);grid-template-rows:auto auto auto minmax(0,1fr) auto;min-width:0;min-height:0;padding:17px 12px 14px;display:grid;position:relative}.sidebar-brand{align-items:center;gap:9px;height:34px;padding:0 7px;font-size:15px;font-weight:680;display:flex}.brand-mark,.empty-mark{color:#fff;background:var(--accent);justify-content:center;align-items:center;display:inline-flex}.brand-mark{border-radius:7px;width:27px;height:27px}.sidebar-close{margin-left:auto;display:none!important}.icon-button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{color:var(--text);background:#e3e4df}.new-chat-button{border:1px solid var(--line-strong);cursor:pointer;background:#fafaf8;border-radius:6px;align-items:center;gap:9px;width:100%;height:38px;margin:17px 0 18px;padding:0 10px;font-size:13px;font-weight:620;display:flex;box-shadow:0 1px 1px #171b1608}.new-chat-button:hover{background:#fff;border-color:#adafa7}.sidebar-section-label{color:#7a7c76;text-transform:uppercase;padding:0 9px 7px;font-size:11px;font-weight:700}.chat-list{scrollbar-width:thin;min-height:0;overflow-y:auto}.chat-list-item{border-radius:6px;align-items:center;min-height:50px;margin-bottom:2px;display:flex;position:relative}.chat-list-item:hover,.chat-list-item.is-active{background:#e2e3de}.chat-list-item.is-active:before{content:"";background:var(--accent);border-radius:1px;width:2px;position:absolute;top:10px;bottom:10px;left:0}.chat-select{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:3px;min-width:0;height:50px;padding:7px 31px 6px 10px;display:flex}.chat-select span{color:#30322f;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:13px;font-weight:520;overflow:hidden}.chat-select small{color:#84867f;font-size:10px}.chat-actions{position:absolute;top:9px;right:3px}.chat-menu-button{opacity:0;width:30px;height:30px}.chat-list-item:hover .chat-menu-button,.chat-menu-button[aria-expanded=true],.chat-list-item:focus-within .chat-menu-button{opacity:1}.chat-menu{z-index:20;border:1px solid var(--line);background:#fff;border-radius:6px;width:138px;padding:4px;position:absolute;top:31px;right:0;box-shadow:0 12px 30px #1e211c29}.chat-menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;width:100%;height:32px;padding:0 8px;font-size:12px;display:flex}.chat-menu button:hover{background:#f1f1ee}.chat-menu button.danger{color:var(--danger)}.history-empty{color:var(--muted);margin:8px 9px;font-size:12px;line-height:1.45}.sidebar-footer{border-top:1px solid var(--line);color:#777a73;align-items:center;gap:7px;height:37px;padding:0 3px 0 8px;font-size:11px;display:flex}.sidebar-settings{margin-left:auto}.status-dot{background:#2f8b61;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 2px #d5e6dc}.drawer-scrim{display:none}.conversation{background:var(--surface);grid-template-rows:58px minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;position:relative}.conversation-header{border-bottom:1px solid var(--line);background:#fffffff0;align-items:center;min-width:0;padding:0 24px;display:flex}.conversation-title{flex-direction:column;gap:2px;min-width:0;display:flex}.conversation-title strong{text-overflow:ellipsis;white-space:nowrap;max-width:min(530px,60vw);font-size:13px;font-weight:650;overflow:hidden}.conversation-title span{color:var(--muted);font-size:10px}.compact-only{display:none}.transcript{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;overflow-y:auto}.transcript.is-empty{place-items:center;display:grid}.empty-state{text-align:center;width:min(580px,100% - 48px);margin-top:-3vh}.empty-mark{border-radius:8px;width:48px;height:48px;margin-bottom:17px}.empty-state h1{color:#232522;letter-spacing:0;margin:0;font-size:25px;font-weight:650;line-height:1.2}.empty-state p{color:var(--muted);margin:10px auto 21px;font-size:14px;line-height:1.55}.suggestions{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.suggestions button{border:1px solid var(--line);color:#4f524c;cursor:pointer;background:#fafaf8;border-radius:6px;min-height:35px;padding:7px 11px;font-size:12px}.suggestions button:hover{background:#f3f3ef;border-color:#b8bab3}.message-stack{width:min(760px,100% - 52px);margin:0 auto;padding:38px 0 24px}.message-row{width:100%;margin-bottom:26px}.message-row--assistant{grid-template-columns:26px minmax(0,1fr);gap:11px;display:grid}.assistant-avatar{color:#fff;background:var(--accent);border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.message-content{color:#292b28;min-width:0;padding-top:2px;font-size:14px;line-height:1.62}.message-content>:first-child{margin-top:0}.message-content>:last-child{margin-bottom:0}.message-content p{margin:0 0 12px}.message-content ul,.message-content ol{padding-left:21px}.message-content a{color:var(--accent);text-underline-offset:2px}.message-content code{background:#eeeeea;border-radius:3px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.message-content pre{border:1px solid var(--line);background:#f5f5f2;border-radius:6px;max-width:100%;padding:12px;overflow-x:auto}.message-row--user{justify-content:flex-end;display:flex}.message-row--user .message-content{background:#edede9;border-radius:8px;max-width:min(76%,590px);padding:10px 13px}.message-row--user p{white-space:pre-wrap}.message-error{color:var(--danger);border-top:1px solid #eed1ce;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:9px;font-size:12px;display:flex}.message-error button,.app-state button{height:30px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:5px;align-items:center;gap:6px;padding:0 9px;font-weight:620;display:inline-flex}.thinking-row{min-height:30px;color:var(--muted);align-items:center;gap:4px;font-size:12px;display:flex}.thinking-row .assistant-avatar{margin-right:7px}.thinking-dot{background:#858881;border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite pulse}.thinking-dot:nth-of-type(2){animation-delay:.12s}.thinking-dot:nth-of-type(3){margin-right:5px;animation-delay:.24s}@keyframes pulse{0%,70%,to{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}.message-row--tool{padding-left:37px}.data-table{border:1px solid var(--line);background:#fff;border-radius:7px;overflow:hidden}.data-table>header,.table-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:49px;padding:8px 10px 8px 13px;display:flex}.data-table header div,.table-dialog header div{flex-direction:column;gap:2px;min-width:0;display:flex}.data-table header strong,.table-dialog header strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:680;overflow:hidden}.data-table header span,.table-dialog header span{color:var(--muted);font-size:10px}.table-scroll{width:100%;overflow:auto}.data-table .table-scroll{max-height:330px}.data-table table,.table-dialog table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:11px}.data-table th,.data-table td,.table-dialog th,.table-dialog td{text-align:left;border-bottom:1px solid #ecece8;height:35px;padding:0 11px}.data-table th,.table-dialog th{z-index:1;color:#6b6e67;text-transform:uppercase;background:#f6f6f3;font-size:10px;font-weight:700;position:sticky;top:0}.data-table td.numeric,.table-dialog td.numeric{font-variant-numeric:tabular-nums;text-align:right}.data-table tbody tr:hover,.table-dialog tbody tr:hover{background:#f8faf8}.data-pill{color:#555851;text-transform:capitalize;background:#e8e9e5;border-radius:999px;padding:3px 6px;font-size:9px;font-weight:700}.data-pill--paid,.data-pill--sale,.data-pill--done,.data-pill--posted{color:#216447;background:#dfeee5}.data-pill--not_paid,.data-pill--in_payment,.data-pill--partial{color:#8b5d19;background:#f5ead5}.data-pill--cancel,.data-pill--reversed{color:#9b3933;background:#f4dfdc}.table-dialog{z-index:40;background:#fff;grid-template-rows:auto minmax(0,1fr);display:grid;position:absolute;inset:0}.table-dialog>header{min-height:58px}.table-dialog .table-scroll{height:100%}.bar-chart{gap:8px;padding:13px;display:grid}.bar-chart-row{grid-template-columns:minmax(90px,150px) minmax(80px,1fr) 70px;align-items:center;gap:9px;font-size:10px;display:grid}.bar-chart-row>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-chart-row>div{background:#eef0ec;border-radius:3px;height:18px;overflow:hidden}.bar-chart-row i{background:var(--accent);border-radius:3px;height:100%;display:block}.bar-chart-row strong{font-variant-numeric:tabular-nums;text-align:right}.composer-wrap{width:min(800px,100% - 48px);margin:0 auto;padding:10px 0 12px}.composer{background:#fff;border:1px solid #cfd1ca;border-radius:8px;align-items:flex-end;gap:9px;min-height:52px;padding:8px 8px 8px 14px;display:flex;position:relative;box-shadow:0 3px 16px #1e221d12}.composer:focus-within{border-color:#8caea7;box-shadow:0 0 0 2px #dcebe7,0 3px 16px #1e221d12}.composer textarea{resize:none;min-width:0;min-height:34px;max-height:120px;color:var(--text);background:0 0;border:0;outline:0;flex:1;padding:7px 0 4px;font-size:14px;line-height:1.45;overflow-y:auto}.composer textarea::placeholder{color:#969891}.send-button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.send-button:hover:not(:disabled){background:var(--accent-hover)}.stop-button{background:#343633}.voice-button,.recording-action{color:#5f625c;cursor:pointer;touch-action:none;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.voice-button:hover:not(:disabled),.recording-action:hover{color:var(--accent);background:#eef1ed}.voice-button:disabled{color:#b5b7b1;cursor:default}.voice-button.is-inactive{display:none}.voice-button.is-capturing{z-index:4;opacity:0;width:100%;height:100%;position:absolute;inset:0}.recording-panel{z-index:2;background:#fff;border-radius:8px;align-items:center;gap:7px;padding:8px;display:flex;position:absolute;inset:0}.recording-panel .audio-player{flex:1;min-width:0}.recording-panel.is-recording{color:#565953}.recording-action.danger{color:#aa433d}.recording-dot{background:#cf3f39;border-radius:50%;flex:none;width:8px;height:8px;animation:1.2s ease-in-out infinite recording-pulse}.recording-time{color:#363934;font-variant-numeric:tabular-nums;min-width:34px;font-size:12px}.recording-hint{color:#8c8f88;text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.recording-panel.will-cancel{background:#fff2f1}.recording-panel.will-cancel .recording-hint{color:#a53b35}.recorder-error{color:#913b36;background:#fff6f5;border:1px solid #e2b9b6;border-radius:6px;max-width:min(330px,100vw - 40px);padding:7px 9px;font-size:11px;position:absolute;bottom:calc(100% + 7px);right:5px;box-shadow:0 5px 18px #3719161f}.audio-player{align-items:center;gap:8px;min-width:210px;display:flex}.audio-player audio{display:none}.audio-play{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;padding:0;display:grid}.audio-track{flex:1;grid-template-columns:minmax(80px,1fr) 34px;align-items:center;gap:7px;min-width:0;display:grid}.audio-track input{width:100%;height:16px;accent-color:var(--accent);cursor:pointer;margin:0}.audio-track span{color:#70736c;font-variant-numeric:tabular-nums;font-size:10px}.audio-error{color:#9b3933;font-size:10px;position:absolute;top:100%;right:0}.voice-message{gap:7px;min-width:min(300px,64vw);display:grid}.voice-message p{border-top:1px solid #2a36301f;margin:0;padding-top:6px;font-size:12px;line-height:1.45}.voice-message p.is-pending{color:#777a73;font-style:italic}@keyframes recording-pulse{50%{opacity:.35}}.composer-note{color:#92948e;text-align:center;margin:6px 0 0;font-size:9px}.app-state{background:var(--bg);width:100%;height:100%;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.app-state--error{text-align:center;padding:30px}.app-state--error strong{color:var(--text);font-size:15px}.app-state--error span{max-width:400px}.app-state button{color:var(--accent);margin-top:5px}.app-state small{color:var(--muted)}.loader{border:2px solid #ccd0ca;border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.admin-panel{background:var(--bg);width:100%;height:100%;overflow:auto}.admin-header{z-index:5;border-bottom:1px solid var(--line);background:#fffffff2;align-items:center;gap:10px;min-height:64px;padding:10px max(16px,50% - 490px);display:flex;position:sticky;top:0}.admin-header>div{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-header strong{font-size:14px}.admin-header span{color:var(--muted);font-size:11px}.admin-content{gap:18px;width:min(980px,100% - 32px);margin:0 auto;padding:28px 0 50px;display:grid}.admin-card{border:1px solid var(--line);background:#fff;border-radius:9px;padding:22px}.admin-card-title{align-items:flex-start;gap:11px;margin-bottom:20px;display:flex}.admin-card-title svg{color:var(--accent);margin-top:2px}.admin-card-title h2{margin:0;font-size:16px}.admin-card-title p{color:var(--muted);margin:4px 0 0;font-size:12px}.admin-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-form label{color:#565953;gap:6px;font-size:11px;font-weight:650;display:grid}.admin-form input,.admin-form select,.admin-users select{border:1px solid var(--line-strong);width:100%;height:40px;color:var(--text);background:#fff;border-radius:6px;padding:0 10px}.admin-form input:focus,.admin-form select:focus,.admin-users select:focus{outline:2px solid var(--accent-soft);border-color:var(--focus)}.primary-button,.secondary-button{cursor:pointer;border-radius:6px;min-height:38px;padding:0 13px;font-weight:650}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#fff;align-self:end}.secondary-button{border:1px solid var(--line-strong);color:#555851;background:#fff}.admin-users{border-top:1px solid var(--line);margin-top:22px;display:grid}.admin-users article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 130px 100px;align-items:center;gap:10px;min-height:62px;padding:10px 0;display:grid}.admin-users article>div{gap:4px;min-width:0;display:grid}.admin-users strong,.admin-users span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-users strong{font-size:13px}.admin-users span{color:var(--muted);font-size:11px}.admin-alert{color:#286447;background:#edf8f2;border:1px solid #b9d9ca;border-radius:6px;margin:0;padding:10px 12px;font-size:12px}.admin-alert--error{color:var(--danger);background:#fff3f2;border-color:#e2b9b6}@container chat (width<=700px){.chat-app{grid-template-columns:1fr}.sidebar{visibility:hidden;border-right:1px solid var(--line-strong);width:min(84%,310px);transition:transform .18s,visibility 0s linear .18s;position:absolute;inset:0 auto 0 0;transform:translate(-105%);box-shadow:14px 0 32px #191c182e}.sidebar.is-open{visibility:visible;transition-delay:0s;transform:translate(0)}.sidebar-close,.compact-only{display:inline-flex!important}.drawer-scrim{z-index:11;opacity:0;pointer-events:none;background:#16181552;border:0;width:100%;height:100%;transition:opacity .18s;position:absolute;inset:0}.drawer-scrim.is-open{opacity:1;pointer-events:auto;display:block}.conversation{grid-template-rows:55px minmax(0,1fr) auto}.conversation-header{justify-content:space-between;gap:9px;padding:0 11px}.conversation-title{text-align:center;flex:1}.conversation-title strong{max-width:230px;margin:0 auto}.transcript.is-empty{align-items:center}.empty-state{width:calc(100% - 34px);margin-top:-2vh}.empty-mark{width:43px;height:43px;margin-bottom:13px}.empty-state h1{font-size:20px}.empty-state p{max-width:320px;margin:8px auto 16px;font-size:12px}.suggestions{gap:6px;display:grid}.suggestions button{width:100%;min-height:34px}.message-stack{width:calc(100% - 28px);padding:25px 0 15px}.message-row{margin-bottom:21px}.message-row--assistant{grid-template-columns:24px minmax(0,1fr);gap:9px}.assistant-avatar{width:24px;height:24px}.message-content{font-size:13px;line-height:1.58}.message-row--user .message-content{max-width:86%;padding:9px 11px}.message-row--tool{padding-left:33px}.data-table .table-scroll{max-height:250px}.composer-wrap{width:calc(100% - 20px);padding:8px 0 9px}.composer{min-height:48px;padding:6px 6px 6px 11px}.composer textarea{font-size:13px}.recording-hint{display:none}.voice-message{min-width:min(255px,70vw)}.audio-player{min-width:0}.composer-note{margin-top:4px}.view-toggle{display:none}}@media (width<=520px),(height<=780px){.demo-shell--mobile .demo-toolbar{top:8px;right:8px}.phone-stage{align-items:flex-start;padding-top:10px;overflow:hidden}.phone-frame{transform-origin:top;transform:scale(.78)}}@media (height>=781px) and (height<=899px){.phone-stage{align-items:flex-start;overflow:hidden}.phone-frame{transform-origin:top;transform:scale(.88)}}@media (height<=700px){.phone-frame{transform:scale(.66)}}@media (height<=600px){.phone-frame{transform:scale(.55)}}@media (width<=700px){.demo-shell--desktop .demo-toolbar{display:none}.demo-shell--desktop .chat-app{grid-template-columns:1fr}.admin-content{width:calc(100% - 20px);padding-top:12px}.admin-card{padding:16px}.admin-form{grid-template-columns:1fr}.admin-users article{grid-template-columns:minmax(0,1fr) 96px}.admin-users article>button{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
