
/* v11 — paleta GALAEM, superfícies em degradê e interação consistente. */
@media screen {
  :root {
    --bg:#261d2d; --bg2:#3d2e49; --bg3:#483753; --bg4:#54415e; --bg5:#62506d;
    --border:#665371; --border2:#806d88; --text:#fff8ef; --text2:#ddd0dd; --text3:#bdaabf;
    --accent:#f2a12a; --accent2:#e56c1c; --accent-dim:rgba(242,146,29,.17);
    --accent-glow:0 0 0 3px rgba(242,146,29,.22);
    --gold:#f2c230; --purple:#a9a9c8; --orange:#f2921d; --red:#f24f13;
    --shadow:0 16px 48px rgba(16,8,22,.24);
  }
  body.light-mode {
    --bg:#f7f2f1; --bg2:#fffaf7; --bg3:#f5eeeb; --bg4:#eee2e0; --bg5:#e6d6d9;
    --border:#e9dde1; --border2:#d8cbd5; --text:#392b40; --text2:#655766; --text3:#776b7c;
    --accent:#bc481b; --accent2:#9d3b18; --accent-dim:rgba(242,146,29,.13);
    --accent-glow:0 0 0 3px rgba(242,146,29,.18);
    --gold:#a76c08; --purple:#656590; --orange:#bd541a; --red:#c63e18;
    --shadow:0 14px 42px rgba(70,51,79,.09);
  }
  body { background:var(--bg); }
  body::before { background:radial-gradient(circle at 5% 10%,rgba(242,194,48,.15),transparent 34%),radial-gradient(circle at 90% 30%,rgba(128,130,166,.2),transparent 42%); }
  body.light-mode::before { display:block; background:radial-gradient(circle at 6% 3%,rgba(242,194,48,.19),transparent 33%),radial-gradient(circle at 91% 27%,rgba(128,130,166,.2),transparent 36%); }
  .app-shell { background:linear-gradient(135deg,#32263b 0%,#43334f 47%,#2b2133 100%); }
  body.light-mode .app-shell { background:linear-gradient(135deg,#f7e9dc 0%,#eee9ef 45%,#f9efe8 100%); }
  .sidebar,body.light-mode .sidebar { background:linear-gradient(155deg,rgba(72,55,83,.72),rgba(52,39,63,.64)) !important; border-right:1px solid rgba(255,255,255,.18); box-shadow:12px 0 32px rgba(27,14,38,.09); backdrop-filter:blur(26px) saturate(155%); -webkit-backdrop-filter:blur(26px) saturate(155%); }
  body.light-mode .sidebar { background:linear-gradient(155deg,rgba(255,250,247,.72),rgba(245,235,240,.66)) !important; border-right-color:rgba(255,255,255,.75); box-shadow:12px 0 35px rgba(70,51,79,.07); }
  .sidebar-brand { border-bottom:1px solid rgba(255,255,255,.12); }
  body.light-mode .sidebar-brand { border-bottom-color:rgba(70,51,79,.08); }
  .brand-icon,body.light-mode .brand-icon { background:linear-gradient(145deg,#f2c230 0%,#f2921d 52%,#f24f13 100%); color:#37243a; box-shadow:0 8px 20px rgba(242,146,29,.22); }
  .brand-icon span { color:#46334f !important; }
  .brand-sub,body.light-mode .brand-sub { color:var(--accent); }
  .nav-item,body.light-mode .nav-item { transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease; }
  .nav-item:hover,body.light-mode .nav-item:hover { transform:translateX(3px); background:linear-gradient(105deg,rgba(242,194,48,.18),rgba(242,79,19,.11)); color:var(--text); box-shadow:inset 0 0 0 1px rgba(242,146,29,.18); }
  .nav-item.active,body.light-mode .nav-item.active { background:linear-gradient(105deg,rgba(242,194,48,.24),rgba(242,146,29,.15) 70%,rgba(128,130,166,.12)); color:var(--text); box-shadow:inset 0 0 0 1px rgba(242,146,29,.21); }
  .nav-icon,body.light-mode .nav-icon { background:linear-gradient(145deg,rgba(242,194,48,.18),rgba(128,130,166,.2)); color:var(--accent); }
  .nav-item.active .nav-icon,body.light-mode .nav-item.active .nav-icon { background:linear-gradient(145deg,#f2c230,#f2921d); color:#352539; }
  .nav-badge { background:linear-gradient(135deg,rgba(242,194,48,.27),rgba(242,146,29,.2)); color:var(--text); }
  .sidebar-footer,body.light-mode .sidebar-footer { border-color:rgba(128,130,166,.2); }
  .topbar,body.light-mode .topbar { background:linear-gradient(100deg,rgba(61,46,73,.85),rgba(72,55,83,.77)); border-bottom:1px solid rgba(255,255,255,.12); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); }
  body.light-mode .topbar { background:linear-gradient(100deg,rgba(255,250,247,.88),rgba(247,240,243,.84)); border-bottom-color:rgba(70,51,79,.09); }
  .topbar-pill,body.light-mode .topbar-pill,#tema-btn { background:linear-gradient(135deg,var(--bg2),var(--bg3)); border-color:var(--border); }
  .topbar-pill .dot { background:#f2921d; }
  .content { background:radial-gradient(circle at 85% 10%,rgba(128,130,166,.16),transparent 36%),radial-gradient(circle at 22% 82%,rgba(242,146,29,.08),transparent 42%),linear-gradient(135deg,#2b2133,#3b2d45 54%,#30253b); }
  body.light-mode .content { background:radial-gradient(circle at 86% 12%,rgba(128,130,166,.2),transparent 38%),radial-gradient(circle at 15% 75%,rgba(242,194,48,.13),transparent 45%),linear-gradient(135deg,#f9f4ef,#f1eaf0 55%,#f9f1eb); }
  .card,.kpi-card,body.light-mode .card,body.light-mode .kpi-card { background:linear-gradient(140deg,var(--bg2),var(--bg3)); border:1px solid var(--border); box-shadow:var(--shadow); }
  .card-title,body.light-mode .card-title,.kpi-label,body.light-mode .kpi-label { color:var(--text2); }
  .kpi-card:hover { border-color:var(--accent); box-shadow:0 13px 32px rgba(242,146,29,.12); }
  .kpi-card::before { background:linear-gradient(90deg,#f2c230,#f2921d,#f24f13); }
  input,select,textarea,body.light-mode input,body.light-mode select,body.light-mode textarea { background:linear-gradient(135deg,var(--bg2),var(--bg3)); border-color:var(--border2); color:var(--text); }
  input:focus,select:focus,textarea:focus { border-color:var(--accent); }
  .btn-primary,body.light-mode .btn-primary { background:linear-gradient(110deg,#f2c230,#f2921d 57%,#ef6b18); border:1px solid rgba(242,146,29,.25); color:#342438; box-shadow:0 5px 15px rgba(242,146,29,.16); }
  .btn-primary:hover,body.light-mode .btn-primary:hover { background:linear-gradient(110deg,#f8d35a,#f7a43b 56%,#f47e26); color:#342438; box-shadow:0 10px 24px rgba(242,146,29,.23); }
  .btn-secondary,body.light-mode .btn-secondary { background:linear-gradient(130deg,var(--bg2),var(--bg4)); color:var(--text); border-color:var(--border2); }
  .btn-secondary:hover,body.light-mode .btn-secondary:hover { background:linear-gradient(125deg,var(--bg3),var(--bg5)); border-color:var(--accent); color:var(--text); }
  .btn-ghost { background:linear-gradient(115deg,transparent,rgba(128,130,166,.07)); }
  .btn-ghost:hover { background:linear-gradient(115deg,var(--accent-dim),rgba(128,130,166,.13)); }
  .btn-danger { background:linear-gradient(120deg,rgba(242,79,19,.11),rgba(242,79,19,.2)); }
  .btn-danger:hover { background:linear-gradient(120deg,rgba(242,79,19,.2),rgba(242,79,19,.29)); }
  .btn-success { background:linear-gradient(120deg,rgba(44,144,108,.1),rgba(44,144,108,.2)); }
  .btn-gold { background:linear-gradient(120deg,rgba(242,194,48,.13),rgba(242,146,29,.2)); }
  button:not(:disabled),.btn,.nav-item,.mob-nav-btn,.tipo-btn,.quote-type-option,[role="button"] { transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,background .2s ease,border-color .2s ease,color .2s ease; }
  button:not(:disabled):hover,.btn:hover,.mob-nav-btn:hover,.tipo-btn:hover,.quote-type-option:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(70,51,79,.14); filter:brightness(1.04); }
  button:not(:disabled):active,.btn:active,.mob-nav-btn:active,.tipo-btn:active { transform:translateY(0) scale(.98); }
  button:focus-visible,.nav-item:focus-visible,.mob-nav-btn:focus-visible,[role="button"]:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
  .tipo-btn.active,body.light-mode .tipo-btn.active { background:linear-gradient(110deg,#f2c230,#f2921d); color:#342438; }
  .tipo-btn.fdm-active { background:linear-gradient(110deg,#8082a6,#a49dbd); color:#30283b; }
  .tipo-switch,body.light-mode .tipo-switch,.quote-type-option { background:linear-gradient(135deg,var(--bg3),var(--bg4)); }
  .quote-type-option.selected { background:linear-gradient(135deg,rgba(242,194,48,.19),rgba(242,146,29,.1)); border-color:var(--accent); }
  .modal,.dashboard-filter-dialog { background:linear-gradient(145deg,var(--bg2),var(--bg3)); border-color:var(--border2); }
  .mobile-bottom-nav,body.light-mode .mobile-bottom-nav { background:linear-gradient(100deg,var(--bg2),var(--bg3)); }
  .mob-nav-btn.active { color:var(--accent); }
  thead th,body.light-mode thead th { background:linear-gradient(100deg,var(--bg3),var(--bg4)); color:var(--text2); }
  tbody tr:hover { background:linear-gradient(100deg,var(--accent-dim),rgba(128,130,166,.07)); }
  #tab-dashboard .dashboard-hero,body.light-mode #tab-dashboard .dashboard-hero { background:linear-gradient(112deg,rgba(242,194,48,.19),rgba(242,146,29,.11) 48%,rgba(128,130,166,.21)); border:1px solid rgba(242,146,29,.2); }
  body.light-mode #tab-dashboard .dashboard-hero { background:linear-gradient(112deg,#fff0cd,#fde6cf 48%,#e9e2ed); }
  .dashboard-eyebrow { color:var(--accent); }
  .dashboard-hero-period { color:#f24f13; }
  .dashboard-hero-month { background:linear-gradient(135deg,var(--bg2),var(--bg3)); border-color:var(--border); }
  #tab-dashboard .dashboard-disclosure,body.light-mode #tab-dashboard .dashboard-disclosure { background:linear-gradient(145deg,var(--bg2),var(--bg3)); border-color:var(--border); box-shadow:var(--shadow); }
  #tab-dashboard .dashboard-disclosure > summary::before { background:linear-gradient(140deg,rgba(242,194,48,.26),rgba(242,146,29,.12)); color:var(--accent); }
  #tab-dashboard .dashboard-disclosure > summary:hover { background:linear-gradient(100deg,rgba(242,194,48,.09),rgba(128,130,166,.08)); }
  #tab-dashboard .finance-donut-center { background:var(--bg2); }
  #tab-dashboard .finance-slice { stroke:var(--bg2); }
  #tab-dashboard .finance-legend-button:hover,#tab-dashboard .finance-legend-button.is-selected { background:linear-gradient(100deg,rgba(242,194,48,.13),rgba(128,130,166,.1)); }
  #tab-dashboard .finance-legend-button.is-selected .finance-legend-name { color:var(--accent); }
  #dashboard-filter-modal .dashboard-filter-card { background:linear-gradient(145deg,var(--bg3),var(--bg4)); }
  #dashboard-filter-modal .dashboard-filter-stat { background:linear-gradient(120deg,var(--bg2),var(--bg3)); }
  .dashboard-modal-close { background:linear-gradient(120deg,var(--bg2),var(--bg3)); }
  @media (hover:none) { button:not(:disabled):hover,.btn:hover,.mob-nav-btn:hover,.tipo-btn:hover,.quote-type-option:hover,.nav-item:hover { transform:none; box-shadow:none; filter:none; } }
  @media (prefers-reduced-motion:reduce) { button,.btn,.nav-item,.mob-nav-btn,.tipo-btn,.quote-type-option,[role="button"] { transition:none !important; } button:hover,.btn:hover,.nav-item:hover,.mob-nav-btn:hover,.tipo-btn:hover,.quote-type-option:hover { transform:none !important; } }
}
