/* ============================================================
   Módulo ASV — Acompañantes de Soporte a la Víctima
   Tema: oscuro + amarillo Proyecto BÚHO
   Mobile first
   ============================================================ */

/* --- Encabezado de página --------------------------------- */
.asv-modulo-label {
    display: block;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #ffc107;
    font-weight: 600;
    margin-bottom: 2px;
}

.asv-titulo {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
}

/* --- Tarjetas de incidente -------------------------------- */
.asv-card {
    background-color: #1a1a1a;
    border: 1px solid #2e2e2e;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    transition: border-color 0.2s;
    cursor: pointer;
    text-decoration: none;
    display: block;
    color: inherit;
}

.asv-card:hover {
    border-color: #ffc107;
    color: inherit;
}

.asv-card-titulo {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 4px 0;
}

.asv-card-meta {
    font-size: 0.8rem;
    color: #9e9e9e;
    margin: 0;
}

.asv-card-footer {
    margin-top: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* --- Badges de estatus ------------------------------------ */
.asv-badge {
    font-size: 0.7rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.asv-badge-activo    { background-color: #ffc107; color: #111; }
.asv-badge-cerrado   { background-color: #6c757d; color: #fff; }
.asv-badge-archivado { background-color: #343a40; color: #aaa; border: 1px solid #555; }

/* --- Badge tipo evento ------------------------------------ */
.asv-badge-tipo {
    font-size: 0.7rem;
    padding: 3px 8px;
    border-radius: 4px;
    background-color: #2a2a2a;
    color: #ccc;
    border: 1px solid #3a3a3a;
}

/* --- Estado vacío ----------------------------------------- */
.asv-empty {
    text-align: center;
    padding: 3rem 1rem;
    color: #6c757d;
}

.asv-empty p {
    margin: 0;
    font-size: 0.95rem;
}

/* --- Sección título --------------------------------------- */
.asv-seccion-titulo {
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #ffc107;
}

/* --- Info label/valor ------------------------------------- */
.asv-info-label {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #777;
    margin: 0 0 2px 0;
}

.asv-info-val {
    font-size: 0.9rem;
    color: #ddd;
    margin: 0;
}

/* --- Badges de estatus de víctima ------------------------- */
.asv-badge-vic-activo       { background-color: #ffc107; color: #111; }
.asv-badge-vic-estabilizado { background-color: #198754; color: #fff; }
.asv-badge-vic-trasladado   { background-color: #0d6efd; color: #fff; }
.asv-badge-vic-cerrado      { background-color: #6c757d; color: #fff; }

/* --- Tags de lesión / síntoma ----------------------------- */
.asv-tag {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 3px;
    background-color: #2a2a2a;
    border: 1px solid #3a3a3a;
    color: #aaa;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin: 1px 1px 1px 0;
}

.asv-tag-alerta {
    background-color: rgba(255, 193, 7, 0.1);
    border-color: rgba(255, 193, 7, 0.3);
    color: #ffc107;
}

/* --- Nota: texto con saltos de línea ---------------------- */
.asv-nota-texto {
    white-space: pre-wrap;
    font-size: 0.9rem;
    color: #ddd;
    margin: 0;
    word-break: break-word;
}

/* --- Archivos: previsualización --------------------------- */
.asv-archivo-img {
    max-width: 100%;
    border-radius: 6px;
    margin-top: 0.5rem;
    display: block;
}

.asv-archivo-audio {
    width: 100%;
    margin-top: 0.5rem;
    display: block;
}

.asv-archivo-video {
    max-width: 100%;
    border-radius: 6px;
    margin-top: 0.5rem;
    display: block;
}

/* --- Timeline: estructura vertical ----------------------- */
.asv-timeline {
    position: relative;
    padding-left: 2rem;
}

.asv-timeline::before {
    content: '';
    position: absolute;
    left: 0.55rem;
    top: 0.4rem;
    bottom: 0;
    width: 2px;
    background-color: #2e2e2e;
}

.asv-tl-item {
    position: relative;
    margin-bottom: 1.25rem;
}

.asv-tl-item::before {
    content: '';
    position: absolute;
    left: -1.55rem;
    top: 1.1rem;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #444;
    border: 2px solid #111;
    z-index: 1;
}

/* --- Timeline: puntos por tipo --------------------------- */
.asv-tl-ficha1::before       { background-color: #ffc107; }
.asv-tl-ficha2::before       { background-color: #fd7e14; }
.asv-tl-ficha3::before       { background-color: #0dcaf0; }
.asv-tl-nota::before         { background-color: #198754; }
.asv-tl-archivo::before      { background-color: #6f42c1; }
.asv-tl-cambiostatus::before { background-color: #dc3545; }
.asv-tl-observacion::before  { background-color: #6c757d; }

/* --- Timeline: fecha y tarjeta --------------------------- */
.asv-tl-fecha {
    font-size: 0.7rem;
    color: #555;
    margin: 0 0 0.3rem 0;
    letter-spacing: 0.02em;
}

.asv-tl-card {
    background-color: #1a1a1a;
    border: 1px solid #2e2e2e;
    border-radius: 8px;
    padding: 0.75rem 1rem;
}

.asv-tl-desc {
    font-size: 0.875rem;
    color: #bbb;
    margin: 0.4rem 0 0 0;
}

/* --- Timeline: badges por tipo --------------------------- */
.asv-badge-tl-ficha1        { background-color: #ffc107; color: #111; }
.asv-badge-tl-ficha2        { background-color: #fd7e14; color: #fff; }
.asv-badge-tl-ficha3        { background-color: #0dcaf0; color: #111; }
.asv-badge-tl-nota          { background-color: #198754; color: #fff; }
.asv-badge-tl-archivo       { background-color: #6f42c1; color: #fff; }
.asv-badge-tl-cambiostatus  { background-color: #dc3545; color: #fff; }
.asv-badge-tl-observacion   { background-color: #6c757d; color: #fff; }

/* --- Timeline: bloque de detalle expandido ---------------- */
.asv-tl-detalle {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid #2a2a2a;
}

.asv-tl-vitales {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.asv-tl-vital {
    font-size: 0.72rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 4px;
    background-color: #252525;
    border: 1px solid #3a3a3a;
    color: #ccc;
}

.asv-tl-campo {
    font-size: 0.82rem;
    color: #bbb;
    margin: 0.3rem 0 0 0;
    word-break: break-word;
}

/* --- Encabezado público ASV ------------------------------- */
.asv-publico-header {
    background-color: #111;
    border-bottom: 1px solid #2e2e2e;
    padding: 0.875rem 1rem;
    margin-bottom: 0;
}

.asv-publico-badge-readonly {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 4px;
    background-color: #2a2a2a;
    border: 1px solid #444;
    color: #888;
}

/* --- Responsive ------------------------------------------- */
@media (max-width: 576px) {
    .asv-titulo {
        font-size: 1.25rem;
    }
}
