/* RCO Consultoria — tokens de marca, temas e componentes compartilhados.
   Usado pelo site, pelo portal e pela Performance Corporativa.
   Cores de marca: laranja #F96913 e carvão #20231F. As cores de desempenho
   (verde / amarelo / vermelho / azul) mantêm o mesmo significado do farol. */

:root{
  --font:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Roboto,Arial,sans-serif;
  --rco-orange:#F96913;--rco-charcoal:#20231F;

  --bg:#FAF9F6;--bg-elev:#F3F2EE;--surface:#FFFFFF;--surface-2:#F6F5F1;--surface-3:#EDECE6;
  --border:#DCDED7;--border-strong:#C3C6BC;--divider:#E8E9E3;
  --text:#242622;--text-strong:#141613;--muted:#5F635C;--subtle:#7E8279;
  --accent:#F96913;--accent-hover:#E75D0B;--accent-ink:#1A1C19;--accent-text:#B3480A;
  --accent-soft:#FFF1E6;--accent-soft-2:#FFE3CE;--accent-border:#F5C29C;
  --ink:#20231F;--ink-text:#FFFFFF;--ink-soft:#2C302A;
  --focus:#E75D0B;

  --good:#1E8A4C;--good-fill:#2EA25F;--good-soft:#E3F3E9;
  --warn:#8A6100;--warn-fill:#F0B323;--warn-soft:#FDF2D3;
  --bad:#C23129;--bad-fill:#DE3B30;--bad-soft:#FBE6E4;
  --excellent:#1A62BD;--excellent-fill:#1D6FD1;--excellent-soft:#E1ECFA;
  --empty-fill:#B7BAB1;--pending:#9A6A00;--pending-soft:#FFF6DC;--pending-border:#EBCB7A;

  --chart-real:#E2620F;--chart-target:#2A78D6;--chart-prev:#9A9D94;--chart-grid:#E6E7E1;--chart-band:#FFF1E6;

  --radius:12px;--radius-sm:8px;--radius-xs:6px;
  --shadow-sm:0 1px 2px rgba(20,22,19,.06),0 1px 1px rgba(20,22,19,.04);
  --shadow-md:0 8px 24px rgba(20,22,19,.08),0 2px 6px rgba(20,22,19,.05);
  --shadow-lg:0 24px 60px rgba(20,22,19,.18);
  --appbar-h:64px;
  color-scheme:light;
}
html[data-theme=dark]{
  --bg:#121411;--bg-elev:#171A16;--surface:#1B1E1A;--surface-2:#222620;--surface-3:#2A2E27;
  --border:#33382F;--border-strong:#474D43;--divider:#2A2E27;
  --text:#E6E8E1;--text-strong:#F7F8F3;--muted:#A9AEA2;--subtle:#878C80;
  --accent:#FF7A2A;--accent-hover:#FF8E4A;--accent-ink:#161814;--accent-text:#FF9B5E;
  --accent-soft:#2E2117;--accent-soft-2:#3A2818;--accent-border:#6A4123;
  --ink:#F1F2EC;--ink-text:#161814;--ink-soft:#2A2E27;
  --focus:#FF9B5E;

  --good:#55C985;--good-fill:#3AB06C;--good-soft:#173022;
  --warn:#F2C65A;--warn-fill:#E0AC2C;--warn-soft:#332910;
  --bad:#FF7E73;--bad-fill:#E5544A;--bad-soft:#3A1C19;
  --excellent:#7DB2F5;--excellent-fill:#4A90E6;--excellent-soft:#16283E;
  --empty-fill:#5D6358;--pending:#F2C65A;--pending-soft:#2E2610;--pending-border:#6B5620;

  --chart-real:#E06A2C;--chart-target:#3987E5;--chart-prev:#7E8479;--chart-grid:#2C3029;--chart-band:#2E2117;

  --shadow-sm:0 1px 2px rgba(0,0,0,.35);
  --shadow-md:0 10px 28px rgba(0,0,0,.35);
  --shadow-lg:0 24px 60px rgba(0,0,0,.55);
  color-scheme:dark;
}

[hidden]{display:none!important}

/* Logos: a versão clara aparece no tema claro; a versão com texto claro, no escuro. */
.logo-dark{display:none!important}
html[data-theme=dark] .logo-light{display:none!important}
html[data-theme=dark] .logo-dark{display:block!important}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--ink);color:var(--ink-text);padding:10px 14px;border-radius:var(--radius-xs);font-weight:600}
.skip-link:focus{top:12px}
.ico{width:18px;height:18px;flex:none;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Cabeçalho de aplicação (portal e indicadores) ---------- */
.appbar{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--border);font-family:var(--font)}
.appbar-inner{max-width:1480px;margin:0 auto;min-height:var(--appbar-h);display:flex;align-items:center;gap:18px;padding:8px 24px}
.appbar-brand{display:flex;align-items:center;flex:none;height:44px;text-decoration:none}
.appbar-brand img{height:44px;width:auto}
.appbar-context{display:flex;flex-direction:column;justify-content:center;min-width:0;padding-left:18px;border-left:1px solid var(--border);line-height:1.25;max-width:260px}
.appbar-context small{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--subtle);font-weight:650}
.appbar-context strong{font-size:14px;color:var(--text-strong);font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.appbar-nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.appbar-nav a{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;color:var(--muted);font-size:13.5px;font-weight:550;text-decoration:none;white-space:nowrap}
.appbar-nav a:hover{color:var(--text-strong);background:var(--surface-2)}
.appbar-nav a[aria-current=page]{color:var(--text-strong);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-border)}
.appbar-nav a[aria-current=page] .ico{color:var(--accent-text)}
.appbar-actions{display:flex;align-items:center;gap:8px;flex:none}
.appbar-nav+.appbar-actions{margin-left:6px}
.account{display:flex;align-items:center;gap:10px;padding-left:10px;border-left:1px solid var(--border);min-width:0}
.account-email{font-size:12.5px;color:var(--muted);max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-email:empty{display:none}
.icon-btn,.ghost-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;min-width:38px;padding:0 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:600 12.5px var(--font);cursor:pointer;white-space:nowrap;text-decoration:none}
.icon-btn:hover,.ghost-btn:hover{border-color:var(--border-strong);background:var(--surface-2)}
.icon-btn .lbl{display:none}
.appbar-menu{display:none}
.theme-ico-sun{display:none}
html[data-theme=dark] .theme-ico-sun{display:inline-block}
html[data-theme=dark] .theme-ico-moon{display:none}

@media (max-width:1100px){
  .appbar-context{max-width:180px}
  .account-email{max-width:150px}
  .appbar-nav a{padding:9px 10px}
}
@media (max-width:900px){
  .appbar-inner{flex-wrap:wrap;gap:10px;padding:8px 14px}
  .appbar-brand,.appbar-brand img{height:38px}
  .appbar-context{max-width:none;flex:1;padding-left:12px}
  .appbar-menu{display:inline-flex}
  .appbar-nav{order:5;flex-basis:100%;flex-direction:column;align-items:stretch;gap:4px;margin:0;padding:8px 0 6px;border-top:1px solid var(--border);display:none}
  .appbar.menu-open .appbar-nav{display:flex}
  .appbar-nav a{border-radius:var(--radius-sm);padding:12px 12px;font-size:15px}
  .account{border-left:0;padding-left:0}
  .account-email{display:none}
}
@media (max-width:520px){
  html .appbar-brand :is(.logo-light,.logo-dark){display:none!important}
  .appbar-context{padding-left:10px}
  .appbar-context strong{font-size:13px}
  .appbar-context small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.08em}
}
@media (max-width:400px){
  .account .ghost-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .appbar-inner{gap:8px}
}
.appbar-brand .emblem-light,.appbar-brand .emblem-dark{display:none!important}
@media (max-width:520px){.appbar-brand .emblem-light{display:block!important}html[data-theme=dark] .appbar-brand .emblem-light{display:none!important}html[data-theme=dark] .appbar-brand .emblem-dark{display:block!important}}

/* ---------- Componentes comuns ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:650;line-height:1.5;background:var(--surface-3);color:var(--muted);white-space:nowrap}
.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.9}
.badge.plain::before{display:none}
.badge.good{background:var(--good-soft);color:var(--good)}
.badge.bad{background:var(--bad-soft);color:var(--bad)}
.badge.warn{background:var(--warn-soft);color:var(--warn)}
.badge.accent{background:var(--accent-soft);color:var(--accent-text)}
.badge.info{background:var(--excellent-soft);color:var(--excellent)}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);font-size:12px;color:var(--text);background:var(--surface);white-space:nowrap}

.status-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font:600 12px var(--font);background:var(--surface-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap}
.status-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--empty-fill)}
.status-pill[data-state=saved]{color:var(--good);background:var(--good-soft);border-color:transparent}
.status-pill[data-state=saved]::before{background:var(--good-fill)}
.status-pill[data-state=saving]::before{background:var(--accent);animation:rco-pulse 1s ease-in-out infinite}
.status-pill[data-state=dirty]{color:var(--warn);background:var(--warn-soft);border-color:transparent}
.status-pill[data-state=dirty]::before{background:var(--warn-fill)}
.status-pill[data-state=error]{color:var(--bad);background:var(--bad-soft);border-color:transparent}
.status-pill[data-state=error]::before{background:var(--bad-fill)}
.status-pill[data-state=readonly]::before{background:var(--subtle)}
@keyframes rco-pulse{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.alert{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:13.5px;line-height:1.55}
.alert>.ico{margin-top:1px}
.alert strong{display:block;color:var(--text-strong);margin-bottom:2px}
.alert.bad{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 30%,transparent);color:var(--text)}
.alert.bad>.ico{color:var(--bad)}
.alert.warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn-fill) 45%,transparent)}
.alert.warn>.ico{color:var(--warn)}
.alert.good{background:var(--good-soft);border-color:color-mix(in srgb,var(--good) 30%,transparent)}
.alert.good>.ico{color:var(--good)}
.alert.info{background:var(--accent-soft);border-color:var(--accent-border)}
.alert.info>.ico{color:var(--accent-text)}
.alert .alert-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}

/* Notificação flutuante única (#message no portal, #toast nos indicadores) */
.rco-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:1000;max-width:min(560px,calc(100vw - 32px));background:var(--ink);color:var(--ink-text);padding:13px 18px;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);font:500 13.5px/1.5 var(--font)}
.rco-toast:empty{display:none}
