/* ===== Tema Midnight Blue (mesmas cores da loja: #02060E e #0356C5) ===== */
:root:not([data-theme="light"]){--bg:#02060E;--bg2:#040B18;--card:#0A1426;--card2:#07101F;--navy:#0A2A5E;--ink:#F2F5FA;--line:rgba(120,160,230,.14);--line2:rgba(120,160,230,.07);--muted:#93A3BD;--faint:#5E6C85;--teal:#8DB4F0;--tealStrong:#3D86F0;--c1:#3D86F0;--onTeal:#FFFFFF;--g-brand:linear-gradient(135deg,#6FA8FF 0%,#0356C5 55%,#023E8F 100%);--g-line:linear-gradient(90deg,#0356C5,#3D86F0 55%,rgba(61,134,240,0))}
:root:not([data-theme="light"]) body{background:radial-gradient(1000px 560px at 88% -14%,rgba(3,86,197,.30),transparent 62%),radial-gradient(800px 520px at -14% 40%,rgba(3,86,197,.10),transparent 60%),var(--bg)!important;background-attachment:fixed}
:root:not([data-theme="light"]) .card{background:linear-gradient(160deg,rgba(61,134,240,.07),rgba(61,134,240,0) 42%),linear-gradient(180deg,#0B1629,#08111F)!important;border-color:rgba(120,160,230,.12)!important;box-shadow:0 18px 40px -24px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.04)!important}
:root:not([data-theme="light"]) .side{background:linear-gradient(180deg,#061A3D 0%,#030A17 45%,#02060E 100%)!important;border-right:1px solid rgba(120,160,230,.10)}
:root:not([data-theme="light"]) .top{background:rgba(2,6,14,.84)!important;border-bottom:1px solid rgba(120,160,230,.08)}
:root:not([data-theme="light"]) .modal{background:linear-gradient(160deg,rgba(61,134,240,.10),transparent 42%),#0A1426}
.kpi .l svg,.empty svg,.step i,.avatar{background:linear-gradient(135deg,#0356C5,#02183F)!important;color:#fff}
.btn.pri,a.btn.pri{background:linear-gradient(135deg,#3D86F0,#0356C5)!important;color:#fff!important;border-color:transparent!important}
h1,h2,.ttl{letter-spacing:.01em}
/* ===== Lux Gestão · versão celular limpa (até 860px) ===== */
#chat-fab,#chat-pn{display:none!important}
.mob-sheet{display:none}
@media (max-width:860px){
  html,body{overflow-x:clip}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  /* barra de navegação fixa embaixo, sem arrastar */
  .mob{position:fixed!important;top:auto!important;left:0;right:0;bottom:0;z-index:60;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;overflow:visible!important;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px))!important;border-top:1px solid var(--line);border-bottom:0!important;background:rgba(2,6,14,.94)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  :root[data-theme="light"] .mob{background:rgba(255,255,255,.94)!important}
  .mob>.nb{flex-direction:column;gap:3px;justify-content:center;padding:7px 2px!important;border-radius:12px;font-size:10.5px;line-height:1.1;color:var(--muted);min-width:0;box-shadow:none!important;background:none!important;transform:none!important}
  .mob>.nb span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .mob>.nb svg{width:22px;height:22px}
  .mob>.nb[aria-current="page"]{color:var(--tealStrong)}
  .mob>.nb[aria-current="page"] svg{filter:drop-shadow(0 0 8px rgba(61,134,240,.55))}
  .mob-sheet{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end;background:rgba(3,8,12,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
  .mob-sheet[hidden]{display:none}
  .mob-sh{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px 16px calc(92px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;background:linear-gradient(160deg,rgba(61,134,240,.12),transparent 50%),var(--card);border-top:1px solid rgba(120,160,230,.3);animation:shUp .25s ease both}
  @keyframes shUp{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
  .mob-sh .nb{flex-direction:column;gap:6px;justify-content:center;text-align:center;padding:14px 6px!important;border:1px solid var(--line2);border-radius:14px;font-size:12px;background:var(--line2)}
  .mob-sh .nb svg{width:22px;height:22px}
  /* topo enxuto */
  .top{top:0!important;padding:10px 16px!important;gap:8px}
  .top .btn[data-a="theme"]{display:none}
  .per-btn{padding:7px 10px;font-size:12.5px}
  .avatar{width:34px;height:34px}
  /* cabeçalho de página: só o título */
  .content{padding:16px 14px 24px!important;gap:16px!important}
  .ph{padding-bottom:10px}.ph h1{font-size:28px!important}.ph p{display:none}
  .ph .btn{padding:8px 12px}
  /* indicadores em 2 colunas, compactos */
  .grid{gap:10px!important}
  .grid>.s3,.grid>.kpi{grid-column:span 6!important}
  .card{padding:14px!important;border-radius:16px!important}
  .kpi{gap:4px}.kpi .l{font-size:11.5px!important;gap:6px}.kpi .l svg{width:24px!important;height:24px!important;padding:5px!important}
  .kpi .v,.kpi .v.cu{font-size:22px!important}.kpi .d{font-size:11px!important;line-height:1.35}
  .kpi::after{display:none}
  .hero-t{padding:16px!important}.hero-t h2{font-size:24px!important}.hero-t p{font-size:13px}
  .card h2,.chhead h2{font-size:20px!important}
  .card .sub,.chhead .sub{font-size:12px!important}
  .chartbox{height:210px}.chartbox.tall{height:240px}
  /* abas roláveis viram linha compacta */
  .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}
  .tab{white-space:nowrap;padding:7px 12px;font-size:13px}
  /* tabelas viram cartões: nada de arrastar para o lado */
  .tw{overflow:visible!important}
  .tw table,table{min-width:0!important;display:block;width:100%}
  .tw thead,table thead{display:none}
  .tw tbody,table tbody{display:flex;flex-direction:column;gap:8px}
  .tw tr,table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 14px;border:1px solid var(--line2);border-radius:14px;background:rgba(120,160,230,.04)}
  .tw td,table td{display:block;padding:0!important;line-height:1.45;border:0!important;font-size:13px;min-width:0;grid-column:1/-1;text-align:right!important;overflow-wrap:anywhere}
  .tw td[data-l]::before,table td[data-l]::before{content:attr(data-l);float:left;color:var(--faint);font-size:11.5px;text-align:left;margin-right:12px;max-width:45%}
  .tw td:first-child,table td:first-child{grid-column:1/-1;font-weight:600;font-size:14px;text-align:left!important;justify-content:flex-start}
  .tw td:first-child::before,table td:first-child::before{display:none}
  .tw td:empty,table td:empty{display:none}
  tr.row:hover td{background:none!important}
  .card:has(>.tw),.card:has(>table){background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
  .tw td .pill,table td .pill{white-space:normal}
  /* listas e linhas largas se ajustam */
  .oc,.ins-row{grid-template-columns:minmax(0,1fr)!important}
  .rank{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .rt-sum,.sumrow,.sal-plan,.sal-card .rt-sum{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pv-hero{padding:18px!important}.pv-ht p{display:none}
  .pv-fees{grid-template-columns:repeat(2,minmax(0,1fr))}
  .modal{padding:16px;border-radius:18px}
  .modalbg{padding:12px 10px calc(90px + env(safe-area-inset-bottom,0px))}
  .toast{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  .form{grid-template-columns:minmax(0,1fr)!important}
  .irow{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px!important}.irow>:first-child{grid-column:1/-1}
}
/* ===== Assistente ===== */
#as-fab{position:fixed;right:20px;bottom:20px;z-index:55;display:flex;align-items:center;gap:8px;padding:12px 18px;border:0;border-radius:999px;cursor:pointer;font:600 14px var(--fu);color:#04203A;background:linear-gradient(135deg,#BFE9F2,#3D86F0 55%,#0356C5);box-shadow:0 14px 30px -10px rgba(61,134,240,.8)}
#as-fab svg{width:20px;height:20px}
#as-pn{position:fixed;right:20px;bottom:20px;z-index:80;width:min(420px,calc(100vw - 24px));height:min(640px,calc(100vh - 40px));display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:linear-gradient(160deg,rgba(61,134,240,.10),transparent 40%),#0A1426;border:1px solid rgba(140,190,235,.28);box-shadow:0 40px 80px -24px rgba(0,0,0,.8);color:var(--ink)}
#as-pn[hidden]{display:none}
#as-pn header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--line)}
#as-pn header div{flex:1}#as-pn header small{display:block;color:var(--muted);font-size:12px}
#as-pn header button{border:0;background:var(--line2);color:var(--muted);border-radius:10px;padding:6px 10px;cursor:pointer;font:inherit;font-size:12px}
#as-ms{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.as-m{max-width:86%;padding:10px 13px;border-radius:16px;font-size:14px;line-height:1.45;white-space:normal}
.as-m.eu{align-self:flex-end;background:linear-gradient(135deg,#3D86F0,#0356C5);color:#04203A;border-bottom-right-radius:6px}
.as-m.ia{align-self:flex-start;background:rgba(140,190,235,.10);border:1px solid var(--line2);border-bottom-left-radius:6px}
.as-m.erro{align-self:center;color:var(--bad);font-size:13px;background:none}
.as-dig{display:flex;gap:4px}.as-dig i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:asB 1s infinite}.as-dig i:nth-child(2){animation-delay:.15s}.as-dig i:nth-child(3){animation-delay:.3s}
@keyframes asB{0%,80%,100%{opacity:.3}40%{opacity:1}}
.as-conf{align-self:stretch;display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:16px;border:1px solid rgba(61,134,240,.45);background:rgba(61,134,240,.08);font-size:13.5px}
.as-conf span{color:var(--muted)}.as-conf hr{border:0;border-top:1px solid var(--line);width:100%}
.as-conf>div{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}
.as-conf button{border:1px solid var(--line);background:var(--card2);color:var(--ink);border-radius:10px;padding:8px 12px;cursor:pointer;font:inherit;font-size:13px}
.as-conf button.pri{background:linear-gradient(135deg,#6FA8FF,#3D86F0);color:#04203A;border:0;font-weight:600}
.as-conf em{font-style:normal;color:var(--good);font-size:12.5px;text-align:right}
.as-vazio{margin:auto 0;display:flex;flex-direction:column;gap:12px;text-align:center}.as-vazio b{font:600 22px var(--fd)}
.as-sug{display:flex;flex-direction:column;gap:8px}.as-sug button{border:1px solid var(--line);background:var(--line2);color:var(--ink);border-radius:12px;padding:10px 12px;cursor:pointer;font:inherit;font-size:13px;text-align:left}
#as-f{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
#as-in{flex:1;resize:none;border:1px solid var(--line);border-radius:14px;background:var(--card2);color:var(--ink);padding:11px 12px;font:15px var(--fu);max-height:120px}
#as-f button{width:46px;border:0;border-radius:14px;background:linear-gradient(135deg,#6FA8FF,#3D86F0);color:#04203A;font-size:18px;cursor:pointer}
@media (max-width:860px){#as-fab{right:14px;bottom:calc(84px + env(safe-area-inset-bottom,0px));padding:12px}#as-fab span{display:none}
  #as-pn{inset:0;width:auto;height:auto;border-radius:0;z-index:90;padding-bottom:env(safe-area-inset-bottom,0px)}}
/* ===== Animações e interações (suaves, profissionais) ===== */
@keyframes cardIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@keyframes shine{from{transform:translateX(-120%)}to{transform:translateX(220%)}}
.lx-anim .card{animation:cardIn .55s cubic-bezier(.2,.8,.2,1) both}
.lx-anim .card:nth-child(2){animation-delay:.05s}.lx-anim .card:nth-child(3){animation-delay:.1s}.lx-anim .card:nth-child(4){animation-delay:.15s}.lx-anim .card:nth-child(5){animation-delay:.2s}.lx-anim .card:nth-child(6){animation-delay:.25s}.lx-anim .card:nth-child(n+7){animation-delay:.3s}
.card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
@media (hover:hover){.card:hover{transform:translateY(-3px);border-color:rgba(61,134,240,.35)!important;box-shadow:0 22px 46px -22px rgba(3,86,197,.55),inset 0 1px 0 rgba(255,255,255,.06)!important}}
.kpi{position:relative;overflow:hidden}
.lx-anim .kpi::after{content:"";position:absolute;inset:0;width:40%;background:linear-gradient(100deg,transparent,rgba(111,168,255,.12),transparent);animation:shine 1.1s ease .35s both;pointer-events:none}
.btn,.nb,button{transition:transform .12s ease,filter .2s ease,background-color .2s ease}
.btn:active,.nb:active,#as-fab:active{transform:scale(.96)}
.btn.pri:hover{filter:brightness(1.12)}
tbody tr{transition:background-color .2s ease}
@media (hover:hover){tbody tr:hover{background:rgba(61,134,240,.06)}}
.lx-ripple{position:absolute;border-radius:50%;pointer-events:none;background:rgba(111,168,255,.35);transform:scale(0);animation:rip .55s ease-out forwards}
@keyframes rip{to{transform:scale(1);opacity:0}}
@media (prefers-reduced-motion:reduce){.lx-anim .card,.lx-anim .kpi::after,.lx-ripple{animation:none!important}.card:hover{transform:none}}
/* aviso dentro do app */
.lux-ban{position:fixed;left:50%;top:calc(10px + env(safe-area-inset-top,0px));z-index:3000;width:min(420px,calc(100vw - 24px));display:flex;gap:12px;align-items:flex-start;text-align:left;padding:12px 14px;border-radius:16px;border:1px solid rgba(120,160,230,.22);background:rgba(10,20,38,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#F2F5FA;font:14px/1.4 "Montserrat",system-ui,sans-serif;box-shadow:0 24px 50px -20px rgba(0,0,0,.9);transform:translate(-50%,-140%);opacity:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s;cursor:pointer}
.lux-ban.on{transform:translate(-50%,0);opacity:1}
.lux-ban img{width:38px;height:38px;border-radius:10px;flex:none}
.lux-ban b{display:block;font-weight:600;font-size:14px;margin-bottom:2px}
.lux-ban small{display:block;color:#A9B7CC;font-size:13px}
/* ===== Venda rápida e cobrança ===== */
#lxFab{position:fixed;right:18px;bottom:24px;z-index:65;width:56px;height:56px;border-radius:18px;border:0;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#3D86F0,#0356C5);box-shadow:0 16px 34px -10px rgba(3,86,197,.9),inset 0 1px 0 rgba(255,255,255,.25);cursor:pointer;transition:transform .15s}
#lxFab svg{width:26px;height:26px}#lxFab:active{transform:scale(.92)}
@media (max-width:860px){#lxFab{bottom:calc(84px + env(safe-area-inset-bottom,0px));right:14px;width:52px;height:52px}}
#lxSheet{position:fixed;inset:0;z-index:2500;display:flex;align-items:flex-end;justify-content:center;background:rgba(2,6,14,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .25s}
#lxSheet.on{opacity:1}
@media (min-width:861px){#lxSheet{align-items:center}}
.lx-sh{width:min(520px,100%);max-height:92vh;overflow-y:auto;padding:18px 18px calc(18px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;background:linear-gradient(160deg,rgba(61,134,240,.10),transparent 45%),#0A1426;border:1px solid rgba(120,160,230,.18);color:#F2F5FA;font-family:"Montserrat",system-ui,sans-serif;display:flex;flex-direction:column;gap:12px;transform:translateY(30px);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
#lxSheet.on .lx-sh{transform:none}
@media (min-width:861px){.lx-sh{border-radius:22px}}
.lx-hd{display:flex;justify-content:space-between;align-items:flex-start}
.lx-hd small{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#6FA8FF}
.lx-hd b{font:600 24px "Cormorant Garamond",Georgia,serif}
.lx-x{background:rgba(255,255,255,.06);border:1px solid rgba(120,160,230,.18);color:#C9D4E5;width:36px;height:36px;border-radius:12px;cursor:pointer}
.lx-f{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}
.lx-f>span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#93A3BD}
.lx-f input,.lx-f select{font:15px "Montserrat",sans-serif;color:#F2F5FA;padding:12px 13px;border-radius:12px;border:1px solid rgba(120,160,230,.2);background:#050C18;outline:0;width:100%;box-sizing:border-box}
.lx-f input:focus,.lx-f select:focus{border-color:#3D86F0;box-shadow:0 0 0 3px rgba(61,134,240,.2)}
.lx-row{display:flex;gap:10px}.lx-q{flex:0 0 84px}
.lx-chips{display:flex;flex-wrap:wrap;gap:8px}
.lx-chips button{font:500 13px "Montserrat",sans-serif;padding:9px 13px;border-radius:999px;border:1px solid rgba(120,160,230,.22);background:transparent;color:#C9D4E5;cursor:pointer}
.lx-chips button.on{background:#0356C5;border-color:#3D86F0;color:#fff}
.lx-ck{display:flex;gap:10px;align-items:center;font-size:14px;color:#C9D4E5}.lx-ck input{width:18px;height:18px;accent-color:#3D86F0}
.lx-tot{font-size:14px;color:#6FA8FF;min-height:18px}
.lx-btn,.lx-btn2{display:block;text-align:center;text-decoration:none;font:600 15px "Montserrat",sans-serif;border-radius:14px;padding:14px;cursor:pointer;border:0}
.lx-btn{color:#fff;background:linear-gradient(135deg,#3D86F0,#0356C5);box-shadow:0 14px 30px -12px rgba(3,86,197,.9)}
.lx-btn:disabled{opacity:.6}
.lx-btn2{background:transparent;color:#C9D4E5;border:1px solid rgba(120,160,230,.22)}
.lx-kv{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;font-size:13px;color:#93A3BD}.lx-kv b{font:600 22px "Cormorant Garamond",serif;color:#F2F5FA}
.lx-msg{white-space:pre-wrap;font:13px/1.5 "Montserrat",sans-serif;background:#050C18;border:1px solid rgba(120,160,230,.14);border-radius:14px;padding:14px;margin:0;color:#DCE4F0}
.lx-warn{font-size:13px;color:#E3A94F}
.lx-rep{background:#fff;color:#0A1426;border-radius:16px;padding:20px;font:13px/1.45 "Montserrat",sans-serif}
.lx-rh{display:flex;gap:12px;align-items:center;margin-bottom:6px}.lx-rh img{width:44px;height:44px;border-radius:12px}
.lx-rh b{display:block;font:600 18px "Cormorant Garamond",Georgia,serif}.lx-rh span{color:#4A5A75;font-size:12px}
.lx-rep h4{margin:16px 0 6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#0356C5}
.lx-rep table{width:100%;border-collapse:collapse}.lx-rep td{padding:7px 0;border-bottom:1px solid #E4EAF3}.lx-rep td:last-child{text-align:right;white-space:nowrap}
.lx-rep .neg{color:#B53A32}.lx-foot{margin:14px 0 0;color:#6A7A92;font-size:11px}
.lx-sel{font:14px "Montserrat",sans-serif;color:#F2F5FA;padding:12px;border-radius:12px;border:1px solid rgba(120,160,230,.2);background:#050C18;flex:1;min-width:0}
@media print{body>*:not(#lxSheet){display:none!important}#lxSheet{position:static;background:#fff;backdrop-filter:none;opacity:1}#lxSheet .lx-sh{transform:none;max-height:none;overflow:visible;background:#fff;border:0;padding:0;width:100%}.lx-noprint{display:none!important}.lx-rep{border-radius:0;padding:0}html,body{background:#fff!important}}
.lx-rep table{display:table!important}.lx-rep tbody{display:table-row-group!important}
.lx-rep tr{display:table-row!important;background:none!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important;border-radius:0!important}
.lx-rep td{display:table-cell!important;padding:7px 0!important;border-bottom:1px solid #E4EAF3!important;color:#0A1426!important;font-size:13px!important}
.lx-rep td::before{content:none!important}
.lx-nov{margin:4px 0 14px;padding-left:18px;display:grid;gap:9px;color:#DCE4F0;font-size:14px;line-height:1.45}
.lx-nov li::marker{color:#3B82F6}
/* ===== Celular: sem zoom, botões no lugar, nada saindo da tela ===== */
html,body{touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:none}
button,a,.btn,.chip,input,select,textarea{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media (max-width:860px){
  input,select,textarea,.inp,.sel{font-size:16px!important}
  .per-pop{position:fixed!important;left:12px!important;right:12px!important;width:auto!important;top:calc(64px + env(safe-area-inset-top,0px))!important;max-height:calc(100dvh - 180px);overflow:auto;-webkit-overflow-scrolling:touch}
  .per-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .per-f{grid-template-columns:minmax(0,1fr)!important}
  .per-q{display:flex;flex-wrap:wrap;gap:8px}
  #view{padding-bottom:calc(150px + env(safe-area-inset-bottom,0px))!important}
  .hero .chips{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .hero .chips .btn{justify-content:center;width:100%}
  .ph{flex-wrap:wrap;gap:12px}
}
/* o + some quando um menu ou janela está aberto */
body:has(#mobSheet:not([hidden])) #lxFab,body:has(#lxSheet) #lxFab,body:has(#luxMenu) #lxFab,body:has(.modal.open) #lxFab,body:has(.more.open) #lxFab,body:has(.mais.open) #lxFab,body:has(.sheet.open) #lxFab,body:has(.per-pop.open) #lxFab{opacity:0;pointer-events:none;transform:scale(.6)}
#lxFab{transition:opacity .2s,transform .2s}
/* ===== Tela inicial: frasco Lux em 3D com "LUX" gigante ao fundo ===== */
.hero{background:radial-gradient(90% 120% at 78% 45%,rgba(30,64,130,.55),rgba(6,14,32,.9) 55%,#03070f 100%)!important}
.hero-3d{position:relative;min-height:300px;height:300px}
.hero-3d canvas{position:relative;z-index:1}
.hero-lux{position:absolute;inset:0;display:grid;place-items:center;font:600 clamp(110px,16vw,190px)/1 "Cormorant Garamond",Georgia,serif;letter-spacing:.12em;color:transparent;background:linear-gradient(180deg,rgba(220,227,238,.32),rgba(120,140,170,.08));-webkit-background-clip:text;background-clip:text;pointer-events:none;user-select:none}
.hero-frase{font:500 clamp(20px,2.2vw,26px)/1.3 "Cormorant Garamond",Georgia,serif;color:#DCE3EE;letter-spacing:.2px}
.hero-frase em{color:#8DB4F0;font-style:italic}
@media (max-width:760px){.hero-3d{height:260px;min-height:260px}.hero-lux{font-size:120px}}
.hero-frase{min-height:2.7em;opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s}
.hero-frase.on{opacity:1;transform:none}
.hero-3d::after{content:"Arraste para girar";position:absolute;left:0;right:0;bottom:8px;text-align:center;font:500 11px Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(175,192,218,.55);pointer-events:none;z-index:2}
/* janelas (+, cobrança, relatório): X sempre visível, alça para arrastar e espaço para tocar fora */
.lx-sh{max-height:min(84dvh,84vh)!important;padding-top:8px!important}
.lx-sh::before{content:"";display:block;width:42px;height:5px;border-radius:9px;background:rgba(175,192,218,.35);margin:2px auto 4px;flex:none}
.lx-hd{position:sticky;top:-8px;z-index:3;margin:0 -18px;padding:8px 18px 10px;background:linear-gradient(#0A1426 80%,rgba(10,20,38,0))}
.lx-x{width:42px!important;height:42px!important;font-size:16px;display:grid;place-items:center}
@media print{.lx-sh::before{display:none}.lx-hd{position:static}}
/* aviso de venda: valor em destaque */
.lux-ban.venda{align-items:center;border-color:rgba(92,203,156,.4);background:linear-gradient(135deg,rgba(18,60,44,.95),rgba(10,20,38,.95))}
.lux-ban .vv{display:block;font:600 26px/1.1 "Cormorant Garamond",Georgia,serif;color:#7CE0B0;margin:2px 0}
.lux-ban.venda b{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#9FE6C3}
/* Diretrizes Vercel: rolagem presa dentro das janelas, foco visível no teclado */
.lx-sh,.modal,.modalbg,#mobSheet,.per-pop{overscroll-behavior:contain}
:where(button,a,select,input,textarea,[tabindex]):focus-visible{outline:2px solid #6FA8FF;outline-offset:2px}
.lux-ban .vv,.kpi,.num{font-variant-numeric:tabular-nums}

/* ===== Etapa 1 do visual: grafite com brilho azul (referência enviada pelo Christian) =====
   Fundo grafite, cards quase pretos e a luz azul nascendo da borda de baixo.
   O card de lucro é o único com o brilho forte; os outros têm só um filete de luz. */
:root:not([data-theme="light"]){--bg:#1C1D21;--bg2:#17181B;--card:#0D0E12;--card2:#111216;--line:rgba(255,255,255,.07);--line2:rgba(255,255,255,.04);--ink:#F2F4F8;--muted:#9BA1AD;--faint:#6B717D;--teal:#8FB8FF;--tealStrong:#4A7DF0;--c1:#4A7DF0;--glow:#8FB8FF;--glowDeep:#2F5BD8}
:root[data-theme="light"]{--glow:#2F5BD8;--glowDeep:#2F5BD8}
:root:not([data-theme="light"]) body{background:radial-gradient(1300px 900px at 105% 108%,rgba(38,52,104,.85),transparent 62%),radial-gradient(900px 600px at 100% -10%,rgba(255,255,255,.035),transparent 60%),var(--bg)!important;background-attachment:fixed}
:root:not([data-theme="light"]) .side{background:#151619!important;border-right:1px solid rgba(255,255,255,.05)}
:root:not([data-theme="light"]) .top{background:rgba(28,29,33,.86)!important;border-bottom:1px solid rgba(255,255,255,.05)}
:root:not([data-theme="light"]) .modal,:root:not([data-theme="light"]) .lx-sh{background:#121317!important}
:root:not([data-theme="light"]) .card{background:linear-gradient(180deg,#0C0D11,#0E0F14)!important;border-color:rgba(255,255,255,.06)!important;box-shadow:0 24px 50px -30px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.03)!important}
/* filete de luz azul na base de cada card de número */
:root:not([data-theme="light"]) .card.kpi{box-shadow:0 24px 50px -30px rgba(0,0,0,.95),inset 0 -1px 0 rgba(143,184,255,.45),inset 0 -30px 40px -30px rgba(74,125,240,.40)!important}
.kpi::after{display:none!important}
.kpi::before{display:none!important}
:root:not([data-theme="light"]) .kpi .v:not(.pos):not(.neg):not(.wrn){background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--ink)}
.kpi .v,.kpi .v.cu{font-size:32px;letter-spacing:0;font-variant-numeric:lining-nums tabular-nums}
.kpi .d{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;line-height:1.35}
.kpi .l svg,.empty svg,.step i,.avatar{background:#1A1C22!important;color:var(--glow)!important;box-shadow:inset 0 0 0 1px rgba(143,184,255,.18)!important}
/* o card de lucro: luz azul forte subindo da borda, como na referência */
:root:not([data-theme="light"]) .card.kpi.ouro{background:linear-gradient(180deg,#0B0C10 30%,#0E1736 66%,#2348B8 90%,#7FA8FF 100%)!important;border-color:rgba(143,184,255,.22)!important;box-shadow:0 30px 60px -28px rgba(47,91,216,.55),inset 0 -2px 0 #A9C8FF!important}
:root[data-theme="light"] .kpi.ouro{border-color:rgba(47,91,216,.35)}
.kpi.ouro .v:not(.neg){color:#FFFFFF!important}
:root[data-theme="light"] .kpi.ouro .v:not(.neg){color:var(--glowDeep)!important}
.kpi.ouro .d,.kpi.ouro .dl-l,.kpi.ouro .spk-x{color:#C9D8F5}
:root[data-theme="light"] .kpi.ouro .d,:root[data-theme="light"] .kpi.ouro .dl-l,:root[data-theme="light"] .kpi.ouro .spk-x{color:var(--muted)}
/* botões principais com a mesma luz */
.btn.pri,a.btn.pri{background:linear-gradient(180deg,#3A66E0,#2448B5)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 24px -12px rgba(58,102,224,.8)!important}
/* variação contra o período anterior: seta + texto, nunca só cor */
.dl{display:inline-flex;align-items:center;font:600 11.5px/1 var(--fu);padding:4px 7px;border-radius:6px;font-variant-numeric:tabular-nums;white-space:nowrap}
.dl.up{color:var(--good);background:rgba(92,203,156,.12)}
.dl.down{color:var(--bad);background:rgba(229,120,111,.12)}
.dl.eq{color:var(--muted);background:var(--line2)}
.dl-l{color:var(--faint);font-size:11.5px}
/* minigráfico dos últimos 6 meses */
.spk{display:block;width:100%;height:34px;margin-top:6px;overflow:visible}
.spk .l{fill:none;stroke:var(--glow);stroke-width:1.75;stroke-linejoin:round;stroke-linecap:round}
.spk .a{fill:var(--glow);opacity:.10}
.kpi.ouro .spk .l{stroke:#FFFFFF}.kpi.ouro .spk .a{fill:#FFFFFF;opacity:.12}
.spk-x{display:flex;justify-content:space-between;font-size:10.5px;color:var(--faint);margin-top:2px}
/* assistente de IA: fica logo acima do botão +, nunca embaixo dele */
#as-fab{right:18px!important;bottom:92px!important;z-index:66;background:#14161B!important;color:#CFE0FF!important;border:1px solid rgba(143,184,255,.30)!important;box-shadow:inset 0 -10px 18px -10px rgba(74,125,240,.9),0 14px 30px -12px rgba(0,0,0,.9)!important}
@media (max-width:860px){#as-fab{right:14px!important;bottom:calc(146px + env(safe-area-inset-bottom,0px))!important;width:52px;height:52px;padding:0!important;justify-content:center;border-radius:18px!important}}
body:has(#mobSheet:not([hidden])) #as-fab,body:has(#lxSheet) #as-fab,body:has(#luxMenu) #as-fab,body:has(.per-pop.open) #as-fab,body:has(#as-pn:not([hidden])) #as-fab{opacity:0;pointer-events:none}

/* Marketing: calendário por mês */
.mk-per{margin:0 0 14px}
.mk-plano{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-color:color-mix(in srgb,var(--tealStrong,#4A7DF0) 45%,var(--line))}
.mk-lista{display:flex;flex-direction:column}
.mk-item{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.mk-item:first-child{border-top:0}
.mk-dia{display:flex;flex-direction:column;align-items:center;line-height:1.1}
.mk-dia b{font-size:22px;font-variant-numeric:tabular-nums}
.mk-dia span{font-size:12px;color:var(--mute,#8a8f98);text-transform:uppercase}
.mk-txt{display:flex;flex-direction:column;gap:3px;cursor:pointer;min-width:0}
.mk-txt b{overflow-wrap:anywhere}
.mk-st{cursor:pointer;border:0;white-space:nowrap;touch-action:manipulation}
.mk-item.atras .mk-dia b{color:var(--warn,#e0a040)}
@media (max-width:600px){.mk-item{grid-template-columns:40px minmax(0,1fr);row-gap:8px}.mk-st{grid-column:2;justify-self:start}}
.mk-zero{align-self:flex-start;margin-top:2px}

/* ===== Acabamento premium (out/2026): mesma paleta, menos ruído, hierarquia mais clara =====
   Princípios: títulos e valores em Cormorant (marca), interface em Montserrat; rótulos em frase normal
   (sem caixa alta espaçada); um único destaque luminoso por tela (cartão de lucro); cartões mais calmos. */
.ph h1{background:none!important;-webkit-text-fill-color:currentColor;color:var(--ink);letter-spacing:0}
.ph p{max-width:62ch;color:var(--muted)}
/* rótulos em frase normal: mais legíveis e menos "template" */
.eyebrow,.pv-eyebrow,.navlbl,th,.fld label,.kcol h3,.per-h,.per-f label,.cx-f>label,.pc-m label,.rt-sum label,.lx-hd small,.lx-f>span,#luxMenu h3{text-transform:none!important;letter-spacing:.01em!important}
.eyebrow,.pv-eyebrow{font-size:13px;font-weight:500}
th{font-size:12px;font-weight:600;color:var(--muted)}
.fld label,.cx-f>label,.rt-sum label,.pc-m label,.lx-f>span{font-size:12.5px;font-weight:500;color:var(--muted)}
.navlbl{font-size:11.5px}
/* indicadores: sem bolha decorativa nem brilho repetido; o valor é o protagonista */
.kpi::after,.lx-anim .kpi::after{display:none}
.kpi .l{font-size:13px;font-weight:500;color:var(--muted)}
.kpi .l svg{width:28px;height:28px;padding:6px;border-radius:9px;background:rgba(143,184,255,.08);box-shadow:none;color:var(--glow,#8FB8FF)}
.kpi .d{color:var(--muted);line-height:1.45}
@media (hover:none){.kpi:hover{transform:none;box-shadow:inherit}}
/* filtros e abas: uma linha só, rolagem lateral no celular em vez de quebrar em duas */
@media (max-width:760px){
  #view>.chips,.card>.chips[role=group],#view .chips[role=group]{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:2px}
  #view .chips[role=group]::-webkit-scrollbar{display:none}
  #view .chips[role=group]>*{flex:0 0 auto;scroll-snap-align:start}
  /* campos com 16px: o iPhone não dá zoom ao tocar */
  .inp,.sel,textarea,input[type=number],input[type=text],input[type=search],input[type=date]{font-size:16px}
  /* conteúdo nunca fica escondido atrás do botão + e da barra inferior */
  #view{padding-bottom:calc(150px + env(safe-area-inset-bottom))}
  .kpi .v,.kpi .v.cu{font-size:26px!important}
  .kpi .l svg{width:24px;height:24px;padding:5px}
}
.inp,.sel{min-width:0}
.cx-f .inp,.cx-f input{min-width:7ch}
/* estados vazios mais discretos e centrados */
.empty h3,.empty b{font-family:var(--fd);font-size:20px}
/* números sempre alinhados */
td.r,.r,.kpi .v{font-variant-numeric:tabular-nums}
.cx-f .ig{display:flex;align-items:center;min-width:0}
.cx-f .ig input{flex:1 1 auto;width:100%;min-width:0}
@media (max-width:760px){.cx-f .ig input{font-size:18px}}
@media (max-width:520px){.cx-grid{grid-template-columns:1fr!important}}
/* Vendas no celular: lista própria, mais rápida de ler que a tabela empilhada */
.pm-list{display:none}
@media (max-width:760px){
  .ped-card{padding:4px 0}
  .ped-card>.tw{display:none}
  .pm-list{display:flex;flex-direction:column}
  .pm-it{display:flex;flex-direction:column;gap:6px;text-align:left;width:100%;padding:14px 16px;background:none;border:0;border-top:1px solid var(--line2);color:inherit;font:inherit;cursor:pointer;touch-action:manipulation}
  .pm-it:first-child{border-top:0}
  .pm-it:active{background:rgba(143,184,255,.06)}
  .pm-a{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
  .pm-a b{font-size:15.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pm-a em{font:600 20px/1 var(--fd);font-style:normal;font-variant-numeric:tabular-nums;white-space:nowrap}
  .pm-b{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}
  .pm-b>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pm-b>span:last-child{flex:none;font-variant-numeric:tabular-nums}
  .pm-bar{display:block;height:3px;border-radius:99px;background:rgba(143,184,255,.12);overflow:hidden;margin-top:2px}
  .pm-bar i{display:block;height:100%;border-radius:inherit;background:var(--tealStrong)}
  .pm-it.atr .pm-bar i{background:var(--bad)}
  .pm-c{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;color:var(--muted)}
  .pm-c .pill{flex:none}
}
/* Painel no celular: boas-vindas mais compacta, os números aparecem antes */
@media (max-width:760px){
  .hero{padding:20px!important}
  .hero .eyebrow{display:none}
  .hero h2{font-size:24px!important}
  .hero .hero-frase{font-size:19px!important;line-height:1.3;margin-top:6px}
  .hero p{font-size:13.5px;margin:10px 0 14px}
}
/* cabeçalho no celular: ação principal à direita do título, ações secundárias numa linha abaixo */
@media (max-width:760px){
  .ph>.chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%}
  .ph>.chips::-webkit-scrollbar{display:none}
  .ph>.chips>*{flex:none}
}
