/* Mod 1.172 · Cara nova da Central: acabamento final do painel e do login.
   Usa somente a cor da empresa (--central-accent) e os tokens de tema; carrega por último. */
html:root{--cn-accent:var(--central-accent,#147e60);--cn-accent-2:color-mix(in srgb,var(--cn-accent) 62%,#4f46e5);--cn-glow:color-mix(in srgb,var(--cn-accent) 28%,transparent);--cn-radius:18px;--cn-shadow:0 1px 2px #0f172a0a,0 10px 30px -12px #0f172a1f;--cn-shadow-hover:0 2px 4px #0f172a0d,0 22px 44px -18px color-mix(in srgb,var(--cn-accent) 45%,#0f172a40)}
@supports (color:oklch(from red l c h)){html:root{--cn-accent-2:oklch(from var(--cn-accent) calc(l + .04) c calc(h + 34))}html[data-palette=amber]:root{--cn-accent-2:oklch(from var(--cn-accent) calc(l + .02) calc(c * 1.1) calc(h - 30))}html[data-palette=graphite]:root{--cn-accent-2:oklch(from var(--cn-accent) calc(l + .06) calc(c + .03) calc(h + 20))}}
html[data-theme=dark]{--cn-shadow:0 1px 2px #0006,0 12px 34px -14px #000a;--cn-shadow-hover:0 2px 4px #0008,0 24px 48px -18px color-mix(in srgb,var(--cn-accent) 55%,#000)}
@property --cn-angle{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes cn-spin{to{--cn-angle:360deg}}
@keyframes cn-drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(4%,-3%,0) scale(1.08)}100%{transform:translate3d(0,0,0) scale(1)}}
@keyframes cn-rise{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@keyframes cn-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--cn-accent) 55%,transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}

/* ---------- Login: um cartão limpo sobre fundo vivo na cor da empresa ---------- */
html[data-central-session=guest] body{background:var(--bg)!important;min-height:100dvh}
html[data-central-session=guest] body::before{content:"";position:fixed;inset:-20%;z-index:0;pointer-events:none;background:radial-gradient(38% 42% at 18% 22%,color-mix(in srgb,var(--cn-accent) 55%,transparent),transparent 70%),radial-gradient(34% 40% at 82% 26%,color-mix(in srgb,var(--cn-accent-2) 45%,transparent),transparent 70%),radial-gradient(40% 46% at 62% 88%,color-mix(in srgb,var(--cn-accent) 32%,transparent),transparent 72%);filter:blur(18px);opacity:.85;animation:cn-drift 18s ease-in-out infinite}
html[data-theme=dark][data-central-session=guest] body::before{opacity:.6}
html[data-central-session=guest] body::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(color-mix(in srgb,var(--ink) 9%,transparent) 1px,transparent 1.4px);background-size:22px 22px;mask-image:radial-gradient(70% 60% at 50% 45%,#000,transparent)}
html[data-central-session=guest] body>header{position:relative;z-index:1;background:transparent!important;border:0!important;box-shadow:none!important;justify-content:center}
html[data-central-session=guest] body>header :is(.portal-button,.central-site-link,#centralNotify,.central-profile,.operator-identity){display:none!important}
html[data-central-session=guest] body>header .central-header-brand{display:none!important}
html[data-central-session=guest] main{position:relative;z-index:1}
html[data-central-session=guest] body.central-workspace #auth,html[data-central-session=guest] #auth{grid-template-columns:1fr!important;max-width:420px!important;width:calc(100% - 32px);margin:clamp(24px,9vh,96px) auto 32px!important;padding:0!important;border-radius:24px!important;border:1px solid color-mix(in srgb,var(--panel) 60%,transparent)!important;background:color-mix(in srgb,var(--panel) 82%,transparent)!important;backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 30px 80px -30px color-mix(in srgb,var(--cn-accent) 55%,#0f172a66),0 1px 0 #ffffff40 inset!important;overflow:visible!important;animation:cn-rise .55s cubic-bezier(.2,.8,.2,1) both}
html[data-central-session=guest] #auth .auth-story{background:transparent!important;padding:34px 34px 0!important;align-items:center;text-align:center;gap:0!important}
html[data-central-session=guest] #auth .auth-story>:not(.auth-brand){display:none!important}
html[data-central-session=guest] #auth .auth-brand{display:flex;flex-direction:column;align-items:center;gap:12px;margin:0!important;font-weight:700;font-size:15px;color:var(--ink)}
html[data-central-session=guest] #auth .auth-brand .brand{display:grid!important;place-items:center;width:64px!important;height:64px!important;border-radius:20px!important;font-size:30px;background:linear-gradient(135deg,var(--cn-accent),var(--cn-accent-2))!important;box-shadow:0 14px 30px -10px var(--cn-glow),0 0 0 6px color-mix(in srgb,var(--cn-accent) 10%,transparent)!important;overflow:hidden}
html[data-central-session=guest] #auth .auth-brand .brand:has(img){background:#fff!important}
html[data-central-session=guest] #auth .auth-fields{padding:18px 34px 30px!important;background:transparent!important;text-align:center}
html[data-central-session=guest] #auth .auth-fields>.eyebrow{display:none!important}
html[data-central-session=guest] #auth #authTitle{font-size:26px!important;letter-spacing:-.02em;margin:4px 0 6px!important}
html[data-central-session=guest] #auth #authHelp{font-size:14px;margin:0 0 18px!important}
html[data-central-session=guest] #auth form{text-align:left}
html[data-central-session=guest] #auth form label{font-size:12.5px;font-weight:600;color:var(--muted);margin:14px 0 6px!important}
html[data-central-session=guest] #auth :is(input#username,input#password,input#loginCode){min-height:48px!important;border-radius:14px!important;background:color-mix(in srgb,var(--bg) 70%,var(--panel))!important;border:1px solid var(--line)!important;font-size:16px!important;transition:border-color .2s,box-shadow .2s,background .2s}
html[data-central-session=guest] #auth :is(input#username,input#password,input#loginCode):focus{background:var(--panel)!important;border-color:var(--cn-accent)!important;outline:0!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--cn-accent) 16%,transparent)!important}
html[data-central-session=guest] #auth #loginSubmit{position:relative;overflow:hidden;width:100%;min-height:50px!important;margin-top:22px!important;border:0!important;border-radius:14px!important;font-weight:700;font-size:15px!important;color:#fff!important;background:linear-gradient(135deg,var(--cn-accent),var(--cn-accent-2))!important;box-shadow:0 12px 26px -12px var(--cn-glow)!important;transition:transform .18s,box-shadow .18s,filter .18s}
html[data-central-session=guest] #auth #loginSubmit:hover{transform:translateY(-1px);filter:saturate(1.15);box-shadow:0 18px 34px -14px var(--cn-glow)!important}
html[data-central-session=guest] #auth #loginSubmit::after,.cn-shine::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff55 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s ease}
html[data-central-session=guest] #auth #loginSubmit:hover::after{transform:translateX(120%)}
html[data-central-session=guest] #auth .password-toggle{color:var(--cn-accent)!important;background:transparent!important;border:0!important}
html[data-central-session=guest] body>footer{display:none!important}
@media (max-width:520px){html[data-central-session=guest] #auth{margin-top:16px!important}html[data-central-session=guest] #auth .auth-story{padding:28px 22px 0!important}html[data-central-session=guest] #auth .auth-fields{padding:14px 22px 24px!important}}

/* ---------- Painel autenticado ---------- */
body.central-authenticated{background:radial-gradient(1200px 520px at 100% -10%,color-mix(in srgb,var(--cn-accent) 9%,transparent),transparent 70%),radial-gradient(900px 420px at -10% 110%,color-mix(in srgb,var(--cn-accent-2) 6%,transparent),transparent 70%),var(--bg)!important;background-attachment:fixed!important}
body.central-authenticated>header{background:color-mix(in srgb,var(--panel) 80%,transparent)!important;backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent)!important}
body.central-authenticated>header .central-header-brand .brand{background:linear-gradient(135deg,var(--cn-accent),var(--cn-accent-2))!important;box-shadow:0 8px 20px -8px var(--cn-glow);border-radius:14px!important}
body.central-authenticated>header .central-header-brand .brand:has(img){background:#fff!important}
body.central-authenticated #centralPageTitle{letter-spacing:-.02em}
body.central-authenticated #centralNotify .notify-count{animation:cn-pulse 2.4s ease-out infinite;background:linear-gradient(135deg,var(--cn-accent),var(--cn-accent-2))!important;color:#fff!important}
body.central-authenticated .central-profile{background:linear-gradient(135deg,color-mix(in srgb,var(--cn-accent) 18%,var(--panel)),color-mix(in srgb,var(--cn-accent-2) 18%,var(--panel)))!important;color:var(--cn-accent)!important;font-weight:700;border-color:transparent!important}

/* Menu lateral */
body.central-authenticated #systemTabs{background:color-mix(in srgb,var(--panel) 86%,transparent)!important;backdrop-filter:blur(10px)}
body.central-authenticated #systemTabs .nav-group-label{font-size:10.5px;letter-spacing:.12em;color:color-mix(in srgb,var(--muted) 80%,transparent)!important}
body.central-authenticated #systemTabs button{position:relative;border-radius:12px!important;transition:background .18s,color .18s,transform .18s,box-shadow .18s!important}
body.central-authenticated #systemTabs button:not(.active):hover{background:color-mix(in srgb,var(--cn-accent) 8%,transparent)!important;color:var(--ink)!important;transform:translateX(2px)}
body.central-authenticated #systemTabs button:not(.active):hover svg{color:var(--cn-accent)}
body.central-authenticated #systemTabs button.active{background:linear-gradient(135deg,var(--cn-accent),var(--cn-accent-2))!important;color:#fff!important;font-weight:650!important;box-shadow:0 10px 22px -12px var(--cn-glow),0 1px 0 #ffffff33 inset!important}
body.central-authenticated #systemTabs button.active :is(svg,span,b){color:#fff!important}
body.central-authenticated #systemTabs button.active b{background:#ffffff33!important}

/* Cartões, indicadores e painéis */
body.central-authenticated .central-work-area :is(.panel,.dash-kpi,.central-operation-strip,.central-overview-columns>*){border-radius:var(--cn-radius)!important;box-shadow:var(--cn-shadow)}
body.central-authenticated .dash-kpi{position:relative;overflow:hidden;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,border-color .22s!important;animation:cn-rise .5s cubic-bezier(.2,.8,.2,1) both}
body.central-authenticated .dash-kpi:nth-child(2){animation-delay:.05s}body.central-authenticated .dash-kpi:nth-child(3){animation-delay:.1s}body.central-authenticated .dash-kpi:nth-child(4){animation-delay:.15s}
body.central-authenticated .dash-kpi::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--cn-accent),var(--cn-accent-2));opacity:.9}
body.central-authenticated .dash-kpi::after{content:"";position:absolute;width:120px;height:120px;right:-50px;top:-50px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--cn-accent) 10%,transparent),transparent 68%);pointer-events:none;transition:transform .4s}
body.central-authenticated .dash-kpi:hover{transform:translateY(-3px);box-shadow:var(--cn-shadow-hover)!important;border-color:color-mix(in srgb,var(--cn-accent) 35%,var(--line))!important}
body.central-authenticated .dash-kpi:hover::after{transform:scale(1.25)}
body.central-authenticated .dash-kpi :is(.dash-kpi-icon,.kpi-icon,span:first-child>svg:only-child){border-radius:12px}
body.central-authenticated .dash-kpi strong,body.central-authenticated .dash-kpi>b{letter-spacing:-.02em}

/* Faixa de boas-vindas da Visão geral */
body.central-authenticated .central-overview-top{position:relative;overflow:hidden;align-items:center!important;padding:22px 24px!important;border-radius:22px!important;color:#fff;background:linear-gradient(120deg,var(--cn-accent),var(--cn-accent-2))!important;box-shadow:0 18px 40px -22px var(--cn-glow);isolation:isolate;animation:cn-rise .45s cubic-bezier(.2,.8,.2,1) both}
body.central-authenticated .central-overview-top::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(260px 160px at 85% 0%,#ffffff40,transparent 70%),radial-gradient(220px 140px at 10% 120%,#ffffff26,transparent 70%);animation:cn-drift 14s ease-in-out infinite}
body.central-authenticated .central-overview-top::after{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#ffffff2e 1px,transparent 1.3px);background-size:18px 18px;mask-image:linear-gradient(90deg,transparent 35%,#000)}
body.central-authenticated .central-overview-top :is(.eyebrow,p,span,small){color:#fff!important}
body.central-authenticated .central-overview-top .eyebrow{font-size:12px;opacity:.9}
body.central-authenticated .central-overview-top p{font-size:18px;font-weight:650;margin:4px 0 0!important;letter-spacing:-.01em}
body.central-authenticated .central-overview-top .dash-live i{background:#fff!important;box-shadow:0 0 0 4px #ffffff33}
body.central-authenticated .central-overview-top button{background:#ffffff26!important;border:1px solid #ffffff55!important;color:#fff!important;backdrop-filter:blur(6px)}
body.central-authenticated .central-overview-top button:hover{background:#ffffff3d!important}
body.central-authenticated .central-overview-top button :is(svg,span){color:#fff!important}

/* Botões principais */
body.central-authenticated .central-work-area :is(button.primary,a.primary,.portal-button.primary):not(.sales-chat-inbox *,.sales-chat-immersive *){position:relative;background:linear-gradient(135deg,var(--cn-accent),var(--cn-accent-2))!important;color:#fff!important;box-shadow:0 8px 18px -10px var(--cn-glow);transition:transform .16s,box-shadow .16s,filter .16s!important}
body.central-authenticated .central-work-area :is(button.primary,a.primary,.portal-button.primary):not(.sales-chat-inbox *,.sales-chat-immersive *):hover{transform:translateY(-1px);filter:saturate(1.12);box-shadow:0 14px 26px -12px var(--cn-glow)}
body.central-authenticated dialog[open]{border-radius:22px!important;box-shadow:0 40px 100px -30px #0f172a80!important;animation:cn-rise .3s cubic-bezier(.2,.8,.2,1) both}
body.central-authenticated dialog::backdrop{background:color-mix(in srgb,#0f172a 45%,transparent);backdrop-filter:blur(4px)}


@media (prefers-reduced-motion:reduce){html[data-central-session] body::before,body.central-authenticated .dash-kpi,#auth,body.central-authenticated #centralNotify .notify-count{animation:none!important}body.central-authenticated :is(.dash-kpi,#systemTabs button){transition:none!important;transform:none!important}}
