/* MAXO Casas — monocrom sem exceções; simulador público e biblioteca admin.
   v 2026-11-01. Altera contraste, nunca cálculos, dados, pagamentos ou permissões.
   Dia: fundo branco / letra preta. Noite: fundo preto / letra branca.
   Os cartões seguem sempre o mesmo esquema. */
.mxs-page.mxpl-page, .mxs-page .w.mxs-admin{
  --mxmono-bg:#ffffff;
  --mxmono-panel:#ffffff;
  --mxmono-item:#f6f6f6;
  --mxmono-field:#ffffff;
  --mxmono-ink:#111111;
  --mxmono-muted:#373737;
  --mxmono-border:#757575;
  --mxmono-line:#c8c8c8;
  --mxmono-button:#111111;
  --mxmono-on-button:#ffffff;
  --mxmono-focus:#333333;
  --mxpl-bg:var(--mxmono-bg);
  --mxpl-card:var(--mxmono-panel);
  --mxpl-input:var(--mxmono-field);
  --mxpl-text:var(--mxmono-ink);
  --mxpl-body:var(--mxmono-muted);
  --mxpl-muted:var(--mxmono-muted);
  --mxpl-border:var(--mxmono-border);
  --mxpl-gold:var(--mxmono-border);
  --mxpl-gold-soft:var(--mxmono-item);
  --mxpl-cta:var(--mxmono-button);
  --mxpl-cta-text:var(--mxmono-on-button);
  --mxq-surface:var(--mxmono-panel);
  --mxq-card:var(--mxmono-item);
  --mxq-panel:var(--mxmono-panel);
  --mxq-field:var(--mxmono-field);
  --mxq-title:var(--mxmono-ink);
  --mxq-text:var(--mxmono-ink);
  --mxq-muted:var(--mxmono-muted);
  --mxq-border:var(--mxmono-border);
  --mxq-rule:var(--mxmono-line);
  --mxq-accent:var(--mxmono-border);
  --mxq-accent-bg:var(--mxmono-item);
  --mxq-action:var(--mxmono-button);
  --mxq-action-text:var(--mxmono-on-button);
  --mxq-link:var(--mxmono-ink);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  .mxs-page.mxpl-page,.mxs-page .w.mxs-admin{
    --mxmono-bg:#000000;
    --mxmono-panel:#171717;
    --mxmono-item:#222222;
    --mxmono-field:#101010;
    --mxmono-ink:#ffffff;
    --mxmono-muted:#e1e1e1;
    --mxmono-border:#8c8c8c;
    --mxmono-line:#595959;
    --mxmono-button:#ffffff;
    --mxmono-on-button:#000000;
    --mxmono-focus:#ffffff;
    color-scheme:dark;
  }
}
/* Proteção contra CSS antigo: o título nunca recebe cinzento escuro num fundo preto. */
html body.mx-site .mxs-page.mxpl-page{
 background:var(--mxmono-bg)!important;
 color:var(--mxmono-ink)!important;
 -webkit-text-fill-color:var(--mxmono-ink)!important;
}
html body.mx-site .mxs-page.mxpl-page .mxpl-intro > h1,
html body.mx-site .mxs-page.mxpl-page .mxpl-intro > p.mxq-lead{
 color:var(--mxmono-ink)!important;
 -webkit-text-fill-color:var(--mxmono-ink)!important;
 opacity:1!important;
 visibility:visible!important;
 filter:none!important;
 text-shadow:none!important;
}
html body.mx-site .mxs-page.mxpl-page .mxpl-intro > p.mxq-lead{
 color:var(--mxmono-muted)!important;
 -webkit-text-fill-color:var(--mxmono-muted)!important;
}
/* Card principal, entrada de cliente existente, novo registo e conta confirmada. */
html body.mx-site .mxs-page.mxpl-page :is(
 .mxq-benefits,.mxq-card,.mxpl-panel,.mxpl-result,.mxq-tab-content,
 #mxq-return,#mxq-account,#mxq-verified,#mxq-checkout,#mxpl-form,
 .mxpl-work,.mxpl-questions,.mxpl-warning,.mxpl-total){
 background:var(--mxmono-panel)!important;
 color:var(--mxmono-ink)!important;
 -webkit-text-fill-color:var(--mxmono-ink)!important;
 border-color:var(--mxmono-line)!important;
 opacity:1!important;
 filter:none!important;
}
html body.mx-site .mxs-page.mxpl-page :is(.mxq-deliverables li,.mxq-fee,.mxq-highlight,.mxq-credit-notice,.mxq-tabs button){
 background:var(--mxmono-item)!important;
 color:var(--mxmono-ink)!important;
 -webkit-text-fill-color:var(--mxmono-ink)!important;
 border-color:var(--mxmono-border)!important;
}
html body.mx-site .mxs-page.mxpl-page .mxq-deliverables li::before{
 color:var(--mxmono-ink)!important;
 -webkit-text-fill-color:var(--mxmono-ink)!important;
 border-color:var(--mxmono-border)!important;
}
html body.mx-site .mxs-page.mxpl-page :is(
 .mxpl-intro,.mxq-benefits,.mxq-card,.mxpl-panel,.mxpl-result,.mxq-tab-content,
 #mxq-return,#mxq-account,#mxq-verified,#mxq-checkout,#mxq-history)
 :is(h1,h2,h3,h4,h5,p,label,legend,summary,small,em,b,strong,span,li,td,th,output,div){
 color:var(--mxmono-ink)!important;
 -webkit-text-fill-color:var(--mxmono-ink)!important;
 opacity:1!important;
 text-shadow:none!important;
}
html body.mx-site .mxs-page.mxpl-page :is(.mxq-small,.mxq-identity,.mxpl-footnote,.mxq-location-result,.mxpl-tools span){
 color:var(--mxmono-muted)!important;
 -webkit-text-fill-color:var(--mxmono-muted)!important;
 opacity:1!important;
}
html body.mx-site .mxs-page.mxpl-page :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){
 background:var(--mxmono-field)!important;
 color:var(--mxmono-ink)!important;
 -webkit-text-fill-color:var(--mxmono-ink)!important;
 border:1.5px solid var(--mxmono-border)!important;
 color-scheme:inherit;
 opacity:1!important;
 font-size:16px!important;
}
html body.mx-site .mxs-page.mxpl-page :is(input,textarea)::placeholder{
 color:var(--mxmono-muted)!important;
 -webkit-text-fill-color:var(--mxmono-muted)!important;
 opacity:1!important;
}
html body.mx-site .mxs-page.mxpl-page :is(input,textarea):-webkit-autofill{
 -webkit-box-shadow:0 0 0 1000px var(--mxmono-field) inset!important;
 -webkit-text-fill-color:var(--mxmono-ink)!important;
}
html body.mx-site .mxs-page.mxpl-page :is(select option){background:var(--mxmono-field);color:var(--mxmono-ink)}
html body.mx-site .mxs-page.mxpl-page :is(.mxpl-primary,.mxq-tabs button[aria-selected=true]){
 background:var(--mxmono-button)!important;
 color:var(--mxmono-on-button)!important;
 -webkit-text-fill-color:var(--mxmono-on-button)!important;
 border:1.5px solid var(--mxmono-button)!important;
}
html body.mx-site .mxs-page.mxpl-page :is(.mxpl-secondary,.mxq-tabs button:not([aria-selected=true])){
 background:var(--mxmono-item)!important;
 color:var(--mxmono-ink)!important;
 -webkit-text-fill-color:var(--mxmono-ink)!important;
 border:1.5px solid var(--mxmono-border)!important;
}
html body.mx-site .mxs-page.mxpl-page :is(a,.mxs-back,.mxpl-admin){color:var(--mxmono-ink)!important;-webkit-text-fill-color:var(--mxmono-ink)!important}
html body.mx-site .mxs-page.mxpl-page :is(a,.mxs-back,.mxpl-admin):not(.mxpl-button){text-decoration:underline;text-underline-offset:3px}
html body.mx-site .mxs-page.mxpl-page :is(.mxs-eyebrow){background:var(--mxmono-item)!important;color:var(--mxmono-ink)!important;-webkit-text-fill-color:var(--mxmono-ink)!important;border-color:var(--mxmono-border)!important}
html body.mx-site .mxs-page.mxpl-page :is(.mxpl-primary,.mxpl-secondary,input,select,textarea,a,button):focus-visible{
 outline:3px solid var(--mxmono-focus)!important;outline-offset:3px!important;
}
html body.mx-site .mxs-page.mxpl-page [hidden]{display:none!important}

/* Administração de preços: o CSS antigo forçava branco mesmo no modo escuro. */
html body.mx-site .mxs-page .w.mxs-admin,
html body.mx-site .mxs-page .w.mxs-admin :is(.mxs-panel,.mxs-request,.mxs-table-wrap,.mxs-result){
 background:var(--mxmono-panel)!important;
 color:var(--mxmono-ink)!important;
 -webkit-text-fill-color:var(--mxmono-ink)!important;
 border-color:var(--mxmono-line)!important;
 opacity:1!important;
}
html body.mx-site .mxs-page .w.mxs-admin :is(h1,h2,h3,h4,p,span,label,legend,strong,summary,th,td,pre,small){
 color:var(--mxmono-ink)!important;
 -webkit-text-fill-color:var(--mxmono-ink)!important;
 opacity:1!important;text-shadow:none!important;
}
html body.mx-site .mxs-page .w.mxs-admin :is(.mxs-hint,.mxs-muted){
 color:var(--mxmono-muted)!important;-webkit-text-fill-color:var(--mxmono-muted)!important;
}
html body.mx-site .mxs-page .w.mxs-admin :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){
 background:var(--mxmono-field)!important;color:var(--mxmono-ink)!important;
 -webkit-text-fill-color:var(--mxmono-ink)!important;
 border:1px solid var(--mxmono-border)!important;
 color-scheme:inherit!important;
}
html body.mx-site .mxs-page .w.mxs-admin :is(input,textarea)::placeholder{
 color:var(--mxmono-muted)!important;-webkit-text-fill-color:var(--mxmono-muted)!important;opacity:1!important;
}
html body.mx-site .mxs-page .w.mxs-admin :is(a){color:var(--mxmono-ink)!important;-webkit-text-fill-color:var(--mxmono-ink)!important;text-decoration:underline}
html body.mx-site .mxs-page .w.mxs-admin :is(.mxs-btn,.mxs-admin-table th){
 color:var(--mxmono-on-button)!important;-webkit-text-fill-color:var(--mxmono-on-button)!important;
 background:var(--mxmono-button)!important;
}
html body.mx-site .mxs-page .w.mxs-admin :is(.mxs-btn-light,.mxs-btn-outline){
 color:var(--mxmono-ink)!important;-webkit-text-fill-color:var(--mxmono-ink)!important;
 background:var(--mxmono-item)!important;border:1px solid var(--mxmono-border)!important;
}
html body.mx-site .mxs-page .w.mxs-admin :is(.mxs-admin-table,.mxs-admin-table tbody tr:nth-child(even)){
 color:var(--mxmono-ink)!important;background:var(--mxmono-panel)!important;
}
@media(max-width:700px){
 html body.mx-site .mxs-page.mxpl-page :is(.mxq-two,.mxq-deliverables){grid-template-columns:minmax(0,1fr)!important}
 html body.mx-site .mxs-page.mxpl-page :is(.mxq-card,.mxpl-panel,.mxpl-result){min-width:0;max-width:100%;overflow-wrap:anywhere}
}


/* MAXO FIX 2026-11-01 — Biblioteca de preços (`mxlib_admin_html`).
   A própria biblioteca injeta #fff, #171717 e color-scheme:light !important
   após o <head>. Estes seletores mais específicos corrigem o conflito SEM
   modificar PHP, cálculos, aprovações ou estrutura dos cartões.
   As cores são definidas no mesmo par de variáveis dos restantes painéis. */
html body.mx-site .mxs-page .mxs-admin .mxlib {
  background:var(--mxmono-panel,#fff)!important;
  color:var(--mxmono-ink,#111)!important;
  -webkit-text-fill-color:var(--mxmono-ink,#111)!important;
  border-color:var(--mxmono-border,#777)!important;
  color-scheme:light!important;
}
@media (prefers-color-scheme:dark){
  html body.mx-site .mxs-page .mxs-admin .mxlib { color-scheme:dark!important; }
}
html body.mx-site .mxs-page .mxs-admin .mxlib :is(h1,h2,h3,h4,h5,p,label,span,small,strong,b,em,th,td,summary,legend,output,div,li,pre){
  color:var(--mxmono-ink,#111)!important;
  -webkit-text-fill-color:var(--mxmono-ink,#111)!important;
  text-shadow:none!important;
}
html body.mx-site .mxs-page .mxs-admin .mxlib :is(.mxlib-muted,.item-sub,.detail-source){
  color:var(--mxmono-muted,#333)!important;
  -webkit-text-fill-color:var(--mxmono-muted,#333)!important;
}
html body.mx-site .mxs-page .mxs-admin .mxlib .item,
html body.mx-site .mxs-page .mxs-admin .mxlib .references,
html body.mx-site .mxs-page .mxs-admin .mxlib :is(.pill,.pill.approved){
  background:var(--mxmono-item,#f6f6f6)!important;
  color:var(--mxmono-ink,#111)!important;
  -webkit-text-fill-color:var(--mxmono-ink,#111)!important;
  border-color:var(--mxmono-border,#777)!important;
}
html body.mx-site .mxs-page .mxs-admin .mxlib :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea){
  background:var(--mxmono-field,#fff)!important;
  color:var(--mxmono-ink,#111)!important;
  -webkit-text-fill-color:var(--mxmono-ink,#111)!important;
  border:1px solid var(--mxmono-border,#777)!important;
  color-scheme:inherit!important;
  opacity:1!important;
}
html body.mx-site .mxs-page .mxs-admin .mxlib :is(input,textarea)::placeholder {
  color:var(--mxmono-muted,#333)!important;
  -webkit-text-fill-color:var(--mxmono-muted,#333)!important;
  opacity:1!important;
}
html body.mx-site .mxs-page .mxs-admin .mxlib :is(input,textarea):-webkit-autofill {
  -webkit-box-shadow:0 0 0 1000px var(--mxmono-field,#fff) inset!important;
  -webkit-text-fill-color:var(--mxmono-ink,#111)!important;
}
html body.mx-site .mxs-page .mxs-admin .mxlib select option{
  background:var(--mxmono-field,#fff)!important;
  color:var(--mxmono-ink,#111)!important;
}
html body.mx-site .mxs-page .mxs-admin .mxlib button:not(.secondary){
  background:var(--mxmono-button,#111)!important;
  color:var(--mxmono-on-button,#fff)!important;
  -webkit-text-fill-color:var(--mxmono-on-button,#fff)!important;
  border:1px solid var(--mxmono-button,#111)!important;
}
html body.mx-site .mxs-page .mxs-admin .mxlib button.secondary{
  background:var(--mxmono-item,#eee)!important;
  color:var(--mxmono-ink,#111)!important;
  -webkit-text-fill-color:var(--mxmono-ink,#111)!important;
  border:1px solid var(--mxmono-border,#777)!important;
}
html body.mx-site .mxs-page .mxs-admin .mxlib a{
  color:var(--mxmono-ink,#111)!important;
  -webkit-text-fill-color:var(--mxmono-ink,#111)!important;
  text-decoration:underline!important;
}
html body.mx-site .mxs-page .mxs-admin .mxlib :is(a,input,select,button,summary):focus-visible{
  outline:3px solid var(--mxmono-focus,#333)!important;
  outline-offset:2px!important;
}
/* Corrigir fundos de tabelas, linhas alternadas e detalhes do catálogo. */
html body.mx-site .mxs-page .mxs-admin .mxlib :is(table,thead,tbody,tfoot,tr,th,td,details){
  background-color:transparent!important;
  border-color:var(--mxmono-line,#ccc)!important;
}

/* resultado compacto: o essencial à vista, detalhes ao tocar */
.mxpl-workline{margin:4px 0 8px;color:#6e6e73;font-size:14px}
.mxpl-more{margin:8px 0 4px;border-top:1px solid #d2d2d7;padding-top:8px}
.mxpl-more>summary{cursor:pointer;font-weight:600;font-size:14px;list-style:none;padding:6px 0}
.mxpl-more>summary::-webkit-details-marker{display:none}
.mxpl-more>summary::after{content:" +";color:#6e6e73}
.mxpl-more[open]>summary::after{content:" −"}
@media (prefers-color-scheme:dark){.mxpl-more{border-top-color:#3a3a3c}.mxpl-workline{color:#98989d}}
.mxpl-workhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.mxpl-workhead h3{margin:0}.mxpl-workhead strong{font-size:17px;white-space:nowrap}
@media (min-width:701px){.mxpl-downloads{grid-template-columns:repeat(2,1fr)!important}}

/* separadores do resultado: botões arredondados, separados, na mesma linha (ou em duas no telemóvel) */
html body.mx-site .mxs-page.mxpl-page .mxq-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 14px}
html body.mx-site .mxs-page.mxpl-page .mxq-tabs button{min-height:40px;padding:8px 16px!important;border-radius:999px!important;font:inherit;font-size:15px!important;font-weight:600;cursor:pointer}
html body.mx-site .mxs-page.mxpl-page .mxq-tab-content h3{margin:22px 0 6px}
html body.mx-site .mxs-page.mxpl-page .mxq-tab-content h4{margin:14px 0 4px}
html body.mx-site .mxs-page.mxpl-page .mxq-table-scroller{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:6px 0 10px}
html body.mx-site .mxs-page.mxpl-page .mxq-table-scroller table{width:100%;border-collapse:collapse;font-size:14px}
html body.mx-site .mxs-page.mxpl-page .mxq-table-scroller th,html body.mx-site .mxs-page.mxpl-page .mxq-table-scroller td{padding:8px 10px;border-bottom:1px solid var(--mxq-rule,#d2d2d7);text-align:left;vertical-align:top}
html body.mx-site .mxs-page.mxpl-page .mxq-table-scroller td:nth-child(n+3){white-space:nowrap}

/* entrada / ficha: campos em duas colunas, bem espaçados */
html body.mx-site .mxs-page.mxpl-page .mxq-identity .mxq-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin:8px 0 16px}
html body.mx-site .mxs-page.mxpl-page .mxq-identity label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
html body.mx-site .mxs-page.mxpl-page #mxq-return>label,html body.mx-site .mxs-page.mxpl-page #mxq-return-otp>label,html body.mx-site .mxs-page.mxpl-page #mxq-otp>label{display:block;margin:14px 0 6px}
html body.mx-site .mxs-page.mxpl-page #mxq-return .mxpl-button,html body.mx-site .mxs-page.mxpl-page #mxq-account .mxpl-button,html body.mx-site .mxs-page.mxpl-page #mxq-return-otp .mxpl-button,html body.mx-site .mxs-page.mxpl-page #mxq-otp .mxpl-button{margin-top:12px}
html body.mx-site .mxs-page.mxpl-page #mxq-account-status:not(:empty),html body.mx-site .mxs-page.mxpl-page #mxq-return-status:not(:empty){padding:10px 14px;border-radius:12px;background:rgba(120,120,128,.12);margin:10px 0}
@media (max-width:700px){html body.mx-site .mxs-page.mxpl-page .mxq-identity .mxq-two{grid-template-columns:1fr}}
/* Pré-visualização gratuita protegida (ver protect() em simulador-plano.js) */
html body.mx-site .mxs-page.mxpl-page .mxq-viewport{position:relative}
html body.mx-site .mxs-page.mxpl-page .mxq-viewport[hidden]{display:none!important}
html body.mx-site .mxs-page.mxpl-page .mxq-protect .mxq-tab-content{max-height:58vh;overflow:auto;overscroll-behavior:contain;-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}
html body.mx-site .mxs-page.mxpl-page .mxq-protect .mxq-tab-content *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}
html body.mx-site .mxs-page.mxpl-page .mxq-wm{display:none}
html body.mx-site .mxs-page.mxpl-page .mxq-protect .mxq-wm{display:block;position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3}
html body.mx-site .mxs-page.mxpl-page .mxq-wm div{position:absolute;inset:-60%;display:flex;flex-wrap:wrap;gap:46px 60px;align-content:flex-start;transform:rotate(-24deg);opacity:.09}
html body.mx-site .mxs-page.mxpl-page .mxq-wm span{font-size:13px;font-weight:700;white-space:nowrap;color:#1d1d1f!important;-webkit-text-fill-color:#1d1d1f!important}
html body.mx-site .mxs-page.mxpl-page .mxq-veil .mxq-tab-content{filter:blur(16px)!important;opacity:.12!important}
html body.mx-site .mxs-page.mxpl-page .mxq-guard{border:1px solid currentColor;border-radius:14px;padding:16px 18px;font-weight:600;line-height:1.5}
html body.mx-site .mxs-page.mxpl-page .mxq-ended .mxq-tabs{opacity:.35}
@media (prefers-color-scheme:dark){html body.mx-site .mxs-page.mxpl-page .mxq-wm span{color:#f5f5f7!important;-webkit-text-fill-color:#f5f5f7!important}}
@media print{.mxq-protect .mxq-tab-content,.mxq-protect .mxq-wm,.mxq-protect #mxpl-summary{display:none!important}.mxq-protect .mxq-viewport::before{content:"Pré-visualização MAXO: impressão não disponível."}}
html body.mx-site .mxs-page.mxpl-page #mxq-doc-actions[hidden],html body.mx-site .mxs-page.mxpl-page #mxq-view-note[hidden]{display:none!important}
/* todos os cartões da página do orçamento com a MESMA largura e alinhados ao centro */
html body.mx-site .mxs-page.mxpl-page :is(.odemo-scr,.mxq-card,.mxpl-panel,.mxpl-result){width:100%!important;max-width:860px!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
html body.mx-site .mxs-page.mxpl-page .odemo .od-note{max-width:860px;margin-left:auto;margin-right:auto}
/* consentimento: caixa à esquerda e texto corrido (o link não fica partido numa coluna) */
html body.mx-site .mxs-page.mxpl-page .mxpl-consent{display:block!important;padding-left:30px;position:relative;line-height:1.5}
html body.mx-site .mxs-page.mxpl-page .mxpl-consent input{position:absolute;left:0;top:2px;margin:0}
html body.mx-site .mxs-page.mxpl-page .mxpl-consent a{display:inline!important;white-space:nowrap}
