:root{--brand:#f26b1d;--brand-2:#ff8a3d;--brand-deep:#c9530e;--brand-on:#fff;--success:#1e9e5a;--danger:#e5484d;--warning:#f5a623;--bg:#f4f5f8;--surface-solid:#fff;--border:#11111114;--border-strong:#11111121;--text:#13141a;--text-dim:#555a64;--text-faint:#8a8f99;--radius:10px;--radius-sm:7px;--radius-pill:999px;--font:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0d0e11;--surface-solid:#18191f;--border:#ffffff12;--border-strong:#ffffff21;--text:#f2f3f7;--text-dim:#a3a8b2;--text-faint:#6a6f7e;--brand-on:#1a1206}}:root[data-theme=dark]{--bg:#0d0e11;--surface-solid:#18191f;--border:#ffffff12;--border-strong:#ffffff21;--text:#f2f3f7;--text-dim:#a3a8b2;--text-faint:#6a6f7e;--brand-on:#1a1206}:root[data-theme=light]{--bg:#f4f5f8;--surface-solid:#fff;--border:#11111114;--border-strong:#11111121;--text:#13141a;--text-dim:#555a64;--text-faint:#8a8f99;--brand-on:#fff}*{box-sizing:border-box}body{font-family:var(--font);background:var(--bg);color:var(--text);margin:0}a{color:var(--brand)}.container{max-width:760px;margin:0 auto;padding:24px 16px 80px}.card{background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:20px}button,.btn{border-radius:var(--radius-sm);cursor:pointer;background:linear-gradient(135deg, var(--brand), var(--brand-2));color:var(--brand-on);border:none;padding:10px 16px;font-family:inherit;font-size:15px}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{color:var(--text);border:1px solid var(--border-strong);background:0 0}input,textarea,select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-solid);width:100%;color:var(--text);padding:10px 12px;font-family:inherit;font-size:15px}label{color:var(--text-dim);margin-top:12px;margin-bottom:4px;font-size:13px;display:block}.badge{border-radius:var(--radius-pill);background:var(--bg);border:1px solid var(--border);color:var(--text-dim);padding:2px 8px;font-size:12px;display:inline-block}.badge.source-Unavailable{color:var(--warning);border-color:var(--warning)}.badge.source-RegionalProfile,.badge.source-CommitmentCheckResult{color:var(--success);border-color:var(--success)}.goal-options{flex-wrap:wrap;gap:8px;margin:8px 0 4px;display:flex}.goal-option{border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface-solid);color:var(--text);padding:8px 14px;font-size:13px}.goal-option.selected{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:var(--brand-on);border-color:#0000}.nav{border-bottom:1px solid var(--border);background:var(--surface-solid);align-items:center;gap:16px;padding:14px 16px;display:flex}.nav a{color:var(--text-dim);font-size:14px;font-weight:600;text-decoration:none}.nav a.brand{color:var(--brand);margin-right:auto;font-size:17px}.notif-bell{position:relative}.notif-bell-btn{padding:6px 10px;font-size:15px;line-height:1;position:relative}.notif-badge{background:var(--danger);color:#fff;border-radius:var(--radius-pill);justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.notif-panel{background:var(--surface-solid);border:1px solid var(--border-strong);border-radius:var(--radius);z-index:50;width:320px;max-height:400px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 10px 30px -12px #00000059}.notif-panel-header{border-bottom:1px solid var(--border);background:var(--surface-solid);justify-content:space-between;align-items:center;padding:10px 12px;display:flex;position:sticky;top:0}.notif-item{border-bottom:1px solid var(--border);cursor:pointer;padding:10px 12px;font-size:13px}.notif-item:hover{background:var(--bg)}.notif-item.unread{background:color-mix(in srgb, var(--brand) 6%, transparent)}.notif-item.unread strong:before{content:"● ";color:var(--brand);font-size:8px}.notif-item p{margin:2px 0 0}.theme-toggle-btn{padding:6px 10px;font-size:15px;line-height:1}.lang-select{width:auto;padding:6px 8px;font-size:13px}.error-text{color:var(--danger);font-size:14px}.muted{color:var(--text-faint);font-size:13px}.chat-log{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.chat-bubble{border-radius:var(--radius);max-width:80%;padding:10px 14px;font-size:14px}.chat-bubble.user{background:var(--brand);color:var(--brand-on);align-self:flex-end}.chat-bubble.assistant{background:var(--bg);border:1px solid var(--border);align-self:flex-start}.markdown{line-height:1.5}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:0 0 10px}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:14px 0 6px;font-weight:700;line-height:1.3}.markdown h1{font-size:1.25em}.markdown h2{font-size:1.15em}.markdown h3,.markdown h4{font-size:1.05em}.markdown ul,.markdown ol{margin:0 0 10px;padding-left:22px}.markdown li{margin-bottom:4px}.markdown strong{font-weight:700}.markdown code{background:#7f7f7f2e;border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}.markdown blockquote{border-left:3px solid var(--border-strong);color:var(--text-dim);margin:8px 0;padding:4px 12px}.markdown table{border-collapse:collapse;width:100%;margin:8px 0;font-size:.95em}.markdown th,.markdown td{border:1px solid var(--border-strong);text-align:left;padding:4px 8px}.markdown a{text-decoration:underline}.chat-bubble.user .markdown,.chat-bubble.user .markdown blockquote{color:var(--brand-on)}.chat-bubble.user .markdown code{background:#ffffff38}.chat-bubble.user .markdown blockquote{border-left-color:#ffffff80}.doc-editor{border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}.doc-editor-toolbar{background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:2px;padding:6px;display:flex}.doc-editor-btn{color:var(--text);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;min-width:28px;height:28px;padding:0 6px;font-size:13px;line-height:1}.doc-editor-btn:hover{background:var(--surface-solid);border-color:var(--border-strong)}.doc-editor-btn.active{background:var(--brand);color:var(--brand-on)}.doc-editor-sep{background:var(--border-strong);width:1px;height:20px;margin:0 4px}.doc-editor-content{background:var(--surface-solid);min-height:120px;max-height:480px;padding:12px 14px;overflow-y:auto}.doc-editor-content .ProseMirror{outline:none;line-height:1.5}.doc-editor-content .ProseMirror p{margin:0 0 10px}.doc-editor-content .ProseMirror h1,.doc-editor-content .ProseMirror h2,.doc-editor-content .ProseMirror h3{margin:12px 0 6px;font-weight:700}.doc-editor-content .ProseMirror ul,.doc-editor-content .ProseMirror ol{margin:0 0 10px;padding-left:22px}.doc-editor-content .ProseMirror blockquote{border-left:3px solid var(--border-strong);color:var(--text-dim);margin:8px 0;padding:4px 12px}.doc-editor-actions{background:var(--bg);border-top:1px solid var(--border);gap:8px;padding:8px;display:flex}.journey-stepper{align-items:center;margin-bottom:20px;display:flex;overflow-x:auto}.journey-step-wrap{flex:1;align-items:center;min-width:0;display:flex}.journey-step{color:var(--text-faint);flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}.journey-step-icon{background:var(--bg);border:2px solid var(--border-strong);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;display:flex}.journey-step-label{white-space:nowrap;font-size:11px;font-weight:600}.journey-step.done .journey-step-icon{background:var(--success);border-color:var(--success);color:#fff}.journey-step.done .journey-step-label{color:var(--success)}.journey-step.current .journey-step-icon{background:var(--brand);border-color:var(--brand);color:var(--brand-on)}.journey-step.current .journey-step-label{color:var(--brand)}.journey-connector{background:var(--border-strong);flex:1;min-width:16px;height:2px;margin:0 4px 18px}.journey-connector.done{background:var(--success)}.tx-table{border-collapse:collapse;width:100%;font-size:13px}.tx-table th,.tx-table td{text-align:left;border-bottom:1px solid var(--border);padding:6px 8px}.tx-table th{color:var(--text-faint);font-size:12px;font-weight:600}.tx-amount.positive{color:var(--success)}.tx-amount.negative{color:var(--danger)}.admin-profile-card{border:1px solid var(--border-strong);border-radius:var(--radius);margin-bottom:14px;padding:14px}.admin-req-row{border-top:1px solid var(--border);padding:8px 0;font-size:13px}.admin-req-row:first-of-type{border-top:none}.toast-stack{z-index:100;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.toast{border-radius:var(--radius-pill);box-shadow:var(--shadow-lift,0 10px 30px -12px #0006);padding:10px 18px;font-size:13px;font-weight:600;animation:.2s ease-out toast-in}.toast-success{background:var(--success);color:#fff}.toast-error{background:var(--danger);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.commitment-check-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.commitment-offer-card{max-width:480px;margin:0 auto}.commitment-price{color:var(--brand);margin:4px 0 20px;font-size:24px;font-weight:700}.commitment-options{border:none;margin:0 0 12px;padding:0}.commitment-options legend{color:var(--text-dim);margin-bottom:8px;padding:0;font-size:13px}.commitment-option{border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;color:var(--text);align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;font-size:15px;display:flex}.commitment-option input{width:auto}.mic-btn.listening{border-color:var(--danger);color:var(--danger);animation:1.4s ease-in-out infinite mic-pulse}@keyframes mic-pulse{0%,to{opacity:1}50%{opacity:.55}}.budget-bar{border-radius:var(--radius-pill);background:var(--border);height:8px;margin:8px 0 4px;overflow:hidden}.budget-bar-fill{background:linear-gradient(135deg, var(--brand), var(--brand-2));height:100%;transition:width .3s}.compare-table td:first-child,.compare-table th:first-child{color:var(--text-dim);white-space:nowrap;font-weight:600}
