/* Ajustes do app de verdade (o resto vem do protótipo, em app.css) */
html,body{margin:0}
header .wrap{padding-top:calc(18px + env(safe-area-inset-top,0px))}
main .wrap{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
.link-out{background:none;border:1px solid var(--line);border-radius:99px;padding:3px 10px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer}
.link-btn{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;font-size:14px;padding:4px;align-self:flex-start}
.banner{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:12px 16px;margin-bottom:18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.login{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:32px;align-items:center;min-height:60vh}
.login-art{display:grid;place-items:center}
.login-art .paper{width:min(80%,320px);aspect-ratio:2/1;background:var(--note);border-radius:6px;display:grid;place-items:center;transform:rotate(-5deg);
  box-shadow:0 24px 50px -28px rgba(20,40,60,.6);background-image:linear-gradient(90deg,transparent 49.6%,rgba(120,90,30,.25) 50%,transparent 50.4%)}
.login-art .paper span{font-family:var(--f-hand);font-size:clamp(28px,4vw,40px);color:var(--note-ink)}
.login-card h2{font-size:28px}
.login-card .field{gap:10px}
.login-card input{font-size:18px}
#code{letter-spacing:.3em;font-size:22px;text-align:center}
.fix-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.fix-form input{max-width:200px;padding:6px 10px;font-size:14px;background:#fff;color:var(--note-ink);border-color:#e3d5b2}
.review-note{font-size:12px;color:var(--note-muted);font-style:italic}
.price-box{display:flex;flex-direction:column;gap:2px}
#plan-actions{flex-direction:column;align-items:stretch}
.cycles{display:grid;gap:10px}
.cycle{text-align:left;border:1.5px solid var(--line);background:var(--surface);border-radius:14px;padding:12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:2px;color:var(--ink)}
.cycle b{font-size:16px}
.cycle .cycle-big{font-family:var(--f-display);font-weight:400;font-size:20px;color:var(--ink)}.cycle span{font-size:14px;color:var(--muted)}
.cycle em{font-style:normal;font-size:13px;font-weight:700;color:var(--sage)}
.cycle[aria-checked="true"]{border-color:var(--honey);box-shadow:inset 0 0 0 1.5px var(--honey)}
.cancel-box{display:flex;flex-direction:column;gap:10px;background:var(--soft);border-radius:12px;padding:12px}
.loading-note{display:flex;align-items:center;gap:10px;color:var(--muted)}
.spin{width:18px;height:18px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--honey);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:820px){.login{grid-template-columns:minmax(0,1fr);min-height:0}.login-art .paper{width:60%}}
@media (prefers-reduced-motion:reduce){.spin{animation:none}}
