/* TANDA 11: clases generadas desde antiguos atributos style="...".
   Mantiene la interfaz sin depender de style-src-attr unsafe-inline. */
.gm-is-001 { margin-top:1rem; display:flex; gap:0.5rem; flex-wrap:wrap; }
.gm-is-002 { margin-top:1rem; }
.gm-is-003 { align-self:end; }
.gm-is-004 { margin-bottom:1rem; }
.gm-is-005 { display:flex; align-items:center; gap:.5rem; margin-top:1.4rem; }
.gm-is-006 { margin-bottom:.75rem; }
.gm-is-007 { max-width:220px; }
.gm-is-008 { overflow-x:auto; }
.gm-is-009 { text-align:center; min-width:70px; }
.gm-is-010 { opacity:.35; }
.gm-is-011 { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1rem; }
.gm-is-012 { display:flex; align-items:end; gap:.5rem; }
.gm-is-013 { max-height:260px; overflow:auto; }
.gm-is-014 { display:inline; }
.gm-is-015 { margin-top:.5rem; }
.gm-is-016 { display:flex; gap:.5rem; flex-wrap:wrap; }
.gm-is-017 { display:flex; align-items:center; gap:.5rem; margin-top:.5rem; }
.gm-is-018 { margin-top:1rem; margin-bottom:1rem; }
.gm-is-019 { display:flex; gap:.5rem; align-items:center; }
.gm-is-020 { margin: 12px 0; }
.gm-is-021 { margin: 10px 0; }
.gm-is-022 { margin-top:14px; }
.gm-is-023 { margin-top:10px; display:flex; gap:8px; align-items:center; width:auto; }
.gm-is-024 { width:auto; }
.gm-is-025 { display:inline-flex; gap:6px; flex-wrap:wrap; align-items:center; }
.gm-is-026 { display:flex; gap:8px; align-items:center; margin-top:28px; width:auto; }
.gm-is-027 { margin-left:8px; }
.gm-is-028 { display:inline-block; margin-left:6px; }
.gm-is-029 { text-align:center; }
.gm-is-030 { max-width:720px; margin:2rem auto; }
.gm-is-031 { margin-top:0; }
.gm-is-032 { white-space:pre-wrap; }
.gm-is-033 { opacity:.8; }
.gm-is-034 { display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; }
.gm-is-035 { justify-content:center; margin: 14px 0 22px; gap: 6px; flex-wrap: wrap; }
.gm-is-036 { padding: 6px 4px; }
.gm-is-037 { width: 120px; }
.gm-is-038 { width: 220px; }
.gm-is-039 { width: 70px; }
.gm-is-040 { display:flex; align-items:center; gap:8px; margin:0; }
.gm-is-041 { width:auto; margin:0; }
.gm-is-042 { color:#93c5fd; }
.gm-is-043 { display:flex; gap:8px; justify-content:flex-end; }
.gm-is-044 { margin-top:10px; display:inline-block; }
.gm-is-045 { margin-bottom:12px; }
.gm-is-046 { white-space:pre-wrap; border:1px solid var(--line); border-radius:12px; padding:12px; background:var(--card); }
.gm-is-047 { max-width:520px; padding:16px; }
.gm-is-048 { width:100%; }
.gm-is-049 { margin-top:8px; }
.gm-is-050 { margin-top:12px; }
.gm-is-051 { margin: 14px 0; border-left: 4px solid var(--danger, #dc3545); }
.gm-is-052 { min-width: 220px; }
.gm-is-053 { margin-top:6px; }
.gm-is-054 { border-left:4px solid #dc2626; }
.gm-is-055 { display:flex; gap:10px; align-items:flex-start; font-weight:700; }
.gm-is-056 { width:auto; margin-top:4px; }
.gm-is-057 { margin-top: 1rem; }
.gm-is-058 { margin-bottom:16px; }
.gm-is-059 { min-width:240px; gap:8px; }
.gm-is-060 { display:flex; gap:8px; align-items:flex-start; }
.gm-is-061 { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.gm-is-062 { justify-content:space-between; align-items:center; gap:12px; margin:10px 0; }
.gm-is-063 { gap:6px; align-items:flex-start; flex-wrap:wrap; }
.gm-is-064 { gap:8px; align-items:center; }
.gm-is-065 { flex:1; }
.gm-is-066 { max-width:420px; margin-bottom:1.5rem; display:inline-block; }
.gm-is-067 { margin-top:0.5rem; }
.gm-is-068 { margin-bottom:1.5rem; }
.gm-is-069 { text-align:right; }
.gm-is-070 { margin-left:0.5rem; }
.gm-is-071 { display:flex; gap:10px; align-items:center; margin-bottom:10px; flex-wrap:wrap; }
.gm-is-072 { display:inline-flex; gap:6px; align-items:center; }
.gm-is-073 { width:160px; }
.gm-is-074 { gap:8px; align-items:end; }
.gm-is-075 { min-width:120px; }
.gm-is-076 { justify-content:center; margin: 14px 0 0; gap: 6px; flex-wrap: wrap; }
.gm-is-077 { width:120px; }
.gm-is-078 { margin:1rem 0; }
.gm-is-079 { margin-top:0.5rem; display:block; }
.gm-is-080 { margin-left:6px; }
.gm-is-081 { margin-top:0.75rem; }
.gm-is-082 { text-align:center; font-size:0.9rem; }
.gm-is-083 { display:inline-flex; align-items:center; gap:0.25rem; }
.gm-is-084 { max-width:140px; padding:0.15rem 0.35rem; font-size:0.85rem; }
.gm-is-085 { padding:0.2rem 0.5rem; }
.gm-is-086 { justify-content:center; margin: 14px 0 6px; gap: 6px; flex-wrap: wrap; }
.gm-is-087 { margin-bottom: 1.5rem; }
.gm-is-088 { font-size:0.9rem; color:#666; }
.gm-is-089 { width:220px; text-align:right; }
.gm-is-090 { display:flex; gap:0.25rem; justify-content:flex-end; }
.gm-is-091 { max-width:140px; width:140px; text-align:right; }
.gm-is-092 { width:7em; text-align:right; }
.gm-is-093 { display:inline-flex; gap:4px; align-items:center; }
.gm-is-094 { max-width: 13em; }
.gm-is-095 { width:300px; }
.gm-is-096 { display:flex; align-items:center; gap:10px; margin-top:28px; }
.gm-is-097 { margin-top:4px; }
.gm-is-098 { display:flex; gap:8px; align-items:center; margin-top:24px; }
.gm-is-099 { display:flex; align-items:end; }
.gm-is-100 { width:54px; min-width:54px; padding:4px; }
.gm-is-101 { justify-content:flex-start; }
.gm-is-102 { padding:18px; }
.gm-is-103 { margin-bottom:14px; }
.gm-is-104 { margin-top: 0.5rem; }
.gm-is-105 { margin-top: 1.5rem; }
.gm-is-106 { margin-top: 0.75rem; }
.gm-is-107 { padding:0 15px 15px; }

/* Utilidades seguras usadas para sustituir estilos inline dinámicos. */
.gm-hidden { display: none !important; }
.gm-min-w-220 { min-width: 220px; }
.gm-turno-color-chip { display: inline-block; min-width: 120px; }
.gm-bg-fallback { background-color: #e5e7eb; }
/* Utilidades CSP añadidas para sustituir restos style="..." heredados. */
.gm-csp-mt-16 { margin-top:16px; }
.gm-csp-mt-18 { margin-top:18px; }
