/* Estilos del módulo tickets (Mis tickets, Nuevo ticket, conversación y bandeja del staff). Prefijo ti-. */

/* Texto solo para lectores de pantalla */
.ti-oculto { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ti-bloque { display: block; }

/* Filtros (pestañas) */
.ti-filtros { display: flex; gap: 4px; flex-wrap: wrap; margin: 0 0 14px; border-bottom: 1px solid var(--linea); }
.ti-filtros a { padding: 8px 12px; margin-bottom: -1px; border-bottom: 2px solid transparent; color: var(--suave); text-decoration: none; font-weight: 600; font-size: 14px; }
.ti-filtros a:hover { color: var(--blanco); }
.ti-filtros a[aria-current='page'] { color: var(--blanco); border-bottom-color: var(--acento); }
.ti-cuenta { display: inline-block; min-width: 20px; padding: 0 6px; border-radius: 99px; background: var(--bg2); border: 1px solid var(--linea); font-size: 11.5px; text-align: center; color: var(--suave); }

/* Lista de Mis tickets */
.ti-lista { list-style: none; margin: 0; padding: 0; border: 1px solid var(--linea); border-radius: 12px; overflow: hidden; }
.ti-lista li { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto 110px; gap: 12px; align-items: center; padding: 12px 14px; border-bottom: 1px solid var(--linea); background: var(--tarjeta); }
.ti-lista li:last-child { border-bottom: 0; }
.ti-lista li:hover { background: var(--bg2); }
.ti-num { font: 600 13.5px var(--mono); color: var(--acento-texto); text-decoration: none; }
.ti-asunto { color: var(--blanco); text-decoration: none; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ti-asunto:hover { text-decoration: underline; }
.ti-fecha { text-align: right; }
@media (max-width: 640px) {
	.ti-lista li { grid-template-columns: auto minmax(0, 1fr); row-gap: 6px; }
	.ti-asunto { grid-column: 1 / -1; grid-row: 1; white-space: normal; }
	.ti-fecha { text-align: left; }
}

/* Paneles laterales */
.ti-panel h2 { font-size: 16px; margin: 0 0 12px; }
.ti-panel h3 { font-size: 13px; color: var(--suave); text-transform: uppercase; letter-spacing: .04em; margin: 14px 0 6px; }
.ti-datos { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 12px; margin: 0; font-size: 14px; }
.ti-datos dt { color: var(--suave); }
.ti-datos dd { margin: 0; color: var(--blanco); overflow-wrap: anywhere; }
.ti-enlaces li { padding: 4px 0; font-size: 14px; }
.ti-buscar { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.ti-buscar input { flex: 1 1 160px; min-width: 0; }
.ti-sin-plan { max-width: 720px; }
.ti-sin-plan h2 { margin-top: 0; }

/* Formularios */
.ti-form h2 { margin-top: 0; font-size: 18px; }
.ti-dos { display: grid; gap: 0 14px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.ti-diagnostico { border: 1px solid var(--linea); border-radius: 12px; padding: 12px 14px 2px; margin: 0 0 16px; background: var(--bg2); min-width: 0; }
.ti-diagnostico legend { padding: 0 6px; font-weight: 600; font-size: 13.5px; color: var(--blanco); }
.ti-nota-segura { color: var(--ok-texto); }
.ti-nota-segura::before { content: '✓ '; }
.ti-archivo { font: 14px var(--fuente); color: var(--texto); max-width: 100%; }
.ti-archivo::file-selector-button { margin-right: 10px; height: 34px; padding: 0 12px; border-radius: 9px; border: 1px solid var(--linea-fuerte); background: var(--tarjeta); color: var(--texto); font: 600 13px var(--fuente); cursor: pointer; }
.ti-resolver { margin-top: 12px; }
.ti-principal { display: grid; gap: 16px; min-width: 0; }

/* Conversación */
.ti-conversacion { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ti-mensaje { border: 1px solid var(--linea); border-radius: 14px; background: var(--tarjeta); padding: 14px 16px; min-width: 0; }
.ti-mensaje.ti-del-equipo { border-left: 3px solid var(--acento); }
.ti-mensaje.ti-nota { border: 1px dashed var(--aviso-borde); border-left: 3px solid var(--aviso-borde); background: var(--aviso-fondo); }
.ti-mensaje.ti-nota .texto-usuario { color: var(--aviso-texto); }
.ti-autor { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 10px; }
.ti-autor b { color: var(--blanco); }
.ti-adjuntos { list-style: none; margin: 8px 0 0; padding: 8px 0 0; border-top: 1px solid var(--linea); display: grid; gap: 4px; font-size: 14px; }
.ti-adjuntos a { font-weight: 600; overflow-wrap: anywhere; }
.ti-boton-nota { border-style: dashed; }

/* Plazos: color y forma */
.ti-plazo { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 13.5px; white-space: nowrap; }
.ti-forma { font-size: 12px; line-height: 1; }
.ti-plazo-vencido { color: var(--error); }
.ti-plazo-pronto { color: var(--aviso-texto); }
.ti-plazo-a-tiempo { color: var(--acento-texto); }
.ti-plazo-cumplido { color: var(--ok); }
.ti-plazo-fuera { color: var(--error-texto); }
.ti-plazo-na { color: var(--suave); font-weight: 400; }

/* Bandeja */
.ti-bandeja td a { color: var(--blanco); text-decoration: none; }
.ti-bandeja td a:hover { text-decoration: underline; }
.ti-bandeja .ti-num { margin-right: 4px; }
.ti-bandeja tr.ti-fila-urgente td:first-child { box-shadow: inset 3px 0 0 var(--error); }
