@media (max-width: 1024px) {
    html,
    body {
        width: 100%;
        height: 100%;
        overflow: hidden !important;
    }

    body {
        min-height: 100vh !important;
        -webkit-text-size-adjust: 100%;
    }

    .container {
        display: grid !important;
        grid-template-columns: 58px minmax(0, 1fr) !important;
        width: 100vw !important;
        height: 100vh !important;
        min-height: 100vh !important;
        overflow: hidden !important;
    }

    .sidebar,
    .sidebar.open {
        width: 58px !important;
        max-width: 58px !important;
        height: 100vh !important;
        padding: calc(10px + env(safe-area-inset-top)) 0 calc(10px + env(safe-area-inset-bottom)) !important;
        position: static !important;
        top: auto !important;
        z-index: auto !important;
        overflow: hidden auto !important;
        background: linear-gradient(180deg, #5f6feb 0%, #7450b5 100%) !important;
        box-shadow: 8px 0 24px rgba(72,83,180,0.18) !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }

    .sidebar h2 {
        display: none !important;
    }

    .sidebar ul {
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
        overflow: visible !important;
        padding: 0 5px !important;
        list-style: none !important;
    }

    .sidebar li {
        margin: 0 !important;
        flex: none !important;
    }

    .sidebar a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 48px !important;
        min-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 !important;
        border-left: 3px solid transparent !important;
        border-bottom: 0 !important;
        border-radius: 14px !important;
        color: rgba(255,255,255,0.9) !important;
        font-size: 0 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        text-align: center !important;
        transform: none !important;
        overflow: hidden !important;
        touch-action: manipulation;
        -webkit-tap-highlight-color: rgba(255,255,255,0.16);
    }

    .sidebar a i {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 22px !important;
        min-width: 22px !important;
        margin: 0 !important;
        font-size: 18px !important;
        line-height: 1 !important;
    }

    .sidebar a span {
        display: none !important;
    }

    .sidebar a:hover,
    .sidebar a.active {
        color: white !important;
        background-color: rgba(255,255,255,0.2) !important;
        border-left-color: white !important;
        border-bottom-color: transparent !important;
        transform: none !important;
    }

    .main-content {
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        width: auto !important;
        min-width: 0 !important;
        height: 100vh !important;
        overflow: hidden !important;
    }

    .top-nav {
        height: auto !important;
        min-height: 58px !important;
        min-width: 0 !important;
        padding: 8px 10px !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 20 !important;
    }

    .top-nav h1 {
        min-width: 0 !important;
        font-size: 18px !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .content,
    .page-content {
        min-width: 0 !important;
        min-height: 0 !important;
        overflow: auto !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }

    .content {
        padding: 10px !important;
    }

    .table-container {
        max-width: 100% !important;
        overflow: auto !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        border: 1px solid #ebeef5;
        border-radius: 10px;
    }

    .table-container table {
        width: max-content !important;
        min-width: 760px;
    }

    .table-container th,
    .table-container td {
        padding: 10px 12px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
    }

    button,
    a,
    select,
    input,
    textarea {
        touch-action: manipulation;
    }

    button,
    select,
    input[type="button"],
    input[type="submit"],
    .page-btn,
    .add-btn,
    .settings-btn,
    .import-btn,
    .export-btn,
    .back-btn,
    .btn-primary,
    .btn-default {
        min-height: 42px;
    }

    .modal {
        padding: 10px !important;
    }

    .modal-content {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        max-height: calc(100vh - 20px) !important;
        margin: 0 auto !important;
        overflow: auto !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }
}

@media (max-width: 768px) {
    .container {
        grid-template-columns: 54px minmax(0, 1fr) !important;
    }

    .sidebar,
    .sidebar.open {
        width: 54px !important;
        max-width: 54px !important;
    }

    .sidebar ul {
        padding: 0 4px !important;
    }

    .sidebar a {
        width: 46px !important;
        min-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        border-radius: 13px !important;
    }

    .top-nav > div {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        gap: 8px !important;
    }

    .top-nav > div > div {
        min-width: 0 !important;
    }

    .top-nav > div > div[style*="justify-content: center"] {
        order: 3;
        flex: 1 1 100% !important;
        width: 100% !important;
        justify-content: flex-start !important;
    }

    .top-nav > div > div[style*="gap: 15px"] {
        flex: 1 1 auto !important;
        justify-content: flex-end !important;
    }

    .search-container {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .search-input {
        height: 42px !important;
        padding: 8px 38px 8px 12px !important;
        font-size: 14px !important;
    }

    .header-actions,
    .top-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
        gap: 8px !important;
    }

    .header-actions > *,
    .top-actions > *,
    .add-btn,
    .settings-btn,
    .import-btn,
    .export-btn,
    .add-plan-btn,
    .add-user-btn,
    .clear-logs-btn,
    .back-btn {
        width: 100% !important;
        min-width: 0 !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .product-list,
    .plans-list,
    .images-list,
    .log-list,
    .user-list,
    .sku-detail {
        border-radius: 10px !important;
        padding: 8px !important;
    }

    .product-image,
    .sku-top-image img {
        width: 46px !important;
        height: 46px !important;
    }

    .pagination {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 10px !important;
    }

    .pagination-controls,
    .page-buttons {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .page-size-select,
    .page-btn,
    .current-page,
    .page-info {
        width: 100% !important;
        text-align: center !important;
    }

    .current-page,
    .page-info {
        grid-column: 1 / -1;
    }

    .modal-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 2 !important;
        padding: 16px !important;
    }

    .modal-header h3 {
        font-size: 18px !important;
    }

    .modal-body {
        padding: 16px !important;
    }

    .modal-body .form-row,
    .form-row {
        flex-direction: column !important;
        gap: 14px !important;
    }

    .modal-body .form-group,
    .form-group {
        width: 100% !important;
        min-width: 0 !important;
    }

    .form-actions {
        flex-direction: column-reverse !important;
        gap: 10px !important;
    }

    .form-actions button,
    .form-actions .btn-default,
    .form-actions .btn-primary {
        width: 100% !important;
        justify-content: center !important;
    }

    .user-info {
        display: none !important;
    }
}

@media (max-width: 480px) {
    .container {
        grid-template-columns: 50px minmax(0, 1fr) !important;
    }

    .sidebar,
    .sidebar.open {
        width: 50px !important;
        max-width: 50px !important;
    }

    .sidebar a {
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        border-radius: 12px !important;
    }

    .sidebar a i {
        font-size: 16px !important;
    }

    .top-nav {
        padding: 8px !important;
    }

    .top-nav h1 {
        font-size: 16px !important;
    }

    .header-actions,
    .top-actions {
        grid-template-columns: 1fr !important;
    }

    .content {
        padding: 8px !important;
    }

    .product-list,
    .plans-list,
    .images-list,
    .log-list,
    .user-list,
    .sku-detail {
        box-shadow: none !important;
    }

    .table-container table {
        min-width: 680px;
    }

    .modal {
        padding: 0 !important;
    }

    .modal-content {
        width: 100vw !important;
        max-width: 100vw !important;
        max-height: 100vh !important;
        border-radius: 0 !important;
    }
}

@media (hover: none) and (pointer: coarse) {
    .product-image:hover,
    .image-item:hover,
    .btn-primary:hover,
    .btn-default:hover,
    .add-btn:hover,
    .settings-btn:hover,
    .import-btn:hover,
    .export-btn:hover,
    .edit-btn:hover,
    .delete-btn:hover {
        transform: none !important;
    }
}

@media (max-width: 1280px) {
    .container:not(:has(> .sidebar)) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .container:not(:has(> .sidebar)) > .main-content {
        grid-column: 1 / -1 !important;
    }

    .sku-detail-page .container {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .sku-detail-page .main-content {
        grid-column: 1 / -1 !important;
    }
}
