:root {
    --skeleton-base-dark: rgba(255, 255, 255, 0.08);
    --skeleton-highlight-dark: rgba(255, 255, 255, 0.16);
    --skeleton-base-light: rgba(39, 34, 48, 0.08);
    --skeleton-highlight-light: rgba(39, 34, 48, 0.14);
}

@keyframes skeleton-shimmer {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

body.page-loading {
    pointer-events: none;
}

body.page-loading .meseros-main,
body.page-loading .perfil-summary,
body.page-loading .perfil-form-panel,
body.page-loading .pedidos-main,
body.page-loading .mesas-main,
body.page-loading .tables-sidebar,
body.page-loading .layout-panel,
body.page-loading .floor-canvas,
body.page-loading .productos-main,
body.page-loading .productos-sidebar,
body.page-loading .productos-content {
    position: relative;
}

body.page-loading .page-title,
body.page-loading .page-subtitle,
body.page-loading .eyebrow,
body.page-loading .service-badge,
body.page-loading .menu-card h2,
body.page-loading .menu-card p,
body.page-loading .menu-tag,
body.page-loading .btn-pill,
body.page-loading .table-chip,
body.page-loading .summary-stats strong,
body.page-loading .summary-stats span,
body.page-loading .panel-tag,
body.page-loading .panel-header h2,
body.page-loading .panel-header p,
body.page-loading .verification-pill,
body.page-loading .profile-copy h1,
body.page-loading .profile-copy p,
body.page-loading .profile-status,
body.page-loading .side-action,
body.page-loading .field-label,
body.page-loading .gender-option span,
body.page-loading .dark-input,
body.page-loading .form-actions .btn,
body.page-loading .back-link,
body.page-loading .pedidos-eyebrow,
body.page-loading .pedidos-title,
body.page-loading .pedidos-subtitle,
body.page-loading .mesas-eyebrow,
body.page-loading .mesas-title,
body.page-loading .mesas-subtitle,
body.page-loading .productos-eyebrow,
body.page-loading .productos-title,
body.page-loading .productos-section-title,
body.page-loading .productos-group-title,
body.page-loading .filter-chip,
body.page-loading .mesas-search,
body.page-loading .mesas-select,
body.page-loading .productos-search,
body.page-loading .productos-primary-btn,
body.page-loading .category-item,
body.page-loading .category-icon,
body.page-loading .category-name,
body.page-loading .category-count,
body.page-loading .filter-btn,
body.page-loading .view-btn,
body.page-loading .product-card,
body.page-loading .product-tag,
body.page-loading .product-name,
body.page-loading .product-price,
body.page-loading .add-dish-button,
body.page-loading .add-product-card h4,
body.page-loading .btn-layout-primary,
body.page-loading .btn-layout-secondary,
body.page-loading .btn-layout-link,
body.page-loading .table-list-item,
body.page-loading .table-list-name,
body.page-loading .table-list-amount,
body.page-loading .table-list-meta,
body.page-loading .layout-legend,
body.page-loading .layout-legend span,
body.page-loading .cashier-block,
body.page-loading .layout-table,
body.page-loading .table-capacity,
body.page-loading .order-person h2,
body.page-loading .order-id,
body.page-loading .detail-label,
body.page-loading .detail-row strong,
body.page-loading .stat-row span,
body.page-loading .stat-row strong,
body.page-loading .status-badge {
    color: transparent !important;
    border-color: transparent !important;
    text-shadow: none !important;
    background-image: linear-gradient(
        90deg,
        var(--skeleton-base-dark) 0%,
        var(--skeleton-highlight-dark) 50%,
        var(--skeleton-base-dark) 100%
    ) !important;
    background-size: 220% 100% !important;
    animation: skeleton-shimmer 1.15s linear infinite;
    box-shadow: none !important;
}

body.page-loading .page-title,
body.page-loading .panel-header h2,
body.page-loading .pedidos-title,
body.page-loading .profile-copy h1,
body.page-loading .mesas-title,
body.page-loading .productos-title,
body.page-loading .productos-section-title,
body.page-loading .productos-group-title {
    border-radius: 14px;
}

body.page-loading .page-subtitle,
body.page-loading .panel-header p,
body.page-loading .pedidos-subtitle,
body.page-loading .menu-card p,
body.page-loading .mesas-subtitle,
body.page-loading .table-list-item,
body.page-loading .category-item,
body.page-loading .product-card {
    border-radius: 12px;
}

body.page-loading .btn-pill,
body.page-loading .form-actions .btn,
body.page-loading .filter-chip,
body.page-loading .back-link,
body.page-loading .service-badge,
body.page-loading .verification-pill,
body.page-loading .profile-status,
body.page-loading .side-action,
body.page-loading .status-badge,
body.page-loading .productos-primary-btn,
body.page-loading .category-count,
body.page-loading .filter-btn,
body.page-loading .view-btn,
body.page-loading .add-dish-button,
body.page-loading .btn-layout-primary,
body.page-loading .btn-layout-secondary,
body.page-loading .btn-layout-link,
body.page-loading .table-capacity {
    border-radius: 999px !important;
}

body.page-loading .food-image,
body.page-loading .profile-avatar,
body.page-loading .order-avatar,
body.page-loading .sidebar-profile img,
body.page-loading .product-image {
    opacity: 0 !important;
}

body.page-loading .card-illustration,
body.page-loading .profile-avatar-wrap,
body.page-loading .sidebar-profile img,
body.page-loading .order-avatar,
body.page-loading .product-image-wrap {
    background-image: linear-gradient(
        90deg,
        var(--skeleton-base-dark) 0%,
        var(--skeleton-highlight-dark) 50%,
        var(--skeleton-base-dark) 100%
    ) !important;
    background-size: 220% 100% !important;
    animation: skeleton-shimmer 1.15s linear infinite;
}

body.page-loading .dark-input,
body.page-loading .gender-option {
    caret-color: transparent;
}

body.page-loading .dark-input::placeholder {
    color: transparent;
}

body.page-loading .order-card,
body.page-loading .order-table-badge,
body.page-loading .order-summary h2,
body.page-loading .order-summary p,
body.page-loading .status-title,
body.page-loading .status-note,
body.page-loading .order-time-row span,
body.page-loading .order-time-row strong,
body.page-loading .order-items-head span,
body.page-loading .order-item-row span,
body.page-loading .order-item-row strong,
body.page-loading .order-total-row span,
body.page-loading .order-total-row strong,
body.page-loading .order-btn {
    color: transparent !important;
    border-color: transparent !important;
    text-shadow: none !important;
    background-image: linear-gradient(
        90deg,
        var(--skeleton-base-dark) 0%,
        var(--skeleton-highlight-dark) 50%,
        var(--skeleton-base-dark) 100%
    ) !important;
    background-size: 220% 100% !important;
    animation: skeleton-shimmer 1.15s linear infinite;
    box-shadow: none !important;
}

body.page-loading .order-table-badge,
body.page-loading .status-title,
body.page-loading .order-btn {
    border-radius: 16px !important;
}

body.page-loading .order-card {
    border-radius: 24px !important;
}

body.theme-light.page-loading .page-title,
body.theme-light.page-loading .page-subtitle,
body.theme-light.page-loading .eyebrow,
body.theme-light.page-loading .service-badge,
body.theme-light.page-loading .menu-card h2,
body.theme-light.page-loading .menu-card p,
body.theme-light.page-loading .menu-tag,
body.theme-light.page-loading .btn-pill,
body.theme-light.page-loading .table-chip,
body.theme-light.page-loading .summary-stats strong,
body.theme-light.page-loading .summary-stats span,
body.theme-light.page-loading .panel-tag,
body.theme-light.page-loading .panel-header h2,
body.theme-light.page-loading .panel-header p,
body.theme-light.page-loading .verification-pill,
body.theme-light.page-loading .profile-copy h1,
body.theme-light.page-loading .profile-copy p,
body.theme-light.page-loading .profile-status,
body.theme-light.page-loading .side-action,
body.theme-light.page-loading .field-label,
body.theme-light.page-loading .gender-option span,
body.theme-light.page-loading .dark-input,
body.theme-light.page-loading .form-actions .btn,
body.theme-light.page-loading .back-link,
body.theme-light.page-loading .pedidos-eyebrow,
body.theme-light.page-loading .pedidos-title,
body.theme-light.page-loading .pedidos-subtitle,
body.theme-light.page-loading .mesas-eyebrow,
body.theme-light.page-loading .mesas-title,
body.theme-light.page-loading .mesas-subtitle,
body.theme-light.page-loading .productos-eyebrow,
body.theme-light.page-loading .productos-title,
body.theme-light.page-loading .productos-section-title,
body.theme-light.page-loading .productos-group-title,
body.theme-light.page-loading .filter-chip,
body.theme-light.page-loading .mesas-search,
body.theme-light.page-loading .mesas-select,
body.theme-light.page-loading .productos-search,
body.theme-light.page-loading .productos-primary-btn,
body.theme-light.page-loading .category-item,
body.theme-light.page-loading .category-icon,
body.theme-light.page-loading .category-name,
body.theme-light.page-loading .category-count,
body.theme-light.page-loading .filter-btn,
body.theme-light.page-loading .view-btn,
body.theme-light.page-loading .product-card,
body.theme-light.page-loading .product-tag,
body.theme-light.page-loading .product-name,
body.theme-light.page-loading .product-price,
body.theme-light.page-loading .add-dish-button,
body.theme-light.page-loading .add-product-card h4,
body.theme-light.page-loading .btn-layout-primary,
body.theme-light.page-loading .btn-layout-secondary,
body.theme-light.page-loading .btn-layout-link,
body.theme-light.page-loading .table-list-item,
body.theme-light.page-loading .table-list-name,
body.theme-light.page-loading .table-list-amount,
body.theme-light.page-loading .table-list-meta,
body.theme-light.page-loading .layout-legend,
body.theme-light.page-loading .layout-legend span,
body.theme-light.page-loading .cashier-block,
body.theme-light.page-loading .layout-table,
body.theme-light.page-loading .table-capacity,
body.theme-light.page-loading .order-person h2,
body.theme-light.page-loading .order-id,
body.theme-light.page-loading .detail-label,
body.theme-light.page-loading .detail-row strong,
body.theme-light.page-loading .stat-row span,
body.theme-light.page-loading .stat-row strong,
body.theme-light.page-loading .status-badge,
body.theme-light.page-loading .card-illustration,
body.theme-light.page-loading .profile-avatar-wrap,
body.theme-light.page-loading .sidebar-profile img,
body.theme-light.page-loading .order-avatar,
body.theme-light.page-loading .product-image-wrap {
    background-image: linear-gradient(
        90deg,
        var(--skeleton-base-light) 0%,
        var(--skeleton-highlight-light) 50%,
        var(--skeleton-base-light) 100%
    ) !important;
}

body.theme-light.page-loading .order-card,
body.theme-light.page-loading .order-table-badge,
body.theme-light.page-loading .order-summary h2,
body.theme-light.page-loading .order-summary p,
body.theme-light.page-loading .status-title,
body.theme-light.page-loading .status-note,
body.theme-light.page-loading .order-time-row span,
body.theme-light.page-loading .order-time-row strong,
body.theme-light.page-loading .order-items-head span,
body.theme-light.page-loading .order-item-row span,
body.theme-light.page-loading .order-item-row strong,
body.theme-light.page-loading .order-total-row span,
body.theme-light.page-loading .order-total-row strong,
body.theme-light.page-loading .order-btn {
    color: transparent !important;
    border-color: transparent !important;
    text-shadow: none !important;
    background-image: linear-gradient(
        90deg,
        var(--skeleton-base-light) 0%,
        var(--skeleton-highlight-light) 50%,
        var(--skeleton-base-light) 100%
    ) !important;
    background-size: 220% 100% !important;
    animation: skeleton-shimmer 1.15s linear infinite;
    box-shadow: none !important;
}

@media (prefers-reduced-motion: reduce) {
    body.page-loading .page-title,
    body.page-loading .page-subtitle,
    body.page-loading .eyebrow,
    body.page-loading .service-badge,
    body.page-loading .menu-card h2,
    body.page-loading .menu-card p,
    body.page-loading .menu-tag,
    body.page-loading .btn-pill,
    body.page-loading .table-chip,
    body.page-loading .summary-stats strong,
    body.page-loading .summary-stats span,
    body.page-loading .panel-tag,
    body.page-loading .panel-header h2,
    body.page-loading .panel-header p,
    body.page-loading .verification-pill,
    body.page-loading .profile-copy h1,
    body.page-loading .profile-copy p,
    body.page-loading .profile-status,
    body.page-loading .side-action,
    body.page-loading .field-label,
    body.page-loading .gender-option span,
    body.page-loading .dark-input,
    body.page-loading .form-actions .btn,
    body.page-loading .back-link,
    body.page-loading .pedidos-eyebrow,
    body.page-loading .pedidos-title,
    body.page-loading .pedidos-subtitle,
    body.page-loading .mesas-eyebrow,
    body.page-loading .mesas-title,
    body.page-loading .mesas-subtitle,
    body.page-loading .productos-eyebrow,
    body.page-loading .productos-title,
    body.page-loading .productos-section-title,
    body.page-loading .productos-group-title,
    body.page-loading .filter-chip,
    body.page-loading .mesas-search,
    body.page-loading .mesas-select,
    body.page-loading .productos-search,
    body.page-loading .productos-primary-btn,
    body.page-loading .category-item,
    body.page-loading .category-icon,
    body.page-loading .category-name,
    body.page-loading .category-count,
    body.page-loading .filter-btn,
    body.page-loading .view-btn,
    body.page-loading .product-card,
    body.page-loading .product-tag,
    body.page-loading .product-name,
    body.page-loading .product-price,
    body.page-loading .add-dish-button,
    body.page-loading .add-product-card h4,
    body.page-loading .btn-layout-primary,
    body.page-loading .btn-layout-secondary,
    body.page-loading .btn-layout-link,
    body.page-loading .table-list-item,
    body.page-loading .table-list-name,
    body.page-loading .table-list-amount,
    body.page-loading .table-list-meta,
    body.page-loading .layout-legend,
    body.page-loading .layout-legend span,
    body.page-loading .cashier-block,
    body.page-loading .layout-table,
    body.page-loading .table-capacity,
    body.page-loading .order-person h2,
    body.page-loading .order-id,
    body.page-loading .detail-label,
    body.page-loading .detail-row strong,
    body.page-loading .stat-row span,
    body.page-loading .stat-row strong,
    body.page-loading .status-badge,
    body.page-loading .card-illustration,
    body.page-loading .profile-avatar-wrap,
    body.page-loading .sidebar-profile img,
    body.page-loading .order-avatar,
    body.page-loading .product-image-wrap {
        animation: none !important;
    }
}
