@media (max-width: 1120px) {
    .metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .content-grid {
        grid-template-columns: 1fr;
    }

    .management-grid,
    .support-platform-grid {
        grid-template-columns: 1fr;
    }

    .purchase-layout {
        grid-template-columns: 1fr;
    }

    .cash-layout {
        grid-template-columns: 1fr;
    }

    .dashboard-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-wide {
        grid-column: auto;
    }

    .report-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cart-panel {
        position: static;
    }

    .product-filter-primary-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .product-search-control {
        grid-column: span 2;
    }

    .catalog-file-actions {
        grid-column: 1 / -1;
    }

    .product-filter-numeric-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-filter-numeric-row .filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}

@media (max-width: 860px) {
    .login-shell {
        grid-template-columns: 1fr;
    }

    .login-brand-panel {
        min-height: auto;
    }

    .app-shell {
        width: min(100% - 18px, 760px);
        grid-template-columns: 1fr;
        margin: 9px auto;
        border-radius: 18px;
    }

    .platform-shell {
        grid-template-columns: 1fr;
    }

    .sidebar {
        position: static;
        top: auto;
        height: auto;
        min-height: auto;
        overflow: visible;
        border-radius: 18px 18px 0 0;
    }

    .module-navigation {
        display: none;
    }

    .sidebar-note {
        margin-top: 16px;
    }

    .main-panel {
        padding: 20px;
    }

    .topbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .topbar-actions {
        width: 100%;
        flex-wrap: wrap;
    }
}

.password-change-shell {
    max-width: 1080px;
}

@media (max-width: 640px) {
    .login-page {
        padding: 10px;
    }

    .login-brand-panel,
    .login-form-panel {
        padding: 20px;
    }

    .login-brand-body {
        margin: 28px 0;
    }

    .main-panel {
        padding: 14px;
    }

    .hero-card {
        grid-template-columns: 1fr;
    }

    .hero-mark {
        width: 74px;
        height: 74px;
        border-radius: 20px;
        font-size: 28px;
    }

    .metric-grid,
    .module-grid {
        grid-template-columns: 1fr;
    }

    .panel-heading {
        flex-direction: column;
    }

    .support-layout,
    .form-grid {
        grid-template-columns: 1fr;
    }

    .form-grid .span-2 {
        grid-column: auto;
    }

    .ticket-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .ticket-meta {
        justify-items: start;
    }

    .message-card {
        max-width: 100%;
    }

    .inventory-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .toolbar-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .toolbar-actions input[type="search"] {
        width: 100%;
    }

    .product-catalog-heading,
    .catalog-heading-actions,
    .stock-report-filters {
        align-items: stretch;
        flex-direction: column;
    }

    .catalog-heading-actions input[type="search"],
    .stock-report-filters > label,
    .numeric-filter,
    .filter-actions {
        width: 100%;
    }

    .numeric-filter,
    .product-filter-numeric-row .numeric-filter {
        grid-template-columns: 1fr;
    }

    .product-filter-primary-row,
    .product-filter-numeric-row {
        grid-template-columns: 1fr;
    }

    .product-search-control,
    .catalog-file-actions,
    .product-filter-numeric-row .filter-actions {
        grid-column: auto;
    }

    .catalog-file-actions,
    .product-filter-numeric-row .filter-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .catalog-file-actions .secondary-button,
    .catalog-file-actions .file-button,
    .product-filter-numeric-row .filter-actions button {
        width: 100%;
        justify-content: center;
    }

    .ticket-detail {
        width: 100%;
    }

    .purchase-line-form {
        grid-template-columns: 1fr;
    }

    .cash-product-grid,
    .sale-detail-grid,
    .payment-panel,
    .document-panel,
    .permission-grid {
        grid-template-columns: 1fr;
    }

    .payment-panel .span-2 {
        grid-column: auto;
    }

    .document-panel .span-2 {
        grid-column: auto;
    }

    .cart-row {
        grid-template-columns: 1fr auto;
    }

    .cash-product-card.row-view,
    .warehouse-row {
        grid-template-columns: 1fr;
    }

    .support-access-banner,
    .receipt-customer,
    .inline-form {
        align-items: stretch;
        flex-direction: column;
    }

    .stock-summary,
    .report-filters {
        grid-template-columns: 1fr;
    }
}
