*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d1117;--surface: #161b22;--border: #30363d;--text: #e6edf3;--text-muted: #8b949e;--accent: #58a6ff;--accent-dim: #1f6feb;--user-bubble: #1f6feb;--bot-bubble: #161b22}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);height:100dvh;display:flex;justify-content:center}#app{width:100%;max-width:720px;display:flex;flex-direction:column;height:100dvh}header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:baseline;gap:10px;flex-shrink:0}header h1{font-size:20px;font-weight:700;color:var(--accent)}header .subtitle{font-size:13px;color:var(--text-muted);flex:1}#provider-select{background:var(--surface);color:var(--text-muted);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:12px;cursor:pointer;outline:none;transition:color .15s,border-color .15s}#provider-select:hover,#provider-select:focus{color:var(--text);border-color:var(--text-muted)}#new-chat{background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer;transition:color .15s,border-color .15s}#new-chat:hover{color:var(--text);border-color:var(--text-muted)}#chat{flex:1;display:flex;flex-direction:column;overflow:hidden}#messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.message{display:flex;flex-direction:column;max-width:85%}.message.user{align-self:flex-end}.message.bot{align-self:flex-start}.message .content{padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.6}.message.user .content{background:var(--user-bubble);border-bottom-right-radius:4px}.message.bot .content{background:var(--bot-bubble);border:1px solid var(--border);border-bottom-left-radius:4px}.message .content p+p{margin-top:8px}.message .content ul,.message .content ol{margin:8px 0 0 20px}.message .content li+li{margin-top:4px}.message .content h1,.message .content h2,.message .content h3,.message .content h4,.message .content h5,.message .content h6{margin:16px 0 8px;line-height:1.3}.message .content h1{font-size:20px}.message .content h2{font-size:18px}.message .content h3{font-size:16px}.message .content h4{font-size:15px}.message .content h5{font-size:14px}.message .content h6{font-size:13px;color:var(--text-muted)}.message .content strong{color:var(--accent)}.message .content em{font-style:italic}.message .content blockquote{border-left:3px solid var(--accent-dim);margin:8px 0;padding:4px 12px;color:var(--text-muted)}.message .content blockquote p{margin:0}.message .content hr{border:none;border-top:1px solid var(--border);margin:16px 0}.message .content code{background:var(--bg);padding:1px 5px;border-radius:4px;font-size:13px}.message .content pre{background:var(--bg);padding:12px;border-radius:8px;overflow-x:auto;margin-top:8px}.message .content pre code{background:none;padding:0}.message.loading .content{color:var(--text-muted)}.message.bot.streaming .content:after{content:"";display:inline-block;width:10px;height:16px;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}#form{display:flex;gap:8px;padding:12px 20px 20px;border-top:1px solid var(--border);flex-shrink:0}#input{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-size:14px;color:var(--text);outline:none;transition:border-color .15s}#input:focus{border-color:var(--accent-dim)}#input::placeholder{color:var(--text-muted)}#send{background:var(--accent-dim);color:var(--text);border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}#send:hover{background:var(--accent)}#send:disabled{opacity:.5;cursor:not-allowed}#stop{background:#da3633;color:var(--text);border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}#stop:hover{background:#f85149}#send[hidden],#stop[hidden]{display:none}#financial-panel{border-bottom:1px solid var(--border);flex-shrink:0}#financial-toggle{width:100%;background:transparent;color:var(--text-muted);border:none;padding:8px 20px;font-size:12px;cursor:pointer;text-align:left;transition:color .15s}#financial-toggle:hover{color:var(--text)}#financial-form{padding:0 20px 16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}#financial-form.collapsed{display:none}#financial-form fieldset{border:1px solid var(--border);border-radius:6px;padding:10px 12px}#financial-form legend{font-size:12px;font-weight:600;color:var(--accent);padding:0 4px}#financial-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}#financial-form input[type=number],#financial-form input[type=text],#financial-form input[type=date],#financial-form select,#financial-form textarea{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:13px;color:var(--text);outline:none;transition:border-color .15s}#financial-form input:focus,#financial-form select:focus,#financial-form textarea:focus{border-color:var(--accent-dim)}#financial-form textarea{resize:vertical;font-family:inherit}#f24-list{margin-bottom:8px;display:flex;flex-direction:column;gap:4px}.f24-entry{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text);background:var(--bg);padding:4px 8px;border-radius:4px}.f24-entry .remove-f24{margin-left:auto;background:transparent;color:var(--text-muted);border:none;cursor:pointer;font-size:14px;line-height:1;padding:0}.f24-entry .remove-f24:hover{color:#f85149}.f24-add{display:flex;gap:4px;flex-wrap:wrap}.f24-add input,.f24-add select{width:auto;min-width:80px}.f24-add input[type=number]{width:100px}.f24-add input[type=date]{width:130px}#f24-add-btn{background:var(--accent-dim);color:var(--text);border:none;border-radius:4px;padding:4px 10px;font-size:12px;cursor:pointer;white-space:nowrap}#f24-add-btn:hover{background:var(--accent)}#fc-save{grid-column:1 / -1;background:var(--accent-dim);color:var(--text);border:none;border-radius:6px;padding:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}#fc-save:hover{background:var(--accent)}#fc-save.saved{background:#238636}
