/* Telas da central (cadastro, assinatura, painel). Base: daima.css da plataforma. */
[hidden]{ display:none !important; }
.c-pagina{ min-height:100vh; display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(0, 1fr); background:var(--bg); }
.c-lado{ padding:56px 56px 40px; display:flex; flex-direction:column; gap:26px;
  background:linear-gradient(160deg, color-mix(in srgb, var(--coral) 14%, var(--surface)) 0%, var(--bg) 70%); }
.c-lado img.logo{ height:44px; width:auto; align-self:flex-start; }
.c-selo{ display:inline-block; align-self:flex-start; background:var(--coral); color:#fff; border-radius:99px;
  padding:7px 16px; font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:13px; letter-spacing:.06em; }
.c-lado h1{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:40px; line-height:1.08; letter-spacing:-.035em; margin:0; max-width:540px; text-wrap:balance; }
.c-lado p.lead{ font-size:16.5px; color:var(--ink-muted); margin:0; max-width:520px; line-height:1.6; }
.c-lista{ list-style:none; padding:0; margin:0; display:grid; gap:12px; max-width:520px; }
.c-lista li{ display:flex; gap:12px; align-items:flex-start; font-size:15px; line-height:1.5; }
.c-lista li::before{ content:''; flex:0 0 22px; height:22px; border-radius:50%; margin-top:1px;
  background:var(--coral) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/13px no-repeat; }
.c-lista b{ font-family:'Plus Jakarta Sans', sans-serif; }
.c-rodape{ margin-top:auto; font-size:12.5px; color:var(--ink-faint); }

.c-form-wrap{ padding:48px 40px; display:flex; align-items:center; justify-content:center; }
.c-card{ background:var(--surface); border-radius:24px; box-shadow:var(--shadow); padding:34px 32px; width:100%; max-width:470px; }
.c-card h2{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:23px; letter-spacing:-.02em; margin:0 0 4px; }
.c-card .sub{ color:var(--ink-muted); font-size:13.5px; margin:0 0 22px; }
.c-duas{ display:grid; grid-template-columns:1fr 1fr; gap:0 12px; }
.c-endereco{ display:flex; align-items:stretch; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--surface); }
.c-endereco:focus-within{ outline:3px solid color-mix(in srgb, var(--coral) 28%, transparent); border-color:var(--coral); }
.c-endereco input{ border:none !important; outline:none !important; border-radius:0 !important; min-width:0; flex:1; text-align:right; padding-right:2px !important; }
.c-endereco span{ display:flex; align-items:center; padding:0 12px 0 0; color:var(--ink-muted); font-size:13.5px; white-space:nowrap; }
.c-dica{ font-size:12px; margin:5px 2px 0; min-height:17px; color:var(--ink-muted); }
.c-dica.ok{ color:var(--good); } .c-dica.erro{ color:var(--crit); }
.c-aceite{ display:flex; gap:9px; align-items:flex-start; font-size:12.5px; color:var(--ink-muted); margin:4px 0 16px; line-height:1.5; }
.c-aceite input{ margin-top:3px; accent-color:var(--coral); }
.c-erro{ color:var(--crit); font-size:13px; margin:0 0 12px; display:none; }
.c-btn-largo{ width:100%; padding:13px 18px !important; font-size:15px !important; }
.c-pronto{ text-align:center; }
.c-pronto .icone{ width:62px; height:62px; border-radius:50%; background:color-mix(in srgb, var(--verde) 16%, var(--surface)); color:var(--verde);
  display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
.c-pronto .endereco{ font-family:'IBM Plex Mono', monospace; background:var(--surface-2); border-radius:12px; padding:10px 12px; margin:14px 0 18px; word-break:break-all; font-size:13.5px; }
.c-escondido{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.c-preparando{ display:flex; gap:12px; align-items:center; justify-content:center; color:var(--ink-muted); padding:30px 0; }
.c-roda{ width:22px; height:22px; border-radius:50%; border:3px solid color-mix(in srgb, var(--coral) 25%, transparent); border-top-color:var(--coral); animation:c-gira .8s linear infinite; }
@keyframes c-gira{ to{ transform:rotate(360deg); } }

/* Assinatura */
.c-planos{ display:grid; gap:12px; margin:6px 0 18px; }
.c-plano{ display:flex; gap:12px; align-items:flex-start; border:1.5px solid var(--line); border-radius:18px; padding:14px 16px; cursor:pointer; background:var(--surface); }
.c-plano:has(input:checked){ border-color:var(--coral); background:color-mix(in srgb, var(--coral) 6%, var(--surface)); }
.c-plano input{ margin-top:4px; accent-color:var(--coral); }
.c-plano .nome{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:15.5px; }
.c-plano .preco{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:18px; margin-left:auto; white-space:nowrap; }
.c-plano .preco small{ font-size:12px; color:var(--ink-muted); font-weight:600; }
.c-plano .desc{ font-size:13px; color:var(--ink-muted); margin-top:2px; }
.c-aviso{ border-radius:14px; padding:11px 14px; font-size:13.5px; margin:0 0 16px; background:var(--surface-2); line-height:1.5; }
.c-aviso.ok{ background:color-mix(in srgb, var(--verde) 12%, var(--surface)); color:var(--good); }
.c-aviso.atencao{ background:var(--warn-soft); color:var(--warn); }

@media (max-width:900px){
  .c-pagina{ grid-template-columns:1fr; }
  .c-lado{ padding:28px 20px 8px; gap:16px; background:none; }
  .c-lado h1{ font-size:29px; }
  .c-lado p.lead{ font-size:15px; }
  .c-lista, .c-rodape{ display:none; }
  .c-form-wrap{ padding:12px 14px 32px; align-items:flex-start; }
  .c-card{ padding:24px 18px; border-radius:20px; }
  .c-duas{ grid-template-columns:1fr; }
}

/* Páginas legais (termos.html, privacidade.html) */
.c-legal{ max-width:760px; margin:0 auto; padding:36px 22px 60px; line-height:1.7; font-size:15px; }
.c-legal-logo{ height:34px; margin-bottom:20px; }
.c-legal h1{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:30px; letter-spacing:-.03em; margin:12px 0 4px; line-height:1.15; }
.c-legal h2{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:17px; margin:28px 0 6px; }
.c-legal-data{ color:var(--ink-muted); font-size:13px; margin:0 0 18px; }
.c-legal ul{ padding-left:20px; }
.c-legal li{ margin-bottom:6px; }
.c-legal mark{ background:color-mix(in srgb, var(--ambar) 30%, transparent); color:inherit; padding:0 3px; border-radius:4px; }
.c-legal-rodape{ margin-top:36px; padding-top:16px; border-top:1px solid var(--line); color:var(--ink-muted); font-size:13px; }
@media (max-width:600px){ .c-legal{ padding:22px 16px 40px; font-size:14.5px; } .c-legal h1{ font-size:24px; } }
