﻿/* Global Responsive Solution for Blazor Applications with MudBlazor and Radzen */

/* Base HTML and Body Configuration */
html, body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
}

/* Container and Panel Adjustments */
.mud-container, .rz-panel, .container, .container-fluid {
    padding: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Table Overflow Handling */
.mud-table-container,
.rz-datatable,
.rz-datatable-scrollable-wrapper,
.table-responsive,
.mud-table-root {
    overflow-x: auto !important;
    max-width: 100% !important;
}

/* Scrollable Elements */
.mud-data-grid,
.rz-datatable,
.mud-table-root,
.rz-datatable-scrollable {
    overflow-x: auto !important;
    display: block !important;
    max-width: 100vw !important;
}

/* Mobile Adjustments (screens under 600px) */
@media (max-width: 600px) {
    /* Typography Scaling */
    .mud-typography-h1, .rz-text-h1 {
        font-size: 2rem !important;
    }

    .mud-typography-h2, .rz-text-h2 {
        font-size: 1.8rem !important;
    }

    .mud-typography-h3, .rz-text-h3 {
        font-size: 1.5rem !important;
    }

    .mud-typography-h4, .rz-text-h4 {
        font-size: 1.4rem !important;
    }

    .mud-typography-h5, .rz-text-h5 {
        font-size: 1.2rem !important;
    }

    .mud-typography-h6, .rz-text-h6 {
        font-size: 1rem !important;
    }

    .mud-typography-body1, .rz-text-body1 {
        font-size: 0.9rem !important;
    }

    .mud-typography-body2, .rz-text-body2 {
        font-size: 0.8rem !important;
    }

    /* Card and Paper Padding */
    .mud-card,
    .mud-paper,
    .rz-card,
    .rz-panel,
    .card {
        padding: 8px !important;
        margin-bottom: 8px !important;
    }

    /* Card Headers and Content */
    .mud-card-header,
    .rz-card-header,
    .card-header {
        padding: 8px !important;
    }

    .mud-card-content,
    .rz-card-content,
    .card-body {
        padding: 8px !important;
    }

    .mud-card-actions,
    .rz-card-actions,
    .card-footer {
        padding: 4px !important;
    }

    /* Grid System Adjustments */
    .mud-grid-spacing-xs-2 > .mud-grid-item,
    .mud-grid-spacing-xs-3 > .mud-grid-item,
    .mud-grid-spacing-xs-4 > .mud-grid-item,
    .rz-grid > div,
    .row > [class*="col-"] {
        padding: 4px !important;
    }

    /* Force Single Column Layout on Mobile */
    .mud-grid-item,
    .rz-grid > div,
    .row > [class*="col-"] {
        flex-basis: 100% !important;
        max-width: 100% !important;
    }

    /* Buttons Adjustments */
    .mud-button,
    .rz-button,
    .btn {
        padding: 4px 8px !important;
        font-size: 0.8rem !important;
        white-space: nowrap !important;
        margin: 2px !important;
    }

        /* Make buttons full width on mobile */
        .mud-button-filled,
        .rz-button:not(.rz-button-icon-only),
        .btn-block,
        .mud-button-outlined {
            width: 100% !important;
            margin: 4px 0 !important;
        }

    /* Input Fields */
    .mud-input,
    .rz-textbox,
    .form-control {
        font-size: 0.9rem !important;
        height: auto !important;
    }

    .mud-input-control {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    /* Fixed Height Elements Adjustment */
    .mud-card[style*="height:"],
    .mud-card[style*="height :"],
    .mud-card[style*="height 100px"],
    .rz-card[style*="height"],
    div[style*="height: 100px"],
    div[style*="height:100px"] {
        height: auto !important;
        min-height: 70px !important;
    }

    /* Table Data Adjustments */
    .mud-table,
    .mud-table-container,
    .rz-datatable,
    .table {
        font-size: 0.8rem !important;
    }

    .mud-table-cell {
        padding: 8px 4px !important;
    }

    /* Icons Size Adjustment */
    .mud-icon-root,
    .rz-icon,
    .material-icons,
    .oi {
        font-size: 1.2rem !important;
    }

    /* Dialog Sizing */
    .mud-dialog,
    .rz-dialog,
    .modal-dialog {
        width: 95% !important;
        max-width: 95% !important;
        max-height: 80vh !important;
        margin: 0 auto !important;
    }

    .mud-dialog-content,
    .rz-dialog-content,
    .modal-body {
        padding: 8px !important;
        max-height: 60vh !important;
        overflow-y: auto !important;
    }

    /* AppBar and Navigation */
    .mud-appbar,
    .rz-header {
        padding: 4px !important;
    }

    /* Tabs Adjustment */
    .mud-tabs-panel,
    .rz-tabview-panel {
        padding: 8px !important;
    }

    .mud-tabs-header {
        height: auto !important;
    }

    .mud-tab {
        min-width: auto !important;
        padding: 6px 10px !important;
    }
}

/* Tablet Adjustments (601px - 960px) */
@media (min-width: 601px) and (max-width: 960px) {
    /* Card and Paper Padding */
    .mud-card,
    .mud-paper,
    .rz-card,
    .rz-panel {
        padding: 12px !important;
    }

    /* Adjust grid for tablet view */
    .mud-grid-item[class*="mud-grid-item-md-3"],
    .mud-grid-item[class*="mud-grid-item-md-4"] {
        flex-basis: 50% !important;
        max-width: 50% !important;
    }
}

/* Print Styles - Hide Navigation and Footer */
@media print {
    .mud-appbar,
    .rz-header,
    .mud-drawer,
    .rz-sidebar,
    .no-print {
        display: none !important;
    }

    .mud-main-content {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    body {
        background-color: white !important;
    }
}
