/* Responsive — desktop-first, breakpoint principal 768px, ajustări la 1080px */

@media (max-width: 1080px) {
    .charts-grid, .dash-grid { grid-template-columns: 1fr; }
    .grid-3 { grid-template-columns: 1fr 1fr; }
    .kpi-strip { grid-auto-flow: row; grid-template-columns: 1fr 1fr; }
    .kpi-cell { border-left: none; border-top: 1px solid var(--color-border-soft); }
    .kpi-cell:nth-child(2n) { border-left: 1px solid var(--color-border-soft); }
    .kpi-cell:nth-child(-n+2) { border-top: none; }
}

@media (max-width: 768px) {
    /* Sidebar devine overlay */
    .sidebar {
        transform: translateX(-100%);
        width: var(--sidebar-width) !important;
        box-shadow: var(--shadow-modal);
    }
    .sidebar.mobile-open { transform: translateX(0); }
    .sidebar::after { display: none; }
    .sidebar.collapsed .sidebar-brand,
    .sidebar.collapsed .nav-section-label,
    .sidebar.collapsed .nav-item span:not(.material-icons),
    .sidebar.collapsed .sidebar-footer { display: block; }
    .sidebar.collapsed .nav-item { justify-content: flex-start; padding: 9px var(--sp-4); }

    .sidebar-overlay.visible { display: block; }

    .main-area { margin-left: 0 !important; }

    /* Linia de margine trece pe topbar pe mobil */
    .topbar { padding: 0 var(--sp-4); border-top: 2px solid rgba(var(--color-rule-rgb), 0.55); }
    .topbar-breadcrumb, .breadcrumb { display: none; }
    .topbar-user-name, .user-menu-name, .user-menu-role { display: none; }
    .topbar-hamburger { display: inline-flex; }

    .main-content { padding: var(--sp-4) var(--sp-3); }

    .page-title { font-size: var(--fs-20); }
    .page-header { margin-bottom: var(--sp-4); }
    .page-actions { width: 100%; }
    .page-actions .btn { flex: 1; }

    .grid-2, .grid-3 { grid-template-columns: 1fr; }
    .kpi-strip { grid-template-columns: 1fr 1fr; }
    .kpi-cell { min-width: 0; padding: var(--sp-3); }
    .kpi-value { font-size: var(--fs-16); }

    .form-grid { grid-template-columns: 1fr; }
    .form-grid .col-span-2 { grid-column: span 1; }

    .filters-bar .form-control, .filters-bar .form-select, .filters-bar .search-input { flex: 1; min-width: 45%; }

    .modal-backdrop { padding: 0; align-items: stretch; }
    .modal, .modal.modal-lg, .modal.modal-xl {
        max-width: none;
        border-radius: 0;
        min-height: 100vh;
        border-left: none;
        border-top: 3px double rgba(var(--color-rule-rgb), 0.5);
    }
    .modal-footer { position: sticky; bottom: 0; }

    .data-table th, .data-table td { padding: 8px var(--sp-3); }
    .data-table td.actions .btn-icon { visibility: visible; }

    .chart-canvas-wrap { height: 220px; }

    .toast-container { left: var(--sp-3); right: var(--sp-3); }
    .toast { max-width: none; width: 100%; }
}

@media (hover: none) and (pointer: coarse) {
    .btn, .nav-item, .account-chip { min-height: 40px; }
    .data-table td.actions .btn-icon { visibility: visible; }
}

@media print {
    .sidebar, .topbar, .page-actions, .filters-bar, .pagination, .btn { display: none !important; }
    .main-area { margin: 0 !important; }
    .card { border: 1px solid #999; box-shadow: none; }
    body { background: #fff; }
}
