        /* --- MODAL --- */
        .modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(15, 23, 42, 0.55);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 1000;
            padding: 20px;
            opacity: 0;
            visibility: hidden;
            transition: opacity var(--transition-normal), visibility var(--transition-normal);
        }

        .modal-overlay.active {
            opacity: 1;
            visibility: visible;
        }

        /* Диалоги confirm/alert поверх обычных модалок */
        #app-confirm-modal.active,
        #app-alert-modal.active,
        #app-prompt-modal.active,
        #app-select-modal.active {
            z-index: 1200;
        }

        /* Динамические модалки (auth.js showModal): внутри overlay — .modal-content, не .modal */
        .modal-overlay > .modal-content {
            background: var(--bg-card);
            color: var(--text-main);
            border-radius: var(--radius-lg);
            width: 100%;
            max-width: 500px;
            max-height: 90vh;
            overflow-x: hidden;
            overflow-y: auto;
            box-shadow: var(--shadow-xl);
            border: 1px solid var(--border);
            transform: translateY(20px);
            transition: transform var(--transition-normal);
        }

        .modal-overlay.active > .modal-content {
            transform: translateY(0);
        }

        /* Просмотр сертификата товара: компактнее, чтобы контент совпадал с рамкой; крестик в шапке */
        #product-cert-modal > .modal-content {
            max-width: min(90vw, 470px);
            width: 100%;
            padding: 0;
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }

        #product-cert-modal .product-cert-viewer-root {
            display: flex;
            flex-direction: column;
            min-height: 0;
        }

        #product-cert-modal .product-cert-head {
            flex-shrink: 0;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            padding: 8px 10px 4px;
            background: var(--bg-card);
        }

        .modal {
            background: var(--bg-card);
            border-radius: var(--radius-lg);
            width: 100%;
            max-width: 500px;
            max-height: 90vh;
            overflow-y: auto;
            box-shadow: var(--shadow-xl);
            transform: translateY(20px);
            transition: transform var(--transition-normal);
        }

        .modal-overlay.active .modal {
            transform: translateY(0);
        }

        .modal-header {
            padding: 24px;
            border-bottom: none;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .modal-title {
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--text-main);
        }

        .modal-close {
            width: 32px;
            height: 32px;
            border-radius: var(--radius-md);
            display: flex;
            align-items: center;
            justify-content: center;
            background: var(--bg-page);
            border: none;
            cursor: pointer;
            transition: all var(--transition-fast);
        }

        .modal-close:hover {
            background: var(--danger-light);
            color: var(--danger);
        }

        .modal-body {
            padding: 24px;
        }

        .modal-footer {
            padding: 24px;
            border-top: 1px solid var(--border);
            display: flex;
            justify-content: flex-end;
            gap: 12px;
        }
        
        /* Mobile modal - стили перенесены в mobile-fixes.css */
        
        @keyframes slideUpModal {
            from {
                transform: translateY(100%);
            }
            to {
                transform: translateY(0);
            }
        }

        /* --- CUSTOM SCROLL FOR MODAL --- */
        .modal::-webkit-scrollbar {
            width: 6px;
        }

        .modal::-webkit-scrollbar-track {
            background: transparent;
        }

        .modal::-webkit-scrollbar-thumb {
            background: #c1c1c1;
            border-radius: 3px;
        }

        /* --- ORDER DETAILS MODAL --- */
        .order-details-modal {
            max-width: none;
            width: 100%;
        }

        .order-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 32px;
            padding-bottom: 24px;
            border-bottom: 2px solid var(--border);
        }

        .order-info {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .order-number {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .order-label {
            font-size: 0.875rem;
            color: var(--text-tertiary);
            font-weight: 500;
        }

        .order-id {
            font-size: 2rem;
            font-weight: 800;
            color: var(--primary);
            font-family: monospace;
        }

        .order-date {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 0.875rem;
            color: var(--text-secondary);
        }

        .order-status {
            display: flex;
            align-items: flex-start;
        }

        .status-badge-large {
            padding: 12px 20px;
            font-size: 0.9rem;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 8px;
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow-sm);
        }

        .customer-info {
            margin-bottom: 32px;
        }

        .info-section h4 {
            font-size: 1.125rem;
            font-weight: 600;
            color: var(--text-main);
            margin-bottom: 16px;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .customer-details {
            background: var(--bg-page);
            padding: 16px;
            border-radius: var(--radius-md);
            border: 1px solid var(--border);
        }

        .customer-name {
            font-size: 1.125rem;
            font-weight: 600;
            color: var(--text-main);
            margin-bottom: 8px;
        }

        .customer-email {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 0.875rem;
            color: var(--text-secondary);
        }

        .order-items {
            margin-bottom: 32px;
        }

        .order-items h4 {
            font-size: 1.125rem;
            font-weight: 600;
            color: var(--text-main);
            margin-bottom: 16px;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .items-list {
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .order-item {
            display: flex;
            align-items: center;
            gap: 16px;
            padding: 16px;
            background: var(--bg-page);
            border-radius: var(--radius-md);
            border: 1px solid var(--border);
            transition: all var(--transition-fast);
        }

        .order-item:hover {
            border-color: var(--primary);
            box-shadow: var(--shadow-sm);
        }

        .item-number {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            background: var(--primary);
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 600;
            font-size: 0.875rem;
            flex-shrink: 0;
        }

        .item-details {
            flex: 1;
        }

        .item-name {
            font-weight: 600;
            color: var(--text-main);
            margin-bottom: 4px;
        }

        .item-article {
            font-size: 0.8rem;
            color: var(--text-secondary);
            font-family: monospace;
        }

        .item-price-info {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 4px;
        }

        .item-price {
            font-weight: 600;
            color: var(--text-main);
        }

        .item-quantity {
            font-size: 0.8rem;
            color: var(--text-secondary);
        }

        .item-total {
            font-weight: 700;
            color: var(--primary);
            font-size: 1.1rem;
        }

        .no-items {
            text-align: center;
            padding: 32px;
            color: var(--text-tertiary);
            font-style: italic;
        }

        .order-summary {
            background: var(--bg-page);
            padding: 24px;
            border-radius: var(--radius-lg);
            border: 1px solid var(--border);
            margin-bottom: 24px;
        }

        .summary-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 8px 0;
        }

        .summary-row:not(:last-child) {
            border-bottom: 1px solid var(--border-light);
        }

        .summary-label {
            font-weight: 500;
            color: var(--text-secondary);
        }

        .summary-value {
            font-weight: 600;
            color: var(--text-main);
        }

        .total-row {
            border-top: 2px solid var(--border);
            margin-top: 8px;
            padding-top: 16px;
        }

        .total-amount {
            font-size: 1.25rem;
            color: var(--primary);
        }

        .order-actions {
            text-align: center;
        }

        .action-buttons {
            display: flex;
            gap: 12px;
            justify-content: center;
            flex-wrap: wrap;
        }

        /* --- MODAL SECTIONS (used in order details) --- */
        .modal-section {
            background: var(--bg-page);
            border-radius: var(--radius-md);
            padding: 16px;
            margin-bottom: 16px;
            border: 1px solid var(--border);
        }

        .modal-section-title {
            font-size: 0.875rem;
            font-weight: 600;
            color: var(--text-secondary);
            margin-bottom: 12px;
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .modal-section-title i {
            color: var(--primary);
        }
