:root{--bg:#090d16;--bg2:#101724;--panel:#101824;--panel2:#172131;--green:#e5c77a;--green2:#f4dda3;--gold:#e5c77a;--muted:#a8b1c1;--text:#f5f3ed;--line:#2b3546;--radius:20px}
body{background:radial-gradient(ellipse at 85% 5%,#b48b3720,transparent 42%),radial-gradient(ellipse at 0 55%,#667ca916,transparent 45%),var(--bg)}
.sidebar{background:#0c111dec;backdrop-filter:blur(20px)}.brand-mark{background:transparent;box-shadow:none;border-radius:11px;width:42px;height:42px}.brand-mark img{width:42px;height:42px}.boot-logo{background:transparent}.boot-logo img{width:60px;height:60px}
.panel{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:linear-gradient(140deg,#131c2bf2,#0e1521f2);box-shadow:0 16px 48px #0002}.grid-2>.panel+.panel{padding:24px;border:1px solid var(--line)}.dashboard-hero>.panel{padding:30px;border:1px solid var(--line)}.dashboard-hero>.panel:first-child{background:radial-gradient(ellipse at 90% 0,#b891392b,transparent 70%),linear-gradient(140deg,#182131,#101622)}
.hero-total{color:var(--gold);font-family:'Playfair Display',serif}.primary-button{background:linear-gradient(130deg,#f0d99a,#d9b65f);color:#1a160d;border-radius:12px;box-shadow:0 8px 28px #e5c77a16}.secondary-button,.input,.select,.textarea{border-radius:12px}.input,.select,.textarea,.select option{background:#0c1320;color:var(--text)}.subscription-card{background:linear-gradient(145deg,#162031,#101722);border-radius:18px;transition:transform .2s,border-color .2s}.subscription-card:hover{transform:translateY(-3px);border-color:#8f7b4e}.metrics-grid .metric{background:#111927;border:1px solid var(--line);border-radius:16px}.hero-preview,.dialog{border-radius:22px;background:#101824}.insight{padding:20px;border:1px solid var(--line);border-radius:16px;background:#111925}.sidebar .nav-item{border-radius:12px}.nav-item.active{background:#e5c77a13;color:var(--gold)}
.projection-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.projection-metrics article{padding:20px;border-radius:16px;background:#e5c77a08;border:1px solid var(--line)}.projection-metrics strong{display:block;font-size:clamp(20px,2.5vw,32px);margin-top:12px;overflow-wrap:anywhere}.projection-metrics small{color:var(--muted)}.projection-track{height:16px;background:#293345;border-radius:99px;overflow:hidden}.projection-track i{display:block;height:100%;background:linear-gradient(90deg,#e5c77a,#b89b53);transition:width .3s}
.history-event{margin:12px 0;border:1px solid var(--line);border-radius:14px;padding:18px;background:#0d1521}.history-event summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.history-event small{color:var(--muted)}.history-change{padding:10px 0;border-top:1px solid var(--line);margin-top:10px;overflow-wrap:anywhere;font-size:13px}.assistant-panel{min-height:380px}.assistant-bot{white-space:pre-wrap;line-height:1.8}.assistant-messages{max-height:50vh;overflow:auto}.assistant-form{display:flex;gap:10px;margin-top:18px}.assistant-form input{flex:1;min-width:0}.category-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.category-review button{text-align:left;color:var(--text);background:#121c2a;border:1px solid var(--line);border-radius:16px;padding:20px}.category-review strong,.category-review small{display:block;margin-bottom:10px}.category-review small{color:var(--muted);line-height:1.7}.help-popover{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);width:min(440px,90vw);padding:18px;background:#202b3c;border:1px solid var(--gold);border-radius:16px;z-index:110;box-shadow:var(--shadow)}.nav-item{cursor:pointer}.hero-currency{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.hero-currency select{width:auto}.history-controls{margin:20px 0}.history-controls .input{flex:2}.sidebar{overflow-y:auto}.mobile-nav{overflow-x:auto;gap:8px}.mobile-nav button{flex:0 0 auto;padding:5px 8px}.field-hint{color:var(--muted);font-size:12px;line-height:1.6}
@media(max-width:640px){.panel,.grid-2>.panel+.panel{padding:18px}.projection-metrics,.category-review{grid-template-columns:1fr}.assistant-form{flex-wrap:wrap}.assistant-form input{flex-basis:100%}.hero-total{font-size:38px}.mobile-nav{justify-content:flex-start}.history-event summary{display:grid}.sidebar{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* V3.1 reference-theme restoration: preserves the working V3.1 layout and behavior. */
:root{
  --bg:#07090f;--bg2:#0c1019;--panel:rgba(17,22,34,.82);--panel2:#111622;
  --green:#54d69a;--green2:#54d69a;--gold:#d4af37;--muted:#a4acbd;
  --text:#f6f7fb;--line:rgba(255,255,255,.08);--radius:20px;
}
body{background:radial-gradient(circle at 10% 0%,rgba(84,214,154,.07),transparent 30%),radial-gradient(circle at 90% 12%,rgba(212,175,55,.11),transparent 34%),#07090f}
.sidebar,.topbar{background:rgba(8,11,18,.88)}
.panel,.metric,.subscription-card,.feature,.budget-card,.insight,.trend-card,.source-card,.settings-card{background:rgba(17,22,34,.82);border-color:rgba(255,255,255,.08)}
.primary-button{background:linear-gradient(135deg,#54d69a,#3eaf7c);color:#07100d}
.secondary-button{background:#171e2d;color:#f6f7fb;border-color:rgba(255,255,255,.10)}
.input,.select,.textarea{background:#0c1019;color:#f6f7fb;border-color:rgba(255,255,255,.10)}
.select option{background:#111622;color:#f6f7fb}
.feedback-button,.chatbot-button{background:#111622;border-color:rgba(212,175,55,.32);color:#f3e5ab}
.feedback-button:hover,.chatbot-button:hover{border-color:#54d69a;color:#54d69a}
.budget-safe{color:#54d69a!important}
.floating-actions{position:fixed;right:18px;bottom:24px;z-index:61;display:grid;gap:10px}
.chatbot-button,.feedback-button{position:static;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 14px;border-radius:999px;box-shadow:0 16px 45px rgba(0,0,0,.34);font-weight:800}
.chatbot-button .lucide,.feedback-button .lucide{width:18px;height:18px}
.dialog .panel-title{margin-bottom:14px}
@media(max-width:850px){.floating-actions{right:12px;bottom:78px}.chatbot-button,.feedback-button{width:46px;height:46px;padding:0}.chatbot-button span:last-child,.feedback-button span:last-child{display:none}}
