    *{box-sizing:border-box}
    /* Avisa o navegador que a pagina JA e escura. Sem isto, o Chrome do Android aplica o
       escurecimento automatico dele por cima (e o modo desktop muda como isso e aplicado), e quem
       sofre sao as partes que o navegador ainda desenha sozinho: o check do checkbox, o relogio do
       campo de hora, a barra de rolagem. O site publico e o /sobre ja declaravam isto; o painel do
       lojista era o unico que nao declarava. */
    :root{color-scheme:light;--nx-bg:#f3f2f2;--nx-top:#f3f2f2;--nx-surface:#ffffff;--nx-surface-2:#eae7e7;--nx-surface-3:#eae7e7;--nx-border:#d7d3d3;--nx-border-soft:#eae7e7;--nx-text:#201e1d;--nx-muted:#7d7979;--nx-faint:#9b9797;--nx-green:#8CA37E;--nx-green-hover:#79936B;--nx-green-soft:rgba(140,163,126,.16);--nx-yellow:#C6A257;--nx-red:#BC7566;--nx-blue:#7C97A8;--nx-warning:#C6A257;--nx-warning-soft:rgba(198,162,87,.16);--nx-critical:#BC7566;--nx-critical-soft:rgba(188,117,102,.16);--nx-info:#7C97A8;--nx-info-soft:rgba(124,151,168,.16);--nx-space-1:4px;--nx-space-2:8px;--nx-space-3:12px;--nx-space-4:16px;--nx-space-5:24px;--nx-space-6:32px;--nx-shadow-sm:0 8px 22px rgba(0,0,0,.22);--nx-shadow-md:0 16px 44px rgba(0,0,0,.28);--nx-shadow-lg:0 30px 80px rgba(0,0,0,.5);--nx-duration-fast:.12s;--nx-duration-base:.16s;--nx-duration-slow:.2s;--nx-ease-standard:ease;--nx-accent:var(--nx-cor-da-loja,#0742B5);--nx-accent-hover:color-mix(in srgb, var(--nx-accent) 84%, black);--nx-accent-soft:color-mix(in srgb, var(--nx-accent) 14%, transparent);--nx-radius-sm:0px;--nx-radius-md:0px;--nx-radius-lg:0px;--nx-ease-out:cubic-bezier(.16,1,.3,1)}
    /* Breakpoints padrao do painel (nao ha var() em @media sem PostCSS, documentado aqui em vez de duplicado por comentario em cada regra):
       760px = celular, 900px = tablet/coluna unica, 1100px = grade reduzida. Novas regras responsivas reusam um destes 3, nao um 4o valor solto. */
    html{scroll-behavior:smooth}
    @font-face{font-family:'Sora';src:url('/fonts/sora-variable.woff2') format('woff2');font-weight:100 800;font-style:normal;font-display:swap}
    body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,color-mix(in srgb, var(--color-accent) 8%, transparent),transparent 340px),#030604;color:#e8f3ea;font-family:'Archivo',Arial,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
    h1,h2,h3,.brand,.side-brand strong,.nav-group summary,.nav-item,.module-kicker,.dash-title h1,.module-title h1{font-family:'Archivo',Arial,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
    a{color:inherit}.shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr}
    .top{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 max(16px,calc((100vw - 1320px)/2));background:rgba(5,11,8,.92);backdrop-filter:blur(16px);border-bottom:1px solid #143323;box-shadow:0 2px 22px rgba(0,0,0,.46)}
    .brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:20px;text-decoration:none;color:var(--nx-text)}.brand img{width:36px;height:36px;border-radius:0}.nav{display:flex;gap:10px;align-items:center}
    .btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border:1px solid var(--color-divider);border-radius:var(--nx-radius-sm);text-decoration:none;font-weight:800;background:#0b1510;cursor:pointer;color:#e8f3ea;transition:transform var(--nx-duration-base) var(--nx-ease-out),box-shadow var(--nx-duration-base) var(--nx-ease-out),border-color var(--nx-duration-base) var(--nx-ease-standard),background var(--nx-duration-base) var(--nx-ease-standard)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}
    .btn.primary{background:var(--nx-accent);color:#2B160D;border-color:var(--nx-accent)}.btn.primary:hover{background:var(--color-accent-800)}.btn.green{background:#B3250F;color:#fff;border-color:#B3250F}.btn.danger{background:#7f1d1d;color:#fee2e2;border-color:#991b1b}.btn:disabled{opacity:.48;cursor:not-allowed}
    .hero{width:min(1240px,100%);margin:0 auto;padding:34px 18px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:18px;align-items:start}.hero h1{font-size:38px;line-height:1.06;margin:0 0 12px;letter-spacing:0;color:var(--nx-text)}.hero p{font-size:16px;line-height:1.5;color:#9fb2a6;margin:0 0 18px}.hero-card{background:#0d1812;border:1px solid var(--color-divider);border-radius:0;padding:16px;box-shadow:0 18px 46px rgba(0,0,0,.28)}
    .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{border:1px solid var(--nx-border-soft);border-radius:0;padding:13px;background:var(--nx-surface-3)}.tile strong{display:block;margin-bottom:5px;color:var(--nx-text)}.tile span{font-size:13px;color:#8fa39a;line-height:1.35}
    /* align-self/justify-self porque o .shell e um grid "auto 1fr" e este <main> ocupa a linha 1fr:
   sem isso a caixa ESTICA ate o rodape da tela (medido: 460x768px pra um formulario de um campo
   so, que era a "janela grande e desnecessaria" reclamada). Agora ela fica do tamanho do conteudo
   e centralizada. Nao corta conteudo alto: com min-height:100vh no shell, a linha 1fr cresce
   junto e o centro acompanha. */
.form-wrap{width:min(440px,calc(100% - 28px));align-self:center;justify-self:center;margin:24px auto;background:#0d1812;border:1px solid var(--color-divider);border-radius:0;padding:26px 24px;box-shadow:var(--nx-shadow-lg)}
/* Campo de codigo do 2FA: numero curto que a pessoa copia do celular olhando pro outro aparelho -
   fica grande, centralizado e espacado pra conferir digito por digito sem errar. */
.code-field input{text-align:center;font-family:var(--nx-mono,ui-monospace,monospace);font-size:26px;letter-spacing:.34em;text-indent:.34em;font-weight:800;min-height:56px}
.form-wrap h1{font-size:22px;line-height:1.2}
.form-wrap .muted{font-size:14px;margin-bottom:16px}
/* Botao ocupando a largura da caixa: alinha com o campo acima e vira um alvo grande, que e o que
   se espera numa tela de um passo so. */
.form-wrap form>.btn,.form-wrap form>button.btn{width:100%;min-height:48px}
/* Resumo do plano na tela de cadastro. Fica ANTES do formulario de proposito: o lojista tem que
   saber quanto custa e o que acontece com o cartao dele antes de digitar qualquer dado, nao depois. */
.plano-resumo{border:1px solid var(--nx-border);border-radius:0;background:var(--nx-surface-3);padding:14px;margin:0 0 16px}
.plano-resumo-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.plano-selo{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border-radius:0;font-size:11.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;background:var(--nx-green-soft);color:#8DE8AC}
.plano-preco{font-size:19px;font-weight:900;color:var(--nx-text);font-variant-numeric:tabular-nums}
.plano-preco span{font-size:12.5px;font-weight:700;color:var(--nx-muted);margin-left:4px}
.plano-resumo ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
/* O texto do item vive num unico <span>: em grid, cada elemento filho (um <strong> no meio da frase)
   viraria uma celula propria e partiria a frase ao meio. */
.plano-resumo li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;font-size:13px;line-height:1.4;color:var(--nx-muted)}
.plano-resumo li::before{content:'';width:6px;height:6px;margin-top:6px;border-radius:50%;background:var(--nx-accent)}
.plano-resumo li strong{color:var(--nx-text)}
.form-wrap form+.muted{margin:14px 0 0;text-align:center}h1,h2{margin:0 0 8px;color:var(--nx-text)}.muted{color:#94a89c;margin:0 0 18px;line-height:1.45}
    .login-page{width:min(1120px,100%);margin:0 auto;padding:58px 18px 44px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,430px);gap:28px;align-items:center}.login-story{display:grid;gap:18px;padding-right:10px}.login-logo{display:flex;align-items:center;gap:12px;color:var(--nx-text);font-weight:950;font-size:24px}.login-logo img{width:48px;height:48px;border-radius:0}.login-story h1{font-size:clamp(38px,5vw,58px);line-height:1.02;margin:0;max-width:720px}.login-story h1 em{font-style:normal;color:var(--nx-accent)}.login-story p{max-width:620px;margin:0;color:var(--nx-muted);font-size:17px;line-height:1.55}.login-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:6px}.login-benefit{min-height:112px;border:1px solid var(--nx-border-soft);border-radius:0;background:rgba(255,255,255,.025);padding:13px}.login-benefit strong{display:block;color:var(--nx-text);font-size:14px;margin-bottom:6px}.login-benefit span{display:block;color:var(--nx-muted);font-size:12px;line-height:1.35}.login-card{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border:1px solid var(--nx-border);border-radius:0;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.34)}.login-card h2{font-size:26px;margin:0 0 7px}.login-card .muted{margin-bottom:18px}.login-card .btn.primary{width:100%;min-height:48px}.login-card input{min-height:46px}.login-footer{margin:15px 0 0;color:var(--nx-muted);font-size:14px;text-align:center}.login-footer a{color:var(--nx-accent);font-weight:900}
    .signup-page{width:min(1120px,100%);margin:0 auto;padding:48px 18px 44px;display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:28px;align-items:start}
    .signup-story{display:grid;gap:18px;position:sticky;top:82px}
    .signup-story .login-logo{margin-bottom:2px}
    .signup-story h1{font-size:clamp(26px,3vw,34px);line-height:1.15;margin:0;color:var(--nx-text)}
    .signup-story>p{color:var(--nx-muted);font-size:15px;line-height:1.55;margin:0}
    .signup-card{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border:1px solid var(--nx-border);border-radius:0;padding:26px;box-shadow:0 24px 70px rgba(0,0,0,.34)}
    .signup-card h2{font-size:26px;margin:0 0 6px;color:var(--nx-text)}
    .signup-card>.muted{margin-bottom:20px}
    .signup-card .btn.primary{width:100%;min-height:48px;margin-top:6px}
    .form-section{border:1px solid var(--nx-border-soft);border-radius:0;padding:16px 16px 4px;margin-bottom:16px;background:rgba(255,255,255,.015)}
    .form-section h3{margin:0 0 12px;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.07em;color:var(--nx-faint)}
    @media(max-width:900px){.signup-page{grid-template-columns:1fr;padding:24px 12px 30px}.signup-story{position:static}}
    label{display:grid;gap:6px;font-size:13px;font-weight:800;margin-bottom:12px;color:#DDD6C4}input,select,textarea{width:100%;min-height:42px;border:1px solid var(--color-divider);border-radius:var(--nx-radius-sm);padding:10px 12px;font:inherit;background:var(--nx-surface-3);color:var(--nx-text);transition:border-color var(--nx-duration-base) var(--nx-ease-standard),box-shadow var(--nx-duration-base) var(--nx-ease-standard)}textarea{min-height:92px;resize:vertical}input::placeholder,textarea::placeholder{color:#6b7f74}select option{background:var(--nx-surface-3);color:var(--nx-text)}select[multiple]{padding:6px}select[multiple] option{padding:7px 8px;border-radius:0;margin-bottom:1px}select[multiple] option:checked{background:var(--nx-green-soft);color:#D9FBE3}input[type=file]{display:flex;align-items:center;color:var(--nx-muted);font-size:12.5px}input[type=file]::file-selector-button{margin-right:12px;min-height:34px;padding:0 14px;border:1px solid var(--nx-border);border-radius:0;background:var(--nx-surface-3);color:var(--nx-text);font:inherit;font-weight:800;cursor:pointer}input[type=file]::file-selector-button:hover{background:var(--nx-surface-2)}button{font:inherit}.error{background:#3a1014;border:1px solid #7f1d1d;color:#fecdd3;border-radius:0;padding:10px 12px;margin-bottom:12px}.notice{background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);color:var(--nx-text);border-radius:0;padding:10px 12px;margin-bottom:12px;border-left:3px solid var(--nx-green)}.notice[data-status-toast]{position:fixed;right:18px;bottom:18px;z-index:9999;max-width:min(420px,calc(100% - 36px));box-shadow:0 16px 36px rgba(0,0,0,.4);animation:nx-toast-in var(--nx-duration-slow) var(--nx-ease-standard)}@keyframes nx-toast-in{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.actions{display:flex;gap:10px;flex-wrap:wrap}.hide-mobile-tabs{display:none}
    .app{width:min(1560px,100%);margin:0 auto;padding:22px 18px 36px}.panel{background:var(--nx-surface);border:2px solid var(--nx-border-soft);border-radius:0;padding:16px;margin-bottom:14px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.card{border:1px solid var(--nx-border-soft);border-radius:0;padding:14px;text-decoration:none;background:var(--nx-surface-3)}.card strong{display:block;margin-bottom:6px;color:var(--nx-text)}.card span,.card small{color:var(--nx-muted);font-size:13px;line-height:1.35}.card:hover{border-color:#0742B5;box-shadow:0 10px 22px color-mix(in srgb, var(--color-accent) 10%, transparent)}
    details summary{color:var(--nx-text)}code{background:var(--nx-surface-3);border-radius:0;padding:2px 5px}
    .tenant-layout,.master-layout{display:grid;grid-template-columns:258px minmax(0,1fr);gap:18px;align-items:start}.side-menu{position:sticky;top:82px;background:linear-gradient(180deg,#08110d,#050907);border:1px solid var(--color-divider);border-radius:0;padding:12px;box-shadow:0 16px 44px rgba(0,0,0,.24)}.side-brand{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;margin:2px 4px 14px;padding-bottom:12px;border-bottom:1px solid var(--nx-border-soft)}.side-brand-mark{width:38px;height:38px;border-radius:0;display:grid;place-items:center;background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);color:var(--nx-text);font-weight:950}.side-brand strong{display:block;color:var(--nx-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-brand span{display:block;color:var(--nx-muted);font-size:12px;margin-top:2px}.side-section{display:block;margin:14px 8px 7px;color:#6F8176;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.09em}.side-menu a{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:42px;padding:9px 10px;border-radius:0;text-decoration:none;color:#b7c9bd;font-weight:850}.side-menu a:hover{background:#0f2418;color:var(--nx-text)}.side-menu a span:last-child{font-size:11px;color:#718278}.side-icon{width:24px;height:24px;border-radius:0;display:grid;place-items:center;background:var(--nx-surface-3);border:1px solid var(--nx-border);color:#90F5AA;font-size:12px;font-weight:950}.dash-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.dash-title p{margin:0;color:#94a89c}.dash-title h1{font-size:30px}.primary-stack{display:grid;gap:8px;min-width:220px}.status-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}@media(prefers-reduced-motion:no-preference){@keyframes nxRise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.status-row .metric{animation:nxRise .5s var(--nx-ease-out) both}.status-row .metric:nth-child(1){animation-delay:0ms}.status-row .metric:nth-child(2){animation-delay:60ms}.status-row .metric:nth-child(3){animation-delay:120ms}.status-row .metric:nth-child(4){animation-delay:180ms}}.metric{background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);border-radius:var(--nx-radius-sm);padding:13px}.metric span{display:block;color:var(--nx-muted);font-size:12px;font-weight:900;text-transform:uppercase}.metric strong{display:block;margin-top:7px;font-size:24px;color:var(--nx-text)}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head h2{margin:0}.section-head p{margin:4px 0 0;color:#94a89c}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.feature-card{display:grid;gap:8px;min-height:124px}.feature-card b{font-size:16px}.feature-card em{font-style:normal;color:#94a89c;font-size:13px;line-height:1.35}.tag{display:inline-flex;align-items:center;width:max-content;min-height:26px;padding:4px 10px;border-radius:0;background:var(--nx-surface-3);color:var(--nx-text);font-size:12px;font-weight:700;border:1px solid var(--nx-border-soft);white-space:nowrap;flex:none;font-variant-numeric:tabular-nums}
    .side-menu a.is-active{background:#1F160D;color:var(--color-surface);border:1px solid #B3250F}
    .module-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.module-kicker{display:block;color:#86efac;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}.module-title h1{font-size:26px;margin:0 0 4px}.module-title p{margin:0;color:#94a89c;line-height:1.45}.team-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:14px;align-items:start}.team-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.team-toolbar>.drawer-card[open]{flex:1 1 100%}.team-list{display:grid;gap:8px}.team-user{display:grid;grid-template-columns:minmax(0,1fr) 96px 108px auto;gap:10px;align-items:center;border:none;border-radius:0;background:rgba(255,255,255,.03);padding:14px 12px;transition:background-color var(--nx-duration-base) var(--nx-ease-standard)}.team-user:hover{background:rgba(255,255,255,.05)}.team-user strong{display:block;color:var(--nx-text)}.team-user span{display:block;color:var(--nx-muted);font-size:12px;margin-top:3px;overflow-wrap:anywhere}.team-user-identity{display:flex;align-items:center;gap:10px;min-width:0}.team-user-identity>div{min-width:0}.team-user-identity strong,.team-user-identity span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-name-row{display:flex;align-items:center;gap:5px;min-width:0}.team-name-row strong{min-width:0}.team-owner-badge{flex:none;width:13px;height:13px;color:var(--nx-muted)}.team-avatar{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#F8FAFC;font-size:14px;font-weight:800;letter-spacing:.02em;box-shadow:0 2px 6px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.14)}.role-pill{display:inline-flex;align-items:center;max-width:100%;min-height:26px;padding:4px 10px;border-radius:0;background:var(--nx-surface-2);border:1px solid var(--nx-border-soft);color:var(--nx-text);font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-user-access{display:grid;gap:4px;justify-items:start;min-width:0}.team-last-access{color:var(--nx-muted);font-size:11px;white-space:nowrap}.team-user .pill{display:inline-flex;margin-top:0}.team-user .pill .dot{color:inherit;margin-top:0}.team-user .role-pill{display:inline-flex;color:var(--nx-text);margin-top:0}.team-user .team-last-access{color:var(--nx-muted);margin-top:0}.drawer-card{border:1px solid var(--color-divider);border-radius:0;background:var(--nx-surface-3);padding:14px}.drawer-card summary{cursor:pointer;font-weight:900}.drawer-card[open] summary{margin-bottom:12px}.team-user>.drawer-card{align-self:center}.team-user>.team-edit-drawer{border:none;background:none;padding:0}.team-user>.team-edit-drawer>summary{list-style:none}.team-user>.team-edit-drawer>summary::-webkit-details-marker{display:none}.team-user>.team-edit-drawer>summary::marker{content:''}.master-edit-drawer{border:none;background:none;padding:0}.master-edit-drawer>summary{list-style:none}.master-edit-drawer>summary::-webkit-details-marker{display:none}.master-edit-drawer>summary::marker{content:''}.ticket-thread-drawer{border:none;background:none;padding:0}.ticket-thread-drawer>summary{list-style:none}.ticket-thread-drawer>summary::-webkit-details-marker{display:none}.ticket-thread-drawer>summary::marker{content:''}.provider-credentials-drawer{border:none;background:none;padding:0}.provider-credentials-drawer>summary{list-style:none}.provider-credentials-drawer>summary::-webkit-details-marker{display:none}.provider-credentials-drawer>summary::marker{content:''}.team-edit-drawer[open],.master-edit-drawer[open],.ticket-thread-drawer[open],.new-product-drawer[open],.provider-credentials-drawer[open]{position:fixed;inset:0;top:0;right:0;bottom:0;left:0;width:auto;height:auto;align-self:stretch;justify-self:stretch;z-index:60;background:rgba(0,0,0,.72);backdrop-filter:blur(3px);border:none;border-radius:0;padding:24px;display:flex;align-items:center;justify-content:center;cursor:default}.team-edit-drawer[open]>summary,.master-edit-drawer[open]>summary,.ticket-thread-drawer[open]>summary,.new-product-drawer[open]>summary,.provider-credentials-drawer[open]>summary{display:none}.master-edit-drawer .drawer-panel{width:960px;max-height:min(88vh,880px)}.ticket-thread-drawer .drawer-panel,.new-product-drawer .drawer-panel{width:640px;max-height:min(88vh,760px)}.provider-credentials-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.provider-credentials-drawer:not([open])>summary{display:none}.provider-credentials-drawer>summary{cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:6px 14px 6px 8px;border:1px solid var(--nx-border);border-radius:0;background:var(--nx-surface-3);color:var(--nx-text);font-size:13.5px;font-weight:800}.provider-credentials-drawer>summary .provider-logo{width:26px;height:26px}.provider-credentials-drawer>summary:hover{border-color:var(--nx-accent);color:var(--nx-accent)}.bank-choice .badge{position:absolute;top:10px;right:10px}.drawer-panel{width:480px;max-width:calc(100vw - 48px);max-height:min(640px,90vh);display:flex;flex-direction:column;min-height:0;background:var(--nx-surface,#141A17);border:1px solid var(--nx-border,var(--color-divider));border-radius:0;box-shadow:var(--nx-shadow-lg);animation:teamDrawerIn .18s ease;cursor:auto}.drawer-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:18px 20px;border-bottom:1px solid var(--nx-border-soft,#202820);flex:none}.drawer-panel-head strong{display:block;color:var(--nx-text);font-size:15px}.drawer-panel-head span{display:block;color:var(--nx-muted);font-size:12px;margin-top:3px;overflow-wrap:anywhere}.drawer-close{flex:none;width:30px;height:30px;border-radius:0;border:1px solid var(--nx-border,var(--color-divider));background:transparent;color:var(--nx-muted);cursor:pointer;display:grid;place-items:center}.drawer-close .nx-icon{width:15px;height:15px}.drawer-close:hover{border-color:var(--nx-red,#EF4444);color:#FCA5A5}.drawer-panel-body{flex:1;overflow-y:auto;padding:18px 20px}@media(max-width:760px){.team-edit-drawer[open],.master-edit-drawer[open],.ticket-thread-drawer[open],.new-product-drawer[open],.provider-credentials-drawer[open]{padding:14px}.drawer-panel{max-width:calc(100vw - 28px)}}@keyframes teamDrawerIn{from{transform:scale(.96) translateY(8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.drawer-section{padding-top:12px;border-top:1px solid var(--color-divider)}.drawer-section:first-of-type{padding-top:0;border-top:none}.drawer-section-label{display:block;color:#6F8176;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.drawer-section.is-danger{margin-top:12px;padding:12px;border:1px solid rgba(239,68,68,.28);border-radius:0;background:rgba(239,68,68,.08)}.drawer-section.is-danger .drawer-section-label{color:#FCA5A5}.role-list{display:grid;gap:8px}.role-card{border:none;border-radius:0;background:rgba(255,255,255,.03);padding:14px 12px;transition:background-color var(--nx-duration-base) var(--nx-ease-standard)}.role-card:not([open]):hover{background:rgba(255,255,255,.05)}.role-card[open]{background:var(--nx-surface-3)}.role-card.is-dragging{opacity:.45}.role-card summary{cursor:pointer;display:flex;gap:10px;align-items:center}.role-card summary>div{flex:1;min-width:0}.role-card summary strong{margin:0}.role-card .drag-handle{flex:none;font-size:14px;line-height:1}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:10px}.permission-box{border:1px solid var(--color-divider);border-radius:0;background:var(--nx-surface-3);padding:10px}.permission-box-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.permission-box-head strong{margin:0;color:var(--nx-text);flex:1}.permission-box-head .nx-icon{color:var(--nx-muted);width:15px;height:15px}.permission-box-actions{display:flex;gap:4px}.permission-box-actions button{border:1px solid var(--nx-border-soft);border-radius:0;background:none;color:var(--nx-muted);font-size:10px;font-weight:900;padding:3px 8px;cursor:pointer}.permission-box-actions button:hover{border-color:var(--nx-accent,#0742B5);color:var(--nx-accent,#0742B5)}.perm-row{display:flex;align-items:center;gap:8px;margin:0;padding:6px 4px;border-radius:0;font-size:12px;color:var(--nx-text)}.perm-row:hover{background:rgba(255,255,255,.03)}.perm-row input{width:auto;min-height:0}.perm-chip-row{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}.perm-chip{width:24px;height:24px;border-radius:0;display:grid;place-items:center;border:1px solid var(--nx-border-soft);background:var(--nx-surface-3);color:var(--color-neutral-700)}.perm-chip .nx-icon{width:13px;height:13px}.perm-chip.is-partial{color:var(--nx-muted);border-color:var(--color-divider)}.perm-chip.is-full{color:var(--nx-green,#22C55E);border-color:color-mix(in srgb, var(--color-accent) 40%, transparent);background:var(--nx-green-soft)}.role-preview{margin:10px 0}.role-preview span{display:block;color:var(--nx-muted);font-size:11.5px;font-weight:800;margin-bottom:6px}.inline-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.user-edit{display:grid;gap:9px}.user-edit .actions{margin-top:0}.password-form{display:grid;gap:9px}.compact-actions{display:flex;gap:8px;flex-wrap:wrap}.compact-actions .btn{min-height:36px;padding:8px 10px;font-size:12px}.audit-list{display:grid;margin-top:10px}.audit-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;padding:9px 0;border-bottom:1px solid var(--nx-border-soft);font-size:12.5px;color:var(--nx-muted)}.audit-item:last-child{border-bottom:none}.audit-actor{color:var(--nx-text);font-weight:800}.audit-time{margin-left:auto;color:var(--nx-faint);font-size:11px;white-space:nowrap}.credentials-modal{position:fixed;inset:0;top:0;right:0;bottom:0;left:0;width:auto;height:auto;align-self:stretch;justify-self:stretch;z-index:61;background:rgba(0,0,0,.72);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px}.credentials-modal .drawer-panel{width:440px;max-width:calc(100vw - 48px);max-height:none;animation:teamDrawerIn .18s ease}.credentials-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--nx-border-soft)}.credentials-row:last-of-type{border-bottom:none}.credentials-row span{color:var(--nx-muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.credentials-row code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px;color:var(--nx-text);background:var(--nx-surface-3);padding:5px 9px;border-radius:0}
    .module-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:14px;align-items:start}.module-grid.receipt-grid{grid-template-columns:minmax(0,1fr) minmax(420px,460px)}.module-list{display:grid;gap:10px}.module-item{border:1px solid var(--color-divider);border-radius:0;background:var(--nx-surface-3);padding:12px}.module-item-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.module-item-head strong{display:block;color:var(--nx-text)}.module-item-head span{display:block;color:var(--nx-muted);font-size:12px;margin-top:3px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid[hidden]{display:none}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .full{grid-column:1/-1}.receipt-preview-wrap{background:var(--color-bg);border-radius:0;padding:26px 16px;margin:14px 0;display:flex;justify-content:center}.receipt-preview-box{background:#fdfdf8;color:#141414;border-radius:0;padding:22px 20px;width:100%;max-width:420px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14.5px;line-height:1.6;overflow-x:auto;box-shadow:0 12px 32px rgba(0,0,0,.45)}.receipt-line{white-space:pre-wrap;min-height:1.6em}.receipt-line.is-bold{font-weight:800}.receipt-line.is-large{font-size:23px;line-height:1.4}.receipt-line.is-small{font-size:11.5px}.receipt-line.is-center{text-align:center}.receipt-line.is-right{text-align:right}.receipt-line.is-separator{display:flex;align-items:center;min-height:1em;color:#8a8a7c;letter-spacing:-1px}.receipt-pair{display:flex;justify-content:space-between;gap:10px}.receipt-qr-placeholder{display:grid;justify-items:center;gap:6px;padding:10px 0;font-size:10px;color:#6b6b60}.receipt-qr-box{width:64px;height:64px;border:2px dashed #b8b8a8;border-radius:0;background:repeating-linear-gradient(45deg,#eeeee2,#eeeee2 4px,#fdfdf8 4px,#fdfdf8 8px)}.receipt-block-row{border:1px solid var(--nx-border-soft);border-radius:0;background:var(--nx-surface-3);overflow:hidden;margin-bottom:8px}.receipt-block-row.is-dragging{opacity:.45}.receipt-block-summary{display:grid;grid-template-columns:24px auto minmax(0,1fr) auto 16px;gap:10px;align-items:center;padding:10px 12px;cursor:pointer;list-style:none;transition:background .16s ease}.receipt-block-summary::-webkit-details-marker{display:none}.receipt-block-summary:hover{background:var(--nx-surface-2,#1A211D)}.receipt-block-row[open]{background:var(--nx-surface-2,#1A211D)}.receipt-block-row[open] .receipt-block-summary{border-bottom:1px solid var(--nx-border-soft)}.receipt-block-drag{width:22px;height:22px;display:grid;place-items:center;color:#8A8275;cursor:grab;touch-action:none;background:none;border:0;padding:0;font-weight:900}.receipt-block-drag:active{cursor:grabbing}.receipt-block-type{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:0;background:var(--color-bg);border:1px solid var(--color-divider);color:var(--nx-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;justify-self:start}.receipt-block-name{min-width:0}.receipt-block-name strong{display:block;font-size:13.5px;color:var(--nx-text)}.receipt-block-name span{display:block;font-size:11.5px;color:#8A8275;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.receipt-block-visible input{width:16px;height:16px;accent-color:var(--nx-accent,#0742B5);margin:0}.receipt-block-chevron{color:var(--nx-muted);font-size:18px;font-weight:900;line-height:1;transition:transform .16s ease;justify-self:end}.receipt-block-row[open] .receipt-block-chevron{transform:rotate(90deg);color:var(--nx-accent,#0742B5)}.form-grid.receipt-fields{padding:12px;margin:0}.check-row{display:flex;align-items:center;gap:8px;min-height:42px;color:var(--nx-text);font-weight:800}.check-row input{width:auto;min-height:0}.mini-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.mini-tabs a{min-height:36px;padding:8px 10px;border:1px solid var(--color-divider);border-radius:0;text-decoration:none;color:#b7c9bd;font-weight:900}.mini-tabs a.is-active{background:#12351f;color:#dcfce7;border-color:#1f7a3a}.mini-tabs button{min-height:36px;padding:8px 10px;border:1px solid var(--color-divider);border-radius:0;background:none;color:#b7c9bd;font-weight:900;cursor:pointer}.mini-tabs button.is-active{background:#12351f;color:#dcfce7;border-color:#1f7a3a}[data-master-tab-panel][hidden]{display:none}.product-thumb{width:54px;height:54px;border-radius:0;object-fit:cover;background:var(--nx-surface-3);border:1px solid var(--color-divider)}.price-line{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.danger-zone{border-top:1px solid var(--nx-border-soft);margin-top:10px;padding-top:10px}
    /* "Modo desktop" no celular reporta ~980px de largura, entao a regra de 760px nao entra e o
       layout de duas colunas continua valendo num espaco que nao cabe. Na tela de Impressao isso
       era visivel: a previa da nota reserva 420px fixos, sobrava quase nada pra coluna da esquerda,
       o nome do bloco quebrava em varias linhas e o checkbox caia POR CIMA do texto - parecia
       marcacao duplicada. Abaixo de 1100px as duas colunas viram uma so; em monitor de verdade
       (>=1100px) nada muda. */
    @media (max-width:1100px){
      .module-grid.receipt-grid{grid-template-columns:1fr}
      .receipt-preview-box{max-width:100%}
    }
    /* O subtitulo do bloco ja cortava com reticencias, mas o nome nao - entao um nome comprido
       empurrava a linha inteira e invadia a coluna do checkbox. */
    .receipt-block-name strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .ops-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ops-column{min-height:76px;border:1px solid var(--nx-border-soft);border-radius:0;overflow:hidden;background:var(--nx-surface-3)}.ops-column-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;font-weight:950}.ops-column.analysis .ops-column-head{background:var(--color-surface);color:var(--color-text);border-bottom:2px solid var(--color-divider)}.ops-column.production .ops-column-head{background:var(--color-surface);color:var(--color-text);border-bottom:2px solid var(--color-divider)}.ops-column.ready .ops-column-head{background:var(--color-accent-100);color:var(--color-text);border-bottom:2px solid var(--color-divider)}.ops-column-body{display:grid;gap:9px;padding:12px}.ops-ticket{border:1px solid var(--nx-border);border-radius:0;background:var(--nx-surface-3);padding:10px;text-decoration:none}.ops-ticket strong{display:block;color:var(--nx-text)}.ops-ticket span{display:block;color:var(--nx-muted);font-size:12px;margin-top:3px}.menu-dashboard{display:grid;grid-template-columns:1fr 320px;gap:14px;align-items:start}.menu-map{display:grid;gap:10px}.menu-command{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.menu-command-main{display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:9px;align-items:center}.menu-command input,.menu-command select{min-height:40px}.menu-recommend{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px dashed rgba(56,189,248,.35);border-radius:0;background:rgba(56,189,248,.08);margin-bottom:12px}.menu-recommend-icon{width:46px;height:46px;border-radius:0;display:grid;place-items:center;background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.28);color:#BAE6FD;font-weight:950}.menu-recommend strong{display:block;color:var(--nx-text)}.menu-recommend span{display:block;color:var(--nx-muted);font-size:13px;margin-top:3px}.menu-category-card{border:1px solid var(--nx-border-soft);border-radius:0;background:var(--nx-surface-3);overflow:hidden;text-decoration:none}.menu-category-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto 20px;gap:10px;align-items:center;padding:12px 13px;background:transparent;border-bottom:1px solid var(--nx-border-soft);cursor:pointer;list-style:none;transition:background .16s ease}.menu-category-head:hover{background:var(--nx-surface-2)}.menu-category-card[open] .menu-category-head{background:var(--nx-surface-2)}.menu-category-head::-webkit-details-marker{display:none}.menu-category-card:not([open]) .menu-category-head{border-bottom:0}.menu-category-chevron{color:var(--nx-muted);font-size:20px;font-weight:900;line-height:1;transition:transform .16s ease;justify-self:end}.menu-category-card[open] .menu-category-chevron{transform:rotate(90deg);color:var(--nx-accent)}
.inline-add-product{margin:0;border-top:1px dashed var(--nx-border-soft)}
.inline-add-product>summary{cursor:pointer;list-style:none;padding:12px 13px;font-weight:800;color:var(--nx-accent);font-size:13px}
.inline-add-product>summary::-webkit-details-marker{display:none}
.inline-add-product-body{padding:0 13px 13px}
    .menu-compact-stats{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:12.5px;color:var(--nx-muted);white-space:nowrap}
    .menu-compact-stats b{color:var(--nx-text);font-weight:900;margin-right:3px}.menu-category-index{width:34px;height:34px;border-radius:0;display:grid;place-items:center;background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);color:var(--nx-text);font-weight:950}.menu-category-head strong{display:block;color:var(--nx-text);font-size:17px}.menu-category-head span{display:block;color:var(--nx-muted);font-size:12px;margin-top:3px}.menu-category-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.menu-product-list{display:grid}.menu-product-row{border:0;border-bottom:1px solid var(--nx-border-soft);border-radius:0;background:transparent;padding:0}.menu-product-row:last-child{border-bottom:0}.menu-product-row>summary{display:grid;grid-template-columns:20px 28px 48px auto minmax(0,1fr) 110px 90px 168px;gap:12px;align-items:center;list-style:none;padding:11px 13px;cursor:pointer}.menu-product-row>summary::-webkit-details-marker{display:none}.menu-product-drag{width:20px;height:20px;display:grid;place-items:center;color:var(--nx-faint);cursor:grab;touch-action:none;background:none;border:0;padding:0;justify-self:center}.menu-product-drag:active{cursor:grabbing}.menu-product-row.is-dragging{opacity:.45}.menu-check{width:18px;height:18px;min-height:0;accent-color:var(--nx-accent)}.menu-product-main{min-width:0}.menu-product-main strong{display:block;color:var(--nx-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-product-main span{display:block;color:var(--nx-muted);font-size:12px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-price strong{font-size:15px;color:var(--nx-text)}.menu-price span{display:block;color:var(--nx-muted);font-size:11px}.menu-status{justify-self:start}.menu-edit-area{padding:13px;border-top:1px solid var(--nx-border-soft);background:rgba(255,255,255,.015)}.menu-form-card{position:sticky;top:82px}.menu-form-card h2{margin-bottom:4px}.category-row{display:grid;grid-template-columns:34px 34px minmax(0,1fr) 64px 96px auto auto;gap:10px;align-items:center;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.category-row:hover{transform:translateY(-1px);border-color:color-mix(in srgb, var(--color-accent) 35%, transparent);box-shadow:0 6px 16px rgba(0,0,0,.24)}.category-row.is-inactive{opacity:.7}.cat-list-head{display:grid;grid-template-columns:34px 34px minmax(0,1fr) 64px 96px auto auto;gap:10px;padding:0 14px;margin-bottom:6px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--nx-faint)}.cat-name-input{height:38px;border-radius:0;border:1px solid var(--nx-border);background:var(--nx-surface-3);color:var(--nx-text);font:inherit;font-size:14px;font-weight:800;padding:0 12px;width:100%}.cat-name-input:focus{border-color:var(--nx-accent);outline:none}.cat-order-input{height:38px;width:100%;border-radius:0;border:1px solid var(--nx-border);background:var(--nx-surface-3);color:var(--nx-muted);text-align:center;font-size:13px}.cat-order-input:focus{border-color:var(--nx-accent);outline:none}.cat-active-toggle{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border-radius:0;border:1px solid var(--nx-border);background:var(--nx-surface-3);color:var(--nx-muted);font-size:11.5px;font-weight:800;cursor:pointer;white-space:nowrap;justify-content:center}.cat-active-toggle input{width:13px;height:13px;accent-color:var(--nx-accent);margin:0}.cat-active-toggle.is-on{color:var(--nx-green)}.btn.small{min-height:38px;padding:0 14px;font-size:12.5px}.btn.small.danger{border-color:rgba(220,90,80,.4);color:#F3B3AC}.btn.small.danger:hover{background:rgba(220,90,80,.12);border-color:rgba(220,90,80,.7)}.menu-empty-state{display:grid;place-items:center;gap:8px;padding:40px 20px;text-align:center;color:var(--nx-muted)}.menu-empty-state .nx-icon{width:32px;height:32px;color:var(--nx-faint)}.menu-empty-state strong{color:var(--nx-text);font-size:14px}.menu-empty-state span{font-size:12.5px;color:var(--nx-faint)}.menu-empty-state span a{color:var(--nx-accent);font-weight:800}.drag-handle{width:34px;height:34px;border-radius:0;border:1px solid var(--nx-border);display:grid;place-items:center;color:var(--nx-muted);background:var(--nx-surface-3);font-weight:950}.promo-row{display:grid;grid-template-columns:minmax(0,1fr) 130px 130px auto;gap:10px;align-items:center}
    body{background:var(--nx-bg);color:var(--nx-text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--nx-bg)}::-webkit-scrollbar-thumb{background:var(--nx-border);border-radius:0;border:2px solid var(--nx-bg)}::-webkit-scrollbar-thumb:hover{background:var(--nx-faint)}
    .top{background:rgba(14,17,16,.96);border-bottom-color:var(--nx-border-soft);box-shadow:0 1px 0 rgba(255,255,255,.02),0 14px 36px rgba(0,0,0,.28)}
    .brand,.hero h1,h1,h2,.card strong,.side-menu strong,.metric strong,.module-item-head strong,.team-user strong,.role-card summary strong,.permission-box strong,.module-title h1,.dash-title h1{color:var(--nx-text)}
    .hero p,.muted,.tile span,.card span,.card small,.dash-title p,.section-head p,.feature-card em,.module-title p,.module-item-head span,.team-user span,.side-menu a,.metric span{color:var(--nx-muted)}
    .btn{background:var(--nx-surface);border-color:var(--nx-border);color:var(--nx-text);box-shadow:none}
    .btn:hover{border-color:#3A463F;background:var(--nx-surface-2)}
    .btn.primary,.btn.green{background:var(--nx-accent);border-color:var(--nx-accent);color:#f3f2f2}
    .btn.primary:hover,.btn.green:hover{background:var(--nx-accent-hover);border-color:var(--nx-accent-hover)}
    .hero-card,.form-wrap,.panel,.side-menu{background:var(--nx-surface);border-color:var(--nx-border);box-shadow:0 18px 46px rgba(0,0,0,.22)}
    .tile,.card,.metric,.feature-card,.team-user,.drawer-card,.role-card,.module-item,.permission-box{background:var(--nx-surface-3);border-color:var(--nx-border-soft);box-shadow:none}
    .card:hover,.module-item:hover,.team-user:hover{border-color:#463A32;box-shadow:none}
    input,select,textarea,code{background:var(--nx-surface-3);border-color:var(--nx-border);color:var(--nx-text)}
    input:focus,select:focus,textarea:focus{outline:none;border-color:var(--nx-accent);box-shadow:0 0 0 3px var(--nx-accent-soft)}
    a:focus-visible,button:focus-visible,.btn:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--nx-accent);outline-offset:2px;border-radius:0}
    input::placeholder,textarea::placeholder{color:var(--nx-faint)}
    label,.check-row,.permission-box label{color:#D3DDD6}
    .tag{background:var(--nx-surface-3);border-color:var(--nx-border-soft);color:var(--nx-text)}
    .side-menu a:hover{background:rgba(255,255,255,.04);color:var(--nx-text)}
    .side-menu a.is-active,.mini-tabs a.is-active{background:var(--nx-green-soft);color:#D9FBE3;border-color:color-mix(in srgb, var(--color-accent) 42%, transparent)}
    .mini-tabs a{border-color:var(--nx-border);color:var(--nx-muted);background:transparent}
    .module-kicker{color:var(--color-text)}
    .notice{background:var(--nx-surface-3);color:var(--nx-text)}
    .error,.btn.danger{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.4);color:#FECACA}
    .danger-zone,.password-form{border-top-color:var(--nx-border-soft)}
    .overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.overview-card{min-height:132px;display:grid;gap:8px;align-content:start}.overview-card strong{font-size:18px}.overview-card span{color:var(--nx-muted);line-height:1.4}.payment-hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.payment-stat{background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);border-radius:0;padding:12px}.payment-stat span{display:block;color:var(--nx-muted);font-size:11px;font-weight:900;text-transform:uppercase}.payment-stat strong{display:block;margin-top:6px;color:var(--nx-text);font-size:18px}.payment-destination{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--nx-border-soft);border-radius:0;background:var(--nx-surface-3);padding:14px}.payment-destination-icon{width:46px;height:46px;border-radius:0;display:grid;place-items:center;background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);color:var(--nx-text);font-weight:950}.payment-destination-main{min-width:0}.payment-destination-main strong{display:block;color:var(--nx-text);font-size:17px}.payment-destination-main span{display:block;color:var(--nx-muted);font-size:13px;margin-top:3px;line-height:1.35}.provider-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.provider-pill{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:5px 9px;border:1px solid var(--nx-border);border-radius:0;background:var(--nx-surface-3);color:var(--nx-muted);font-size:12px;font-weight:850}.provider-logo{width:30px;height:30px;border-radius:0;object-fit:contain;background:var(--nx-surface-2);border:1px solid var(--nx-border);padding:2px}.provider-logo.large{width:48px;height:34px;border-radius:0}.payment-guide{display:grid;gap:8px;margin:0 0 14px;padding:12px;border:1px solid var(--nx-border-soft);border-radius:0;background:var(--nx-surface-3);color:var(--nx-muted);box-shadow:inset 3px 0 0 0 var(--nx-green)}.payment-guide strong{color:var(--nx-text)}.payment-config{grid-column:1/-1;margin-top:10px;border-top:1px solid var(--nx-border-soft);padding-top:10px}.payment-config summary{cursor:pointer;color:var(--nx-text);font-weight:900}.payment-provider-card summary.provider-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;cursor:pointer;list-style:none}.payment-provider-card summary.provider-summary::-webkit-details-marker{display:none}.payment-provider-card summary strong{display:block;color:var(--nx-text)}.payment-provider-card summary span:not(.tag){display:block;color:var(--nx-muted);font-size:12px;margin-top:3px;line-height:1.3}.payment-provider-card form{margin-top:12px;border-top:1px solid var(--nx-border-soft);padding-top:12px}.advanced-panel{opacity:.92}
    .payments-shell{display:grid;gap:14px}.payment-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 4px}.payment-tabs a{min-height:38px;padding:9px 12px;border:1px solid var(--nx-border);border-radius:0;text-decoration:none;color:var(--nx-muted);font-weight:900;background:var(--nx-surface-3)}.payment-tabs a:hover{color:var(--nx-text);border-color:#3A463F}.payment-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.payment-status-card{background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0));border:1px solid var(--nx-border-soft);border-radius:0;padding:13px}.payment-status-card span{display:block;color:var(--nx-muted);font-size:11px;font-weight:900;text-transform:uppercase}.payment-status-card strong{display:block;margin-top:7px;color:var(--nx-text);font-size:20px}.payment-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.payment-method-card{border:1px solid var(--nx-border-soft);border-radius:0;background:var(--nx-surface-3);padding:14px;display:grid;gap:12px}.payment-method-card:has(.payment-config[open]){grid-column:1/-1}.payment-method-card.is-active{border-color:color-mix(in srgb, var(--color-accent) 32%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--color-accent) 8%, transparent)}.payment-method-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.payment-method-icon{width:52px;height:52px;border-radius:0;display:grid;place-items:center;background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);color:var(--nx-text);font-weight:950}.payment-method-title strong{display:block;font-size:20px;color:var(--nx-text)}.payment-method-title span{display:block;margin-top:3px;color:var(--nx-muted);font-size:13px;line-height:1.35}.payment-current{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;border:1px solid var(--nx-border);border-radius:0;background:var(--nx-surface-3);padding:10px}.payment-current img{width:64px;height:42px}.payment-current span{display:block;color:var(--nx-muted);font-size:12px;font-weight:900;text-transform:uppercase}.payment-current strong{display:block;margin-top:2px;color:var(--nx-text)}.payment-card-actions{display:grid;grid-template-columns:max-content max-content;gap:8px;align-items:start;border-top:1px solid var(--nx-border-soft);padding-top:10px}.payment-card-actions>.btn{align-self:start}.payment-config{width:max-content}.payment-config[open]{grid-column:1/-1;width:100%}.payment-config summary.payment-summary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;border:1px solid var(--nx-border);border-radius:0;background:var(--nx-surface);cursor:pointer;color:var(--nx-text);font-weight:900;list-style:none}.payment-config summary.payment-summary-btn::-webkit-details-marker{display:none}.provider-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:10px 0 12px}.provider-choice{position:relative;display:grid;gap:7px;align-content:start;min-height:104px;padding:11px;border:1px solid var(--nx-border);border-radius:0;background:var(--nx-surface-3);cursor:pointer}.provider-choice input{position:absolute;opacity:0;pointer-events:none}.provider-choice img{width:86px;height:38px}.provider-choice strong{color:var(--nx-text)}.provider-choice span{color:var(--nx-muted);font-size:12px;line-height:1.3}.provider-choice:has(input:checked){border-color:color-mix(in srgb, var(--color-accent) 72%, transparent);background:color-mix(in srgb, var(--color-accent) 10%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 8%, transparent)}.payment-option-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payment-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payment-provider-card{min-height:86px}.payment-provider-card summary.provider-summary{grid-template-columns:auto minmax(0,1fr) auto}.payment-section-anchor{scroll-margin-top:84px}.payment-helper{color:var(--nx-muted);font-size:14.5px;line-height:1.5;margin:0}.mp-connect-guide{border:1px solid var(--nx-border-soft);border-radius:0;background:rgba(255,255,255,.02);padding:12px 14px;margin-bottom:10px}.mp-steps{margin:8px 0 0;padding-left:18px;color:var(--nx-muted);font-size:14.5px;line-height:1.6}.mp-steps li{margin-bottom:4px}.mp-steps a{color:var(--nx-accent)}.mp-test-row{display:flex;align-items:center;gap:10px;margin:10px 0}.mp-test-result{font-size:13px;font-weight:800}.mp-test-result.ok{color:var(--nx-green)}.mp-test-result.error{color:#FCA5A5}.mp-test-result.warn{color:#FDE68A}
    .payment-method-list{display:grid;gap:10px}.payment-method-row{border:1px solid var(--nx-border-soft);border-radius:0;background:var(--nx-surface-3);overflow:hidden}.payment-method-row[open]{border-color:color-mix(in srgb, var(--color-accent) 36%, transparent)}.payment-method-summary{display:grid;grid-template-columns:minmax(220px,1.1fr) 110px minmax(190px,.85fr) auto;gap:12px;align-items:center;padding:13px;cursor:pointer;list-style:none}.payment-method-summary::-webkit-details-marker{display:none}.payment-method-summary .method-cell{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.payment-method-summary strong{display:block;color:var(--nx-text);font-size:17px}.payment-method-summary small{display:block;color:var(--nx-muted);font-size:12px;margin-top:2px}.payment-destination-cell{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}.payment-destination-cell img{width:58px;height:34px}.payment-action-cell{justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 11px;border:1px solid var(--nx-border);border-radius:0;background:var(--nx-surface);color:var(--nx-text);font-weight:900}.payment-wizard{border-top:1px solid var(--nx-border-soft);padding:14px;display:grid;gap:14px;background:var(--nx-surface-3)}.wizard-step{border:1px solid var(--nx-border-soft);border-radius:0;padding:12px;background:rgba(255,255,255,.015)}.wizard-step h3{margin:0 0 4px;color:var(--nx-text);font-size:17px}.wizard-step p{margin:0 0 10px;color:var(--nx-muted);font-size:13px;line-height:1.4}.choice-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.choice-toggle label{position:relative;display:grid;margin:0;padding:11px;border:1px solid var(--nx-border);border-radius:0;background:var(--nx-surface-3);cursor:pointer}.choice-toggle input{position:absolute;opacity:0}.choice-toggle label:has(input:checked){border-color:color-mix(in srgb, var(--color-accent) 72%, transparent);background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.bank-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.bank-choice{position:relative;min-height:124px;display:grid;gap:8px;align-content:start;padding:12px;border:1px solid var(--nx-border);border-radius:0;background:var(--nx-surface-3);text-decoration:none;cursor:pointer}.bank-choice input{position:absolute;opacity:0;pointer-events:none}.bank-choice img{width:118px;height:44px;object-fit:contain}.bank-choice strong{color:var(--nx-text);font-size:16px}.bank-choice span{color:var(--nx-muted);font-size:13.5px;line-height:1.4}.bank-choice em{font-style:normal;width:max-content;padding:4px 8px;border-radius:0;background:color-mix(in srgb, var(--color-accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--color-accent) 30%, transparent);color:var(--nx-accent);font-size:12.5px;font-weight:900}.bank-choice.connect-needed{border-style:dashed}.bank-choice.connect-needed em{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.32);color:#FDE68A}.bank-choice:has(input:checked){border-color:color-mix(in srgb, var(--color-accent) 78%, transparent);background:color-mix(in srgb, var(--color-accent) 10%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 8%, transparent)}.payment-account-grid .payment-provider-card{scroll-margin-top:90px}.payment-provider-card:target{border-color:color-mix(in srgb, var(--color-accent) 72%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 8%, transparent)}
    .pix-auto-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px;align-items:stretch;background:var(--color-surface);border-color:color-mix(in srgb, var(--color-accent) 24%, transparent)}.pix-auto-copy h2{margin:3px 0 8px;font-size:31px}.pix-auto-copy p{margin:0;color:var(--nx-muted);max-width:760px;line-height:1.55}.pix-auto-status{display:grid;align-content:center;gap:6px;border:1px solid var(--nx-border);border-radius:0;padding:15px;background:var(--nx-surface-3)}.pix-auto-status span{color:var(--nx-muted);font-size:11px;font-weight:950;text-transform:uppercase}.pix-auto-status strong{font-size:26px}.pix-auto-status small{color:var(--nx-muted);line-height:1.35}.pix-auto-status.ok{border-color:rgba(140,163,126,.45)}.pix-auto-status.ok strong{color:var(--nx-green)}.pix-auto-status.warn{border-color:rgba(245,158,11,.42)}.pix-auto-status.warn strong{color:#FDE68A}.pix-auto-status.off strong{color:#CBD5E1}.compact-wizard{border:1px solid var(--nx-border-soft);border-radius:0}.pix-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pix-bank-choice{min-height:150px}.pix-bank-choice .provider-logo.large{width:56px;height:56px;border-radius:0;padding:6px}.provider-strip .provider-logo{width:34px;height:22px;border-radius:0}.payment-provider-card .provider-logo.large{width:82px;height:34px}.delivery-method-row .payment-wizard{background:rgba(255,255,255,.012)}.payment-method-summary.compact{grid-template-columns:minmax(220px,1fr) 100px minmax(170px,.75fr) auto}.payment-provider-card.selected{border-color:color-mix(in srgb, var(--color-accent) 45%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--color-accent) 10%, transparent)}
    .master-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;background:radial-gradient(circle at 12% 0,color-mix(in srgb, var(--color-accent) 18%, transparent),transparent 32%),linear-gradient(135deg,#0d1711,#0a100d)}.master-hero h1{font-size:34px;margin:0 0 8px}.master-hero-actions{display:flex;gap:10px;align-items:start;justify-content:flex-end}.master-hero-actions>.btn,.master-hero-actions>details>summary{min-height:38px;display:inline-flex;align-items:center;border:1px solid var(--nx-border);border-radius:0;background:var(--nx-surface-3);color:var(--nx-text);padding:9px 12px;font-weight:950;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.master-create-drawer{padding:0}.master-create-drawer summary{cursor:pointer;list-style:none}.master-create-drawer summary::-webkit-details-marker{display:none}.master-create-drawer form{min-width:min(520px,calc(100vw - 40px));padding:14px}.master-create-drawer[open]{position:absolute;right:max(18px,calc((100vw - 1240px)/2));z-index:20;background:var(--nx-surface);border-radius:0;box-shadow:0 24px 80px rgba(0,0,0,.46)}.master-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.master-insight-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-bottom:14px}.master-insight-card{display:grid;gap:12px;padding:16px;border:1px solid var(--nx-border-soft);border-radius:0;background:linear-gradient(135deg,color-mix(in srgb, var(--color-accent) 10%, transparent),rgba(255,255,255,.018));box-shadow:0 18px 44px rgba(0,0,0,.18)}.master-insight-card h2{margin:0}.master-insight-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.master-insight-row div{padding:12px;border:1px solid var(--nx-border-soft);border-radius:0;background:var(--nx-surface-3)}.master-insight-row span{display:block;color:var(--nx-muted);font-size:11px;font-weight:950;text-transform:uppercase}.master-insight-row strong{display:block;margin-top:5px;color:var(--nx-text);font-size:20px}.master-control-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);gap:16px;align-items:start}.master-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.master-command{display:grid;gap:12px;margin-bottom:14px;padding:12px;border:1px solid var(--nx-border-soft);border-radius:0;background:var(--nx-surface-3)}.master-command input{min-height:42px}.master-filter-row{display:flex;gap:8px;flex-wrap:wrap}.master-filter-row button{min-height:34px;border:1px solid var(--nx-border);border-radius:0;background:transparent;color:var(--nx-muted);padding:7px 11px;font-weight:900;cursor:pointer}.master-filter-row button.is-active{background:var(--nx-green-soft);border-color:color-mix(in srgb, var(--color-accent) 42%, transparent);color:#D9FBE3}.master-store-list{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(460px,1fr))}.master-store.is-expanded{grid-column:1/-1}.master-store{border:1px solid var(--nx-border-soft);border-radius:0;background:linear-gradient(180deg,rgba(255,255,255,.026),rgba(255,255,255,.008));padding:13px;display:grid;gap:10px}.master-store-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.master-store.ok{border-left:4px solid var(--nx-green)}.master-store.warn{border-left:4px solid var(--nx-yellow)}.master-store.bad{border-left:4px solid var(--nx-red)}.master-store-title strong{display:block;color:var(--nx-text);font-size:18px}.master-store-title span{display:block;color:var(--nx-muted);font-size:13px;margin-top:4px}.master-badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.master-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:0;background:var(--nx-surface-3);border:1px solid var(--nx-border);color:var(--nx-muted);font-size:12px;font-weight:900}.master-badge.ok{color:var(--nx-green)}.master-badge.warn{color:var(--nx-warning)}.master-badge.bad{color:var(--nx-critical)}.master-store-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex:1;min-width:210px}.master-store-metrics div{border:1px solid var(--nx-border-soft);border-radius:0;background:var(--nx-surface-3);padding:10px}.master-store-metrics span{display:block;color:var(--nx-muted);font-size:10px;font-weight:950;text-transform:uppercase}.master-store-metrics strong{display:block;color:var(--nx-text);font-size:14px;margin-top:5px}.master-store-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.master-store-actions .btn{min-height:36px;padding:8px 10px}.master-store-details{grid-column:1/-1;border-top:1px solid var(--nx-border-soft);padding-top:14px}.master-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.owner-access{display:grid;gap:10px;padding:13px;border:1px solid var(--nx-border);border-left:3px solid var(--nx-accent);border-radius:0;background:var(--nx-surface-2)}.owner-access-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.owner-access-head strong{display:block;color:var(--nx-text);font-size:15px}.owner-access-head span{display:block;color:var(--nx-muted);font-size:12.5px;margin-top:3px}.owner-access-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:end;margin:0}.owner-access-form label{margin:0}.owner-access-hint{margin:0;color:var(--nx-muted);font-size:12px}@media(max-width:760px){.owner-access-form{grid-template-columns:1fr}}.master-user-list{display:grid;gap:8px}.master-user-list form{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.7fr) auto auto;gap:8px;align-items:end;border:1px solid var(--nx-border-soft);border-radius:0;background:var(--nx-surface-3);padding:10px}.master-user-list form.user-login-change{grid-template-columns:minmax(0,1fr) minmax(150px,.7fr) auto;margin-top:-4px;border-top:none;border-radius:0 0 8px 8px}.master-user-list form.user-login-change span{margin:0}.master-user-list form.user-delete{grid-template-columns:auto;justify-content:end;padding:6px 10px;margin-top:-4px;border-top:none;border-radius:0 0 8px 8px}.master-user-list strong{display:block;color:var(--nx-text)}.master-user-list span{display:block;color:var(--nx-muted);font-size:12px;margin-top:3px}.master-empty{display:none;padding:16px;border:1px dashed var(--nx-border);border-radius:0;color:var(--nx-muted);text-align:center}.master-log-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.master-log-grid .module-item{display:grid;gap:5px}.master-log-grid strong{color:var(--nx-text)}.master-log-grid span,.master-log-grid small{color:var(--nx-muted);font-size:12px}.master-badges-secondary{margin-top:6px;opacity:.82}.master-badges-secondary .master-badge{font-size:11px;min-height:22px;padding:3px 7px}.master-badge.muted{background:transparent}.metric.warn strong{color:var(--nx-yellow)}.metric.danger{border-color:rgba(239,68,68,.4)}.metric.danger strong{color:#FCA5A5}.app-publish-card-title{display:flex;align-items:center;gap:10px}.app-platform-badge{width:38px;height:38px;flex:0 0 auto;border-radius:0;display:grid;place-items:center;background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);color:var(--nx-text);font-weight:950;font-size:13px}.master-access-table{width:100%;min-width:560px;border-collapse:collapse}.master-access-table th{text-align:left;padding:9px 10px;color:var(--nx-faint);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--nx-border-soft)}.master-access-table td{padding:10px;border-bottom:1px solid var(--nx-border-soft);color:var(--nx-muted)}.master-access-table tr.is-recent td{color:var(--nx-text);font-weight:800}.master-access-table td:first-child{color:var(--nx-text);font-weight:800}.master-badge.neutral{opacity:.75}.notice.bad{background:var(--nx-surface-3);color:var(--nx-text);border-left:3px solid var(--nx-critical)}.session-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}.session-meta{display:grid;gap:4px;color:var(--nx-muted);font-size:12px;margin:8px 0}.session-meta b{color:var(--nx-text);font-weight:800}
    .downloads-page{display:grid;gap:16px}.downloads-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px;background:linear-gradient(135deg,color-mix(in srgb, var(--color-accent) 12%, transparent),rgba(255,255,255,.02));border:1px solid color-mix(in srgb, var(--color-accent) 24%, transparent)}.downloads-hero h1{font-size:34px;margin:0 0 8px}.downloads-hero p{max-width:760px;margin:0;color:var(--nx-muted);line-height:1.5}.downloads-badge{display:grid;place-items:center;width:86px;height:86px;border-radius:0;background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);font-size:34px;font-weight:950;color:var(--nx-text)}.app-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.app-download-card{display:grid;grid-template-rows:auto auto auto;gap:10px;padding:14px;border:1px solid var(--nx-border-soft);border-radius:0;background:var(--nx-surface-3, var(--color-bg))}.app-download-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center}.app-icon{width:64px;height:64px;border-radius:0;display:grid;place-items:center;background:var(--nx-surface-3);border:1px solid var(--nx-border);color:var(--nx-muted)}.app-icon .nx-icon{width:38px;height:38px}.app-icon.is-windows{color:#3B9EF5}.app-icon.is-android{color:#3DDC84}.app-download-head strong{display:block;color:var(--nx-text);font-size:15px}.app-download-head span{display:block;color:var(--nx-muted);margin-top:3px;font-size:13px}.app-download-card p{margin:0;color:var(--nx-muted);line-height:1.48}.app-benefits{display:grid;gap:8px;margin:0;padding:0;list-style:none}.app-benefits li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;color:#D3DDD6;font-size:13px;line-height:1.35}.app-benefits li::before{content:'✓';color:#86EFAC;font-weight:950}.app-download-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}.app-download-meta span{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border:1px solid var(--nx-border);border-radius:0;background:var(--nx-surface-3);color:var(--nx-muted);font-size:12px;font-weight:900}.app-download-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--nx-border-soft);padding-top:13px}.app-version-note{color:var(--nx-muted);font-size:12px;font-weight:800}.downloads-support{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.downloads-support .module-item{min-height:96px}.downloads-support .module-item strong{display:block;margin-bottom:5px}.downloads-support .module-item span{display:block;color:var(--nx-muted);line-height:1.4}.master-download-admin summary{cursor:pointer;font-weight:950}.master-download-admin[open] summary{margin-bottom:12px}.app-publish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.app-publish-card{display:grid;gap:12px;border:1px solid var(--nx-border-soft);border-radius:0;background:#0B130F;padding:14px}.app-publish-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.app-publish-card-head strong{display:block;color:var(--nx-text);font-size:17px}.app-publish-card-head span{display:block;color:var(--nx-muted);font-size:12px;margin-top:3px}.app-hash{display:grid;gap:5px;padding:9px;border:1px dashed var(--nx-border);border-radius:0;background:var(--nx-surface-3)}.app-hash span{color:var(--nx-muted);font-size:11px;font-weight:950;text-transform:uppercase}.app-hash code{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#C9FBD6}.app-publish-card form{display:grid;gap:8px}.app-publish-card label{margin:0}.app-publish-card input[type=file]{padding:8px}
    body.admin-console{--nx-bg:#e9ecef;--nx-surface:#ffffff;--nx-surface-2:#f8fafc;--nx-surface-3:#ffffff;--nx-border:#dbe3e8;--nx-border-soft:#e6edf1;--nx-text:#23323b;--nx-muted:#647481;--nx-faint:#8c9aa5;--nx-green:#22c55e;--nx-green-hover:#16a34a;--nx-green-soft:#e9f9ef;background:#e9ecef;color:#23323b}
    body.admin-console .top{background:#ffffff;border-bottom:1px solid #d9e2e8;box-shadow:0 1px 8px rgba(16,24,40,.08)}
    body.admin-console .brand{color:#1f2933}body.admin-console .nav .btn{background:#f8fafc;border-color:#d9e2e8;color:#26343d}body.admin-console .nav .btn.primary{background:#22c55e;color:#06220f;border-color:#22c55e}
    body.admin-console .app{width:min(1560px,100%);padding:26px 18px 40px}
    body.admin-console .tenant-layout{grid-template-columns:278px minmax(0,1fr);gap:24px}
    body.admin-console .side-menu{top:84px;background:#073047;border:0;border-radius:0;padding:0;box-shadow:0 18px 38px rgba(15,23,42,.18);overflow:hidden}
    body.admin-console .side-brand{grid-template-columns:36px minmax(0,1fr);margin:0;padding:17px 15px;background:#042437;border-bottom:1px solid rgba(255,255,255,.08)}
    body.admin-console .side-brand-mark{background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);color:var(--nx-text)}
    body.admin-console .side-brand strong{color:#fff}body.admin-console .side-brand span{color:#b8cbd6}
    body.admin-console .side-section{margin:17px 14px 7px;color:#82a5b7}
    body.admin-console .side-menu a{border-radius:0;padding:11px 14px;color:#d7e5ec;grid-template-columns:26px minmax(0,1fr) auto}
    body.admin-console .side-menu a:hover,body.admin-console .side-menu a.is-active{background:#0f5f84;color:#fff;border:0}
    body.admin-console .side-icon{background:rgba(255,255,255,.12);border:0;color:#bff7d1;border-radius:0}
    body.admin-console .panel{background:#fff;border:2px solid #dbe3e8;border-radius:0;box-shadow:0 1px 2px rgba(16,24,40,.05);color:#23323b}
    body.admin-console .module-hero,body.admin-console .dash-hero{align-items:center}
    body.admin-console .module-kicker{color:#637989;letter-spacing:0;text-transform:none;font-size:12px}
    body.admin-console h1,body.admin-console h2,body.admin-console .module-title h1,body.admin-console .dash-title h1,body.admin-console .card strong,body.admin-console .metric strong,body.admin-console .menu-category-head strong,body.admin-console .menu-product-main strong{color:#26343d}
    body.admin-console .muted,body.admin-console .module-title p,body.admin-console .dash-title p,body.admin-console .section-head p,body.admin-console .card span,body.admin-console .card small,body.admin-console .menu-category-head span,body.admin-console .menu-product-main span,body.admin-console .metric span{color:#647481}
    body.admin-console .btn{background:#fff;border-color:#ccd8df;color:#26343d;border-radius:0;box-shadow:none}
    body.admin-console .btn.primary,body.admin-console .btn.green{background:#22c55e;border-color:#22c55e;color:#06220f}
    body.admin-console input,body.admin-console select,body.admin-console textarea{background:#fff;border-color:#cfd9df;color:#26343d;border-radius:0}
    body.admin-console .mini-tabs{background:#fff;border:1px solid #dbe3e8;border-radius:0;padding:10px;margin:0}
    body.admin-console .mini-tabs a{background:#f8fafc;border-color:#d7e1e7;color:#3d4d57;border-radius:0}
    body.admin-console .mini-tabs a.is-active{background:#0f8fc5;color:#fff;border-color:#0f8fc5}
    body.admin-console .menu-dashboard{grid-template-columns:minmax(0,1fr) 300px}
    body.admin-console .menu-recommend{background:#dff3ff;border-color:#8cd2f3;border-style:dashed;border-radius:0;color:#26343d}
    body.admin-console .menu-recommend-icon{background:#bde9ff;border-color:#8cd2f3;color:#0b6c94;border-radius:0}
    body.admin-console .menu-command{background:#fff;border:1px solid #dbe3e8;border-radius:0;padding:10px}
    body.admin-console .menu-category-card{background:#fff;border:1px solid #dbe3e8;border-radius:0;box-shadow:0 1px 2px rgba(16,24,40,.04)}
    body.admin-console .menu-category-head{background:#fff;border-bottom:1px solid #edf2f5}
    body.admin-console .menu-category-index{background:var(--nx-surface-3);border-color:var(--nx-border-soft);color:var(--nx-text)}
    body.admin-console .menu-product-row{border-bottom:1px solid #edf2f5}
    body.admin-console .menu-product-row>summary{padding:12px 14px;background:#fff}
    body.admin-console .menu-product-row[open]>summary{background:#f8fbfd}
    body.admin-console .menu-edit-area{background:#f8fafc;border-top:1px solid #edf2f5}
    body.admin-console .product-thumb{border-radius:0;border-color:var(--nx-border-soft);background:var(--nx-surface-3)}
    body.admin-console .tag{background:var(--nx-surface-3);border-color:var(--nx-border-soft);color:var(--nx-text);border-radius:0}
    body.admin-console .metric,body.admin-console .card,body.admin-console .module-item,body.admin-console .drawer-card,body.admin-console .role-card,body.admin-console .permission-box,body.admin-console .team-user{background:#fff;border-color:#dbe3e8;border-radius:0}
    body.admin-console .ops-column{background:#fff;border-color:#dbe3e8;border-radius:0}
    body.admin-console .ops-ticket{background:#fff;border-color:#dbe3e8;border-radius:0}
    body.admin-console{--nx-bg:#f3f2f2;--nx-surface:#ffffff;--nx-surface-2:#eae7e7;--nx-surface-3:#eae7e7;--nx-border:#d7d3d3;--nx-border-soft:#eae7e7;--nx-text:#201e1d;--nx-muted:#7d7979;--nx-faint:#9b9797;--nx-green:#8CA37E;--nx-green-hover:#79936B;--nx-green-soft:rgba(140,163,126,.16);--nx-warning:#C6A257;--nx-warning-soft:rgba(198,162,87,.16);--nx-critical:#BC7566;--nx-critical-soft:rgba(188,117,102,.16);--nx-info:#7C97A8;--nx-info-soft:rgba(124,151,168,.16);--nx-mono:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Consolas,monospace;background:#f3f2f2;color:var(--nx-text)}
    body.admin-console .top{background:var(--nx-surface-3);border-bottom:1px solid var(--nx-border-soft)}
    body.admin-console .brand{color:var(--nx-text)}body.admin-console .nav .btn{background:var(--nx-surface-3);border-color:var(--nx-border-soft);color:var(--nx-text)}body.admin-console .nav .btn.primary{background:var(--nx-accent);color:#f3f2f2;border-color:var(--nx-accent)}
    body.admin-console .side-menu{background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);border-radius:0}
    body.admin-console .side-brand{background:var(--nx-surface-3);border-bottom:1px solid var(--nx-border-soft)}
    body.admin-console .side-brand strong{color:var(--nx-text)}body.admin-console .side-brand span{color:var(--nx-muted)}body.admin-console .side-section{color:#63756a}
    body.admin-console .side-menu a{color:var(--nx-muted);border-left:3px solid transparent}body.admin-console .side-menu a:hover,body.admin-console .side-menu a.is-active{background:var(--nx-accent-soft);color:var(--nx-text);border-left-color:var(--nx-accent)}
    body.admin-console .side-icon{background:var(--nx-surface-2);border:1px solid var(--nx-border-soft);color:var(--nx-muted)}
    body.admin-console .side-menu{padding:0 0 10px;overflow:hidden}.side-brand.clean{display:block;margin:0;padding:18px 16px;background:var(--nx-surface-3);border-bottom:1px solid var(--nx-border-soft)}.side-brand.clean strong{font-size:18px;line-height:1.1}.side-brand.clean span{font-size:12px}.side-group{border-top:1px solid rgba(255,255,255,.035)}.side-group:first-of-type{border-top:0}.side-group summary{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:50px;padding:10px 16px;cursor:pointer;list-style:none;color:var(--nx-text);font-weight:950}.side-group summary::-webkit-details-marker{display:none}.side-group summary::after{content:'>'; color:var(--nx-muted);font-size:13px;font-weight:950;transition:transform .16s ease}.side-group[open] summary::after{transform:rotate(90deg);color:var(--nx-accent)}.side-group.is-active summary{background:var(--nx-accent-soft);color:var(--nx-text)}.side-group-icon{color:var(--nx-faint)}.side-group.is-active .side-group-icon{color:var(--nx-accent)}.side-group-copy{min-width:0}.side-group-copy strong{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-group-copy span{display:block;margin-top:2px;color:var(--nx-muted);font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-submenu{display:grid;padding:4px 10px 11px 24px}body.admin-console .side-submenu a{min-height:36px;padding:8px 10px;border-left:2px solid var(--nx-border-soft);border-radius:0 8px 8px 0;grid-template-columns:16px minmax(0,1fr);font-size:13px}body.admin-console .side-submenu a .nx-icon{color:var(--nx-faint)}body.admin-console .side-submenu a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.admin-console .side-submenu a.is-active{background:var(--nx-accent-soft);border-left-color:var(--nx-accent);color:var(--nx-text)}body.admin-console .side-submenu a.is-active .nx-icon{color:var(--nx-accent)}body.admin-console .side-submenu a:hover{background:var(--nx-accent-soft);border-left-color:var(--nx-accent)}.side-menu-quick{display:grid;gap:6px;padding:10px 10px 0}.side-menu-quick a{border:1px solid var(--nx-border-soft);border-radius:0;min-height:38px;padding:8px 10px;grid-template-columns:24px minmax(0,1fr) auto}
    body.admin-console .panel{background:var(--nx-surface-3);border:2px solid var(--nx-border-soft);border-radius:0;color:var(--nx-text)}
    body.admin-console h1,body.admin-console h2,body.admin-console .module-title h1,body.admin-console .dash-title h1,body.admin-console .card strong,body.admin-console .metric strong,body.admin-console .menu-category-head strong,body.admin-console .menu-product-main strong{color:var(--nx-text)}
    body.admin-console .muted,body.admin-console .module-title p,body.admin-console .dash-title p,body.admin-console .section-head p,body.admin-console .card span,body.admin-console .card small,body.admin-console .menu-category-head span,body.admin-console .menu-product-main span,body.admin-console .metric span{color:var(--nx-muted)}
    body.admin-console .btn{background:var(--nx-surface-3);border-color:var(--nx-border-soft);color:var(--nx-text);border-radius:0;transition:border-color .14s ease,background .14s ease,transform .1s ease}
    body.admin-console .btn:active{transform:scale(.98)}body.admin-console .btn.primary,body.admin-console .btn.green{background:#0742B5;border-color:#0742B5;color:#f3f2f2}
    body.admin-console input,body.admin-console select,body.admin-console textarea{background:var(--nx-surface-3);border-color:var(--nx-border-soft);color:var(--nx-text);border-radius:0}
    body.admin-console .mini-tabs{background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);border-radius:0;padding:10px}
    body.admin-console .mini-tabs a{background:var(--nx-surface-3);border-color:var(--nx-border-soft);color:var(--nx-muted);border-radius:0}body.admin-console .mini-tabs a.is-active{background:var(--nx-accent);color:#f3f2f2;border-color:var(--nx-accent)}
    body.admin-console .menu-recommend{background:#0d2630;border-color:#1d6f8f;border-radius:0;color:#eaf8ff}.menu-recommend-icon{border-radius:0}
    body.admin-console .menu-command{background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);border-radius:0;padding:10px}
    body.admin-console .menu-category-card{background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);border-radius:0;text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease}
    body.admin-console .menu-category-card:hover{border-color:var(--nx-accent)}
    body.admin-console .menu-category-head{background:var(--nx-surface-3);border-bottom:1px solid var(--nx-border-soft)}
    body.admin-console .menu-category-index{background:var(--nx-surface-3);border-color:var(--nx-border-soft);color:var(--nx-text);border-radius:0}
    body.admin-console .menu-product-row{border-bottom:1px solid #221D17}body.admin-console .menu-product-row>summary{background:var(--nx-surface-3)}body.admin-console .menu-product-row[open]>summary{background:var(--nx-surface-3)}
    body.admin-console .menu-edit-area{background:var(--nx-surface-3);border-top:1px solid var(--nx-border-soft)}.product-thumb{border-radius:0}
    body.admin-console .tag{background:var(--nx-surface-3);border-color:var(--nx-border-soft);color:var(--nx-text)}
    body.admin-console .metric,body.admin-console .card,body.admin-console .module-item,body.admin-console .drawer-card,body.admin-console .role-card,body.admin-console .permission-box,body.admin-console .team-user{background:var(--nx-surface-3);border-color:var(--nx-border-soft);border-radius:0;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
    body.admin-console .card:hover{border-color:var(--nx-accent);box-shadow:0 12px 28px color-mix(in srgb, var(--nx-accent) 18%, transparent);transform:translateY(-1px)}
    body.admin-console .ops-column{background:var(--nx-surface-3);border-color:var(--nx-border-soft);border-radius:0}body.admin-console .ops-ticket{background:var(--nx-surface-3);border-color:var(--nx-border-soft);border-radius:0;transition:border-color .14s ease,box-shadow .14s ease}body.admin-console .ops-ticket:hover{border-color:var(--nx-accent)}
    .bulk-actions{display:grid;gap:10px;margin-bottom:12px;padding:12px;border:1px solid var(--nx-border-soft);border-radius:0;background:var(--nx-surface-3)}.bulk-actions h3{margin:0;color:var(--nx-text)}.bulk-actions p{margin:0;color:var(--nx-muted);font-size:13px;line-height:1.35}.bulk-grid{display:grid;grid-template-columns:1.05fr 1.05fr 1.05fr 120px auto;gap:9px;align-items:end}.bulk-grid label{margin:0}.menu-product-code{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:26px;border:1px solid var(--nx-border-soft);border-radius:0;background:var(--nx-surface-3);color:var(--nx-muted);font-size:12px;font-weight:950}.menu-product-main strong{overflow-wrap:anywhere}.mobile-catalog-toggle,.mobile-catalog-backdrop,.mobile-bottom-nav{display:none}
    @media(max-width:1100px){.master-store-actions{justify-content:flex-start}.master-control-grid,.master-detail-grid,.master-insight-grid,.menu-dashboard{grid-template-columns:1fr}.menu-form-card{position:static}.ops-board{grid-template-columns:1fr}}
    @media(max-width:900px){.tenant-layout,.team-grid,.module-grid,.login-page{grid-template-columns:1fr}.module-grid.receipt-grid{grid-template-columns:1fr}.login-page{padding-top:30px}.login-story{padding-right:0}.login-benefits{grid-template-columns:1fr}.dash-hero,.module-hero,.downloads-hero,.master-hero,.menu-command,.menu-command-main,.menu-recommend,.bulk-grid,.master-insight-row{grid-template-columns:1fr}
    /* Os 4 indicadores do "Resumo de hoje" sao numeros curtos: em 1 coluna viravam 4 cards altos
       empilhados e o ultimo ficava atras da barra flutuante. Em 2x2 cabem na mesma tela. */
    .status-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.master-hero-actions{justify-content:flex-start;flex-wrap:wrap}.primary-stack{min-width:0}.team-user{grid-template-columns:1fr 1fr}.team-user .compact-actions{grid-column:1/-1}.permission-grid{grid-template-columns:1fr}.payment-method-grid,.payment-account-grid,.app-download-grid,.downloads-support,.master-stat-grid,.master-plan-grid,.master-log-grid,.app-publish-grid{grid-template-columns:1fr}.master-create-drawer[open]{position:static;min-width:0}.master-create-drawer form{min-width:0}.menu-product-row>summary{grid-template-columns:18px 24px 46px auto minmax(0,1fr)}.menu-price,.menu-status,.menu-product-row>summary>.tag:last-child{grid-column:5/-1}.promo-row{grid-template-columns:1fr}.category-row{grid-template-columns:34px 34px 1fr 1fr;grid-template-areas:"drag index name name" "drag index order toggle" "drag index save del";row-gap:8px}.category-row .drag-handle{grid-area:drag}.category-row .menu-category-index{grid-area:index;align-self:center;justify-self:center}.category-row .cat-name-input{grid-area:name}.category-row .cat-order-input{grid-area:order}.category-row .cat-active-toggle{grid-area:toggle}.category-row .cat-save-btn{grid-area:save}.category-row .btn.danger{grid-area:del}.cat-list-head{display:none}.bot-whatsapp-aside{order:-1}}
    @media(max-width:760px){html,body{max-width:100%;overflow-x:hidden}body.mobile-catalog-open{overflow:hidden}.hero{grid-template-columns:1fr;padding-top:22px}.grid,.cards,.feature-grid,.inline-form-grid,.overview-grid,.payment-hero-grid,.payment-status-grid,.provider-choice-grid,.payment-option-row,.payment-card-actions,.choice-toggle,.master-store-metrics,.master-user-list form,.pix-auto-hero{grid-template-columns:1fr}.bank-choice-grid,.pix-provider-grid{grid-template-columns:1fr}.bank-choice{min-height:136px}.bank-choice img{width:104px;height:42px}.pix-bank-choice img{width:140px;height:50px}.payment-method-summary,.payment-method-summary.compact{grid-template-columns:1fr;align-items:start}.payment-action-cell{justify-self:stretch}.payment-destination,.payment-method-top{grid-template-columns:auto minmax(0,1fr)}.payment-destination>.tag,.payment-method-top>.tag{grid-column:1/-1;width:max-content}.payment-card-actions .btn,.payment-card-actions .payment-summary-btn,.payment-config{width:100%}.top{position:sticky;top:0;z-index:35;min-height:56px;height:auto;padding:6px 10px;gap:8px}.brand{font-size:17px;gap:7px}.brand img{width:30px;height:30px}.nav{gap:5px}.nav .btn{min-height:34px;padding:7px 8px;font-size:12px}.nav .hide-mobile{display:none}body.admin-console .top .nav a.btn{display:none}.app{width:100%;min-width:0;padding:10px 10px 106px}.tenant-layout,.master-layout{display:block;width:100%;min-width:0}.tenant-layout>div,.master-layout>div{min-width:0;width:100%}.panel{padding:12px;margin-bottom:10px;border-radius:0}.hero h1{font-size:32px}.login-page{padding:22px 12px 30px;grid-template-columns:1fr}.login-card{order:-1;padding:18px}.login-logo{display:none}.login-story h1{font-size:34px}.login-story p{font-size:15px}.login-benefits{grid-template-columns:1fr}.login-benefit{min-height:auto}body.admin-console .side-menu,.side-menu{position:fixed;inset:0 auto 0 0;z-index:70;width:min(86vw,330px);max-width:330px;height:100dvh;overflow:auto;display:block;transform:translateX(-105%);transition:transform .18s ease;background:var(--nx-surface-3);border:0;border-right:1px solid var(--nx-border-soft);border-radius:0;padding:0 0 14px;box-shadow:20px 0 48px rgba(0,0,0,.18)}body.mobile-catalog-open .side-menu{transform:translateX(0)}.mobile-catalog-backdrop{position:fixed;inset:0;z-index:65;background:rgba(0,0,0,.58)}body.mobile-catalog-open .mobile-catalog-backdrop{display:block}.mobile-catalog-toggle{position:fixed;left:12px;bottom:78px;z-index:60;min-height:44px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--nx-border);border-radius:0;background:var(--nx-surface-3);color:var(--nx-text);padding:0 13px;font-weight:950;box-shadow:0 10px 24px rgba(0,0,0,.14)}.mobile-catalog-toggle span{font-size:18px;line-height:1}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:58;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--nx-surface) 94%, transparent);border-top:1px solid var(--nx-border-soft);box-shadow:0 -8px 20px rgba(0,0,0,.10);backdrop-filter:blur(14px)}.mobile-bottom-nav a,.mobile-bottom-more{min-width:0;min-height:48px;display:grid;place-items:center;align-content:center;gap:3px;border-radius:0;color:var(--nx-muted);text-decoration:none;font-weight:900}.mobile-bottom-nav a .nx-icon,.mobile-bottom-more .nx-icon{width:19px;height:19px;margin:0 auto}.mobile-bottom-more{background:none;border:0;padding:0;font:inherit;cursor:pointer}.mobile-bottom-nav a b,.mobile-bottom-more b{font-size:10px;line-height:1;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:0 2px}.mobile-bottom-nav a.is-active,.mobile-bottom-more.is-active{background:var(--nx-accent-soft);color:var(--nx-text)}.side-brand.clean{padding:18px 16px}.side-group summary{min-height:48px}.side-submenu{padding:4px 10px 10px 18px}.nav-group summary{min-height:46px;padding:10px}.nav-group-items{padding:2px 4px 8px 22px}.nav-item{min-height:44px;padding:9px 10px}.dash-title h1{font-size:24px}.team-user{grid-template-columns:1fr}.module-title h1{font-size:24px;line-height:1.1}.module-title p,.dash-title p,.section-head p{font-size:13px;line-height:1.35}.module-hero,.dash-hero{gap:10px}.module-hero .actions,.dash-hero .actions,.actions{display:grid;grid-template-columns:1fr;gap:8px}.section-head{display:grid;gap:8px}.master-hero h1{font-size:28px}.mini-tabs{overflow:auto;flex-wrap:nowrap;padding:8px;margin:0 -2px 0}.mini-tabs a{flex:0 0 auto;white-space:nowrap}.master-filter-row{overflow-x:auto;flex-wrap:nowrap;margin:0 -2px;padding:0 2px 2px}.master-filter-row button{flex:0 0 auto;white-space:nowrap}.master-command{min-width:0}.master-store-list{grid-template-columns:1fr}.menu-dashboard{gap:10px}.menu-command{position:sticky;top:56px;z-index:28;margin:-2px -2px 2px;padding:10px;border-radius:0;background:var(--nx-surface-3);border:1px solid var(--nx-border-soft)}.menu-command-main{gap:8px}.menu-command-main select,.menu-command-main input{min-height:44px}.menu-command>.btn.primary{min-height:44px}.menu-form-card{position:static}.menu-product-row>summary{grid-template-columns:18px 22px minmax(0,1fr);padding:10px;gap:8px}.menu-product-drag{grid-column:1/2;grid-row:1/3;align-self:center}.menu-product-code{grid-column:2/3;grid-row:1/2}.menu-product-main{grid-column:3/4;grid-row:1/2}.menu-product-main strong{white-space:normal;line-height:1.25;font-size:15px}.menu-product-main span{white-space:normal;line-height:1.25}.menu-price{grid-column:3/4;grid-row:2/3}.menu-status,.menu-product-row>summary>.tag:last-child{grid-column:3/4}.menu-quick-actions{grid-column:2/4;grid-row:3/4;justify-self:start;opacity:1}.product-thumb{display:none}.promo-row .btn,.category-row .btn{width:100%}.bulk-actions{padding:10px}.bulk-grid,.form-grid,.form-grid.three{grid-template-columns:1fr}.module-item-head{display:grid;gap:6px}.receipt-preview-box{font-size:12px;padding:16px 14px}.receipt-line.is-large{font-size:18px}.top+.app{margin-top:0}}
    @media(max-width:760px){body.admin-console{width:100vw;max-width:100vw;overflow-x:hidden}body.admin-console .top,body.admin-console .app{width:100vw;max-width:100vw;min-width:0}body.admin-console .app{padding:10px 10px 106px}body.admin-console .tenant-layout{display:block;width:100%;max-width:100%;grid-template-columns:1fr;gap:0}body.admin-console .tenant-layout>div,body.admin-console .panel,body.admin-console .module-hero,body.admin-console .module-title,body.admin-console .actions,body.admin-console .menu-dashboard,body.admin-console .menu-command,body.admin-console .menu-command-main,body.admin-console .mini-tabs{width:100%;max-width:100%;min-width:0}body.admin-console .menu-dashboard{display:grid;grid-template-columns:1fr;gap:10px}body.admin-console .menu-command{position:sticky;top:56px;z-index:28;margin:-2px -2px 2px;padding:10px;border-radius:0;background:var(--nx-surface-3);border:1px solid var(--nx-border-soft)}body.admin-console .menu-command-main{display:grid;grid-template-columns:1fr;gap:8px}body.admin-console .menu-command-main select,body.admin-console .menu-command-main input,body.admin-console .menu-command-main .btn,body.admin-console .menu-command>.btn{width:100%;max-width:100%;min-width:0}body.admin-console .mini-tabs{display:flex;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap}body.admin-console .mini-tabs a{flex:0 0 auto;white-space:nowrap}body.admin-console .module-hero .actions .btn{width:100%;max-width:100%}body.admin-console .menu-category-card,body.admin-console .menu-map{max-width:100%;min-width:0}body.admin-console .menu-product-row>summary{grid-template-columns:18px 40px minmax(0,1fr);gap:8px;padding:10px}body.admin-console .menu-product-drag{grid-column:1/2;grid-row:1/3;align-self:center}body.admin-console .menu-check{grid-column:2/3;grid-row:2/3;justify-self:center}body.admin-console .menu-product-code{grid-column:2/3;grid-row:1/2;justify-self:center;min-width:38px;padding:0 5px}body.admin-console .menu-product-main{grid-column:3/4;grid-row:1/2}body.admin-console .menu-price{grid-column:3/4;grid-row:2/3}body.admin-console .menu-status,body.admin-console .menu-product-row>summary>.tag:last-child{grid-column:3/4}body.admin-console .menu-quick-actions{grid-column:2/4;grid-row:3/4;justify-self:start;opacity:1}body.admin-console .product-thumb{display:none}}
    /* Identidade visual do painel interno - deliberadamente fria/azulada, nunca reaproveita o verde do
       painel do lojista como acento interativo (--nx-green continua verde aqui, so pra semantica de
       sucesso/ativo em pills como .master-badge.ok - trocar esse token pra azul quebraria esse
       significado). O acento de interacao (botao primario, marca da sidebar, pill/selo do topo) usa
       --nx-accent-master (azul) via seletores escopados, nao via --nx-green. */
    .master-pill{display:inline-flex;align-items:center;min-height:26px;padding:4px 10px;border-radius:0;background:rgba(59,130,246,.14);border:1px solid rgba(59,130,246,.38);color:#9CC5FB;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-left:10px}
    .master-side-badge{display:inline-flex;width:max-content;margin-top:3px;padding:2px 7px;border-radius:0;background:rgba(59,130,246,.16);border:1px solid rgba(59,130,246,.34);color:#9CC5FB;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}
    body.master-console{--nx-bg:#0A0E14;--nx-surface:#121821;--nx-surface-2:#182230;--nx-surface-3:#0D1319;--nx-border:#26344A;--nx-border-soft:#1C2735;--nx-text:#EAF1FA;--nx-muted:#8DA0BC;--nx-faint:#5C7085;--nx-accent-master:var(--color-accent-700);--nx-warning:#F5A524;--nx-warning-soft:rgba(245,165,36,.14);--nx-critical:#F0554A;--nx-critical-soft:rgba(240,85,74,.14);--nx-info:#4FA7E0;--nx-info-soft:rgba(79,167,224,.14);background:#0A0E14;color:#EAF1FA}
    body.master-console .top{background:#0A0E14;border-bottom:1px solid #1C2735;box-shadow:0 1px 10px rgba(0,0,0,.32)}
    body.master-console .brand{color:#EAF1FA}
    body.master-console .nav .btn{background:#121821;border-color:#26344A;color:#EAF1FA}
    body.master-console .btn.primary{background:var(--nx-accent-master);border-color:var(--nx-accent-master);color:#04101F}
    body.master-console .master-side-menu{background:#0D1319;border:1px solid #1C2735;box-shadow:0 20px 48px rgba(0,0,0,.32)}
    body.master-console .master-side-menu .side-brand{background:#0A0E14;border-bottom:1px solid #1C2735}
    body.master-console .master-side-menu .side-brand strong{color:#EAF1FA}
    body.master-console .master-side-menu a:hover,body.master-console .master-side-menu a.is-active{background:rgba(59,130,246,.14);color:#EAF1FA}
    body.master-console .master-side-menu .side-icon{background:rgba(59,130,246,.12);color:#9CC5FB}
    body.master-console .side-brand-mark{background:var(--nx-surface-3);border-color:var(--nx-border-soft);color:var(--nx-text)}
    body.master-console .side-section{color:#5C7085}
    body.master-console .master-side-badge{align-items:center;gap:6px}
    .master-side-dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(59,130,246,.18)}
    body.master-console .nav-item{border-left:2px solid transparent;border-radius:0 8px 8px 0}
    body.master-console .nav-item.is-active{background:rgba(59,130,246,.14);border-left-color:var(--nx-accent-master)}
    body.master-console .nav-item.is-active .nx-icon{color:var(--nx-accent-master)}
    body.master-console .nav-item .nx-icon{width:15px;height:15px;padding:4px;border-radius:0;background:var(--nx-surface-2);box-sizing:content-box}
    body.master-console .nav-item.is-active .nx-icon{background:rgba(59,130,246,.16)}
    body.master-console .master-hero-actions>.btn,body.master-console .master-hero-actions>details>summary{background:var(--nx-surface);color:var(--nx-text);border-color:var(--nx-border)}
    body.master-console .account-chip .avatar{background:var(--nx-accent-master);color:#04101F}
    /* Sem grid-template-columns proprio: herda as 5 colunas da regra base. Este override declarava
       repeat(7,...) de quando a barra do Master listava as 6 telas - com 5 itens, sobrava um vao
       morto a direita e tudo ficava empurrado pra esquerda. */
    body.master-console .mobile-bottom-nav{background:rgba(10,14,20,.97);border-top:1px solid #1C2735}
    /* O botao "Mais" tem que entrar aqui junto com os links: sem ele, ficava com o bege do painel
       do lojista no meio do tema azul do Master. */
    body.master-console .mobile-bottom-nav a,body.master-console .mobile-bottom-more{color:#8DA0BC}
    body.master-console .mobile-bottom-nav a.is-active,body.master-console .mobile-bottom-more.is-active{background:rgba(59,130,246,.16);color:#EAF1FA}
    body.master-console .mobile-catalog-toggle{background:#121821;border-color:#26344A;color:#EAF1FA}
    body.master-console .panel{background:var(--nx-surface);border-color:var(--nx-border-soft)}
    body.master-console .card{background:var(--nx-surface-2);border-color:var(--nx-border-soft)}
    body.master-console .card:hover{border-color:var(--nx-accent-master);box-shadow:0 10px 22px rgba(59,130,246,.10)}
    body.master-console .tag{background:var(--nx-surface-3);border-color:var(--nx-border-soft);color:var(--nx-text)}
    body.master-console .app-platform-badge{background:var(--nx-surface-3);border-color:var(--nx-border-soft);color:var(--nx-text)}
    body.master-console .cmdk-item.is-selected{background:rgba(59,130,246,.16)}
    .ticket-guide-tabs{margin-bottom:10px}
    .ticket-guide{border:1px solid var(--nx-border-soft);border-radius:0;background:var(--nx-surface-3);padding:12px 14px;margin-bottom:8px}
    .ticket-guide summary{cursor:pointer;font-weight:800;color:var(--nx-text);display:flex;align-items:center;justify-content:space-between;gap:10px}
    .ticket-guide summary .tag{flex:none}
    .ticket-guide-body{margin-top:10px;color:var(--nx-muted);font-size:13.5px;line-height:1.55}
    .ticket-guide-body a{color:var(--nx-accent);font-weight:800;text-decoration:none;display:inline-block;margin-top:8px}
    body.master-console .ticket-guide-body a{color:var(--nx-accent-master)}
    .ticket-list{display:grid;gap:8px}
    .ticket-row{border:1px solid var(--nx-border-soft);border-radius:0;background:var(--nx-surface-3);padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:12px;align-items:center;cursor:pointer;list-style:none}
    .ticket-row::-webkit-details-marker{display:none}
    .ticket-row-title{min-width:0}
    .ticket-row-title strong{display:block;color:var(--nx-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .ticket-row-title span{display:block;color:var(--nx-faint);font-size:11.5px;margin-top:2px}
    .ticket-empty{padding:24px;text-align:center;color:var(--nx-muted);border:1px dashed var(--nx-border);border-radius:0}
    .ticket-messages{display:grid;gap:10px;margin-bottom:14px;max-height:min(48vh,420px);overflow-y:auto;padding-right:4px}
    .ticket-message{max-width:86%;padding:10px 12px;border-radius:0;font-size:13.5px;line-height:1.5;background:var(--nx-surface-2);border:1px solid var(--nx-border-soft);justify-self:start}
    .ticket-message.is-self{background:var(--nx-green-soft);border-color:color-mix(in srgb, var(--color-accent) 32%, transparent);justify-self:end}
    body.master-console .ticket-message.is-self{background:rgba(59,130,246,.14);border-color:rgba(59,130,246,.32)}
    .ticket-message-meta{display:block;color:var(--nx-faint);font-size:10.5px;margin-top:5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
    .ticket-reply-form{display:grid;gap:8px;border-top:1px solid var(--nx-border-soft);padding-top:14px}
    .ticket-reply-form textarea{min-height:70px}
    .ticket-status-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
    @media(max-width:760px){.ticket-row{grid-template-columns:1fr;justify-items:start;gap:6px}.ticket-row-title{width:100%}}
    body.master-console .module-kicker{color:#9CC5FB}
    body.master-console .master-hero{background:radial-gradient(circle at 12% 0,rgba(59,130,246,.16),transparent 32%),linear-gradient(135deg,#0d1420,#0a0e14)}
    body.master-console .metric,body.master-console .panel,body.master-console .module-item,body.master-console .drawer-card{background:var(--nx-surface);border-color:var(--nx-border-soft)}
    /* Convencao de badges (nao inventar uma 4a variante): .badge = status do proprio registro
       (Ativa/Inativa/Bloqueado - maiuscula, informativo, nao clicavel). .tag = rotulo/categoria
       curto (Principal, tipo de item). .pill = filtro ou selecao (com .dot de status, ou usado
       como botao de intervalo tipo "30 dias"). .role-pill e uma variante propria do cargo na
       Equipe (trunca com reticencias) - fica como esta, nao e a mesma coisa que .tag. */
    .badge{display:inline-flex;align-items:center;gap:5px;width:max-content;min-height:24px;padding:3px 9px;border-radius:0;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.02em;background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);color:var(--nx-muted)}
    .badge-active{color:var(--nx-green)}
    .badge-paused{color:var(--nx-muted)}
    .badge-out{color:var(--nx-critical)}
    .badge-promo{color:var(--nx-warning)}
    .badge-info{color:var(--nx-info)}
    .menu-quick-actions{display:flex;gap:6px;flex-wrap:wrap;justify-self:end;opacity:0;transition:opacity .12s ease}
    .menu-product-row>summary:hover .menu-quick-actions,.menu-product-row[open] .menu-quick-actions,.menu-product-row>summary:focus-within .menu-quick-actions{opacity:1}
    .menu-price-promo{display:block;color:var(--nx-warning);font-size:11px;font-weight:800;margin-top:3px}
    .was-price{display:block;color:var(--nx-faint);text-decoration:line-through;font-size:10.5px;font-family:var(--nx-mono);margin-bottom:2px}
    .new-product-drawer>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;min-height:42px;padding:10px 14px;border:1px solid var(--nx-accent,#0742B5);border-radius:0;background:var(--nx-accent,#0742B5);color:var(--color-sobre-acento,#f3f2f2);font-size:14px;font-weight:800}
    .new-product-drawer>summary::-webkit-details-marker{display:none}
    @media(hover:none){.menu-quick-actions{opacity:1}}
    .quick-btn{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;border-radius:0;border:1px solid var(--nx-border);background:var(--nx-surface-3);color:var(--nx-muted);font-size:11px;font-weight:900;cursor:pointer}
    .quick-btn:hover{border-color:#3A463F;color:var(--nx-text)}
    .quick-btn.is-on{background:var(--nx-green-soft);border-color:color-mix(in srgb, var(--nx-green) 40%, transparent);color:var(--nx-green)}
    .quick-btn.is-warn{background:var(--nx-critical-soft);border-color:color-mix(in srgb, var(--nx-critical) 36%, transparent);color:var(--nx-critical)}
    .drag-handle{cursor:grab;touch-action:none}.drag-handle:active{cursor:grabbing}
    .category-row.is-dragging{opacity:.45}
    .category-row.drag-over{outline:2px dashed color-mix(in srgb, var(--nx-accent) 55%, transparent);outline-offset:3px}
    .save-toast{position:fixed;right:18px;bottom:18px;z-index:9999;max-width:min(420px,calc(100% - 36px));padding:12px 14px;border-radius:0;font-weight:900;box-shadow:0 16px 36px rgba(0,0,0,.4);border:1px solid;background:var(--nx-surface-3, #14110B);color:var(--nx-text, #F3F1EA)}
    .save-toast.ok{border-color:color-mix(in srgb, var(--nx-green) 50%, transparent);background:var(--nx-green-soft);color:var(--nx-text)}
    .save-toast.error{border-color:color-mix(in srgb, var(--nx-critical) 50%, transparent);background:var(--nx-critical-soft);color:var(--nx-text)}
    .tabular-mono{font-family:var(--nx-mono, ui-monospace, monospace);font-variant-numeric:tabular-nums}
    /* Checkbox com a cara do painel. O nativo desenha um quadrado BRANCO quando desmarcado, e
       accent-color só pinta o estado marcado - num tema escuro isso já destoava, e ficou gritante
       quando a camada de toque aumentou o tamanho pra ser tocável no celular (um quadrado branco
       de 28px na lista de produtos parecia defeito). O "check" vai por background-image (SVG data
       URI) e não por ::after: pseudo-elemento em <input> é comportamento indefinido no spec. */
    input[type=checkbox],input[type=radio]{
      appearance:none;-webkit-appearance:none;flex:none;
      border:1.5px solid var(--nx-border);background:var(--nx-surface-3);
      background-repeat:no-repeat;background-position:center;background-size:72% 72%;
      cursor:pointer;transition:background-color var(--nx-duration-fast) var(--nx-ease-standard),border-color var(--nx-duration-fast) var(--nx-ease-standard)}
    input[type=checkbox]{border-radius:0}
    input[type=radio]{border-radius:50%}
    input[type=checkbox]:hover,input[type=radio]:hover{border-color:var(--nx-accent)}
    input[type=checkbox]:checked,input[type=radio]:checked{background-color:var(--nx-accent);border-color:var(--nx-accent)}
    input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B160D' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 10 17.5 19 7'/%3E%3C/svg%3E")}
    input[type=radio]:checked{background-image:radial-gradient(circle,#f3f2f2 34%,transparent 36%)}
    input[type=checkbox]:disabled,input[type=radio]:disabled{opacity:.45;cursor:not-allowed}
    .live-dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;animation:nx-pulse 1.8s ease-in-out infinite}
    @keyframes nx-pulse{0%,100%{opacity:1}50%{opacity:.35}}
    @media (prefers-reduced-motion: reduce){.live-dot{animation:none}.notice[data-status-toast]{animation:none}}
    .icon-btn{width:38px;height:38px;border-radius:0;border:1px solid var(--nx-border, var(--color-divider));background:var(--nx-surface, #0b1510);display:inline-grid;place-items:center;color:var(--nx-muted, #b7c9bd);cursor:pointer}
    .icon-btn:hover{color:var(--nx-text, #e8f3ea);border-color:var(--nx-accent)}
    .account-menu{position:relative}
    .account-menu summary{list-style:none;cursor:pointer}
    .account-menu summary::-webkit-details-marker{display:none}
    .account-chip{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 12px 0 5px;border-radius:0;border:1px solid var(--nx-border, var(--color-divider));background:var(--nx-surface, #0b1510);font-weight:800;font-size:13px;color:var(--nx-text, #e8f3ea)}
    .account-chip .avatar{width:27px;height:27px;border-radius:50%;background:var(--nx-accent);color:#2B160D;display:grid;place-items:center;font-size:12px;font-weight:900}
    .account-menu-body{position:absolute;right:0;top:calc(100% + 8px);z-index:40;min-width:160px;padding:10px;border-radius:0;border:1px solid var(--nx-border, var(--color-divider));background:var(--nx-surface, #0b1510);box-shadow:0 16px 40px rgba(0,0,0,.4)}
    .account-menu-body form{margin:0}
    .account-menu-body .btn{width:100%}
    .notif-wrap{position:relative}
    .notif-dropdown{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:320px;max-width:calc(100vw - 24px);border-radius:0;border:1px solid var(--nx-border, var(--color-divider));background:var(--nx-surface, #0b1510);box-shadow:var(--nx-shadow-md, 0 16px 44px rgba(0,0,0,.28));overflow:hidden}
    .notif-dropdown-head{padding:10px 12px;font-weight:900;font-size:12.5px;color:var(--nx-muted);border-bottom:1px solid var(--nx-border-soft, #202820);text-transform:uppercase;letter-spacing:.03em}
    .notif-dropdown-body{max-height:320px;overflow-y:auto}
    .notif-item{padding:10px 12px;border-bottom:1px solid var(--nx-border-soft, #202820);font-size:13px;color:var(--nx-text)}
    .notif-item:last-child{border-bottom:none}
    .notif-item span{display:block;color:var(--nx-faint);font-size:11.5px;margin-top:3px}
    .cmdk-overlay{position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.55);display:grid;align-items:start;justify-items:center;padding:14vh 16px 16px;backdrop-filter:blur(2px)}
    .cmdk-overlay[hidden]{display:none}
    .cmdk-box{width:100%;max-width:560px;border-radius:0;border:1px solid var(--nx-border, var(--color-divider));background:var(--nx-surface, #0b1510);box-shadow:var(--nx-shadow-lg, 0 30px 80px rgba(0,0,0,.5));overflow:hidden}
    .cmdk-input{width:100%;border:0;border-bottom:1px solid var(--nx-border-soft, #202820);background:transparent;color:var(--nx-text, #F3F1EA);padding:16px;font:inherit;font-size:16px;outline:none}
    .cmdk-results{max-height:360px;overflow-y:auto;padding:6px}
    .cmdk-item{display:flex;align-items:baseline;gap:8px;padding:10px 12px;border-radius:0;cursor:pointer;color:var(--nx-text)}
    .cmdk-item span{color:var(--nx-faint);font-size:12px}
    .cmdk-item.is-selected{background:var(--nx-green-soft)}
    .cmdk-empty{padding:16px;color:var(--nx-muted);text-align:center;font-size:13px}
    body.nx-density-compact .menu-product-row>summary{padding:5px 13px}
    body.nx-density-compact [data-density-toggle]{background:var(--nx-green-soft);border-color:color-mix(in srgb, var(--color-accent) 42%, transparent);color:#D9FBE3}
    .confirm-overlay{position:fixed;inset:0;z-index:9997;background:rgba(0,0,0,.55);display:grid;place-items:center;padding:16px}
    .confirm-overlay[hidden]{display:none}
    .confirm-box{width:100%;max-width:420px;border-radius:0;border:1px solid var(--nx-border, var(--color-divider));background:var(--nx-surface, #0b1510);box-shadow:var(--nx-shadow-lg, 0 30px 80px rgba(0,0,0,.5));padding:20px}
    .confirm-box>div:first-child{color:var(--nx-text);font-size:14.5px;line-height:1.5;margin-bottom:16px}
    .confirm-actions{display:flex;justify-content:flex-end;gap:10px}
    .bulk-impact{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:0;background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);color:var(--nx-muted);font-size:12.5px;font-weight:800;margin:2px 0 4px}
    .bulk-impact strong{color:var(--nx-text)}
    .save-toast .toast-undo{margin-left:10px;text-decoration:underline;cursor:pointer;font-weight:900;color:inherit;background:none;border:0;padding:0;font:inherit}
    .price-input{height:32px;width:100%;min-width:0;border-radius:0;border:1px solid var(--nx-border);background:var(--nx-surface-3);color:var(--nx-text);font-size:12.5px;padding:0 8px}
    .price-input:focus{border-color:var(--nx-accent);outline:none}
    .metric-spark{position:relative;padding-bottom:60px}
    .metric-spark-svg{position:absolute;left:13px;right:13px;bottom:24px;width:auto;height:32px;opacity:1}
    .metric .metric-spark-range{position:absolute;left:13px;right:13px;bottom:2px;display:flex;justify-content:space-between;font-size:9.5px;color:var(--nx-faint);font-weight:800;text-transform:uppercase;letter-spacing:.03em}.metric .metric-spark-range b{display:inline}
    .metric-spark-hit{cursor:default}
    .metric-spark-svg.metric-spark-empty{opacity:.55}
    /* Mais vendidos (Visão Geral). A barra de proporção é um ::after com largura vinda de --parte,
       então a leitura "qual é o campeão" acontece antes de ler os números. */
    /* CSS de .top-seller* removido junto com a marcacao antiga: a lista de mais vendidos
       agora usa .nb-lista* do design. */
    .mv-period-switch{display:flex;gap:6px;flex-wrap:wrap}
    .mv-period-btn{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:0;border:1px solid var(--nx-border-soft);background:var(--nx-surface-3);color:var(--nx-muted);font-weight:800;font-size:12.5px;text-decoration:none}
    .mv-period-btn.is-active{background:var(--nx-accent-soft);border-color:color-mix(in srgb, var(--nx-accent) 40%, transparent);color:var(--nx-accent)}
    .mv-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}
    .mv-summary-card{background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);border-radius:0;padding:12px}
    .mv-summary-card span{display:block;color:var(--nx-muted);font-size:11px;font-weight:900;text-transform:uppercase}
    .mv-summary-card strong{display:block;margin-top:6px;font-size:20px;color:var(--nx-text)}
    .mv-ranking{display:grid;gap:6px}
    .mv-row{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr) 130px 100px auto;gap:12px;align-items:center;padding:11px 12px;border-radius:0;overflow:hidden;background:var(--nx-surface-3);border:1px solid var(--nx-border-soft)}
    .mv-pos{display:grid;place-items:center;width:26px;height:26px;border-radius:0;background:var(--nx-surface-2);border:1px solid var(--nx-border-soft);color:var(--nx-muted);font-size:12px;font-weight:900}
    .mv-row:first-child .mv-pos{background:var(--nx-accent-soft);border-color:color-mix(in srgb, var(--nx-accent) 40%, transparent);color:var(--nx-accent)}
    .mv-main{min-width:0}
    .mv-main strong{display:block;color:var(--nx-text);font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .mv-main span{display:block;color:var(--nx-muted);font-size:12px;margin-top:2px}
    .mv-trend{font-size:12px}
    .mv-sparkwrap{width:96px;height:28px}
    .mv-spark{width:96px;height:28px;display:block}
    .mv-spark-empty{color:var(--nx-faint);font-size:11px}
    .mv-revenue{text-align:right}
    .mv-revenue span{display:block;color:var(--nx-muted);font-size:11px;margin-top:2px}
    .mv-bar{position:absolute;left:0;bottom:0;height:2px;width:var(--parte,0%);background:linear-gradient(90deg,var(--nx-accent),transparent);border-radius:0}
    .mv-tips{display:grid;gap:10px;margin-top:10px}
    .mv-tip{background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);border-left:3px solid var(--nx-accent);border-radius:0;padding:11px 13px}
    .mv-tip strong{display:block;color:var(--nx-text);font-size:13.5px;margin-bottom:4px}
    .mv-tip p{margin:0;color:var(--nx-muted);font-size:13px;line-height:1.5}
    .mv-plain-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
    .mv-plain-list li{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--nx-surface-3);border:1px solid var(--nx-border-soft);border-radius:0;font-size:13px;color:var(--nx-text)}
    .mv-plain-list li span{color:var(--nx-muted);font-size:12px;white-space:nowrap}
    .mv-regional-lock{display:grid;gap:6px;margin-top:10px;padding:12px;border:1px dashed var(--nx-border);border-radius:0;background:var(--nx-surface-3)}
    .mv-regional-lock .nx-icon{color:var(--nx-muted);width:20px;height:20px}
    .mv-regional-lock p{margin:0;color:var(--nx-text);font-size:13px;line-height:1.5}
    .mv-regional-progress{display:inline-block;width:max-content;padding:3px 9px;border-radius:0;background:var(--nx-surface-2);color:var(--nx-muted);font-size:11px;font-weight:800}
    .mv-competitors li{flex-wrap:wrap}
    .mv-competitor-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
    .mv-competitor-right a{color:var(--nx-accent);font-weight:800;font-size:12px;text-decoration:none}
    .mv-competitor-right a:hover{text-decoration:underline}
    .mv-controls{display:grid;gap:10px;margin-bottom:14px}
    .mv-control-row{display:grid;gap:6px}
    .mv-order-label{color:var(--nx-faint);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
    .mv-pill-scroll{display:flex;gap:6px;flex-wrap:wrap}
    @media(max-width:760px){
      .mv-pill-scroll{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -2px;padding:2px 2px 6px}
      .mv-pill-scroll .mv-period-btn{flex:0 0 auto;white-space:nowrap}
    }
    @media(max-width:760px){.mv-row{grid-template-columns:26px minmax(0,1fr) auto}.mv-sparkwrap,.mv-trend{display:none}.mv-summary{grid-template-columns:1fr}}
    .metric.metric-spark.is-sparkless{padding-bottom:26px}
    .metric.metric-spark.is-sparkless .metric-spark-svg{height:14px;bottom:9px}
    .metric.metric-spark.is-sparkless .metric-spark-range{display:none}
    .metric-spark-grid{stroke:var(--nx-border-soft);stroke-width:1;stroke-dasharray:2,4}
    .metric strong.tabular-mono{font-variant-numeric:tabular-nums;letter-spacing:-.01em}
    .metric-trend{display:block;margin-top:7px;font-size:12px;font-weight:800}
    .metric-trend.up{color:var(--nx-green)}
    .metric-trend.down{color:var(--nx-critical)}
    .metric-trend.flat{color:var(--nx-muted);font-weight:700}
    .ops-column.novos .ops-column-head{background:var(--color-surface);color:var(--color-text);border-bottom:2px solid var(--color-divider)}
    .ops-column-empty{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--nx-muted);font-size:12px;padding:16px 8px;text-align:center}.ops-column-empty .nx-icon{width:18px;height:18px;color:var(--nx-faint)}
    .ops-ticket{display:grid;gap:6px}
    .ops-ticket-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
    .ops-ticket-code{font-family:ui-monospace,Consolas,monospace;font-size:12.5px;color:var(--nx-muted)}
    .ops-ticket-time{font-family:ui-monospace,Consolas,monospace;font-size:11px;color:var(--nx-muted)}
    .ops-ticket-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:0}
    .ops-ticket-meta span{margin-top:0;font-size:12px}
    .ops-ticket-amount{font-family:ui-monospace,Consolas,monospace;font-weight:800;color:var(--nx-text)}
    .pill .dot.live{animation:nxpulse 1.8s ease-in-out infinite}
    @keyframes nxpulse{0%,100%{opacity:1}50%{opacity:.35}}
    .table-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}
    .field{display:flex;align-items:center;gap:7px;height:36px;padding:0 11px;border-radius:0;border:1px solid var(--nx-border);background:var(--nx-surface-3);color:var(--nx-muted);font-size:12.5px}
    .field .nx-icon{color:var(--nx-faint)}
    .field.grow{flex:1;min-width:180px}
    .field select,.field input{border:0;background:transparent;color:var(--nx-text);font:inherit;outline:none;width:100%}
    .field select{color:var(--nx-muted)}
    .dropdown-btn{display:inline-flex;align-items:center;gap:8px}
    .dropdown-btn .nx-icon{width:13px;height:13px;transition:transform .15s ease}
    .dropdown-btn[aria-expanded="true"] .nx-icon{transform:rotate(180deg)}
    .table-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:12px;color:var(--nx-faint)}
    .menu-table-head{display:grid;grid-template-columns:20px 28px 48px auto minmax(0,1fr) 110px 90px 168px;gap:12px;padding:0 13px 8px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--nx-faint)}
    .bulk-actions-panel{margin-bottom:12px}
    .bulk-actions-panel[hidden]{display:none}
    .table-scroll{border:1px solid var(--nx-border-soft);border-radius:0;overflow:hidden}
    .table-wrap{width:100%;overflow-x:auto}
    @media(max-width:900px){.menu-table-head{display:none}}
    .pill{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 4px;border-radius:0;font-size:11.5px;font-weight:700;letter-spacing:.01em;border:1px solid transparent;white-space:nowrap;color:var(--nx-muted)}
    .pill .dot{width:7px;height:7px;border-radius:50%;background:var(--nx-faint);flex:none}
    .pill.good .dot{background:var(--nx-green)}
    .pill.warn .dot{background:var(--nx-warning)}
    .pill.bad .dot{background:var(--nx-critical)}
    .pill.neutral .dot{background:var(--nx-faint)}
    .dash-hero-card{border-radius:0;background:linear-gradient(155deg, var(--nx-surface) 0%, var(--nx-surface) 60%, var(--nx-surface-2) 100%)}
    .dash-hero-pills{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}
    .dash-hero-actions{display:flex;gap:9px;flex-wrap:wrap}
    .dash-title h1{margin:0}
    .dash-title p.dash-subtitle{margin:5px 0 0}
    .nav-groups{padding:8px 6px 12px;display:grid;gap:2px}
    .nav-groups-divider{height:1px;margin:8px 10px;background:var(--nx-border-soft)}
    .nav-group{border-radius:0}
    .nav-group summary{display:grid;grid-template-columns:26px minmax(0,1fr) 14px;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border-radius:0;cursor:pointer;list-style:none;color:var(--nx-muted);font-size:12px;font-weight:850;letter-spacing:.03em;text-transform:uppercase}
    .nav-group summary::-webkit-details-marker{display:none}
    .nav-group summary .nx-icon{width:15px;height:15px;padding:5px;border-radius:0;background:var(--nx-surface-2);color:var(--nx-faint);box-sizing:content-box}
    .nav-group .nav-caret{width:13px;height:13px;color:var(--nx-faint);transition:transform .16s ease}
    .nav-group[open] .nav-caret{transform:rotate(180deg)}
    .nav-group summary:hover{background:var(--nx-surface-2);color:var(--nx-text)}
    .nav-group.has-active summary{color:var(--nx-text);background:var(--nx-surface-2)}
    .nav-group.has-active summary .nx-icon{color:var(--nx-accent);background:var(--nx-accent-soft)}
    /* Destino unico: precisa parecer um LINK normal, nao um cabecalho de grupo - senao nao da
       pra distinguir na barra o que expande (nav-group) do que vai direto a uma tela
       (nav-item-solo). Mantem a mesma coluna de icone dos grupos (pra alinhar), mas caixa de
       frase em vez de maiuscula. */
    body.admin-console .nav-item-solo{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border-radius:0;text-decoration:none;color:var(--nx-muted);font-size:13.5px;font-weight:700;letter-spacing:normal;text-transform:none}
    .nav-item-solo .nx-icon{width:15px;height:15px;padding:5px;border-radius:0;background:var(--nx-surface-2);color:var(--nx-faint);box-sizing:content-box;transition:color var(--nx-duration-base) var(--nx-ease-standard)}
    body.admin-console .nav-item-solo:hover{background:var(--nx-surface-2);color:var(--nx-text)}
    .nav-item-solo:hover .nx-icon{color:var(--nx-text)}
    body.admin-console .nav-item-solo.is-active{color:var(--nx-text);background:var(--nx-accent-soft)}
    .nav-item-solo.is-active .nx-icon{color:var(--nx-accent);background:var(--nx-accent-soft)}
    .nav-group-items{display:grid;gap:2px;padding:2px 4px 8px 26px}
    .nav-item{display:grid;grid-template-columns:16px 1fr;align-items:center;gap:11px;padding:8px 10px;border-radius:0;text-decoration:none;color:var(--nx-muted);font-size:13px;font-weight:650}
    .nav-item .nx-icon{color:var(--nx-faint)}
    .nav-item:hover{background:var(--nx-surface-2);color:var(--nx-text)}
    .nav-item.is-active{background:var(--nx-green-soft);color:var(--nx-text)}
    .nav-item.is-active .nx-icon{color:var(--nx-accent)}
    .quick-links-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px}
    .quick-link{display:grid;justify-items:center;gap:7px;text-align:center;padding:14px 10px;border:1px solid var(--nx-border-soft);border-radius:var(--nx-radius-sm);background:var(--nx-surface-3);text-decoration:none;color:var(--nx-text);font-weight:850;font-size:13px;transition:border-color .16s ease,background .16s ease,transform var(--nx-duration-base) var(--nx-ease-out),box-shadow var(--nx-duration-base) var(--nx-ease-out)}
    .quick-link:hover{border-color:var(--nx-accent);background:var(--nx-accent-soft);transform:translateY(-2px);box-shadow:var(--nx-shadow-sm)}
    .suite-other-products{margin-top:14px;padding-top:12px;border-top:1px solid var(--nx-border-soft)}
    .suite-product-list{display:grid;gap:6px;padding:0 6px}
    .suite-product-btn{display:flex;align-items:center;width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--nx-border-soft);border-radius:var(--nx-radius-sm);background:var(--nx-surface-3);color:var(--nx-text);font:inherit;font-size:12px;font-weight:800;cursor:pointer;text-align:left;transition:border-color var(--nx-duration-base) var(--nx-ease-standard),background var(--nx-duration-base) var(--nx-ease-standard),transform var(--nx-duration-base) var(--nx-ease-out)}
    .suite-product-btn span{display:block;min-width:0;white-space:normal;line-height:1.35}
    .suite-product-btn:hover{border-color:var(--nx-accent);background:var(--nx-accent-soft);transform:translateY(-1px)}
    .suite-product-btn.is-locked{cursor:not-allowed;opacity:.6;color:var(--nx-muted)}
    .suite-product-btn.is-locked:hover{border-color:var(--nx-border-soft);background:var(--nx-surface-3);transform:none}
    body.nx-theme-light{color-scheme:light;--nx-bg:#F6F6F3;--nx-top:#FFFFFF;--nx-surface:#FFFFFF;--nx-surface-2:#F1F0EC;--nx-surface-3:#F5F4F0;--nx-border:#E4E2DB;--nx-border-soft:#ECEAE3;--nx-text:#1D1C19;--nx-muted:#6E6B61;--nx-faint:#9A9789;--nx-green:#3F8F5B;--nx-green-hover:#357A4D;--nx-green-soft:rgba(63,143,91,.12);--nx-yellow:#A9781F;--nx-red:#C0392B;--nx-blue:#2C6E8E;--nx-warning:#A9781F;--nx-warning-soft:rgba(169,120,31,.12);--nx-critical:#C0392B;--nx-critical-soft:rgba(192,57,43,.10);--nx-info:#2C6E8E;--nx-info-soft:rgba(44,110,142,.10);--nx-shadow-sm:0 4px 14px rgba(20,20,15,.06);--nx-shadow-md:0 10px 28px rgba(20,20,15,.08);--nx-shadow-lg:0 20px 50px rgba(20,20,15,.12);background:var(--nx-bg);color:var(--nx-text)}
    body.nx-theme-light .top{background:rgba(255,255,255,.92);border-bottom:1px solid var(--nx-border-soft);box-shadow:0 1px 8px rgba(20,20,15,.05)}
    body.nx-theme-light .brand{color:var(--nx-text)}
    body.nx-theme-light .side-brand,body.nx-theme-light .side-brand.clean{background:var(--nx-surface);border-bottom:1px solid var(--nx-border-soft)}
    body.nx-theme-light .side-menu{background:var(--nx-surface);border-color:var(--nx-border-soft);box-shadow:var(--nx-shadow-md)}
    body.admin-console .top .account-menu{display:none}
    .side-modo-toggle{display:flex;background:#201e1d;margin:0 0 4px}
    .side-modo-toggle button{flex:1;border:0;background:transparent;color:#9b9797;min-height:42px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:0 6px}
    .side-modo-toggle button.is-active{background:var(--nx-accent);color:#f8f4f4}
    .side-menu[data-modo="operacao"] .nav-modo-group[data-side-modo-group="gestao"]{display:none}
    .side-menu[data-modo="gestao"] .nav-modo-group[data-side-modo-group="operacao"]{display:none}
    .nav-item-badge{flex:none;font-size:11px;font-weight:800;color:var(--nx-muted);font-style:normal}
    .nav-item-solo.is-active .nav-item-badge{color:var(--nx-accent)}
    .side-aparelho{flex:none;padding:14px 16px;border-top:1px solid var(--nx-border-soft)}
    .side-aparelho div{font-size:12px;color:var(--nx-text);margin-top:6px;line-height:1.4}
    .side-footer{flex:none;display:flex;align-items:center;gap:2px;padding:8px;border-top:1px solid var(--nx-border-soft)}
    .side-footer .account-menu{flex:1;min-width:0;order:1;position:relative}
    .side-footer .account-chip{width:100%;box-sizing:border-box;height:auto;padding:6px 8px;gap:8px;border:none;border-radius:0;background:transparent;font-size:12.5px;font-weight:700;color:var(--nx-text);transition:background-color var(--nx-duration-base) var(--nx-ease-standard)}
    .side-footer .account-chip:hover{background:var(--nx-surface-2)}
    .side-footer .account-chip .avatar{width:26px;height:26px;font-size:11px}
    .side-footer .account-chip span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .side-footer .icon-btn{flex:none;order:2;width:30px;height:30px;border:none;background:transparent;color:var(--nx-faint);transition:background-color var(--nx-duration-base) var(--nx-ease-standard),color var(--nx-duration-base) var(--nx-ease-standard)}
    .side-footer .icon-btn:hover{background:var(--nx-surface-2);color:var(--nx-text)}
    .side-footer .icon-btn .nx-icon{width:16px;height:16px}
    .side-footer .account-menu-body{top:auto;bottom:calc(100% + 6px);left:0;right:auto;min-width:100%}
    @media(min-width:901px){
      body.admin-console .side-menu{position:fixed;left:0;top:64px;bottom:0;width:278px;height:auto;max-height:none;border-radius:0;border:0;border-right:1px solid var(--nx-border-soft);padding:0;overflow:hidden;z-index:30;background:var(--nx-surface-3);display:flex;flex-direction:column}
      .nav-groups-scroll{flex:1;min-height:0;overflow-y:auto;padding:16px 12px}
      body.admin-console .tenant-layout{display:block}
      body.admin-console .tenant-layout>div{margin-left:0}
      body.admin-console .app{margin-left:278px;margin-right:auto;width:min(1560px,calc(100% - 278px));animation:none}
    }
    body.nx-theme-light .panel{background:var(--nx-surface);border:2px solid var(--nx-border-soft);box-shadow:var(--nx-shadow-sm)}
    body.nx-theme-light .btn{background:var(--nx-surface-3);border-color:var(--nx-border);color:var(--nx-text)}
    body.nx-theme-light input,body.nx-theme-light select,body.nx-theme-light textarea{background:var(--nx-surface);border-color:var(--nx-border);color:var(--nx-text)}
    body.nx-theme-light .metric{background:var(--nx-surface-3);border-color:var(--nx-border-soft)}
    body.nx-theme-light .metric span{color:var(--nx-muted)}
    body.nx-theme-light .side-section{color:var(--nx-faint)}
    body.nx-theme-light .mobile-bottom-nav{background:rgba(255,255,255,.96);border-top:1px solid var(--nx-border-soft);box-shadow:0 -8px 24px rgba(20,20,15,.06)}
    body.admin-console.nx-theme-light .side-menu a.is-active,body.admin-console.nx-theme-light .side-menu a:hover{background:var(--nx-green-soft);color:var(--nx-text)}
    body.nx-theme-light .nav-item-solo.is-active{background:var(--nx-accent-soft);color:var(--nx-text)}
    body.nx-theme-light .nav .btn{background:var(--nx-surface-3);border-color:var(--nx-border);color:var(--nx-text)}
    .quick-link-icon{width:38px;height:38px;border-radius:0;display:grid;place-items:center;background:var(--nx-surface-2);border:1px solid var(--nx-border);color:var(--nx-muted);font-weight:950;transition:border-color .16s ease,color .16s ease}
    .quick-link:hover .quick-link-icon{border-color:var(--nx-accent);color:var(--nx-accent)}
    .dash-store-closed{display:flex;align-items:center;gap:9px;margin:14px 0 0;padding:11px 13px;border:1px solid var(--nx-border-soft);border-left:3px solid var(--nx-critical);border-radius:0;background:var(--nx-surface-3);color:var(--nx-text);font-size:13px;font-weight:750}
    .dash-store-closed .nx-icon{flex:none;color:var(--nx-critical)}
    .dash-billing-alert{display:flex;align-items:center;gap:9px;margin:14px 0 0;padding:11px 13px;border:1px solid var(--nx-border-soft);border-left:3px solid var(--nx-critical);border-radius:0;background:var(--nx-surface-3);color:var(--nx-text);font-size:13px;font-weight:750}
    .dash-billing-alert .nx-icon{flex:none;color:var(--nx-critical)}
    .dash-billing-alert.is-warning{border-left-color:var(--nx-warning)}
    .dash-billing-alert.is-warning .nx-icon{color:var(--nx-warning)}
    .dash-billing-alert a{color:inherit;margin-left:auto;white-space:nowrap;flex:none;text-decoration:underline}
    .dash-store-open-early{display:flex;align-items:center;gap:9px;margin:14px 0 0;padding:11px 13px;border:1px solid var(--nx-border-soft);border-left:3px solid var(--nx-warning);border-radius:0;background:var(--nx-surface-3);color:var(--nx-text);font-size:13px;font-weight:750}
    .dash-store-open-early .nx-icon{flex:none;color:var(--nx-warning)}
    .setup-alert-list{display:grid;gap:10px}
    .setup-alert-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--nx-border-soft);border-left:3px solid var(--nx-warning);border-radius:0;background:var(--nx-surface-3);text-decoration:none;color:var(--nx-text);transition:border-color .16s ease,background .16s ease,transform .16s ease}
    .setup-alert-item:hover{background:var(--nx-surface-2);transform:translateY(-1px)}
    .setup-alert-item:focus-visible{outline:2px solid var(--nx-accent);outline-offset:2px}
    .setup-alert-icon{flex:none;width:38px;height:38px;border-radius:0;display:grid;place-items:center;background:var(--nx-warning-soft);border:1px solid var(--nx-border);color:var(--nx-warning)}
    .setup-alert-body{flex:1 1 auto;min-width:0;display:grid;gap:2px}
    .setup-alert-body strong{font-size:13.5px;font-weight:850}
    .setup-alert-body span{font-size:12.5px;color:var(--nx-muted)}
    .setup-alert-cta{flex:none;font-size:12.5px;font-weight:850;color:var(--nx-muted);white-space:nowrap}
    .setup-alert-item:hover .setup-alert-cta{color:var(--nx-accent)}
    @media (max-width:640px){.setup-alert-item{flex-wrap:wrap}.setup-alert-cta{margin-left:52px}}
    .quick-link-icon .nx-icon{width:18px;height:18px}
    .nx-icon{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.nx-icon.is-filled{fill:currentColor;stroke:none}
    .nx-icon.filled{fill:currentColor;stroke:none}
    .module-kicker{color:var(--nx-muted)}
    .side-brand-mark{border-color:var(--nx-accent)}

    /* ===================== CAMADA DE MOVIMENTO =====================
       Vocabulario unico do painel (skill nexusbot-motion-polish): so transform e opacity (baratas,
       nao forcam reflow - importa nesta VPS), sempre com os tokens --nx-duration-fast/base/slow e
       --nx-ease-standard, 1 movimento por interacao. Fica no FIM do bloco de estilo de proposito:
       e a ultima camada, entao nao precisa de
       especificidade artificial pra vencer as regras de componente definidas acima.
       Tudo aqui e desligado em bloco pelo @media prefers-reduced-motion no fim da secao. */

    /* 1. Superficies clicaveis: mesmo hover em toda a familia (antes metade tinha, metade nao). */
    a.card,a.tile,.quick-link,.feature-card,.ticket-row,.master-store,.payment-method-card,
    .app-download-card,.overview-card,.bank-choice,.provider-choice,.login-benefit{
      transition:transform var(--nx-duration-base) var(--nx-ease-standard),
                 box-shadow var(--nx-duration-base) var(--nx-ease-standard),
                 border-color var(--nx-duration-base) var(--nx-ease-standard)}
    a.card:hover,a.tile:hover,.quick-link:hover,.feature-card:hover,.ticket-row:hover,
    .master-store:hover,.payment-method-card:hover,.app-download-card:hover,.overview-card:hover,
    .bank-choice:hover,.provider-choice:hover{
      transform:translateY(-1px);
      box-shadow:var(--nx-shadow-sm);
      border-color:color-mix(in srgb, var(--nx-accent) 34%, var(--nx-border))}

    /* 2. Botoes: levanta no hover, afunda no clique. O "afundar" e o que da sensacao tatil - sem
          ele o hover sozinho parece so uma mudanca de cor. */
    .btn,.quick-btn,.icon-btn,.drawer-close,.perm-chip{
      transition:transform var(--nx-duration-fast) var(--nx-ease-standard),
                 background-color var(--nx-duration-base) var(--nx-ease-standard),
                 border-color var(--nx-duration-base) var(--nx-ease-standard),
                 color var(--nx-duration-base) var(--nx-ease-standard)}
    .btn:hover:not(:disabled),.quick-btn:hover,.icon-btn:hover{transform:translateY(-1px)}
    .btn:active:not(:disabled),.quick-btn:active,.icon-btn:active{transform:translateY(1px)}
    .btn:disabled{transform:none}

    /* 3. Navegacao lateral: o item ativo ganha um trilho que cresce, em vez de simplesmente
          aparecer - e o unico movimento "decorativo" da sidebar, o resto e so cor. */
    .nav-item{position:relative;transition:background-color var(--nx-duration-base) var(--nx-ease-standard),color var(--nx-duration-base) var(--nx-ease-standard)}
    .side-menu a,.side-submenu a,.mini-tabs a{transition:background-color var(--nx-duration-base) var(--nx-ease-standard),color var(--nx-duration-base) var(--nx-ease-standard),border-color var(--nx-duration-base) var(--nx-ease-standard)}
    /* O Master ja marca o item ativo com um border-left proprio (body.master-console .nav-item):
       o trilho ::before e so pro painel do lojista, senao ficariam duas barras lado a lado. */
    body:not(.master-console) .nav-item::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:0 2px 2px 0;background:var(--nx-accent);transform:scaleY(0);transform-origin:center;transition:transform var(--nx-duration-base) var(--nx-ease-standard)}
    body:not(.master-console) .nav-item.is-active::before{transform:scaleY(1)}
    body.master-console .nav-item{transition:background-color var(--nx-duration-base) var(--nx-ease-standard),color var(--nx-duration-base) var(--nx-ease-standard),border-left-color var(--nx-duration-base) var(--nx-ease-standard)}
    .nav-group summary,.side-group summary{transition:background-color var(--nx-duration-base) var(--nx-ease-standard),color var(--nx-duration-base) var(--nx-ease-standard)}

    /* 4. Linhas de tabela e de lista densa. */
    tbody tr,.team-user,.audit-item,.notif-item,.credentials-row,.perm-row{transition:background-color var(--nx-duration-base) var(--nx-ease-standard)}
    tbody tr:hover{background:rgba(255,255,255,.035)}
    .notif-item:hover{background:var(--nx-surface-2)}

    /* 5. Entrada da tela. Cada modulo do painel e um iframe proprio, entao isso roda a cada troca
          de aba - e exatamente o ponto onde a navegacao parecia "seca" antes. */
    @keyframes nx-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
    .app{animation:nx-rise var(--nx-duration-slow) var(--nx-ease-standard) backwards}
    /* Stagger curto nos primeiros itens de uma grade: sugere ordem de leitura sem atrasar a tela
       (o 6o item ja entra em 150ms; itens alem disso entram junto, sem delay acumulado).
       fill-mode e "backwards", NUNCA "both"/"forwards": com "both" o estado final do keyframe
       (transform:none) fica retido pra sempre e, como animacao vence regra normal na cascata,
       ela anula o translateY(-1px) do :hover - o card simplesmente parava de levantar. Pego na
       validacao real de hover com Playwright, nao daria pra ver em screenshot estatico. */
    .module-grid>*,.overview-grid>*,.cards>*,.master-stat-grid>*,.quick-links-grid>*,.feature-grid>*{
      animation:nx-rise var(--nx-duration-slow) var(--nx-ease-standard) backwards}
    .module-grid>:nth-child(1),.overview-grid>:nth-child(1),.cards>:nth-child(1),.master-stat-grid>:nth-child(1),.quick-links-grid>:nth-child(1),.feature-grid>:nth-child(1){animation-delay:0s}
    .module-grid>:nth-child(2),.overview-grid>:nth-child(2),.cards>:nth-child(2),.master-stat-grid>:nth-child(2),.quick-links-grid>:nth-child(2),.feature-grid>:nth-child(2){animation-delay:.03s}
    .module-grid>:nth-child(3),.overview-grid>:nth-child(3),.cards>:nth-child(3),.master-stat-grid>:nth-child(3),.quick-links-grid>:nth-child(3),.feature-grid>:nth-child(3){animation-delay:.06s}
    .module-grid>:nth-child(4),.overview-grid>:nth-child(4),.cards>:nth-child(4),.master-stat-grid>:nth-child(4),.quick-links-grid>:nth-child(4),.feature-grid>:nth-child(4){animation-delay:.09s}
    .module-grid>:nth-child(5),.overview-grid>:nth-child(5),.cards>:nth-child(5),.master-stat-grid>:nth-child(5),.quick-links-grid>:nth-child(5),.feature-grid>:nth-child(5){animation-delay:.12s}
    .module-grid>:nth-child(n+6),.overview-grid>:nth-child(n+6),.cards>:nth-child(n+6),.master-stat-grid>:nth-child(n+6),.quick-links-grid>:nth-child(n+6),.feature-grid>:nth-child(n+6){animation-delay:.15s}

    /* 6. Sobreposicoes (busca rapida, confirmacao): o fundo escurece em vez de aparecer cortado. */
    @keyframes nx-fade{from{opacity:0}to{opacity:1}}
    .cmdk-overlay:not([hidden]),.confirm-overlay:not([hidden]),.credentials-modal{animation:nx-fade var(--nx-duration-base) var(--nx-ease-standard)}
    .cmdk-box,.confirm-box{animation:teamDrawerIn var(--nx-duration-slow) var(--nx-ease-standard)}
    .cmdk-item{transition:background-color var(--nx-duration-fast) var(--nx-ease-standard)}

    /* 7. Foco por teclado: quem navega por Tab nunca ve :hover, entao precisa de um estado proprio
          e visivel (checklist de nexusbot-accessibility). */
    /* Sem border-radius aqui de proposito: o outline ja acompanha o raio proprio de cada elemento,
       e forcar um valor fixo faria um pill (999px) virar 8px no instante em que recebe foco -
       o componente mudaria de forma so por estar sendo navegado por teclado. */
    a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,
    select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
      outline:2px solid var(--nx-accent);outline-offset:2px}

    /* 8. Skeleton reusavel (um componente unico, nao um por tela) pra espera client-side real. */
    .nx-skeleton{border-radius:0;background:var(--nx-surface-2);animation:nx-pulse 1.4s ease-in-out infinite}
    .nx-skeleton.is-line{height:12px;margin:6px 0}
    .nx-skeleton.is-row{height:44px;margin:8px 0}

    /* 9. Estado "salvando/salvo" do autosave: hoje o campo salva em silencio. */
    .nx-saving{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;color:var(--nx-muted);opacity:0;transition:opacity var(--nx-duration-base) var(--nx-ease-standard)}
    .nx-saving.is-on{opacity:1}
    .nx-saving.is-done{color:var(--nx-green)}

    @media (prefers-reduced-motion: reduce){
      a.card,a.tile,.quick-link,.feature-card,.ticket-row,.master-store,.payment-method-card,
      .app-download-card,.overview-card,.bank-choice,.provider-choice,.btn,.quick-btn,.icon-btn,
      .drawer-close,.perm-chip,.nav-item,body:not(.master-console) .nav-item::before,tbody tr,.team-user,.audit-item,
      .notif-item,.credentials-row,.cmdk-item,.nx-saving,.side-menu a,.side-submenu a,.mini-tabs a,.perm-row{transition:none}
      a.card:hover,a.tile:hover,.quick-link:hover,.feature-card:hover,.ticket-row:hover,
      .master-store:hover,.payment-method-card:hover,.app-download-card:hover,.overview-card:hover,
      .btn:hover:not(:disabled),.btn:active:not(:disabled),.quick-btn:hover,.quick-btn:active,
      .icon-btn:hover,.icon-btn:active{transform:none}
      body:not(.master-console) .nav-item.is-active::before{transform:scaleY(1)}
      .app,.module-grid>*,.overview-grid>*,.cards>*,.master-stat-grid>*,.quick-links-grid>*,
      .feature-grid>*,.cmdk-overlay:not([hidden]),.confirm-overlay:not([hidden]),
      .credentials-modal,.cmdk-box,.confirm-box,.drawer-panel,.nx-skeleton{animation:none}
    }

    /* ===================== CAMADA DE TOQUE =====================
       Auditoria com Playwright (360/390/768/1024) achou o mesmo problema em TODA tela do painel:
       nenhum overflow horizontal, mas dezenas de alvos pequenos demais pro dedo - checkbox de 13px,
       alça de arrastar de 20px, botão de ação rápida com 30px de altura, summary com 17px. No
       computador com mouse isso funciona; no celular do lojista, no balcão, com a mão ocupada, erra.

       A regra é chegar a ~44px de área tocável SEM engordar o visual, que é denso de propósito
       (skill nexusbot-design-principles: "denso vence espaçoso"). Duas técnicas:
       a) quem aceita pseudo-elemento (button, a) ganha um ::after invisível centralizado que
          estende a área clicável para além da caixa visível;
       b) checkbox/radio são elementos substituídos e ignoram ::after, então crescem de verdade -
          22px ainda é discreto e vira um alvo aceitável;
       c) summary NÃO usa ::after aqui: ".side-group summary::after" já desenha o chevron da
          navegação, e sobrescrever quebraria a seta. Vai de min-height + padding.

       Vale em tela sem mouse (hover:none) e até 900px - cobre celular e tablet, e deixa o desktop
       exatamente como está. */
    @media (hover:none),(max-width:900px){
      .menu-product-drag,.drag-handle,.receipt-block-drag,.quick-btn,.drawer-close,.icon-btn,
      .perm-chip,.permission-box-actions button,.cat-active-toggle,.toast-undo,.menu-check,
      .btn,.master-filter-row button,.mini-tabs a{position:relative}
      .menu-product-drag::after,.drag-handle::after,.receipt-block-drag::after,.quick-btn::after,
      .drawer-close::after,.icon-btn::after,.perm-chip::after,.permission-box-actions button::after,
      .btn::after,.master-filter-row button::after,.mini-tabs a::after{
        content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
        width:max(100%,44px);height:max(100%,44px)}
      /* Altura mínima real onde o elemento já é largo — mais simples que estender por pseudo. */
      .quick-btn{min-height:38px}
      .permission-box-actions button{min-height:30px;padding:6px 12px}
      /* Checkbox e radio crescem de verdade (não aceitam ::after por serem elementos substituídos).
         Os que ficam dentro de um <label> (.perm-row, .check-row, .cat-active-toggle) já herdam a
         área do label inteiro, então 22px basta. O .menu-check de cada produto é um input SOLTO
         dentro do summary da linha — ali a área tocável é só o próprio quadrado, por isso vai a
         28px: acima do mínimo de 24px da WCAG 2.5.8 e ainda discreto numa lista densa. */
      input[type=checkbox],input[type=radio]{width:24px;height:24px;min-height:24px;flex:none}
      /* Precisa de input[type=checkbox].menu-check, não só .menu-check: a regra logo acima tem
         especificidade (0,1,1) por causa do seletor de atributo e venceria uma classe sozinha
         (0,1,0) — os 28px simplesmente não aplicavam, medido em 22px no teste. */
      input[type=checkbox].menu-check{width:28px;height:28px}
      .cat-active-toggle input,.check-row input{width:24px;height:24px}
      /* summary vira alvo de verdade: os "Avançado (opcional)", "Novo funcionário" e "Ajustes
         opcionais" tinham 17-18px de altura. */
      summary{min-height:44px;display:flex;align-items:center;gap:8px}
      .drawer-card summary,.provider-credentials-drawer>summary,.module-item-head{min-height:44px}
      /* A marca no topo era um alvo de 30px de altura e é o caminho de volta pro painel. */
      .brand{padding:7px 0}
      /* O label do banco/provedor cortava o texto em ~5px no celular. */
      .bank-choice{min-height:auto;padding-block:14px}
    }


  :root{
    --color-bg:#f3f2f2;
    --color-surface:#eae9e9;
    --color-text:#201e1d;
    --color-accent:#0742B5;
    --color-divider:color-mix(in srgb, #201e1d 40%, transparent);
    --color-neutral-100:#f8f4f4;
    --color-neutral-200:#eae7e7;
    --color-neutral-300:#d7d3d3;
    --color-neutral-400:#bab6b6;
    --color-neutral-500:#9b9797;
    --color-neutral-600:#7d7979;
    --color-neutral-700:#605d5d;
    --color-neutral-800:#444141;
    --color-neutral-900:#2d2b2b;
    --color-accent-100:#f1f6fe;
    --color-accent-200:#dde9fd;
    --color-accent-300:#bfd5fc;
    --color-accent-400:#91b8fe;
    --color-accent-500:#5d94ff;
    --color-accent-600:#3b74e4;
    --color-accent-700:#2958b4;
    --color-accent-800:#1d3e80;
    --color-accent-900:#172a4e;
    --font-heading:"Archivo", system-ui, sans-serif;
    --font-heading-weight:800;
    --font-body:"Archivo", system-ui, sans-serif;
    --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-6:24px; --space-8:32px;
    --radius-sm:0px; --radius-md:0px; --radius-lg:0px;
    --shadow-sm:0 1px 2px color-mix(in srgb, #2d2b2b 14%, transparent);
    --shadow-md:0 3px 10px color-mix(in srgb, #2d2b2b 16%, transparent);
    --shadow-lg:0 12px 32px color-mix(in srgb, #2d2b2b 22%, transparent);
    /* Cromagem do app: barra de título, chave Operação/Gestão e barra de status. Elas são escuras
       nos DOIS temas (o protótipo tem barra escura em cima e embaixo, sempre), então precisam de
       token próprio. Usar --color-text como fundo, que era o que eu fazia, quebra no escuro: a
       tinta vira clara e a barra vira branca. */
    --color-chrome:#201e1d;
    /* Um passo acima da barra, pra faixa lateral escura (valor do prototipo). */
    --color-chrome-2:#2b2826;
    --color-chrome-ink:#f8f4f4;
    --color-chrome-ink-fraca:#9b9797;
    /* Letra por cima do acento. No claro o acento e o azul fundo #0742B5 e a letra e branca
       (8,55:1). No escuro o acento inverte junto com a rampa e vira azul claro, entao a letra
       inverte tambem - por isso ela tem token proprio em vez de um #ffffff solto. */
    --color-sobre-acento:#ffffff;
  }

  /* ===== Modo escuro =====
     Nenhuma cor nova: é a MESMA rampa Modernist, invertida. O que era o passo mais claro vira o
     mais escuro e vice-versa, então cada papel continua no mesmo lugar - neutral-700 segue sendo
     "texto secundário", só que agora é um cinza claro em vez de escuro. O acento inverte junto:
     no claro é o #0742B5 que o usuário escolheu, no escuro é o azul claro da mesma rampa.
     Medido com a superfície escura (#2d2b2b): texto 12,9:1 · secundário 7,0:1 · acento como letra
     (accent-700, que no escuro é #91b8fe) 7,0:1. Régua fica em neutral-300, que não é texto.
     Pedido do usuário: "o dark mode é essencial para não cansar os olhos". */
  body.nx-theme-escuro{
    color-scheme:dark;
    --color-bg:#201e1d;
    --color-surface:#2d2b2b;
    --color-text:#f8f4f4;
    --color-divider:color-mix(in srgb, #f8f4f4 30%, transparent);
    --color-neutral-100:#201e1d;
    --color-neutral-200:#2d2b2b;
    --color-neutral-300:#444141;
    --color-neutral-400:#605d5d;
    --color-neutral-500:#7d7979;
    --color-neutral-600:#9b9797;
    --color-neutral-700:#bab6b6;
    --color-neutral-800:#d7d3d3;
    --color-neutral-900:#eae7e7;
    /* O vermelho servia nos dois temas; o azul #0742B5 nao serve. Medido contra a superficie
       escura (#2d2b2b) ele da 1,65:1 - um botao primario azul-marinho num fundo quase preto
       vira um buraco, nao um botao. Entao o acento inverte junto com o resto da rampa: vira o
       azul claro (7,03:1 de separacao do fundo) com letra escura por cima (8,2:1). E a mesma
       regra que ja valia pro resto - "a MESMA rampa, invertida". */
    --color-accent:#91b8fe;
    --color-sobre-acento:#201e1d;
    --color-accent-100:#0a1c3f;
    --color-accent-200:#172a4e;
    --color-accent-300:#1d3e80;
    --color-accent-400:#2958b4;
    --color-accent-500:#3b74e4;
    --color-accent-600:#5d94ff;
    --color-accent-700:#91b8fe;
    --color-accent-800:#bfd5fc;
    --color-accent-900:#dde9fd;
    --shadow-sm:0 1px 2px rgba(0,0,0,.5);
    --shadow-md:0 3px 10px rgba(0,0,0,.55);
    --shadow-lg:0 12px 32px rgba(0,0,0,.62);
    /* Os tokens do tema antigo acompanham, senão as telas ainda não repaginadas ficariam claras
       dentro de uma casca escura. */
    --nx-bg:#201e1d;--nx-top:#201e1d;--nx-surface:#2d2b2b;--nx-surface-2:#363333;--nx-surface-3:#2d2b2b;
    --nx-text:#f8f4f4;--nx-muted:#bab6b6;--nx-faint:#bab6b6;--nx-border:#444141;--nx-border-soft:#3a3737;
    /* No escuro a cromagem fica um passo ABAIXO do fundo, pra continuar lendo como cromagem.
       Derivado da própria paleta, não é cor nova. */
    --color-chrome:color-mix(in srgb, var(--color-bg) 74%, black);
    --color-chrome-2:color-mix(in srgb, var(--color-bg) 86%, black);
    --color-chrome-ink:#f8f4f4;
    --color-chrome-ink-fraca:#bab6b6;
  }

  body.nx-theme-escuro,body.nx-theme-escuro .nb-app{background:#201e1d;color:#f8f4f4}

  /* ===== Site publico: entrada e login =====
     Paginas FORA do painel. O pacote e explicito: "nao sao um painel de loja e nao devem parecer
     um". Tipografia contida (titulo maior 28px aqui, 40px na entrada), sem numero gigante, sem
     campo de cor cheia, sem gradiente, sem fotografia.
     Os tokens locais sao os do pacote (INSTRUCOES-SITE.md), nao invencao minha. */
  body.nx-site{
    --nb:#0742B5;
    --nb-100:#eef3fc;
    --nb-200:#cfdcf4;
    --nb-800:#052f80;
    margin:0;
    background:var(--color-bg);
    font-family:var(--font-body);
    color:var(--color-text);
  }
  .nx-site a{color:var(--nb);text-decoration:none}
  .nx-site a:hover{color:var(--nb-800)}
  .nx-site *:focus-visible{outline:2px solid var(--nb);outline-offset:2px}
  .nx-site input,.nx-site button{font:inherit}
  .nx-site [hidden]{display:none !important}
  .nx-site input::placeholder{color:var(--color-neutral-500)}

  /* Duas colunas que viram uma sozinhas: auto-fit com minimo de 340px, valor do prototipo. */
  .nb-entrada{min-height:100vh;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));background:var(--color-bg)}
  .nb-entrada-cartaz{background:var(--color-surface);border-right:2px solid var(--color-divider);padding:40px;display:flex;flex-direction:column;gap:32px;min-width:0}
  .nb-entrada-marca{display:flex;align-items:center;gap:10px}
  .nb-entrada-marca img{width:32px;height:32px;display:block}
  .nb-entrada-marca span{font-family:var(--font-heading);font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text)}
  .nb-entrada-poster{margin-top:auto}
  .nb-entrada-poster i{display:block;width:40px;height:4px;background:var(--nb);margin-bottom:20px}
  .nb-entrada-poster h2{font-family:var(--font-heading);font-weight:700;font-size:24px;line-height:1.2;color:var(--color-text);max-width:24ch;margin:0;text-wrap:pretty}
  .nb-entrada-poster p{font-size:14px;line-height:1.6;color:var(--color-neutral-700);margin:14px 0 0;max-width:40ch}
  .nb-entrada-notas{margin-top:auto;border-top:2px solid var(--color-divider);padding-top:20px}
  .nb-entrada-nota{display:flex;gap:10px;padding:7px 0;align-items:baseline}
  .nb-entrada-nota i{width:5px;height:5px;background:var(--color-neutral-500);flex:none;margin-top:7px}
  .nb-entrada-nota span{font-size:12px;line-height:1.5;color:var(--color-neutral-700)}

  .nb-entrada-lado{padding:40px;display:flex;flex-direction:column;min-height:100vh;min-width:0}
  .nb-entrada-voltar{align-self:flex-start;color:var(--color-neutral-700);min-height:40px;font-size:13px;font-weight:700;display:flex;align-items:center}
  .nb-entrada-forma{margin:auto 0;padding:32px 0;max-width:420px;width:100%}
  .nb-entrada-forma h1{font-family:var(--font-heading);font-weight:700;font-size:28px;line-height:1.15;margin:0 0 10px;color:var(--color-text)}
  .nb-entrada-forma > p{margin:0 0 26px;font-size:14px;line-height:1.5;color:var(--color-neutral-700)}
  .nx-site .nb-codigo{font-family:var(--font-heading);font-weight:700;font-size:26px;letter-spacing:.32em;text-align:center;min-height:64px}
  .nb-entrada-regua{height:2px;background:var(--color-divider);margin-bottom:26px}
  .nb-entrada-rotulo{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral-700);margin-bottom:7px}
  .nx-site .nb-entrada-campo{width:100%;min-height:48px;border:2px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);padding:0 14px;font-size:15px}
  .nx-site .nb-entrada-campo:hover{border-color:color-mix(in srgb, var(--color-text) 45%, transparent)}
  .nb-entrada-forma form > .nb-entrada-campo{margin-bottom:18px}
  /* Linha do rotulo da senha: rotulo a esquerda, "Esqueci a senha" na mesma linha de base. */
  .nb-entrada-linha-senha{display:flex;align-items:baseline;gap:12px;margin-bottom:7px}
  .nb-entrada-linha-senha .nb-entrada-rotulo{flex:1;margin-bottom:0}
  .nb-entrada-linha-senha a{font-size:12px;font-weight:700}
  /* Campo de senha com o botao de ver/ocultar colado, dividido pela regua de 2px. */
  .nb-entrada-senha{display:flex;border:2px solid var(--color-divider);background:var(--color-surface);margin-bottom:20px}
  .nx-site .nb-entrada-senha .nb-entrada-campo{flex:1;min-width:0;border:0;background:transparent}
  .nx-site .nb-entrada-ver{flex:none;border:0;border-left:2px solid var(--color-divider);background:transparent;color:var(--color-neutral-700);min-width:56px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
  .nx-site .nb-entrada-ver:hover{background:var(--nb-100);color:var(--nb-800)}
  /* Aviso de erro em bloco azul com a barra a esquerda - o pacote pede assim, nao vermelho: aqui
     o acento do site e o azul, e um vermelho solto viraria a unica cor de alarme da pagina. */
  .nb-entrada-erro{border-left:4px solid var(--nb);background:var(--nb-100);padding:12px 14px;margin-bottom:20px;font-size:13px;line-height:1.5;color:var(--nb-800)}
  .nx-site .nb-entrada-enviar{width:100%;border:2px solid var(--nb);background:var(--nb);color:var(--color-neutral-100);min-height:50px;padding:0 20px;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:15px;cursor:pointer}
  .nx-site .nb-entrada-enviar:hover{background:var(--nb-800);border-color:var(--nb-800)}
  .nb-entrada-rodape{font-size:14px;color:var(--color-neutral-800);margin:0}
  .nb-entrada-rodape a{font-weight:700}
  .nb-entrada-corte{height:2px;background:var(--color-divider);margin:26px 0}

  /* ===== Criar conta em 5 passos =====
     Um <form> so, cinco blocos, um visivel por vez. O POST continua sendo o mesmo de antes, com
     todos os campos de uma vez - nao ha rota nova nem estado no servidor. Sem JS os cinco blocos
     aparecem empilhados e o envio funciona igual: o passo a passo e conforto, nao requisito. */
  .nb-passos-topo{display:flex;gap:2px;background:var(--color-divider);border:2px solid var(--color-divider);margin-bottom:26px}
  .nb-passo-marca{flex:1;background:var(--color-surface);padding:10px 12px;min-width:0}
  .nb-passo-marca b{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral-700)}
  .nb-passo-marca span{display:block;font-size:12px;color:var(--color-neutral-700);margin-top:3px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .nb-passo-marca.e-agora{background:var(--nb);color:var(--color-neutral-100)}
  .nb-passo-marca.e-agora b,.nb-passo-marca.e-agora span{color:var(--color-neutral-100)}
  .nb-passo-marca.e-feito b{color:var(--nb)}

  .nb-passo[hidden]{display:none}
  .nb-passo h2{font-family:var(--font-heading);font-weight:700;font-size:22px;line-height:1.2;margin:0 0 8px;color:var(--color-text)}
  .nb-passo > p{margin:0 0 22px;font-size:14px;line-height:1.5;color:var(--color-neutral-700)}
  .nb-campo{display:block;margin-bottom:18px}
  .nb-campo > span{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral-700);margin-bottom:7px}
  .nb-campo small{display:block;font-size:12px;color:var(--color-neutral-700);margin-top:6px;line-height:1.4}
  .nx-site .nb-campo input{width:100%;min-height:48px;border:2px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);padding:0 14px;font-size:15px}
  .nx-site .nb-campo input:hover{border-color:color-mix(in srgb, var(--color-text) 45%, transparent)}
  .nx-site .nb-campo input[aria-invalid="true"]{border-color:var(--nb)}

  /* Tipo de negocio: grade de celulas, uma marcada. Radio de verdade por baixo - teclado e leitor
     de tela continuam funcionando. */
  .nb-tipos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;background:var(--color-surface);border:2px solid var(--color-divider);margin-bottom:18px}
  .nb-tipo{display:flex;align-items:center;gap:10px;padding:14px;min-height:52px;cursor:pointer;border-right:2px solid var(--color-divider);border-bottom:2px solid var(--color-divider)}
  .nb-tipos > .nb-tipo:nth-last-child(-n+2):nth-child(odd),
  .nb-tipos > .nb-tipo:last-child{border-bottom:0}
  .nb-tipo:hover{background:var(--nb-100)}
  .nb-tipo input{position:absolute;opacity:0;width:0;height:0}
  .nb-tipo i{flex:none;width:16px;height:16px;border:2px solid var(--color-text);display:block}
  .nb-tipo input:checked + i{background:var(--nb);border-color:var(--nb);box-shadow:inset 0 0 0 3px var(--color-surface)}
  .nb-tipo span{font-size:14px;color:var(--color-text);min-width:0}
  .nb-tipo:has(input:checked){background:var(--nb-100)}
  .nb-tipo:has(input:focus-visible){outline:2px solid var(--nb);outline-offset:-2px}

  .nb-planos-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px;background:var(--color-divider);border:2px solid var(--color-divider);margin-bottom:18px}
  .nb-plano-info{background:var(--color-bg);padding:16px;min-width:0}
  .nb-plano-info b{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-family:var(--font-heading);font-weight:700;font-size:15px;color:var(--color-text)}
  .nb-plano-info em{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;background:var(--nb);color:var(--color-neutral-100)}
  .nb-plano-info strong{display:block;font-family:var(--font-heading);font-weight:700;font-size:26px;margin-top:10px;color:var(--color-text)}
  .nb-plano-info span{display:block;font-size:12px;color:var(--color-neutral-700);margin-top:4px}

  .nb-resumo{border:2px solid var(--color-divider);background:var(--color-surface);margin-bottom:18px}
  .nb-resumo-linha{display:grid;grid-template-columns:minmax(96px,auto) minmax(0,1fr);gap:16px;padding:11px 16px;border-bottom:1px solid var(--color-neutral-300);align-items:baseline}
  .nb-resumo-linha:last-child{border-bottom:0}
  .nb-resumo-linha b{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-700)}
  .nb-resumo-linha span{font-size:14px;color:var(--color-text);min-width:0;overflow-wrap:anywhere}
  .nb-aceite{display:flex;gap:12px;align-items:flex-start;padding:14px 0 4px;cursor:pointer}
  .nb-aceite input{flex:none;width:22px;height:22px;margin-top:1px;accent-color:var(--nb)}
  .nb-aceite span{font-size:14px;line-height:1.5;color:var(--color-neutral-800)}

  .nb-passo-acoes{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}
  .nx-site .nb-passo-acoes .nb-site-btn{min-height:48px}
  .nx-site .nb-passo-acoes .nb-site-btn[disabled]{opacity:.45;cursor:not-allowed}
  .nb-passo-erro{border-left:4px solid var(--nb);background:var(--nb-100);padding:12px 14px;margin-bottom:18px;font-size:13px;line-height:1.5;color:var(--nb-800)}

  @media (max-width:760px){
    .nb-passos-topo{flex-wrap:wrap}
    .nb-passo-marca{flex:1 0 30%}
    .nb-passo-marca span{display:none}
    .nb-passo h2{font-size:20px}
  }

  /* ===== Tutorial do cadastro (18/09/2026) =====
     Mesma casca do "Criar conta": o que entra aqui é a lista do cartaz (o que já foi e o que falta),
     a escolha de plano e os campos do cartão do Mercado Pago, que são <div> e não <input>. */
  .nb-tut-regua{display:flex;gap:2px;background:var(--color-divider);border:2px solid var(--color-divider)}
  .nb-tut-passo{flex:1;background:var(--color-surface);min-height:40px;display:grid;place-items:center}
  .nb-tut-passo b{font-family:var(--font-heading);font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--color-neutral-700)}
  .nb-tut-passo.e-agora{background:var(--nb)}
  .nb-tut-passo.e-agora b{color:var(--color-neutral-100)}
  .nb-tut-passo.e-feito b{color:var(--nb)}
  .nb-tut-onde{margin:8px 0 24px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-700)}
  .nb-tut-lista{display:flex;flex-direction:column;gap:2px;background:var(--color-divider);border:2px solid var(--color-divider)}
  .nb-tut-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;background:var(--color-bg);padding:12px 14px}
  .nb-tut-item i{display:grid;place-items:center;width:26px;height:26px;border:2px solid var(--color-divider);font-family:var(--font-heading);font-size:12px;font-weight:700;font-style:normal;color:var(--color-neutral-700)}
  .nb-tut-item b{display:block;font-size:13.5px;font-weight:700;color:var(--color-text)}
  .nb-tut-item span{display:block;margin-top:2px;font-size:12px;line-height:1.45;color:var(--color-neutral-700)}
  .nb-tut-item.e-agora{background:var(--color-surface)}
  .nb-tut-item.e-agora i{border-color:var(--nb);background:var(--nb);color:var(--color-neutral-100)}
  .nb-tut-item.e-feito i{border-color:var(--nb);color:var(--nb)}
  .nb-tut-feito{border-left:4px solid var(--nb);background:var(--nb-100);padding:12px 14px;margin-bottom:18px;font-size:13px;line-height:1.5;color:var(--nb-800)}
  .nb-tut-aviso{border:2px solid var(--color-divider);background:var(--color-surface);padding:14px;margin-bottom:18px}
  .nb-tut-aviso b{display:block;font-size:13.5px;font-weight:700;color:var(--color-text);margin-bottom:5px}
  .nb-tut-aviso span{display:block;font-size:13px;line-height:1.5;color:var(--color-neutral-700)}
  .nb-tut-planos{display:flex;flex-direction:column;gap:2px;background:var(--color-divider);border:2px solid var(--color-divider);margin-bottom:18px}
  .nb-tut-plano{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--color-surface);padding:14px;cursor:pointer}
  .nb-tut-plano:hover{background:var(--nb-100)}
  .nb-tut-plano input{position:absolute;opacity:0;width:0;height:0}
  .nb-tut-plano i{flex:none;width:16px;height:16px;border:2px solid var(--color-text);display:block}
  .nb-tut-plano input:checked + i{background:var(--nb);border-color:var(--nb);box-shadow:inset 0 0 0 3px var(--color-surface)}
  .nb-tut-plano:has(input:checked){background:var(--nb-100)}
  .nb-tut-plano:has(input:focus-visible){outline:2px solid var(--nb);outline-offset:-2px}
  .nb-tut-plano b{display:block;font-family:var(--font-heading);font-size:15px;font-weight:700;color:var(--color-text)}
  .nb-tut-plano span{display:block;margin-top:2px;font-size:12px;color:var(--color-neutral-700)}
  .nb-tut-plano strong{font-family:var(--font-heading);font-size:20px;font-weight:700;color:var(--color-text);white-space:nowrap}
  .nx-site .nb-tut-mp{height:48px;border:2px solid var(--color-divider);background:var(--color-surface);padding:0 12px;display:flex;align-items:center}
  .nb-tut-dupla{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .nx-site .nb-campo select{width:100%;min-height:48px;border:2px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);padding:0 12px;font:inherit;font-size:15px;border-radius:0}
  @media (max-width:760px){
    .nb-tut-dupla{grid-template-columns:minmax(0,1fr)}
  }

  /* Páginas de conta: entrada (/app) e Minha conta. A marcação de Minha conta também é servida
     dentro do painel da loja, então nada aqui pode depender de nx-site. */
  .nb-conta-atalhos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px;background:var(--color-divider);border-top:2px solid var(--color-divider)}
  .nx-site .nb-conta-atalhos a{background:var(--color-surface);padding:16px 18px;display:block;color:inherit}
  .nx-site .nb-conta-atalhos a:hover{background:var(--nb-100)}
  .nx-site .nb-conta-atalhos a.e-forte{background:var(--nb)}
  .nx-site .nb-conta-atalhos a.e-forte b,.nx-site .nb-conta-atalhos a.e-forte span{color:var(--color-neutral-100)}
  .nx-site .nb-conta-atalhos a.e-forte:hover{background:var(--nb-800)}
  .nb-conta-atalhos b{display:block;font-family:var(--font-heading);font-size:15px;font-weight:700;color:var(--color-text)}
  .nb-conta-atalhos span{display:block;margin-top:4px;font-size:12.5px;line-height:1.45;color:var(--color-neutral-700)}

  /* ===== Páginas de conta: divulgador, entrada e Minha conta (18/09/2026) =====
     Uma página só, sem lateral: dinheiro em cima, o link em destaque, e o resto embaixo. Vive no
     tema claro do site (nx-site), porque é o mesmo mundo da apresentação que ele manda ao lojista. */
  .nb-conta{min-height:100vh;background:var(--color-bg);display:flex;flex-direction:column}
  .nb-conta-topo{border-bottom:2px solid var(--color-divider);background:var(--color-surface);position:sticky;top:0;z-index:20}
  .nb-conta-topo-in{max-width:1060px;margin:0 auto;padding:0 24px;min-height:66px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
  .nb-conta-chapa{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border:2px solid var(--color-divider);color:var(--color-neutral-700)}
  .nb-conta-topo-acoes{margin-left:auto;display:flex;gap:10px;align-items:center}
  .nb-conta-topo-acoes form{margin:0}
  .nb-conta-corpo{flex:1;width:100%;max-width:1060px;margin:0 auto;padding:28px 24px 64px;display:flex;flex-direction:column;gap:22px}
  .nb-conta-abertura h1{margin:0;font-family:var(--font-heading);font-size:30px;line-height:1.15;font-weight:700;color:var(--color-text)}
  .nb-conta-abertura p{margin:8px 0 0;font-size:15px;line-height:1.55;color:var(--color-neutral-700);max-width:60ch}

  .nb-conta-numeros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--color-divider);border:2px solid var(--color-divider)}
  .nb-conta-numero{background:var(--color-surface);padding:20px}
  .nb-conta-numero > span{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral-700)}
  .nb-conta-numero strong{display:block;margin-top:10px;font-family:var(--font-heading);font-size:34px;line-height:1;font-weight:700;color:var(--color-text)}
  .nb-conta-numero strong i{font-style:normal;font-size:14px;color:var(--color-neutral-700)}
  .nb-conta-numero em{display:block;margin-top:9px;font-style:normal;font-size:12.5px;line-height:1.45;color:var(--color-neutral-700)}
  .nb-conta-numero.e-destaque{background:var(--nb);}
  .nb-conta-numero.e-destaque > span,.nb-conta-numero.e-destaque strong,.nb-conta-numero.e-destaque em{color:var(--color-neutral-100)}

  .nb-conta-avisos{display:flex;flex-direction:column;gap:2px}
  .nb-conta-aviso{border:2px solid var(--color-divider);background:var(--color-surface);padding:13px 16px}
  .nb-conta-aviso b{display:block;font-size:14px;font-weight:700;color:var(--color-text)}
  .nb-conta-aviso span{display:block;margin-top:3px;font-size:13px;line-height:1.5;color:var(--color-neutral-700)}
  .nb-conta-aviso.e-urgente{border-left:6px solid var(--nb)}
  .nb-conta-aviso.e-urgente b{color:var(--nb-800)}
  .nb-conta-aviso.e-atencao{background:var(--color-bg)}
  .nb-conta-aviso.e-feito{border-left:6px solid var(--nb);background:var(--nb-100)}

  .nb-conta-link{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,260px);gap:2px;background:var(--color-divider);border:2px solid var(--color-divider)}
  .nb-conta-link-texto{background:var(--color-surface);padding:20px}
  .nb-conta-link-texto h2{margin:0;font-family:var(--font-heading);font-size:20px;font-weight:700;color:var(--color-text)}
  .nb-conta-link-texto p{margin:6px 0 14px;font-size:13.5px;line-height:1.5;color:var(--color-neutral-700);max-width:58ch}
  .nx-site .nb-conta-link-texto code{display:block;padding:12px 14px;border:2px solid var(--color-divider);background:var(--color-bg);font-family:var(--font-mono,ui-monospace,Consolas,monospace);font-size:13px;overflow-wrap:anywhere;color:var(--color-text)}
  .nb-conta-link-acoes{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
  .nb-conta-codigo{background:var(--color-bg);padding:20px;display:flex;flex-direction:column;justify-content:center;text-align:center}
  .nb-conta-codigo span{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral-700)}
  .nb-conta-codigo b{display:block;margin:8px 0;font-family:var(--font-heading);font-size:26px;font-weight:700;letter-spacing:.14em;color:var(--color-text);overflow-wrap:anywhere}
  .nb-conta-codigo em{font-style:normal;font-size:12px;line-height:1.45;color:var(--color-neutral-700)}

  .nb-conta-cartao{border:2px solid var(--color-divider);background:var(--color-surface)}
  .nb-conta-cartao > header{padding:16px 20px;border-bottom:2px solid var(--color-divider)}
  .nb-conta-cartao > header h2{margin:0;font-family:var(--font-heading);font-size:18px;font-weight:700;color:var(--color-text)}
  .nb-conta-cartao > header p{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--color-neutral-700)}
  .nb-conta-cartao > footer{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:14px 20px;border-top:2px solid var(--color-divider)}
  .nb-conta-cartao > footer b{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-neutral-700)}
  .nb-conta-cartao > footer strong{font-family:var(--font-heading);font-size:20px;font-weight:700;color:var(--color-text)}
  .nb-conta-lista{display:flex;flex-direction:column}
  .nb-conta-linha{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 20px;border-bottom:1px solid var(--color-neutral-300)}
  .nb-conta-linha:last-child{border-bottom:0}
  .nb-conta-linha b{display:block;font-size:14px;font-weight:700;color:var(--color-text)}
  .nb-conta-linha > div > span{display:block;margin-top:2px;font-size:12px;line-height:1.45;color:var(--color-neutral-700)}
  .nb-conta-linha-valor{text-align:right;white-space:nowrap;flex:none}
  .nb-conta-linha-valor strong{font-family:var(--font-heading);font-size:16px;font-weight:700;color:var(--color-text)}
  .nb-conta-linha-valor > span{display:block;margin-top:2px;font-size:11px;color:var(--color-neutral-700)}
  .nb-conta-linha.e-parada .nb-conta-linha-valor strong{color:var(--color-neutral-500)}
  .nb-conta-selo{display:inline-block;margin-top:5px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border:1px solid var(--color-neutral-500);color:var(--color-neutral-700)}
  .nb-conta-selo.e-paga{border-color:var(--nb);color:var(--nb-800)}
  .nb-conta-vazio{padding:26px 20px}
  .nb-conta-vazio strong{display:block;font-family:var(--font-heading);font-size:16px;font-weight:700;color:var(--color-text)}
  .nb-conta-vazio span{display:block;margin-top:5px;font-size:13px;line-height:1.5;color:var(--color-neutral-700)}
  .nb-conta-nota{margin:0;padding:0 20px 16px;font-size:12.5px;line-height:1.5;color:var(--color-neutral-700)}

  .nb-conta-meses{display:flex;gap:14px;align-items:flex-end;overflow-x:auto;padding:18px 20px}
  .nb-conta-mes{display:grid;justify-items:center;gap:7px;min-width:56px}
  .nb-conta-mes-valor{font-size:11px;color:var(--color-neutral-700);white-space:nowrap}
  .nb-conta-mes-barra{width:28px;height:88px;display:flex;align-items:flex-end}
  .nb-conta-mes-barra i{width:100%;background:var(--nb);display:block}
  .nb-conta-mes-nome{font-size:11px;color:var(--color-neutral-700)}

  .nb-conta-funil{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--color-divider)}
  .nb-conta-etapa{background:var(--color-surface);padding:16px 20px}
  .nb-conta-etapa span{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-700)}
  .nb-conta-etapa strong{display:block;margin-top:8px;font-family:var(--font-heading);font-size:26px;font-weight:700;color:var(--color-text)}
  .nb-conta-etapa em{display:block;margin-top:5px;font-style:normal;font-size:12px;color:var(--color-neutral-700)}
  .nb-conta-forma{padding:18px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;align-items:end}
  .nb-conta-forma .nb-campo{margin:0}
  .nx-site .nb-conta-forma .nb-site-btn{min-height:48px}

  @media (max-width:860px){
    .nb-conta-numeros,.nb-conta-funil{grid-template-columns:minmax(0,1fr)}
    .nb-conta-link{grid-template-columns:minmax(0,1fr)}
    .nb-conta-corpo{padding:20px 16px 56px}
    .nb-conta-topo-in{padding:10px 16px}
    .nb-conta-topo-acoes{width:100%;margin-left:0}
    .nb-conta-topo-acoes .nb-site-btn{flex:1}
    .nb-conta-linha{flex-wrap:wrap}
  }

  /* Guia de apresentação do divulgador: as quatro capturas do sistema e o roteiro de conversa. */
  .nb-tour-atalho{margin:14px 0 0}
  .nx-site .nb-tour-atalho a{font-size:13px;font-weight:700;color:var(--nb)}
  .nb-tour-telas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:var(--color-divider);border:2px solid var(--color-divider)}
  .nb-tour-tela{margin:0;background:var(--color-surface);display:flex;flex-direction:column}
  .nb-tour-tela figcaption{padding:16px 18px}
  .nb-tour-tela figcaption b{display:block;font-family:var(--font-heading);font-size:16px;font-weight:700;color:var(--color-text)}
  .nb-tour-tela figcaption span{display:block;margin-top:5px;font-size:13px;line-height:1.5;color:var(--color-neutral-700)}
  .nb-tour-tela img{display:block;width:100%;height:auto;border-top:2px solid var(--color-divider);margin-top:auto}
  .nb-tour-frase{margin:0;padding:20px;font-family:var(--font-heading);font-size:19px;line-height:1.5;font-weight:700;color:var(--color-text);max-width:64ch}
  .nb-tour-passos{counter-reset:passo;list-style:none;margin:0;padding:6px 20px 18px}
  .nb-tour-passos li{counter-increment:passo;position:relative;padding:14px 0 14px 44px;border-bottom:1px solid var(--color-neutral-300)}
  .nb-tour-passos li:last-child{border-bottom:0}
  .nb-tour-passos li::before{content:counter(passo);position:absolute;left:0;top:14px;width:26px;height:26px;border:2px solid var(--color-divider);display:grid;place-items:center;font-family:var(--font-heading);font-size:12px;font-weight:700;color:var(--color-neutral-700)}
  .nb-tour-passos b{font-size:14px;font-weight:700;color:var(--color-text)}
  .nb-tour-passos span{font-size:13.5px;line-height:1.55;color:var(--color-neutral-700)}
  .nb-tour-duvidas{display:flex;flex-direction:column}
  .nb-tour-duvidas details{border-bottom:1px solid var(--color-neutral-300)}
  .nb-tour-duvidas details:last-child{border-bottom:0}
  .nb-tour-duvidas summary{cursor:pointer;list-style:none;padding:14px 20px;font-size:14px;font-weight:700;color:var(--color-text);min-height:48px;display:flex;align-items:center}
  .nb-tour-duvidas summary::-webkit-details-marker{display:none}
  .nb-tour-duvidas summary:hover{background:var(--color-bg)}
  .nb-tour-duvidas p{margin:0;padding:0 20px 16px;font-size:13.5px;line-height:1.55;color:var(--color-neutral-700);max-width:70ch}
  .nb-tour-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px;background:var(--color-divider);border-top:2px solid var(--color-divider)}
  .nx-site .nb-tour-links a{background:var(--color-surface);padding:16px 20px;display:block;color:inherit}
  .nx-site .nb-tour-links a:hover{background:var(--nb-100)}
  .nb-tour-links b{display:block;font-size:14px;font-weight:700;color:var(--color-text)}
  .nb-tour-links span{display:block;margin-top:4px;font-size:12.5px;line-height:1.45;color:var(--color-neutral-700)}

  @media (max-width:860px){
    .nb-tour-telas{grid-template-columns:minmax(0,1fr)}
    .nb-tour-frase{font-size:17px;padding:16px}
  }


  /* ===== Pagina inicial (entrada) =====
     Regras de tom do pacote, e elas explicam o que NAO tem aqui: titulo maior de 40px, secao 22px,
     corpo 15-16px. Sem numero gigante, sem campo de cor cheia ocupando a tela, sem gradiente, sem
     fotografia. A prova visual do produto e a conversa simulada do topo - bolhas do fluxo real do
     bot, nao imagem decorativa. O acento aparece no botao primario, no kicker e em marcador curto. */
  .nb-site-larg{max-width:1180px;margin:0 auto;padding:0 28px}
  .nb-site-barra{border-bottom:2px solid var(--color-divider);background:var(--color-bg);position:sticky;top:0;z-index:10}
  .nb-site-barra-in{max-width:1180px;margin:0 auto;padding:0 28px;height:66px;display:flex;align-items:center;gap:32px}
  .nb-site-marca{display:flex;align-items:center;gap:10px;flex:none}
  .nb-site-marca img{width:32px;height:32px;display:block}
  .nb-site-marca .e-escuro{display:none}
  body.nx-theme-escuro .nb-site-marca .e-escuro{display:block}
  body.nx-theme-escuro .nb-site-marca .e-claro{display:none}
  .nb-site-marca span{font-family:var(--font-heading);font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text)}
  .nb-site-ancoras{flex:1;display:flex;gap:26px;align-items:center;min-width:0;overflow-x:auto}
  .nx-site .nb-site-ancoras a{font-size:13px;color:var(--color-neutral-700);white-space:nowrap;min-height:40px;display:flex;align-items:center}
  .nx-site .nb-site-ancoras a:hover{color:var(--nb)}
  .nb-site-acoes{flex:none;display:flex;gap:10px;align-items:center}
  /* Botão de claro/escuro: quadrado do mesmo tamanho dos botões da barra, com o símbolo do tema que
     ele vai APLICAR (lua no claro, sol no escuro) - é o que a pessoa espera de um interruptor. */
  .nx-site .nb-site-tema{width:42px;min-height:42px;padding:0;display:inline-grid;place-items:center;border:2px solid var(--color-divider);background:transparent;color:var(--color-text);cursor:pointer}
  .nx-site .nb-site-tema:hover{border-color:var(--color-text)}
  .nb-site-tema svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .nb-site-tema .e-escuro{display:none}
  body.nx-theme-escuro .nb-site-tema .e-escuro{display:block}
  body.nx-theme-escuro .nb-site-tema .e-claro{display:none}

  /* O azul #0742B5 não serve sobre fundo escuro (1,65:1): no escuro o acento do site inverte junto
     com a rampa, exatamente como no painel. As duas marcas da tabela de comparação acompanham. */
  body.nx-site.nx-theme-escuro{
    --nb:#91b8fe;
    --nb-100:#16243f;
    --nb-200:#24365c;
    --nb-800:#bfd5fc;
  }
  body.nx-theme-escuro .nb-site-marca-sim{color:#6fd28d}
  body.nx-theme-escuro .nb-site-marca-talvez{color:#e0b04f}
  .nx-site .nb-site-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:2px solid var(--color-text);background:transparent;color:var(--color-text);font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px;white-space:nowrap;cursor:pointer}
  .nx-site .nb-site-btn:hover{background:color-mix(in srgb, var(--color-text) 8%, transparent);color:var(--color-text)}
  .nx-site .nb-site-btn.e-forte{border-color:var(--nb);background:var(--nb);color:var(--color-neutral-100)}
  .nx-site .nb-site-btn.e-forte:hover{background:var(--nb-800);border-color:var(--nb-800);color:var(--color-neutral-100)}
  .nx-site .nb-site-btn.e-grande{min-height:50px;padding:0 24px;font-size:15px}
  /* Alvo de toque de 44px em tela pequena, como no painel. A base e 42px pra densidade do desktop.
     Esta regra fica AQUI, junto da definicao do botao, e nao dentro do bloco de uma secao: ja se
     perdeu uma vez porque estava no meio de um bloco que foi reescrito. */
  @media (max-width:700px){.nx-site .nb-site-btn{min-height:44px}}

  .nb-site-topo{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;padding:64px 0 56px;align-items:center}
  .nb-site-kicker{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--nb)}
  .nb-site-topo h1{font-family:var(--font-heading);font-weight:700;font-size:40px;line-height:1.1;margin:14px 0 0;color:var(--color-text);text-wrap:pretty}
  .nb-site-topo p{margin:18px 0 0;font-size:16px;line-height:1.6;color:var(--color-neutral-800);max-width:46ch}
  .nb-site-cta{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}
  .nb-site-nota{font-size:13px;color:var(--color-neutral-700);margin-top:14px}

  /* Conversa simulada: a prova visual. Bolhas de verdade do fluxo do bot. */
  .nb-site-conversa{border:2px solid var(--color-text);background:var(--color-surface);display:flex;flex-direction:column;min-width:0}
  .nb-site-conversa-topo{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:2px solid var(--color-divider);background:var(--color-bg)}
  .nb-site-conversa-topo b{font-size:13px;font-weight:700;color:var(--color-text);flex:1;min-width:0}
  .nb-site-conversa-topo span{font-size:11px;color:var(--color-neutral-700);white-space:nowrap}
  .nb-site-bolhas{padding:18px;display:flex;flex-direction:column;gap:10px}
  .nb-site-bolha{display:flex}
  .nb-site-bolha.e-cliente{justify-content:flex-end}
  .nb-site-bolha > div{max-width:82%;padding:9px 12px;border:2px solid var(--nb-200);background:var(--color-bg);min-width:0}
  .nb-site-bolha.e-cliente > div{border-color:var(--color-divider);background:var(--color-surface)}
  .nb-site-bolha p{margin:0;font-size:13px;line-height:1.45;color:var(--color-text);overflow-wrap:anywhere}
  .nb-site-bolha small{display:block;margin-top:5px;font-size:10px;color:var(--color-neutral-700)}

  /* Quadro fechado e respiro dentro, igual às caixas das seções: antes eram só réguas em cima,
     embaixo e entre as colunas, e o texto encostava na linha da esquerda. */
  .nb-site-numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2px;padding:2px;margin-top:38px}
  .nb-site-numero{padding:20px;min-width:0;background:var(--color-bg);box-shadow:0 0 0 2px var(--color-divider)}
  .nb-site-numero strong{display:block;font-family:var(--font-heading);font-weight:700;font-size:28px;line-height:1;color:var(--color-text)}
  .nb-site-numero span{display:block;font-size:13px;line-height:1.45;color:var(--color-neutral-700);margin-top:8px;max-width:26ch}

  .nb-site-secao{padding:56px 0 0}
  .nb-site-secao h2{font-family:var(--font-heading);font-weight:700;font-size:22px;line-height:1.2;margin:0;color:var(--color-text);max-width:30ch;text-wrap:pretty}
  .nb-site-secao > p{margin:12px 0 0;font-size:15px;line-height:1.6;color:var(--color-neutral-800);max-width:60ch}

  .nb-site-passos{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2px;margin-top:26px;padding:2px}
  .nb-site-passo{background:var(--color-bg);padding:20px;min-width:0;box-shadow:0 0 0 2px var(--color-divider)}
  .nb-site-passo b{display:block;font-family:var(--font-heading);font-weight:700;font-size:13px;color:var(--nb);letter-spacing:.08em}
  .nb-site-passo strong{display:block;font-size:15px;font-weight:700;color:var(--color-text);margin-top:10px;line-height:1.3}
  .nb-site-passo span{display:block;font-size:13px;line-height:1.55;color:var(--color-neutral-700);margin-top:8px}


  /* ---------- Site público: uma página por aba (18/09/2026) ----------
     A inicial ficou curta e cada assunto virou página. O que entra aqui é o que essas páginas novas
     usam e a entrada antiga não tinha: aba marcada no topo, cabeça de página, as quatro portas,
     cartões de texto, a tabela de comparação e o bloco curto de preço. */
  .nx-site .nb-site-ancoras a.is-active{color:var(--nb);box-shadow:inset 0 -2px 0 var(--nb)}
  .nb-site-pagina-topo{padding:44px 0 0;max-width:62ch}
  .nb-site-pagina-topo h1{font-family:var(--font-heading);font-weight:700;font-size:clamp(28px,4vw,40px);line-height:1.1;margin:0;color:var(--color-text);text-wrap:pretty}
  .nb-site-pagina-topo p{margin:14px 0 0;font-size:16px;line-height:1.6;color:var(--color-neutral-800)}

  .nb-site-portas{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2px;margin-top:26px;padding:2px}
  .nb-site-porta{background:var(--color-bg);padding:16px 18px;min-width:0;box-shadow:0 0 0 2px var(--color-divider)}
  .nb-site-porta b{display:block;font-size:15px;font-weight:700;color:var(--color-text)}
  .nb-site-porta span{display:block;margin-top:4px;font-size:14px;line-height:1.55;color:var(--color-neutral-800)}

  .nb-site-cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2px;margin-top:26px;padding:2px}
  .nb-site-cartao{background:var(--color-bg);padding:18px;min-width:0;box-shadow:0 0 0 2px var(--color-divider)}
  .nb-site-cartao b{display:block;font-size:15px;font-weight:700;color:var(--color-text)}
  .nb-site-cartao span{display:block;margin-top:6px;font-size:14px;line-height:1.6;color:var(--color-neutral-800)}

  .nb-site-preco-curto{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}
  .nb-site-preco-curto .nb-site-cta{margin:0;flex-wrap:wrap}

  .nb-site-rolagem-tabela{margin-top:26px;overflow-x:auto;border:2px solid var(--color-divider)}
  .nb-site-tabela{width:100%;border-collapse:collapse;background:var(--color-bg);font-size:14px}
  .nb-site-tabela th,.nb-site-tabela td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--color-neutral-300);white-space:nowrap}
  .nb-site-tabela thead th{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-neutral-700);background:var(--color-surface)}
  .nb-site-tabela thead th.e-nos{color:var(--nb)}
  .nb-site-tabela tbody th{font-weight:400;color:var(--color-text);white-space:normal;min-width:260px}
  .nb-site-tabela td{text-align:center;width:1%}
  .nb-site-tabela td.e-nos{background:var(--nb-100)}
  .nb-site-tabela tbody tr:last-child th,.nb-site-tabela tbody tr:last-child td{border-bottom:0}
  .nb-site-marca-sim{color:#1f7a3a;font-weight:700}
  .nb-site-marca-talvez{color:#9a6b00;font-weight:700}
  .nb-site-marca-nao{color:var(--color-neutral-500);font-weight:700}

  @media (max-width:760px){
    .nb-site-pagina-topo{padding-top:28px}
    .nb-site-preco-curto{grid-template-columns:minmax(0,1fr)}
    .nb-site-tabela thead{display:none}
    .nb-site-tabela tbody tr{display:block;border-bottom:2px solid var(--color-divider);padding:10px 0}
    .nb-site-tabela tbody tr:last-child{border-bottom:0}
    .nb-site-tabela tbody th{display:block;min-width:0;padding:6px 14px;font-weight:700}
    .nb-site-tabela td{display:flex;justify-content:space-between;gap:12px;width:auto;text-align:right;border-bottom:0;padding:4px 14px}
    .nb-site-tabela td::before{content:attr(data-rotulo);font-size:12px;color:var(--color-neutral-700)}
    .nb-site-tabela td.e-nos{background:transparent}
  }

  /* ---------- Entrada: uma seção completa por recurso (17/09/2026) ----------
     O índice é uma grade de atalhos; cada seção tem os pontos à esquerda e um quadro de exemplo à
     direita, que vira uma faixa embaixo no celular. */
  .nb-rec-indice{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2px;margin-top:26px;background:var(--color-divider);border:2px solid var(--color-divider)}
  .nx-site .nb-rec-indice a{display:block;padding:14px 16px;background:var(--color-bg);color:var(--color-text);min-height:64px}
  .nx-site .nb-rec-indice a:hover{background:var(--nb-100);color:var(--nb-800)}
  .nb-rec-indice b{display:block;font-size:14px;font-weight:700}
  .nb-rec-indice span{display:block;margin-top:2px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral-700)}

  .nb-rec{scroll-margin-top:84px}
  .nb-rec > h2{margin-top:8px}
  .nb-rec-corpo{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:start;margin-top:24px}
  .nb-rec-itens{border-top:2px solid var(--color-divider)}
  .nb-rec-item{padding:14px 0;border-bottom:1px solid var(--color-neutral-300)}
  .nb-rec-item b{display:block;font-size:15px;font-weight:700;color:var(--color-text)}
  .nb-rec-item span{display:block;margin-top:3px;font-size:14px;line-height:1.55;color:var(--color-neutral-800)}
  .nb-rec-quadro{border:2px solid var(--color-divider);background:var(--color-surface);padding:16px 18px}
  .nb-rec-quadro > b{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral-700);padding-bottom:12px;border-bottom:2px solid var(--color-divider)}
  .nb-rec-quadro dl{margin:0}
  .nb-rec-quadro dt{margin-top:12px;font-size:13px;font-weight:700;color:var(--color-text)}
  .nb-rec-quadro dd{margin:2px 0 0;font-size:13px;line-height:1.5;color:var(--color-neutral-700)}
  .nb-rec-prova{margin:18px 0 0;font-size:14px;line-height:1.6;color:var(--color-neutral-800)}
  .nx-site .nb-rec-prova a{font-weight:700}
  .nb-site-recursos{margin-top:26px;border-top:2px solid var(--color-divider)}
  .nb-site-recurso{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px;padding:16px 0;border-bottom:1px solid var(--color-neutral-300);align-items:baseline}
  .nb-site-recurso strong{font-size:15px;font-weight:700;color:var(--color-text)}
  .nb-site-recurso span{font-size:14px;line-height:1.55;color:var(--color-neutral-700)}

  .nb-site-pontos{margin-top:20px;display:grid;gap:0}
  .nb-site-ponto{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--color-neutral-300);align-items:baseline}
  .nb-site-ponto i{width:6px;height:6px;background:var(--nb);flex:none;margin-top:7px}
  .nb-site-ponto span{font-size:14px;line-height:1.55;color:var(--color-neutral-800)}

  .nb-site-planos{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:26px}
  .nb-site-plano{border:2px solid var(--color-text);background:var(--color-bg);padding:24px;display:flex;flex-direction:column;min-width:0}
  .nb-site-plano.e-destaque{border-color:var(--nb)}
  .nb-site-plano-rot{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
  .nb-site-plano-rot b{font-family:var(--font-heading);font-weight:700;font-size:16px;color:var(--color-text)}
  .nb-site-plano-selo{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;background:var(--nb);color:var(--color-neutral-100)}
  .nb-site-plano-valor{font-family:var(--font-heading);font-weight:700;font-size:34px;line-height:1;margin-top:14px;color:var(--color-text)}
  .nb-site-plano-per{font-size:13px;color:var(--color-neutral-700);margin-top:6px}
  .nb-site-plano ul{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--color-neutral-300)}
  .nb-site-plano li{font-size:14px;line-height:1.5;color:var(--color-neutral-800);padding:10px 0 10px 18px;border-bottom:1px solid var(--color-neutral-300);position:relative}
  .nb-site-plano li::before{content:"";position:absolute;left:0;top:17px;width:6px;height:6px;background:var(--nb)}
  .nx-site .nb-site-plano .nb-site-btn{margin-top:auto;width:100%}
  .nb-site-plano-cta{margin-top:20px}

  /* Duvidas: <details> nativo, uma aberta por vez via JS curto. Sem biblioteca. */
  /* Downloads na Entrada. Mesma anatomia dos cartoes de Preco de proposito: caixa propria com
     borda de 2px e vao entre elas, rotulo curto, ancora grande, regua de 1px separando cada linha
     da ficha, e o acento SO no cartao essencial (borda + selo + botao preenchido). O outro fica em
     contorno. A primeira versao pintava titulo, descricao e valores de azul - eu tinha usado o azul
     escuro do site como se fosse tinta, e o cartao inteiro virava acento. */
  .nb-site-baixar{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:26px}
  .nb-site-app{border:2px solid var(--color-text);background:var(--color-bg);padding:24px;display:flex;flex-direction:column;min-width:0}
  .nb-site-app.e-destaque{border-color:var(--nb)}
  .nb-site-app-rot{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
  .nb-site-app-rot b{font-family:var(--font-heading);font-weight:700;font-size:16px;color:var(--color-text)}
  .nb-site-app-nome{font-family:var(--font-heading);font-weight:700;font-size:34px;line-height:1;margin-top:14px;color:var(--color-text)}
  .nb-site-app-exige{font-size:13px;color:var(--color-neutral-700);margin-top:6px}
  .nb-site-app p{font-size:14px;line-height:1.5;color:var(--color-neutral-800);margin:16px 0 0}
  .nb-site-app dl{display:grid;grid-template-columns:auto minmax(0,1fr);margin:18px 0 0;border-top:1px solid var(--color-neutral-300)}
  .nb-site-app dt{display:flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-700);padding:10px 16px 10px 0;border-bottom:1px solid var(--color-neutral-300)}
  .nb-site-app dd{display:flex;align-items:center;margin:0;font-size:14px;line-height:1.4;color:var(--color-neutral-800);padding:10px 0;border-bottom:1px solid var(--color-neutral-300)}
  .nb-site-app-cta{margin-top:auto;padding-top:20px}
  .nx-site .nb-site-app .nb-site-btn{width:100%}
  .nb-site-duvidas{margin-top:26px;border-top:2px solid var(--color-divider)}
  .nb-site-duvida{border-bottom:1px solid var(--color-neutral-300)}
  .nx-site .nb-site-duvida > summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:16px;padding:16px 0;min-height:44px}
  .nx-site .nb-site-duvida > summary::-webkit-details-marker{display:none}
  .nb-site-duvida > summary strong{flex:1;font-size:15px;font-weight:700;color:var(--color-text);min-width:0}
  .nb-site-duvida > summary i{flex:none;font-style:normal;font-size:18px;line-height:1;color:var(--nb);font-weight:700}
  .nb-site-duvida[open] > summary i{color:var(--color-neutral-700)}
  .nb-site-duvida p{margin:0;padding:0 34px 18px 0;font-size:14px;line-height:1.6;color:var(--color-neutral-700);max-width:72ch}

  .nb-site-chamada{margin-top:56px;border:2px solid var(--color-text);padding:36px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
  .nb-site-chamada div{flex:1;min-width:min(100%,260px)}
  .nb-site-chamada h2{font-family:var(--font-heading);font-weight:700;font-size:24px;line-height:1.2;margin:0;color:var(--color-text);max-width:24ch}
  .nb-site-chamada p{margin:10px 0 0;font-size:14px;line-height:1.55;color:var(--color-neutral-700);max-width:52ch}

  .nb-site-rodape{margin-top:56px;background:var(--color-chrome);color:var(--color-chrome-ink)}
  .nb-site-rodape-in{max-width:1180px;margin:0 auto;padding:32px 28px;display:flex;gap:24px;flex-wrap:wrap;align-items:baseline}
  .nb-site-rodape b{font-family:var(--font-heading);font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
  .nb-site-rodape span{font-size:12px;color:var(--color-chrome-ink-fraca)}
  .nb-site-rodape nav{margin-left:auto;display:flex;gap:20px;flex-wrap:wrap}
  .nx-site .nb-site-rodape a{font-size:13px;color:var(--color-chrome-ink)}
  .nx-site .nb-site-rodape a:hover{color:var(--color-neutral-100);text-decoration:underline}

  @media (max-width:760px){
    .nb-site-larg,.nb-site-barra-in{padding:0 18px}
    .nb-site-barra-in{height:auto;min-height:58px;gap:12px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}
    .nb-site-ancoras{order:3;flex-basis:100%;gap:18px;padding-bottom:2px}
    .nb-site-acoes{margin-left:auto}
    .nb-site-topo{gap:32px;padding:36px 0 32px}
    .nb-site-topo h1{font-size:30px}
    .nb-site-numero{padding:16px}
    .nb-site-secao{padding:40px 0 0}
    .nb-site-recurso{grid-template-columns:1fr;gap:6px}
    .nb-rec-corpo{grid-template-columns:minmax(0,1fr);gap:18px}
    .nb-rec-indice{grid-template-columns:repeat(2,minmax(0,1fr))}
    .nb-site-chamada{padding:24px;margin-top:40px}
    .nx-site .nb-site-chamada .nb-site-btn{width:100%}
    .nb-site-rodape nav{margin-left:0;flex-basis:100%;gap:14px}
  }

  @media (max-width:760px){
    .nb-entrada{min-height:100dvh;grid-template-columns:1fr}
    /* No celular o cartaz vira o RODAPE: quem abre o login no telefone quer o campo, nao o texto.
       A ordem do documento fica a mesma pro leitor de tela; muda so a pintura. */
    .nb-entrada-cartaz{order:2;border-right:0;border-top:2px solid var(--color-divider);padding:28px 20px;gap:24px}
    .nb-entrada-poster{margin-top:0}
    .nb-entrada-lado{order:1;min-height:auto;padding:24px 20px 8px}
    .nb-entrada-forma{margin:0;padding:16px 0 24px;max-width:none}
  }


  .nb-conta-cartao{border:2px solid var(--color-divider);background:var(--color-surface)}
  .nb-conta-cartao > header{padding:16px 20px;border-bottom:2px solid var(--color-divider)}
  .nb-conta-cartao > header h2{margin:0;font-family:var(--font-heading);font-size:18px;font-weight:700;color:var(--color-text)}
  .nb-conta-cartao > header p{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--color-neutral-700)}
  .nb-conta-vazio{border:2px solid var(--color-divider);background:var(--color-surface);padding:26px 20px}
  .nb-conta-vazio strong{display:block;font-family:var(--font-heading);font-size:16px;font-weight:700;color:var(--color-text)}
  .nb-conta-vazio span{display:block;margin-top:5px;font-size:13px;line-height:1.5;color:var(--color-neutral-700)}
  .nb-conta-blocos{display:flex;flex-direction:column;gap:20px}
  .nb-conta-corpo-cartao{padding:16px 20px;display:flex;flex-direction:column;gap:14px}

  /* ===== Barra da loja de demonstração =====
     Sempre visível, em todas as telas, sem como fechar. Se o divulgador tirar print, o selo
     aparece na imagem - ela não circula como se fosse loja de verdade. */
  .nb-demo-barra{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 16px;
    background:var(--color-chrome);color:var(--color-chrome-ink);border-bottom:2px solid var(--color-accent)}
  .nb-demo-selo{flex:none;padding:4px 10px;background:var(--color-accent);color:var(--color-sobre-acento);
    font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
  .nb-demo-aviso{font-size:12.5px;font-weight:700;color:var(--color-chrome-ink-fraca)}
  .nb-demo-acoes{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .nb-demo-acoes form{margin:0}
  .nb-demo-acoes .btn{min-height:34px;padding:0 12px;font-size:12.5px}
  /* Os secundários ficam sobre a cromagem escura, então herdam a tinta dela em vez da do painel. */
  .nb-demo-acoes .btn-secondary{background:transparent;border-color:var(--color-chrome-ink-fraca);color:var(--color-chrome-ink)}
  .nb-demo-acoes .btn-secondary:hover{border-color:var(--color-chrome-ink);background:rgba(255,255,255,.08)}

  /* Modo apresentação: tira da frente o que não ajuda a vender - pendências de configuração, aviso
     de cobrança e as próprias ferramentas. O selo fica: ele é a proteção. */
  body.nx-demo-apresentando .nb-demo-acoes{display:none}
  body.nx-demo-apresentando .setup-alerts-panel,
  body.nx-demo-apresentando .nb-vis-pendencias,
  body.nx-demo-apresentando .nb-vis-cobranca,
  body.nx-demo-apresentando .notice,
  body.nx-demo-apresentando .nb-aj-botao{display:none !important}
  body.nx-demo-apresentando .nb-demo-barra{justify-content:center}
  .nb-demo-barra .nb-demo-sair{display:none;margin-left:12px}
  body.nx-demo-apresentando .nb-demo-barra .nb-demo-sair{display:inline-flex}

  @media(max-width:760px){
    .nb-demo-barra{padding:8px 12px}
    .nb-demo-aviso{display:none}
    .nb-demo-acoes{margin-left:0;width:100%}
  }

  /* ===== Aparencia do painel =====
     Cada eixo e uma fileira de amostras. O que importa e a amostra, nao o texto: quem escolhe cor
     olha a cor. Por isso o quadradinho vem antes do nome e o nome e pequeno. */
  .nb-apar-grupo{display:flex;flex-direction:column;gap:8px}
  .nb-apar-grupo+.nb-apar-grupo{padding-top:14px;border-top:1px solid var(--color-divider)}
  .nb-apar-grupo h3{margin:0;font-size:14px;font-weight:800;color:var(--color-text)}
  .nb-apar-explica{margin:0;font-size:12.5px;line-height:1.45;color:var(--color-neutral-700)}
  /* Ajustar a forca do preto estando no tema claro nao muda nada na tela. Em vez de esconder o
     grupo (que faria a opcao sumir e reaparecer), ele fica esmaecido e continua clicavel. */
  .nb-apar-grupo.e-dormindo{opacity:.5}
  /* Teto de largura: no painel a coluna e larga, e sem isto cada amostra viraria uma faixa de
     250px - nao ajuda a escolher, so ocupa a tela. */
  .nb-apar-lista{display:grid;gap:8px;max-width:820px}
  .nb-apar-lista.e-cores{grid-template-columns:repeat(4,minmax(0,1fr))}
  .nb-apar-lista.e-dupla{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nb-apar-lista.e-tripla{grid-template-columns:repeat(3,minmax(0,1fr))}
  .nb-apar-lista.e-quadrupla{grid-template-columns:repeat(4,minmax(0,1fr))}

  .nb-apar-opcao{display:grid;gap:5px;justify-items:stretch;padding:10px;position:relative;margin:0;cursor:pointer;
    border:1px solid var(--color-divider);background:var(--color-bg);transition:border-color .14s ease,background-color .14s ease}
  .nb-apar-opcao:hover{border-color:var(--color-neutral-500)}
  .nb-apar-opcao.e-marcada{border-color:var(--color-accent);background:var(--color-accent-100);
    box-shadow:inset 0 0 0 1px var(--color-accent)}
  /* O radio nativo nao aparece: a moldura do cartao ja diz o que esta escolhido. Ele continua no
     HTML (e focavel) pra teclado e leitor de tela seguirem funcionando. */
  .nb-apar .nb-apar-opcao input[type="radio"]{position:absolute;width:1px;height:1px;min-height:0;opacity:0;margin:0;padding:0;border:0;appearance:none;pointer-events:none}
  .nb-apar-opcao:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}
  .nb-apar-nome{font-size:12.5px;font-weight:800;color:var(--color-text);line-height:1.2}
  .nb-apar-dica{font-size:11.5px;line-height:1.35;color:var(--color-neutral-700)}
  .nb-apar-amostra{display:block;width:100%;justify-self:stretch}
  .nb-apar-bolha{display:block;width:100%;height:30px}
  /* Retangulo com um retangulo dentro: le como "fundo da tela" e "cartao em cima dele", que e
     exatamente o que os dois valores fazem. */
  .nb-apar-tela{display:block;width:100%;height:30px;padding:5px;border:1px solid var(--color-divider)}
  .nb-apar-tela i{display:block;width:100%;height:100%}
  .nb-apar-icone{width:26px;height:26px;color:var(--color-text)}

  .nb-apar-rodape{display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding-top:14px;border-top:1px solid var(--color-divider)}
  .nb-apar-rodape span{font-size:12.5px;font-weight:700;color:var(--color-neutral-700)}

  @media(max-width:760px){
    .nb-apar-lista.e-cores,.nb-apar-lista.e-quadrupla{grid-template-columns:repeat(2,minmax(0,1fr))}
    .nb-apar-lista.e-tripla{grid-template-columns:1fr}
  }
  .nb-conta-forma{display:flex;flex-direction:column;gap:14px;margin:0;max-width:520px}
  .nb-conta-forma label{display:flex;flex-direction:column;gap:6px}
  .nb-conta-forma label > span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-neutral-700)}
  .nb-conta-forma input,.nb-conta-forma select{width:100%;min-height:46px;border:2px solid var(--color-divider);background:var(--color-bg);color:var(--color-text);font:inherit;font-size:15px;padding:0 12px;border-radius:0}
  .nb-conta-forma input:focus-visible,.nb-conta-forma select:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}
  .nb-conta-acoes{display:flex;gap:10px;flex-wrap:wrap}
  .nb-conta-aviso{margin:0;padding:11px 14px;border-left:4px solid var(--color-neutral-500);background:var(--color-bg);font-size:13px;line-height:1.5;color:var(--color-text)}
  .nb-conta-aviso.e-feito{border-left-color:var(--color-accent)}
  .nb-conta-aviso.e-erro{border-left-color:var(--color-accent-800);color:var(--color-accent-800)}
  .nb-conta-aviso.e-atencao{border-left-color:var(--color-accent)}
  .nb-conta-dica{margin:0;font-size:12.5px;line-height:1.55;color:var(--color-neutral-700);max-width:70ch}
  .nb-conta-parte{border-top:2px solid var(--color-divider);padding-top:14px;display:flex;flex-direction:column;gap:10px}
  .nb-conta-parte b{font-size:13.5px;font-weight:700;color:var(--color-text)}
  .nb-conta-codigos{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:2px;background:var(--color-divider);border:2px solid var(--color-divider)}
  .nb-conta-codigos code{background:var(--color-surface);padding:10px;text-align:center;font-family:var(--font-mono,ui-monospace,Consolas,monospace);font-size:14px;color:var(--color-text)}
  .nb-conta-qr{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
  .nb-conta-qr img{background:#fff;padding:8px;border:2px solid var(--color-divider)}
  .nb-conta-qr span{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-neutral-700)}
  .nb-conta-qr code{display:block;margin-top:6px;font-family:var(--font-mono,ui-monospace,Consolas,monospace);font-size:15px;color:var(--color-text)}
