/* Central — visual comum (mistura da FUTURO com os painéis dos artefatos), temas escuro e claro.
   Carregado DEPOIS do CSS de cada portal: redefine as variáveis que os portais já usam. */
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0b0f14; --surface:#11161b; --surface-2:#171e25; --surface-3:#1d2630; --line:#232c35;
  --fg:#e9eef2; --muted:#9aa7b3; --faint:#63707c;
  --accent:#7dd3fc; --accent-soft:#0f2a3a; --brand:#2dd4a7; --brand-2:#7dd3fc; --brand-ink:#04241b;
  --ok:#3ccf8e; --ok-soft:#10291f; --warn:#f2b84b; --warn-soft:#2f2410;
  --bad:#f0676a; --bad-soft:#33181a; --neutral-soft:#1d2630;
  --shadow:0 1px 2px rgba(0,0,0,.35),0 14px 34px -18px rgba(0,0,0,.75);
  --glow:radial-gradient(1100px 420px at 0% -10%,rgba(45,212,167,.13),transparent 60%),
         radial-gradient(900px 400px at 100% -5%,rgba(125,211,252,.09),transparent 60%);
}
:root[data-theme="light"]{
  color-scheme:light;
  --bg:#f3f6f8; --surface:#ffffff; --surface-2:#eef2f5; --surface-3:#e5ebef; --line:#dbe2e8;
  --fg:#10171d; --muted:#4f5d69; --faint:#8693a0;
  --accent:#0277b6; --accent-soft:#e0f2fe; --brand:#0f9d77; --brand-2:#0284c7; --brand-ink:#ffffff;
  --ok:#11845a; --ok-soft:#e1f5ec; --warn:#9a6a06; --warn-soft:#fbf1dc;
  --bad:#cc3a3e; --bad-soft:#fbe7e7; --neutral-soft:#e5ebef;
  --shadow:0 1px 2px rgba(16,23,29,.05),0 12px 30px -18px rgba(16,23,29,.18);
  --glow:radial-gradient(1100px 420px at 0% -10%,rgba(15,157,119,.08),transparent 60%);
}
:root{
  --f-display:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;
  --f-body:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,monospace;
  --r:14px;
}
html{scroll-padding-top:72px}
body{background:var(--glow),var(--bg);background-attachment:fixed;color:var(--fg);font-family:var(--f-body);-webkit-font-smoothing:antialiased;padding-top:0}
h1{font-weight:800;letter-spacing:-.02em} h2,h3{font-weight:700}
.wrap{max-width:1280px}

/* blocos com o acabamento da FUTURO */
.proc,.card,.debt,.kpi,.bk,.saldo-band,.cal-wrap,.ac,.card-tbl,.md{border-radius:var(--r);box-shadow:var(--shadow);border-color:var(--line)}
.totals{border-radius:var(--r);box-shadow:var(--shadow)}
.state{border-radius:var(--r)}
.kpi-v,.big,.bk-saldo,.saldo-main .v{font-weight:600;letter-spacing:-.02em}
th{font-size:.66rem;letter-spacing:.06em;color:var(--faint);font-weight:700}
tbody tr:hover td{background:color-mix(in srgb,var(--surface-2) 60%,transparent)}
button,.btn{border-radius:10px}
button.primary{background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 70%,var(--brand-2)));border-color:transparent;color:var(--brand-ink);font-weight:700;box-shadow:0 10px 24px -14px var(--brand)}
button.primary:hover{filter:brightness(1.05);border-color:transparent}
input,select,textarea{border-radius:10px;background:var(--surface-2)}
.tab{border-radius:10px;font-weight:600;color:var(--muted)}
.tab:hover{color:var(--fg);background:var(--surface-2)}
.tab[aria-current="true"]{background:var(--surface-2);color:var(--fg);border-color:var(--line);box-shadow:inset 0 0 0 1px var(--line),inset 0 -2px 0 var(--brand)}
.pill{border-radius:100px}
.progress i,.meter i{background:linear-gradient(90deg,var(--brand-2),var(--brand))}
.toast{border-radius:10px;box-shadow:var(--shadow)}
.ov{background:rgba(5,8,12,.55);backdrop-filter:blur(3px)}
@media (prefers-reduced-motion:no-preference){.proc,.card,.kpi,.totals,.debt,.bk,.saldo-band,.cal-wrap{animation:hubrise .45s ease both}}
@keyframes hubrise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* barra de navegação da Central */
.hub-nav{position:sticky;top:0;z-index:40;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom:1px solid var(--line);margin:0 calc(-1 * var(--hub-gutter,max(16px,env(safe-area-inset-left,0px)))) 22px}
.hub-in{max-width:1280px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:16px}
.hub-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1rem;letter-spacing:.14em;color:var(--fg);text-decoration:none;font-family:var(--f-display)}
.hub-mark{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:var(--brand-ink);box-shadow:0 8px 22px -10px var(--brand)}
.hub-mark svg{width:19px;height:19px}
.hub-links{display:flex;gap:4px;flex-wrap:wrap}
.hub-links a{color:var(--muted);font-weight:600;font-size:.88rem;padding:7px 12px;border-radius:10px;text-decoration:none;white-space:nowrap}
.hub-links a:hover{color:var(--fg);background:var(--surface-2)}
.hub-links a.on{color:var(--fg);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}
.hub-sp{flex:1}
.hub-tools{display:flex;gap:6px;align-items:center}
.hub-tools button{background:transparent;border:1px solid var(--line);color:var(--muted);padding:6px 10px;border-radius:10px;font-size:.82rem}
.hub-tools button:hover{color:var(--fg);border-color:var(--accent)}
.hub-tools form{margin:0}
@media (max-width:760px){
  .hub-in{flex-wrap:wrap;gap:10px;padding:8px 12px}
  .hub-links{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .hub-logo span.txt{display:none}
}
