/* ============================================================
   FIRE Portfolio Analyzer — WordPress Plugin Stylesheet v6.5
   All selectors scoped under .fire-app to avoid theme conflicts
   ============================================================ */

/* ── CSS Variables (theme-aware) ─────────────────────────────────── */
#fire-app-root[data-theme="dark"],
.fire-app[data-theme="dark"] {
  --fire-bg:       #0D0D0F;
  --fire-bg2:      #141418;
  --fire-bg3:      #1A1A20;
  --fire-bg4:      #1F1F26;
  --fire-txt:      #F0EDE8;
  --fire-mt:       #8A8690;
  --fire-dim:      #5A5660;
  --fire-bdr:      rgba(232,84,26,.16);
  --fire-bdr2:     rgba(255,255,255,.06);
  --fire-card:     #141418;
  --fire-input:    #1F1F26;
  --fire-shadow:   0 4px 24px rgba(0,0,0,.4);
}
#fire-app-root[data-theme="light"],
.fire-app[data-theme="light"] {
  --fire-bg:       #F5F3EE;
  --fire-bg2:      #FFFFFF;
  --fire-bg3:      #F0EDE8;
  --fire-bg4:      #E8E4DC;
  --fire-txt:      #1A1714;
  --fire-mt:       #6B6560;
  --fire-dim:      #9B9590;
  --fire-bdr:      rgba(232,84,26,.18);
  --fire-bdr2:     rgba(0,0,0,.08);
  --fire-card:     #FFFFFF;
  --fire-input:    #F5F3EE;
  --fire-shadow:   0 4px 24px rgba(0,0,0,.1);
}
:root {
  --fire-or:   #E8541A;
  --fire-or2:  #F5A623;
  --fire-gold: #C9A84C;
  --fire-gl:   #E8C97A;
  --fire-gr:   #4CAF8A;
  --fire-rd:   #E05D5D;
  --fire-bl:   #5B8DEF;
  --fire-pu:   #9B59B6;
  --fire-r:    12px;
  --fire-rs:   8px;
  --fire-sbw:  240px;
}

/* ── Login Gate ──────────────────────────────────────────────────── */
.fire-login-gate {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: var(--fire-bg, #0D0D0F);
  color: var(--fire-txt, #F0EDE8);
}
.fire-login-card {
  background: var(--fire-bg2, #141418);
  border: 1px solid var(--fire-bdr, rgba(232,84,26,.16));
  border-radius: 18px;
  padding: 36px 32px;
  max-width: 480px;
  width: 100%;
  text-align: center;
  box-shadow: var(--fire-shadow);
}
.fire-login-logo {
  width: 80px; height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg,#E8541A,#F5A623);
  display: flex; align-items: center; justify-content: center;
  font-size: 2rem;
  margin: 0 auto 14px;
  box-shadow: 0 0 40px rgba(232,84,26,.25);
  overflow: hidden;
}
.fire-login-title { font-family:'Playfair Display',serif; font-size:1.6rem; color:#E8C97A; margin:0 0 4px; }
.fire-login-sub   { font-size:.78rem; color:var(--fire-mt); margin:0 0 12px; }
.fire-login-desc  { font-size:.82rem; color:var(--fire-mt); margin-bottom:0; }
.fire-pricing-preview { margin-top:20px; padding-top:16px; border-top:1px solid var(--fire-bdr); }

/* ── App Layout ──────────────────────────────────────────────────── */
.fire-app {
  background: var(--fire-bg);
  color: var(--fire-txt);
  font-family: 'Inter',sans-serif;
  min-height: 80vh;
  position: relative;
  transition: background .25s, color .25s;
  -webkit-font-smoothing: antialiased;
}
.fire-app * { box-sizing: border-box; }

/* ── Loader ──────────────────────────────────────────────────────── */
.fire-ldr {
  position: absolute; inset: 0;
  background: var(--fire-bg);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  z-index: 9999;
  transition: opacity .5s;
  min-height: 300px;
}
.fire-ldr-logo {
  width:72px; height:72px; border-radius:50%;
  background: linear-gradient(135deg,#E8541A,#F5A623);
  display:flex; align-items:center; justify-content:center;
  font-size:1.8rem; margin-bottom:14px;
  animation: fire-pulse 2s infinite;
  overflow: hidden;
}
@keyframes fire-pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.07);opacity:.85} }
.fire-ldr-title { font-family:'Playfair Display',serif; font-size:1.7rem; color:#F5A623; letter-spacing:2px; }
.fire-ldr-sub   { font-size:.72rem; color:var(--fire-mt); letter-spacing:2.5px; text-transform:uppercase; margin:4px 0 20px; }
.fire-ldr-bar   { width:190px; height:3px; background:var(--fire-bdr2); border-radius:3px; overflow:hidden; }
.fire-ldr-fill  { height:100%; background:linear-gradient(to right,#E8541A,#F5A623); width:0; animation:fire-lfd 2.2s ease forwards; }
@keyframes fire-lfd { to{width:100%} }

/* ── Sidebar ─────────────────────────────────────────────────────── */
.fire-sb {
  position: fixed; left:0; top:0;
  width: var(--fire-sbw); height:100vh;
  background: var(--fire-bg2);
  border-right: 1px solid var(--fire-bdr);
  display: flex; flex-direction: column;
  z-index: 200; overflow-y: auto; overflow-x: hidden;
  transition: transform .28s ease;
  -webkit-overflow-scrolling: touch;
}
.fire-sb-hd {
  padding:13px 11px; border-bottom:1px solid var(--fire-bdr);
  display:flex; align-items:center; gap:8px; flex-shrink:0;
}
.fire-sb-logo {
  width:36px; height:36px; border-radius:50%;
  background:linear-gradient(135deg,#E8541A,#F5A623);
  display:flex; align-items:center; justify-content:center;
  font-size:.95rem; flex-shrink:0; position:relative; overflow:hidden;
}
.fire-sb-ti  { font-family:'Playfair Display',serif; font-size:.88rem; color:#F5A623; line-height:1.2; }
.fire-sb-su  { font-size:.56rem; color:var(--fire-mt); letter-spacing:1.2px; text-transform:uppercase; }
.fire-sb-col-btn {
  background:none; border:none; cursor:pointer;
  color:var(--fire-mt); font-size:.85rem; padding:3px 5px;
  border-radius:4px; flex-shrink:0;
}
.fire-ns {
  padding:9px 10px 2px; font-size:.56rem; color:var(--fire-dim);
  text-transform:uppercase; letter-spacing:2px; flex-shrink:0;
}
.fire-ni {
  display:flex; align-items:center; gap:7px;
  padding:7px 12px; cursor:pointer;
  color:var(--fire-mt); font-size:.76rem; font-weight:500;
  transition:all .18s; border-left:2px solid transparent;
  flex-shrink:0; user-select:none;
}
.fire-ni:hover { color:var(--fire-txt); background:rgba(232,84,26,.04); }
.fire-ni.on    { color:#F5A623; border-left-color:#E8541A; background:rgba(232,84,26,.07); }
.fire-ic       { font-size:.82rem; width:14px; text-align:center; flex-shrink:0; }
.fire-sb-ft    { margin-top:auto; padding:10px; border-top:1px solid var(--fire-bdr); flex-shrink:0; }
.fire-sb-ft-u  { display:flex; align-items:center; gap:7px; margin-bottom:7px; }
.fire-uav {
  border-radius:50%;
  background:linear-gradient(135deg,#E8541A,#F5A623);
  display:flex; align-items:center; justify-content:center;
  font-weight:700; color:#fff; flex-shrink:0;
  width:28px; height:28px; font-size:.75rem;
}
.fire-sb-un { font-size:.78rem; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:130px; }
.fire-sb-em { font-size:.63rem; color:var(--fire-mt); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:130px; }

/* Sidebar collapsed */
.fire-sb.col { width:52px !important; min-width:52px; overflow:hidden; }
.fire-sb.col .fire-ns, .fire-sb.col .fire-sb-ti, .fire-sb.col .fire-sb-su { display:none !important; }
.fire-sb.col .fire-ni { padding:9px 0; justify-content:center; gap:0; }
.fire-sb.col .fire-ni > *:not(.fire-ic) { display:none; }
.fire-sb.col .fire-sb-hd { justify-content:center; padding:10px 5px; }
.fire-sb.col .fire-sb-ft { padding:5px 3px; }
.fire-sb.col .fire-sb-ft-u { justify-content:center; }
.fire-sb.col .fire-sb-ft-u > div:not(.fire-uav) { display:none; }
.fire-sb.col #fire-save-ts { display:none; }

/* Overlay + hamburger */
.fire-sb-ov { display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:199; }
.fire-hbg   {
  display:none; position:fixed; top:10px; left:10px; z-index:210;
  background:var(--fire-bg2); border:1px solid var(--fire-bdr);
  border-radius:7px; padding:5px 8px; cursor:pointer; font-size:.86rem;
}

/* ── Main Content ────────────────────────────────────────────────── */
.fire-main   { margin-left:var(--fire-sbw); min-height:80vh; padding:22px 26px; }
.fire-topbar {
  background:var(--fire-bg2); border-bottom:1px solid var(--fire-bdr);
  padding:7px 18px; display:flex; align-items:center; justify-content:space-between;
  gap:10px; margin:-22px -26px 18px; position:sticky; top:0; z-index:90;
}
.fire-topbar-logo {
  width:26px; height:26px; border-radius:50%;
  background:linear-gradient(135deg,#E8541A,#F5A623);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; flex-shrink:0; font-size:.72rem;
}

/* ── Pages ───────────────────────────────────────────────────────── */
.fire-pg     { display:none; }
.fire-pg.on  { display:block; animation:fire-pgIn .28s ease; }
@keyframes fire-pgIn { from{opacity:0;transform:translateY(7px)} to{opacity:1;transform:none} }

/* ── Cards ───────────────────────────────────────────────────────── */
.fire-card {
  background:var(--fire-card); border:1px solid var(--fire-bdr);
  border-radius:var(--fire-r); padding:15px; margin-bottom:12px;
}
.fire-tc { background:var(--fire-card); border:1px solid var(--fire-bdr); border-radius:var(--fire-r); padding:14px; }
.fire-ct { font-family:'Playfair Display',serif; font-size:1.05rem; color:var(--fire-gl); margin-bottom:2px; }
.fire-cs { font-size:.7rem; color:var(--fire-mt); margin-bottom:10px; }
.fire-dv { height:1px; background:var(--fire-bdr); margin:10px 0; }

/* ── Metrics ─────────────────────────────────────────────────────── */
.fire-mc   { background:var(--fire-card); border:1px solid var(--fire-bdr); border-radius:var(--fire-r); padding:13px 14px; }
.fire-ml2  { font-size:.61rem; color:var(--fire-mt); text-transform:uppercase; letter-spacing:1.3px; margin-bottom:4px; }
.fire-mv   { font-family:'Playfair Display',serif; font-size:1.38rem; font-weight:600; }
.fire-mv.gr{ color:var(--fire-gr); } .fire-mv.rd{ color:var(--fire-rd); }
.fire-mv.fi{ color:var(--fire-or2); } .fire-mv.bl{ color:var(--fire-bl); }
.fire-mn   { font-size:.64rem; color:var(--fire-mt); margin-top:2px; }

/* ── Grids ───────────────────────────────────────────────────────── */
.fire-g2 { display:flex; gap:13px; flex-wrap:wrap; }
.fire-g2 > * { flex:1 1 260px; min-width:0; }
.fire-g3 { display:flex; gap:11px; flex-wrap:wrap; }
.fire-g3 > * { flex:1 1 170px; min-width:0; }
.fire-g4 { display:flex; gap:10px; flex-wrap:wrap; }
.fire-g4 > * { flex:1 1 130px; min-width:0; }
.fire-mt8{margin-top:8px} .fire-mt12{margin-top:12px} .fire-mt16{margin-top:16px} .fire-mt20{margin-top:20px}
.fire-mb8{margin-bottom:8px} .fire-mb12{margin-bottom:12px}
.fire-fxb { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:7px; }

/* ── Forms ───────────────────────────────────────────────────────── */
.fire-fg        { margin-bottom:9px; }
.fire-fg label  { display:block; font-size:.65rem; color:var(--fire-mt); letter-spacing:.5px; text-transform:uppercase; margin-bottom:3px; }
.fire-fg input,
.fire-fg select,
.fire-fg textarea {
  width:100%; background:var(--fire-input); border:1px solid var(--fire-bdr2);
  border-radius:var(--fire-rs); color:var(--fire-txt);
  font-family:'Inter',sans-serif; font-size:.82rem;
  padding:8px 10px; outline:none; transition:border-color .2s;
  -webkit-appearance:none; appearance:none;
}
.fire-fg input:focus,
.fire-fg select:focus { border-color:#E8541A; }
.fire-fg select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238A8690' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 9px center; padding-right:26px;
}
.fire-fg select option { background:var(--fire-bg2); color:var(--fire-txt); }
.fire-ipfx { position:relative; }
.fire-ipfx .fire-pfx { position:absolute; left:9px; top:50%; transform:translateY(-50%); color:var(--fire-mt); font-size:.82rem; pointer-events:none; }
.fire-ipfx input { padding-left:22px; }
.fire-fr2 { display:flex; gap:9px; flex-wrap:wrap; }
.fire-fr2 > .fire-fg { flex:1 1 150px; }
.fire-fr3 { display:flex; gap:8px; flex-wrap:wrap; }
.fire-fr3 > .fire-fg { flex:1 1 110px; }
.fire-perr { color:var(--fire-rd); font-size:.72rem; margin-top:3px; min-height:15px; }

/* ── Buttons ─────────────────────────────────────────────────────── */
.fire-btn {
  display:inline-flex; align-items:center; gap:5px;
  padding:8px 16px; border-radius:var(--fire-rs);
  font-family:'Inter',sans-serif; font-size:.8rem; font-weight:600;
  cursor:pointer; border:none; transition:all .2s;
  text-decoration:none; user-select:none; white-space:nowrap;
}
.fire-btn-primary { background:linear-gradient(135deg,#E8541A,#F5A623); color:#fff; }
.fire-btn-primary:hover { filter:brightness(1.09); transform:translateY(-1px); }
.fire-btn-outline { background:transparent; color:#F5A623; border:1px solid #E8541A; }
.fire-btn-outline:hover { background:rgba(232,84,26,.08); }
.fire-btn-ghost  { background:var(--fire-bg3); color:var(--fire-mt); border:1px solid var(--fire-bdr2); }
.fire-btn-ghost:hover { color:var(--fire-txt); background:var(--fire-bg4); }
.fire-btn-green  { background:var(--fire-gr); color:#fff; }
.fire-btn-red    { background:rgba(224,93,93,.12); color:var(--fire-rd); border:1px solid rgba(224,93,93,.2); }
.fire-btn-full   { width:100%; justify-content:center; }
.fire-bsm        { padding:4px 9px; font-size:.7rem; }
.fire-bxsm       { padding:3px 7px; font-size:.66rem; }
.fire-brow       { display:flex; gap:6px; justify-content:flex-end; margin-top:8px; flex-wrap:wrap; }
.fire-pa         { display:flex; gap:7px; justify-content:flex-end; margin-top:15px; flex-wrap:wrap; }

/* ── Tables ──────────────────────────────────────────────────────── */
.fire-at { width:100%; border-collapse:collapse; }
.fire-at th { text-align:left; font-size:.61rem; color:var(--fire-dim); text-transform:uppercase; letter-spacing:.8px; padding:6px 7px; border-bottom:1px solid var(--fire-bdr); }
.fire-at td { padding:7px 7px; font-size:.77rem; border-bottom:1px solid var(--fire-bdr2); vertical-align:middle; }
.fire-bw { background:var(--fire-bg3); border-radius:3px; height:4px; width:70px; overflow:hidden; display:inline-block; vertical-align:middle; margin-left:4px; }
.fire-bf { height:100%; border-radius:3px; }

/* ── Badges ──────────────────────────────────────────────────────── */
.fire-badge  { display:inline-block; padding:2px 7px; border-radius:20px; font-size:.63rem; font-weight:700; }
.fire-bgr2   { background:rgba(76,175,138,.14); color:var(--fire-gr); }
.fire-brd    { background:rgba(224,93,93,.14); color:var(--fire-rd); }
.fire-bgo    { background:rgba(201,168,76,.14); color:var(--fire-gold); }
.fire-bbl2   { background:rgba(91,141,239,.14); color:var(--fire-bl); }
.fire-bpu    { background:rgba(155,89,182,.14); color:var(--fire-pu); }

/* ── Tabs ────────────────────────────────────────────────────────── */
.fire-tabs { display:flex; gap:2px; background:var(--fire-bg3); border-radius:var(--fire-rs); padding:3px; margin-bottom:13px; flex-wrap:wrap; width:fit-content; max-width:100%; }
.fire-tab  { padding:5px 11px; border-radius:5px; cursor:pointer; font-size:.71rem; font-weight:600; color:var(--fire-mt); transition:all .18s; user-select:none; }
.fire-tab.on { background:var(--fire-card); color:var(--fire-txt); box-shadow:0 1px 3px rgba(0,0,0,.2); }

/* ── Charts ──────────────────────────────────────────────────────── */
.fire-cw  { position:relative; height:190px; }
.fire-cw2 { position:relative; height:248px; }

/* ── Ring Gauges ─────────────────────────────────────────────────── */
.fire-rw     { text-align:center; }
.fire-rw svg { transform:rotate(-90deg); }
.fire-rbg    { fill:none; stroke:var(--fire-bdr2); stroke-width:7; }
.fire-rf     { fill:none; stroke:var(--fire-or2); stroke-width:7; stroke-linecap:round; stroke-dasharray:264; stroke-dashoffset:264; transition:stroke-dashoffset 1.1s ease; }
.fire-rc     { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.fire-rp     { font-family:'Playfair Display',serif; font-size:1.05rem; font-weight:700; }
.fire-rl     { font-size:.54rem; color:var(--fire-mt); text-transform:uppercase; letter-spacing:.7px; }
.fire-rrel   { position:relative; width:96px; height:96px; display:inline-block; }

/* ── FIRE Metrics ────────────────────────────────────────────────── */
.fire-fm { background:linear-gradient(135deg,var(--fire-bg3),rgba(232,84,26,.04)); border:1px solid rgba(232,84,26,.18); border-radius:var(--fire-r); padding:15px; text-align:center; }
.fire-fn { font-family:'Playfair Display',serif; font-size:1.7rem; color:var(--fire-or2); font-weight:700; }

/* ── Result boxes ────────────────────────────────────────────────── */
.fire-rb  { background:var(--fire-bg3); border:1px solid rgba(232,84,26,.16); border-radius:var(--fire-rs); padding:12px; margin-top:10px; text-align:center; }
.fire-rv  { font-family:'Playfair Display',serif; font-size:1.5rem; color:var(--fire-or2); }
.fire-rl2 { font-size:.65rem; color:var(--fire-mt); text-transform:uppercase; letter-spacing:.8px; margin-top:2px; }

/* ── Tax rows ────────────────────────────────────────────────────── */
.fire-tx-sec { background:var(--fire-bg3); border-radius:var(--fire-r); padding:12px; margin-bottom:10px; }
.fire-tx-row { display:flex; justify-content:space-between; align-items:center; padding:5px 0; border-bottom:1px solid var(--fire-bdr2); font-size:.79rem; gap:6px; }
.fire-tx-row:last-child { border-bottom:none; }
.fire-tx-row.fire-dedn .fire-tv { color:var(--fire-gr) !important; }
.fire-tx-row.fire-txbl { background:rgba(232,84,26,.05); border-radius:6px; padding:7px 9px; margin:4px 0; }
.fire-tx-row.fire-txbl .fire-tl { font-weight:700; }
.fire-tx-row.fire-txbl .fire-tv { color:var(--fire-or2) !important; font-weight:700; }
.fire-tx-row.fire-ttax { background:rgba(224,93,93,.05); border-radius:6px; padding:7px 9px; margin:3px 0; }
.fire-tx-row.fire-ttax .fire-tl { font-weight:700; }
.fire-tx-row.fire-ttax .fire-tv { color:var(--fire-rd) !important; font-weight:700; }
.fire-tl { color:var(--fire-mt); }
.fire-tv { font-weight:600; text-align:right; }
.fire-thi { background:rgba(76,175,138,.06); border:1px solid rgba(76,175,138,.14); border-radius:var(--fire-rs); padding:10px; text-align:center; margin-top:8px; font-size:.79rem; }

/* ── Page title bar ──────────────────────────────────────────────── */
.fire-ptb { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; padding-bottom:12px; border-bottom:1px solid var(--fire-bdr); gap:8px; flex-wrap:wrap; }
.fire-ptb h2 { font-family:'Playfair Display',serif; font-size:1.45rem; }
.fire-ptb p  { color:var(--fire-mt); font-size:.73rem; margin-top:2px; }
.fire-ptb-r  { display:flex; align-items:center; gap:8px; flex-shrink:0; }

/* ── Recs ────────────────────────────────────────────────────────── */
.fire-ri { background:var(--fire-bg3); border:1px solid var(--fire-bdr); border-radius:var(--fire-rs); padding:10px 12px 10px 34px; margin-bottom:7px; position:relative; }
.fire-ri::before { content:attr(data-i); position:absolute; left:10px; top:10px; font-size:.86rem; }
.fire-ri h4 { font-size:.79rem; font-weight:700; margin-bottom:2px; }
.fire-ri p  { font-size:.7rem; color:var(--fire-mt); line-height:1.5; }
.fire-rpr   { font-size:.59rem; text-transform:uppercase; letter-spacing:.7px; font-weight:700; margin-bottom:2px; }
.fire-rpr.hi{ color:var(--fire-rd); } .fire-rpr.me{ color:var(--fire-or2); } .fire-rpr.lo{ color:var(--fire-gr); }

/* ── AI Chat ─────────────────────────────────────────────────────── */
.fire-ai-btn {
  position:fixed; bottom:22px; right:22px;
  width:50px; height:50px; border-radius:50%;
  background:linear-gradient(135deg,#E8541A,#F5A623);
  border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem;
  box-shadow:0 4px 18px rgba(232,84,26,.32);
  z-index:280; transition:transform .18s;
}
.fire-ai-btn:hover { transform:scale(1.09); }
.fire-ai-panel {
  position:fixed; bottom:82px; right:20px;
  width:345px; max-height:520px;
  background:var(--fire-bg2); border:1px solid var(--fire-bdr);
  border-radius:15px; flex-direction:column;
  z-index:280; box-shadow:var(--fire-shadow); overflow:hidden;
}
.fire-ai-panel.open { display:flex; }
.fire-chat-hd {
  padding:10px 12px;
  background:linear-gradient(135deg,rgba(232,84,26,.17),rgba(245,166,35,.07));
  border-bottom:1px solid var(--fire-bdr);
  display:flex; align-items:center; gap:8px; flex-shrink:0;
}
.fire-chat-logo { width:27px; height:27px; border-radius:50%; background:linear-gradient(135deg,#E8541A,#F5A623); display:flex; align-items:center; justify-content:center; font-size:.75rem; }
.fire-chat-hd h4 { font-size:.82rem; font-weight:700; color:var(--fire-txt); margin:0; }
.fire-chat-cls   { margin-left:auto; background:none; border:none; color:var(--fire-mt); cursor:pointer; font-size:.95rem; padding:2px; }
.fire-chat-msgs  { flex:1; overflow-y:auto; padding:10px; display:flex; flex-direction:column; gap:6px; max-height:300px; }
.fire-msg        { max-width:88%; padding:7px 10px; border-radius:10px; font-size:.75rem; line-height:1.5; }
.fire-msg-u      { align-self:flex-end; background:rgba(232,84,26,.16); border-radius:10px 10px 2px 10px; }
.fire-msg-a      { align-self:flex-start; background:var(--fire-bg3); border-radius:10px 10px 10px 2px; color:var(--fire-txt); }
.fire-chat-sg    { display:flex; flex-wrap:wrap; gap:4px; padding:6px 10px; border-top:1px solid var(--fire-bdr); flex-shrink:0; }
.fire-cs-btn     { background:rgba(232,84,26,.08); border:1px solid rgba(232,84,26,.16); color:var(--fire-or2); font-size:.63rem; padding:3px 8px; border-radius:20px; cursor:pointer; font-family:'Inter',sans-serif; }
.fire-chat-inp-row { padding:7px 9px; border-top:1px solid var(--fire-bdr); display:flex; gap:6px; align-items:center; flex-shrink:0; }
.fire-chat-input   { flex:1; background:var(--fire-bg4); border:1px solid var(--fire-bdr2); border-radius:20px; color:var(--fire-txt); font-family:'Inter',sans-serif; font-size:.75rem; padding:6px 11px; outline:none; }
.fire-chat-input:focus { border-color:#E8541A; }
.fire-chat-send    { background:linear-gradient(135deg,#E8541A,#F5A623); border:none; border-radius:50%; width:28px; height:28px; cursor:pointer; display:flex; align-items:center; justify-content:center; color:#fff; font-size:.78rem; flex-shrink:0; }

/* ── Toast ───────────────────────────────────────────────────────── */
#fire-toast {
  position:fixed; bottom:16px; right:76px;
  background:var(--fire-bg2); border:1px solid #E8541A;
  color:var(--fire-txt); padding:9px 13px;
  border-radius:var(--fire-rs); font-size:.77rem;
  z-index:9997; transform:translateY(70px); opacity:0;
  transition:all .28s; max-width:280px; word-break:break-word;
  box-shadow:var(--fire-shadow); pointer-events:none;
}
#fire-toast.show { transform:none; opacity:1; }

/* ── Theme button ────────────────────────────────────────────────── */
.fire-theme-btn { background:var(--fire-bg3); border:1px solid var(--fire-bdr); border-radius:20px; padding:4px 10px; cursor:pointer; font-size:.72rem; color:var(--fire-mt); display:flex; align-items:center; gap:5px; transition:all .2s; font-family:'Inter',sans-serif; }
.fire-theme-btn:hover { color:var(--fire-txt); border-color:#E8541A; }

/* ── Footer ──────────────────────────────────────────────────────── */
.fire-pwb { display:flex; align-items:center; justify-content:center; gap:6px; padding:10px; background:rgba(232,84,26,.04); border-top:1px solid var(--fire-bdr); font-size:.67rem; color:var(--fire-mt); border-radius:var(--fire-r); margin-top:20px; }
.fire-pwb strong { color:var(--fire-or2); }

/* ── Idea cards ──────────────────────────────────────────────────── */
.fire-idea-card { background:var(--fire-card); border:1px solid var(--fire-bdr); border-radius:var(--fire-r); padding:13px; }
.fire-idea-card h4 { font-size:.85rem; font-weight:700; margin-bottom:3px; }
.fire-idea-card p  { font-size:.72rem; color:var(--fire-mt); line-height:1.5; }

/* ── Health score ────────────────────────────────────────────────── */
.fire-prog-bar  { height:5px; background:var(--fire-bdr2); border-radius:3px; overflow:hidden; margin-top:2px; }
.fire-prog-fill { height:100%; border-radius:3px; transition:width .8s ease; }

/* ── Scrollbar ───────────────────────────────────────────────────── */
.fire-app ::-webkit-scrollbar        { width:4px; }
.fire-app ::-webkit-scrollbar-track  { background:var(--fire-bg); }
.fire-app ::-webkit-scrollbar-thumb  { background:var(--fire-bg3); border-radius:2px; }

/* ── Responsive ──────────────────────────────────────────────────── */
@media(max-width:1100px) { :root { --fire-sbw: 220px; } }
@media(max-width:900px) {
  .fire-g4 > * { flex:1 1 calc(50% - 5px); }
  .fire-g3 > * { flex:1 1 calc(50% - 6px); }
}
@media(max-width:680px) {
  :root { --fire-sbw: 245px; }
  .fire-sb { transform:translateX(-100%); }
  .fire-sb.open { transform:none; }
  .fire-sb-ov.show { display:block; }
  .fire-main { margin-left:0; padding:12px 13px; }
  .fire-hbg  { display:block; }
  .fire-g2 > *, .fire-g3 > * { flex:1 1 100%; }
  .fire-g4 > * { flex:1 1 calc(50% - 5px); }
  .fire-fr2 > .fire-fg, .fire-fr3 > .fire-fg { flex:1 1 100%; }
  .fire-topbar { margin:-12px -13px 12px; }
  .fire-ptb-r { display:none; }
  .fire-tabs  { max-width:100%; }
  .fire-at    { font-size:.71rem; }
  .fire-at th, .fire-at td { padding:5px 5px; }
  .fire-ai-panel { width:calc(100vw - 26px); right:13px; }
}
@media(max-width:400px) {
  .fire-g4 > * { flex:1 1 100%; }
  .fire-mv { font-size:1.22rem; }
  .fire-fn { font-size:1.45rem; }
  .fire-main { padding:10px 11px; }
}
