@font-face{font-family:Nimbus;src:url('assets/nimbus-sans.woff2');font-weight:400;font-display:swap;unicode-range:U+0000-024F,U+2000-206F,U+20A0-20CF,U+2100-214F}@font-face{font-family:Nimbus;src:url('assets/nimbus-sans.otf');font-weight:400;font-display:swap;unicode-range:U+0250-1FFF,U+2070-209F,U+20D0-20FF,U+2150-10FFFF}@font-face{font-family:Nimbus;src:url('assets/nimbus-sans-bold.woff2');font-weight:600 800;font-display:swap;unicode-range:U+0000-024F,U+2000-206F,U+20A0-20CF,U+2100-214F}@font-face{font-family:Nimbus;src:url('assets/nimbus-sans-bold.otf');font-weight:600 800;font-display:swap;unicode-range:U+0250-1FFF,U+2070-209F,U+20D0-20FF,U+2150-10FFFF}@font-face{font-family:Editorial;src:url('assets/p052-roman.woff2');font-display:swap;unicode-range:U+0000-024F,U+2000-206F,U+20A0-20CF,U+2100-214F}@font-face{font-family:Editorial;src:url('assets/p052-roman.otf');font-display:swap;unicode-range:U+0250-1FFF,U+2070-209F,U+20D0-20FF,U+2150-10FFFF}
*{box-sizing:border-box}body{margin:0;background:#090909;color:#f7f2ec;font:16px/1.65 Nimbus,Arial,sans-serif}header{padding:24px 5%;border-bottom:1px solid #4d4d4d;display:flex;justify-content:space-between;gap:20px}header a{font-size:14px}header span{display:block;font-size:12px;letter-spacing:1px}a{color:inherit}main{max-width:1160px;margin:auto;padding:32px 24px}h1{font:400 40px/1.2 Editorial,Georgia,serif}h2{font:600 28px/1.3 Nimbus,Arial,sans-serif}h3{font-size:19px}small,.muted{color:#c7c1b9;font-size:14px}section,article,details{background:#161616;padding:24px;border:1px solid #4a4a4a;margin:20px 0}.layout{display:grid;grid-template-columns:260px 1fr;gap:24px}ol{padding-left:22px}li{margin:12px 0}.current{font-weight:700}label{display:block;margin:16px 0}input,textarea,select{background:#111;color:#fff;border:1px solid #888;padding:12px;font:inherit;width:100%;border-radius:0}textarea{min-height:95px;resize:vertical}input[type=checkbox]{width:22px;height:22px;vertical-align:middle;margin-right:10px}input[type=file]{font-size:14px}button,.button{background:#f7f2ec;color:#090909;border:1px solid #ddd;padding:12px 18px;margin:8px 10px 8px 0;font:inherit;cursor:pointer;display:inline-block;text-decoration:none}button.secondary{background:#252525;color:#fff}button:disabled{opacity:.5;cursor:wait}.bad{color:#f7f2ec}.notice{border-left:3px solid #c7c1b9;padding:12px 18px;background:#282828}#status{min-height:32px}summary{cursor:pointer;font-weight:700}.record{white-space:pre-wrap;overflow-wrap:anywhere}.file{display:block;margin:12px 0}nav{display:flex;flex-wrap:wrap;gap:12px}nav button{margin:0}.compact{max-width:640px}.badge{font-size:14px;border:1px solid #777;padding:4px 10px;display:inline-block}@media(max-width:750px){.layout{grid-template-columns:1fr}main{padding:20px 16px}h1{font-size:32px}section,article,details{padding:18px}header{padding:18px}button{min-height:44px}}

/* Curadoria: hierarquia das etapas, formulários e leitura em telas estreitas. */
header{align-items:center;flex-wrap:wrap}header>a:first-child{margin-right:auto;text-decoration:none;letter-spacing:1px}header .ef-language{margin-left:12px}main{width:100%;min-width:0}.layout{grid-template-columns:260px minmax(0,1fr)}.layout>section{align-self:start;position:sticky;top:24px}.layout>div,section,fieldset{min-width:0}h1,h2,h3,p,a,li{overflow-wrap:anywhere}h1{letter-spacing:-1px}h2{margin-top:0}ol{list-style:none;padding:0;margin:24px 0}ol li{padding:14px 0 14px 18px;border-left:2px solid #555;display:grid;gap:3px}ol li.current{border-color:#f7f2ec;background:#252525}ol li.locked{color:#c7c1b9}ol li small{font-size:12px;font-weight:400}.completed small{font-style:italic}fieldset{border:0;border-top:1px solid #4a4a4a;margin:28px 0;padding:18px 0 0}legend{font-size:19px;font-weight:700;padding-right:14px}label{font-size:15px;line-height:1.5}input,textarea,select{display:block;margin-top:8px;min-height:44px}textarea{min-height:88px}.check-label{display:flex;align-items:flex-start;gap:12px}.check-label input{flex:0 0 22px;min-height:22px;margin:2px 0 0}details{padding:18px}summary{min-height:28px}button,.button{min-height:48px;max-width:100%}:focus-visible{outline:2px solid #f7f2ec;outline-offset:4px}.file{padding:14px;border:1px solid #555;text-decoration:none}.file:hover{background:#282828}.file small{display:block}.notice{line-height:1.65}.bad{color:#f7f2ec;border-left:3px solid #f7f2ec;padding:12px 16px}.button.secondary{background:#252525;color:#fff;border-color:#777}
@media(max-width:750px){header{gap:16px}header .ef-language{flex-basis:100%;justify-content:flex-end;margin:0}.layout{grid-template-columns:minmax(0,1fr)}.layout>section{position:static}ol{display:grid;grid-template-columns:minmax(0,1fr);margin:12px 0}ol li{margin:0;padding:10px 12px}h1{font-size:30px}h2{font-size:24px}section,article,details{padding:18px}button,.button{width:100%;margin-right:0}fieldset{margin-top:24px}}

.event{padding:18px;border:0;border-top:1px solid #555;background:transparent}.event h3{margin:0 0 8px;font-size:18px}.event p{margin:10px 0}.event small{display:block;overflow-wrap:anywhere}

nav button[aria-pressed=true],nav button[aria-current=true]{background:#f7f2ec;color:#090909;border-color:#f7f2ec}nav+nav{margin-top:24px}

[hidden]{display:none!important}

.postural-area{margin-top:28px}.postural-models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.postural-models figure,.postural-picture{margin:0;min-width:0}.postural-models img{width:100%;height:330px;object-fit:contain;background:#f7f2ec}.postural-models figcaption{padding-top:12px;font-size:14px;text-align:center}.postural-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.postural-upload-grid img{max-width:100%;height:220px;object-fit:contain;margin-top:12px}.postural-compare-controls,.postural-comparison-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.postural-comparison-row{margin:16px 0 32px}.postural-picture img{width:100%;height:400px;object-fit:contain;background:#101010}.postural-picture figcaption{margin:0 0 12px;text-align:center}.postural-report{background:#f7f2ec;color:#151515;padding:32px}.postural-report h4{margin:28px 0 8px}.postural-report .badge,.postural-report .muted{color:#333}.postural-report .notice{background:#e8e3dd;border-color:#666}.postural-report button{background:#151515;color:#f7f2ec}.postural-area>details{margin-top:28px}.postural-area form{margin-top:32px;padding-top:24px;border-top:1px solid #666}
@media(max-width:750px){.postural-models{gap:10px}.postural-models img{height:190px}.postural-models figcaption{font-size:12px}.postural-upload-grid,.postural-compare-controls{grid-template-columns:1fr;gap:8px}.postural-comparison-row{gap:14px}.postural-picture img{height:280px}.postural-report{padding:20px}}

/* Contato disponível sem sair da etapa atual. */
header .header-actions{align-items:center;gap:12px 20px;max-width:100%}
header .header-actions>a{display:inline-flex;align-items:center;min-height:44px}
header .header-whatsapp{justify-content:center;gap:10px;padding:10px 14px;border:1px solid #777;border-radius:2px;text-decoration:none;line-height:1.2;white-space:nowrap}
header .header-whatsapp svg{flex:none}header .header-whatsapp:hover{background:#252525;border-color:#f7f2ec}
header .ef-language select{margin-top:0}
@media(max-width:750px){header{padding-inline:16px}header .header-actions{width:100%}header .header-actions .ef-language{margin-left:auto}}

/* Auditoria: leitura, retorno dos formulários e acesso por teclado. */
.field-requirement{display:inline-block;margin-left:8px;font-size:12px;font-weight:400;color:#c7c1b9}
.action-feedback{margin:16px 0;max-width:100%;scroll-margin-block:24px}.action-feedback p{margin:0}.action-feedback .button{margin-top:14px}
#current-stage,#conteudo-jornada{scroll-margin-top:24px}#current-stage:focus{outline:none}
.skip-link{position:absolute;left:16px;top:-100px;z-index:10;padding:12px 18px;background:#f7f2ec;color:#090909}.skip-link:focus{top:12px}
.journey-footer{max-width:1160px;margin:0 auto;padding:24px;border-top:1px solid #4a4a4a;font-size:14px}.journey-footer a{display:inline-flex;align-items:center;min-height:44px}
header.privacy-header{max-width:800px;margin:auto;padding:24px;gap:16px}.privacy-content{max-width:800px}.privacy-content section>h2:not(:first-child){margin-top:32px}.privacy-content p{max-width:68ch}
@media(max-width:750px){.journey-footer{padding:20px 16px}header.privacy-header{padding:18px 16px}header.privacy-header .ef-language{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Consistência com o portal público e campos resistentes a telas estreitas. */
input,textarea,select{min-width:0;max-width:100%}
input[type=date]{appearance:none;min-inline-size:0}
button,.button{white-space:normal;text-align:center;overflow-wrap:break-word}
@media(max-width:750px){
 header .header-actions .ef-language{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;gap:12px!important;padding:0;justify-content:start;margin:0}
 header .header-actions .ef-language select{width:100%!important;min-width:0;margin:0}
 header.privacy-header .ef-language{width:100%;justify-content:flex-start}
}

.demo-controls{background:#101010;border-color:#888}.demo-controls>strong{font-size:13px;letter-spacing:1px}.demo-controls nav{gap:8px}.demo-controls nav button{font-size:13px;padding:10px 12px}.demo-controls>p{max-width:75ch}.demo-controls .button{font-size:14px}

[hidden]{display:none!important}

/* Fotos do histórico com tamanho útil para leitura no celular. */
@media(max-width:750px){.postural-history-gallery{grid-template-columns:minmax(0,1fr);gap:24px}.postural-history-gallery .postural-picture img{height:360px}.postural-history-gallery .postural-picture figcaption{font-size:14px}}

.next-action{padding:16px;margin-bottom:20px;border:1px solid #777}.next-action p{font-size:1rem}.next-action small{display:block;margin-bottom:14px}.next-action .button{display:block;text-align:center}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

[hidden]{display:none!important}#workspace{min-height:600px}

.intake-choices{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:.75rem}.intake-choices button{font-size:.9375rem;min-height:44px;padding:.625rem .875rem;width:auto;white-space:normal}.intake-assistance{margin-block:1rem}form label>small{display:block;line-height:1.5;margin-block:.35rem}form label:has(.intake-choices) textarea{min-height:5rem}

.intake-wizard [hidden]{display:none!important}.intake-wizard>section{scroll-margin-top:1rem}.intake-navigation{display:flex;gap:.75rem;flex-wrap:wrap;margin-block:1.25rem}.intake-navigation button{width:auto;min-height:44px}.intake-wizard article{border-bottom:1px solid #555;padding-block:1rem}.intake-wizard article h4{margin-block:0 .5rem}.intake-wizard article button{width:auto}.intake-wizard>section textarea{min-height:7rem}

.appointment-area{margin:1.5rem 0}.appointment-area>button{margin:.5rem 0}.appointment-area details{margin-top:1rem}.appointment-area summary{font-size:1rem;min-height:44px;cursor:pointer}.appointment-record{border:1px solid var(--line,#777);padding:1.25rem;margin:1rem 0}.appointment-record>button,.appointment-record>a.button{margin:.5rem .5rem .5rem 0}.appointment-form{margin-top:1rem}.appointment-record input,.appointment-record select{max-width:100%}

.intake-contact-choice{margin:1rem 0}.contact-choice-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.contact-choice-cards article{padding:1.25rem;display:flex;flex-direction:column;border:1px solid #777}.contact-choice-cards article h3{margin-top:0}.contact-choice-cards article p{flex:1}.contact-choice-cards button{width:100%;margin-top:1rem}.intake-contact-choice summary,.assisted-form-access summary{cursor:pointer;min-height:44px;font-size:1rem}.assisted-form-access{margin-top:1rem}@media(max-width:750px){.contact-choice-cards{grid-template-columns:1fr}}

/* Reuse the approved palette and control styles. */
.measurement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.measurement-grid label{min-width:0}.measurement-grid input{width:100%}.circumferences{margin-block:1.25rem}.table-scroll{overflow:auto;max-width:100%}.evolution-area table{border-collapse:collapse;width:100%;white-space:nowrap}.evolution-area th,.evolution-area td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border,#444)}.evolution-area caption{text-align:left;white-space:normal;padding-block:1rem}.next-action.student-home{margin-block:1rem;padding:1.25rem;border:1px solid #777;border-radius:12px}.next-action.student-home .button{display:inline-block}.appointment-slots{margin-block:1rem}.assisted-editor textarea{min-height:80px}.appointment-reminder{border:1px solid #777;padding:1rem;border-radius:8px}@media(max-width:480px){.measurement-grid{grid-template-columns:1fr}}
.appointment-day-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem;margin-block:1rem}.appointment-day-slots article{margin:0;min-width:0}.appointment-day-slots button{width:100%}

/* Atualizações discretas e ferramentas secundárias recolhidas. */
.appointment-content{min-width:0}.appointment-content>button{margin:.5rem 0}.appointment-loading,.appointment-feedback{min-height:28px;line-height:1.5}.management-tools,.management-filters,.portal-performance{margin-block:16px}.management-tools>summary,.management-filters>summary,.portal-performance>summary{min-height:44px;display:flex;align-items:center}.portal-performance article{padding:16px;margin-block:12px}.portal-performance article p{margin-block:6px}[aria-busy=true]{cursor:progress}
.assisted-registration{padding:16px;margin-bottom:20px;border:1px solid #777}.assisted-registration h2{margin-top:0}.assisted-registration p{margin-block:6px}

/* Lista de melhorias, V4 (08/11/2026): a etapa atual vem primeiro no celular. O percurso fica recolhido em "Etapa X de 5" e abre com um toque; no computador continua aberto, na coluna da esquerda. Só a visão do aluno (.ef-student). */
.ef-apoio{min-width:0}
.ef-percurso{background:transparent;border:0;padding:0;margin:0}
.ef-percurso>summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;list-style:none;min-height:44px;padding-right:30px;position:relative}
.ef-percurso>summary::-webkit-details-marker{display:none}
.ef-percurso>summary h2{margin:0;flex:1 1 auto}
.ef-percurso>summary .badge{flex:none}
.ef-percurso>summary::after{content:"";position:absolute;right:9px;top:50%;width:9px;height:9px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-75%) rotate(45deg)}
.ef-percurso[open]>summary::after{transform:translateY(-25%) rotate(-135deg)}
.ef-percurso>ol{margin:20px 0 0}
.ef-percurso~.badge{margin-top:18px}
.layout.ef-student>section{grid-column:1;grid-row:1}
.layout.ef-student>div{grid-column:2;grid-row:1}
@media(max-width:750px){
 .layout.ef-student>section,.layout.ef-student>div{grid-column:auto;grid-row:auto}
 #journey-detail.ef-student>nav[aria-label] .button{flex:1 1 0;width:auto;min-width:0;margin:0}
 .ef-student .next-action.student-home{padding:1rem;margin-block:.75rem}
 .ef-student .ef-percurso>summary h2{font-size:19px}
 #workspace>h1{margin-block:.3em .45em}
}
