/* adm-acc.css — ADMINISTRACIÓN · módulo de accesos (escritorio). Prefijo: adm-acc-*  ·  subidor de archivos: sub-arch-* */

.adm-acc { display: flex; flex-direction: column; gap: .9rem; padding: .25rem 0 1.5rem; min-width: 0; }
.adm-acc-enc h1 { font-size: 1.35rem; font-weight: 800; color: var(--cs-ink); margin: 0; }
.adm-acc-enc p { color: var(--cs-muted); font-size: .88rem; margin: .15rem 0 0; }
.adm-acc-filtros { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-end; padding: .75rem .9rem; background: var(--cs-surface); border: 1px solid var(--cs-line); border-radius: 12px; }
.adm-acc-filtros > * { min-width: 170px; }
.adm-acc-grid { min-width: 0; border-radius: 12px; }
.adm-acc-dos { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 1rem; align-items: start; }
.adm-acc-panel { display: flex; flex-direction: column; gap: .75rem; padding: 1rem; background: var(--cs-surface); border: 1px solid var(--cs-line); border-radius: 12px; }
.adm-acc-panel h2 { font-size: 1.05rem; font-weight: 800; margin: 0 0 .1rem; }
.adm-acc-acciones { display: flex; gap: .5rem; flex-wrap: wrap; }
.adm-acc-check { display: inline-flex; align-items: center; gap: .4rem; margin-top: .5rem; font-size: .85rem; color: var(--cs-muted); }

.adm-acc-btn { height: 34px; padding: 0 1rem; border: 0; border-radius: 8px; background: var(--cs-primary); color: #fff; font-weight: 700; cursor: pointer; }
.adm-acc-btn:hover { filter: brightness(1.08); }
.adm-acc-btn[disabled] { opacity: .5; pointer-events: none; }
.adm-acc-btn--sec { background: var(--cs-surface-2); color: var(--cs-text); box-shadow: inset 0 0 0 1px var(--cs-line); }
.adm-acc-btn--peligro { background: var(--cs-err); }
.adm-acc-btn--sensible { background: #B45309; }

.adm-acc-error { padding: .6rem .9rem; border-radius: 10px; background: var(--cs-err-bg); color: var(--cs-err); font-weight: 600; }
.adm-acc-alarma { padding: .7rem 1rem; border-radius: 10px; background: var(--cs-err); color: #fff; font-weight: 800; animation: adm-acc-pulso 1.4s ease-in-out infinite; }
@keyframes adm-acc-pulso { 50% { opacity: .75; } }
.adm-acc-detalle { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding: .9rem 1rem; background: var(--cs-surface); border: 1px solid var(--cs-line); border-left: 5px solid var(--cs-primary); border-radius: 12px; }
.adm-acc-detalle h2 { font-size: 1.05rem; margin: 0 0 .2rem; }
.adm-acc-detalle p { margin: .1rem 0; font-size: .9rem; }
.adm-acc-nota { color: var(--cs-warn); font-size: .85rem; font-weight: 600; }
.adm-acc-sub { color: var(--cs-muted); font-size: .82rem; }
.adm-acc-miniatura { width: 240px; flex: none; }

/* visor modal de fotos sensibles */
.adm-acc-modal { position: fixed; inset: 0; z-index: 200; background: rgba(11,18,32,.65); display: grid; place-items: center; padding: 1.5rem; }
.adm-acc-modal-caja { width: min(900px, 100%); max-height: 92vh; overflow: auto; background: var(--cs-surface); border-radius: 16px; padding: 1.1rem 1.25rem; box-shadow: var(--cs-shadow-lg); }
.adm-acc-modal-caja header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: .5rem; }
.adm-acc-modal-caja h2 { font-size: 1.15rem; margin: 0; }
.adm-acc-fotos { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1rem; }
.adm-acc-fotos figure { margin: 0; }
.adm-acc-fotos figcaption { font-weight: 700; font-size: .85rem; margin-bottom: .2rem; }

/* reporte */
.adm-acc-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .75rem; }
.adm-acc-tile { background: var(--cs-surface); border: 1px solid var(--cs-line); border-radius: 12px; padding: .8rem 1rem; }
.adm-acc-tile strong { display: block; font-size: 1.8rem; font-weight: 800; color: var(--cs-ink); font-variant-numeric: tabular-nums; }
.adm-acc-tile span { font-size: .78rem; color: var(--cs-muted); font-weight: 600; }
.adm-acc-tile--rojo strong { color: var(--cs-err); }
.adm-acc-rep { display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); gap: 1rem; align-items: start; }
.adm-acc-card { background: var(--cs-surface); border: 1px solid var(--cs-line); border-radius: 12px; padding: .9rem 1rem; }
.adm-acc-card h2 { font-size: 1rem; margin: 0 0 .6rem; }
.adm-acc-barras { display: grid; grid-template-columns: repeat(24, 1fr); gap: 3px; align-items: end; height: 150px; }
.adm-acc-barra { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; gap: 3px; }
.adm-acc-barra span { display: block; width: 100%; min-height: 2px; border-radius: 3px 3px 0 0; background: var(--cs-primary); }
.adm-acc-barra small { font-size: .62rem; color: var(--cs-muted); }
.adm-acc-hbar { display: grid; grid-template-columns: 90px 1fr 40px; align-items: center; gap: .6rem; margin: .3rem 0; font-size: .88rem; }
.adm-acc-hbar div { height: 10px; border-radius: 5px; background: var(--cs-line); overflow: hidden; }
.adm-acc-hbar i { display: block; height: 100%; background: var(--cs-primary); border-radius: 5px; }
.adm-acc-hbar b { text-align: right; font-variant-numeric: tabular-nums; }

/* SubidorArchivo (escritorio) */
.sub-arch { display: flex; flex-direction: column; gap: .35rem; max-width: 520px; }
.sub-arch-etiqueta { font-size: .8rem; font-weight: 700; color: var(--cs-muted); }
.sub-arch-fila { display: flex; gap: .5rem; align-items: center; }
.sub-arch-input { flex: 1; min-width: 0; padding: .35rem; border: 1px solid var(--cs-line); border-radius: 8px; background: var(--cs-surface); color: var(--cs-text); }
.sub-arch-progreso { display: flex; align-items: center; gap: .6rem; font-size: .8rem; font-weight: 700; }
.sub-arch-progreso progress { flex: 1; height: 10px; accent-color: var(--cs-primary); }
.sub-arch-msg { margin: 0; font-size: .82rem; color: var(--cs-ok); font-weight: 600; }
.sub-arch-msg--error { color: var(--cs-err); }

@media (max-width: 1100px) { .adm-acc-dos { grid-template-columns: 1fr; } }
