/* adm-com.css — estilos del módulo com de administración. Prefijo: adm-com-*
   Sólo tokens de ResidenSoft (--cs-*) y de Monteber (--mb-t1-*): sin colores escritos a mano, así el modo oscuro funciona solo. */

.adm-com-pagina { display: flex; flex-direction: column; gap: .75rem; min-height: 0; }
.adm-com-enc { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.adm-com-enc h1 { font-size: 1.25rem; font-weight: 800; margin: 0; color: var(--cs-ink); }
.adm-com-enc .adm-com-sub { color: var(--cs-muted); font-size: .85rem; }
.adm-com-barra { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; padding: .5rem .6rem; background: var(--mb-t1-panel-bg, var(--cs-surface-2)); border: 1px solid var(--cs-line); border-radius: 12px; }
.adm-com-barra .adm-com-grow { flex: 1; }
.adm-com-filtro { display: flex; align-items: center; gap: .4rem; font-size: .82rem; color: var(--cs-muted); }
.adm-com-filtro select { min-height: 32px; border-radius: 8px; border: 1px solid var(--cs-line); background: var(--cs-surface); color: var(--cs-text); padding: 0 .5rem; }

.adm-com-dividido { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 440px); gap: .85rem; align-items: start; }
.adm-com-dividido--ancho { grid-template-columns: minmax(0, 1fr) minmax(380px, 520px); }
.adm-com-dividido--sola { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 1100px) { .adm-com-dividido, .adm-com-dividido--ancho { grid-template-columns: minmax(0, 1fr); } }

.adm-com-panel { background: var(--cs-surface); border: 1px solid var(--cs-line); border-radius: 14px; padding: 1rem; display: flex; flex-direction: column; gap: .75rem; box-shadow: var(--cs-shadow); }
.adm-com-panel > h2 { margin: 0; font-size: 1.02rem; font-weight: 800; color: var(--cs-ink); }
.adm-com-panel .adm-com-acciones { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: flex-end; }
.adm-com-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem .75rem; }
.adm-com-campos .adm-com-ancho { grid-column: 1 / -1; }
.adm-com-nota { font-size: .82rem; color: var(--cs-muted); line-height: 1.4; }
.adm-com-ok { color: var(--cs-ok); }
.adm-com-error { color: var(--cs-err); }
.adm-com-aviso { padding: .55rem .75rem; border-radius: 10px; font-size: .85rem; background: var(--cs-info-bg); color: var(--cs-info); }
.adm-com-aviso--alerta { background: var(--cs-warn-bg); color: var(--cs-warn); }
.adm-com-aviso--error { background: var(--cs-err-bg); color: var(--cs-err); }
.adm-com-aviso--ok { background: var(--cs-ok-bg); color: var(--cs-ok); }

/* ---- indicadores ---- */
.adm-com-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: .6rem; }
.adm-com-kpi { background: var(--cs-surface-2); border: 1px solid var(--cs-line); border-radius: 12px; padding: .6rem .8rem; }
.adm-com-kpi strong { display: block; font-size: 1.35rem; font-weight: 800; color: var(--cs-ink); font-variant-numeric: tabular-nums; }
.adm-com-kpi span { font-size: .75rem; color: var(--cs-muted); }

/* ---- lista simple ---- */
.adm-com-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; max-height: 260px; overflow: auto; border: 1px solid var(--cs-line); border-radius: 10px; }
.adm-com-lista li { display: flex; justify-content: space-between; gap: .5rem; padding: .4rem .7rem; font-size: .85rem; border-bottom: 1px solid var(--cs-line); }
.adm-com-lista li:last-child { border-bottom: 0; }
.adm-com-lista li span:last-child { color: var(--cs-muted); white-space: nowrap; }

/* ---- hilo de mensajes ---- */
.adm-com-hilo { display: flex; flex-direction: column; gap: .5rem; max-height: 46vh; overflow: auto; padding: .25rem; }
.adm-com-burbuja { max-width: 86%; padding: .55rem .8rem; border-radius: 14px; background: var(--cs-surface-2); border: 1px solid var(--cs-line); align-self: flex-start; }
.adm-com-burbuja--personal { align-self: flex-end; background: var(--cs-primary-soft); border-color: transparent; }
.adm-com-burbuja header { font-size: .72rem; font-weight: 700; color: var(--cs-muted); margin-bottom: .15rem; }
.adm-com-burbuja p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .92rem; }
.adm-com-responder { display: flex; flex-direction: column; gap: .5rem; }

/* ---- votaciones ---- */
.adm-com-barra-res { height: 10px; border-radius: 6px; background: var(--cs-line); overflow: hidden; }
.adm-com-barra-res > i { display: block; height: 100%; background: var(--cs-primary); }
.adm-com-res { display: flex; flex-direction: column; gap: .15rem; }
.adm-com-res .adm-com-res-fila { display: flex; justify-content: space-between; font-size: .88rem; gap: .5rem; }
.adm-com-hash { font-family: ui-monospace, Consolas, monospace; font-size: .72rem; overflow-wrap: anywhere; color: var(--cs-muted); }

/* ---- vista previa de correo ---- */
.adm-com-correo { border: 1px solid var(--cs-line); border-radius: 12px; overflow: hidden; background: var(--cs-surface); }
.adm-com-correo > header { padding: .7rem 1rem; color: #fff; font-weight: 800; background: var(--cs-primary-dark); }
.adm-com-correo > div { padding: 1rem; display: flex; flex-direction: column; gap: .6rem; font-size: .92rem; }
.adm-com-correo h3 { margin: 0; font-size: 1.05rem; color: var(--cs-ink); }
.adm-com-correo p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.adm-com-correo .adm-com-boton { align-self: flex-start; padding: .55rem 1.1rem; border-radius: 9px; font-weight: 700; background: var(--cs-primary-dark); color: #fff; }
.adm-com-correo footer { padding: .6rem 1rem; font-size: .72rem; color: var(--cs-muted); background: var(--cs-surface-2); }
.adm-com-marcadores { display: flex; flex-wrap: wrap; gap: .3rem; }
.adm-com-marcadores code { padding: .1rem .45rem; border-radius: 6px; background: var(--cs-surface-2); border: 1px solid var(--cs-line); font-size: .78rem; }

/* ---- estados en listas ---- */
.adm-com-chip { display: inline-block; padding: .08rem .55rem; border-radius: 999px; font-size: .72rem; font-weight: 700; background: var(--cs-line); color: var(--cs-muted); }
.adm-com-chip--ok { background: var(--cs-ok-bg); color: var(--cs-ok); }
.adm-com-chip--alerta { background: var(--cs-warn-bg); color: var(--cs-warn); }
.adm-com-chip--error { background: var(--cs-err-bg); color: var(--cs-err); }
.adm-com-chip--info { background: var(--cs-info-bg); color: var(--cs-info); }

/* ---- calendario ---- */
.adm-com-calendario { min-height: 520px; border: 1px solid var(--cs-line); border-radius: 12px; overflow: hidden; background: var(--cs-surface); }

/* ---- acta imprimible ---- */
.adm-com-acta { background: var(--cs-surface); border: 1px solid var(--cs-line); border-radius: 12px; padding: 1.25rem 1.5rem; display: flex; flex-direction: column; gap: .75rem; }
.adm-com-acta h2 { margin: 0; font-size: 1.15rem; }
.adm-com-acta table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.adm-com-acta th, .adm-com-acta td { border-bottom: 1px solid var(--cs-line); padding: .3rem .4rem; text-align: left; }
.adm-com-acta td.adm-com-num, .adm-com-acta th.adm-com-num { text-align: right; font-variant-numeric: tabular-nums; }
@media print {
    .adm-lateral, .adm-com-barra, .adm-com-enc, .adm-com-noimprimir { display: none !important; }
    .adm-app { display: block; }
    .adm-cuerpo { padding: 0; }
    .adm-com-acta { border: 0; box-shadow: none; }
}
