
        /* ====== Стили для компонента загрузки фото ====== */
        .photo-upload-wrapper {
            max-width: 100%;
        }
        
        .photo-upload-container {
            position: relative;
            width: 100%;
            aspect-ratio: 1 / 1;
            max-width: 200px;
            background-color: #f8f9fa;
            border: 2px dashed #d1d3e0;
            border-radius: 12px;
            overflow: hidden;
            cursor: pointer;
            transition: all 0.3s ease;
            margin: 0 auto;
        }
        
        .photo-upload-container:hover {
            border-color: #3699FF;
            background-color: #f5f8fa;
        }
        
        .photo-upload-container.has-photo {
            border-color: #1BC5BD;
            border-style: solid;
        }
        
        .photo-upload-container.has-photo:hover {
            border-color: #0BB7AF;
        }
        
        .photo-preview {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            height: 100%;
            position: relative;
        }
        
        .photo-preview img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 10px;
        }
        
        .photo-placeholder {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            width: 100%;
            height: 100%;
            color: #a1a5b7;
            transition: all 0.3s ease;
            padding: 10px;
        }
        
        .photo-placeholder i {
            color: #d1d3e0;
            transition: all 0.3s ease;
        }
        
        .photo-upload-container:hover .photo-placeholder i {
            color: #3699FF;
            transform: scale(1.05);
        }
        
        .photo-placeholder .text-muted {
            color: #a1a5b7 !important;
            font-size: 0.75rem;
        }
        
        .photo-input {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            cursor: pointer;
            z-index: 10;
        }
        
        .photo-actions {
            display: flex;
            gap: 6px;
            justify-content: center;
        }
        
        .photo-actions .btn {
            font-weight: 500;
            font-size: 0.75rem;
            padding: 0.25rem 0.75rem;
        }
        
        /* Анимация при загрузке */
        .photo-preview img {
            animation: fadeIn 0.3s ease;
        }
        
        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: scale(0.9);
            }
            to {
                opacity: 1;
                transform: scale(1);
            }
        }

        /* ====== Адаптивность для мобильных устройств ====== */
        @media (max-width: 768px) {
            .photo-upload-container {
                max-width: 180px;
            }
            
            /* На мобильных ФИО под фото */
            .row.fv-row .col-md-4.mb-4 {
                display: flex;
                flex-direction: column;
                align-items: center;
            }
            
            .photo-upload-wrapper {
                max-width: 180px;
                margin: 0 auto;
            }
            
            .card-body {
                padding: 1.5rem !important;
            }
            
            .card-header {
                flex-direction: column;
                align-items: flex-start !important;
                gap: 10px;
            }
            
            .card-header .d-flex.align-items-center {
                width: 100%;
                justify-content: space-between;
            }
            
            #time {
                font-size: 0.9rem !important;
            }
            
            h1.card-title {
                font-size: 1.3rem !important;
            }
        }

        @media (max-width: 576px) {
            .photo-upload-container {
                max-width: 150px;
            }
            
            .photo-upload-wrapper {
                max-width: 150px;
            }
            
            .btn-lg {
                padding: 0.5rem 1rem !important;
                font-size: 0.9rem !important;
            }
            
            .form-label {
                font-size: 0.85rem !important;
            }
            
            .form-control {
                font-size: 0.85rem !important;
                padding: 0.5rem 0.75rem !important;
            }
            
            h3.fs-4 {
                font-size: 1.1rem !important;
            }
            
            .card-body {
                padding: 1rem !important;
            }
        }

        .guestpass-form-submitting {
            position: relative;
            pointer-events: none;
            opacity: 0.75;
        }

        .guestpass-submit-overlay {
            position: absolute;
            inset: 0;
            z-index: 20;
            background: rgba(255, 255, 255, 0.65);
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 12px;
            color: #3f4254;
            font-weight: 600;
            font-size: 0.95rem;
            border-radius: 0.475rem;
        }
    