/* PAINEL CERTO 328: camada visual aditiva inspirada no layout de referência.
   Não oculta, substitui ou intercepta elementos/ações funcionais. */
:root{
  --p328-primary:var(--brand,#2563eb);
  --p328-secondary:var(--p325-secondary,#8b5cf6);
  --p328-accent:var(--p325-accent,#06b6d4);
  --p328-gradient:linear-gradient(120deg,var(--p328-primary),var(--p328-secondary));
  --p328-sheen:inset 0 1px 0 rgba(255,255,255,.17);
}
/* Real 3D depth on existing components; no layout geometry or display changes. */
body :is(.panel,.stat,.card,.tile,.widget,.r320-card,.mv-card,.p280-section,.v31-panel,.cf-section){
  border-radius:20px!important;
  box-shadow:0 14px 35px rgba(4,11,29,.17),0 1px 0 rgba(255,255,255,.06) inset!important;
  transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease;
}
body :is(.panel,.stat,.card,.tile,.r320-card,.mv-card,.p280-section):hover{
  box-shadow:0 17px 42px rgba(5,15,37,.21),0 0 0 1px color-mix(in srgb,var(--p328-primary) 13%,transparent)!important;
}
body :is(button,.r320-btn,.mv-button,.p280-btn,.navbutton){border-radius:13px!important;letter-spacing:-.01em}
body :is(.r320-primary,.primary,button[type=submit]):not(:disabled){
  box-shadow:0 8px 19px color-mix(in srgb,var(--p328-primary) 24%,transparent),var(--p328-sheen)!important;
}
body :is(.stat .sicon,.mv-stat-icon,.r320-provider-icon,.mv-title-icon,.r320-icon,.att-title-icon,.r320-heading-icon){
  border-radius:14px!important;
  box-shadow:0 8px 20px color-mix(in srgb,var(--p328-primary) 18%,transparent),inset 0 1px rgba(255,255,255,.22)!important;
  transition:transform .16s ease,box-shadow .16s ease;
}
body :is(.stat,.r320-card,.mv-card):hover :is(.sicon,.mv-stat-icon,.r320-icon){transform:translateY(-2px)}
body :is(.navbutton.active,.r320-navbtn.active,.p280-nav.active,.r320-primary):not(:disabled){
  background:var(--p328-gradient)!important;
  box-shadow:0 8px 23px color-mix(in srgb,var(--p328-primary) 25%,transparent),inset 0 1px rgba(255,255,255,.25)!important;
}
/* Keep light theme genuinely light; the 326 light rules remain the authority for layout. */
:root:is([data-theme="light"],:not([data-theme])) body :is(.panel,.stat,.card,.tile,.widget,.r320-card,.mv-card,.p280-section,.v31-panel,.cf-section){
  background:linear-gradient(145deg,#ffffff 15%,#f8fbff 100%)!important;
  border-color:#dce6f3!important;color:#193451!important;
  box-shadow:0 13px 33px #173c6516,inset 0 1px #fff!important;
}
:root:is([data-theme="light"],:not([data-theme])) body :is(.panel,.stat,.card,.tile,.r320-card,.mv-card):hover{
  box-shadow:0 17px 40px #173c651f,0 0 0 1px color-mix(in srgb,var(--p328-primary) 12%,transparent)!important;
}
:root:is([data-theme="light"],:not([data-theme])) body :is(.sidebar,.r320-sidebar,.p280-sidebar){background:linear-gradient(165deg,#fff,#f3f8ff)!important}
/* The editor uses its own scoped theme and never updates the real dashboard while editing. */
.p328-editor{display:grid;grid-template-columns:minmax(280px,0.85fr) minmax(330px,1.15fr);gap:16px;margin:18px 0 5px;padding:18px;border:1px solid color-mix(in srgb,var(--p328-primary) 22%,#dce5f3);border-radius:22px;background:linear-gradient(147deg,color-mix(in srgb,var(--p325-card,#fff) 96%,var(--p328-primary)),var(--p325-card,#fff));box-shadow:0 18px 44px #08163424;color:var(--p325-text,#1b304c)}
.p328-editor *{box-sizing:border-box}.p328-editor button{width:auto!important;min-width:0!important;min-height:0!important;cursor:pointer}
.p328-kicker{font-size:10px;letter-spacing:.11em;font-weight:800;color:var(--p328-primary)}.p328-heading{display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between}.p328-heading h3{font-size:20px!important;color:inherit!important;line-height:1.2;letter-spacing:-.03em;margin:5px 0 7px}.p328-heading p{font-size:12px;color:var(--p325-muted,#617995);margin:0 0 12px}.p328-live{font-size:10px;font-weight:800;color:var(--p328-primary);background:color-mix(in srgb,var(--p328-primary) 12%,transparent);padding:7px 10px;border-radius:999px;height:fit-content}
.p328-presets{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px}.p328-editor .p328-preset{border:1px solid var(--p325-border,#dce5f3)!important;background:var(--p325-elevated,#f6f9fe)!important;color:var(--p325-text,#1b304c)!important;padding:9px 12px!important;border-radius:12px!important;font-size:11px!important;font-weight:700;display:flex;align-items:center;gap:8px;box-shadow:none!important}.p328-editor .p328-preset.selected{border-color:var(--p328-primary)!important;box-shadow:0 0 0 1px var(--p328-primary)!important}.p328-dots{display:flex}.p328-dots i{display:block;width:13px;height:13px;border-radius:50%;border:2px solid #ffffff65;margin-left:-3px}
.p328-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.p328-colors>label{display:block;background:var(--p325-elevated,#f6f9fe);border:1px solid var(--p325-border,#dce5f3);padding:12px 9px;border-radius:13px;font-size:11px;font-weight:700;color:var(--p325-text,#243954)}.p328-colors small{display:block;font-weight:400;color:var(--p325-muted,#647892);margin:3px 0 7px;font-size:10px}.p328-colors>label>span{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.p328-colors input[type=color]{width:45px!important;min-width:40px;height:34px!important;padding:0!important;border-radius:8px!important;background:none!important;cursor:pointer}.p328-colors output{font-size:11px;font-weight:800;color:var(--p325-text,#233951)}.p328-explain{font-size:11px;line-height:1.55;color:var(--p325-muted,#647892);margin:14px 0 0}
.p328-preview-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin:2px 0 10px}.p328-preview-top strong{display:flex;align-items:center;gap:7px;font-size:12px}.p328-preview-top>div{display:flex;padding:3px;background:var(--p325-elevated,#eef3fb);border-radius:11px}.p328-preview-top button{font-size:10px!important;border:none!important;background:transparent!important;color:var(--p325-text,#233951)!important;box-shadow:none!important;padding:7px 11px!important}.p328-preview-top button[aria-pressed="true"]{background:var(--p328-primary)!important;color:white!important;border-radius:8px!important}
.p328-dashboard{--p328-bg:#0b1120;--p328-card:#131e31;--p328-surface:#101828;--p328-ink:#eaf3ff;--p328-sub:#95a9c5;--p328-line:#2a3853;display:grid;grid-template-columns:126px minmax(0,1fr);height:345px;min-height:330px;background:var(--p328-bg);border:1px solid var(--p328-line);border-radius:18px;overflow:hidden;isolation:isolate;text-align:left;box-shadow:0 18px 32px #0a162b30;color:var(--p328-ink);font-size:11px}
.p328-dashboard[data-preview-theme=light]{--p328-bg:#eef3fb;--p328-card:#fff;--p328-surface:#fbfdff;--p328-ink:#1b304d;--p328-sub:#657d9b;--p328-line:#dde8f6}
.p328-dashboard aside{background:var(--p328-surface);padding:15px 8px;border-right:1px solid var(--p328-line);color:var(--p328-ink)}.p328-logo{display:flex;align-items:center;gap:5px;min-height:28px;margin:0 0 24px;font-size:11px;line-height:1.15;color:var(--p328-ink);overflow:hidden}.p328-logo svg{color:var(--p328-accent);flex-shrink:0}.p328-dashboard aside>small{font-size:9px;color:var(--p328-sub);letter-spacing:.08em}.p328-nav{display:flex;align-items:center;gap:7px;padding:9px 8px;margin-top:5px;color:var(--p328-sub);border-radius:10px;font-weight:600;font-size:10px}.p328-nav svg{width:14px;height:14px;flex:none}.p328-nav.current{background:linear-gradient(120deg,var(--p328-primary),var(--p328-secondary));color:#fff;box-shadow:0 7px 16px color-mix(in srgb,var(--p328-primary) 28%,transparent)}
.p328-dashboard main{min-width:0;padding:0 12px 11px;background:var(--p328-bg);color:var(--p328-ink)}.p328-dashboard main>header{display:flex;justify-content:space-between;align-items:center;height:48px;border-bottom:1px solid var(--p328-line);margin:0 -12px 10px;padding:0 12px;background:var(--p328-bg)!important;color:var(--p328-ink)}.p328-dashboard main>header strong{display:block;font-size:12px;color:var(--p328-ink)}.p328-dashboard main>header small{display:block;font-size:9px;color:var(--p328-sub)}.p328-ava{background:var(--p328-card);color:var(--p328-accent);padding:5px 9px;border-radius:9px}
.p328-banner{display:flex;justify-content:space-between;align-items:center;gap:8px;position:relative;overflow:hidden;background:linear-gradient(115deg,var(--p328-primary),var(--p328-secondary));border-radius:14px;padding:15px;color:#fff;box-shadow:0 10px 20px color-mix(in srgb,var(--p328-primary) 21%,transparent)}.p328-banner:after{content:'';position:absolute;width:100px;height:100px;border-radius:50%;background:var(--p328-accent);filter:blur(40px);opacity:.3;right:0;top:-35px;pointer-events:none}.p328-banner small{font-size:8px;color:#ffffffe0}.p328-banner h4{color:#fff!important;font-size:14px!important;margin:5px 0!important;letter-spacing:-.02em}.p328-banner p{margin:0;font-size:9px;color:#ffffffe0}.p328-cta{border:1px solid #ffffff60;background:#ffffff20;color:white;white-space:nowrap;padding:8px;border-radius:9px;font-size:9px;font-weight:800}
.p328-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:9px 0}.p328-kpis>div{position:relative;min-height:79px;background:var(--p328-card);border:1px solid var(--p328-line);border-radius:12px;padding:9px;box-shadow:0 6px 11px #0000000b}.p328-kpis .p328-icon{position:absolute;top:6px;right:7px;background:color-mix(in srgb,var(--p328-primary) 17%,transparent);border-radius:9px;padding:4px;color:var(--p328-accent)}.p328-icon svg{width:13px;height:13px}.p328-kpis small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--p328-sub);font-size:8px;max-width:90%}.p328-kpis b{display:block;font-size:13px;margin-top:14px;color:var(--p328-ink)}.p328-chart{background:var(--p328-card);border:1px solid var(--p328-line);border-radius:12px;padding:9px;min-height:82px}.p328-chart strong{display:flex;gap:6px;align-items:center;font-size:9px;color:var(--p328-ink)}.p328-chart strong svg{width:14px;height:14px;color:var(--p328-primary)}.p328-bars{height:48px;display:flex;justify-content:space-between;align-items:end;gap:8px;margin-top:5px}.p328-bars i{display:block;flex:1;max-width:34px;background:linear-gradient(180deg,var(--p328-accent),var(--p328-primary));border-radius:5px 5px 2px 2px;box-shadow:0 0 9px color-mix(in srgb,var(--p328-accent) 20%,transparent)}
.p328-preview-note{font-size:10px;color:var(--p325-muted,#617995);margin:8px 0 0}
/* Do not override other input or button handlers, visibility, labels or fields. */
@media(max-width:1000px){.p328-editor{grid-template-columns:1fr}.p328-dashboard{height:345px}}
@media(max-width:520px){.p328-editor{padding:12px}.p328-colors{grid-template-columns:1fr}.p328-dashboard{grid-template-columns:85px minmax(0,1fr);height:335px}.p328-dashboard aside{padding:9px 4px}.p328-nav{font-size:8px;padding:8px 3px}.p328-nav svg{width:11px;height:11px}.p328-logo{font-size:9px}.p328-dashboard main{padding:0 7px 7px}.p328-dashboard main>header{margin:0 -7px 8px;padding:0 7px}.p328-banner{padding:10px}.p328-banner h4{font-size:11px!important}.p328-cta{font-size:8px;padding:5px}.p328-kpis b{font-size:10px}.p328-kpis>div{padding:6px}.p328-kpis small{font-size:7px}}
@media(prefers-reduced-motion:reduce){.p328-editor *{transition:none!important;animation:none!important}}
