/* 1366×768: armazem-reparacao-admin (27/10/2026). Só as páginas deste grupo. */

/* ======================================================================
   ARMAZÉM › REGISTO (Diogo, 27/10/2026: «quero armazém assim mas registar fica no meio e
   ferramenta passa para lado direito»). UM cartão em três colunas, como o estudo 06:
     esquerda — «Tipo de ferramenta» (CM · MF · BQ), Entrada | Saída e a procura;
     meio     — «Registar entrada / saída» com os campos;
     direita  — «Ferramenta selecionada»: o nome, onde está e a utilização;
   «Corrigir» e «Registar» no canto superior direito do cartão. Por baixo, as últimas
   entradas e saídas do tipo.
   O cartão é UMA caixa desenhada por trás de tudo (o ::before da página, um item da grelha
   que ocupa as linhas do cartão): as zonas (#armTipos, #armMovProcura, #armMovFerramenta,
   com os mesmos ids e as mesmas trocas parciais) ficam sem caixa própria por cima dela.
   Antes eram três caixas encostadas e, quando a coluna da direita era mais alta (a BQ com a
   lista da procura), a grelha esticava as linhas e via-se o fundo da página entre elas
   (as «tiras» com riscos escuros do erro da BQ).
   Sem ferramenta e sem procura o cartão é só a coluna da esquerda: nada vazio à direita.
   ====================================================================== */
@media (min-width:1100px){
  html body main.arm-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1.1fr);grid-template-rows:auto auto auto auto 1fr auto;align-items:start}
  /* Sem o espaço entre as zonas da página (dmo-design.css: gap 16px, com (0,2,2) pelo :is): as colunas encostam e os espaços são das margens. */
  html body main.beta-light-main.arm-page{gap:0}
  html body main.arm-page>*{grid-column:1/-1;min-width:0}
  html body main.arm-page>.page-head{grid-row:1;margin:0 0 16px}
  html body main.arm-page>#armMovAvisos{grid-row:2}
  /* A caixa do cartão: só a coluna da esquerda; com a ferramenta, a procura com resultados ou a ferramenta que já não existe, as três. */
  html body main.arm-page::before{content:"";grid-column:1;grid-row:3/6;align-self:stretch;box-sizing:border-box;background:var(--dmo-card);border:1px solid var(--dmo-border);border-radius:8px}
  html body main.arm-page:has(#armMovFerramenta,#armProcuraLista>*)::before{grid-column:1/-1}
  html body main.arm-page>#armRegisto{display:contents}
  /* As zonas por cima da caixa, sem caixa própria. */
  html body main.arm-page :is(#armTipos,#armEscolha,#armMovProcura,#armMovFerramenta){margin:0;background:none;border:0;border-radius:0;box-shadow:none}
  /* Esquerda: o tipo em cima, a procura (ou o convite) por baixo; a altura que sobra fica no fim da coluna. */
  html body main.arm-page>#armTipos{display:block;grid-column:1;grid-row:3;padding:16px 20px 12px}
  html body main.arm-page #armEscolha{grid-column:1;grid-row:4/6;padding:0 20px 16px;color:var(--dmo-muted)}
  html body main.arm-page #armEscolha>p{margin:0;font-size:13px}
  html body main.arm-page #armMovProcura{grid-column:1;grid-row:4/6;padding:0 20px 16px}
  html body main.arm-page #armMovProcura>.dmo-card-topo{margin:0 0 8px}
  html body main.arm-page #armMovProcura>.dmo-card-topo h3{margin:0;font-size:13px;font-weight:600;color:var(--dmo-muted)}
  html body main.arm-page #armProcuraForm{flex-wrap:wrap;gap:8px;margin:0}
  html body main.arm-page #armProcuraForm>.arm-modo-direita{order:0;margin:0 0 4px;flex:1 0 100%}
  html body main.arm-page #armProcuraForm>.dmo-field:has(>#armProcura){flex:1 1 0;min-width:0}
  html body main.arm-page #armProcuraForm #armProcura{width:100%}
  html body main.arm-page #armMovProcura #armProcuraLista>*{margin-top:12px}
  /* Sem ferramenta: a procura sai da sua caixa; o que encontra fica no cartão, à direita (meio e direita). */
  html body main.arm-page:not(:has(#armMovFerramenta)) #armMovProcura{display:contents}
  html body main.arm-page:not(:has(#armMovFerramenta)) #armMovProcura>.dmo-card-topo{grid-column:1;grid-row:4;padding:0 20px}
  html body main.arm-page:not(:has(#armMovFerramenta)) #armMovProcura>#armProcuraForm{grid-column:1;grid-row:5;padding:0 20px 16px}
  html body main.arm-page:not(:has(#armMovFerramenta)) #armMovProcura>#armProcuraLista{grid-column:2/-1;grid-row:3/6;align-self:stretch;min-width:0;margin:16px 0;padding:0 20px;border-left:1px solid var(--dmo-border)}
  html body main.arm-page:not(:has(#armMovFerramenta)) #armProcuraLista:not(:has(*)){display:none}
  html body main.arm-page:not(:has(#armMovFerramenta)) #armProcuraLista>*{margin-top:0}
  html body main.arm-page:not(:has(#armMovFerramenta)) #armProcuraLista>*+*{margin-top:12px}
  /* A ferramenta que já não existe: o aviso no lugar do registo. */
  html body main.arm-page #armMovFerramenta:not([data-dmo-ferramenta]){grid-column:2/-1;grid-row:3/6;align-self:stretch;margin:16px 0;padding:0 20px;border-left:1px solid var(--dmo-border)}
  /* Meio e direita: a ferramenta aberta, nas mesmas colunas da página (subgrid). */
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta]{grid-column:2/-1;grid-row:3/6;align-self:stretch;display:grid;grid-template-columns:subgrid;grid-template-rows:auto auto 1fr;align-content:start;align-items:start;position:relative;padding:0}
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta]>*{grid-column:1/-1;min-width:0}
  /* Os traços entre as colunas, recolhidos do topo e do fundo como no estudo. */
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta]::before,
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta]::after{content:"";grid-row:1/4;align-self:stretch;margin:16px 0;border-left:1px solid var(--dmo-border);pointer-events:none}
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta]::before{grid-column:1}
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta]::after{grid-column:2}
  /* Meio: o registo. */
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta]>form[method="post"]{grid-column:1;grid-row:1/4;padding:16px 20px 12px}
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta] .arm-registar-topo{display:flex;align-items:center;min-height:var(--dmo-control-height);margin:0 0 12px}
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta] .arm-registar-titulo{margin:0;font-size:15px;font-weight:650;line-height:1.2;color:var(--dmo-text)}
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta] .arm-entrada-linha{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end;margin:0 0 8px}
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta] .arm-entrada-linha>.dmo-field{min-width:0}
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta] .arm-entrada-linha>.dmo-field :is(input,select){width:100%;max-width:none}
  /* «Corrigir» e «Registar»: no canto superior direito do cartão. */
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta] .arm-registar-acoes{position:absolute;top:16px;right:20px;z-index:1}
  /* Direita: a ferramenta selecionada. */
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta]>.dmo-card-topo{grid-column:2;grid-row:1;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin:0;padding:16px 20px 0}
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta]>.dmo-card-topo::before{content:"Ferramenta selecionada";flex:1 0 100%;min-height:var(--dmo-control-height);display:flex;align-items:center;margin:0 0 4px;font-size:15px;font-weight:650;color:var(--dmo-text)}
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta]>.dmo-card-topo h3{margin:0;font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.25}
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta]>.arm-onde{grid-column:2;grid-row:2;flex-direction:column;flex-wrap:nowrap;gap:8px;margin:0;padding:12px 20px 12px}
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta]>.arm-onde>div{flex-direction:row;align-items:baseline;gap:12px}
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta]>.arm-onde>div>span:first-child{flex:0 0 120px;white-space:nowrap}
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta]>.arm-onde>.arm-uso{align-items:center}
  /* Por baixo das três colunas, ainda no cartão: os avisos e os últimos movimentos da ferramenta. */
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta]>p.dmo-aviso{margin:0 20px 12px}
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta]>.arm-subtitulo{margin:0 20px;padding:12px 0 8px;border-top:1px solid var(--dmo-border)}
  html body main.arm-page #armMovFerramenta[data-dmo-ferramenta]>.dmo-table-wrap{margin:0 20px 16px}
  /* As últimas entradas e saídas, fora do cartão. */
  html body main.arm-page #armRegisto>#armLog{grid-column:1/-1;grid-row:6;margin:16px 0 0}
}
/* Um só Entrada | Saída: o da esquerda (com a ferramenta aberta troca o formulário dela). */
html body main.arm-page #armMovFerramenta .arm-entrada-linha>.arm-modo{display:none}
html body main.arm-page .arm-registar-topo{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px}
html body main.arm-page .arm-registar-titulo{margin:0;font-size:16px}
html body main.arm-page .arm-registar-acoes{display:flex;gap:8px;align-items:center}
/* A barra da utilização: discreta, a cor de destaque só no que já foi usado. */
html body main.arm-page .arm-uso-barra{flex:1 1 auto;min-width:60px;height:6px;border-radius:3px;background:var(--dmo-border);overflow:hidden}
html body main.arm-page .arm-uso-barra>span{display:block;height:100%;border-radius:3px;background:var(--dmo-brand-600)}
/* CM · MF · BQ como os outros seletores (dmo-botoes.css): iguais aos botões, o escolhido invertido. */
html body .beta-production-rail#armTiposRail .beta-production-lines :is(button,.dmo-rail-link){background:var(--dmo-opcao-fundo);border-color:var(--dmo-opcao-contorno);color:var(--dmo-opcao-letra);border-radius:var(--dmo-r-control,8px);box-shadow:none}
html body .beta-production-rail#armTiposRail .beta-production-lines :is(button,.dmo-rail-link):hover:not(.selected):not(.active){background:var(--dmo-opcao-hover-fundo);border-color:#fff;color:var(--dmo-opcao-hover)}
html body .beta-production-rail#armTiposRail .beta-production-lines :is(button,.dmo-rail-link):is(.selected,.active),
html body .beta-production-rail#armTiposRail .beta-production-lines :is(button,.dmo-rail-link):is(.selected,.active):hover{background:var(--dmo-escolhida-fundo);border-color:var(--dmo-escolhida-contorno);color:var(--dmo-escolhida-letra)}
html body .beta-production-rail#armTiposRail .beta-production-lines :is(button,.dmo-rail-link) strong,
html body .beta-production-rail#armTiposRail .beta-production-lines :is(button,.dmo-rail-link):is(.selected,.active) strong{color:inherit}

/* ======================================================================
   ARMAZÉM › MOVIMENTOS (Últimos)
   ====================================================================== */
/* «← Voltar» ao lado do filtro da ferramenta: discreto, só muda a cor do texto. */
html body main:has(#armMovimentos) .arm-filtro-ferramenta{display:flex;align-items:baseline;gap:16px;margin:0 0 12px;font-size:13px;color:var(--dmo-text)}
html body main:is(:has(#armMovimentos),:has(#armRegVoltar)) a.arm-voltar{color:var(--dmo-muted);font-weight:600;text-decoration:none;background:none}
html body main:is(:has(#armMovimentos),:has(#armRegVoltar)) a.arm-voltar:hover{color:var(--dmo-text);background:none;text-decoration:none}
html body main:is(:has(#armMovimentos),:has(#armRegVoltar)) a.arm-voltar:focus-visible{outline:2px solid var(--dmo-focus-ring);outline-offset:2px;border-radius:2px}
html body main:has(#armMovimentos) .arm-mov{gap:16px}
html body main:has(#armMovimentos) .arm-card{padding:16px 20px}
html body main:has(#armMovimentos) .arm-card-head{min-height:var(--dmo-control-height)}
/* Os filtros numa linha (a 1366 cabem todos). */
html body main:has(#armMovimentos) .arm-filtros{flex-wrap:nowrap}
html body main:has(#armMovimentos) .arm-filtros .dmo-field input[type=date]{width:132px}
@media (max-width:1300px){html body main:has(#armMovimentos) .arm-filtros{flex-wrap:wrap}}

/* ======================================================================
   REPARAÇÃO › CONSULTAR
   ====================================================================== */
/* Os filtros e os dois botões numa só linha a 1366. */
html body main.ri-page:has(#riConsultaFiltros) .ri-filtros-card{flex-wrap:nowrap;gap:8px 12px}
html body main.ri-page:has(#riConsultaFiltros) .ri-filtros-card>.dmo-zona>.dmo-filter-bar{column-gap:12px;flex-wrap:nowrap}
html body main.ri-page:has(#riConsultaFiltros) .ri-w-referencia{width:112px}
html body main.ri-page:has(#riConsultaFiltros) .ri-filtros-card .dmo-filter-bar>.ri-w-pessoa,
html body main.ri-page:has(#riConsultaFiltros) .ri-filtros-card .dmo-filter-bar>.ri-w-pessoa>select{min-width:120px}
html body main.ri-page:has(#riConsultaFiltros) .ri-filtros-card .dmo-filter-bar>.ri-w-producao{min-width:160px}
html body main.ri-page:has(#riConsultaFiltros) .ri-w-data{width:132px}
html body main.ri-page:has(#riConsultaFiltros) .ri-w-tipo{width:auto;min-width:max-content}
html body main.ri-page:has(#riConsultaFiltros) .dmo-filter-bar>.dmo-field>label{white-space:nowrap}
html body main.ri-page:has(#riConsultaFiltros) .ri-filtros-acoes{flex:0 0 auto}
html body main.ri-page:has(#riConsultaFiltros) .ri-filtros-acoes>.ri-so-por-associar{padding:0 12px}
@media (max-width:1300px){
  html body main.ri-page:has(#riConsultaFiltros) .ri-filtros-card,
  html body main.ri-page:has(#riConsultaFiltros) .ri-filtros-card>.dmo-zona>.dmo-filter-bar{flex-wrap:wrap}
}
html body main.ri-page:has(#riConsultaFiltros) .ri-card{padding:16px 20px}
/* «Resumo por pessoa» (Diogo, 27/10/2026: «muda a posição»): já não fica colado por cima da
   tabela das reparações, com as colunas espalhadas. Fica à direita, um quadro compacto do
   tamanho do que leva, alinhado pelo título «Reparações»; a tabela das reparações à esquerda. */
@media (min-width:1100px){
  html body #riConsultaResultados:has(>#riConsultaResumo){display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:start}
  html body #riConsultaResultados:has(>#riConsultaResumo)>*{grid-column:1}
  html body #riConsultaResultados:has(>#riConsultaResumo)>#riConsultaResumo{grid-column:2;grid-row:1/span 3;margin:0;padding-left:24px;border-left:1px solid var(--dmo-border);align-self:stretch}
}
html body #riConsultaResumo{margin:0 0 16px}
html body #riConsultaResumo>h4{margin:0 0 12px;font-size:16px;font-weight:650;line-height:1.25}
html body #riConsultaResumo .dmo-table-wrap{width:max-content;max-width:100%}
html body #riConsultaResumo .dmo-table{width:auto;min-width:0}
html body #riConsultaResumo .dmo-table :is(th,td){white-space:nowrap;padding-left:12px;padding-right:12px}
html body #riConsultaResumo .dmo-table :is(th,td):not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
html body #riConsultaResultados>h3{margin:0 0 12px;line-height:1.25}
html body #riConsultaResultados .dmo-list-pager{margin-top:12px}

/* ======================================================================
   REPARAÇÃO › REGISTAR e HISTÓRICO
   ====================================================================== */
html body main.ri-page .dmo-filter-bar>.dmo-field>label{white-space:nowrap}
html body main.ri-page:not(:has(#riConsultaFiltros)) .dmo-filter-bar{column-gap:12px}

/* ======================================================================
   ADMIN › REGISTOS: filtros do tamanho do que levam, títulos com respiro,
   a tabela alinhada à esquerda como as outras.
   ====================================================================== */
html body main.dmr-page .dmr-card>h3{margin:0 0 12px}
html body main.dmr-page .dmr-card>h3+.card-note{margin-top:-8px}
html body main.dmr-page .dmr-filtros{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:end}
html body main.dmr-page .dmr-filtros>.dmo-field{flex:0 0 auto;margin:0}
html body main.dmr-page .dmr-filtros>.dmo-field>select{width:auto;min-width:160px}
html body main.dmr-page .dmr-filtros>.dmo-field>select#dmr-utilizador{min-width:240px}
html body main.dmr-page .dmr-filtros>.dmo-field>input[type=date]{width:140px}
html body main.dmr-page .dmr-card .dmo-table :is(th,td){text-align:left}

/* ======================================================================
   ADMIN › TEMPLATES: as capabilities de cada módulo lado a lado (4 por
   linha), em vez de uma por linha — a página cabe sem rolar.
   ====================================================================== */
html body main.dmt-page .dmt-checks{grid-template-columns:150px repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;align-items:stretch}
html body main.dmt-page .dmt-checks>.dmt-module-head{grid-column:1;align-self:center;margin:0 !important;padding:0;border:0;line-height:1.3}
html body main.dmt-page .dmt-check label{padding:8px 12px}
html body main.dmt-page .dmt-check label span{overflow-wrap:anywhere}
/* Utilizadores desta template: linhas compactas (34px, como as tabelas compactas), sem o botão
   «Página» (Diogo, 27/10/2026: «e reduzir tamanho»). */
html body main.dmt-page .dmt-users-grid{gap:6px}
html body main.dmt-page .dmt-users-grid .dmt-check{min-height:34px;align-items:center}
html body main.dmt-page .dmt-users-grid .dmt-check label{align-items:center;min-height:32px;padding:0 10px}
html body main.dmt-page .dmt-users-grid .dmt-check label span{overflow-wrap:normal}
@media (max-width:1100px){
  html body main.dmt-page .dmt-checks{grid-template-columns:repeat(2,minmax(0,1fr))}
  html body main.dmt-page .dmt-checks>.dmt-module-head{grid-column:1/-1;margin-top:8px !important}
}
html body main.dmt-page .dmt-grid{align-items:start}
html body main.dmt-page .dmt-detail .dmo-card-topo{margin:0 0 8px}
html body main.dmt-page .dmt-detail .dmo-field{margin:0}
html body main.dmt-page .dmt-detail .dmo-field>input[name="name"]{width:100%;max-width:420px}

/* ======================================================================
   ADMIN › FICHA: o título com a cor do texto, como os outros títulos.
   ====================================================================== */
/* Os factos em quatro colunas certas: a linha divisória entre colunas, não entre os dois
   factos de cada coluna (antes a 2.ª linha tinha traços desencontrados). */
html body main.dfu-page .dmo-fact-stack>.dmo-fact{border-left:0}
html body main.dfu-page .dmo-fact-stack+.dmo-fact-stack{border-left:1px solid var(--dmo-border)}

/* ======================================================================
   DEFINIÇÕES: «A minha conta» com respiro por baixo do título e os rótulos
   como os dos campos; a tabela dos módulos do tamanho do que leva, alinhada.
   ====================================================================== */
html body main.def-page .def-linha>h3{margin:0 0 12px}
/* As Definições não têm funções: sem a barra branca vazia por baixo dos módulos. */
html body:has(main.def-page) .dmo-shell-header .dmo-secondary-nav:not(:has(*)){display:none}
html body main.def-page .def-conta dt{font-size:12px;font-weight:500;color:var(--dmo-muted)}
html body main.def-page .dmo-table-wrap:has(>.def-conta-modulos){width:max-content;max-width:100%;margin-top:12px}
html body main.def-page .def-conta-modulos{width:auto;min-width:0;margin:0}
html body main.def-page .def-conta-modulos :is(th,td){text-align:left;padding:6px 16px;white-space:nowrap}

/* ======================================================================
   1366×768, 2.ª volta (auditoria de 27/10/2026, grupos 4 e 5).
   ====================================================================== */

/* ADMIN › UTILIZADORES, TEMPLATES e FICHA: a mesma largura e as mesmas margens
   do resto da app (24→1342 px a 1366), em vez de 85→1281 (máx. 1240) e 187→1179
   (máx. 1000). As margens deixam de mudar ao trocar de separador. */
@media (min-width:1100px){
  html body main:is(.dmu-page,.dmt-page,.dfu-page,.dmr-page){box-sizing:border-box;width:100%;max-width:none;margin:0;padding:16px 24px 14px}
  /* Utilizadores: os campos de «Criar utilizador» do tamanho do que levam (antes 372 px). */
  html body main.dmu-page .dmu-form-grid{grid-template-columns:240px 112px 300px 300px;justify-content:start}
  /* A lista com linhas mais baixas (47→33 px): as mesmas 25 por página cabem em menos ecrã. */
  html body main.dmu-page #dmu-resultados .dmo-table td{padding-top:6px;padding-bottom:6px}
  html body main.dmu-page #dmu-resultados .dmo-table .dmo-pill{height:20px;min-height:20px;padding-top:2px;padding-bottom:2px}
  /* Templates: o nome é um rótulo curto (antes 420 px). */
  html body main.dmt-page :is(#dmt-new-name,#dmt-edit-name){width:100%;max-width:320px}
}

/* DEFINIÇÕES › ADMIN › APP: o email (≈300 px) e o PIN (12 algarismos, ≈160 px) do tamanho
   do que levam, lado a lado no cartão (antes 614 px cada, um por linha). */
@media (min-width:1100px){
  html body main.def-page form.adm-email-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
  html body main.def-page form.adm-email-form>.dmo-field{flex:0 0 auto;margin:0;min-width:0}
  html body main.def-page :is(#adminEmail,#adminEmailConfirm){width:296px;max-width:100%}
  html body main.def-page :is(#admPinNovo,#admPinConfirmar){width:160px;max-width:100%}
}

/* DEFINIÇÕES › CONTROLO › EMAIL: Lista, Nome e Email numa só linha (o Email saltava para
   baixo e metade do cartão ficava vazia). */
@media (min-width:1100px){
  html body main.def-page form#ctlDefCriarListaForm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);gap:8px;align-items:end}
  html body main.def-page form#ctlDefCriarListaForm>.dmo-field{min-width:0;width:auto;max-width:none}
  html body main.def-page form#ctlDefCriarListaForm>.dmo-field>input{width:100%}
}

/* DEFINIÇÕES › PESSOAL: «A minha conta» à esquerda e, à direita, a Sessão e «Mudar a
   palavra-passe» (a conta ocupava a largura toda com 25–35 % usado). */
@media (min-width:1100px){
  html body main.def-page #sec-pessoal:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:stretch}
  html body main.def-page #sec-pessoal>*{grid-column:1/-1;margin:0}
  html body main.def-page #sec-pessoal>#defConta{grid-column:1;grid-row:2/span 2}
  html body main.def-page #sec-pessoal>section.def-linha:not([id]){grid-column:2;grid-row:2}
  html body main.def-page #sec-pessoal>#defPalavraPasse{grid-column:2;grid-row:2}
  html body main.def-page #sec-pessoal:has(>section.def-linha:not([id]))>#defPalavraPasse{grid-row:3}
  html body main.def-page #sec-pessoal:not(:has(>section.def-linha:not([id])))>#defConta{grid-row:2}
}

/* REPARAÇÃO (Registar, Histórico, Consultar) e ARMAZÉM › MOVIMENTOS: do título ao primeiro
   cartão o mesmo espaço das outras páginas (≈35→16 px). */
@media (min-width:1100px){
  html body main.ri-page>.page-head,
  html body main:has(#armMovimentos)>.page-head{margin-bottom:0}
}

/* REPARAÇÃO › CONSULTAR: o «Sem Job On» com o texto ao centro, como o «Limpar filtros».
   É a dica (círculo) dentro do rótulo que o alinhava pela linha de base, em cima
   (dmo-normalize.css: rótulos com .dmo-help → align-items:baseline!important). */
html body main.ri-page .ri-filtros-acoes>label.ri-so-por-associar:has(>.dmo-help){align-items:center!important}
html body main.ri-page .ri-filtros-acoes>label.ri-so-por-associar>.dmo-help{align-self:center}

/* REPARAÇÃO sem nada escolhido: o convite é só uma linha de texto secundário, à esquerda, por
   baixo das linhas; sem cartão nem contorno tracejado. */
html body main.ri-page #riEscolha{background:transparent;border:0;box-shadow:none;padding:2px 0 0;color:var(--dmo-muted);text-align:left}
html body main.ri-page #riEscolha .ri-vazia{font-size:13px}

/* REPARAÇÃO: links sem sublinhado (parados nem no hover), só cor; o hover só muda a cor da letra.
   Registar: a CM e o MF da produção; Consultar: a produção e a ferramenta nas linhas da tabela
   (e a marca «Por associar»). São navegação, por isso continuam links. */
html body main.ri-page :is(.ri-ficha,.dmo-table td a),
html body main.ri-page :is(.ri-ficha,.dmo-table td a):is(:hover,:focus-visible){text-decoration:none}
html body main.ri-page :is(.ri-ficha,.dmo-table td a:not(.ri-por-associar)){color:var(--dmo-brand-900);transition:color var(--dmo-fast)}
html body main.ri-page :is(.ri-ficha,.dmo-table td a:not(.ri-por-associar)):is(:hover,:focus-visible){color:var(--dmo-brand-700)}
html body main.ri-page .dmo-table td a.ri-por-associar:is(:hover,:focus-visible){color:var(--dmo-brand-700)}

/* LOGIN e MUDAR PALAVRA-PASSE (modo escuro): as letras «BA» do logótipo são transparentes
   no PNG e mostravam o fundo escuro sobre o azul. Um disco claro por trás do círculo azul
   (sem passar da borda) devolve-lhes o branco do logótipo. */
html[data-theme="dark"] body.dmo-account-page .brand-logo{background:radial-gradient(circle closest-side,var(--dmo-text-on-color) 0 90%,transparent 90%)}

/* «MÓDULO INÍCIO» (sem módulos): o título com o tamanho, o peso e a margem dos títulos
   das outras páginas (era 28 px / 700, a 26 px da borda; os outros 26 px / 650, a 24 px). */
@media (min-width:1100px){
  html body .dmo-shell-page:has(>.dmo-home-modules){padding-left:24px;padding-right:24px}
  html body .dmo-shell-page:has(>.dmo-home-modules)>h1{margin:0 0 12px;font-size:26px;font-weight:650;letter-spacing:-.035em;line-height:1.2;color:var(--dmo-text)}
}

/* REPARAÇÃO › REGISTAR num posto de uma só linha (sem a faixa das linhas): entre 701 e 800 px
   a grelha antiga (faixa | página) metia a página na coluna estreita da faixa (244 px) e a
   «Hora» caía por baixo do «Dia». Sem faixa, a página ocupa a largura toda. */
html body .beta-light-layout.ri-layout>main.ri-page:only-child{grid-column:1/-1}

/* REPARAÇÃO › REGISTAR: a linha escolhida (B1, B2…) cheia com a cor da linha e a letra branca,
   como o cartão escolhido do Planeamento (Diogo, 27/10/2026); sem o azul e o contorno branco do
   escuro. A cor vem da mesma variável do Planeamento (--dmo-machine-color, por data-dmo-linha-cor). */
html body #riLinhasRail .beta-production-lines :is(button,.dmo-rail-link):is(.dmo-linha-cor,[data-dmo-linha-cor]):is(.selected,.active),
html[data-theme="dark"] body #riLinhasRail .beta-production-lines :is(button,.dmo-rail-link):is(.dmo-linha-cor,[data-dmo-linha-cor]):is(.selected,.active){background:var(--dmo-machine-color,var(--dmo-brand-600));border-color:var(--dmo-machine-color,var(--dmo-brand-600));color:#fff;outline:0}
html body #riLinhasRail .beta-production-lines :is(button,.dmo-rail-link):is(.dmo-linha-cor,[data-dmo-linha-cor]):is(.selected,.active) :is(strong,span){color:#fff}
