/* Tokens e tema vêm de /maker-tokens.css, carregado antes desta folha. */
:root{font-family:var(--font-body);line-height:1.5}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;min-height:100dvh;display:grid;place-items:center;background:var(--bg);color:var(--text)}
main{width:min(calc(100% - 2 * var(--sp-4)),30rem);margin:var(--sp-6) auto;padding:var(--sp-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}
.marca{font-size:1.125rem;font-weight:var(--display-weight);letter-spacing:var(--display-tracking);color:var(--text);text-decoration:none}
h1,#signup-result-title{margin:var(--sp-5) 0 var(--sp-3);font-size:clamp(1.6rem,5vw,2.1rem);line-height:1.15;font-weight:var(--display-weight);letter-spacing:var(--display-tracking)}
p{margin:0 0 var(--sp-3)}
#signup-description{color:var(--text-muted)}
#signup-password-hint{margin-top:var(--sp-1);font-size:.875rem;color:var(--text-muted)}
a{color:var(--link);display:inline-flex;align-items:center;min-width:24px;min-height:24px}
fieldset{border:0;margin:0;padding:0;min-width:0}
/* Enquanto a política carrega ou o envio roda, o formulário tem que parecer travado. */
fieldset:disabled label,fieldset:disabled input{opacity:.6}
label{display:block;margin:var(--sp-4) 0 var(--sp-1);font-weight:600}
/* Borda em --text-subtle: --border-strong fica abaixo de 3:1 sobre o fundo claro. */
input:not([type=checkbox]){display:block;width:100%;min-height:var(--touch-target);padding:var(--sp-3);border:1px solid var(--text-subtle);border-radius:var(--r-sm);background:var(--bg);color:var(--text);font:inherit}
label:has(> input[type=checkbox]){display:flex;align-items:flex-start;gap:var(--sp-2);min-height:var(--touch-target);font-weight:400;cursor:pointer}
input[type=checkbox]{flex:none;inline-size:24px;block-size:24px;margin:.125rem 0 0;accent-color:var(--brand);cursor:pointer}
button{font:inherit;min-height:var(--touch-target);margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:transparent;color:var(--text);cursor:pointer;transition:background var(--t-fast)}
button:hover{background:var(--surface-2)}
button:disabled{opacity:.6;cursor:default}
#signup-submit,#signup-continue,.botao{width:100%;border-color:transparent;background:var(--brand);color:var(--text-on-brand);font-weight:600}
#signup-submit:hover:enabled,#signup-continue:hover:enabled,.botao:hover{background:var(--brand-hover)}
.botao{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-sm);text-decoration:none}
:focus-visible{outline:var(--focus-width) solid var(--ring);outline-offset:var(--focus-offset)}
.acoes{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-5);margin:var(--sp-4) 0 0}
.acoes a:not(.botao){display:inline-flex;align-items:center;min-height:var(--touch-target)}
#signup-mode{margin:0;padding:0;border:0;background:none;color:var(--link);text-decoration:underline}
#signup-mode:hover{background:none}
output{display:block;overflow-wrap:anywhere;padding:var(--sp-4);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-2);font-family:var(--font-mono)}
#signup-status{margin-top:var(--sp-3);color:var(--text-muted)}
#signup-status:empty{margin:0}
#links-legais{font-size:.875rem}
