.texto-xs { font-size: 12px; line-height: 1.4; }
.texto-sm { font-size: 14px; line-height: 1.5; }
.texto-base { font-size: 16px; line-height: 1.6; }
.texto-lg { font-size: 18px; line-height: 1.6; }
.texto-xl { font-size: 22px; line-height: 1.5; }
.texto-2xl { font-size: 28px; line-height: 1.3; }
.texto-3xl { font-size: 36px; line-height: 1.2; }
.texto-gris-333 { color: #333; }
.texto-gris-444 { color: #444; }
.texto-gris-555 { color: #555; }
.texto-gris-888 { color: #888; }
.texto-gris-999 { color: #999; }
.texto-gris-aaa { color: #aaa; }
.texto-blanco { color: #fff; }
.texto-azul { color: #1a73e8; }
.texto-verde { color: #28a745; }
.texto-rojo { color: #dc3545; }
.texto-coral { color: #ff6b6b; }
.texto-centro { text-align: center; }
.texto-izquierda { text-align: left; }
.texto-derecha { text-align: right; }
.texto-justificado { text-align: justify; }
.texto-negrita { font-weight: 700; }
.texto-normal { font-weight: 400; }
.texto-ligero { font-weight: 300; }
.texto-mayuscula { text-transform: uppercase; }
.texto-minuscula { text-transform: lowercase; }
.texto-capitalizado { text-transform: capitalize; }
.texto-no-wrap { white-space: nowrap; }
.fondo-blanco { background: #fff; }
.fondo-gris { background: #f5f5f5; }
.fondo-gris-oscuro { background: #e0e0e0; }
.fondo-azul { background: #1a73e8; }
.fondo-azul-oscuro { background: #0d47a1; }
.fondo-verde { background: #28a745; }
.fondo-rojo { background: #dc3545; }
.fondo-coral { background: #ff6b6b; }
.fondo-transparente { background: transparent; }
.mt-0 { margin-top: 0; }
.mt-4 { margin-top: 4px; }
.mt-8 { margin-top: 8px; }
.mt-12 { margin-top: 12px; }
.mt-16 { margin-top: 16px; }
.mt-20 { margin-top: 20px; }
.mt-24 { margin-top: 24px; }
.mt-32 { margin-top: 32px; }
.mt-40 { margin-top: 40px; }
.mt-48 { margin-top: 48px; }
.mt-64 { margin-top: 64px; }
.mb-0 { margin-bottom: 0; }
.mb-4 { margin-bottom: 4px; }
.mb-8 { margin-bottom: 8px; }
.mb-12 { margin-bottom: 12px; }
.mb-16 { margin-bottom: 16px; }
.mb-20 { margin-bottom: 20px; }
.mb-24 { margin-bottom: 24px; }
.mb-32 { margin-bottom: 32px; }
.mb-40 { margin-bottom: 40px; }
.mb-48 { margin-bottom: 48px; }
.mb-64 { margin-bottom: 64px; }
.ml-auto { margin-left: auto; }
.mr-auto { margin-right: auto; }
.mx-auto { margin-left: auto; margin-right: auto; }
.p-0 { padding: 0; }
.p-4 { padding: 4px; }
.p-8 { padding: 8px; }
.p-12 { padding: 12px; }
.p-16 { padding: 16px; }
.p-20 { padding: 20px; }
.p-24 { padding: 24px; }
.p-32 { padding: 32px; }
.p-40 { padding: 40px; }
.px-8 { padding-left: 8px; padding-right: 8px; }
.px-16 { padding-left: 16px; padding-right: 16px; }
.px-20 { padding-left: 20px; padding-right: 20px; }
.px-24 { padding-left: 24px; padding-right: 24px; }
.py-8 { padding-top: 8px; padding-bottom: 8px; }
.py-16 { padding-top: 16px; padding-bottom: 16px; }
.py-20 { padding-top: 20px; padding-bottom: 20px; }
.py-24 { padding-top: 24px; padding-bottom: 24px; }
.rounded-4 { border-radius: 4px; }
.rounded-6 { border-radius: 6px; }
.rounded-8 { border-radius: 8px; }
.rounded-10 { border-radius: 10px; }
.rounded-12 { border-radius: 12px; }
.rounded-16 { border-radius: 16px; }
.rounded-20 { border-radius: 20px; }
.rounded-circle { border-radius: 50%; }
.rounded-0 { border-radius: 0; }
.borde-0 { border: 0; }
.borde-1 { border: 1px solid #ddd; }
.borde-2 { border: 2px solid #ddd; }
.borde-azul { border-color: #1a73e8; }
.borde-gris { border-color: #e0e0e0; }
.sombra-suave { box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
.sombra-media { box-shadow: 0 4px 12px rgba(0,0,0,0.12); }
.sombra-fuerte { box-shadow: 0 8px 24px rgba(0,0,0,0.16); }
.sombra-sin { box-shadow: none; }
.flex { display: flex; }
.flex-col { flex-direction: column; }
.flex-row { flex-direction: row; }
.flex-wrap { flex-wrap: wrap; }
.flex-nowrap { flex-wrap: nowrap; }
.flex-1 { flex: 1; }
.flex-grow { flex-grow: 1; }
.flex-shrink-0 { flex-shrink: 0; }
.items-start { align-items: flex-start; }
.items-center { align-items: center; }
.items-end { align-items: flex-end; }
.items-stretch { align-items: stretch; }
.justify-start { justify-content: flex-start; }
.justify-center { justify-content: center; }
.justify-end { justify-content: flex-end; }
.justify-between { justify-content: space-between; }
.justify-around { justify-content: space-around; }
.gap-4 { gap: 4px; }
.gap-8 { gap: 8px; }
.gap-10 { gap: 10px; }
.gap-12 { gap: 12px; }
.gap-16 { gap: 16px; }
.gap-20 { gap: 20px; }
.gap-24 { gap: 24px; }
.gap-30 { gap: 30px; }
.grid { display: grid; }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); }
.grid-auto-fill { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.grid-gap-12 { gap: 12px; }
.grid-gap-16 { gap: 16px; }
.grid-gap-20 { gap: 20px; }
.grid-gap-24 { gap: 24px; }
.w-full { width: 100%; }
.w-auto { width: auto; }
.h-full { height: 100%; }
.h-auto { height: auto; }
.max-w-500 { max-width: 500px; }
.max-w-600 { max-width: 600px; }
.max-w-700 { max-width: 700px; }
.max-w-750 { max-width: 750px; }
.max-w-800 { max-width: 800px; }
.max-w-900 { max-width: 900px; }
.max-w-1000 { max-width: 1000px; }
.overflow-hidden { overflow: hidden; }
.overflow-auto { overflow: auto; }
.overflow-scroll { overflow: scroll; }
.pos-relative { position: relative; }
.pos-absolute { position: absolute; }
.pos-fixed { position: fixed; }
.pos-sticky { position: sticky; }
.visible { visibility: visible; }
.invisible { visibility: hidden; }
.oculto { display: none; }
.bloque { display: block; }
.inline-bloque { display: inline-block; }
.cursor-pointer { cursor: pointer; }
.cursor-default { cursor: default; }
.usuario-seleccion { user-select: text; }
.usuario-no-seleccion { user-select: none; }
.transicion { transition: all 0.3s ease; }
.transicion-rapida { transition: all 0.15s ease; }
.transicion-lenta { transition: all 0.5s ease; }
.opacity-0 { opacity: 0; }
.opacity-50 { opacity: 0.5; }
.opacity-80 { opacity: 0.8; }
.opacity-100 { opacity: 1; }
.z-1 { z-index: 1; }
.z-10 { z-index: 10; }
.z-100 { z-index: 100; }
.z-1000 { z-index: 1000; }
