/* ProStruct: shared controls and compact project workspace. */
body.ps-interface {
  --ps-surface:#151519;--ps-raised:#1d1d23;--ps-line:#393942;
  --ps-text:#f0f0f4;--ps-muted:#b5b5c2;--ps-accent:#fb923c;
  color-scheme:dark;accent-color:var(--ps-accent);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
.ps-interface ::selection{background:#9a3412;color:#fff}
.ps-interface :is(input,textarea){caret-color:var(--ps-accent)}
.ps-interface :is(button,a,summary,[role=button]){touch-action:manipulation}
.ps-interface button{user-select:none;-webkit-user-select:none;min-height:44px;transition:background-color 140ms ease-out,border-color 140ms ease-out,transform 120ms ease-out}
.ps-interface button:active:not(:disabled){transform:translateY(1px)}
.ps-interface :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ps-accent);outline-offset:3px}
.ps-interface :is(input,select,textarea){font-size:16px;min-width:0;max-width:100%}
.ps-interface input::placeholder,.ps-interface textarea::placeholder{color:#ababba;opacity:1}
.ps-interface input[type=checkbox]{width:20px;height:20px;min-height:20px;flex-shrink:0}
.ps-interface :is(h1,h2,h3){text-wrap:balance}
.ps-interface :is(p,.dica,.ajuda){text-wrap:pretty}
.ps-interface :is(table,.numero,#saldo){font-variant-numeric:tabular-nums}
.ps-interface :is(.card,.painel,.guia-form){box-shadow:none}
.ps-interface dialog{max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
.ps-interface .ps-skip{position:fixed;top:8px;left:12px;z-index:100;background:#f0f0f4;color:#111;padding:12px 18px;border-radius:8px;transform:translateY(-160%)}
.ps-interface .ps-skip:focus{transform:none}
.ps-interface .ep-navegacao{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1380px;padding:12px 24px;margin:0 auto 20px}
.ps-interface .ep-linha{order:2;margin:0}.ps-interface .ep-linha>p{display:none}
.ps-interface .ep-escolhas{display:flex;gap:6px;margin:0;width:auto}
.ps-interface .ep-escolha{flex-direction:row;gap:8px;min-height:46px;padding:8px 16px;border:1px solid var(--ps-line);border-radius:8px;background:transparent;box-shadow:none;align-items:center}
.ps-interface .ep-escolha svg{width:24px;height:24px;stroke:currentColor}
.ps-interface .ep-escolha strong{font-size:15px}.ps-interface .ep-escolha small,.ps-interface .ep-escolha em{display:none}
.ps-interface .ep-escolha.ep-atual{background:#3a2418;color:#ffbd87;border-color:#ae652f}
.ps-interface .ep-conta{color:var(--ps-text);font-size:14px;min-height:44px}
.ps-interface .ep-sobrancelha,.ps-interface .atelier-kicker{display:none}
.ps-interface.atelier .atelier-intro{margin:6px auto 24px;align-items:center}
.ps-interface.atelier .atelier-intro h2{font-size:clamp(28px,2.7vw,38px);letter-spacing:-.025em;font-weight:650;line-height:1.18;margin-bottom:10px}
.ps-interface.atelier .atelier-intro h2 em{font:inherit;color:var(--ps-accent)}
.ps-interface.atelier .atelier-intro h2 br{display:none}
.ps-interface.atelier .atelier-intro p{max-width:66ch;color:var(--ps-muted)}
.ps-interface.atelier .atelier-local{border:0;border-left:1px solid var(--ps-line);border-radius:0;font-size:14px}
.ps-interface.atelier .tela{grid-template-columns:minmax(0,1fr) 320px;gap:24px}
.ps-interface.atelier .guia-form,.ps-interface.atelier #contorno_painel{border-radius:12px;padding:24px;box-shadow:none}
.ps-interface.atelier .guia-form>h2{font-size:22px}
.ps-interface.atelier .painel{border-radius:12px;box-shadow:none;top:92px}
.ps-interface.atelier .painel>section>h2{font-size:14px;letter-spacing:0;text-transform:none}
.ps-interface.atelier .numero{font-family:inherit;font-size:36px;font-weight:650}
.ps-interface.atelier :is(.dica,.guia-campo,.ajuda-escolhas,.linha-info){font-size:13px;line-height:1.55;color:var(--ps-muted)}
.ps-interface.atelier .atelier-nav{border-radius:10px;padding:4px;margin-bottom:14px}
.ps-interface.atelier .atelier-step{min-height:48px;font-size:14px;border-radius:6px}
.ps-interface.atelier .atelier-step[aria-current=step]{background:#35251b;color:#ffcca5;box-shadow:none}
.ps-interface.atelier .atelier-step[aria-current=step] span{background:#c2410c;border-color:#c2410c}
.ps-interface.atelier .atelier-etapa-meta{font-size:13px;margin-bottom:16px}
.ps-interface.atelier .guia-visual{margin-top:20px;border-radius:10px;box-shadow:none}
.ps-interface.atelier .guia-visual svg{max-height:210px}
.ps-interface.atelier .guia-visual figcaption{padding:12px 16px}
.ps-interface.atelier .atelier-footer{position:sticky;bottom:0;z-index:6;background:#0c0c0e;padding:14px 0 calc(14px + env(safe-area-inset-bottom,0px));margin-top:16px}
.ps-interface.atelier .principal{background:#c2410c;color:white;box-shadow:none}
.ps-interface.atelier .atelier-ferramentas>summary,.ps-interface summary{min-height:44px;cursor:pointer}
.ps-interface .ps-resumo-link{color:#ffbd87;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.ps-interface #custo_projeto{border-color:var(--ps-line)!important;background:var(--ps-raised);font-size:14px}
.ps-interface #custo_projeto strong{font-size:18px}.ps-interface #custo_projeto p{margin:8px 0}
.ps-interface #custo_projeto small{display:block;color:var(--ps-muted);line-height:1.6}
.ps-interface #sugestoes_programa{box-shadow:none;background:transparent;border:0;padding:0}
.ps-interface #sugestoes_programa button{width:100%}
.ps-interface.ep-perfil .ep-boasvindas{padding-top:8px}.ps-interface.ep-perfil .ep-navegacao{padding:20px 0}
@media(hover:hover) and (pointer:fine){
 .ps-interface .ep-escolha:hover{background:#29232a;border-color:var(--ps-accent)}
 .ps-interface.atelier .principal:hover{background:#9a3412}
}
@media(hover:none){.ps-interface .ep-escolha:hover{transform:none}.ps-interface button:hover{transform:none}}
@media(max-width:1000px){.ps-interface.atelier .tela{grid-template-columns:minmax(0,1fr) 280px;gap:18px}.ps-interface.atelier .atelier-step{font-size:12px}}
@media(max-width:800px){
 .ps-interface .ep-navegacao{padding:10px 16px;margin-bottom:12px;gap:10px}
 .ps-interface .ep-escolha{padding:8px 10px;min-height:44px}.ps-interface .ep-escolha strong{font-size:14px}
 .ps-interface .ep-conta{max-width:110px;font-size:13px}
 .ps-interface.atelier .atelier-intro{margin:0 auto 18px;padding:0 16px}
 .ps-interface.atelier .atelier-intro h2{font-size:27px;line-height:1.2;max-width:30ch}
 .ps-interface.atelier .atelier-intro p{font-size:14px;line-height:1.6}
 .ps-interface.atelier .tela{display:flex;padding:0 12px 40px}
 .ps-interface.atelier .guia-form,.ps-interface.atelier #contorno_painel{padding:18px 16px}
 .ps-interface.atelier .atelier-step{min-width:0;padding:7px 3px;font-size:11px;gap:4px}
 .ps-interface.atelier .atelier-etapa-meta{font-size:12px}
 .ps-interface.atelier .atelier-footer{gap:10px}
 .ps-interface.atelier .atelier-footer .principal{min-width:0}
 .ps-interface.atelier .guia-visual svg{max-height:180px}
 .ps-interface.atelier .grade{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ps-interface.atelier .grade label{min-width:0}
 .ps-interface.atelier .painel{padding:20px}
 .ps-interface.atelier #aviso-terreno{font-size:13px;line-height:1.5}
 .ps-interface.atelier #estudo_forma_resultado>img{height:65dvh;min-height:260px}
}
@media(max-width:360px){.ps-interface.atelier .grade{grid-template-columns:1fr}.ps-interface .ep-conta{max-width:84px;font-size:12px}.ps-interface .ep-escolha svg{width:20px}}
@media(prefers-reduced-motion:reduce){.ps-interface *{scroll-behavior:auto!important;animation:none!important;transition:none!important}.ps-interface button:active:not(:disabled){transform:none}}
/* Corrections from the combined desktop/mobile inspection. */
.ps-interface.atelier .atelier-intro h2 em{display:block}
.ps-interface .tabela-preco{table-layout:fixed}
.ps-interface .tabela-preco td.n{white-space:normal;overflow-wrap:anywhere}
@media(max-width:800px){
 .ps-interface.atelier .atelier-etapa-meta>span:nth-child(2){display:none}
 .ps-interface.atelier .atelier-etapa-meta{align-items:center;gap:12px}
 .ps-interface.atelier .ps-resumo-link{flex-shrink:0;font-size:12px;max-width:115px;min-height:44px;display:flex;align-items:center}
 .ps-interface .dentro{padding-inline:16px}
}
