/* ============================================================================
   FOLLOWINGSTAR · TEMA VISUAL COMPARTILHADO
   Padroniza os módulos legados com o mesmo universo visual do dashboard:
   azul profundo, ouro, vidro escuro, grade técnica e acabamento institucional.
   ============================================================================ */

body.fs-theme{
  --fs-bg:#060912;
  --fs-bg-2:#090e19;
  --fs-panel:#0d1422;
  --fs-panel-2:#121c2e;
  --fs-panel-3:#18243a;
  --fs-line:#263754;
  --fs-line-soft:rgba(62,84,126,.42);
  --fs-text:#eef3fb;
  --fs-muted:#96a9c9;
  --fs-dim:#5c7094;
  --fs-gold:#e8b654;
  --fs-gold-bright:#ffd98a;
  --fs-gold-soft:rgba(232,182,84,.11);
  --fs-gold-glow:rgba(232,182,84,.26);
  --fs-blue:#4f8fff;
  --fs-blue-soft:rgba(79,143,255,.12);
  --fs-green:#3bd7a5;
  --fs-red:#ff637c;
  --fs-yellow:#ffc65f;
  --fs-purple:#a78bfa;
  --fs-shadow:0 22px 55px rgba(0,0,0,.34);
  --fs-shadow-soft:0 12px 32px rgba(0,0,0,.22);
  --fs-radius:14px;

  /* aliases usados pelos diferentes módulos */
  --bg:var(--fs-bg);
  --bg-soft:var(--fs-bg-2);
  --surface:var(--fs-panel);
  --surface2:var(--fs-panel-2);
  --surface3:var(--fs-panel-3);
  --surface-soft:var(--fs-panel-2);
  --surface-alt:var(--fs-panel-3);
  --card:var(--fs-panel);
  --card2:var(--fs-panel-2);
  --border:var(--fs-line);
  --border-soft:var(--fs-line-soft);
  --line:var(--fs-line);
  --text:var(--fs-text);
  --text-muted:var(--fs-muted);
  --muted:var(--fs-muted);
  --text-dim:var(--fs-dim);
  --dim:var(--fs-dim);
  --accent:var(--fs-gold);
  --accent2:var(--fs-blue);
  --accent-glow:var(--fs-gold-glow);
  --blue:var(--fs-blue);
  --blue-dim:var(--fs-blue-soft);
  --green:var(--fs-green);
  --red:var(--fs-red);
  --yellow:var(--fs-yellow);
  --purple:var(--fs-purple);
  --radius:var(--fs-radius);
  --radius-sm:9px;

  color:var(--fs-text);
  background:
    radial-gradient(70% 55% at 8% -8%,rgba(232,182,84,.10),transparent 58%),
    radial-gradient(58% 52% at 100% 0%,rgba(42,94,190,.15),transparent 64%),
    radial-gradient(60% 70% at 75% 110%,rgba(26,58,123,.09),transparent 65%),
    linear-gradient(180deg,var(--fs-bg),#070b14 62%,#050810);
  min-height:100vh;
  color-scheme:dark;
}

body.fs-theme::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(rgba(232,182,84,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(79,143,255,.025) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(80% 70% at 50% 28%,#000 25%,transparent 100%);
  mask-image:radial-gradient(80% 70% at 50% 28%,#000 25%,transparent 100%);
  opacity:1;
  animation:none;
}

body.fs-theme::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 15% 18%,rgba(255,217,138,.06) 0 1px,transparent 1.5px),
    radial-gradient(circle at 82% 28%,rgba(79,143,255,.08) 0 1px,transparent 1.5px),
    radial-gradient(circle at 42% 76%,rgba(255,255,255,.04) 0 1px,transparent 1.5px);
  background-size:170px 170px,210px 210px,260px 260px;
  opacity:.75;
}

body.fs-theme *,body.fs-theme *::before,body.fs-theme *::after{box-sizing:border-box}
body.fs-theme ::selection{background:rgba(232,182,84,.30);color:#fff}
body.fs-theme a{color:inherit}
body.fs-theme :focus-visible{outline:2px solid var(--fs-gold);outline-offset:2px}
body.fs-theme button,body.fs-theme input,body.fs-theme select,body.fs-theme textarea{font-family:inherit}
body.fs-theme input::placeholder,body.fs-theme textarea::placeholder{color:#526582}

/* ── MARCA COMPARTILHADA ─────────────────────────────────────────────── */
.fs-brand-symbol{
  width:36px;
  height:36px;
  object-fit:contain;
  flex:0 0 auto;
  border-radius:50%;
  filter:drop-shadow(0 0 10px rgba(232,182,84,.28));
}
.fs-brand-block{display:flex;flex-direction:column;line-height:1.08;min-width:0}
.fs-brand-block strong{font-size:12.5px;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}
.fs-brand-block small{font-size:8.5px;color:var(--fs-muted);letter-spacing:.12em;text-transform:uppercase;margin-top:4px;white-space:nowrap}

/* ── TOPO DOS MÓDULOS COM SIDEBAR ───────────────────────────────────── */
body.fs-theme .shell{
  grid-template-columns:232px minmax(0,1fr);
  grid-template-rows:64px minmax(0,1fr);
  min-height:100vh;
  background:transparent;
}
body.fs-theme .topbar{
  min-height:64px;
  height:64px;
  padding:0 22px;
  gap:14px;
  background:rgba(6,9,18,.84);
  border-bottom:1px solid var(--fs-line);
  -webkit-backdrop-filter:blur(16px) saturate(1.25);
  backdrop-filter:blur(16px) saturate(1.25);
  box-shadow:0 10px 34px rgba(0,0,0,.20);
  position:sticky;
  top:0;
  z-index:80;
}
body.fs-theme .topbar::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(79,143,255,.55) 22%,rgba(232,182,84,.9) 50%,rgba(79,143,255,.55) 78%,transparent);
  opacity:.8;
  animation:none;
}
body.fs-theme .topbar-logo{
  display:flex;
  align-items:center;
  gap:11px;
  color:var(--fs-text);
  font-weight:700;
  font-size:13px;
  letter-spacing:.025em;
  text-transform:none;
  min-width:0;
}
body.fs-theme .topbar-logo svg{display:none}
body.fs-theme .topbar-logo-mark,
body.fs-theme .brand-icon{
  width:36px;height:36px;
  border-radius:50%;
  padding:0;
  display:grid;
  place-items:center;
  background:transparent;
  border:none;
  box-shadow:none;
  color:transparent;
  overflow:hidden;
}
body.fs-theme .topbar-logo-mark img,
body.fs-theme .brand-icon img{width:36px;height:36px;object-fit:contain}
body.fs-theme .brand-copy span{font-weight:700;color:var(--fs-text)}
body.fs-theme .brand-copy small{color:var(--fs-muted)}
body.fs-theme .topbar-badge,
body.fs-theme .badge{
  color:var(--fs-gold-bright);
  background:var(--fs-gold-soft);
  border:1px solid rgba(232,182,84,.28);
  box-shadow:inset 0 0 16px rgba(232,182,84,.035);
  padding:4px 10px;
  border-radius:999px;
  font-size:9px;
  letter-spacing:.11em;
  text-transform:uppercase;
  font-weight:700;
}
body.fs-theme .topbar-right{gap:10px}
body.fs-theme .user-label,
body.fs-theme .topbar-right > span:not(.topbar-badge){color:var(--fs-muted)!important}

body.fs-theme .sidebar{
  background:linear-gradient(180deg,rgba(13,20,34,.92),rgba(7,11,20,.90));
  border-right:1px solid var(--fs-line);
  padding:18px 0 20px;
  gap:4px;
  min-height:0;
  position:sticky;
  top:64px;
  height:calc(100vh - 64px);
  overflow-y:auto;
  z-index:45;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
body.fs-theme .sidebar::-webkit-scrollbar{width:5px}
body.fs-theme .sidebar::-webkit-scrollbar-thumb{background:#263754;border-radius:8px}
body.fs-theme .sidebar-section{
  color:#607498;
  font-size:8.5px;
  letter-spacing:.20em;
  padding:0 16px;
  margin:16px 0 5px;
}
body.fs-theme .nav-item{
  position:relative;
  min-height:38px;
  margin:0 9px;
  width:calc(100% - 18px);
  padding:9px 13px;
  border-radius:9px;
  color:var(--fs-muted);
  font-size:12px;
  font-weight:600;
  background:transparent;
  border:1px solid transparent;
  transform:none;
  transition:background .16s,border-color .16s,color .16s,box-shadow .16s;
}
body.fs-theme .nav-item:hover{
  color:var(--fs-text);
  background:rgba(232,182,84,.055);
  border-color:rgba(232,182,84,.12);
  transform:none;
}
body.fs-theme .nav-item.active{
  color:var(--fs-gold-bright);
  background:linear-gradient(90deg,rgba(232,182,84,.14),rgba(79,143,255,.045));
  border-color:rgba(232,182,84,.24);
  box-shadow:inset 3px 0 var(--fs-gold),0 0 18px rgba(232,182,84,.06);
}
body.fs-theme .nav-item::before{display:none}
body.fs-theme .nav-item .nav-dot{
  width:6px;height:6px;
  background:currentColor;
  opacity:.72;
  box-shadow:none;
}
body.fs-theme .nav-item.active .nav-dot{opacity:1;box-shadow:0 0 9px currentColor}
body.fs-theme .main{min-width:0;background:transparent}

/* ── TOPO DOS PAINÉIS SEM SIDEBAR ───────────────────────────────────── */
body.fs-theme .top{
  min-height:64px;
  padding:9px 22px;
  gap:12px;
  border-bottom:1px solid var(--fs-line);
  background:rgba(6,9,18,.86);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  box-shadow:0 10px 34px rgba(0,0,0,.20);
  position:sticky;
  top:0;
  z-index:80;
}
body.fs-theme .top::after{
  content:"";
  position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(79,143,255,.45),rgba(232,182,84,.88),rgba(79,143,255,.45),transparent);
}
body.fs-theme .top .brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  color:var(--fs-text);
}
body.fs-theme .top .brand .fs-brand-block strong{font-size:12.5px}
body.fs-theme .nav{gap:6px}
body.fs-theme .nav a,
body.fs-theme .nav .btn{
  color:var(--fs-muted);
  background:rgba(18,28,46,.72);
  border:1px solid var(--fs-line);
  border-radius:9px;
  padding:8px 11px;
  transition:color .15s,border-color .15s,background .15s,box-shadow .15s;
}
body.fs-theme .nav a:hover,
body.fs-theme .nav .btn:hover{
  color:var(--fs-text);
  border-color:rgba(232,182,84,.32);
  background:rgba(232,182,84,.07);
}
body.fs-theme .nav a.primary,
body.fs-theme .nav .btn.primary{
  color:#171107;
  background:linear-gradient(135deg,var(--fs-gold-bright),var(--fs-gold));
  border-color:rgba(255,217,138,.75);
  box-shadow:0 8px 20px rgba(232,182,84,.17);
}
body.fs-theme .wrap{max-width:1560px;padding:24px;margin:0 auto}

/* ── HERO, CABEÇALHOS E TÍTULOS ─────────────────────────────────────── */
body.fs-theme .hero,
body.fs-theme .page-head{
  position:relative;
  overflow:hidden;
  border:1px solid var(--fs-line);
  border-radius:var(--fs-radius);
  background:
    linear-gradient(135deg,rgba(232,182,84,.085),transparent 34%),
    linear-gradient(180deg,rgba(17,27,45,.94),rgba(10,16,28,.94));
  box-shadow:var(--fs-shadow-soft);
}
body.fs-theme .hero::before,
body.fs-theme .page-head::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 0 66%,rgba(79,143,255,.055) 66% 67%,transparent 67% 100%);
}
body.fs-theme .wrap > .hero{padding:20px 22px;margin-bottom:18px}
body.fs-theme .hero h1,
body.fs-theme .page-title,
body.fs-theme .hero-title,
body.fs-theme .section-title{
  color:var(--fs-text);
  letter-spacing:-.025em;
}
body.fs-theme .hero h1{font-size:27px}
body.fs-theme .hero p,
body.fs-theme .page-subtitle,
body.fs-theme .hero-copy p{color:var(--fs-muted)}
body.fs-theme .eyebrow,
body.fs-theme .hero-kicker,
body.fs-theme .generator-kicker{
  color:var(--fs-gold-bright);
  letter-spacing:.13em;
}
body.fs-theme .chip{
  background:rgba(79,143,255,.09);
  border:1px solid rgba(79,143,255,.20);
  color:#a9c8ff;
}

/* ── CARTÕES, PAINÉIS E BLOCOS ──────────────────────────────────────── */
body.fs-theme .card,
body.fs-theme .panel,
body.fs-theme .panel-form,
body.fs-theme .panel-list,
body.fs-theme .summary-card,
body.fs-theme .balance-card,
body.fs-theme .identity-card,
body.fs-theme .report-type-card,
body.fs-theme .management-generator,
body.fs-theme .table-box,
body.fs-theme .prop-bar,
body.fs-theme .soma-box,
body.fs-theme .planning-panel,
body.fs-theme .db-table-card,
body.fs-theme .unit-card,
body.fs-theme .user-card,
body.fs-theme .creator,
body.fs-theme .quick-modal,
body.fs-theme .modal-box,
body.fs-theme .mini-modal,
body.fs-theme .info-box{
  background:linear-gradient(180deg,rgba(18,28,46,.96),rgba(10,16,28,.96));
  border-color:var(--fs-line);
  box-shadow:var(--fs-shadow-soft);
}
body.fs-theme .card,
body.fs-theme .panel,
body.fs-theme .panel-form,
body.fs-theme .panel-list,
body.fs-theme .summary-card,
body.fs-theme .balance-card,
body.fs-theme .identity-card,
body.fs-theme .report-type-card,
body.fs-theme .management-generator,
body.fs-theme .table-box,
body.fs-theme .planning-panel,
body.fs-theme .db-table-card,
body.fs-theme .unit-card,
body.fs-theme .creator{
  border-radius:var(--fs-radius);
}
body.fs-theme .card > h2,
body.fs-theme .card .head,
body.fs-theme .panel-head,
body.fs-theme .form-header,
body.fs-theme .section-head,
body.fs-theme .generator-head{
  border-color:var(--fs-line);
  background:linear-gradient(180deg,rgba(25,37,59,.86),rgba(16,25,41,.72));
}
body.fs-theme .kpi,
body.fs-theme .summary-card,
body.fs-theme .total-card,
body.fs-theme .box,
body.fs-theme .mini-box{
  background:linear-gradient(160deg,rgba(21,32,52,.97),rgba(11,17,29,.97));
  border:1px solid var(--fs-line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),var(--fs-shadow-soft);
}
body.fs-theme .kpi strong,
body.fs-theme .summary-value,
body.fs-theme .soma-value,
body.fs-theme .total-value,
body.fs-theme .total-val{color:var(--fs-gold-bright)}
body.fs-theme .kpi span,
body.fs-theme .summary-label,
body.fs-theme .total-label,
body.fs-theme .soma-label{color:var(--fs-muted)}
body.fs-theme .note,
body.fs-theme .locked-note,
body.fs-theme .unit-sidebar-card,
body.fs-theme .info-box{
  background:rgba(79,143,255,.055);
  border-color:rgba(79,143,255,.18);
  color:var(--fs-muted);
}

/* ── BOTÕES ─────────────────────────────────────────────────────────── */
body.fs-theme .btn,
body.fs-theme button.btn,
body.fs-theme .action-btn,
body.fs-theme .icon-btn{
  border-radius:9px;
  font-weight:700;
  transition:transform .13s,box-shadow .15s,border-color .15s,background .15s,color .15s,opacity .15s;
}
body.fs-theme .btn:hover:not(:disabled),
body.fs-theme .action-btn:hover:not(:disabled),
body.fs-theme .icon-btn:hover:not(:disabled){transform:translateY(-1px);opacity:1}
body.fs-theme .btn-primary,
body.fs-theme .btn.primary,
body.fs-theme .btn-print,
body.fs-theme .btn-login{
  color:#171107;
  background:linear-gradient(135deg,var(--fs-gold-bright),var(--fs-gold));
  border:1px solid rgba(255,217,138,.72);
  box-shadow:0 9px 20px rgba(232,182,84,.16);
}
body.fs-theme .btn-primary:hover:not(:disabled),
body.fs-theme .btn.primary:hover:not(:disabled),
body.fs-theme .btn-print:hover:not(:disabled),
body.fs-theme .btn-login:hover:not(:disabled){
  background:linear-gradient(135deg,#ffe6a7,#efbd5c);
  box-shadow:0 12px 25px rgba(232,182,84,.22);
}
body.fs-theme .btn-ghost,
body.fs-theme .btn-secondary,
body.fs-theme .btn:not(.primary):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-print):not(.btn-login){
  color:var(--fs-muted);
  background:rgba(18,28,46,.82);
  border:1px solid var(--fs-line);
}
body.fs-theme .btn-ghost:hover:not(:disabled),
body.fs-theme .btn-secondary:hover:not(:disabled){
  color:var(--fs-text);
  border-color:rgba(232,182,84,.32);
  background:rgba(232,182,84,.07);
}
body.fs-theme .btn-success{background:linear-gradient(135deg,#2fc58f,#228e6b);color:#fff;border:1px solid rgba(59,215,165,.45)}
body.fs-theme .btn-danger{background:linear-gradient(135deg,#e54c67,#a7273f);color:#fff;border:1px solid rgba(255,99,124,.45)}
body.fs-theme .btn-warning{background:linear-gradient(135deg,#d8a339,#93691a);color:#fff;border:1px solid rgba(255,198,95,.45)}
body.fs-theme .btn:disabled,
body.fs-theme .locked{opacity:.42;filter:saturate(.55);cursor:not-allowed;transform:none!important}

/* ── FORMULÁRIOS ────────────────────────────────────────────────────── */
body.fs-theme .field label,
body.fs-theme .filter-label,
body.fs-theme .group-label,
body.fs-theme .label{
  color:var(--fs-muted);
  letter-spacing:.08em;
}
body.fs-theme input,
body.fs-theme select,
body.fs-theme textarea,
body.fs-theme .filter-input,
body.fs-theme .search{
  color:var(--fs-text);
  background:rgba(5,9,17,.88);
  border:1px solid var(--fs-line);
  border-radius:8px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
body.fs-theme input:focus,
body.fs-theme select:focus,
body.fs-theme textarea:focus,
body.fs-theme .filter-input:focus,
body.fs-theme .search:focus{
  border-color:rgba(232,182,84,.72);
  box-shadow:0 0 0 3px rgba(232,182,84,.11);
  outline:none;
}
body.fs-theme select option{background:#0b1220;color:var(--fs-text)}
body.fs-theme input[readonly],body.fs-theme textarea[readonly],body.fs-theme select:disabled{
  background:rgba(8,13,23,.72);
  color:#9aabc7;
}
body.fs-theme .filters-bar,
body.fs-theme .filters-area,
body.fs-theme .mfilters,
body.fs-theme .filters{
  background:rgba(14,22,37,.88);
  border-color:var(--fs-line);
}

/* ── TABELAS ────────────────────────────────────────────────────────── */
body.fs-theme .table-wrap{scrollbar-color:#304564 transparent}
body.fs-theme .table-wrap::-webkit-scrollbar{width:7px;height:7px}
body.fs-theme .table-wrap::-webkit-scrollbar-thumb{background:#304564;border-radius:8px}
body.fs-theme table{color:var(--fs-text)}
body.fs-theme thead th,
body.fs-theme th{
  color:#9fb0cc;
  background:#111a2b;
  border-color:var(--fs-line);
}
body.fs-theme tbody tr{border-color:rgba(38,55,84,.72)}
body.fs-theme tbody tr:hover{background:rgba(232,182,84,.045)}
body.fs-theme tbody tr.selected{background:rgba(232,182,84,.11)!important;box-shadow:inset 3px 0 var(--fs-gold)}
body.fs-theme td{color:#bdc9db;border-color:rgba(38,55,84,.68)}
body.fs-theme td strong{color:var(--fs-text)}
body.fs-theme tfoot td{background:#111a2b;border-color:var(--fs-line);color:var(--fs-gold-bright)}
body.fs-theme .money,
body.fs-theme .mono{font-variant-numeric:tabular-nums}

/* ── STATUS E AVISOS ────────────────────────────────────────────────── */
body.fs-theme .msg.ok,
body.fs-theme .ok{border-color:rgba(59,215,165,.30)}
body.fs-theme .msg.err,
body.fs-theme .err{border-color:rgba(255,99,124,.30)}
body.fs-theme .pill,
body.fs-theme .status,
body.fs-theme .badge-auto,
body.fs-theme .badge-edit{border:1px solid rgba(79,143,255,.18)}
body.fs-theme .empty,
body.fs-theme .empty-state,
body.fs-theme .mini-empty{color:var(--fs-muted)}
body.fs-theme details summary{color:var(--fs-gold-bright)}
body.fs-theme .json{background:#050914;border-color:var(--fs-line);color:#cbd8ec}

/* ── PÁGINA DE LOGIN ────────────────────────────────────────────────── */
body.fs-theme.fs-login{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  overflow:auto;
}
body.fs-theme.fs-login::before{
  background:
    linear-gradient(rgba(232,182,84,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(79,143,255,.028) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(70% 60% at 50% 45%,#000 25%,transparent 100%);
  mask-image:radial-gradient(70% 60% at 50% 45%,#000 25%,transparent 100%);
}
body.fs-theme.fs-login::after{
  background:
    radial-gradient(52% 42% at 50% 46%,rgba(232,182,84,.10),transparent 70%),
    radial-gradient(45% 38% at 70% 28%,rgba(79,143,255,.12),transparent 72%);
}
body.fs-theme.fs-login .login-wrap{max-width:430px}
body.fs-theme.fs-login .login-card{
  background:linear-gradient(180deg,rgba(18,28,46,.98),rgba(8,13,23,.98));
  border:1px solid rgba(232,182,84,.24);
  border-radius:18px;
  box-shadow:0 32px 80px rgba(0,0,0,.52),0 0 45px rgba(232,182,84,.06);
}
body.fs-theme.fs-login .card-head{
  padding:30px 34px 25px;
  background:linear-gradient(180deg,rgba(24,36,57,.96),rgba(14,22,37,.94));
  border-color:var(--fs-line);
}
body.fs-theme.fs-login .card-icon{
  width:72px;height:72px;
  margin-bottom:16px;
  border-radius:50%;
  padding:0;
  background:transparent;
  border:none;
  box-shadow:0 0 24px rgba(232,182,84,.12);
}
body.fs-theme.fs-login .card-icon img{width:72px;height:72px;object-fit:contain}
body.fs-theme.fs-login .card-title{font-size:20px}
body.fs-theme.fs-login .card-subtitle{color:var(--fs-muted)}
body.fs-theme.fs-login .card-foot,
body.fs-theme.fs-login .login-footer{color:var(--fs-dim)}

/* ── AJUSTES ESPECÍFICOS DE MÓDULOS ────────────────────────────────── */
body.fs-theme.fs-consulta .main{padding:22px;overflow:visible;height:auto;min-height:calc(100vh - 64px)}
body.fs-theme.fs-consulta .hero{border-color:rgba(232,182,84,.22)}
body.fs-theme.fs-consulta .hero-logo{filter:drop-shadow(0 8px 22px rgba(0,0,0,.25))}
body.fs-theme.fs-consulta .report-sheet,
body.fs-theme.fs-consulta .group-report-sheet{box-shadow:var(--fs-shadow);border-color:var(--fs-line)}

body.fs-theme.fs-dotacoes .toolbar,
body.fs-theme.fs-receitas .page-head,
body.fs-theme.fs-fontes .toolbar,
body.fs-theme.fs-lancamentos .toolbar{
  background:rgba(13,20,34,.86);
  border-color:var(--fs-line);
}
body.fs-theme.fs-dotacoes .toolbar-title,
body.fs-theme.fs-fontes .toolbar-title,
body.fs-theme.fs-lancamentos .toolbar-title{color:var(--fs-gold-bright)}
body.fs-theme.fs-dotacoes .content-split,
body.fs-theme.fs-receitas .content-split,
body.fs-theme.fs-fontes .content-split,
body.fs-theme.fs-lancamentos .content-split{background:rgba(5,9,17,.22)}

body.fs-theme.fs-painel-admin .grid{gap:18px}
body.fs-theme.fs-painel-admin .card,
body.fs-theme.fs-painel-gestor .panel,
body.fs-theme.fs-painel-unidade .card{overflow:hidden}
body.fs-theme.fs-painel-gestor .user-card:hover,
body.fs-theme.fs-painel-gestor .unit-card:hover{border-color:rgba(232,182,84,.34);box-shadow:0 16px 34px rgba(0,0,0,.25),0 0 20px rgba(232,182,84,.05)}
body.fs-theme.fs-painel-gestor .avatar,
body.fs-theme.fs-painel-unidade .action-icon{background:linear-gradient(145deg,var(--fs-gold-bright),var(--fs-gold));color:#171107}
body.fs-theme.fs-painel-unidade .db-shell{gap:16px}
body.fs-theme.fs-auditoria .card{overflow:hidden}
body.fs-theme.fs-auditoria .table-wrap{max-height:calc(100vh - 285px)}

/* ── RESPONSIVIDADE ─────────────────────────────────────────────────── */
@media (max-width:1050px){
  body.fs-theme .shell{grid-template-columns:205px minmax(0,1fr)}
  body.fs-theme .topbar{padding:0 14px}
  body.fs-theme .topbar-badge{display:none}
  body.fs-theme .fs-brand-block small{display:none}
}

@media (max-width:820px){
  body.fs-theme .shell{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:64px auto minmax(0,1fr);
  }
  body.fs-theme .topbar{grid-column:1;grid-row:1;position:sticky;top:0;flex-wrap:nowrap}
  body.fs-theme .topbar-right{margin-left:auto}
  body.fs-theme .topbar-right > span:not(.topbar-badge),
  body.fs-theme .user-label{display:none}
  body.fs-theme .sidebar{
    grid-column:1;
    grid-row:2;
    position:sticky;
    top:64px;
    height:auto;
    min-height:0;
    padding:7px 8px;
    flex-direction:row;
    overflow-x:auto;
    overflow-y:hidden;
    border-right:none;
    border-bottom:1px solid var(--fs-line);
    gap:5px;
  }
  body.fs-theme .sidebar-section{display:none}
  body.fs-theme .nav-item{
    width:auto;
    min-width:max-content;
    margin:0;
    padding:8px 11px;
    min-height:34px;
  }
  body.fs-theme .main{grid-column:1;grid-row:3;height:auto!important;min-height:calc(100vh - 112px);overflow:visible!important}
  body.fs-theme .content-split{grid-template-columns:1fr!important;overflow:visible!important}
  body.fs-theme .panel-list,body.fs-theme .panel-form{min-height:420px;border-right:none}
  body.fs-theme .top{align-items:flex-start}
  body.fs-theme .top .nav{width:100%;margin-left:0;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
  body.fs-theme .wrap{padding:14px}
  body.fs-theme .hero{align-items:flex-start!important;flex-direction:column!important}
}

@media (max-width:560px){
  body.fs-theme .fs-brand-symbol{width:32px;height:32px}
  body.fs-theme .fs-brand-block strong{font-size:10.5px}
  body.fs-theme .topbar-logo{font-size:11px}
  body.fs-theme .topbar-right .btn{padding:7px 9px}
  body.fs-theme .wrap{padding:10px}
  body.fs-theme .wrap > .hero{padding:16px}
  body.fs-theme .hero h1{font-size:22px}
  body.fs-theme .kpis,
  body.fs-theme .summary-grid,
  body.fs-theme .totais-bar{grid-template-columns:1fr!important}
  body.fs-theme.fs-login{padding:12px}
  body.fs-theme.fs-login .card-head,
  body.fs-theme.fs-login .card-body{padding-left:22px;padding-right:22px}
}

/* ── IMPRESSÃO: preserve os relatórios claros já existentes ─────────── */
@media print{
  body.fs-theme{background:#fff!important;color:#000!important}
  body.fs-theme::before,body.fs-theme::after{display:none!important}
  body.fs-theme .topbar,body.fs-theme .top,body.fs-theme .sidebar{display:none!important}
  body.fs-theme .shell{display:block!important}
  body.fs-theme .main,body.fs-theme .wrap{display:block!important;height:auto!important;overflow:visible!important;padding:0!important;max-width:none!important}
  body.fs-theme .card,body.fs-theme .panel,body.fs-theme .table-box{box-shadow:none!important}
}
