/* Meu XML — entrada: login, primeiro acesso, senha e contratação online. */

.login{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);min-height:100vh;min-height:100dvh;background:var(--surface)}
.login-art{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--sp-6);padding:72px;overflow:hidden;background:var(--chrome);color:var(--chrome-text)}
.login-art::before{content:"";position:absolute;width:560px;height:560px;left:-160px;top:-160px;border:1px solid var(--chrome-line);border-radius:50%;box-shadow:0 0 0 90px rgba(246,241,234,.02),0 0 0 180px rgba(246,241,234,.015)}
.glow{position:absolute;right:-140px;top:16%;width:360px;height:360px;border-radius:50%;background:var(--accent);filter:blur(120px);opacity:.18}
.brand-large{position:relative;max-width:440px}
.login-art p{position:relative;margin:0;max-width:460px;color:var(--chrome-muted);font-size:var(--fs-2xl);line-height:1.35}

.login-card{display:flex;flex-direction:column;justify-content:center;gap:var(--sp-5);width:100%;max-width:520px;margin:0 auto;padding:10vh 56px;background:var(--surface)}
.login-card h1{margin:0 0 var(--sp-1);font-size:var(--fs-4xl);letter-spacing:-.02em}
.login-card .muted{margin:0}
.mini-brand{display:flex;align-items:center;gap:var(--sp-3)}
.mini-brand .meuxml-logo{width:148px}
.mini-brand small{display:block;margin-top:var(--sp-2);color:var(--muted);font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.login-card .primary{width:100%;min-height:48px;font-size:var(--fs-lg)}
.login-card .text-button{align-self:flex-start}
.signup-button{width:100%;min-height:48px}
.login-show-password{margin-top:calc(var(--sp-2) * -1);color:var(--muted);font-size:var(--fs-md)}
.login-card .form-error{margin:calc(var(--sp-2) * -1) 0 0}
.login-theme-button{position:fixed;top:calc(env(safe-area-inset-top) + var(--sp-5));right:var(--sp-5);z-index:30}

/* ---------- Contratação online ---------- */
.signup-dialog{width:min(960px,calc(100vw - 32px))}
.signup-dialog>form{gap:var(--sp-4)}
.checkout-brand .meuxml-logo{width:140px}
.checkout-environment{margin:0;padding:var(--sp-3) var(--sp-4);border:1px solid var(--amber-line);border-radius:var(--r-md);background:var(--amber-bg);color:var(--amber);font-size:var(--fs-md)}
.checkout-selected{margin:var(--sp-2) 0 0;font-weight:700}
.signup-progress{position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin:var(--sp-2) 0;padding:0;list-style:none}
.signup-progress::before{content:"";position:absolute;top:16px;left:16.66%;right:16.66%;height:2px;background:var(--line)}
.signup-progress li{z-index:1;display:grid;justify-items:center;gap:6px;color:var(--muted);font-size:var(--fs-sm);font-weight:700}
.signup-progress b{display:grid;place-items:center;width:32px;height:32px;border:2px solid var(--line);border-radius:50%;background:var(--surface)}
.signup-progress li.active,.signup-progress li.complete{color:var(--text)}
.signup-progress li.active b,.signup-progress li.complete b{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}
.signup-step{display:none}
.signup-step.active{display:grid;gap:var(--sp-4)}
.signup-step-heading h3{margin:0 0 var(--sp-1);font-size:var(--fs-xl)}
.signup-step-heading p{margin:0;color:var(--muted)}
.signup-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3)}
.signup-plan{position:relative;display:grid;align-content:start;gap:6px;min-height:150px;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);text-align:left}
.signup-plan:hover{border-color:var(--line-strong)}
.signup-plan.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}
.signup-plan strong{font-size:var(--fs-lg)}
.signup-plan b{font-size:var(--fs-2xl)}
.signup-plan b small{color:var(--muted);font-size:var(--fs-xs);font-weight:500}
.signup-plan span,.signup-plan>small{color:var(--muted);font-size:var(--fs-sm);line-height:1.4}
.signup-plan em{position:absolute;top:var(--sp-3);right:var(--sp-3);padding:3px 8px;border-radius:var(--r-pill);background:var(--chrome);color:var(--chrome-text);font-size:10px;font-style:normal;font-weight:700;letter-spacing:.06em}
.signup-navigation{display:flex;justify-content:flex-end;gap:var(--sp-3)}
.signup-tax-id-first input{font-size:var(--fs-lg);font-weight:700;letter-spacing:.02em}
.payment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3);padding:0;border:0}
.payment-options legend{margin-bottom:var(--sp-2);padding:0}
.payment-option{display:flex;flex-direction:row;align-items:center;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg);cursor:pointer}
.payment-option.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}
.payment-option span{display:grid;flex:1;gap:2px}
.payment-option small{color:var(--muted);font-weight:500}
.payment-option>b{color:var(--muted);font-size:10px;letter-spacing:.08em}
.payment-details{padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg)}
.payment-security{margin:var(--sp-3) 0 0;color:var(--muted);font-size:var(--fs-sm)}
.pix-result{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:var(--sp-5);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg)}
.pix-qr-frame{padding:var(--sp-2);border-radius:var(--r-md);background:#fff}
.pix-qr-frame img{display:block;width:100%;aspect-ratio:1}
.pix-copy{display:grid;gap:var(--sp-2)}
.pix-copy textarea{font-size:var(--fs-xs);word-break:break-all;resize:none}
.payment-result{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-lg);background:var(--neutral-bg);color:var(--neutral)}
.payment-result[data-state=success]{background:var(--green-bg);color:var(--green)}
.payment-result[data-state=error]{background:var(--red-bg);color:var(--red)}
.payment-result p{margin:2px 0 0;font-size:var(--fs-sm)}
.payment-result-icon{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--neutral);color:var(--surface);font-weight:900}
.payment-result[data-state=success] .payment-result-icon{background:var(--green)}
.payment-result[data-state=error] .payment-result-icon{background:var(--red)}
.checkout-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-lg);background:var(--surface-2)}
.checkout-summary div{display:grid;gap:2px;min-width:0}
.checkout-summary .wide{grid-column:1/-1;padding-top:var(--sp-3);border-top:1px solid var(--line)}
.checkout-summary span{color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.checkout-summary strong{overflow-wrap:anywhere}
.legal-acceptance{display:grid;gap:var(--sp-3)}
.legal-acceptance label{display:flex;align-items:flex-start;gap:var(--sp-2);font-size:var(--fs-md);font-weight:500;line-height:1.45}
.legal-acceptance input{margin-top:2px}

@media (max-width:900px){
  .login{grid-template-columns:1fr}
  .login-art{display:none}
  .login-card{min-height:100dvh;max-width:560px;padding:48px 24px}
}
@media (max-width:720px){
  .login-card h1{font-size:var(--fs-3xl)}
  .login-theme-button{top:var(--sp-3);right:var(--sp-3)}
  .signup-plans,.payment-options{grid-template-columns:1fr}
  .signup-plan{min-height:0}
  .pix-result{grid-template-columns:1fr}
  .pix-qr-frame{width:200px;margin:auto}
  .checkout-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .signup-navigation{position:sticky;bottom:0;padding-top:var(--sp-3);background:var(--surface)}
  .signup-navigation button{flex:1}
}

/* Sessão salva: o login fica invisível enquanto o painel confere a sessão (boot.js). */
html.has-session #loginView{visibility:hidden}
