:root{font-family:Manrope,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#e6edf4;background:#0a0f12;--bg: #0a0f12;--panel: rgba(11, 17, 21, .9);--panel-strong: #0f171d;--panel-soft: rgba(17, 24, 29, .72);--sidebar-surface: rgba(13, 20, 25, .88);--line: rgba(205, 221, 232, .08);--line-strong: rgba(205, 221, 232, .14);--text: #e6edf4;--muted: #8d9ba7;--brand: #3670ea;--brand-strong: #5d8fff;--success: #4ebd84;--warning: #c9a55b;--shadow: none}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-height:100vh;color:var(--text);scrollbar-color:rgba(141,155,167,.45) transparent}button,textarea,input{font:inherit}button{border:0}.app-shell{display:grid;grid-template-columns:348px minmax(0,1fr);height:100vh;overflow:hidden;transition:grid-template-columns .22s ease}.app-shell.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.app-shell.sidebar-collapsed .sidebar{background:var(--sidebar-surface);border-right:1px solid var(--line)}.sidebar,.chat-panel{min-height:0}.sidebar{display:flex;flex-direction:column;overflow-x:hidden;overflow-y:hidden;border-right:1px solid var(--line);background:var(--sidebar-surface);transition:border-color .22s ease,background-color .22s ease}.sidebar-top{display:flex;flex-direction:column;gap:18px;padding:10px 11px;background:var(--sidebar-surface);border-bottom:1px solid var(--line)}.app-shell.sidebar-collapsed .sidebar-top{width:100%;max-width:64px;box-sizing:border-box;gap:0;align-items:center;justify-content:center;padding:10px 11px;background:var(--sidebar-surface);border-bottom-color:transparent}.brand-row,.sidebar-account-row{display:flex;align-items:center;gap:12px;min-width:0;transition:gap .22s ease}.brand-row{justify-content:space-between;min-height:42px}.brand-row-collapsed{align-items:center;justify-content:center;width:100%}.brand-lockup{display:flex;align-items:center;gap:12px;min-width:0}.brand-logo{width:42px;height:42px;object-fit:contain;flex:0 0 auto}.brand-logo-fallback{display:grid;place-items:center;background:#dbe66b;color:#132114;font-size:1rem;font-weight:800;letter-spacing:.08em}.brand-name,.section-label,.modal-label,.input-label{display:block;margin:0;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.composer-note,.composer-disclaimer,.message-markdown p,.message-markdown li,.message-plain,.modal-copy,.modal-error,.modal-success,.modal-detail{margin:0;line-height:1.55}.icon-button,.account-button,.logo-toggle-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#ffffff0a;color:var(--text);cursor:pointer;transition:background-color .16s ease,transform .16s ease,opacity .16s ease}.icon-button:hover,.account-button:hover,.logo-toggle-button:hover,.primary-button:hover,.secondary-button:hover,.prompt-chip:hover{transform:translateY(-1px)}.icon-button:hover,.account-button:hover,.logo-toggle-button:hover{background:#ffffff14}.icon-button svg,.account-button svg,.logo-toggle-button svg{width:18px;height:18px}.logo-toggle-button{position:relative;padding:0}.logo-toggle-logo,.logo-toggle-icon{display:inline-flex;align-items:center;justify-content:center;position:absolute;inset:0;transition:opacity .16s ease,transform .16s ease}.logo-toggle-logo{opacity:1;transform:scale(1)}.logo-toggle-icon{opacity:0;transform:scale(.9)}.logo-toggle-button:hover .logo-toggle-logo,.logo-toggle-button:focus-visible .logo-toggle-logo{opacity:0;transform:scale(.9)}.logo-toggle-button:hover .logo-toggle-icon,.logo-toggle-button:focus-visible .logo-toggle-icon{opacity:1;transform:scale(1)}.status-group{display:flex;flex-wrap:wrap;flex:0 0 auto;gap:8px;min-width:0;max-width:272px;animation:statusGroupIn .18s ease both}.sidebar-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:14px;background:var(--sidebar-surface)}.status-badge{display:inline-flex;align-items:center;flex:0 0 auto;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--line-strong);font-size:.75rem;font-weight:700;letter-spacing:.01em}.status-badge.is-connected{color:var(--success);background:#4ebd841a}.status-badge.is-pending{color:var(--warning);background:#c9a55b1f}.status-badge.is-subscription-free{color:#aeb8c2;background:#aeb8c21a}.status-badge.is-subscription-premium{color:var(--brand-strong);background:#5d8fff24}.history-panel{display:flex;flex-direction:column;gap:8px;background:var(--sidebar-surface)}.usage-panel{display:grid;gap:12px;padding:14px;border-top:1px solid var(--line);background:var(--sidebar-surface)}.usage-panel.is-collapsed{gap:8px;padding-top:10px;padding-bottom:10px}.usage-panel-header{align-items:center}.usage-panel-controls{display:flex;align-items:center;gap:8px}.usage-toggle-button{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;background:#ffffff0a;border:1px solid var(--line-strong);color:var(--muted);font-size:.74rem;font-weight:700;cursor:pointer;transition:background-color .16s ease,color .16s ease,transform .16s ease}.usage-toggle-button:hover,.usage-toggle-button:focus-visible{background:#ffffff14;color:var(--text);transform:translateY(-1px)}.usage-toggle-button:focus-visible{outline:2px solid rgba(93,143,255,.35);outline-offset:2px}.usage-grid{display:grid;gap:10px}.usage-card{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#ffffff08}.usage-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--text);font-size:.82rem}.usage-card-header strong{color:var(--brand-strong);font-size:.98rem}.usage-bar{overflow:hidden;height:8px;border-radius:999px;background:#ffffff12}.usage-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand) 0%,var(--brand-strong) 100%)}.history-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.composer-note,.composer-disclaimer,.modal-copy,.modal-detail{color:var(--muted)}.history-action,.chat-history-item,.chat-history-edit-input{display:flex;align-items:center;width:100%;min-height:34px;padding:0 8px;border-radius:10px;background:transparent;border:1px solid transparent;color:#cfd8df;text-align:left;transition:background-color .16s ease,color .16s ease,border-color .16s ease}.chat-history-item{flex:1;min-width:0;flex-shrink:0;padding-right:8px}.chat-history-row:hover .chat-history-item,.chat-history-row:focus-within .chat-history-item,.chat-history-row.has-open-menu .chat-history-item{padding-right:34px}.chat-history-label{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-history-row{position:relative;display:flex;align-items:center;width:100%;min-width:0}.chat-history-row .chat-history-item{background:transparent}.chat-history-row.is-active .chat-history-item{background:#ffffff14;border-color:#ffffff0f;color:var(--text)}.chat-history-menu-button,.chat-history-menu-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .16s ease,color .16s ease,opacity .16s ease}.chat-history-menu-button{position:absolute;right:4px;top:3px;opacity:0}.chat-history-row:hover .chat-history-menu-button,.chat-history-row:focus-within .chat-history-menu-button,.chat-history-row.has-open-menu .chat-history-menu-button{opacity:1}.chat-history-menu-button:hover,.chat-history-menu-button:focus-visible,.chat-history-menu-action:hover,.chat-history-menu-action:focus-visible{background:#ffffff14;color:var(--text)}.chat-history-menu-action.is-danger:hover,.chat-history-menu-action.is-danger:focus-visible{color:#ff9b9b}.chat-history-menu-button svg,.chat-history-menu-action svg{width:16px;height:16px}.chat-history-menu{position:absolute;right:0;top:35px;z-index:4;display:flex;flex-direction:column;gap:4px;padding:4px;border:1px solid var(--line-strong);border-radius:10px;background:#172127;box-shadow:0 14px 30px #00000047}.chat-history-edit-form{width:100%;min-width:0}.chat-history-edit-input{outline:0;background:#ffffff14;border-color:#ffffff38;color:var(--text);box-shadow:inset 0 0 0 1px #ffffff0a}.chat-history-edit-input:focus{background:#ffffff1a;border-color:#66c1ffb8;box-shadow:0 0 0 2px #66c1ff29,inset 0 0 0 1px #ffffff0d}.history-action{width:auto;padding:0 8px;color:var(--text);font-size:.84rem}.history-action:hover,.history-action:focus-visible,.chat-history-item:hover,.chat-history-item:focus-visible{background:#ffffff0d;border-color:#ffffff0a;color:var(--text)}.sidebar-bottom{margin-top:auto;padding:8px 11px;border-top:1px solid var(--line);background:var(--sidebar-surface)}.app-shell.sidebar-collapsed .sidebar-bottom{display:flex;width:100%;max-width:64px;box-sizing:border-box;justify-content:center;padding:8px 11px;background:var(--sidebar-surface);border-top-color:transparent}.app-shell.sidebar-collapsed .sidebar-account-row{justify-content:center;width:100%}.chat-panel{display:flex;flex-direction:column;min-width:0;min-height:0;padding:28px 32px;gap:18px;background:#131b20}.demo-mode-banner{width:100%;min-height:44px;padding:0 18px;border:1px solid rgba(93,143,255,.35);border-radius:8px;background:#5d8fff1f;color:#eef4ff;font:inherit;font-weight:700;line-height:1.35;text-align:center;cursor:pointer}.demo-mode-banner:hover,.demo-mode-banner:focus-visible{border-color:#5d8fff9e;background:#5d8fff2e;outline:none}.chat-log{display:flex;flex:1;flex-direction:column;gap:18px;min-height:0;overflow-y:auto;padding-right:8px;scrollbar-color:rgba(141,155,167,.45) transparent}.message{max-width:min(760px,100%)}.message-assistant{align-self:flex-start}.message-user{align-self:flex-end;padding:14px 18px;border-radius:20px;background:#2558c5}.message-user .message-plain{color:#f6f9ff}.message-markdown{color:var(--text)}.message-markdown>*:first-child,.message-markdown li>*:first-child{margin-top:0}.message-markdown>*:last-child{margin-bottom:0}.message-markdown ul,.message-markdown ol{padding-left:1.3rem}.markdown-table-scroll{max-width:100%;margin:14px 0;overflow-x:auto}.message-markdown table{width:max-content;max-width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:8px}.message-markdown th,.message-markdown td{padding:8px 10px;border:1px solid var(--line);text-align:left;vertical-align:top}.message-markdown th{background:#ffffff0f;color:var(--text);font-weight:700}.message-markdown td:last-child,.message-markdown th:last-child{text-align:right}.message-markdown code{padding:.12rem .4rem;border-radius:8px;background:#ffffff0f;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92em}.message-markdown pre{margin:0;overflow-x:auto;padding:14px;border-radius:16px;background:#0d1217;border:1px solid rgba(255,255,255,.05)}.message-markdown pre code{padding:0;background:transparent}.message-markdown blockquote{margin:0;padding-left:14px;border-left:3px solid rgba(93,143,255,.4)}.message-markdown a{color:var(--brand-strong)}.message-meta{margin-top:10px;font-size:.82rem}.typing-indicator{display:inline-flex;gap:8px;align-items:center;padding:6px 0 0}.typing-indicator span{width:8px;height:8px;border-radius:999px;background:#e6edf49e;animation:pulse 1.2s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.16s}.typing-indicator span:nth-child(3){animation-delay:.32s}.tool-activity{display:flex;flex-direction:column;gap:10px;padding-top:4px}.tool-activity-row{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-size:.92rem;line-height:1.5}.tool-activity-pulse{width:10px;height:10px;border-radius:999px;background:#4ebd84e0;animation:toolPulse 1.4s infinite ease-out}.composer{border-top:1px solid var(--line);padding-top:18px}.composer textarea{width:100%;min-height:118px;resize:vertical;padding:16px 18px;border:1px solid var(--line);border-radius:22px;background:#0d1419e0;color:var(--text);outline:none}.composer textarea:focus,.auth-input:focus{border-color:#5d8fff80}.composer textarea:disabled{opacity:.72}.composer-disclaimer{margin-top:14px;font-size:.88rem;text-align:center}.prompt-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.prompt-chip,.prompt-refresh-button,.primary-button,.secondary-button,.google-auth-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:14px;cursor:pointer;transition:transform .16s ease,background-color .16s ease,opacity .16s ease,border-color .16s ease}.prompt-chip{min-height:36px;padding:0 12px;border:1px solid var(--line);background:#ffffff08;color:#aeb8c2;font-size:.88rem}.prompt-refresh-button{width:36px;min-height:36px;padding:0;border:1px solid var(--line);border-radius:12px;background:#ffffff08;color:var(--muted)}.prompt-refresh-button svg{width:16px;height:16px}.primary-button{padding:0 18px;background:#2558c5;color:#f7f9ff;font-weight:700}.secondary-button{padding:0 18px;border:1px solid var(--line-strong);background:#ffffff08;color:var(--text)}.primary-button:disabled,.secondary-button:disabled,.google-auth-button:disabled,.prompt-chip:disabled,.prompt-refresh-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button-with-icon{display:inline-flex;align-items:center;gap:8px}.button-with-icon svg{width:16px;height:16px}.composer-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px}.modal-backdrop{position:fixed;inset:0;z-index:4;display:grid;place-items:center;padding:20px;background:#05090bb3;opacity:0;transition:opacity .22s ease}.modal-backdrop.is-visible{opacity:1}.connect-modal{width:min(720px,100%);max-height:min(760px,calc(100vh - 40px));overflow-y:auto;padding:28px;border:1px solid var(--line-strong);border-radius:28px;background:#11181d;opacity:0;transform:translateY(18px) scale(.97);transition:opacity .22s ease,transform .22s ease}.connect-modal.is-visible{opacity:1;transform:translateY(0) scale(1)}.delete-account-modal{width:min(520px,100%)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.connect-modal h2{margin:8px 0 0;font-size:clamp(1.8rem,4vw,2.4rem);line-height:1.02}.modal-copy,.modal-detail,.modal-error,.modal-success{margin-top:12px}.modal-copy span{color:var(--text);font-weight:700}.modal-detail{font-size:.92rem}.modal-error{color:#ff9d9d}.modal-success{color:var(--success)}.message-upgrade-button{margin-top:12px;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 14px;border-radius:999px;background:var(--brand);color:#f7fbff;font-size:.86rem;font-weight:700;line-height:1;cursor:pointer;transition:background-color .16s ease,transform .16s ease,opacity .16s ease}.message-upgrade-button:hover,.message-upgrade-button:focus-visible{background:var(--brand-strong);transform:translateY(-1px)}.message-upgrade-button:focus-visible{outline:2px solid rgba(93,143,255,.45);outline-offset:2px}.account-modal-content{display:grid;gap:16px;margin-top:20px}.accounting-connection-section,.subscription-card{min-height:124px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#ffffff0a}.accounting-connection-section{display:grid;gap:16px}.accounting-connection-section.is-auth-preview{margin-top:20px;color:#aeb8c2;background:#ffffff06}.accounting-connection-header,.subscription-card{display:flex;align-items:center;justify-content:space-between;gap:18px}.subscription-card{color:var(--text)}.subscription-card.is-disabled{color:#aeb8c2}.subscription-card-copy{min-width:0}.accounting-connection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.accounting-connection-card{display:grid;align-content:space-between;justify-items:center;gap:14px;min-width:0;min-height:150px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#ffffff08}.accounting-connection-card.is-coming-soon{color:#aeb8c2;cursor:not-allowed}.accounting-connection-card.is-preview{color:#aeb8c2;cursor:default}.accounting-connection-card.is-preview .accounting-connection-logo{filter:grayscale(1);opacity:.48}.accounting-connection-logo-frame{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:68px}.accounting-connection-control{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;min-width:0;min-height:42px}.accounting-connection-logo{display:block;width:min(150px,100%);max-height:58px;height:auto;object-fit:contain}.freeagent-landscape-logo{width:min(180px,100%);max-height:54px}.xero-logo{width:min(118px,100%);max-height:44px}.accounting-connection-control .primary-button,.accounting-connection-control .secondary-button{width:100%}.accounting-connection-control .freeagent-disconnect-warning{margin:0;color:var(--muted);line-height:1.5}.accounting-connection-control .freeagent-disconnect-warning{color:#ffb8b8;font-size:.86rem;text-align:center}.freeagent-confirm-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px}.subscription-card-actions{display:grid;justify-items:end;gap:10px;min-width:190px}.subscription-card h3,.subscription-card p{margin:0}.subscription-card h3{margin-top:6px;color:var(--text);font-size:1.08rem}.subscription-card p:not(.subscription-label){margin-top:6px}.subscription-price{display:flex;align-items:baseline;gap:6px;font-weight:700}.subscription-price-period{color:var(--muted);font-weight:500}.subscription-description,.subscription-inline-note{color:var(--muted);line-height:1.5}.subscription-inline-note{margin-top:0;font-size:.82rem;text-align:right}.subscription-label{color:var(--muted);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.coming-soon-badge{display:inline-flex;align-items:center;flex:0 0 auto;min-height:30px;padding:0 10px;border:1px solid var(--line-strong);border-radius:999px;color:#aeb8c2;font-size:.75rem;font-weight:700}.auth-options{margin-top:20px}.auth-form{margin:0}.auth-email-row{display:flex;align-items:stretch;gap:10px;margin-top:8px}.auth-email-row .primary-button{flex:0 0 auto;min-height:50px;white-space:nowrap}.auth-input{width:100%;min-height:50px;padding:0 16px;border:1px solid var(--line);border-radius:16px;background:var(--panel-strong);color:var(--text);outline:none}.auth-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line)}.google-auth-button{width:100%;gap:12px;min-height:44px;padding:0 16px;border:1px solid #8e918f;border-radius:4px;background:#131314;color:#e3e3e3;font-family:Roboto,Arial,sans-serif;font-size:.875rem;font-weight:500}.google-auth-button:hover,.google-auth-button:focus-visible{background:#1f1f1f;border-color:#a8aba9}.google-auth-button svg{width:18px;height:18px;flex:0 0 auto}.modal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}@media(max-width:560px){.auth-email-row{flex-direction:column}.auth-email-row .primary-button{width:100%}}.account-footer-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:6px}.account-footer-actions>.secondary-button{flex:0 0 auto}.account-delete-entry{display:flex;align-items:center;justify-content:flex-end;gap:12px}.account-delete-entry p,.delete-account-modal-body p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.45}.account-delete-entry p{font-size:.82rem}.delete-confirm-label{display:block;margin-top:8px;color:var(--muted);font-size:.95rem;line-height:1.45}.delete-confirm-label span{color:var(--text);font-weight:700}.delete-confirm-input{width:100%;min-height:34px;margin-top:8px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel-strong);color:var(--text);outline:none}.delete-confirm-input:focus{border-color:#5d8fff80}.delete-account-modal-body{margin-top:18px}.delete-account-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}.small-button{min-height:34px;padding:0 12px;border-radius:10px;font-size:.82rem}.discreet-danger-button{color:#ffb8b8}.danger-button{background:#9f2f3d;color:#fff5f6}.sidebar,.sidebar-body,.chat-log{scrollbar-width:thin}.sidebar::-webkit-scrollbar,.sidebar-body::-webkit-scrollbar,.chat-log::-webkit-scrollbar,body::-webkit-scrollbar{width:10px;height:10px}.sidebar::-webkit-scrollbar-track,.sidebar-body::-webkit-scrollbar-track,.chat-log::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb,.sidebar-body::-webkit-scrollbar-thumb,.chat-log::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{background:#8d9ba752;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.sidebar::-webkit-scrollbar-thumb:hover,.sidebar-body::-webkit-scrollbar-thumb:hover,.chat-log::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover{background:#8d9ba77a;border:2px solid transparent;background-clip:padding-box}@keyframes pulse{0%,80%,to{transform:scale(.75);opacity:.4}40%{transform:scale(1);opacity:1}}@keyframes toolPulse{0%{transform:scale(.92);opacity:.55}70%{transform:scale(1);opacity:1}to{transform:scale(.92);opacity:.55}}@keyframes statusGroupIn{0%{opacity:0;transform:translate(-8px)}60%{opacity:1}to{opacity:1;transform:translate(0)}}@media(max-width:960px){.app-shell{grid-template-columns:320px minmax(0,1fr)}.app-shell.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.chat-panel{padding:20px}}@media(max-width:720px){.sidebar-top,.sidebar-body,.chat-panel{padding-left:16px;padding-right:16px}.chat-panel{padding-top:18px;padding-bottom:18px}.composer-footer,.modal-actions,.freeagent-confirm-actions,.account-footer-actions,.account-delete-entry,.delete-account-modal-actions{flex-direction:column;align-items:stretch}.prompt-list{flex-direction:column}.prompt-chip,.primary-button,.secondary-button{width:100%}.subscription-card{align-items:flex-start;flex-direction:column}.subscription-card-actions{width:100%;justify-items:stretch;min-width:0}.subscription-inline-note{text-align:left}.accounting-connection-grid{grid-template-columns:1fr}.freeagent-landscape-logo{width:min(200px,100%)}}
