.spa-registration,.spa-objective,.spa-payment-placeholder{max-width:720px;margin:30px auto;padding:32px;background:#fff;border-radius:18px;box-shadow:0 12px 40px rgba(0,0,0,.07)}
.spa-registration h2,.spa-objective h2{margin:0 0 8px;color:#1f5b2b;font-size:30px}
.spa-registration p,.spa-objective p{color:#555}
.spa-registration label{display:block;margin:0 0 16px;font-weight:700;color:#25352a}
.spa-registration label span{font-weight:400;color:#777}
.spa-registration input,.spa-registration select{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:13px;border:1px solid #d8ded9;border-radius:10px;background:#fff}
.spa-security{color:#1f5b2b;font-size:14px}
.spa-registration button,.spa-button{width:100%;min-height:52px;border:0;border-radius:10px;background:#f47721;color:#fff;font-weight:800;cursor:pointer}
.spa-registration button:disabled,.spa-button:disabled{opacity:.6;cursor:wait}
.spa-form-message{margin-top:12px;font-size:14px}
.spa-form-message.is-error{color:#b42318}.spa-form-message.is-success{color:#1f5b2b}
.spa-progress{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:26px}
.spa-progress span{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#edf0ec;color:#60705f;font-weight:800}
.spa-progress span.is-active,.spa-progress span.is-done{background:#2f7d32;color:#fff}
.spa-progress i{width:45px;height:3px;background:#e5e8e3}
.spa-progress i.is-done{background:#2f7d32}
.spa-kicker{font-size:12px;font-weight:800;letter-spacing:1px;color:#f47721}
.spa-objective__intro{text-align:center;margin-bottom:24px}
.spa-objective__cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.spa-objective-card{padding:20px;text-align:left;border:2px solid #e8ece6;border-radius:15px;background:#fff;cursor:pointer;transition:.2s}
.spa-objective-card strong{display:block;color:#1f5b2b;font-size:17px;margin-bottom:7px}
.spa-objective-card span{display:block;color:#666;font-size:14px;line-height:1.45}
.spa-objective-card.is-selected{border-color:#2f7d32;background:#f5faef;box-shadow:0 5px 18px rgba(47,125,50,.12)}
.spa-objective__note{text-align:center;font-size:13px}
.spa-payment-placeholder{text-align:center}
.spa-payment-placeholder h2{color:#1f5b2b}
@media(max-width:767px){
.spa-registration,.spa-objective,.spa-payment-placeholder{margin:20px 14px;padding:22px 18px}
.spa-objective__cards{grid-template-columns:1fr}
.spa-objective-card{padding:17px}
}

.spa-objective-continue.is-disabled{opacity:.6;cursor:not-allowed;pointer-events:auto}
.spa-objective-continue:not(.is-disabled){opacity:1;cursor:pointer}

.spa-payment-placeholder{background:#fff;border-radius:18px;box-shadow:0 12px 35px rgba(0,0,0,.08);padding:42px;max-width:720px;margin:30px auto;text-align:center}
.spa-payment-placeholder .spa-kicker{display:block;color:#ff6b18;font-weight:800;font-size:13px;letter-spacing:2px;margin-bottom:14px}
.spa-payment-placeholder h2{color:#164b20;font-size:30px;margin:0 0 12px}
.spa-payment-placeholder p{color:#5d6470;font-size:16px;line-height:1.6;margin:0 auto 24px;max-width:600px}
.spa-payment-card{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #e5eadf;border-radius:14px;background:#fafcf7;padding:20px 24px;text-align:left;margin:0 auto 20px;max-width:580px}
.spa-payment-card small{display:block;color:#496047;font-weight:700;font-size:11px;letter-spacing:.6px;margin-bottom:5px}
.spa-payment-card strong{display:block;color:#174b20;font-size:20px}
.spa-payment-price{color:#174b20;font-weight:800;font-size:34px;white-space:nowrap}
.spa-payment-price span{font-size:16px;vertical-align:top;margin-right:2px}
.spa-payment-benefits{list-style:none;margin:0 auto 24px;padding:0;text-align:left;max-width:580px;color:#38523c}
.spa-payment-benefits li{padding:6px 0}
.spa-payment-continue{width:100%;max-width:580px}
@media(max-width:767px){
.spa-payment-placeholder{padding:28px 18px;margin:20px 12px}
.spa-payment-placeholder h2{font-size:24px}
.spa-payment-card{padding:16px;align-items:flex-start}
.spa-payment-price{font-size:28px}
}

.spa-area,.spa-full-questionnaire{max-width:760px;margin:30px auto;padding:10px}.spa-area__header{text-align:center;margin-bottom:24px}.spa-area__card{background:#fff;border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(0,0,0,.07)}.spa-area__title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}.spa-area__title span{font-size:13px;opacity:.65}.spa-area__steps{display:grid;gap:14px}.spa-area__step{display:flex;align-items:center;gap:12px;opacity:.55}.spa-area__step.is-active,.spa-area__step.is-done{opacity:1}.spa-area__step>span{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eee;font-weight:700}.spa-area__step.is-done>span{background:#dff5e8}.spa-area__step.is-active>span{background:#f2eadf}.spa-area__step small{display:block;opacity:.65;margin-top:3px}.spa-progressbar{height:9px;background:#eee;border-radius:20px;overflow:hidden;margin:24px 0 8px}.spa-progressbar span{display:block;height:100%;background:#e7a35a;border-radius:20px;transition:width .25s ease}.spa-area__progress{font-size:14px;margin-bottom:22px}.spa-button{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;width:100%;box-sizing:border-box}.spa-question{background:#fff;border-radius:16px;padding:20px;margin:20px 0;box-shadow:0 8px 24px rgba(0,0,0,.06)}.spa-question__number{display:inline-flex;width:30px;height:30px;border-radius:50%;align-items:center;justify-content:center;background:#f2eadf;font-weight:700;margin-bottom:10px}.spa-question label{display:block}.spa-question label>strong{display:block;font-size:18px;line-height:1.35;margin-bottom:12px}.spa-question input,.spa-question select,.spa-question textarea{width:100%;box-sizing:border-box}.spa-question textarea{min-height:110px;resize:vertical}.spa-question small{display:block;margin-top:5px;opacity:.65}.spa-radio-list{display:flex;gap:16px;flex-wrap:wrap}.spa-radio-list label{display:flex!important;align-items:center;gap:6px}.spa-radio-list input{width:auto}.spa-answer-save{margin-top:14px}.spa-questionnaire-progress{margin:20px 0}.spa-form-message.is-error{color:#a00}.spa-form-message.is-success{color:#18794e}

/* Questionário em modo uma pergunta por vez */
.spa-question[hidden],
.spa-questionnaire-complete-message[hidden]{display:none!important}
.spa-question.is-current{display:block}
.spa-q-progress-label{display:block;font-size:16px}
.spa-q-progress-count{display:block;margin-top:5px;font-size:13px;font-weight:400;color:#68736a}
.spa-question .spa-answer-save{display:block;width:100%;min-height:46px;padding:12px 18px;border:1px solid #ff6b57;border-radius:4px;background:#fff;color:#ff406b;font-weight:600;cursor:pointer}
.spa-question .spa-answer-save.is-loading{opacity:.65;cursor:wait}
.spa-question .spa-form-message{min-height:18px}

.spa-plan-status{margin-top:18px;padding:18px 20px;border-radius:14px;background:#f4f9f1;border:1px solid #dfeadb;text-align:center;color:#244d2b}.spa-plan-status strong{display:block;font-size:17px;margin-bottom:6px}.spa-plan-status span{display:block;color:#617064;font-size:14px}.spa-plan-button{background:#2f7d32!important}.spa-plan-page{max-width:820px}.spa-plan-header{text-align:center;margin-bottom:24px}.spa-plan-header h2{color:#1f5b2b;font-size:32px;margin:8px 0}.spa-plan-header p{color:#5d6470}.spa-plan-empty,.spa-plan-content{background:#fff;border-radius:18px;padding:28px;box-shadow:0 10px 30px rgba(0,0,0,.07);margin-bottom:20px}.spa-plan-empty{text-align:center}.spa-plan-empty h2{color:#1f5b2b}.spa-plan-empty p{color:#5d6470;line-height:1.65;margin-bottom:24px}.spa-plan-content{line-height:1.7;color:#26332a}.spa-plan-content h1,.spa-plan-content h2,.spa-plan-content h3{color:#1f5b2b}.spa-plan-content ul,.spa-plan-content ol{padding-left:24px}.spa-plan-content table{width:100%;border-collapse:collapse;margin:16px 0}.spa-plan-content th,.spa-plan-content td{border:1px solid #e1e6df;padding:10px;text-align:left}@media(max-width:767px){.spa-plan-empty,.spa-plan-content{padding:20px}.spa-plan-header h2{font-size:26px}}

/* Área profissional do nutricionista */
.spa-nutri-wrap{max-width:900px;margin:35px auto 60px;padding:0 18px}
.spa-nutri-card{background:#fff;border-radius:18px;box-shadow:0 10px 35px rgba(0,0,0,.08);padding:38px 44px}
.spa-nutri-heading{text-align:center;margin-bottom:28px}
.spa-nutri-heading h1{margin:8px 0;color:#153c1c;font-size:32px}
.spa-nutri-heading p{margin:0;color:#5e6670;line-height:1.6}
.spa-nutri-form{max-width:520px;margin:0 auto}
.spa-nutri-form label{display:block;font-weight:700;color:#173c20;margin:0 0 17px}
.spa-nutri-form input{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:14px;border:1px solid #d8ded9;border-radius:10px;background:#fff;font-size:16px}
.spa-nutri-button{display:flex;width:100%;min-height:52px;align-items:center;justify-content:center;border:0;border-radius:10px;background:#2f7d32;color:#fff;font-weight:800;text-decoration:none;cursor:pointer}
.spa-nutri-button:disabled{opacity:.65;cursor:wait}
.spa-nutri-forgot{display:block;text-align:center;margin:15px 0;color:#2f7d32;text-decoration:none}
.spa-nutri-login-message{text-align:center;min-height:22px;margin-top:12px;font-size:14px;color:#a42318}
.spa-nutri-register-link{text-align:center;border-top:1px solid #eee;margin-top:28px;padding-top:22px;color:#66706a}
.spa-nutri-register-link a{color:#2f7d32;font-weight:700}
.spa-nutri-message{text-align:center}
.spa-nutri-message h1{color:#153c1c}
.spa-nutri-message p{color:#5e6670;margin-bottom:20px}
.spa-nutri-message .spa-nutri-button{max-width:220px;margin:0 auto}
.spa-nutri-dashboard-head{background:#fff;border-radius:18px;padding:28px 32px;box-shadow:0 10px 30px rgba(0,0,0,.07);display:flex;justify-content:space-between;align-items:center;gap:25px}
.spa-nutri-dashboard-head h1{margin:7px 0;color:#153c1c;font-size:32px}
.spa-nutri-dashboard-head p{margin:0;color:#5e6670}
.spa-nutri-avatar{width:92px;height:92px;border-radius:50%;object-fit:cover;border:4px solid #eef4ea;flex:0 0 auto}
.spa-nutri-avatar--empty{display:flex;align-items:center;justify-content:center;background:#eef4ea;font-size:38px}
.spa-nutri-profile-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}
.spa-nutri-profile-strip>div{background:#fff;border:1px solid #e5eae3;border-radius:12px;padding:15px 17px}
.spa-nutri-profile-strip strong,.spa-nutri-profile-strip span{display:block}
.spa-nutri-profile-strip strong{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:#718071;margin-bottom:5px}
.spa-nutri-profile-strip span{color:#213b25;font-weight:600;font-size:14px}
.spa-nutri-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}
.spa-nutri-stat{background:#fff;border-radius:15px;padding:20px;text-align:center;box-shadow:0 7px 24px rgba(0,0,0,.05)}
.spa-nutri-stat strong{display:block;font-size:30px;color:#2f7d32}
.spa-nutri-stat span{color:#68736a;font-size:14px}
.spa-nutri-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.spa-nutri-action-card{background:#fff;border-radius:15px;padding:22px;text-decoration:none;box-shadow:0 7px 24px rgba(0,0,0,.05);border:1px solid transparent;transition:.2s}
.spa-nutri-action-card:hover{border-color:#cfe0ca;transform:translateY(-2px)}
.spa-nutri-action-card span{display:block;font-size:30px;margin-bottom:12px}
.spa-nutri-action-card strong{display:block;color:#1f5b2b;font-size:17px;margin-bottom:6px}
.spa-nutri-action-card small{display:block;color:#68736a;line-height:1.45}
.spa-nutri-next{background:#f6faf3;border:1px solid #dfeadb;border-radius:15px;padding:20px 22px;margin-top:16px}
.spa-nutri-next strong{color:#1f5b2b}
.spa-nutri-next p{margin:7px 0 0;color:#5f6b61;line-height:1.55}
.spa-nutri-footer-actions{text-align:right;margin-top:18px}
.spa-nutri-footer-actions a{color:#6a756b;text-decoration:none;font-size:14px}
@media(max-width:767px){
 .spa-nutri-card{padding:26px 20px}
 .spa-nutri-heading h1,.spa-nutri-dashboard-head h1{font-size:26px}
 .spa-nutri-dashboard-head{padding:23px 20px;align-items:flex-start}
 .spa-nutri-avatar{width:70px;height:70px}
 .spa-nutri-profile-strip,.spa-nutri-stats,.spa-nutri-actions{grid-template-columns:1fr}
}

.spa-nutri-notice{background:#f6faf3;border-left:4px solid #ff7624;border-radius:8px;padding:15px 16px;margin:0 auto 25px;max-width:650px;color:#405044;line-height:1.55}
.spa-nutri-form small{display:block;margin-top:6px;color:#788178;font-weight:400}
.spa-nutri-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.spa-nutri-form select,.spa-nutri-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:14px;border:1px solid #d8ded9;border-radius:10px;background:#fff;font-size:16px}
.spa-nutri-form input[type=file]{padding:12px;background:#fbfcfb;border-style:dashed}
.spa-nutri-register-message{min-height:24px;margin-top:12px;text-align:center;color:#a42318}
@media(max-width:767px){.spa-nutri-grid{grid-template-columns:1fr}}

.spa-nutri-server-message{margin:14px auto 0;padding:12px 14px;border-radius:9px;background:#fff3f1;color:#a42318;font-size:14px;max-width:520px}

.spa-password-wrap{position:relative;display:block}
.spa-password-wrap input{padding-right:88px!important}
.spa-password-toggle{position:absolute;right:9px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#2f7d32;font-weight:700;font-size:13px;cursor:pointer;padding:7px 6px}
.spa-password-toggle:hover{text-decoration:underline}

.spa-nutri-subhead{margin:10px 0 25px}
.spa-nutri-subhead h1{margin:7px 0;font-size:32px;color:#063e1c}
.spa-nutri-list{display:flex;flex-direction:column;gap:12px}
.spa-nutri-list-row{background:#fff;border:1px solid #e1e8df;border-radius:14px;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:0 5px 18px rgba(0,0,0,.04)}
.spa-nutri-list-row strong{display:block;color:#063e1c;font-size:17px}
.spa-nutri-list-row small{display:block;color:#718078;margin-top:5px}
.spa-nutri-list-row>div:last-child{display:flex;align-items:center;gap:14px;color:#647169;font-size:14px}
.spa-nutri-small-button{display:inline-block;background:#2f7d32;color:#fff!important;padding:10px 14px;border-radius:8px;text-decoration:none;font-weight:700}
.spa-nutri-empty{background:#f7faf5;border:1px dashed #cbd9c7;border-radius:14px;padding:30px;text-align:center;color:#667267}
.spa-nutri-client-box{background:#f7faf5;border:1px solid #dfe8db;border-radius:14px;padding:20px;margin-bottom:18px}
.spa-nutri-client-box>strong{display:block;color:#063e1c;margin-bottom:14px}
.spa-nutri-client-box>div{display:flex;gap:30px;flex-wrap:wrap}
.spa-nutri-client-box span{color:#718078;font-size:13px}
.spa-nutri-client-box b{color:#1c2d21;font-size:15px}
.spa-nutri-answers{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.spa-nutri-answers>div{background:#fff;border:1px solid #e2e7e1;border-radius:12px;padding:16px}
.spa-nutri-answers strong{color:#063e1c}
.spa-nutri-answers p{margin:8px 0 0;color:#48564c;line-height:1.55}
@media(max-width:700px){.spa-nutri-list-row{flex-direction:column;align-items:flex-start}.spa-nutri-list-row>div:last-child{flex-wrap:wrap}.spa-nutri-answers{grid-template-columns:1fr}}

.spa-nutri-analysis-status{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#f6faf3;border:1px solid #dfe9da;border-radius:12px;padding:16px 18px;margin:0 0 18px}
.spa-nutri-analysis-status span{font-weight:700;color:#2f7d32}
.spa-nutri-professional-box,.spa-nutri-ai-box,.spa-nutri-review-box{background:#fff;border:1px solid #dfe5dc;border-radius:14px;padding:24px;margin-top:22px}
.spa-nutri-professional-box h2,.spa-nutri-ai-box h2,.spa-nutri-review-box h2{margin:6px 0 8px;color:#14551b}
.spa-nutri-professional-box p,.spa-nutri-ai-box p,.spa-nutri-review-box p{color:#66706a;line-height:1.6}
.spa-nutri-professional-box textarea{width:100%;box-sizing:border-box;border:1px solid #d7ded6;border-radius:10px;padding:14px;font-size:16px;resize:vertical;min-height:150px}
.spa-nutri-form-actions{margin-top:12px}
.spa-nutri-outline-button{border:1px solid #2f7d32;background:#fff;color:#2f7d32;border-radius:9px;padding:12px 18px;font-weight:700;cursor:pointer}
.spa-nutri-outline-button:hover{background:#f2f8f1}
.spa-nutri-ai-box{background:#f8fbf6}
.spa-nutri-info{margin-top:14px;padding:12px 14px;background:#eef7ea;border-radius:9px;color:#2f6334}
.spa-nutri-muted{color:#778078}
.spa-nutri-plan-preview{background:#fafcf9;border:1px solid #e3e9e1;border-radius:10px;padding:18px;margin:15px 0;line-height:1.7}
.spa-nutri-review-box button[disabled]{opacity:.55;cursor:not-allowed}
@media(max-width:767px){.spa-nutri-analysis-status{align-items:flex-start;flex-direction:column}}
