*{margin:0;padding:0;box-sizing:border-box}
:root{
  --navy:#0D2B4E;--teal:#1D9E75;--gold:#C8780A;
  --bg:#F5F7FA;--bg2:#EEF2F7;--white:#fff;
  --text:#1A1A1A;--text2:#595959;--text3:#9E9E9E;--err:#C00000;
}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}

/* NAV */
nav{background:var(--navy);padding:0 5%;display:flex;align-items:center;min-height:62px}
.logo{font-size:22px;font-weight:900;color:#fff;letter-spacing:-0.5px;text-decoration:none}
.logo span{color:var(--teal)}

.section-label{font-size:12px;font-weight:700;color:var(--teal);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}

/* AUTH LAYOUT */
.auth-bg{min-height:calc(100vh - 62px);display:flex;align-items:flex-start;justify-content:center;padding:56px 5% 80px}
.auth-wrapper{max-width:560px;width:100%}

/* PROGRESS STEPS */
.auth-progress{display:flex;align-items:center;margin-bottom:40px}
.auth-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}
.auth-step-num{width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid #D0D8E4;color:var(--text3);font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center}
.auth-step.active .auth-step-num{background:var(--navy);border-color:var(--navy);color:#fff}
.auth-step.done .auth-step-num{background:var(--teal);border-color:var(--teal);color:#fff;font-size:16px}
.auth-step-label{font-size:12px;font-weight:600;color:var(--text3);white-space:nowrap}
.auth-step.active .auth-step-label{color:var(--navy);font-weight:700}
.auth-step.done .auth-step-label{color:var(--teal)}
.auth-step-line{flex:1;height:2px;background:#D0D8E4;margin:0 10px;margin-bottom:24px}
.auth-step-line.done{background:var(--teal)}

/* HEADER */
.auth-header{margin-bottom:32px}
.auth-title{font-size:clamp(22px,4vw,30px);font-weight:900;color:var(--navy);line-height:1.25;margin-bottom:10px}
.auth-sub{font-size:15px;color:var(--text2)}

/* FORM (mesma linguagem visual da landing) */
.form-group{margin-bottom:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-group label{display:block;font-size:13px;font-weight:700;color:var(--navy);margin-bottom:6px}
.form-group input,.form-group select{width:100%;padding:13px 15px;border:1.5px solid #D0D8E4;border-radius:10px;font-size:14px;font-family:'Inter',sans-serif;color:var(--text);background:#fff;outline:none;transition:border .2s}
.form-group input:focus,.form-group select:focus{border-color:var(--teal)}
.form-group input::placeholder{color:var(--text3)}
.field-error{display:none;font-size:12px;color:var(--err);margin-top:5px}
.form-group.has-error input,.form-group.has-error select{border-color:var(--err)}
.form-group.has-error .field-error{display:block}

.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px}
.check-item{display:flex;align-items:center;gap:9px;padding:9px 13px;border:1.5px solid #D0D8E4;border-radius:8px;cursor:pointer;transition:border .2s,background .2s;user-select:none}
.check-item:hover{border-color:var(--teal);background:#f0faf6}
.check-item input[type=checkbox],.check-item input[type=radio]{width:15px;height:15px;accent-color:var(--teal);cursor:pointer}
.check-item span{font-size:13px;color:var(--text);font-weight:500}

.outra-cidade-wrap{display:none;margin-top:8px}
.outra-cidade-wrap.visible{display:block}

.form-submit{background:var(--navy);color:#fff;border:none;padding:17px;border-radius:12px;font-size:16px;font-weight:900;cursor:pointer;width:100%;font-family:'Inter',sans-serif;margin-top:6px;transition:background .2s}
.form-submit:hover{background:#0a2240}
.form-submit:disabled{opacity:.5;cursor:not-allowed}
.form-note{text-align:center;font-size:12px;color:var(--text3);margin-top:13px;line-height:1.6}

.auth-switch{text-align:center;margin-top:24px;font-size:14px;color:var(--text2)}
.auth-switch a{color:var(--teal);font-weight:700;text-decoration:none}

/* PHOTO UPLOAD */
.photo-upload{display:flex;align-items:center;gap:18px}
.photo-preview{width:84px;height:84px;border-radius:50%;background:var(--bg2);border:2px dashed #D0D8E4;display:flex;align-items:center;justify-content:center;font-size:30px;overflow:hidden;flex-shrink:0}
.photo-preview img{width:100%;height:100%;object-fit:cover}
.photo-upload-actions{display:flex;flex-direction:column;gap:6px}
.photo-upload-btn{display:inline-block;background:#fff;border:1.5px solid var(--navy);color:var(--navy);padding:9px 18px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;width:fit-content}
.photo-upload-btn:hover{background:var(--navy);color:#fff}
.photo-upload-hint{font-size:12px;color:var(--text3)}

/* PAINEL (boas-vindas pós-cadastro) */
.painel-wrapper{max-width:560px}
.painel-welcome{text-align:center;margin-bottom:32px}
.painel-icon{font-size:44px;margin-bottom:14px}
.painel-card{background:#fff;border-radius:18px;padding:28px;border:1px solid #E0E6EC;margin-bottom:24px}
.painel-card-header{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.painel-avatar{width:56px;height:56px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:22px;overflow:hidden;flex-shrink:0}
.painel-avatar img{width:100%;height:100%;object-fit:cover}
.painel-nome{font-size:17px;font-weight:800;color:var(--navy)}
.painel-local{font-size:13px;color:var(--text2)}
.painel-score-row{display:flex;border-top:1px solid var(--bg2);border-bottom:1px solid var(--bg2);padding:20px 0;margin-bottom:20px}
.painel-score-block{flex:1;text-align:center}
.painel-score-num{font-size:30px;font-weight:900;color:var(--navy)}
.painel-score-level{font-size:18px;font-weight:800;color:var(--text3)}
.painel-score-label{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}
.painel-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.painel-info-label{display:block;font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
.painel-info-val{display:block;font-size:14px;font-weight:700;color:var(--navy)}
.painel-explainer{font-size:13px;color:var(--text2);line-height:1.65;background:var(--bg2);border-radius:10px;padding:14px 16px}

.painel-patrimonio{background:#EAF7EF;border:1px solid #BFE7CE;border-radius:10px;padding:16px 18px;font-size:14px;font-weight:700;color:var(--navy);line-height:1.55;text-align:center;margin-bottom:20px}

.painel-btn-principal{display:block;text-align:center;text-decoration:none;box-sizing:border-box}
.painel-btn-secundario{display:block;width:100%;text-align:center;background:#fff;color:var(--navy);border:1.5px solid var(--navy);padding:15px;border-radius:12px;font-size:15px;font-weight:800;cursor:pointer;font-family:'Inter',sans-serif;margin-top:12px;transition:background .2s}
.painel-btn-secundario:hover{background:var(--bg2)}

@media (max-width:560px){
  .form-row{grid-template-columns:1fr}
  .painel-score-row{flex-direction:column;gap:14px}
}
