/* ==========================================================================
   site.css — Memória Descritiva RJUE (carregar depois de mm-tema.css)
   Só usa as variáveis do tema; as cores próprias da ferramenta estão na secção A.
   ========================================================================== */

/* A. Variáveis próprias da ferramenta (estados e folha impressa) */
:root{
  --aviso:#b45309; --aviso-soft:#fef3c7; --ok-soft:#ecfdf5; --danger-soft:#fef2f2;
  --marca:#fde68a; --marca-ink:#713f12;
  --folha:#ffffff; --folha-ink:#111111; --folha-muted:#262626; --folha-linha:#111111; --folha-sombra:rgba(28,25,23,.08);
  --fonte-doc:'Carlito','Calibri','Lato',system-ui,sans-serif;
  --cab-h:5.2rem;
}
html.dark{--aviso:#fbbf24;--aviso-soft:#422006;--ok-soft:#022c22;--danger-soft:#450a0a;--marca:#854d0e;--marca-ink:#fef3c7;--folha:#e7e5e4;--folha-sombra:rgba(0,0,0,.5);color-scheme:dark}

/* B. Ponte com o modo claro/escuro do visualizador (sem classe = segue o sistema) */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]):not(.claro){
    --bg:#0c0a09; --panel:rgba(28,25,23,.9); --border:#44403c; --border-strong:#f5f5f4;
    --text:#f5f5f4; --muted:#a8a29e; --soft:#1c1917; --accent:#f5f5f4; --accent-text:#1c1917;
    --danger:#ef4444; --danger-hover:#dc2626; --ok:#34d399;
    --aviso:#fbbf24;--aviso-soft:#422006;--ok-soft:#022c22;--danger-soft:#450a0a;--marca:#854d0e;--marca-ink:#fef3c7;--folha:#e7e5e4;--folha-sombra:rgba(0,0,0,.5);
    color-scheme:dark}
  :root:not([data-theme="light"]):not(.claro) .logo img{filter:invert(1)}
}
:root[data-theme="dark"]:not(.claro){
  --bg:#0c0a09; --panel:rgba(28,25,23,.9); --border:#44403c; --border-strong:#f5f5f4;
  --text:#f5f5f4; --muted:#a8a29e; --soft:#1c1917; --accent:#f5f5f4; --accent-text:#1c1917;
  --danger:#ef4444; --danger-hover:#dc2626; --ok:#34d399;
  --aviso:#fbbf24;--aviso-soft:#422006;--ok-soft:#022c22;--danger-soft:#450a0a;--marca:#854d0e;--marca-ink:#fef3c7;--folha:#e7e5e4;--folha-sombra:rgba(0,0,0,.5);
  color-scheme:dark}
:root[data-theme="dark"]:not(.claro) .logo img{filter:invert(1)}
html.claro .logo img{filter:none}

/* C. Estrutura */
.hdr{padding-left:max(1.5rem,env(safe-area-inset-left,0px));padding-right:max(1.5rem,env(safe-area-inset-right,0px))}
header.mm-cab{top:env(safe-area-inset-top,0px)}
.brand{cursor:default}
.estado{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
.estado .tag{white-space:nowrap}
.tag.aviso{border-color:var(--aviso);color:var(--aviso)}
.tag.ok{border-color:var(--ok);color:var(--ok)}
.menu a,.menu button{font-family:var(--fonte-marca)}
.menu button{height:var(--ctl);display:inline-flex;align-items:center;gap:6px;padding:0 .85rem;border:1px solid transparent;background:none;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;cursor:pointer;transition:all .2s}
.menu button:hover{color:var(--text);border-color:var(--border)}
.menu button[aria-current="step"]{color:var(--text);border-color:var(--border-strong)}
.menu button[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.menu .k{font-weight:700}
.menu .feito{color:var(--ok)}
main.mdj{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:1.5rem;align-items:start;padding-left:max(1.5rem,env(safe-area-inset-left,0px));padding-right:max(1.5rem,env(safe-area-inset-right,0px))}
.col-form,.col-doc{min-width:0}
.col-doc{position:sticky;top:calc(var(--cab-h) + 1rem);max-height:calc(100vh - var(--cab-h) - 2rem);overflow:auto;border:1px solid var(--border);background:var(--soft)}
.pilha{display:flex;flex-direction:column;gap:1.25rem}
.pilha:empty{display:none}
#notes{margin-bottom:1.25rem}
.vistas{display:none;gap:.5rem;padding:1rem max(1rem,env(safe-area-inset-left,0px)) 0}
.vistas .btn[aria-pressed="true"],.pv-bar .btn[aria-pressed="true"]{border-color:var(--border-strong);color:var(--text)}
.secnav{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:1rem;scrollbar-width:thin}
.secnav:empty{display:none}
.secnav .btn{flex:none}
.secnav .n{font-family:var(--fonte-texto);font-size:.62rem;letter-spacing:0;padding:.05rem .4rem;border:1px solid var(--aviso);color:var(--aviso);font-variant-numeric:tabular-nums}
.secnav .n.zero{border-color:var(--ok);color:var(--ok)}

/* D. Painéis do formulário */
.mdj fieldset{margin:0;min-width:0;scroll-margin-top:calc(var(--cab-h) + 1rem)}
.mdj fieldset>legend{display:contents}
.fs-cab{display:flex;align-items:baseline;gap:.8rem;margin-bottom:1.25rem}
.fs-cab .num{font-family:var(--fonte-marca);font-size:1.6rem;font-weight:300;line-height:1;color:var(--muted);min-width:1.6rem}
.fs-cab h2{font-size:1.15rem}
.campos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.9rem}
.sub{grid-column:1/-1;display:flex;gap:.6rem;align-items:baseline;padding-top:.9rem;margin-top:.2rem;border-top:1px dotted var(--border)}
.sub:first-child{border-top:0;padding-top:0;margin-top:0}
.sub .eyebrow{display:inline}
.sub .rom{font-family:var(--fonte-marca);font-size:.8rem;font-weight:600}
.f{display:flex;flex-direction:column;min-width:0;grid-column:span 3}
.f.w1{grid-column:span 1}.f.w2{grid-column:span 2}.f.w4{grid-column:span 4}.f.w6{grid-column:1/-1}.f.fim{align-items:flex-end}
.unidade{position:relative}
.unidade input{padding-right:2.4rem;font-variant-numeric:tabular-nums}
.unidade span{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);font-size:.7rem;color:var(--muted);pointer-events:none}
.calc{height:var(--ctl);display:flex;align-items:center;padding:0 .8rem;border:1px dashed var(--border);font-variant-numeric:tabular-nums;font-size:.8rem}
input.falta{border-color:var(--danger);background:var(--danger-soft)}
label.em-linha{grid-column:1/-1;cursor:pointer}
label.em-linha span{line-height:1.4}
.linhas{grid-column:1/-1;display:flex;flex-direction:column;gap:.75rem}
.linha-cond{display:grid;grid-template-columns:1fr 1fr auto;gap:.75rem;align-items:end;padding:.9rem;border:1px solid var(--border);background:var(--soft)}
.linha-cond .f{grid-column:auto}
.linha-cond .f.w6{grid-column:1/-1}
.rede{grid-column:1/-1;display:grid;grid-template-columns:10rem 13rem minmax(0,1fr);gap:.75rem;align-items:end}
.rede .nm{font-size:.8rem;font-weight:600;padding-bottom:.65rem}
.rede .f{grid-column:auto}
.ptab{grid-column:1/-1;display:flex;flex-direction:column;gap:.45rem}
.prow{display:grid;grid-template-columns:1.2rem minmax(0,2.2fr) minmax(0,1.6fr) 6.2rem 6rem 2.4rem;gap:.6rem;align-items:center}
.prow.cab{font-family:var(--fonte-marca);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.prow.off .pn,.prow.off input[type=text],.prow.off select{opacity:.4}
.prow .pn{font-size:.8rem;font-weight:600}
.prow .pn small{color:var(--muted);font-weight:400}
.prow input[type=checkbox]{margin:0}
.confirma{grid-column:1/-1;display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px dotted var(--border)}
.erros{margin:0;padding-left:1.1rem;font-size:.75rem;color:var(--danger)}
.bloqueio{text-align:center;display:flex;flex-direction:column;gap:1rem;align-items:center}
.bloqueio p{max-width:52ch;color:var(--muted)}
.state{display:inline-block;font-family:var(--fonte-marca);font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;padding:.15rem .45rem;border:1px solid var(--border);white-space:nowrap}
.state.ok{border-color:var(--ok);color:var(--ok)}.state.bad{border-color:var(--danger);color:var(--danger)}.state.warn{border-color:var(--aviso);color:var(--aviso)}
td .inp-prop{width:6rem}
.export{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:1rem}
.export .field{display:flex;flex-direction:column;gap:.6rem}
.export .field.principal{border-color:var(--border-strong)}
.export .field p{font-size:.75rem;color:var(--muted);flex:1}
.export .ext{font-family:var(--fonte-marca);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ficheiros{grid-column:1/-1;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;background:var(--soft);border:1px solid var(--border);padding:.8rem 1rem;white-space:pre;overflow-x:auto;line-height:1.7}
.passos{grid-column:1/-1;margin:0;padding-left:1.2rem;font-size:.8rem;display:flex;flex-direction:column;gap:.35rem}
.notas li{display:flex;gap:.55rem;align-items:flex-start;font-size:.78rem;list-style:none}
.notas{margin:.6rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem}
.sev{flex:none;width:.5rem;height:.5rem;margin-top:.38rem;background:var(--muted)}
.sev.bad{background:var(--danger)}.sev.warn{background:var(--aviso)}.sev.ok{background:var(--ok)}.sev.info{background:var(--text)}
.glass.panel.info{border-color:var(--border-strong)}

/* E. Pré-visualização: folha A4 com cabeçalho e rodapé do modelo */
.pv-bar{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.75rem 1rem;background:var(--panel);border-bottom:1px solid var(--border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.folha-wrap{padding:1.25rem 1rem 2.5rem}
.folha{background:var(--folha);color:var(--folha-ink);max-width:794px;margin:0 auto;padding:22px 32px 22px 54px;box-shadow:0 1px 2px var(--folha-sombra),0 10px 30px var(--folha-sombra);font-family:var(--fonte-doc);font-size:14.6px;line-height:1.5;display:flex;flex-direction:column;min-height:1123px}
.folha-cab{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px}
.folha-logo{width:111px;height:auto;display:block}
.folha-fich{font-family:Arial,sans-serif;font-size:8px;font-weight:700;color:var(--folha-muted)}
.folha-print{width:100%;border-collapse:collapse;flex:1}
.folha-print>thead,.folha-print>tfoot{display:none}
.folha-print>tbody>tr>td{padding:0;border:0;vertical-align:top}
.folha-corpo{font-size:14.6px}
.folha-corpo .meta{display:grid;grid-template-columns:max-content 1fr;gap:4px 6px;margin:0 0 40px}
.folha-corpo .meta b{font-weight:700}
.folha-corpo h1{font-family:var(--fonte-doc);font-size:14.6px;font-weight:700;text-align:center;margin:0 0 26px;text-wrap:balance}
.folha-corpo h2{font-family:var(--fonte-doc);font-size:14.6px;font-weight:700;font-style:italic;margin:26px 0 10px;display:grid;grid-template-columns:24px 1fr;line-height:1.5;text-wrap:pretty;scroll-margin-top:4rem}
.folha-corpo h2 .n{font-style:normal}
.folha-corpo h3{font-family:var(--fonte-doc);font-size:14.6px;font-weight:700;font-style:italic;margin:16px 0 4px;text-wrap:pretty;scroll-margin-top:4rem}
.folha-corpo p{font-size:14.6px;margin:0 0 9px;text-align:justify;hyphens:auto;line-height:1.5}
.folha-corpo ul{margin:0 0 10px;padding-left:34px}
.folha-corpo li{margin-bottom:3px;text-align:justify}
.folha-corpo .tbl{overflow-x:auto;margin:6px 0 14px}
.folha-corpo table{width:100%;border-collapse:collapse;font-size:13.3px;font-variant-numeric:tabular-nums}
.folha-corpo th,.folha-corpo td{border:1px solid var(--folha-linha);padding:5px 7px;text-align:left;vertical-align:top;font-family:var(--fonte-doc);color:var(--folha-ink);background:transparent;text-transform:none;letter-spacing:0}
.folha-corpo th{font-weight:700;font-size:13.3px}
.folha-corpo td.r,.folha-corpo th.r{text-align:right}
.folha-corpo tbody tr:hover{background:transparent}
.folha-corpo .assin{margin-top:36px}
.folha-corpo .assin .traco{margin-top:46px;border-top:1px solid var(--folha-ink);width:260px;padding-top:4px}
.folha-corpo mark{background:#fde68a;color:#713f12;padding:0 3px;font-family:var(--fonte-texto);font-size:.82em;font-weight:600;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.folha-corpo .verdict{font-weight:700}
.folha-corpo .verdict.bad{color:#b91c1c}
.folha-rod{margin-top:28px;border-top:1px dotted var(--folha-muted);padding-top:6px;display:grid;grid-template-columns:42px auto auto auto 1fr;gap:0;align-items:center;font-family:'Carlito','Calibri',sans-serif;font-size:8.6px;line-height:1.55;color:var(--folha-muted)}
.folha-rod img{width:38px;height:38px;display:block}
.folha-rod>div{padding:0 16px;border-left:1px solid var(--folha-muted)}
.folha-rod>div.end{border-left:0;text-align:right;align-self:end;justify-self:end;padding-right:0}
.folha-rod>div:nth-child(2){border-left:0;padding-left:20px}
pre.md{margin:0 auto;max-width:860px;background:var(--panel);border:1px solid var(--border);padding:1rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:var(--text)}

/* F. Avisos flutuantes */
.toast{position:fixed;left:50%;bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--accent);color:var(--accent-text);padding:.7rem 1.1rem;font-family:var(--fonte-marca);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;z-index:200;box-shadow:0 10px 25px -5px rgba(0,0,0,.25);max-width:calc(100vw - 2rem)}
.drop{position:fixed;inset:0;z-index:150;border:3px dashed var(--border-strong);background:var(--panel);display:grid;place-items:center;font-family:var(--fonte-marca);font-size:1rem;letter-spacing:.12em;text-transform:uppercase;pointer-events:none}
.btn.armado{background:var(--danger);border-color:var(--danger);color:#fff}
.btn.ocupado{opacity:.6;cursor:progress}

/* G. Ecrãs pequenos */
@media (max-width:1180px){
  .vistas{display:flex}
  main.mdj{grid-template-columns:minmax(0,1fr)}
  main.mdj[data-view="form"] .col-doc{display:none}
  main.mdj[data-view="doc"] .col-form{display:none}
  .col-doc{position:static;max-height:none;overflow:visible}
  .estado{order:5;flex-basis:100%}
}
@media (max-width:700px){
  .campos{grid-template-columns:minmax(0,1fr)}
  .f,.f.w1,.f.w2,.f.w4{grid-column:1/-1}
  .linha-cond,.rede{grid-template-columns:minmax(0,1fr)}
  .rede .nm{padding-bottom:0}
  .prow{grid-template-columns:1.2rem minmax(0,1fr) 6rem 2.4rem;row-gap:.35rem}
  .prow.cab{display:none}
  .prow .pn,.prow .nm-in{grid-column:2/4}
  .prow .art{grid-column:2/-1}
  .prow .op{grid-column:2}
  .prow .lim{grid-column:3/-1}
  .prow .del{grid-column:4;grid-row:1}
  .folha{padding:16px 16px;font-size:13.5px;min-height:0}
  .folha-corpo .meta{grid-template-columns:minmax(0,1fr)}
  .folha-rod{grid-template-columns:42px 1fr;row-gap:6px}
  .folha-rod>div{border-left:0;padding:0 0 0 12px}
  .hdr-r{width:100%}
}

/* H. Impressão (Ctrl+P na versão offline/servidor): só a folha, com cabeçalho e rodapé em todas as páginas */
@media print{
  @page{size:A4;margin:9mm 15mm 16mm 25mm;@bottom-right{content:"Pág. " counter(page) " de " counter(pages);font:7pt Carlito,Calibri,sans-serif;color:#262626}}
  html,body{background:#fff!important}
  header.mm-cab,footer.mm-rod,.vistas,.col-form,.pv-bar,.toast,.drop,#mdview,.nao-imprimir{display:none!important}
  main.mdj{display:block;padding:0;max-width:none}
  .col-doc{position:static;max-height:none;overflow:visible;border:0;background:none;display:block!important}
  .folha-wrap{padding:0}
  .folha{box-shadow:none;padding:0;max-width:none;min-height:0;background:#fff;color:#111;display:block}
  .folha-cab{position:fixed;top:0;left:0;right:0;margin:0}
  .folha-rod{position:fixed;bottom:0;left:0;right:0;margin:0;background:#fff}
  .folha-rod>div.end{display:none}
  .folha-print>thead,.folha-print>tfoot{display:table-header-group}
  .folha-print>tfoot{display:table-footer-group}
  .esp-cab{height:72px}.esp-rod{height:58px}
  .folha-corpo mark{background:#fde68a!important;color:#713f12!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .folha-corpo h2,.folha-corpo h3{break-after:avoid}
  .folha-corpo tr{break-inside:avoid}
}

/* I. Margens de segurança do visualizador (o tema anula o padding de todos os elementos) */
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}

/* J. Voltar ao topo e quadro sinóptico numa só folha */
.btn-topo{bottom:calc(2rem + env(safe-area-inset-bottom,0px));right:calc(2rem + env(safe-area-inset-right,0px))}
@media (max-width:700px){.btn-topo{bottom:calc(1rem + env(safe-area-inset-bottom,0px));right:calc(1rem + env(safe-area-inset-right,0px))}}
@media print{.btn-topo{display:none!important}.folha-corpo .tbl.quadro{break-inside:avoid;page-break-inside:avoid}}

/* K. Quadros sinópticos múltiplos */
.quadro-ed{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.9rem;padding-bottom:1rem;border-bottom:1px dotted var(--border)}
.qgrid{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:.4rem .75rem;align-items:center}
.qgrid.alt{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}
.qgrid .qh{font-family:var(--fonte-marca);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.qgrid .ql{font-size:.78rem}
.lote{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.5rem;align-items:end}
.lote .f{grid-column:span 1}
.folha-corpo .tbl.quadro table td:not(:first-child),.folha-corpo .tbl.quadro table th:not(:first-child){width:24%}
@media print{.folha-corpo .tbl.quadro td,.folha-corpo .tbl.quadro th{padding-top:2px;padding-bottom:2px}.folha-corpo .assin{break-before:avoid;margin-top:18px}}
@media (max-width:700px){.quadro-ed{grid-template-columns:minmax(0,1fr)}.qgrid,.qgrid.alt{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.qgrid.alt .ql{grid-column:1/-1}.lote{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* L. Assistente de leitura do regulamento */
.reg-res{border:1px solid var(--border);background:var(--soft);padding:1rem;display:flex;flex-direction:column;gap:.75rem}
.reg-grid{margin-top:.5rem}
.reg-res .field{background:var(--panel)}
.reg-res td input[type=text]{height:2rem;font-size:.75rem}
.reg-res td.trecho{font-size:.68rem;color:var(--muted);max-width:22rem;line-height:1.35}
.linha-link{flex-wrap:nowrap}.linha-link input{flex:1;min-width:0}
/* L. Leitura do regulamento: colunas da tabela de revisão */
.reg-res td input[id^="reg-a-"]{min-width:13rem}
.reg-res td input[id^="reg-v-"]{width:5rem}
.reg-res td:last-child{font-size:.7rem;color:var(--muted);min-width:14rem}
