/* Administração → Lugares (public/admin-lugares.js): a planta com um quadradinho em cada lugar de sentar */
.adm-lg-icone { background: #EFEBFE; color: var(--a-acento); }
.adm-lg-editor { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 14px; align-items: start; margin-top: 16px; padding-top: 16px; border-top: 1px dashed var(--a-linha); }
.adm-lg-palco { min-width: 0; }
.adm-lg-planta { cursor: crosshair; outline: none; }
.adm-lg-planta:focus-visible { box-shadow: 0 0 0 3px var(--a-acento-suave), 0 0 0 5px var(--a-acento); }
.adm-lg-marcas { position: absolute; inset: 0; }
/* sala de voz interna: contorno fino com o nome, só para situar */
.adm-lg-sala { position: absolute; border: 1.5px dashed rgba(107, 78, 230, .45); border-radius: 6px; pointer-events: none; }
.adm-lg-sala i { position: absolute; left: 4px; top: 4px; padding: 1px 6px; border-radius: 999px; background: rgba(255, 255, 255, .9); color: var(--a-tinta); font: 600 10.5px/1.4 var(--corpo); font-style: normal; white-space: nowrap; }
/* o quadradinho: centrado no ponto do lugar, com a seta para onde a pessoa fica virada */
.adm-lg-marca { position: absolute; transform: translate(-50%, -50%); min-width: 14px; min-height: 14px; padding: 0; display: grid; place-items: center; border-radius: 4px; cursor: pointer; z-index: 1; }
.adm-lg-marca b, .adm-lg-giro b { width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 6px solid currentColor; transform: rotate(var(--giro, 0deg)); }
.adm-lg-marca.padrao { background: rgba(255, 255, 255, .82); border: 1.5px solid #8C86A3; color: #6A6480; }
.adm-lg-marca.padrao.fora { background: rgba(255, 255, 255, .45); border-style: dashed; color: transparent;
  background-image: linear-gradient(45deg, transparent 44%, #C9333A 44%, #C9333A 56%, transparent 56%), linear-gradient(-45deg, transparent 44%, #C9333A 44%, #C9333A 56%, transparent 56%); }
.adm-lg-marca.padrao.estacao { border-color: #B9B4C9; cursor: not-allowed; opacity: .75; }
.adm-lg-marca.solto { background: var(--a-acento); border: 1.5px solid #fff; color: #fff; box-shadow: 0 1px 5px rgba(31, 27, 45, .35); cursor: grab; z-index: 2; }
.adm-lg-marca.solto.sel { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--a-acento), 0 2px 8px rgba(31, 27, 45, .35); z-index: 3; }
.adm-lg-marca.solto.sem-chegada { background: #D9822B; }
.adm-lg-marca.solto.ruim { background: var(--a-ruim); }
.adm-lg-marca:focus-visible { outline: 2px solid var(--a-acento); outline-offset: 2px; }
/* por onde a pessoa chega no lugar escolhido */
.adm-lg-chega { position: absolute; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; border: 2px solid #1B9A5C; background: rgba(255, 255, 255, .85); pointer-events: none; z-index: 2; }
.adm-lg-chega.ruim { border-color: #D9822B; }
.adm-lg-lado { align-content: start; }
.adm-lg-campos { display: grid; gap: 12px; border-left: 3px solid var(--a-acento); padding-left: 12px; }
.adm-lg-onde { margin: 0; font-size: 13px; line-height: 1.45; color: var(--a-tinta); }
.adm-lg-giros { display: flex; gap: 6px; }
.adm-lg-giro { width: 40px; padding: 0; display: grid; place-items: center; color: var(--a-tinta); }
.adm-lg-giro b { border-left-width: 6px; border-right-width: 6px; border-top-width: 9px; }
.adm-lg-giro[aria-pressed="true"] { border-color: var(--a-acento); background: var(--a-acento-suave); color: var(--a-acento); }
.adm-lg-aviso { margin: 0; }
.adm-lg-botoes { display: flex; gap: 8px; flex-wrap: wrap; }
.adm-lg-botoes .adm-sec svg, .adm-lg-botoes .adm-apagar svg { width: 15px; height: 15px; }
.adm-lg-dica { margin: 0; font-size: 12px; color: var(--a-suave); }
.adm-lg-resumo { display: grid; gap: 8px; font-size: 13px; color: var(--a-tinta); }
.adm-lg-salas { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.adm-lg-salas li { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; }
.adm-lg-salas b { font: 500 12px/1.5 var(--mono); color: var(--a-tinta); }
.adm-lg-salas b.zero { color: var(--a-ruim); }
.adm-lg-vazio { color: var(--a-suave); }
.adm-lg-rodape { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
.adm-lg-rodape .adm-estado { flex: 1; margin: 0; }
.adm-lg-rodape .adm-pendente[hidden] { display: none; }
@media (max-width: 860px) {
  .adm-lg-editor { grid-template-columns: 1fr; }
  .adm-lg-rodape { flex-wrap: wrap; }
}
