/* Painel Certo Visual Premium 330 — camada de apresentacao, sem alterar componentes funcionais. */
:root{--pc330-primary:var(--brand,#2563eb);--pc330-secondary:var(--p325-secondary,#7c3aed);--pc330-accent:var(--p325-accent,#06b6d4);--pc330-gradient:linear-gradient(120deg,var(--pc330-primary),var(--pc330-secondary));--pc330-radius:17px}
/* O valor de data-theme escolhido pelo usuario e a unica fonte de verdade. */
:root[data-theme="light"]{color-scheme:light;--p325-bg:#edf3fc;--p325-card:#ffffff;--p325-elevated:#f5f8ff;--p325-text:#182b46;--p325-muted:#627993;--p325-border:#dbe5f4;--p325-surface:#f6f9ff;--pv-surface:#fff;--pv-soft:#f4f8ff;--pv-line:#dbe5f4;--pv-text:#182b46;--pv-muted:#627993;--r-bg:#edf3fc;--r-card:#fff;--r-text:#182b46;--r-muted:#627993;--r-line:#dbe5f4}
:root[data-theme="dark"]{color-scheme:dark;--p325-bg:#0b1220;--p325-card:#121d31;--p325-elevated:#1b2b43;--p325-text:#f2f6ff;--p325-muted:#a5b5cf;--p325-border:#34425d;--p325-surface:#121d31}
/* Cor secundaria e cor destaque salvas no backend 327 permanecem como tokens de cada tenant. */
:root{--p328-secondary:var(--p325-secondary,#7c3aed);--p328-accent:var(--p325-accent,#06b6d4);--p329-sec:var(--p325-secondary,#7c3aed);--p329-accent:var(--p325-accent,#06b6d4)}
:root[data-theme="light"] body{background:#edf3fc!important;color:#182b46!important}
:root[data-theme="light"] body :is(#app,.workspace,.app-shell,.main,.main-content,.r320-workspace,.r320-main,.p280-workspace,.p280-main,.att-page,#content){color:#182b46}
:root[data-theme="light"] body :is(.main,.main-content,.workspace,.r320-main,.p280-main){background:#edf3fc!important}
:root[data-theme="light"] body :is(.sidebar,.r320-sidebar,.p280-sidebar,.att-sidebar){background:linear-gradient(156deg,#fff,#f3f7ff)!important;color:#223b59!important;border-color:#dce6f5!important}
:root[data-theme="light"] body :is(.topbar,.r320-top,.p280-top,.att-title,.headerbar,.app-header){background:#ffffffeb!important;color:#182b46!important;border-color:#dbe5f4!important}
:root[data-theme="light"] body :is(.panel,.card,.tile,.widget,.stat,.r320-card,.p280-card,.mv-card,.p280-section,.cf-section,.v31-panel,.att-panel,.att-sidebar,.att-column,.att-thread,.att-chat,.att-chat-panel,.att-conversations,.att-list,.chat-main,.chat-panel){background:linear-gradient(148deg,#fff 4%,#f9fbff 100%)!important;border-color:#dce6f3!important;color:#192e4c!important;box-shadow:0 10px 32px #1b3e6415,inset 0 1px #fff!important}
:root[data-theme="light"] body :is(.panel,.card,.stat,.r320-card,.v31-panel,.cf-section,.p280-card) :is(h1,h2,h3,h4,b,strong){color:#172a45!important}
:root[data-theme="light"] body :is(.muted,.help,.note,.sub,.r320-heading p,.v31-help,.att-title p){color:#627c9e!important}
:root[data-theme="light"] body :is(.att-page,.att-content,.att-main,.att-workspace,.att-chat-wrap){background:#edf3fc!important;color:#192e4c!important}
:root[data-theme="light"] body :is(.att-thread-panel,.att-conversation-list,.att-thread-list,.att-main-chat,.att-chatbox,.att-chatarea,.att-messages,.att-search,.att-header,.att-footer,.att-composer,.att-chat-header){background:#fff!important;color:#182b46!important;border-color:#dbe5f4!important}
:root[data-theme="light"] body :is(.att-thread-panel,.att-conversation-list,.att-thread-list,.att-chatbox,.att-chatarea,.att-messages,.att-main-chat) :is(p,small,span:not(.badge)){color:inherit}
:root[data-theme="light"] body :is(.att-bubble,.bubble.in,.chat-message.in){background:#eef4fc!important;color:#1b3454!important;border-color:#d9e5f5!important}
:root[data-theme="light"] body :is(.att-bubble.out,.bubble.out,.chat-message.out){background:var(--pc330-gradient)!important;color:#fff!important}
:root[data-theme="light"] body :is(.r320-portal,.v31-portal,.portal-main,.portal-card,.r320-portal-card,.r320-login,.v31-head,.v31-stat){background:#fff!important;color:#192e4c!important;border-color:#dce6f4!important}
:root[data-theme="light"] body :is(.r320-portal, .portal-main,.v31-portal){background:#edf3fc!important}
:root[data-theme="light"] body :is(.room-top,.room-panel,.room-card,.room-alert,.room-controls,.rating-wrap,.visitorchat .panel){background:#fff!important;color:#172b48!important;border-color:#dbe5f4!important}
:root[data-theme="light"] body :is(input:not([type=color]):not([type=checkbox]):not([type=radio]),textarea,select){background:#fff!important;color:#1b3050!important;border:1px solid #d3e0f0!important;box-shadow:inset 0 1px 3px #1427430a!important}
:root[data-theme="light"] body :is(input:not([type=color]),textarea)::placeholder{color:#7a8fab!important}
:root[data-theme="light"] body :is(table,thead,tbody,tr,td,th){border-color:#dce6f3!important}
:root[data-theme="light"] body :is(thead,th){background:#edf4fd!important;color:#415b7a!important}
:root[data-theme="light"] body :is(.r320-heading h1,.v31-head h1,.att-title h1,.sectiontitle,.page-title){color:#173153!important}
:root[data-theme="light"] body :is(.sidebar a,.sidebar button,.r320-sidebar a,.r320-sidebar button,.p280-sidebar a,.p280-sidebar button):not(.active):not([aria-current=page]){color:#375575!important}
:root[data-theme="light"] body :is(.sidebar a.active,.sidebar button.active,.r320-sidebar .active,.p280-sidebar .active){background:var(--pc330-gradient)!important;color:#fff!important}
:root[data-theme="dark"] body :is(.panel,.card,.stat,.r320-card,.v31-panel,.cf-section){border-color:#304362;box-shadow:0 14px 34px #02071372,inset 0 1px #ffffff10}
/* Efeitos premium — sem esconder, recriar ou reordenar elementos funcionais. */
body :is(.panel,.card,.stat,.tile,.widget,.r320-card,.mv-card,.p280-card,.cf-section,.v31-panel,.att-chat,.att-thread){border-radius:var(--pc330-radius)!important;transition:box-shadow .18s ease,border-color .18s ease}
body :is(.r320-primary,.primary,button[type=submit],.v31-button.primary):not(:disabled){background:var(--pc330-gradient)!important;color:#fff!important;border-radius:13px!important;box-shadow:0 10px 20px color-mix(in srgb,var(--pc330-primary) 22%,transparent),inset 0 1px #ffffff40!important}
body :is(.r320-icon,.mv-stat-icon,.stat-icon,.att-title-icon,.p280-stat-icon,.cf-section-icon){border-radius:14px!important;box-shadow:0 7px 18px color-mix(in srgb,var(--pc330-primary) 22%,transparent),inset 0 1px #ffffff28!important}
body :is(button,.r320-btn,.v31-button,.cf-btn,.navbutton,input,select,textarea){border-radius:12px!important}
body :is(button,input,select,textarea,a):focus-visible{outline:3px solid color-mix(in srgb,var(--pc330-primary) 38%,transparent)!important;outline-offset:2px}
/* Login redesenhado sem alterar form, senha, autenticacao ou identidade da empresa. */
body .loginart:not(.hasimage){background:radial-gradient(circle at 80% 18%,color-mix(in srgb,var(--pc330-accent) 24%,transparent),transparent 40%),linear-gradient(133deg,#091b34 4%,color-mix(in srgb,var(--pc330-primary) 60%,#0a1832),color-mix(in srgb,var(--pc330-secondary) 62%,#101a3a))!important}
body .loginbox{border-radius:28px!important;box-shadow:0 25px 65px #0d2a5733,inset 0 1px #ffffffa6!important}
:root[data-theme="light"] body .loginform{background:linear-gradient(138deg,#f7faff,#eaf2fd)!important}
:root[data-theme="light"] body .loginbox{background:linear-gradient(145deg,#fff,#f6faff)!important;color:#172a45!important}
:root[data-theme="dark"] body .loginbox{background:linear-gradient(145deg,#1a2942,#101b31)!important;color:#f0f5ff!important;box-shadow:0 28px 70px #02081499!important}
/* Marca da própria plataforma e todos os formulários WL existentes. */
#v31BrandForm.p330-form,#licenseBrandForm.p330-form,#masterBrandForm.p330-form,#cfContractForm.p330-form,#m31Brand.p330-form{--p330-pri:var(--pc330-primary);--p330-sec:var(--pc330-secondary);--p330-acc:var(--pc330-accent)}
.p330-form :is(.p327-editor,.p328-editor,.p329-owner-editor,.p330-editor){border-radius:24px!important;box-shadow:0 18px 46px #10295025,inset 0 1px #ffffff58!important;border:1px solid color-mix(in srgb,var(--p330-pri) 22%,#d5dfef)!important}
.p330-form :is(.p327-editor,.p328-editor,.p329-owner-editor,.p330-editor) :is(button,input[type=color]){cursor:pointer}
.p330-form :is(.p327-editor,.p328-editor,.p329-owner-editor,.p330-editor) :is(.p327-preset,.p328-preset,[data-p329-palette],.p330-preset){border-radius:12px!important;transition:transform .12s,border-color .12s}
.p330-form :is(.p327-editor,.p328-editor,.p329-owner-editor,.p330-editor) :is(.p327-preset,.p328-preset,[data-p329-palette],.p330-preset):hover{transform:translateY(-1px)}
.p330-form :is(.p327-dash,.p328-dashboard,.p329-mini,.p330-mini){box-shadow:0 20px 42px #0c21452d!important;border-radius:17px!important}
.p330-form :is(.p327-hero,.p328-banner,.p329-hero,.p330-banner){background:linear-gradient(116deg,var(--p330-pri),var(--p330-sec))!important}
.p330-form :is(.p327-hero,.p328-banner,.p329-hero,.p330-banner) :is(h3,h4,p,small,strong){color:#fff!important}
/* Fallback robusto: so aparece quando nenhum dos editores 327/328/329 foi montado. */
.p330-editor{display:grid;grid-template-columns:minmax(260px,.88fr) minmax(300px,1.12fr);gap:18px;margin:20px 0;padding:20px;background:var(--p325-card,#fff);color:var(--p325-text,#192b46)}
.p330-editor *{box-sizing:border-box}.p330-editor h3{font-size:20px;margin:6px 0;color:inherit}.p330-editor p{font-size:12px;line-height:1.5;color:var(--p325-muted,#607590)}
.p330-kicker{font-weight:850;letter-spacing:.12em;color:var(--p330-pri);font-size:10px}.p330-presets{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.p330-preset{border:1px solid var(--p325-border,#dbe5f4);background:var(--p325-elevated,#f5f8ff);color:var(--p325-text,#1a304e);border-radius:12px;padding:9px 11px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:7px}.p330-preset[aria-pressed=true]{border-color:var(--p330-pri);outline:1px solid var(--p330-pri)}.p330-dots{display:flex}.p330-dots i{width:13px;height:13px;display:inline-block;border-radius:50%;border:1px solid #ffffff99;margin-left:-3px}
.p330-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.p330-color{display:block;border-radius:13px;border:1px solid var(--p325-border,#dbe5f4);background:var(--p325-elevated,#f5f8ff);padding:10px;font-size:11px;font-weight:700;color:var(--p325-text,#1a304e)}.p330-color small{display:block;font-size:10px;font-weight:400;color:var(--p325-muted,#607590)}.p330-color input{width:46px;height:34px;margin-top:8px;padding:1px;border-radius:8px;background:transparent!important}.p330-color output{display:block;font-size:10px;margin-top:4px}
.p330-preview-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.p330-preview-head strong{font-size:12px}.p330-preview-head button{font-size:11px;border:1px solid var(--p325-border,#dbe5f4);padding:7px 10px;border-radius:10px;color:var(--p325-text,#1a304e);background:var(--p325-elevated,#f5f8ff)}.p330-preview-head button[aria-pressed=true]{background:var(--p330-pri);color:white}
.p330-mini{--p330-bg:#0b1426;--p330-card:#17243c;--p330-ink:#ecf4ff;--p330-muted:#b0c1d8;display:grid;grid-template-columns:110px minmax(0,1fr);background:var(--p330-bg);color:var(--p330-ink);border-radius:16px;border:1px solid #344764;min-height:295px;overflow:hidden}
.p330-mini[data-mode=light]{--p330-bg:#eef3fa;--p330-card:#fff;--p330-ink:#17304e;--p330-muted:#627e9e;border-color:#dce5f2}
.p330-mini aside{background:var(--p330-card);padding:13px 8px;color:var(--p330-ink)}.p330-mini aside b{font-size:10px;display:block;margin-bottom:14px}.p330-mini aside span{display:block;margin:7px 0;font-size:10px;color:var(--p330-muted);padding:7px}.p330-mini aside span.active{border-radius:8px;background:var(--pc330-gradient);color:#fff}
.p330-mini main{padding:12px;min-width:0;background:var(--p330-bg);color:var(--p330-ink)}.p330-banner{padding:13px;border-radius:12px;color:white;background:var(--pc330-gradient)}.p330-banner b{font-size:13px;color:white!important}.p330-banner p{color:#e8eeff!important}.p330-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0}.p330-kpis>div{border:1px solid color-mix(in srgb,var(--p330-ink) 9%,transparent);background:var(--p330-card);padding:9px;border-radius:11px;min-width:0}.p330-kpis small{display:block;color:var(--p330-muted);font-size:8px}.p330-kpis b{display:block;font-size:13px;margin-top:7px;color:var(--p330-ink)}.p330-bars{height:72px;background:var(--p330-card);border-radius:10px;display:flex;align-items:end;gap:7px;padding:14px 12px 6px}.p330-bars i{flex:1;background:linear-gradient(var(--p330-acc),var(--p330-pri));border-radius:5px 5px 0 0}
.p330-editor-note{font-size:10px;margin-top:10px;color:var(--p325-muted,#607590)}
@media(max-width:1040px){.p330-editor{grid-template-columns:1fr}}
@media(max-width:560px){.p330-editor{padding:13px}.p330-colors{grid-template-columns:1fr}.p330-mini{grid-template-columns:85px minmax(0,1fr)}.p330-mini aside{padding:8px 4px}.p330-mini main{padding:8px}}
@media(prefers-reduced-motion:reduce){body :is(.panel,.card,.stat,button){transition:none!important}}
