/* Sequente — telas de acesso (entrar, empresa, cadastro, 2 etapas, recuperar, redefinir, admin). Escopo: body.ax. 2026-11-11 */
body.ax{--ax-bg:#f4f6f5;--ax-card:#fff;--ax-bd:#e2e8e5;--ax-bd2:#cfd8d4;--ax-tx:#14211c;--ax-tx2:#4f5f59;--ax-tx3:#7a8883;--ax-p:#0f4d3c;--ax-p2:#0b3b2e;--ax-soft:#edf3f0;--ax-ring:rgba(15,77,60,.14);
  margin:0;min-height:100vh;background:var(--ax-bg);color:var(--ax-tx);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
body.ax.ax-emp{--ax-p:var(--c2,#0f4d3c);--ax-p2:var(--c2,#0b3b2e);--ax-soft:color-mix(in srgb,var(--c2,#0f4d3c) 7%,#fff);--ax-ring:color-mix(in srgb,var(--c2,#0f4d3c) 16%,transparent)}
.ax *{box-sizing:border-box}
.ax-pg{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:linear-gradient(180deg,#fff 0,var(--ax-bg) 340px)}
.ax-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 28px;border-bottom:1px solid var(--ax-bd);background:rgba(255,255,255,.85);backdrop-filter:blur(8px)}
.ax .ax-marca{display:inline-flex;align-items:center;gap:0;font:650 1.04rem/1 Inter,sans-serif;letter-spacing:-.01em;color:var(--ax-tx)!important;text-decoration:none}
.ax .ax-marca span:not(.sf-logo){color:var(--ax-p)}
.ax .ax-marca .sf-logo{margin-right:9px;width:30px;height:30px;border-radius:8px;font-size:.88rem;background:var(--ax-p2);box-shadow:none}
.ax .ax-marca img{max-height:30px;width:auto;margin-right:9px}
.ax-volta,.ax-tag{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;font-weight:500;color:var(--ax-tx2);text-decoration:none;padding:7px 12px;border-radius:8px;border:1px solid transparent}
.ax-volta:hover{background:var(--ax-soft);color:var(--ax-p)}
.ax-tag{border-color:var(--ax-bd);background:#fff;color:var(--ax-p);font-weight:600}
.ax-i{width:16px;height:16px;flex:none}
.ax-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 16px 28px;gap:18px}
.ax-card{width:100%;max-width:428px;background:var(--ax-card);border:1px solid var(--ax-bd);border-radius:14px;padding:34px 34px 30px;box-shadow:0 1px 2px rgba(16,24,20,.04),0 12px 32px -18px rgba(16,24,20,.16)}
.ax-card.ax-largo{max-width:560px}
.ax .ax-card h1{font:650 1.5rem/1.25 Inter,sans-serif;letter-spacing:-.015em;margin:0 0 6px;color:var(--ax-tx)}
.ax .ax-sub{margin:0 0 24px;color:var(--ax-tx2);font-size:.94rem;line-height:1.5}
.ax-chip{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:600;letter-spacing:.02em;color:var(--ax-p);background:var(--ax-soft);border-radius:6px;padding:5px 9px;margin:0 0 16px}
.ax-chip .ax-i{width:13px;height:13px}
.ax .campo{margin-bottom:16px}
.ax .campo label{display:block;font-weight:600;font-size:.84rem;margin-bottom:6px;color:var(--ax-tx)}
.ax .ax-lrow{display:flex!important;justify-content:space-between;align-items:baseline;gap:8px}
.ax .ax-lrow a{font-weight:500;font-size:.82rem;color:var(--ax-p);text-decoration:none}
.ax .ax-lrow a:hover{text-decoration:underline}
.ax .campo input,.ax .campo select{width:100%;height:46px;border:1px solid var(--ax-bd2);border-radius:9px;padding:0 13px;font:inherit;font-size:.98rem;background:#fff;color:var(--ax-tx);transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px 1px rgba(16,24,20,.03)}
.ax .campo input::placeholder{color:#a3aea9}
.ax .campo input:focus,.ax .campo select:focus{outline:0;border-color:var(--ax-p);box-shadow:0 0 0 3px var(--ax-ring)}
.ax .campo .ajuda{font-size:.78rem;color:var(--ax-tx3);margin-top:5px;line-height:1.45}
.ax .senha-wrap{position:relative}
.ax .senha-wrap input{padding-right:48px}
.ax .senha-wrap button{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:7px;background:transparent;color:var(--ax-tx3);cursor:pointer;display:grid;place-items:center;padding:0;font-size:0}
.ax .senha-wrap button:hover{background:var(--ax-soft);color:var(--ax-p)}
.ax .senha-wrap button:focus-visible{outline:2px solid var(--ax-p);outline-offset:1px}
.ax .senha-wrap button svg{width:18px;height:18px}
.ax-caps{display:none;align-items:center;gap:6px;font-size:.78rem;color:#8a5a00;margin-top:6px}
.ax-caps.on{display:flex}
.ax .check{display:flex;gap:9px;align-items:flex-start;font-size:.87rem;color:var(--ax-tx2);margin:4px 0 6px}
.ax .check input{width:17px;height:17px;accent-color:var(--ax-p);margin-top:1px;flex:none}
.ax .sf-btn,.ax .ax-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;padding:0 18px;margin-top:14px;border:0;border-radius:9px;background:var(--ax-p)!important;color:#fff!important;font:600 .98rem Inter,sans-serif;letter-spacing:.005em;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.08)!important;transform:none!important;text-decoration:none;transition:filter .15s}
.ax .sf-btn:hover,.ax .ax-btn:hover{filter:brightness(1.12)}
.ax .sf-btn:focus-visible,.ax .ax-btn:focus-visible{outline:3px solid var(--ax-ring);outline-offset:2px}
.ax .sf-btn[disabled]{opacity:.75;cursor:progress}
.ax .ax-btn.sec{background:#fff!important;color:var(--ax-tx)!important;border:1px solid var(--ax-bd2)}
.ax .alerta{border-radius:9px;padding:11px 13px;margin-bottom:16px;font-size:.88rem;line-height:1.45;display:flex;gap:8px;align-items:flex-start}
.ax .alerta.erro{background:#fdf3f2;border:1px solid #f1cfcb;color:#8f2a20}
.ax .alerta.ok{background:var(--ax-soft);border:1px solid var(--ax-bd);color:var(--ax-p)}
.ax .sf-rodape-f{text-align:center;color:var(--ax-tx2);font-size:.88rem;margin:20px 0 0;padding-top:18px;border-top:1px solid var(--ax-bd)}
.ax .sf-rodape-f a{color:var(--ax-p);font-weight:600;text-decoration:none}
.ax .sf-esq{margin-top:18px;font-size:.84rem;line-height:1.5;color:var(--ax-tx2);background:#f8faf9;border:1px solid var(--ax-bd);border-radius:9px;padding:12px 14px}
.ax .sf-esq .ax-i{vertical-align:-3px;color:var(--ax-p)}
.ax-info{display:grid;gap:12px;margin:0 0 6px}
.ax-info>div{display:flex;gap:12px;padding:14px;border:1px solid var(--ax-bd);border-radius:10px;background:#fafcfb}
.ax-info .ax-i{width:20px;height:20px;color:var(--ax-p);margin-top:1px}
.ax-info b{display:block;font-size:.9rem;margin-bottom:3px;color:var(--ax-tx)}
.ax-info p{margin:0;font-size:.85rem;line-height:1.5;color:var(--ax-tx2)}
.ax-acts{display:grid;gap:10px;margin-top:16px}
.ax-voltar{display:block;text-align:center;margin-top:16px;font-size:.86rem;color:var(--ax-tx2);text-decoration:none}
.ax-voltar:hover{color:var(--ax-p)}
.ax-otp{font-size:1.5rem!important;letter-spacing:.42em;text-align:center;font-variant-numeric:tabular-nums;height:54px!important}
/* selos de segurança */
.ax-selos{list-style:none;margin:0;padding:0;width:100%;max-width:428px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
.ax-largo+.ax-selos,.ax-selos.largo{max-width:560px}
.ax-selos li{display:flex;align-items:center;gap:8px;font-size:.76rem;line-height:1.3;color:var(--ax-tx2)}
.ax-selos li span.ic{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:var(--ax-soft);color:var(--ax-p);flex:none}
.ax-selos li .ax-i{width:14px;height:14px}
.ax-selos small{display:block;color:var(--ax-tx3);font-size:.7rem}
.ax-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 28px 22px;font-size:.78rem;color:var(--ax-tx3)}
.ax-foot nav{display:flex;gap:16px}
.ax-foot a{color:var(--ax-tx3);text-decoration:none}
.ax-foot a:hover{color:var(--ax-p)}
/* empresa (/{slug}) */
.ax-emp-id{display:flex;align-items:center;gap:12px;min-width:0}
.ax-emp-id .lg{width:40px;height:40px;border-radius:9px;border:1px solid var(--ax-bd);background:#fff;display:grid;place-items:center;padding:4px;overflow:hidden;flex:none}
.ax-emp-id .lg img{max-width:100%;max-height:100%;object-fit:contain}
.ax-emp-id .lg.ini{background:var(--ax-p);border-color:var(--ax-p);color:#fff;font:650 1.05rem Inter,sans-serif}
.ax-emp-id b{display:block;font-size:.98rem;font-weight:650;color:var(--ax-tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ax-emp-id small{display:flex;align-items:center;gap:5px;font-size:.76rem;color:var(--ax-tx3)}
.ax-emp-id small .ax-i{width:12px;height:12px}
.ax-tec{font-size:.76rem;color:var(--ax-tx3)}
/* cadastro (formulário maior) */
.ax .seg{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ax .seg label{margin:0;cursor:pointer}
.ax .seg input{position:absolute;opacity:0;pointer-events:none}
.ax .seg span{display:flex;flex-direction:column;gap:2px;border:1px solid var(--ax-bd2);border-radius:9px;padding:11px 13px;font-weight:600;font-size:.92rem;color:var(--ax-tx);transition:all .15s;background:#fff}
.ax .seg span small{font-weight:400;color:var(--ax-tx3);font-size:.76rem}
.ax .seg input:checked+span{border-color:var(--ax-p);background:var(--ax-soft);box-shadow:0 0 0 3px var(--ax-ring)}
.ax .sf-dupla{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ax .sf-pl-esc{border-radius:10px!important;border:1px solid var(--ax-bd)!important;background:#fafcfb!important;box-shadow:none!important;color:var(--ax-tx)!important}
.ax .sf-pl-esc .ic{background:var(--ax-soft)!important;color:var(--ax-p)!important}
.ax .sf-pl-esc b{color:var(--ax-tx)!important}
.ax .sf-pl-esc small{color:var(--ax-tx3)!important}
.ax .sf-optin{background:#f8faf9!important;border:1px solid var(--ax-bd)}
.ax-pontos{display:flex;flex-wrap:wrap;gap:6px 14px;margin:-12px 0 20px;padding:0;list-style:none}
.ax-pontos li{display:flex;align-items:center;gap:5px;font-size:.8rem;color:var(--ax-tx2)}
.ax-pontos .ax-i{width:14px;height:14px;color:var(--ax-p)}
.ax .hide{display:none!important}
.ax [hidden]{display:none!important}
.ax .sf-topo-m{display:none!important}
@media (max-width:640px){
  .ax-top{padding:12px 16px}
  .ax-volta{padding:6px 8px;font-size:.8rem}
  .ax-main{justify-content:flex-start;padding:20px 16px 18px;gap:16px}
  .ax-card,.ax-card.ax-largo{padding:24px 20px 22px;border-radius:12px}
  .ax .ax-card h1{font-size:1.32rem}
  .ax .ax-sub{margin-bottom:20px;font-size:.9rem}
  .ax-largo+.ax-selos,.ax-selos.largo{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ax .sf-dupla{grid-template-columns:1fr}
  .ax-foot{padding:10px 16px 20px;justify-content:center;text-align:center}
  .ax .campo input,.ax .campo select{font-size:16px}
}
@media (prefers-reduced-motion:no-preference){.ax-card{animation:ax-in .35s ease-out both}@keyframes ax-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}
.ax .ax-marca span:not(.sf-logo){margin-left:.26em}
@media (max-width:640px){.ax-emp .ax-chip{display:none}}
