/* Clases de error para mensajes de validación */
.text-red-500 {
    color: rgb(239 68 68);
}

.text-red-600 {
    color: rgb(220 38 38);
}

.text-red-700 {
    color: rgb(185 28 28);
}

.border-red-500 {
    border-color: rgb(239 68 68);
}

.border-red-600 {
    border-color: rgb(220 38 38);
}

.bg-red-50 {
    background-color: rgb(254 242 242);
}

.bg-red-100 {
    background-color: rgb(254 226 226);
}

.border-red-200 {
    border-color: rgb(254 202 202);
}

.text-green-500 {
    color: rgb(34 197 94);
}

.text-green-600 {
    color: rgb(22 163 74);
}

.text-green-700 {
    color: rgb(21 128 61);
}

.border-green-200 {
    border-color: rgb(187 247 208);
}

.bg-green-50 {
    background-color: rgb(240 253 244);
}

.bg-green-100 {
    background-color: rgb(220 252 231);
}

/* Clases de texto */
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}

.text-base {
    font-size: 1rem;
    line-height: 1.5rem;
}

.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
}

.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}

.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}

/* Clases de padding */
.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}

.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

/* Clases de border radius */
.rounded {
    border-radius: 0.25rem;
}

.rounded-lg {
    border-radius: 0.5rem;
}

.rounded-md {
    border-radius: 0.375rem;
}

.rounded-sm {
    border-radius: 0.125rem;
}

/* Clases de border */
.border {
    border-width: 1px;
}

/* Clases de margin */
.mb-2 {
    margin-bottom: 0.5rem;
}

.mt-2 {
    margin-top: 0.5rem;
}

/* Clases de display */
.hidden {
    display: none;
}

.block {
    display: block;
}

.inline-block {
    display: inline-block;
}

.flex {
    display: flex;
}

.inline-flex {
    display: inline-flex;
}

/* Clases de flexbox */
.items-center {
    align-items: center;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

.flex-col {
    flex-direction: column;
}

.flex-row {
    flex-direction: row;
}

.gap-1 {
    gap: 0.25rem;
}

.gap-2 {
    gap: 0.5rem;
}

.gap-3 {
    gap: 0.75rem;
}

.gap-4 {
    gap: 1rem;
}

.gap-5 {
    gap: 1.25rem;
}

/* Clases de width */
.w-full {
    width: 100%;
}

.max-w-\[370px\] {
    max-width: 370px;
}

/* Clases de text alignment */
.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

/* Clases de font weight */
.font-medium {
    font-weight: 500;
}

.font-normal {
    font-weight: 400;
}

.font-semibold {
    font-weight: 600;
}

.font-bold {
    font-weight: 700;
}

/* Clases de uppercase */
.uppercase {
    text-transform: uppercase;
}

/* Clases de shrink */
.shrink-0 {
    flex-shrink: 0;
}

/* Clases de grow */
.grow {
    flex-grow: 1;
}

/* Clases de background */
.bg-transparent {
    background-color: transparent;
}

/* Clases de position */
.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

/* Clases de z-index */
.z-10 {
    z-index: 10;
}

.z-20 {
    z-index: 20;
}

/* Clases de overflow */
.overflow-hidden {
    overflow: hidden;
}

/* Clases de cursor */
.cursor-pointer {
    cursor: pointer;
}

/* Clases de outline */
.outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px;
}

/* Clases de transition */
.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

/* Clases de hover */
.hover\:underline:hover {
    text-decoration: underline;
}

.hover\:bg-red-100:hover {
    background-color: rgb(254 226 226);
}

/* Clases de focus */
.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}

.focus\:ring-2:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-red-500:focus {
    --tw-ring-color: rgb(239 68 68);
}

/* Clases de disabled */
.disabled\:opacity-50:disabled {
    opacity: 0.5;
}

.disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
} 