/* Acesso e conta — componentes Fluxo com tokens compartilhados. */
#tela-auth.access-layout { min-height:100vh; padding:70px max(5vw,24px); align-items:center; justify-content:center; gap:clamp(40px,8vw,130px); position:relative; }
.access-intro { flex:1; max-width:470px; color:var(--cor-texto); }
.access-intro h2 { font-size:clamp(32px,4vw,52px); line-height:1.13; letter-spacing:-1.7px; margin:24px 0; }
.access-intro p { color:var(--cor-texto-suave); font-size:16px; line-height:1.8; max-width:360px; }
.access-lines { display:flex; flex-direction:column; gap:18px; margin-top:50px; }
.access-lines span { display:block; width:180px; height:3px; background:var(--cor-borda); border-radius:3px; }
.access-lines span:first-child { width:80px; background:var(--cor-marca); }
.access-lines span:last-child { width:130px; }
.access-card { width:100%; max-width:440px; padding:36px; border:1px solid var(--cor-borda); background:var(--cor-superficie); border-radius:14px; }
.access-card .logo { margin-bottom:30px; }
.access-card .subtitulo { color:var(--cor-texto-suave); font-size:13px; margin-top:8px; }
.access-card .abas { display:flex; border-bottom:1px solid var(--cor-borda); margin-bottom:26px; gap:24px; }
.access-card .aba { border:0; border-bottom:3px solid transparent; min-height:48px; padding:12px 0; background:transparent; color:var(--cor-texto-suave); font-size:14px; font-weight:600; }
.access-card .aba.ativa { border-bottom-color:var(--cor-marca); color:var(--cor-texto); }
.formulario { display:none; flex-direction:column; gap:20px; }
.formulario.ativo { display:flex; }
.access-theme { position:absolute; right:28px; top:20px; width:auto; }
.access-theme:hover { background:var(--cor-fundo-suave); color:var(--cor-primaria-texto); }
#access-signout-retry { margin-top:20px; width:100%; }
.access-card .campo input { min-height:46px; border:1px solid var(--cor-borda-controle); border-radius:8px; }
.access-card .botao-principal { margin-top:4px; }
.access-card .link-texto { min-height:44px; margin-top:0; }
.access-card .campo-aceite { line-height:1.7; margin:0; }
.access-card .campo-aceite input { width:20px; height:20px; margin-top:4px; }
.access-card .auth-rodape { text-align:center; font-size:12px; margin-top:28px; color:var(--cor-texto-suave); line-height:1.8; }
.access-splash { min-height:100vh; width:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; }
.access-progress { display:block; height:3px; width:90px; background:var(--cor-marca); margin-top:15px; border-radius:3px; }
.account-content { max-width:1120px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:24px; }
.account-identity { grid-column:1/-1; margin-bottom:4px; padding:10px 0; }
.account-identity h2 { font-size:30px; letter-spacing:-.8px; margin:12px 0 8px; overflow-wrap:anywhere; }
.account-identity p { color:var(--cor-texto-suave); font-size:14px; overflow-wrap:anywhere; }
.account-section { padding:28px; border:1px solid var(--cor-borda); border-radius:12px; background:var(--cor-superficie); min-width:0; }
.account-section h2,.account-section h3 { font-size:20px; font-weight:650; color:var(--cor-texto); margin:0 0 22px; }
.account-section p { font-size:13px; line-height:1.75; margin-bottom:15px; color:var(--cor-texto-suave); }
.account-plan { grid-row:span 2; }
.conta-card-plano { padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid var(--cor-borda); }
.conta-plano-icone { display:none; }
.conta-plano-nome { font-size:28px; font-weight:650; color:var(--cor-texto); margin-bottom:6px; }
.conta-plano-sub { font-size:13px; color:var(--cor-texto-suave); line-height:1.6; }
.conta-plano-preco { margin-top:14px; font-size:18px; color:var(--cor-primaria-texto); font-weight:600; }
.conta-uso-item { margin-bottom:22px; }
.conta-uso-topo { display:flex; justify-content:space-between; gap:16px; font-size:13px; margin-bottom:10px; color:var(--cor-texto); }
.conta-uso-topo strong { text-align:right; }
.conta-barra-fundo { height:6px; background:var(--cor-fundo-suave); border-radius:6px; overflow:hidden; }
.conta-barra-preenchida { height:100%; border-radius:6px; }
.conta-ciclo { margin:20px 0; }
.account-section .formulario-mov { padding:0; background:none; border:0; box-shadow:none; width:100%; max-width:none; }
.account-password-form { display:flex; flex-direction:column; gap:18px; }
.account-password-form .campo { margin:0; }
.account-section .conta-privacidade { padding:0; }
.account-section .tema-seletor { display:flex; gap:8px; flex-wrap:wrap; }
.account-section .tema-opcao { min-height:44px; padding:10px 12px; }
#secao-admin { grid-column:1/-1; }
#form-admin-config { max-width:720px; }
.account-section .botao-principal,.account-section .botao-secundario { width:100%; min-height:44px; }
.access-dialog { position:fixed; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(6,16,28,.7); padding:24px; z-index:1200; }
.access-dialog .modal-conteudo,.modal-upgrade-conteudo { width:100%; max-width:650px; max-height:calc(100dvh - 48px); overflow:auto; background:var(--cor-superficie); color:var(--cor-texto); border:1px solid var(--cor-borda); border-radius:12px; padding:32px; position:relative; }
.access-dialog h2,.access-dialog h3 { color:var(--cor-texto); font-size:24px; padding-right:28px; margin-bottom:16px; }
.access-dialog p { line-height:1.8; font-size:14px; }
.access-dialog .doc-legal-corpo { max-height:none; overflow:visible; padding:0; }
.access-dialog .doc-legal-corpo h4 { margin-top:24px; }
.access-dialog .modal-fechar,.modal-upgrade-x { position:absolute; top:14px; right:14px; min-width:44px; height:44px; background:var(--cor-superficie); color:var(--cor-primaria-texto); border:1px solid var(--cor-borda-controle); border-radius:8px; font-size:22px; }
.reaceite-links { padding:16px 0; }
.reaceite-acoes { display:flex; gap:12px; margin-top:20px; }
.reaceite-acoes button { flex:1; margin:0; min-height:44px; }
#modal-upgrade .modal-upgrade-conteudo { max-width:1040px; }
.modal-upgrade-sub { color:var(--cor-texto-suave); margin-bottom:24px; }
.modal-upgrade-planos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.modal-plano-card { display:flex; flex-direction:column; padding:22px; border:1px solid var(--cor-borda); border-radius:8px; background:var(--cor-superficie); }
.modal-plano-card.atual { background:var(--cor-fundo-suave); }
.modal-plano-icone { display:none; }
.modal-plano-nome { font-size:20px; font-weight:650; }
.modal-plano-preco { margin:12px 0 18px; font-size:19px; color:var(--cor-primaria-texto); }
.modal-plano-recursos { list-style:none; margin:0 0 22px; padding:0; flex:1; }
.modal-plano-recursos li { font-size:13px; line-height:1.6; margin:8px 0; color:var(--cor-texto-suave); }
.modal-plano-atual-badge { padding:12px; border:1px solid var(--cor-borda); border-radius:6px; font-size:13px; color:var(--cor-primaria-texto); text-align:center; }
.banner-uso { display:flex; align-items:center; justify-content:space-between; gap:20px; background:var(--cor-fundo-suave); border:1px solid var(--cor-borda); border-left:3px solid var(--cor-marca); padding:14px 20px; margin:0 0 24px; border-radius:8px; font-size:13px; line-height:1.65; }
.banner-uso-acoes { display:flex; gap:12px; flex:none; }
.banner-uso-btn,.banner-uso-x { min-height:44px; min-width:44px; background:var(--cor-superficie); color:var(--cor-primaria-texto); border:1px solid var(--cor-borda-controle); padding:10px; border-radius:8px; }
.botao-olhinho { color:var(--cor-primaria-texto); }
@media(max-width:900px) { #tela-auth.access-layout { padding:76px 20px 32px; } .access-intro { display:none; } .account-content { grid-template-columns:1fr; } .account-section,.account-plan { grid-row:auto; grid-column:1; } .account-section { padding:24px 20px; } .modal-upgrade-planos { grid-template-columns:1fr; } .access-dialog { padding:16px; } .access-dialog .modal-conteudo,.modal-upgrade-conteudo { padding:26px 22px; max-height:calc(100dvh - 32px); } .banner-uso { flex-direction:column; align-items:flex-start; } }
@media(max-width:480px) { .access-card { padding:28px 22px; } .access-theme { right:20px; } .reaceite-acoes { flex-direction:column; } }
