[hidden],
.hidden { display: none !important; }

.d-flex { display: flex !important; }
.flex-column { flex-direction: column !important; }
.flex-grow-1 { flex-grow: 1 !important; }
.align-items-center { align-items: center !important; }
.align-middle { vertical-align: middle !important; }
.justify-content-between { justify-content: space-between !important; }
.justify-content-center { justify-content: center !important; }
.h-100 { height: 100% !important; }
.w-100 { width: 100% !important; }
.position-relative { position: relative !important; }
.border-bottom { border-bottom: 1px solid var(--ecs-color-border) !important; }
.fw-bold { font-weight: 700 !important; }
.fw-semibold { font-weight: 600 !important; }

.max-w-500 { max-width: 500px; }
.rounded-8 { border-radius: 8px !important; }
.rounded-10 { border-radius: 10px !important; }
.rounded-15 { border-radius: 15px !important; }
.rounded-20 { border-radius: 20px !important; }
.min-h-630 { min-height: 630px; }
.cursor-pointer { cursor: pointer; }
.bg-surface-soft { background-color: var(--ecs-color-surface-soft); }
.bg-ecs-secondary { background-color: var(--ecs-color-secondary); }
.bg-white { background-color: #ffffff !important; }

.custom-scrollbar {
    scrollbar-width: thin;
    scrollbar-color: rgba(206, 50, 105, 0.3) transparent;
}

.custom-scrollbar::-webkit-scrollbar { width: 8px; }
.custom-scrollbar::-webkit-scrollbar-track { background: transparent; margin: 0.5rem; }
.custom-scrollbar::-webkit-scrollbar-thumb { background-color: rgba(206, 50, 105, 0.3); border-radius: 10px; }
.custom-scrollbar::-webkit-scrollbar-thumb:hover { background-color: rgba(206, 50, 105, 0.5); }

.badge-crystal {
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    font-weight: 600;
    letter-spacing: 0.2px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
    border: 1px solid transparent;
}

.badge-crystal.bg-success {
    background-color: rgba(25, 135, 84, 0.1) !important;
    color: #146c43 !important;
    border-color: rgba(25, 135, 84, 0.25) !important;
}

.badge-crystal.bg-danger {
    background-color: rgba(220, 53, 69, 0.1) !important;
    color: #b02a37 !important;
    border-color: rgba(220, 53, 69, 0.25) !important;
}

.badge-crystal.bg-warning {
    background-color: rgba(255, 193, 7, 0.15) !important;
    color: #997404 !important;
    border-color: rgba(255, 193, 7, 0.3) !important;
}

.badge-crystal.bg-info {
    background-color: rgba(13, 202, 240, 0.1) !important;
    color: #084298 !important;
    border-color: rgba(13, 202, 240, 0.25) !important;
}

.badge-crystal.bg-secondary {
    background-color: rgba(108, 117, 125, 0.1) !important;
    color: #5c636a !important;
    border-color: rgba(108, 117, 125, 0.25) !important;
}