.fixed {
    position: fixed;
}

.top-4 {
    top: 1rem;
}

.right-4 {
    right: 1rem;
}

.bottom-4 {
    bottom: 1rem;
}

.left-4 {
    left: 1rem;
}

.z-\[999999\] {
    z-index: 999999;
}

.max-w-md {
    max-width: 28rem;
}

.p-4 {
    padding: 1rem;
}

.space-y-3 > * + * {
    margin-top: 0.75rem;
}

.flex {
    display: flex;
}

.items-start {
    align-items: flex-start;
}

.gap-3 {
    gap: 0.75rem;
}

.flex-1 {
    flex: 1 1 0%;
}

.flex-shrink-0 {
    flex-shrink: 0;
}

.min-w-0 {
    min-width: 0;
}

.min-w-\[320px\] {
    min-width: 320px;
}

/* Text */
.text-main-600 {
    --tw-text-opacity: 1;
    color: rgb(27 131 84 / var(--tw-text-opacity, 1));
}

.text-red-600 {
    --tw-text-opacity: 1;
    color: rgb(224 36 36 / var(--tw-text-opacity, 1));
}

.text-warning-600 {
    --tw-text-opacity: 1;
    color: rgb(220 104 3 / var(--tw-text-opacity, 1));
}

.text-info-600 {
    --tw-text-opacity: 1;
    color: rgb(21 112 239 / var(--tw-text-opacity, 1));
}

.text-gray-800 {
    --tw-text-opacity: 1;
    color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.text-gray-600 {
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.text-gray-400 {
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* Hover */
.hover\:text-gray-600:hover {
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

/* Background */
.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.bg-main-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(223 246 231 / var(--tw-bg-opacity, 1));
}

.bg-red-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(253 232 232 / var(--tw-bg-opacity, 1));
}

.bg-warning-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 240 199 / var(--tw-bg-opacity, 1));
}

.bg-info-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(209 233 255 / var(--tw-bg-opacity, 1));
}

/* Border */
.border-s-4 {
    border-inline-start-width: 4px;
}

.border-main-600 {
    --tw-border-opacity: 1;
    border-color: rgb(27 131 84 / var(--tw-border-opacity, 1));
}

.border-red-600 {
    --tw-border-opacity: 1;
    border-color: rgb(224 36 36 / var(--tw-border-opacity, 1));
}

.border-warning-500 {
    --tw-border-opacity: 1;
    border-color: rgb(247 144 9 / var(--tw-border-opacity, 1));
}

.border-info-600 {
    --tw-border-opacity: 1;
    border-color: rgb(21 112 239 / var(--tw-border-opacity, 1));
}

.font-semibold {
    font-weight: 600;
}

.text-sm {
    font-size: 0.875rem;
}

.text-xs {
    font-size: 0.75rem;
}

.leading-relaxed {
    line-height: 1.625;
}

.mb-0\.5 {
    margin-bottom: 0.125rem;
}

.rounded-lg {
    border-radius: 0.5rem;
}

.rounded-full {
    border-radius: 9999px;
}

.shadow-lg {
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);
}

.relative {
    position: relative;
}

.w-5 {
    width: 1.25rem;
}

.h-5 {
    height: 1.25rem;
}

button {
    cursor: pointer;
}

.-mt-1 {
    margin-top: -0.25rem;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        transform: translateY(-6px);
    }
}

.animate-fadeIn {
    animation: fadeIn 0.3s ease-out forwards;
}

.animate-fadeOut {
    animation: fadeOut 0.3s ease-in forwards;
}