/* PAINEL CERTO 331 — 3 cores reais da identidade: primaria, secundaria e destaque.
   Tokens herdados do branding 327, por empresa; nenhuma regra de logica, menu ou visibilidade. */
:root {
  --p331-primary:var(--brand,#2563eb);
  --p331-secondary:var(--p325-secondary,#7c3aed);
  --p331-accent:var(--p325-accent,#06b6d4);
  --p331-duo:linear-gradient(110deg,var(--p331-primary),var(--p331-secondary));
  --p331-trio:linear-gradient(118deg,var(--p331-primary) 0%,var(--p331-secondary) 60%,var(--p331-accent) 100%);
  --p331-primary-soft:color-mix(in srgb,var(--p331-primary) 11%,transparent);
  --p331-secondary-soft:color-mix(in srgb,var(--p331-secondary) 13%,transparent);
  --p331-accent-soft:color-mix(in srgb,var(--p331-accent) 13%,transparent);
  --p331-glow:0 10px 26px color-mix(in srgb,var(--p331-secondary) 20%,transparent);
  --pc330-primary:var(--p331-primary);
  --pc330-secondary:var(--p331-secondary);
  --pc330-accent:var(--p331-accent);
  --pc330-gradient:var(--p331-trio);
}
/* Primaria + secundaria + destaque na tela REAL, sem mexer nas cores semanticas de erro/sucesso/fila. */
body :is(.loginart:not(.hasimage),.loginpreview:not(.hasimage),.welcome-banner,.dashboard-hero){
  background-image:var(--p331-trio)!important;
}
body :is(.navbutton.active,.navbutton[aria-current="page"],.sidebar a.active,
         .r320-sidebar a.active,.p280-sidebar a.active){
  background:var(--p331-duo)!important;
  color:#fff!important;
  box-shadow:inset 3px 0 var(--p331-accent),var(--p331-glow)!important;
}
body :is(.primary,button[type="submit"],.r320-primary,.v31-button.primary,.cf-btn.primary):not(.danger):not([data-variant="danger"]):not(:disabled){
  background:var(--p331-duo)!important;
  color:#fff!important;
  box-shadow:var(--p331-glow),inset 0 1px #ffffff40!important;
}
/* Chips e indicadores de cor configuravel, sem atingir etiquetas de status (success/error). */
body :is(.sicon,.stat-icon,.mv-stat-icon,.r320-stat-icon,.p280-stat-icon):not(.success):not(.danger){
  background:var(--p331-secondary-soft)!important;
  color:var(--p331-secondary)!important;
  border-color:color-mix(in srgb,var(--p331-secondary) 28%,transparent)!important;
}
body :is(.stats,.p330-kpis,.p327-stats,.r320-stats) > :is(.stat,.card,div):nth-child(3n) :is(.sicon,.stat-icon,.mv-stat-icon,svg){
  color:var(--p331-accent)!important;
}
body :is(.stats,.p330-kpis,.p327-stats,.r320-stats) > :is(.stat,.card,div):nth-child(3n) :is(.sicon,.stat-icon){
  background:var(--p331-accent-soft)!important;
}
body :is(.stats,.p330-kpis,.r320-stats) > :is(.stat,.card):nth-child(3n+2){
  border-top:2px solid color-mix(in srgb,var(--p331-secondary) 46%,transparent)!important;
}
body :is(.stats,.p330-kpis,.r320-stats) > :is(.stat,.card):nth-child(3n){
  border-top:2px solid color-mix(in srgb,var(--p331-accent) 55%,transparent)!important;
}
body :is(.stats,.p330-kpis,.r320-stats) > :is(.stat,.card):nth-child(3n+1){
  border-top:2px solid color-mix(in srgb,var(--p331-primary) 46%,transparent)!important;
}
body :is(.panelhead h2,.sectiontitle,.eyebrow,.p330-kicker){
  text-decoration-color:var(--p331-accent);
}
body :is(.chatthread.selected,.chat-thread.selected,.att-thread.selected){
  box-shadow:inset 3px 0 var(--p331-secondary)!important;
}
body :is(.chatthread.selected,.chat-thread.selected,.att-thread.selected) :is(.unread,.count){
  background:var(--p331-accent)!important;
  color:#091827!important;
}
/* As PREVIAS usam a cor ainda nao salva de cada editor (nao a marca ativa). */
.p327-dash .p327-hero{background:linear-gradient(118deg,var(--p327-pri,var(--p331-primary)),var(--p327-sec,var(--p331-secondary)) 60%,var(--p327-acc,var(--p331-accent)))!important}
.p328-dashboard .p328-banner{background:linear-gradient(118deg,var(--p328-primary,var(--p331-primary)),var(--p328-secondary,var(--p331-secondary)) 60%,var(--p328-accent,var(--p331-accent)))!important}
.p329-mini .p329-hero{background:linear-gradient(118deg,var(--p329-pri,var(--p331-primary)),var(--p329-sec,var(--p331-secondary)) 60%,var(--p329-acc,var(--p331-accent)))!important}
.p330-mini .p330-banner{background:linear-gradient(118deg,var(--p330-pri,var(--p331-primary)),var(--p330-sec,var(--p331-secondary)) 60%,var(--p330-acc,var(--p331-accent)))!important}
.p327-dash .p327-bars > :nth-child(3n),.p328-dashboard .p328-bars > :nth-child(3n),.p329-mini .p329-bars > :nth-child(3n),.p330-mini .p330-bars > :nth-child(3n){background:var(--p327-acc,var(--p328-accent,var(--p329-acc,var(--p330-acc,var(--p331-accent)))))!important}
.p327-dash .p327-bars > :nth-child(3n+2),.p328-dashboard .p328-bars > :nth-child(3n+2),.p329-mini .p329-bars > :nth-child(3n+2),.p330-mini .p330-bars > :nth-child(3n+2){background:var(--p327-sec,var(--p328-secondary,var(--p329-sec,var(--p330-sec,var(--p331-secondary)))))!important}
.p327-dash .p327-bars > :nth-child(3n+1),.p328-dashboard .p328-bars > :nth-child(3n+1),.p329-mini .p329-bars > :nth-child(3n+1),.p330-mini .p330-bars > :nth-child(3n+1){background:var(--p327-pri,var(--p328-primary,var(--p329-pri,var(--p330-pri,var(--p331-primary)))))!important}
body :is(button,input,select,textarea,a):focus-visible{outline-color:var(--p331-accent)!important}
body input[type="checkbox"]{accent-color:var(--p331-secondary)}
/* Os quatro editores e a janela de marca principal seguem a mesma combinacao. */
:is(#v31BrandForm,#licenseBrandForm,#masterBrandForm,#cfContractForm,#m31Brand) :is(.p327-editor,.p328-editor,.p329-owner-editor,.p330-editor){
  --p330-pri:var(--p331-primary);
  --p330-sec:var(--p331-secondary);
  --p330-acc:var(--p331-accent);
}
/* O modo claro do Atendimento era a unica tela com fundo escuro na 330.
   Correcao testada no navegador pelo proprietario; somente CSS e somente nesse tema. */
html[data-theme="light"] body.att-page{
  --v324-bg:#edf3fc;--v324-panel:#fff;--v324-alt:#f5f8ff;
  --v324-line:#dbe5f4;--v324-ink:#18304f;--v324-dim:#617b9b;
  --bg:#edf3fc;--ink:#18304f;--muted:#617b9b;--line:#dbe5f4;
  --v320-paper:#fff;--v320-text:#18304f;--v320-muted:#617b9b;
  --v320-line:#dbe5f4;--v320-soft:#edf3fc;
  background:#edf3fc!important;color:#18304f!important;
}
html[data-theme="light"] body.att-page :is(.shell,.main){background:#edf3fc!important;color:#18304f!important}
html[data-theme="light"] body.att-page .sidebar{
  background:linear-gradient(165deg,#ffffff,#f0f5ff)!important;color:#203957!important;border-color:#dbe5f4!important;
}
html[data-theme="light"] body.att-page :is(.topbar,.att-title){background:#fff!important;color:#18304f!important;border-color:#dbe5f4!important}
html[data-theme="light"] body.att-page :is(.navlabel,.navbutton:not(.active)){color:#405d80!important}
html[data-theme="light"] body.att-page .att-layout.chatlayout{background:#fff!important;border-color:#dbe5f4!important}
html[data-theme="light"] body.att-page .att-layout :is(.chatlist,.chatpane,.chathead,.att-filters,.att-searchbar,.chatcontrols,#chatComposer){
  background:#fff!important;color:#18304f!important;border-color:#dbe5f4!important;
}
html[data-theme="light"] body.att-page .att-layout :is(.chatmessages,#chatMessages){background:#f5f8ff!important;color:#18304f!important}
html[data-theme="light"] body.att-page .att-layout #chatComposer textarea{background:#fff!important;color:#18304f!important;border-color:#dbe5f4!important}
html[data-theme="light"] body.att-page :is(.att-title h1,.att-contact-person h2,.att-thread-copy strong,.chathead h2){color:#18304f!important}
html[data-theme="light"] body.att-page :is(.att-title p,.att-contact-person p,.att-preview,.att-message-time,.att-author){color:#617b9b!important}
html[data-theme="light"] body.att-page .att-tabs.xp-tabs button.active{
  background:var(--p331-primary)!important;color:#fff!important;
  border-color:color-mix(in srgb,var(--p331-primary) 70%,#fff)!important;
}
html[data-theme="light"] body.att-page .att-tabs.xp-tabs button.active > :is(span,small,svg){color:inherit!important}
html[data-theme="light"] body.att-page .sidebar :is(.navbutton.active,a.active,[aria-current="page"]){color:#fff!important}
@media(prefers-reduced-motion:reduce){body :is(.stat,.panel,.navbutton){transition:none!important}}
