/* ============================================================
   GastroPRO - RESPONSIVE GLOBAL
   ============================================================
   Este archivo controla TODO el comportamiento responsive
   del sistema. Se carga después de themes.css y antes de
   cualquier CSS de módulo.

   Breakpoints:
   - 1440px: Desktop XL → ajustes finos
   - 1200px: Desktop → sidebar collapse automático
   - 1024px: Tablet landscape → sidebar off-canvas
   - 768px:  Tablet portrait → layouts simplificados
   - 576px:  Mobile landscape → compactar elementos
   - 480px:  Mobile portrait → una columna, stacking
   ============================================================ */

/* ============================================================
   UTILIDADES RESPONSIVE
   ============================================================ */
.hide-mobile { display: block; }
.hide-desktop { display: none !important; }
.show-mobile { display: none !important; }

/* ============================================================
   OVERFLOW GLOBAL
   ============================================================ */
.content-wrapper {
    max-width: 100%;
    overflow-x: hidden;
}

.app-main {
    max-width: 100%;
    overflow-x: hidden;
}

/* ============================================================
   1440px - DESKTOP XL
   ============================================================ */
@media (max-width: 1440px) {
    .content-wrapper { padding: 24px; }
}

/* ============================================================
   1200px - DESKTOP (Sidebar se puede colapsar)
   ============================================================ */
@media (max-width: 1200px) {
    :root {
        --sidebar-width: 240px;
    }

    .stat-card .stat-value { font-size: 22px; }
    .content-wrapper { padding: 22px; }
}

/* ============================================================
   1024px - TABLET LANDSCAPE (Sidebar off-canvas)
   ============================================================ */
@media (max-width: 1024px) {
    :root {
        --sidebar-width: 270px;
        --header-height: 62px;
    }

    /* ---- Sidebar off-canvas ---- */
    .app-sidebar {
        transform: translateX(-100%);
        z-index: 1100;
        width: var(--sidebar-width);
    }

    .app-sidebar.collapsed { width: var(--sidebar-width); }
    .app-sidebar.mobile-open { transform: translateX(0); }

    /* ---- Header full width ---- */
    .app-header {
        left: 0 !important;
        padding: 0 16px;
    }

    .sidebar-collapsed .app-header { left: 0 !important; }

    /* ---- Main full width ---- */
    .app-main {
        margin-left: 0 !important;
    }

    .sidebar-collapsed .app-main { margin-left: 0 !important; }

    /* ---- Header simplificado ---- */
    .header-clock { display: none !important; }
    .header-btn[title="Pantalla Completa"] { display: none; }

    /* ---- User Dropdown adjustments ---- */
    .user-dropdown-menu {
        right: -8px;
        width: 240px;
    }
    .stats-grid {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        gap: 14px;
    }

    /* ---- Mesas Panel ---- */
    .mesa-panel {
        width: 100%;
        right: -100%;
    }

    /* ---- Productos Stats ---- */
    .prod-stats {
        grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
        gap: 12px;
    }

    /* ---- Modales ---- */
    .modal-overlay { padding: 20px 16px; }
    .modal-container { max-width: 100%; }

    .theme-modal { max-width: 90%; }
}

/* ============================================================
   768px - TABLET PORTRAIT
   ============================================================ */
@media (max-width: 768px) {
    :root {
        --header-height: 58px;
    }

    /* ---- Content ---- */
    .content-wrapper {
        padding: 16px 14px;
    }

    /* ---- Header ---- */
    .app-header {
        padding: 0 12px;
        gap: 8px;
    }

    .header-left { gap: 8px; }
    .header-right { gap: 4px; }

    .header-toggle {
        width: 36px;
        height: 36px;
    }

    .header-breadcrumb { display: none !important; }

    /* Hide elements with hide-xs class (palette, notifications) */
    .hide-xs { display: none !important; }

    .header-btn {
        width: 36px;
        height: 36px;
        font-size: 20px;
    }

    .header-avatar {
        width: 36px;
        height: 36px;
        font-size: 12px;
    }

    /* ---- Stats Grid ---- */
    .stats-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .stat-card {
        padding: 14px;
        gap: 12px;
    }

    .stat-icon {
        width: 42px;
        height: 42px;
        min-width: 42px;
        font-size: 20px;
        border-radius: var(--radius-md);
    }

    .stat-value { font-size: 20px; }
    .stat-label { font-size: 11px; }

    /* ---- Zonas Tabs / Cat Tabs ---- */
    .zones-tabs,
    .cat-tabs {
        padding: 4px;
        gap: 4px;
    }

    .zone-tab,
    .cat-tab {
        padding: 8px 12px;
        font-size: 12px;
        gap: 5px;
    }

    .zone-tab .tab-count,
    .cat-tab .cat-count {
        min-width: 18px;
        height: 18px;
        font-size: 10px;
        padding: 0 4px;
    }

    /* ---- Mesa Legend ---- */
    .mesa-legend {
        gap: 8px;
        padding: 10px 12px;
        font-size: 11px;
    }

    .legend-dot { width: 8px; height: 8px; }

    /* ---- Mesas Grid ---- */
    .mesas-grid {
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
        gap: 10px;
    }

    .mesa-card { padding: 12px; }
    .mesa-shape { width: 56px; height: 56px; font-size: 15px; }
    .mesa-shape.rectangular { width: 72px; height: 50px; }
    .mesa-estado { font-size: 9px; }
    .mesa-timer { font-size: 10px; padding: 2px 7px; }
    .mesa-capacity { font-size: 10px; }
    .mesa-capacity .material-symbols-outlined { font-size: 12px; }

    /* ---- Productos Stats mini ---- */
    .prod-stats {
        grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
        gap: 10px;
    }

    .prod-stat-mini { padding: 12px 14px; gap: 10px; }
    .prod-stat-icon { width: 36px; height: 36px; min-width: 36px; font-size: 18px; }
    .prod-stat-mini .stat-val { font-size: 18px; }
    .prod-stat-mini .stat-lbl { font-size: 10.5px; }

    /* ---- Productos Toolbar ---- */
    .prod-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .prod-toolbar-left {
        flex-direction: column;
        gap: 10px;
    }

    .prod-search {
        max-width: 100%;
        min-width: auto;
    }

    .prod-filter-select {
        width: 100%;
    }

    .prod-toolbar-right {
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 8px;
    }

    .btn-primary, .btn-secondary {
        height: 40px;
        padding: 0 16px;
        font-size: 12.5px;
    }

    .btn-icon { width: 40px; height: 40px; min-width: 40px; }

    /* ---- Productos Grid ---- */
    .prod-grid {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        gap: 14px;
    }

    .prod-card-img { height: 140px; }
    .prod-card-body { padding: 14px; }
    .prod-card-name { font-size: 14.5px; }
    .prod-card-desc { font-size: 12px; margin-bottom: 10px; }
    .prod-card-price { font-size: 18px; }
    .prod-card-meta { gap: 8px; }
    .prod-card-meta-item { font-size: 11px; }

    .prod-card-actions-top {
        opacity: 1;
        transform: translateY(0);
    }

    /* ---- Modales ---- */
    .modal-overlay {
        padding: 12px;
        align-items: flex-start;
    }

    .modal-container {
        border-radius: var(--radius-lg);
    }

    .modal-header {
        padding: 18px 16px;
    }

    .modal-header-title { font-size: 17px; gap: 8px; }
    .modal-header-title .material-symbols-outlined { font-size: 22px; }

    .modal-tabs {
        padding: 0 12px;
        overflow-x: auto;
    }

    .modal-tab {
        padding: 12px 14px;
        font-size: 12.5px;
        white-space: nowrap;
    }

    .modal-body {
        padding: 18px 16px;
        max-height: calc(100vh - 240px);
    }

    .modal-footer {
        padding: 14px 16px;
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 14px;
    }

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

    .form-control { height: 42px; font-size: 13px; }
    .form-label { font-size: 11.5px; }

    /* ---- Variants ---- */
    .variant-row {
        grid-template-columns: 1fr 120px 38px;
        padding: 10px 12px;
        gap: 8px;
    }

    /* ---- Category Modal ---- */
    .cat-add-form {
        grid-template-columns: 1fr auto auto;
        gap: 8px;
    }

    /* ---- Theme Modal ---- */
    .theme-modal {
        padding: 24px 20px;
        max-width: 100%;
        margin: 0;
    }

    .theme-options {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }

    .theme-option { padding: 12px; }
    .theme-swatch span { width: 20px; height: 20px; }
    .theme-option-name { font-size: 11px; }

    .theme-mode-toggle { margin-bottom: 20px; }
    .theme-mode-btn { padding: 10px; font-size: 12.5px; }

    /* ---- Mesa Panel ---- */
    .mesa-panel-header { padding: 20px 16px; }
    .mesa-panel-title { font-size: 26px; }
    .mesa-panel-body { padding: 16px; }
    .mesa-panel-footer { padding: 14px 16px; }
    .panel-main-btn { padding: 14px; font-size: 13px; }
    .order-total-row.total span:last-child { font-size: 22px; }

    /* ---- Panel lateral acciones ---- */
    .panel-actions-grid {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .panel-action-btn {
        padding: 10px;
        font-size: 12px;
    }

    /* ---- Hide / Show ---- */
    .hide-mobile { display: none !important; }
    .show-mobile { display: block !important; }
}

/* ============================================================
   576px - MOBILE LANDSCAPE
   ============================================================ */
@media (max-width: 576px) {
    /* Hide elements with hide-sm */
    .hide-sm { display: none !important; }

    /* ---- Stats ---- */
    .stats-grid {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .stat-card {
        padding: 12px;
        gap: 10px;
    }

    .stat-icon {
        width: 38px;
        height: 38px;
        min-width: 38px;
        font-size: 18px;
    }

    .stat-value { font-size: 18px; }
    .stat-label { font-size: 10px; }

    /* ---- Zonas / Cat Tabs ---- */
    .zone-tab,
    .cat-tab {
        padding: 7px 10px;
        font-size: 11.5px;
    }

    /* ---- Mesas Grid ---- */
    .mesas-grid {
        grid-template-columns: repeat(auto-fill, minmax(105px, 1fr));
        gap: 8px;
    }

    .mesa-card { padding: 10px; }
    .mesa-shape { width: 50px; height: 50px; font-size: 14px; }
    .mesa-shape.rectangular { width: 64px; height: 44px; font-size: 13px; }

    /* ---- Productos Stats ---- */
    .prod-stats {
        grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
        gap: 8px;
    }

    .prod-stat-mini { padding: 10px 12px; gap: 8px; }
    .prod-stat-icon { width: 32px; height: 32px; min-width: 32px; font-size: 16px; }
    .prod-stat-mini .stat-val { font-size: 16px; }
    .prod-stat-mini .stat-lbl { font-size: 10px; }

    /* ---- Productos Grid ---- */
    .prod-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .prod-card-img { height: 120px; }

    .prod-badge { font-size: 9px; padding: 2px 6px; }

    .prod-card-body { padding: 12px; }
    .prod-card-code { font-size: 10px; }
    .prod-card-name { font-size: 13.5px; -webkit-line-clamp: 1; }
    .prod-card-desc { display: none; }
    .prod-card-meta { display: none; }
    .prod-card-price { font-size: 16px; }
    .prod-card-footer { padding-top: 10px; }

    .toggle-switch { width: 38px; height: 20px; }
    .toggle-slider::before { width: 14px; height: 14px; }
    .toggle-switch input:checked + .toggle-slider::before { transform: translateX(18px); }

    .prod-card-action-btn { width: 30px; height: 30px; font-size: 16px; }

    /* ---- Lista view en mobile ---- */
    .prod-grid.list-view {
        grid-template-columns: 1fr;
    }

    .prod-grid.list-view .prod-card {
        flex-direction: row;
    }

    .prod-grid.list-view .prod-card-img {
        width: 100px;
        min-width: 100px;
        min-height: 90px;
    }

    /* ---- Toolbar botones ---- */
    .prod-toolbar-right {
        gap: 6px;
    }

    .btn-primary {
        flex: 1;
        justify-content: center;
    }

    .btn-secondary {
        flex: 1;
        justify-content: center;
        font-size: 12px;
        padding: 0 12px;
    }

    .btn-secondary span:not(.material-symbols-outlined) { display: none; }

    /* ---- Modal full ---- */
    .modal-overlay {
        padding: 0;
        align-items: stretch;
    }

    .modal-container {
        border-radius: var(--radius-lg) var(--radius-lg) 0 0;
        max-height: 100vh;
        display: flex;
        flex-direction: column;
        margin-top: auto;
    }

    .modal-body {
        max-height: calc(100vh - 200px);
        padding: 16px 14px;
    }

    .modal-footer {
        padding: 12px 14px;
        gap: 8px;
    }

    .btn-cancel, .btn-save {
        height: 42px;
        font-size: 13px;
        flex: 1;
        justify-content: center;
    }

    /* ---- Variants ---- */
    .variant-row {
        grid-template-columns: 1fr 100px 36px;
        gap: 6px;
        padding: 8px 10px;
    }

    .variant-row input { height: 36px; font-size: 12px; }

    /* ---- Cat modal ---- */
    .cat-add-form {
        grid-template-columns: 1fr 40px 40px;
    }

    .cat-modal-item { padding: 10px 12px; }
    .cat-modal-name { font-size: 13px; }

    /* ---- Theme Modal ---- */
    .theme-modal { padding: 20px 16px; }
    .theme-modal-title { font-size: 18px; }
    .theme-options { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .theme-option { padding: 10px; }

    /* ---- Login ---- */
    .login-card {
        padding: 32px 22px;
    }

    .login-logo-icon { width: 44px; height: 44px; font-size: 22px; }
    .login-logo-text { font-size: 22px; }
    .login-subtitle { font-size: 12.5px; margin-bottom: 28px; }
    .login-field input { height: 48px; font-size: 14px; }
    .login-btn { height: 50px; font-size: 14px; }

    .login-options { flex-direction: column; gap: 10px; align-items: flex-start; }
    .login-theme-toggle { top: 12px; right: 12px; gap: 6px; }
    .login-theme-toggle button { width: 36px; height: 36px; font-size: 18px; }

    /* ---- Mesa Panel ---- */
    .mesa-panel-header { padding: 18px 14px; }
    .mesa-panel-title { font-size: 22px; }
    .mesa-panel-info { font-size: 12px; }
    .mesa-panel-timer-value { font-size: 22px; }
    .mesa-panel-body { padding: 14px; }
    .mesa-panel-footer { padding: 12px 14px; }

    .panel-actions-grid {
        grid-template-columns: 1fr 1fr;
        gap: 6px;
    }

    .panel-action-btn {
        padding: 8px;
        font-size: 11px;
        gap: 4px;
    }

    .panel-action-btn .material-symbols-outlined { font-size: 16px; }
    .panel-main-btn { padding: 12px; font-size: 12.5px; }

    .order-item { padding: 10px 0; }
    .order-qty { width: 24px; height: 24px; min-width: 24px; font-size: 11px; }
    .order-item-name { font-size: 12.5px; }
    .order-item-price { font-size: 12.5px; }
    .order-total-row.total span:last-child { font-size: 20px; }
}

/* ============================================================
   480px - MOBILE PORTRAIT SMALL
   ============================================================ */
@media (max-width: 480px) {
    .content-wrapper { padding: 12px 10px; }

    /* ---- Header ultra compacto ---- */
    .app-header { padding: 0 10px; }
    .header-toggle { width: 34px; height: 34px; }

    .header-btn {
        width: 32px;
        height: 32px;
        font-size: 18px;
    }

    .header-btn[title="Notificaciones"] .notif-dot {
        width: 6px;
        height: 6px;
        top: 6px;
        right: 6px;
    }

    .header-avatar { width: 32px; height: 32px; font-size: 11px; }

    /* ---- Stats 2 cols compacto ---- */
    .stats-grid {
        grid-template-columns: 1fr 1fr;
        gap: 6px;
    }

    .stat-card {
        padding: 10px;
        gap: 8px;
        border-radius: var(--radius-md);
    }

    .stat-icon {
        width: 34px;
        height: 34px;
        min-width: 34px;
        font-size: 16px;
        border-radius: var(--radius-sm);
    }

    .stat-value { font-size: 16px; }
    .stat-label { font-size: 9.5px; }

    /* ---- Mesas ---- */
    .mesas-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 6px;
    }

    .mesa-card {
        padding: 8px;
        gap: 4px;
        border-radius: var(--radius-md);
    }

    .mesa-shape {
        width: 44px;
        height: 44px;
        font-size: 12px;
    }

    .mesa-shape.rectangular { width: 56px; height: 38px; font-size: 11px; }
    .mesa-estado { font-size: 8px; letter-spacing: 0.5px; }
    .mesa-timer { font-size: 9px; padding: 2px 5px; }
    .mesa-timer .material-symbols-outlined { font-size: 11px; }
    .mesa-capacity { font-size: 9px; }
    .mesa-capacity .material-symbols-outlined { font-size: 11px; }

    /* ---- Mesa Legend ---- */
    .mesa-legend {
        padding: 8px 10px;
        gap: 6px;
        font-size: 10px;
        flex-wrap: wrap;
    }

    .legend-item { gap: 4px; }
    .legend-dot { width: 7px; height: 7px; }

    /* ---- Zonas / Cat tabs ---- */
    .zones-tabs,
    .cat-tabs {
        padding: 3px;
        gap: 3px;
    }

    .zone-tab,
    .cat-tab {
        padding: 6px 9px;
        font-size: 11px;
    }

    .zone-tab .tab-count,
    .cat-tab .cat-count {
        min-width: 16px;
        height: 16px;
        font-size: 9px;
    }

    /* ---- Productos Stats ---- */
    .prod-stats {
        grid-template-columns: repeat(auto-fit, minmax(95px, 1fr));
        gap: 6px;
    }

    .prod-stat-mini {
        padding: 8px 10px;
        gap: 8px;
        flex-direction: column;
        text-align: center;
    }

    .prod-stat-icon { width: 30px; height: 30px; min-width: 30px; font-size: 15px; }
    .prod-stat-mini .stat-val { font-size: 15px; }
    .prod-stat-mini .stat-lbl { font-size: 9px; }

    /* ---- Productos Grid ---- */
    .prod-grid {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .prod-card-img { height: 100px; }
    .prod-card-badges { top: 6px; left: 6px; gap: 3px; }
    .prod-badge { font-size: 8px; padding: 2px 5px; }
    .prod-card-actions-top { top: 6px; right: 6px; }
    .prod-card-action-btn { width: 28px; height: 28px; font-size: 14px; }

    .prod-card-body { padding: 10px; }
    .prod-card-code { font-size: 9px; }
    .prod-card-name { font-size: 12.5px; }
    .prod-card-price { font-size: 14px; }
    .prod-card-footer { padding-top: 8px; }

    /* ---- Toolbar ---- */
    .prod-search input { height: 40px; font-size: 13px; }
    .prod-search .search-icon { font-size: 18px; left: 12px; }
    .prod-filter-select { height: 40px; font-size: 12px; }

    .prod-toolbar-right {
        display: grid;
        grid-template-columns: auto auto 1fr 1fr;
        gap: 6px;
        width: 100%;
    }

    .btn-icon { width: 40px; height: 40px; min-width: 40px; }
    .btn-primary, .btn-secondary { height: 40px; font-size: 11.5px; padding: 0 10px; }

    /* ---- Modal bottom sheet ---- */
    .modal-container {
        border-radius: var(--radius-xl) var(--radius-xl) 0 0;
    }

    .modal-header { padding: 14px 14px; }
    .modal-header-title { font-size: 16px; }
    .modal-tabs { padding: 0 10px; }
    .modal-tab { padding: 10px 12px; font-size: 12px; }
    .modal-body { padding: 14px 12px; max-height: calc(100vh - 180px); }
    .modal-footer { padding: 10px 12px; }
    .form-control { height: 40px; }
    .form-label { font-size: 11px; }

    .variant-row {
        grid-template-columns: 1fr 80px 32px;
        padding: 6px 8px;
        gap: 4px;
    }

    .variant-row input { height: 34px; font-size: 11.5px; }
    .variant-remove { width: 32px; height: 34px; font-size: 16px; }

    .add-variant-btn { padding: 8px; font-size: 12px; }

    /* ---- Cat modal ---- */
    .cat-add-form {
        grid-template-columns: 1fr 36px 36px;
        gap: 6px;
    }

    .cat-add-form input[type="text"] { height: 38px; font-size: 12px; }
    .cat-add-form input[type="color"] { width: 36px; height: 38px; }

    /* ---- Theme ---- */
    .theme-modal { padding: 18px 14px; }
    .theme-modal-title { font-size: 16px; }
    .theme-modal-subtitle { font-size: 11.5px; margin-bottom: 20px; }
    .theme-options { grid-template-columns: repeat(2, 1fr); gap: 6px; }
    .theme-option { padding: 8px; }
    .theme-swatch span { width: 18px; height: 18px; }
    .theme-option-name { font-size: 10px; }
    .theme-mode-btn { padding: 8px; font-size: 12px; gap: 4px; }
    .theme-apply-btn { padding: 12px; font-size: 13px; }
}

/* ============================================================
   380px - MOBILE ULTRA SMALL (iPhone SE, etc)
   ============================================================ */
@media (max-width: 380px) {
    .content-wrapper { padding: 10px 8px; }

    .stats-grid { gap: 5px; }
    .stat-card { padding: 8px; }
    .stat-icon { width: 30px; height: 30px; min-width: 30px; font-size: 14px; }
    .stat-value { font-size: 14px; }
    .stat-label { font-size: 9px; }

    .prod-grid { gap: 6px; }
    .prod-card-img { height: 85px; }
    .prod-card-body { padding: 8px; }
    .prod-card-name { font-size: 11.5px; }
    .prod-card-price { font-size: 13px; }

    .mesas-grid { grid-template-columns: repeat(2, 1fr); }
    .mesa-card { padding: 6px; }
    .mesa-shape { width: 40px; height: 40px; font-size: 11px; }

    .login-container { padding: 12px; }
    .login-card { padding: 24px 16px; }
    .login-logo-icon { width: 38px; height: 38px; font-size: 20px; }
    .login-logo-text { font-size: 19px; }
}

/* ============================================================
   LANDSCAPE ORIENTATION en móvil
   ============================================================ */
@media (max-height: 500px) and (orientation: landscape) {
    .login-page { padding: 16px; }
    .login-card { padding: 24px 28px; }
    .login-field { margin-bottom: 14px; }
    .login-field input { height: 44px; }
    .login-btn { height: 44px; }
    .login-subtitle { margin-bottom: 20px; }

    .modal-body { max-height: calc(100vh - 140px); }
}

/* ============================================================
   MEJORAS DE TOUCH TARGETS
   ============================================================ */
@media (hover: none) and (pointer: coarse) {
    /* En dispositivos táctiles, mostrar acciones siempre */
    .prod-card-actions-top {
        opacity: 1;
        transform: translateY(0);
    }

    /* Incrementar tamaño mínimo de botones para dedo */
    .btn-primary,
    .btn-secondary,
    .btn-icon,
    .toggle-switch,
    .panel-action-btn,
    .panel-main-btn,
    .mesa-card {
        -webkit-tap-highlight-color: transparent;
    }

    /* Sin hover effects en touch */
    .mesa-card:hover { transform: none; }
    .stat-card:hover { transform: none; }
    .prod-card:hover { transform: none; }
    .prod-stat-mini:hover { transform: none; }
}

/* ============================================================
   IMPRESIÓN
   ============================================================ */
@media print {
    .app-sidebar,
    .app-header,
    .mobile-overlay,
    .mesa-panel,
    .mesa-panel-overlay,
    .modal-overlay,
    .theme-modal-overlay,
    .prod-toolbar,
    .btn-primary,
    .btn-secondary,
    .toggle-switch { display: none !important; }

    .app-main { margin-left: 0 !important; padding-top: 0 !important; }
    .content-wrapper { padding: 0 !important; }
    body { background: white !important; color: black !important; }
}
