/* Responsive — Mobile shop-floor views */
@media (max-width: 992px) {
    .app-sidebar {
        transform: translateX(-100%);
    }

    .app-sidebar.show {
        transform: translateX(0);
    }

    .app-header {
        left: 0;
    }

    .app-main {
        margin-left: 0;
    }

    .sidebar-toggle {
        display: block;
    }

    .sidebar-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.4);
        z-index: 1035;
    }

    .sidebar-overlay.show {
        display: block;
    }
}

/* Mobile shop-floor card layout */
@media (max-width: 768px) {
    .filter-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar .form-select,
    .filter-bar .form-control {
        min-width: 100%;
    }

    .kpi-row {
        grid-template-columns: 1fr 1fr;
    }

    .data-table-desktop {
        display: none;
    }

    .mobile-cards {
        display: block;
    }

    .shop-floor-card {
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 0.5rem;
        padding: 1rem;
        margin-bottom: 0.75rem;
    }

    .shop-floor-card .sf-operation {
        font-size: 1.125rem;
        font-weight: 700;
        color: #0f172a;
    }

    .shop-floor-card .sf-part {
        color: #475569;
        font-size: 0.9375rem;
    }

    .shop-floor-card .sf-model {
        color: #64748b;
        font-size: 0.875rem;
    }

    .shop-floor-card .sf-metrics {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
        margin-top: 0.75rem;
        font-size: 0.875rem;
    }

    .shop-floor-card .sf-metrics .metric-label {
        color: #94a3b8;
        font-size: 0.75rem;
    }
}

@media (min-width: 769px) {
    .mobile-cards {
        display: none;
    }
}
