/* ========================================
   OnlineMes Shared Component Utilities
   Common CSS patterns used across components
   ======================================== */

/* ========================================
   Scrollable Containers
   ======================================== */
.scroll-container {
    overflow-y: auto;
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    padding: 0.5rem;
}

.scroll-container-xs {
    max-height: 60px;
}

.scroll-container-sm {
    max-height: 100px;
}

.scroll-container-md {
    max-height: 150px;
}

.scroll-container-lg {
    max-height: 200px;
}

.scroll-container-xl {
    max-height: 300px;
}

.scroll-container-xxl {
    max-height: 400px;
}

/* ========================================
   Table Column Widths
   ======================================== */
.w-30px {
    width: 30px !important;
}

.w-50px {
    width: 50px !important;
}

.w-80px {
    width: 80px !important;
}

.w-100px {
    width: 100px !important;
}

.w-120px {
    width: 120px !important;
}

.w-150px {
    width: 150px !important;
}

.w-200px {
    width: 200px !important;
}

.w-250px {
    width: 250px !important;
}

.w-300px {
    width: 300px !important;
}

.w-350px {
    width: 350px !important;
}

/* Percentage widths for tables */
.w-5 {
    width: 5% !important;
}

.w-10 {
    width: 10% !important;
}

.w-15 {
    width: 15% !important;
}

.w-20 {
    width: 20% !important;
}

.w-25 {
    width: 25% !important;
}

.w-30 {
    width: 30% !important;
}

.w-35 {
    width: 35% !important;
}

.w-40 {
    width: 40% !important;
}

/* ========================================
   Text Utilities
   ======================================== */
.text-nowrap {
    white-space: nowrap !important;
}

.text-pre-wrap {
    white-space: pre-wrap !important;
}

.text-pre-line {
    white-space: pre-line !important;
}

/* Font sizes */
.font-size-xs {
    font-size: 0.65rem !important;
}

.font-size-sm {
    font-size: 0.75rem !important;
}

.font-size-md {
    font-size: 0.875rem !important;
}

.font-size-lg {
    font-size: 1rem !important;
}

/* ========================================
   Cursor Utilities
   ======================================== */
.cursor-pointer {
    cursor: pointer !important;
}

.cursor-move {
    cursor: move !important;
}

.cursor-not-allowed {
    cursor: not-allowed !important;
}

.cursor-default {
    cursor: default !important;
}

/* ========================================
   Z-Index Utilities
   ======================================== */
.z-1 {
    z-index: 1 !important;
}

.z-2 {
    z-index: 2 !important;
}

.z-3 {
    z-index: 3 !important;
}

.z-4 {
    z-index: 4 !important;
}

.z-5 {
    z-index: 5 !important;
}

.z-10 {
    z-index: 10 !important;
}

.z-100 {
    z-index: 100 !important;
}

.z-1000 {
    z-index: 1000 !important;
}

.z-dropdown {
    z-index: 1000 !important;
}

.z-modal {
    z-index: 1050 !important;
}

.z-tooltip {
    z-index: 1070 !important;
}

.z-popover {
    z-index: 1060 !important;
}

/* ========================================
   Form Check Utilities
   ======================================== */
.form-check-compact {
    margin-bottom: 0.25rem;
}

.form-check-compact .form-check-input {
    margin-top: 0.2rem;
}

.form-check-inline-compact {
    margin-right: 0.75rem;
    margin-bottom: 0.25rem;
}

/* ========================================
   Badge Utilities
   ======================================== */
.badge-xs {
    font-size: 0.65rem;
    padding: 0.15em 0.4em;
}

.badge-sm {
    font-size: 0.75rem;
    padding: 0.25em 0.5em;
}

.badge-md {
    font-size: 0.875rem;
    padding: 0.35em 0.65em;
}

/* ========================================
   Card Utilities
   ======================================== */
.card-compact .card-header {
    padding: 0.5rem 1rem;
}

.card-compact .card-body {
    padding: 0.75rem;
}

.card-compact .card-footer {
    padding: 0.5rem 1rem;
}

/* ========================================
   Modal Backdrop
   ======================================== */
.modal-backdrop-custom {
    background-color: rgba(0, 0, 0, 0.5);
}

/* ========================================
   Border Utilities
   ======================================== */
.border-dashed {
    border-style: dashed !important;
}

.border-dotted {
    border-style: dotted !important;
}

/* ========================================
   Overflow Utilities
   ======================================== */
.overflow-x-auto {
    overflow-x: auto !important;
}

.overflow-y-auto {
    overflow-y: auto !important;
}

.overflow-x-hidden {
    overflow-x: hidden !important;
}

.overflow-y-hidden {
    overflow-y: hidden !important;
}
