:root{--bg:#f3efe6;--bg-deep:#e7e0d2;--ink:#1c241c;--ink-muted:#5c675c;--panel:#fffcf6d1;--panel-solid:#fffdf8;--line:#1c241c1f;--accent:#1f6f5b;--accent-soft:#d7efe6;--warn:#a35d1a;--danger:#9b2c2c;--income:#1f6f5b;--expense:#9b3d2c;--shadow:0 18px 50px #28302414;--radius:18px;--font-display:"Fraunces", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%, #d9efe4 0%, transparent 55%), radial-gradient(900px 500px at 100% 0%, #f0e2c8 0%, transparent 50%), linear-gradient(180deg, var(--bg) 0%, var(--bg-deep) 100%);background-attachment:fixed;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf88c;padding:28px 20px}.brand{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 6px;font-size:1.7rem;font-weight:600}.brand-sub{color:var(--ink-muted);margin-bottom:28px;font-size:.85rem}.nav{flex-direction:column;gap:6px;display:flex}.nav a{color:var(--ink-muted);border-radius:12px;padding:10px 12px;transition:background .16s,color .16s,transform .16s}.nav a:hover{color:var(--ink);background:#1f6f5b14;transform:translate(2px)}.nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.main{padding:28px 32px 48px}.page-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:24px;display:flex}.page-head h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:2rem}.page-head p{color:var(--ink-muted);margin:6px 0 0}.grid{gap:16px;display:grid}.grid.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:18px;animation:.42s both rise}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.metric-label{color:var(--ink-muted);margin-bottom:8px;font-size:.85rem}.metric-value{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.75rem}.metric-value.income{color:var(--income)}.metric-value.expense{color:var(--expense)}.btn{appearance:none;background:var(--accent);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:10px 16px;font-weight:600;transition:transform .14s,box-shadow .14s,background .14s}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px #1f6f5b40}.btn.secondary{border-color:var(--line);color:var(--ink);background:0 0}.btn.ghost{color:var(--accent);background:0 0;border-color:#0000}.btn.danger{background:var(--danger)}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 8px;font-size:.95rem}.table th{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:500}.badge{background:var(--bg-deep);color:var(--ink-muted);border-radius:999px;align-items:center;padding:3px 8px;font-size:.75rem;display:inline-flex}.badge.pending{color:var(--warn);background:#f7e6cf}.badge.confirmed{background:var(--accent-soft);color:var(--accent)}.field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--panel-solid);border-radius:12px;padding:10px 12px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.progress{background:#1c241c14;border-radius:999px;height:8px;overflow:hidden}.progress>span{background:var(--accent);border-radius:inherit;height:100%;display:block}.progress.over>span{background:var(--danger)}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{text-align:center;width:min(460px,100%);padding:36px}.login-card h1{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 8px;font-size:2.6rem}.login-card p{color:var(--ink-muted);margin:0 0 24px;line-height:1.5}.empty{color:var(--ink-muted);text-align:center;padding:24px 8px}.user-chip{color:var(--ink-muted);flex-direction:column;gap:8px;margin-top:auto;padding-top:24px;font-size:.85rem;display:flex}@media (width<=960px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--line)}.nav{flex-flow:wrap}.grid.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding:20px 16px 40px}}@media (width<=560px){.grid.metrics{grid-template-columns:1fr}}.advisor-thread{flex-direction:column;gap:12px;max-height:52vh;padding-right:4px;display:flex;overflow:auto}.advisor-bubble{border:1px solid var(--line);background:var(--panel-solid);border-radius:16px;padding:14px 16px;animation:.36s both rise}.advisor-bubble.user{background:var(--accent-soft);border-color:#0000;margin-left:12%}.advisor-bubble.assistant{margin-right:8%}.advisor-role{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);margin-bottom:6px;font-size:.75rem;font-weight:600}.advisor-body{white-space:pre-wrap;font-size:.98rem;line-height:1.55}
