/* ============================================================
   Área do Cooperado — Coopersanta · Coopermetal
   Premium fintech dashboard · dual theme (light/dark)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=Inter:wght@400;450;500;600&display=swap');

:root{
  --serif:"Archivo",-apple-system,BlinkMacSystemFont,sans-serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;
  --gold:#bea164;
  --gold-deep:#a4854a;
  --r:16px;
  --r-sm:11px;
  --sidebar-w:264px;
}

/* ---------- LIGHT (default) ---------- */
[data-theme="light"]{
  --bg:#f4f6f5;
  --surface:#ffffff;
  --surface-2:#fafbfb;
  --surface-3:#f1f4f2;
  --sidebar-a:#0f2e4a;
  --sidebar-b:#1a4065;
  --sidebar-solid:#0f2e4a;
  --on-sidebar:#eaf1f6;
  --on-sidebar-mute:#9fb4c4;
  --ink:#14201b;
  --ink-soft:#46524c;
  --muted:#8a938e;
  --line:#e3e7e4;
  --line-strong:#d3dad6;
  --gold-soft:rgba(190,161,100,.13);
  --gold-line:rgba(190,161,100,.4);
  --green:#1a7a5c;
  --green-soft:rgba(26,122,92,.12);
  --amber:#c08a2e;
  --amber-soft:rgba(192,138,46,.14);
  --blue:#2c6fa6;
  --blue-soft:rgba(44,111,166,.13);
  --red:#bf564c;
  --red-soft:rgba(191,86,76,.12);
  --shadow:0 1px 2px rgba(20,40,30,.04),0 6px 22px -10px rgba(20,40,30,.14);
  --shadow-lg:0 2px 4px rgba(20,40,30,.05),0 20px 50px -20px rgba(20,40,30,.22);
  --card-border:1px solid var(--line);
  --panel-bg:linear-gradient(155deg,#ffffff 0%,#f6f2e9 100%);
  --panel-ink:#14201b;
  --panel-sub:#6c7873;
  --panel-border:1px solid var(--gold-line);
  --panel-accent:#9c7d44;
  --panel-chip-bg:var(--gold-soft);
  --panel-chip-border:var(--gold-line);
  --panel-chip-ink:#9c7d44;
  --panel-hairline:var(--line);
  --panel-shadow:var(--shadow);
}
/* ---------- DARK ---------- */
[data-theme="dark"]{
  --bg:#091726;
  --surface:#12283e;
  --surface-2:#16314a;
  --surface-3:#1c3a56;
  --sidebar-a:#06121f;
  --sidebar-b:#0a1d30;
  --sidebar-solid:#06121f;
  --on-sidebar:#e8eef2;
  --on-sidebar-mute:#7e93a6;
  --ink:#e8eef2;
  --ink-soft:#b2c0cc;
  --muted:#6e8092;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.16);
  --gold:#cbb070;
  --gold-soft:rgba(203,176,112,.14);
  --gold-line:rgba(203,176,112,.42);
  --green:#2bb47c;
  --green-soft:rgba(43,180,124,.15);
  --amber:#e0a94e;
  --amber-soft:rgba(224,169,78,.16);
  --blue:#5aa0d6;
  --blue-soft:rgba(90,160,214,.16);
  --red:#e07a6e;
  --red-soft:rgba(224,122,110,.15);
  --shadow:0 0 0 1px rgba(255,255,255,.05),0 10px 34px -16px rgba(0,0,0,.7);
  --shadow-lg:0 0 0 1px rgba(255,255,255,.07),0 24px 60px -24px rgba(0,0,0,.8);
  --card-border:1px solid var(--line);
  --panel-bg:linear-gradient(150deg,var(--sidebar-b),var(--sidebar-a));
  --panel-ink:#ffffff;
  --panel-sub:rgba(255,255,255,.7);
  --panel-border:1px solid var(--gold-line);
  --panel-accent:var(--gold);
  --panel-chip-bg:rgba(190,161,100,.18);
  --panel-chip-border:var(--gold-line);
  --panel-chip-ink:var(--gold);
  --panel-hairline:rgba(255,255,255,.12);
  --panel-shadow:var(--shadow-lg);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;height:100%;}
body{
  font-family:var(--sans);background:var(--bg);color:var(--ink);
  font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;
  transition:background .4s ease,color .4s ease;
}
#root{height:100%;}
.num{font-family:var(--serif);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.serif{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;}
button{font-family:inherit;cursor:pointer;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:8px;border:3px solid transparent;background-clip:content-box;}

/* ============================================================
   APP SHELL
   ============================================================ */
.app{display:flex;min-height:100%;}

/* ---------- SIDEBAR ---------- */
.sidebar{
  width:var(--sidebar-w);flex:none;position:sticky;top:0;height:100vh;
  background:linear-gradient(180deg,var(--sidebar-b),var(--sidebar-a));
  color:var(--on-sidebar);display:flex;flex-direction:column;
  padding:26px 18px;z-index:30;transition:background .4s ease;
}
.sb-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 0;}
.sb-brand .logo{width:38px;height:38px;flex:none;}
.sb-brand .nm{font-family:var(--serif);font-size:15.5px;line-height:1.1;font-weight:500;}
.sb-brand .nm small{display:block;font-family:var(--sans);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--on-sidebar-mute);margin-top:3px;font-weight:500;}

.sb-user{display:flex;align-items:center;gap:12px;margin:26px 6px 22px;padding:12px;border-radius:13px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);}
.sb-user .av{width:42px;height:42px;border-radius:50%;flex:none;background:linear-gradient(135deg,var(--gold),#8d7338);display:grid;place-items:center;font-family:var(--serif);font-weight:600;color:#1a1304;font-size:16px;}
.sb-user .uinfo{min-width:0;}
.sb-user .uinfo .un{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sb-user .uinfo .um{font-size:11px;color:var(--on-sidebar-mute);margin-top:1px;}

.sb-nav{display:flex;flex-direction:column;gap:3px;margin-top:4px;flex:1;}
.sb-nav .lbl{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-sidebar-mute);padding:8px 14px 6px;font-weight:600;}
.nav-item{display:flex;align-items:center;gap:13px;padding:11px 14px;border-radius:11px;border:0;background:none;color:var(--on-sidebar);
  font-size:14px;font-weight:450;text-align:left;width:100%;transition:background .18s,color .18s;position:relative;}
.nav-item svg{width:20px;height:20px;flex:none;opacity:.82;stroke-width:1.6;}
.nav-item:hover{background:rgba(255,255,255,.06);}
.nav-item.on{background:rgba(190,161,100,.16);color:#fff;font-weight:600;}
.nav-item.on svg{opacity:1;stroke:var(--gold);}
.nav-item.on::before{content:"";position:absolute;left:-18px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--gold);}
.sb-foot{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);}

/* ---------- MAIN ---------- */
.main{flex:1;min-width:0;display:flex;flex-direction:column;}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:20px clamp(20px,3.4vw,44px);background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);}
.topbar .tb-title h1{font-family:var(--serif);font-weight:500;font-size:27px;margin:0;letter-spacing:-.01em;}
.topbar .tb-title p{margin:3px 0 0;font-size:13.5px;color:var(--muted);}
.tb-right{display:flex;align-items:center;gap:14px;}

.theme-toggle{display:flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px;box-shadow:var(--shadow);}
.theme-toggle button{display:grid;place-items:center;width:34px;height:30px;border:0;border-radius:999px;background:none;color:var(--muted);transition:.2s;}
.theme-toggle button svg{width:17px;height:17px;stroke-width:1.7;}
.theme-toggle button.on{background:var(--gold);color:#1a1304;}
[data-theme="dark"] .theme-toggle button.on{color:#0b1a10;}

.tb-icon{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;color:var(--ink-soft);box-shadow:var(--shadow);transition:.2s;position:relative;}
.tb-icon:hover{color:var(--gold);border-color:var(--gold-line);}
.tb-icon svg{width:19px;height:19px;stroke-width:1.6;}
.tb-icon .dot{position:absolute;top:9px;right:10px;width:7px;height:7px;border-radius:50%;background:var(--gold);border:2px solid var(--surface);}

.page{padding:clamp(20px,3.4vw,44px);max-width:1280px;width:100%;}

/* ============================================================
   PRIMITIVES
   ============================================================ */
.card{background:var(--surface);border:var(--card-border);border-radius:var(--r);box-shadow:var(--shadow);}
.card-pad{padding:24px 26px;}
.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:600;}

/* stat cards */
.stat-grid{display:grid;gap:18px;}
.stat-card{background:var(--surface);border:var(--card-border);border-radius:var(--r);box-shadow:var(--shadow);padding:22px 24px;position:relative;overflow:hidden;}
.stat-card .ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold-deep);margin-bottom:16px;}
[data-theme="dark"] .stat-card .ico{color:var(--gold);}
.stat-card .ico svg{width:19px;height:19px;stroke-width:1.6;}
.stat-card .sl{font-size:12.5px;color:var(--muted);font-weight:500;}
.stat-card .sv{font-size:29px;margin-top:6px;color:var(--ink);white-space:nowrap;letter-spacing:-.025em;}
.stat-card .sv .u{font-size:.5em;color:var(--muted);margin-left:3px;font-family:var(--sans);font-weight:500;}
.stat-card .sd{font-size:12px;margin-top:8px;display:inline-flex;align-items:center;gap:5px;font-weight:600;}
.sd.up{color:var(--green);}.sd.down{color:var(--red);}
.stat-card.feature{background:var(--panel-bg);color:var(--panel-ink);border:var(--panel-border);box-shadow:var(--panel-shadow);}
.stat-card.feature .sl{color:var(--panel-sub);}
.stat-card.feature .sv{color:var(--panel-ink);}
.stat-card.feature .sv .u{color:var(--panel-sub);}
.stat-card.feature .ico{background:var(--gold-soft);color:var(--gold-deep);}
[data-theme="dark"] .stat-card.feature .ico{color:var(--gold);}
.stat-card.feature .hexwm{position:absolute;right:-30px;bottom:-40px;width:150px;opacity:.1;}

/* pills */
.pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:4px 11px;border-radius:999px;letter-spacing:.01em;white-space:nowrap;}
.pill .pd{width:6px;height:6px;border-radius:50%;background:currentColor;}
.pill.green{color:var(--green);background:var(--green-soft);}
.pill.amber{color:var(--amber);background:var(--amber-soft);}
.pill.blue{color:var(--blue);background:var(--blue-soft);}
.pill.gray{color:var(--muted);background:var(--surface-3);}
.pill.gold{color:var(--gold-deep);background:var(--gold-soft);}
[data-theme="dark"] .pill.gold{color:var(--gold);}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;padding:11px 18px;border-radius:11px;border:1px solid transparent;transition:.2s;}
.btn svg{width:17px;height:17px;stroke-width:1.8;}
.btn-gold{background:var(--gold);color:#1a1304;}
.btn-gold:hover{filter:brightness(1.06);box-shadow:0 8px 20px -8px var(--gold);}
.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--ink);box-shadow:var(--shadow);}
.btn-ghost:hover{border-color:var(--gold-line);color:var(--gold-deep);}
[data-theme="dark"] .btn-ghost:hover{color:var(--gold);}
.btn-mini{padding:6px 11px;border-radius:9px;font-size:12px;background:var(--surface-3);color:var(--ink-soft);border:1px solid var(--line);}
.btn-mini:hover{border-color:var(--gold-line);color:var(--gold-deep);}
[data-theme="dark"] .btn-mini:hover{color:var(--gold);}

/* chips / filters */
.chips{display:flex;gap:8px;}
.chip{font-size:13px;font-weight:550;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);transition:.18s;}
.chip:hover{border-color:var(--gold-line);}
.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink);}
[data-theme="dark"] .chip.on{background:var(--gold);color:#0b1a10;border-color:var(--gold);}

/* section heads */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:34px 0 16px;flex-wrap:wrap;}
.sec-head h2{font-family:var(--serif);font-weight:500;font-size:21px;margin:0;}
.sec-head p{font-size:13.5px;color:var(--muted);margin:4px 0 0;}

/* ============================================================
   STATEMENT / TABLE (extrato)
   ============================================================ */
.statement{background:var(--surface);border:var(--card-border);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;}
.st-row{display:grid;align-items:center;gap:16px;padding:17px 26px;border-bottom:1px solid var(--line);transition:background .15s;}
.st-row:last-child{border-bottom:0;}
.st-row.head{padding-top:15px;padding-bottom:15px;background:var(--surface-2);}
.st-row.head .c{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;}
.st-row.body:hover{background:var(--surface-2);}
.st-extrato{grid-template-columns:76px 1.3fr 0.95fr 80px 86px 134px 138px;}
.st-row .c.r{text-align:right;}
.st-date{font-size:13px;color:var(--ink-soft);font-weight:500;}
.st-date b{display:block;font-family:var(--serif);font-size:16px;color:var(--ink);font-weight:500;}
.st-main{font-size:14px;font-weight:600;color:var(--ink);}
.st-main small{display:block;font-size:12px;color:var(--muted);font-weight:500;margin-top:2px;}
.st-val{font-family:var(--serif);font-size:18px;color:var(--ink);text-align:right;font-weight:600;white-space:nowrap;letter-spacing:-.01em;}
.st-sub{font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums;}
.st-actions{display:flex;gap:7px;justify-content:flex-end;}
.dl{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:5px 9px;border-radius:8px;border:1px solid var(--line);color:var(--ink-soft);background:var(--surface);transition:.18s;}
.dl:hover{border-color:var(--gold-line);color:var(--gold-deep);}
[data-theme="dark"] .dl:hover{color:var(--gold);}
.dl svg{width:13px;height:13px;stroke-width:1.8;}

/* empty state */
.empty{text-align:center;padding:60px 20px;color:var(--muted);}
.empty .ico{width:64px;height:64px;border-radius:18px;background:var(--surface-3);display:grid;place-items:center;margin:0 auto 18px;color:var(--muted);}
.empty .ico svg{width:28px;height:28px;stroke-width:1.4;}
.empty h3{font-family:var(--serif);font-weight:500;font-size:19px;color:var(--ink);margin:0 0 6px;}

/* ============================================================
   ROMANEIOS cards + journey
   ============================================================ */
.rom-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.rom-card{background:var(--surface);border:var(--card-border);border-radius:var(--r);box-shadow:var(--shadow);padding:20px 22px;transition:.2s;}
.rom-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);}
.rom-card .rh{display:flex;justify-content:space-between;align-items:flex-start;}
.rom-card .code{font-family:var(--serif);font-size:18px;font-weight:500;}
.rom-card .rdate{font-size:12px;color:var(--muted);margin-top:2px;}
.rom-card .rweight{font-family:var(--serif);font-size:26px;margin:16px 0 2px;}
.rom-card .rweight .u{font-size:.5em;color:var(--muted);font-family:var(--sans);margin-left:3px;}
.rom-card .rorigin{font-size:12.5px;color:var(--ink-soft);display:flex;align-items:center;gap:6px;}
.rom-card .rorigin svg{width:14px;height:14px;stroke-width:1.6;color:var(--muted);}

.journey{display:flex;align-items:center;gap:0;margin-top:16px;}
.jstep{display:flex;align-items:center;gap:8px;flex:1;}
.jdot{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;flex:none;background:var(--surface);}
.jdot.done{border-color:var(--green);background:var(--green);}
.jdot.done svg{width:11px;height:11px;stroke:#fff;stroke-width:2.6;}
.jdot.cur{border-color:var(--gold);box-shadow:0 0 0 4px var(--gold-soft);}
.jdot.cur .ic{width:8px;height:8px;border-radius:50%;background:var(--gold);}
.jline{height:2px;flex:1;background:var(--line-strong);}
.jline.done{background:var(--green);}
.jlabels{display:flex;justify-content:space-between;margin-top:7px;}
.jlabels span{font-size:9.5px;color:var(--muted);letter-spacing:.02em;text-align:center;width:25%;}
.jlabels span.cur{color:var(--gold-deep);font-weight:600;}
[data-theme="dark"] .jlabels span.cur{color:var(--gold);}

/* ============================================================
   CHARTS (análise)
   ============================================================ */
.chart-card{background:var(--surface);border:var(--card-border);border-radius:var(--r);box-shadow:var(--shadow);padding:24px 26px;}
.chart-card h3{font-family:var(--serif);font-weight:500;font-size:18px;margin:0 0 2px;}
.chart-card .csub{font-size:12.5px;color:var(--muted);margin-bottom:20px;}
.bars{display:flex;align-items:flex-end;gap:clamp(6px,1.6vw,16px);height:230px;position:relative;padding-top:10px;}
.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:9px;height:100%;justify-content:flex-end;position:relative;z-index:2;}
.bar{width:100%;max-width:40px;border-radius:7px 7px 0 0;background:linear-gradient(180deg,var(--blue),color-mix(in srgb,var(--blue) 70%,var(--surface)));position:relative;transition:height 1s cubic-bezier(.3,.8,.3,1);}
.bar.hi{background:linear-gradient(180deg,var(--gold),var(--gold-deep));}
.bar .bv{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-family:var(--serif);font-size:12.5px;font-weight:500;white-space:nowrap;color:var(--ink);}
.bar-col .blab{font-size:11px;color:var(--muted);}
.avg-line{position:absolute;left:0;right:0;border-top:1.6px dashed var(--gold);z-index:3;pointer-events:none;}
.avg-line .at{position:absolute;right:0;top:-10px;background:var(--gold);color:#1a1304;font-size:10px;font-weight:700;padding:2px 7px;border-radius:6px;letter-spacing:.02em;}
[data-theme="dark"] .avg-line .at{color:#0b1a10;}

.donut-wrap{display:flex;align-items:center;gap:30px;flex-wrap:wrap;}
.donut{position:relative;width:172px;height:172px;flex:none;}
.donut .ctr{position:absolute;inset:0;display:grid;place-content:center;text-align:center;}
.donut .ctr .dn{font-family:var(--serif);font-size:28px;font-weight:500;}
.donut .ctr .dl{font-size:11px;color:var(--muted);margin-top:2px;}
.legend{display:flex;flex-direction:column;gap:13px;flex:1;min-width:160px;}
.legend .lg{display:flex;align-items:center;gap:11px;font-size:13.5px;}
.legend .sw{width:12px;height:12px;border-radius:4px;flex:none;}
.legend .lv{margin-left:auto;font-family:var(--serif);font-weight:500;color:var(--ink);}

.note-card{background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:var(--r);padding:20px 24px;display:flex;gap:16px;align-items:flex-start;}
.note-card .ico{width:38px;height:38px;border-radius:11px;background:var(--gold);color:#1a1304;display:grid;place-items:center;flex:none;}
[data-theme="dark"] .note-card .ico{color:#0b1a10;}
.note-card .ico svg{width:20px;height:20px;stroke-width:1.7;}
.note-card h4{font-family:var(--serif);font-weight:500;font-size:16px;margin:0 0 4px;color:var(--ink);}
.note-card p{font-size:13.5px;color:var(--ink-soft);margin:0;}

/* ============================================================
   SIMULADOR
   ============================================================ */
.sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}
.field{margin-bottom:24px;}
.field label{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:10px;white-space:nowrap;gap:8px;}
.field label .lv{font-family:var(--serif);font-size:20px;color:var(--gold-deep);font-weight:500;}
[data-theme="dark"] .field label .lv{color:var(--gold);}
.input{width:100%;font-family:var(--serif);font-size:22px;font-weight:500;padding:13px 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);transition:.2s;}
.input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft);}
.input-wrap{position:relative;}
.input-wrap .pre{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted);font-family:var(--serif);font-size:18px;}
.input-wrap.has-pre .input{padding-left:42px;}
.live-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--green);background:var(--green-soft);padding:3px 9px;border-radius:999px;white-space:nowrap;}
.live-tag .pulse{width:7px;height:7px;border-radius:50%;background:var(--green);position:relative;}
.live-tag .pulse::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:1px solid var(--green);animation:pr 1.8s ease-out infinite;}
@keyframes pr{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.6);opacity:0}}

/* slider */
.slider{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:999px;outline:none;
  background:linear-gradient(90deg,var(--gold) var(--pct,50%),var(--surface-3) var(--pct,50%));}
.slider::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:2px solid var(--gold);
  box-shadow:0 3px 10px -2px rgba(0,0,0,.3),0 0 0 5px var(--gold-soft);cursor:grab;transition:transform .1s;}
.slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.1);}
[data-theme="dark"] .slider::-webkit-slider-thumb{background:#1c3a56;}
.slider::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:2px solid var(--gold);cursor:grab;}
.slider-scale{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:8px;}

.result{background:var(--panel-bg);border:var(--panel-border);border-radius:var(--r);padding:30px 30px 34px;color:var(--panel-ink);position:relative;overflow:hidden;box-shadow:var(--panel-shadow);}
.result .hexwm{position:absolute;right:-50px;top:-40px;width:220px;opacity:.09;}
.result .rl-head{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--panel-sub);font-weight:600;}
.result .rrow{display:flex;justify-content:space-between;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--panel-hairline);}
.result .rrow .rk{font-size:13.5px;color:var(--panel-sub);}
.result .rrow .rv{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--panel-ink);white-space:nowrap;}
.result .total{margin-top:22px;}
.result .total .tk{font-size:13px;color:var(--panel-accent);letter-spacing:.06em;text-transform:uppercase;font-weight:600;}
.result .total .tv{font-family:var(--serif);font-size:clamp(40px,5.5vw,56px);font-weight:600;color:var(--panel-accent);line-height:1;margin-top:8px;}
.result .total .tv .pre{font-size:.45em;color:var(--panel-sub);margin-right:6px;font-weight:500;}
.result .rnote{font-size:11.5px;color:var(--panel-sub);margin-top:18px;line-height:1.5;}

/* ============================================================
   ROYALTIES / INSUMOS lists reuse statement
   ============================================================ */
.st-royalty{grid-template-columns:84px 1.5fr 1fr 80px 130px 110px;}
.st-insumo{grid-template-columns:1.5fr 90px 1fr 1fr 110px 100px;}
.piggy{background:var(--panel-bg);color:var(--panel-ink);border:var(--panel-border);border-radius:var(--r);padding:26px;position:relative;overflow:hidden;box-shadow:var(--panel-shadow);}
.piggy .hexwm{position:absolute;right:-40px;bottom:-50px;width:180px;opacity:.1;}
.piggy .pl{font-size:12.5px;color:var(--panel-sub);font-weight:500;}
.piggy .pv{font-family:var(--serif);font-size:42px;font-weight:600;color:var(--panel-accent);margin-top:8px;line-height:1;}
.piggy .pv .pre{font-size:.42em;color:var(--panel-sub);margin-right:5px;}
.piggy .pgrow{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:12.5px;color:var(--panel-sub);}

/* mini bar (overview deliveries) */
.minibars{display:flex;align-items:flex-end;gap:8px;height:90px;}
.minibars .mb{flex:1;background:var(--gold-soft);border-radius:5px 5px 0 0;position:relative;min-height:6px;}
.minibars .mb.last{background:linear-gradient(180deg,var(--gold),var(--gold-deep));}

/* ---------- saldo card (a receber) ---------- */
.saldo-card{background:var(--panel-bg);color:var(--panel-ink);border:var(--panel-border);border-radius:var(--r);padding:30px 32px;position:relative;overflow:hidden;box-shadow:var(--panel-shadow);}
.saldo-card .hexwm{position:absolute;right:-30px;top:-30px;width:230px;opacity:.1;}
.saldo-card .sc-l{font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--panel-sub);font-weight:600;}
.saldo-card .sc-v{font-family:var(--serif);font-weight:700;font-size:clamp(40px,5vw,56px);color:var(--panel-accent);line-height:1;margin:12px 0 6px;letter-spacing:-.02em;}
.saldo-card .sc-v .pre{font-size:.42em;color:var(--panel-sub);margin-right:6px;font-weight:500;}
.saldo-card .sc-sub{font-size:13.5px;color:var(--panel-sub);display:flex;align-items:center;gap:8px;}
.saldo-card .sc-chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel-chip-bg);border:1px solid var(--panel-chip-border);color:var(--panel-chip-ink);font-size:12px;font-weight:600;padding:4px 11px;border-radius:999px;white-space:nowrap;}

/* ---------- lotes timeline (5 etapas) ---------- */
.lotes-track{display:flex;flex-direction:column;gap:6px;}
.lt-row{padding:16px 4px;border-bottom:1px solid var(--line);}
.lt-row:last-child{border-bottom:0;}
.lt-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.lt-lote{font-family:var(--serif);font-weight:600;font-size:16px;}
.lt-peso{font-size:12.5px;color:var(--muted);}
.lt-head .pill{margin-left:auto;}
.lt-steps{display:flex;align-items:center;}
.lt-node{width:24px;height:24px;border-radius:50%;border:2px solid var(--line-strong);background:var(--surface);display:grid;place-items:center;flex:none;position:relative;z-index:2;}
.lt-node.done{border-color:var(--green);background:var(--green);}
.lt-node.done svg{width:12px;height:12px;stroke:#fff;stroke-width:2.8;}
.lt-node.cur{border-color:var(--gold);}
.lt-node.cur .ic{width:9px;height:9px;border-radius:50%;background:var(--gold);}
.lt-node.cur::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--gold);animation:ltpulse 1.8s ease-out infinite;}
@keyframes ltpulse{0%{transform:scale(.7);opacity:.85}100%{transform:scale(1.7);opacity:0}}
.lt-line{height:2.5px;flex:1;background:var(--line-strong);}
.lt-line.done{background:var(--green);}
.lt-labels{display:flex;margin-top:8px;}
.lt-labels span{flex:1;font-size:10px;color:var(--muted);text-align:center;}
.lt-labels span:first-child{text-align:left;}.lt-labels span:last-child{text-align:right;}
.lt-labels span.cur{color:var(--gold-deep);font-weight:700;}
[data-theme="dark"] .lt-labels span.cur{color:var(--gold);}

/* ---------- soft gold bars (recebimentos) ---------- */
.sbars{display:flex;align-items:flex-end;gap:clamp(8px,2vw,18px);height:180px;padding-top:24px;}
.sbar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:9px;height:100%;justify-content:flex-end;}
.sbar{width:100%;max-width:44px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,var(--gold),var(--gold-deep));position:relative;transition:height 1s cubic-bezier(.3,.8,.3,1);min-height:6px;}
.sbar.soft{background:var(--gold-soft);}
.sbar .sv{position:absolute;top:-21px;left:50%;transform:translateX(-50%);font-family:var(--serif);font-weight:600;font-size:12px;color:var(--ink);white-space:nowrap;}
.sbar-col .sl{font-size:11px;color:var(--muted);}

/* ---------- line chart (teor) ---------- */
.linechart{width:100%;height:180px;display:block;}
.lc-labels{display:flex;margin-top:6px;}
.lc-labels span{flex:1;font-size:11px;color:var(--muted);text-align:center;}

/* ---------- cotação strip ---------- */
.cotacao-strip{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--line);border-radius:13px;padding:14px 20px;}
.cotacao-strip .ci{display:flex;flex-direction:column;}
.cotacao-strip .ci .k{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;}
.cotacao-strip .ci .v{font-family:var(--serif);font-weight:600;font-size:17px;white-space:nowrap;}
.cotacao-strip .sep{width:1px;height:30px;background:var(--line);}
.cotacao-strip .live{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--green);}
.cotacao-strip .live .pulse{width:8px;height:8px;border-radius:50%;background:var(--green);position:relative;}
.cotacao-strip .live .pulse::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:1px solid var(--green);animation:pr 1.8s ease-out infinite;}

/* ============================================================
   MOBILE
   ============================================================ */
.mobile-top{display:none;}
.bottom-nav{display:none;}
@media (max-width:980px){
  .sim-grid{grid-template-columns:1fr;}
  .two-col{grid-template-columns:1fr !important;}
}
@media (max-width:860px){
  .sidebar{display:none;}
  .app{flex-direction:column;}
  .topbar{display:none;}
  .mobile-top{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;
    padding:14px 18px;background:linear-gradient(180deg,var(--sidebar-b),var(--sidebar-a));color:#fff;}
  .mobile-top .mt-brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:15px;}
  .mobile-top .mt-brand .logo{width:30px;height:30px;}
  .page{padding:18px 16px 96px;}
  .bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--surface);
    border-top:1px solid var(--line);padding:8px 6px calc(8px + env(safe-area-inset-bottom));justify-content:space-around;box-shadow:0 -6px 24px -12px rgba(0,0,0,.2);}
  .bn-item{display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:none;color:var(--muted);font-size:9.5px;font-weight:600;padding:4px 8px;flex:1;}
  .bn-item svg{width:21px;height:21px;stroke-width:1.7;}
  .bn-item.on{color:var(--gold-deep);}
  [data-theme="dark"] .bn-item.on{color:var(--gold);}
  .st-extrato,.st-royalty,.st-insumo{grid-template-columns:1fr auto;gap:8px;}
  .st-row .hide-m{display:none;}
  .stat-card .sv{font-size:27px;}
}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media (max-width:1100px){.three-col{grid-template-columns:1fr 1fr;}}
@media (max-width:620px){.three-col{grid-template-columns:1fr;}}

/* ---------- AJUDA / SUPORTE ---------- */
.help-fab{position:fixed;right:28px;bottom:28px;z-index:60;width:58px;height:58px;border-radius:50%;border:0;
  background:linear-gradient(140deg,var(--gold),var(--gold-deep));color:#1a1304;display:grid;place-items:center;
  box-shadow:0 14px 30px -10px rgba(190,161,100,.6),0 4px 10px rgba(0,0,0,.15);transition:transform .2s;}
.help-fab:hover{transform:translateY(-3px) scale(1.04);}
.help-fab svg{width:25px;height:25px;stroke-width:1.7;}
@media (max-width:860px){ .help-fab{bottom:84px;right:18px;width:52px;height:52px;} }
.help-overlay{position:fixed;inset:0;z-index:70;background:rgba(9,18,31,.55);backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;padding:24px;animation:ovf .25s ease;}
@keyframes ovf{from{opacity:0}to{opacity:1}}
.help-sheet{background:var(--surface);border:var(--card-border);border-radius:20px;box-shadow:var(--shadow-lg);
  width:100%;max-width:440px;max-height:86vh;overflow:auto;padding:26px 26px 28px;animation:shup .3s cubic-bezier(.2,.8,.3,1);}
@keyframes shup{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.hs-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px;}
.hs-head h3{margin:0;}
.hs-close{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);display:grid;place-items:center;flex:none;}
.hs-close:hover{border-color:var(--gold-line);color:var(--gold-deep);}
.hs-close svg{width:18px;height:18px;stroke-width:1.8;}
.hs-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;}
.hs-action{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 16px;border-radius:13px;border:1px solid var(--line);background:var(--surface-2);transition:.18s;}
.hs-action:hover{border-color:var(--gold-line);background:var(--gold-soft);}
.hs-action .hsi{width:40px;height:40px;border-radius:11px;background:var(--gold-soft);color:var(--gold-deep);display:grid;place-items:center;flex:none;}
[data-theme="dark"] .hs-action .hsi{color:var(--gold);}
.hs-action .hsi svg{width:20px;height:20px;stroke-width:1.6;}
.hs-action .hst{min-width:0;}
.hs-action .hst .t{font-size:14.5px;font-weight:600;color:var(--ink);}
.hs-action .hst .s{font-size:12.5px;color:var(--muted);margin-top:1px;}
.hs-faq-h{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:6px;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item:last-child{border-bottom:0;}
.faq-q{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:15px 2px;font-size:14px;font-weight:600;color:var(--ink);background:none;border:0;}
.faq-a{font-size:13.5px;color:var(--ink-soft);padding:0 2px 16px;line-height:1.55;}
@media (max-width:560px){
  .help-overlay{align-items:flex-end;padding:0;}
  .help-sheet{max-width:none;border-radius:22px 22px 0 0;max-height:90vh;padding-bottom:34px;}
}

/* fade-in for screen changes */
.screen-enter{animation:fadeUp .45s cubic-bezier(.2,.7,.2,1);}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.screen-enter{animation:none;}}

/* cotação real em destaque no dashboard */
.cotacao-strip.cotacao-live{border-color:rgba(190,161,100,.55);box-shadow:0 0 0 1px rgba(190,161,100,.16),0 6px 22px -10px rgba(20,40,30,.16);background:linear-gradient(180deg,var(--surface),var(--surface-2));}
.cotacao-strip.cotacao-live .ci .v{font-size:20px;}
.cotacao-strip .live.is-ref{color:var(--muted);}
.cotacao-strip .live.is-ref .pulse{background:var(--muted);}
