/* Tailwind CSS CDN will be loaded separately */
/* Custom app styles can go here */

*, ::before, ::after {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb;
}

html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    tab-size: 4;
    font-family: Figtree, ui-sans-serif, system-ui, sans-serif;
}

body {
    margin: 0;
    line-height: inherit;
}

/* ========================================
   Global Responsive Utilities
   ======================================== */

/* Responsive Table Wrapper */
.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0;
}

/* Responsive Forms */
@media (max-width: 768px) {
    .form-grid,
    .grid-cols-2,
    .grid-cols-3 {
        grid-template-columns: 1fr !important;
    }
}

/* Responsive Cards Grid */
@media (max-width: 768px) {
    .stats-grid,
    .cards-grid,
    .grid-responsive {
        grid-template-columns: 1fr !important;
        gap: 12px;
    }
}

/* DataTable Responsive Overrides */
@media (max-width: 768px) {
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter {
        float: none !important;
        text-align: left !important;
        margin-bottom: 12px !important;
    }

    .dataTables_wrapper .dataTables_filter input {
        width: 100% !important;
        min-width: unset !important;
    }

    .dataTables_wrapper .dataTables_info,
    .dataTables_wrapper .dataTables_paginate {
        float: none !important;
        text-align: center !important;
        margin-top: 12px !important;
    }

    .dataTables_wrapper .dataTables_paginate .paginate_button {
        padding: 6px 10px !important;
        margin: 2px !important;
        font-size: 12px !important;
    }
}

/* Utility Classes */
.hide-on-mobile {
    display: block;
}

.show-on-mobile {
    display: none;
}

@media (max-width: 768px) {
    .hide-on-mobile {
        display: none !important;
    }

    .show-on-mobile {
        display: block !important;
    }
}

/* Flex Responsive */
@media (max-width: 768px) {
    .flex-col-mobile {
        flex-direction: column !important;
    }

    .items-stretch-mobile {
        align-items: stretch !important;
    }

    .w-full-mobile {
        width: 100% !important;
    }
}

/* Text Responsive */
@media (max-width: 480px) {
    .text-truncate-mobile {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 150px;
    }
}

/* Button Responsive */
@media (max-width: 480px) {
    .btn-icon-only-mobile .btn-text {
        display: none;
    }
}
