/* ZapMigo · acrescentos dos backoffices à folha do protótipo (zapmigo.css). Mesma marca: Sol, preto, Bricolage. */
.rolar { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--r-m); }
.rolar .tabela { min-width: 640px; }
.tabela a { color: inherit; font-weight: 700; }
.tabela tbody tr.clicavel { cursor: pointer; }
.tabela tbody tr.clicavel:hover td { background: var(--sup-2); }
.tabela .peq { font-size: .8125rem; color: var(--tinta-2); }
.grelha { display: grid; gap: .875rem; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.grelha--2 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.kpis { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.kpi { background: var(--sup); border-radius: var(--r-m); padding: 1rem 1.125rem; display: grid; gap: .25rem; }
.kpi--marca { background: var(--marca); color: var(--na-marca); }
.kpi__n { font-family: var(--f-titulo); font-weight: 800; font-size: 1.75rem; letter-spacing: -.03em; line-height: 1.05; font-variant-numeric: tabular-nums; }
.kpi__rot { font-size: .8125rem; color: var(--tinta-2); font-weight: 600; }
.kpi--marca .kpi__rot { color: inherit; opacity: .8; }
.barra-acoes { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.ecra__cab .barra-acoes { margin-left: auto; }
.folha__caixa--larga { max-width: 720px; }
.form-grelha { display: grid; gap: .875rem; }
.form-grelha--2 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.campo__erro { color: var(--erro); font-weight: 600; }
.int-caixa:focus-visible + .int { outline: 3px solid var(--marca); outline-offset: 2px; }
.int-caixa:checked + .int { background: var(--acao); }
.int-caixa:checked + .int::after { transform: translateX(20px); background: var(--na-acao); }
.linha-regra { display: grid; grid-template-columns: 1.3fr .7fr 1fr; gap: .5rem; align-items: end; }
.mono { font-variant-numeric: tabular-nums; }
.codigo-grande { font-family: var(--f-titulo); font-weight: 800; font-size: 1.5rem; letter-spacing: .06em; }
.copiar { display: grid; grid-template-columns: 1fr auto; gap: .5rem; align-items: center; }
.copiar .entrada { font-size: .875rem; }
.nota { font-size: .8125rem; color: var(--tinta-2); }
.nota--alerta { color: var(--alerta); font-weight: 600; }
.entrar { min-height: 100dvh; display: grid; place-items: center; padding: 1.5rem 1rem; }
.entrar__caixa { width: 100%; max-width: 420px; background: var(--sup); border-radius: var(--r-l); padding: 1.75rem 1.25rem; display: grid; gap: 1rem; }
.entrar__caixa .logo { justify-self: start; }
.segredo { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 1rem; letter-spacing: .08em; background: var(--sup-2); padding: .75rem; border-radius: var(--r-s); word-break: break-all; }
.chip[aria-pressed="true"] { background: var(--acao); color: var(--na-acao); }
.agenda-dia { display: grid; gap: .5rem; }
.marc-linha { display: grid; grid-template-columns: 64px 1fr auto; gap: .75rem; align-items: center; background: var(--sup); border-radius: var(--r-s); padding: .75rem .875rem; }
.marc-linha--bloqueio { background: var(--sup-2); color: var(--tinta-2); }
.marc-linha__hora { font-weight: 800; font-variant-numeric: tabular-nums; }
.vagas { display: flex; flex-wrap: wrap; gap: .375rem; }
.sim-caixa { display: flex; flex-direction: column; background: var(--fundo); border-radius: var(--r-m); min-height: 420px; max-height: 70dvh; overflow: hidden; border: 1px solid var(--linha); }
@media (min-width: 960px) {
  .folha { align-items: center; justify-items: center; }
  .folha__caixa { border-radius: var(--r-l); width: min(560px, calc(100vw - 2rem)); max-height: 88dvh; overflow-y: auto; }
  .folha__caixa--larga { width: min(760px, calc(100vw - 2rem)); }
}
/* Cabeçalho dos ecrãs: os botões passam para a linha de baixo no telemóvel. */
.ecra__cab { flex-wrap: wrap; row-gap: .75rem; }
.ecra__cab .barra-acoes { flex-wrap: wrap; }
.ecra__cab .barra-acoes .btn { white-space: normal; text-align: left; }
@media (max-width: 559.98px) { .ecra__cab .barra-acoes { margin-left: 0; width: 100%; } }
