/* public\assets\css\responsive.css */

@media (max-width: 1024px) and (min-width: 769px) {
    .dashboard-grid {
        grid-template-columns: 1fr;
    }
    .cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .sidebar {
        transform: translateX(-100%);
    }

    .sidebar.open {
        transform: translateX(0);
    }

    .sidebar-toggle { display: flex; }

    .main-overlay.open { display: block; }

    .topbar {
        left: 0;
    }

    .main-content {
        margin-left: 0;
        padding: var(--space-md);
    }

    .hamburger { display: flex; }

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

    .form-row--cols {
        grid-template-columns: 1fr;
    }

    .cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .table th, .table td {
        padding: 12px;
        font-size: 14px;
    }

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

    .form-actions {
        flex-direction: column-reverse;
        gap: var(--space-sm);
    }

    .shortcut-hint { text-align: center; }

    .toast-container {
        left: var(--space-md);
        right: var(--space-md);
        max-width: none;
    }

    .login-card {
        padding: var(--space-lg);
        box-shadow: none;
        background: transparent;
    }
}

@media (max-width: 480px) {
    .cards-grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-sm);
    }

    .card--kpi {
        padding: var(--space-md);
        min-height: 120px;
    }

    .kpi-value { font-size: 24px; }

    .page-title { font-size: 22px; }

    .form-input--large {
        min-height: var(--touch-min);
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}