/* ============================================
   СТРАНИЦА ЛОГИНА / РЕГИСТРАЦИИ — V2 (полная переработка)
   ============================================ */

.login-page-v2 {
    padding: 32px 0 64px;
    background: #fafafa;
    min-height: calc(100vh - 200px);
}

/* Хлебные крошки */
.login-page-v2__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 32px;
    font-size: 15px;
}

.login-page-v2__breadcrumb {
    color: #4CAF50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.login-page-v2__breadcrumb:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.login-page-v2__breadcrumb--current {
    color: #888;
    cursor: default;
}

.login-page-v2__breadcrumb--current:hover {
    text-decoration: none;
    color: #888;
}

.login-page-v2__breadcrumb-sep {
    color: #ccc;
    font-size: 18px;
    line-height: 1;
}

/* Алерты */
.login-page-v2__alert {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-radius: 12px;
    margin-bottom: 24px;
    font-size: 16px;
    font-weight: 500;
    animation: loginAlertSlide 0.4s ease;
}

@keyframes loginAlertSlide {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.login-page-v2__alert--success {
    background: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #c8e6c9;
}

.login-page-v2__alert--error {
    background: #ffebee;
    color: #c62828;
    border: 1px solid #ffcdd2;
}

.login-page-v2__alert i {
    font-size: 20px;
    flex-shrink: 0;
}

/* Сетка карточек */
.login-page-v2__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    max-width: 900px;
    margin: 0 auto;
}

/* Карточка */
.login-page-v2__card {
    background: #fff;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    padding: 36px 32px 32px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.05);
    transition: all 0.35s ease;
    display: flex;
    flex-direction: column;
}

.login-page-v2__card:hover {
    border-color: #c8e6c9;
    box-shadow: 0 12px 40px rgba(76,175,80,0.12);
    transform: translateY(-4px);
}

/* Шапка карточки */
.login-page-v2__card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
}

.login-page-v2__card-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    box-shadow: 0 6px 16px rgba(76,175,80,0.35);
    flex-shrink: 0;
}

.login-page-v2__card-title {
    font-size: 22px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
    line-height: 1.3;
}

/* Тело карточки */
.login-page-v2__card-body {
    flex: 1;
}

.login-page-v2__card-subtitle {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 12px;
}

.login-page-v2__card-subtitle strong {
    font-weight: 700;
}

.login-page-v2__card-text {
    font-size: 16px;
    color: #666;
    line-height: 1.7;
    margin-bottom: 24px;
}

/* Форма */
.login-page-v2__form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.login-page-v2__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.login-page-v2__field--link {
    margin-top: -4px;
}

.login-page-v2__label {
    font-size: 13px;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.login-page-v2__input-wrap {
    position: relative;
}

.login-page-v2__input-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #aaa;
    font-size: 16px;
    pointer-events: none;
    transition: color 0.3s;
}

.login-page-v2__input {
    width: 100%;
    padding: 14px 16px 14px 46px;
    border: 2px solid #e8e8e8;
    border-radius: 12px;
    font-size: 16px;
    font-family: inherit;
    color: #333;
    background: #f8f9fa;
    transition: all 0.3s ease;
    outline: none;
}

.login-page-v2__input:focus {
    border-color: #4CAF50;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(76, 175, 80, 0.1);
}

.login-page-v2__input:focus + .login-page-v2__input-icon,
.login-page-v2__input-wrap:focus-within .login-page-v2__input-icon {
    color: #4CAF50;
}

.login-page-v2__input::placeholder {
    color: #bbb;
}

/* Кнопка показа пароля */
.login-page-v2__toggle {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: #aaa;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    transition: all 0.2s;
    z-index: 2;
}

.login-page-v2__toggle:hover {
    background: #f0f0f0;
    color: #666;
}

.login-page-v2__input-wrap:has(.login-page-v2__toggle) .login-page-v2__input {
    padding-right: 50px;
}

/* Ссылка "Забыли пароль" */
.login-page-v2__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #4CAF50;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
}

.login-page-v2__link:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.login-page-v2__link i {
    font-size: 13px;
}

/* Кнопка */
.login-page-v2__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
}

.login-page-v2__btn--primary {
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    color: #fff;
    box-shadow: 0 4px 14px rgba(76,175,80,0.35);
}

.login-page-v2__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(76,175,80,0.5);
}

.login-page-v2__btn--primary:active {
    transform: scale(0.97);
}

.login-page-v2__btn--full {
    width: 100%;
    margin-top: 4px;
}

/* Футер карточки */
.login-page-v2__card-footer {
    margin-top: auto;
    padding-top: 24px;
}

/* Адаптив */
@media (max-width: 767px) {
    .login-page-v2 {
        padding: 20px 0 40px;
    }
    
    .login-page-v2__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .login-page-v2__card {
        padding: 28px 24px 24px;
    }
    
    .login-page-v2__card-title {
        font-size: 20px;
    }
    
    .login-page-v2__breadcrumbs {
        margin-bottom: 20px;
    }
    
    .login-page-v2__alert {
        padding: 14px 16px;
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    .login-page-v2__card {
        padding: 24px 20px 20px;
        border-radius: 16px;
    }
    
    .login-page-v2__card-icon {
        width: 40px;
        height: 40px;
        font-size: 16px;
        border-radius: 12px;
    }
    
    .login-page-v2__card-title {
        font-size: 18px;
    }
    
    .login-page-v2__input {
        padding: 12px 14px 12px 42px;
        font-size: 15px;
    }
    
    .login-page-v2__btn {
        padding: 12px 24px;
        font-size: 15px;
    }
}


/* ============================================
   СТРАНИЦА РЕГИСТРАЦИИ — V2
   ============================================ */

.register-page-v2 {
    padding: 32px 0 64px;
    background: #fafafa;
    min-height: calc(100vh - 200px);
}

/* Хлебные крошки */
.register-page-v2__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 32px;
    font-size: 15px;
}

.register-page-v2__breadcrumb {
    color: #4CAF50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.register-page-v2__breadcrumb:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.register-page-v2__breadcrumb--current {
    color: #888;
    cursor: default;
}

.register-page-v2__breadcrumb--current:hover {
    text-decoration: none;
    color: #888;
}

.register-page-v2__breadcrumb-sep {
    color: #ccc;
    font-size: 18px;
    line-height: 1;
}

/* Алерт */
.register-page-v2__alert {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-radius: 12px;
    margin-bottom: 24px;
    font-size: 16px;
    font-weight: 500;
    animation: regAlertSlide 0.4s ease;
}

@keyframes regAlertSlide {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.register-page-v2__alert--error {
    background: #ffebee;
    color: #c62828;
    border: 1px solid #ffcdd2;
}

.register-page-v2__alert i {
    font-size: 20px;
    flex-shrink: 0;
}

/* Заголовок */
.register-page-v2__header {
    margin-bottom: 32px;
}

.register-page-v2__title {
    font-size: 28px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0 0 8px 0;
    line-height: 1.3;
}

.register-page-v2__subtitle {
    font-size: 16px;
    color: #666;
    margin: 0;
}

.register-page-v2__subtitle a {
    color: #4CAF50;
    font-weight: 600;
    text-decoration: none;
}

.register-page-v2__subtitle a:hover {
    text-decoration: underline;
}

/* Секция */
.register-page-v2__section {
    background: #fff;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    margin-bottom: 24px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
    overflow: hidden;
    transition: all 0.35s ease;
}

.register-page-v2__section:hover {
    border-color: #c8e6c9;
    box-shadow: 0 8px 30px rgba(76,175,80,0.1);
}

/* Шапка секции */
.register-page-v2__section-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px 32px;
    background: linear-gradient(135deg, #f9fffe, #f0faf0);
    border-bottom: 2px solid #e8f5e9;
}

.register-page-v2__section-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    box-shadow: 0 4px 12px rgba(76,175,80,0.35);
    flex-shrink: 0;
}

.register-page-v2__section-title {
    font-size: 20px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
}

/* Тело секции */
.register-page-v2__section-body {
    padding: 28px 32px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 24px;
}

/* Поле */
.register-page-v2__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.register-page-v2__field--error .register-page-v2__input {
    border-color: #e53935 !important;
    background: #fff5f5 !important;
}

.register-page-v2__field--error .register-page-v2__input-icon {
    color: #e53935 !important;
}

/* Лейбл */
.register-page-v2__label {
    font-size: 13px;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.register-page-v2__required {
    color: #e53935;
}

/* Инпут */
.register-page-v2__input-wrap {
    position: relative;
}

.register-page-v2__input-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #aaa;
    font-size: 16px;
    pointer-events: none;
    transition: color 0.3s;
}

.register-page-v2__input {
    width: 100%;
    padding: 14px 16px 14px 46px;
    border: 2px solid #e8e8e8;
    border-radius: 12px;
    font-size: 16px;
    font-family: inherit;
    color: #333;
    background: #f8f9fa;
    transition: all 0.3s ease;
    outline: none;
}

.register-page-v2__input:focus {
    border-color: #4CAF50;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(76, 175, 80, 0.1);
}

.register-page-v2__input:focus + .register-page-v2__input-icon,
.register-page-v2__input-wrap:focus-within .register-page-v2__input-icon {
    color: #4CAF50;
}

.register-page-v2__input::placeholder {
    color: #bbb;
}

/* Специальные инпуты */
.register-page-v2__input--select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
}

.register-page-v2__input--textarea {
    padding: 14px 16px;
    min-height: 120px;
    resize: vertical;
}

.register-page-v2__input--date,
.register-page-v2__input--time,
.register-page-v2__input--datetime {
    padding-right: 50px;
}

/* Радио */
.register-page-v2__radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.register-page-v2__radio {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    padding: 10px 16px;
    border-radius: 10px;
    border: 2px solid #e8e8e8;
    background: #f8f9fa;
    transition: all 0.25s ease;
    flex: 1;
    min-width: 140px;
}

.register-page-v2__radio:hover {
    border-color: #c8e6c9;
    background: #f0faf0;
}

.register-page-v2__radio input {
    display: none;
}

.register-page-v2__radio-mark {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s;
}

.register-page-v2__radio-mark::after {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #4CAF50;
    transform: scale(0);
    transition: transform 0.2s;
}

.register-page-v2__radio input:checked + .register-page-v2__radio-mark {
    border-color: #4CAF50;
}

.register-page-v2__radio input:checked + .register-page-v2__radio-mark::after {
    transform: scale(1);
}

.register-page-v2__radio input:checked ~ .register-page-v2__radio-text {
    color: #2e7d32;
    font-weight: 600;
}

.register-page-v2__radio-text {
    font-size: 15px;
    color: #555;
    transition: all 0.2s;
}

/* Чекбоксы */
.register-page-v2__checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.register-page-v2__checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 10px;
    transition: all 0.2s;
}

.register-page-v2__checkbox:hover {
    background: #f0faf0;
}

.register-page-v2__checkbox input {
    display: none;
}

.register-page-v2__checkbox-mark {
    width: 22px;
    height: 22px;
    border-radius: 6px;
    border: 2px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s;
    background: #fff;
}

.register-page-v2__checkbox-mark i {
    font-size: 12px;
    color: #fff;
    opacity: 0;
    transform: scale(0);
    transition: all 0.2s;
}

.register-page-v2__checkbox input:checked + .register-page-v2__checkbox-mark {
    border-color: #4CAF50;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
}

.register-page-v2__checkbox input:checked + .register-page-v2__checkbox-mark i {
    opacity: 1;
    transform: scale(1);
}

.register-page-v2__checkbox-text {
    font-size: 15px;
    color: #555;
}

/* Файл */
.register-page-v2__file-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Ошибка */
.register-page-v2__error {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #e53935;
    font-weight: 500;
    animation: regErrorShake 0.4s ease;
}

@keyframes regErrorShake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}

.register-page-v2__error i {
    font-size: 12px;
}

/* Футер формы */
.register-page-v2__footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding-top: 8px;
}

/* Соглашение */
.register-page-v2__agree {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    padding: 12px 16px;
    border-radius: 12px;
    background: #f8f9fa;
    border: 2px solid #e8e8e8;
    width: 100%;
    max-width: 600px;
    transition: all 0.25s ease;
}

.register-page-v2__agree:hover {
    border-color: #c8e6c9;
    background: #f0faf0;
}

.register-page-v2__agree input {
    display: none;
}

.register-page-v2__agree .register-page-v2__checkbox-mark {
    width: 24px;
    height: 24px;
}

.register-page-v2__agree-text {
    font-size: 15px;
    color: #555;
    line-height: 1.5;
}

.register-page-v2__agree-text a {
    color: #4CAF50;
    font-weight: 600;
    text-decoration: none;
}

.register-page-v2__agree-text a:hover {
    text-decoration: underline;
}

/* Кнопки */
.register-page-v2__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 32px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
}

.register-page-v2__btn--primary {
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    color: #fff;
    box-shadow: 0 4px 14px rgba(76,175,80,0.35);
}

.register-page-v2__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(76,175,80,0.5);
}

.register-page-v2__btn--primary:active {
    transform: scale(0.97);
}

.register-page-v2__btn--secondary {
    background: #fff;
    color: #555;
    border: 2px solid #e8e8e8;
    padding: 12px 24px;
    font-size: 15px;
}

.register-page-v2__btn--secondary:hover {
    border-color: #4CAF50;
    color: #2e7d32;
    background: #f0faf0;
}

.register-page-v2__btn--full {
    width: 100%;
    max-width: 400px;
}

/* Адаптив */
@media (max-width: 991px) {
    .register-page-v2__section-body {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .register-page-v2 {
        padding: 20px 0 40px;
    }
    
    .register-page-v2__title {
        font-size: 24px;
    }
    
    .register-page-v2__section-header {
        padding: 20px 24px;
    }
    
    .register-page-v2__section-body {
        padding: 20px 24px;
    }
    
    .register-page-v2__section-title {
        font-size: 18px;
    }
    
    .register-page-v2__section-icon {
        width: 38px;
        height: 38px;
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .register-page-v2__section {
        border-radius: 16px;
    }
    
    .register-page-v2__section-header {
        padding: 16px 20px;
    }
    
    .register-page-v2__section-body {
        padding: 16px 20px;
    }
    
    .register-page-v2__input {
        padding: 12px 14px 12px 42px;
        font-size: 15px;
    }
    
    .register-page-v2__btn {
        padding: 12px 24px;
        font-size: 15px;
    }
    
    .register-page-v2__radio {
        min-width: 100%;
    }
}

/* ============================================
   МОДАЛЬНОЕ ОКНО ПОЛИТИКИ
   ============================================ */

.register-page-v2__modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    pointer-events: none;
}

.register-page-v2__modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

.register-page-v2__modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);
    backdrop-filter: blur(4px);
}

.register-page-v2__modal-content {
    position: relative;
    background: #fff;
    border-radius: 20px;
    width: 100%;
    max-width: 700px;
    max-height: 85vh;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2);
    display: flex;
    flex-direction: column;
    transform: translateY(20px) scale(0.95);
    transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.register-page-v2__modal.is-open .register-page-v2__modal-content {
    transform: translateY(0) scale(1);
}

.register-page-v2__modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: none;
    background: #f5f5f5;
    color: #666;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    z-index: 2;
}

.register-page-v2__modal-close:hover {
    background: #ffebee;
    color: #e53935;
}

.register-page-v2__modal-header {
    padding: 28px 32px 0;
}

.register-page-v2__modal-header h3 {
    font-size: 20px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
    padding-right: 50px;
}

.register-page-v2__modal-body {
    padding: 20px 32px;
    overflow-y: auto;
    flex: 1;
    font-size: 15px;
    line-height: 1.7;
    color: #555;
}

.register-page-v2__modal-body p {
    margin-bottom: 12px;
}

.register-page-v2__modal-footer {
    padding: 16px 32px 28px;
    display: flex;
    justify-content: center;
    border-top: 1px solid #f0f0f0;
}

@media (max-width: 767px) {
    .register-page-v2__modal {
        padding: 16px;
    }
    
    .register-page-v2__modal-content {
        max-height: 90vh;
        border-radius: 16px;
    }
    
    .register-page-v2__modal-header {
        padding: 24px 24px 0;
    }
    
    .register-page-v2__modal-header h3 {
        font-size: 18px;
    }
    
    .register-page-v2__modal-body {
        padding: 16px 24px;
        font-size: 14px;
    }
    
    .register-page-v2__modal-footer {
        padding: 16px 24px 24px;
    }
}

/* ============================================
   СОГЛАШЕНИЕ — ФИКС
   ============================================ */

.register-page-v2__agree-wrap {
    display: flex;
    align-items: center;
    padding: 16px 20px;
    border-radius: 12px;
    background: #f8f9fa;
    border: 2px solid #e8e8e8;
    width: 100%;
    max-width: 600px;
    margin-bottom: 20px;
    transition: all 0.25s ease;
}

.register-page-v2__agree-wrap:hover {
    border-color: #c8e6c9;
    background: #f0faf0;
}

.register-page-v2__agree {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    width: 100%;
}

.register-page-v2__agree input[type="checkbox"] {
    display: none;
}

/* Кастомный чекбокс */
.register-page-v2__checkbox-mark {
    width: 22px;
    height: 22px;
    min-width: 22px;
    border-radius: 6px;
    border: 2px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
    transition: all 0.2s;
    background: #fff;
}

.register-page-v2__checkbox-mark i {
    font-size: 12px;
    color: #fff;
    opacity: 0;
    transform: scale(0);
    transition: all 0.2s;
}

/* Чекбокс — checked */
.register-page-v2__agree input[type="checkbox"]:checked + .register-page-v2__checkbox-mark {
    border-color: #4CAF50;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
}

.register-page-v2__agree input[type="checkbox"]:checked + .register-page-v2__checkbox-mark i {
    opacity: 1;
    transform: scale(1);
}

/* Текст */
.register-page-v2__agree-label {
    font-size: 15px;
    color: #555;
    line-height: 1.5;
}

/* Ссылка */
.register-page-v2__agree-link {
    color: #4CAF50;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s;
}

.register-page-v2__agree-link:hover {
    color: #2e7d32;
    text-decoration: underline;
}


/* ============================================
   СТРАНИЦА УСПЕХА (SUCCESS) — V2
   ============================================ */

.oc-success-v2 {
    padding: 32px 0 64px;
    background: #fafafa;
    min-height: calc(100vh - 200px);
}

.oc-success-v2__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Хлебные крошки */
.oc-success-v2__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 32px;
    font-size: 15px;
}

.oc-success-v2__breadcrumb {
    color: #4CAF50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.oc-success-v2__breadcrumb:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.oc-success-v2__breadcrumb--current {
    color: #888;
    cursor: default;
}

.oc-success-v2__breadcrumb--current:hover {
    text-decoration: none;
    color: #888;
}

.oc-success-v2__breadcrumb-sep {
    color: #ccc;
    font-size: 18px;
    line-height: 1;
}

/* Сетка */
.oc-success-v2__layout {
    display: flex;
    gap: 24px;
}

.oc-success-v2__main {
    flex: 1;
}



.oc-success-v2__main--full {
    max-width: 100%;
}

/* Карточка */
.oc-success-v2__card {
    background: #fff;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    padding: 36px 32px 32px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.05);
    transition: all 0.35s ease;
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
}

.oc-success-v2__card:hover {
    border-color: #c8e6c9;
    box-shadow: 0 12px 40px rgba(76,175,80,0.12);
    transform: translateY(-4px);
}

/* Шапка карточки */
.oc-success-v2__card-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.oc-success-v2__card-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 28px;
    box-shadow: 0 6px 20px rgba(76,175,80,0.35);
}

.oc-success-v2__card-title {
    font-size: 35px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
    line-height: 1.3;
}

/* Тело карточки */
.oc-success-v2__card-body {
    margin-bottom: 28px;
}

.oc-success-v2__message {
    font-size: 20px;
    color: #666;
    line-height: 1.7;
}

.oc-success-v2__message p {
    margin-bottom: 12px;
}

.oc-success-v2__message p:last-child {
    margin-bottom: 0;
}

/* Футер карточки */
.oc-success-v2__card-footer {
    display: flex;
    justify-content: center;
}

/* Кнопка */
.oc-success-v2__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 32px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
}

.oc-success-v2__btn--primary {
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    color: #fff;
    box-shadow: 0 4px 14px rgba(76,175,80,0.35);
}

.oc-success-v2__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(76,175,80,0.5);
}

.oc-success-v2__btn--primary:active {
    transform: scale(0.97);
}

/* Адаптив */
@media (max-width: 991px) {
    .oc-success-v2__main--narrow,
    .oc-success-v2__main--wide {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .oc-success-v2 {
        padding: 20px 0 40px;
    }
    
    .oc-success-v2__breadcrumbs {
        margin-bottom: 20px;
    }
    
    .oc-success-v2__card {
        padding: 28px 24px 24px;
    }
    
    .oc-success-v2__card-icon {
        width: 56px;
        height: 56px;
        font-size: 24px;
    }
    
    .oc-success-v2__card-title {
        font-size: 24px;
    }
}

@media (max-width: 480px) {
    .oc-success-v2__card {
        padding: 24px 20px 20px;
        border-radius: 16px;
    }
    
    .oc-success-v2__card-title {
        font-size: 20px;
    }
    
    .oc-success-v2__btn {
        padding: 12px 24px;
        font-size: 15px;
        width: 100%;
    }
}

/* ============================================
   ЛИЧНЫЙ КАБИНЕТ (ACCOUNT) — V2
   ============================================ */

.oc-account-v2 {
    padding: 32px 0 64px;
    background: #fafafa;
    min-height: calc(100vh - 200px);
}

.oc-account-v2__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Алерт */
.oc-account-v2__alert {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-radius: 12px;
    margin-bottom: 24px;
    font-size: 16px;
    font-weight: 500;
    animation: accountAlertSlide 0.4s ease;
}

@keyframes accountAlertSlide {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.oc-account-v2__alert--success {
    background: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #c8e6c9;
}

.oc-account-v2__alert i {
    font-size: 20px;
    flex-shrink: 0;
}

/* Сетка */
.oc-account-v2__grid {
    display: flex;
    gap: 24px;
}

.oc-account-v2__main {
    flex: 1;
}

.oc-account-v2__main--narrow {
    max-width: calc(100% - 540px);
}

.oc-account-v2__main--wide {
    max-width: calc(100% - 270px);
}

.oc-account-v2__main--full {
    max-width: 100%;
}

/* Карточки — 3 в ряд */
.oc-account-v2__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

/* Карточка */
.oc-account-v2__card {
    background: #fff;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    padding: 28px 24px 24px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.05);
    transition: all 0.35s ease;
    display: flex;
    flex-direction: column;
}

.oc-account-v2__card:hover {
    border-color: #c8e6c9;
    box-shadow: 0 12px 40px rgba(76,175,80,0.12);
    transform: translateY(-4px);
}

/* Шапка карточки */
.oc-account-v2__card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 2px solid #f0f0f0;
}

.oc-account-v2__card-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    box-shadow: 0 4px 12px rgba(76,175,80,0.35);
    flex-shrink: 0;
}

.oc-account-v2__card-title {
    font-size: 20px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
    line-height: 1.3;
}

/* Тело карточки */
.oc-account-v2__card-body {
    flex: 1;
}

/* Список ссылок */
.oc-account-v2__links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.oc-account-v2__link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 10px;
    color: #555;
    text-decoration: none;
    font-size: 20px;
    font-weight: 500;
    transition: all 0.25s ease;
}

.oc-account-v2__link i {
    width: 20px;
    text-align: center;
    color: #aaa;
    font-size: 14px;
    transition: color 0.25s ease;
}

.oc-account-v2__link:hover {
    background: #f0faf0;
    color: #2e7d32;
}

.oc-account-v2__link:hover i {
    color: #4CAF50;
}

/* Ссылка «Выйти» — красная */
.oc-account-v2__link--danger {
    color: #e53935;
}

.oc-account-v2__link--danger i {
    color: #ef5350;
}

.oc-account-v2__link--danger:hover {
    background: #ffebee;
    color: #c62828;
}

.oc-account-v2__link--danger:hover i {
    color: #c62828;
}

/* Адаптив */
@media (max-width: 991px) {
    .oc-account-v2__cards {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .oc-account-v2__main--narrow,
    .oc-account-v2__main--wide {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .oc-account-v2 {
        padding: 20px 0 40px;
    }
    
    .oc-account-v2__cards {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .oc-account-v2__card {
        padding: 24px 20px 20px;
    }
    
    .oc-account-v2__card-title {
        font-size: 18px;
    }
    
    .oc-account-v2__card-icon {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .oc-account-v2__card {
        border-radius: 16px;
    }
    
    .oc-account-v2__link {
        padding: 10px 12px;
        font-size: 14px;
    }
}

/* ============================================
   ХЛЕБНЫЕ КРОШКИ — V2
   ============================================ */

.oc-account-v2__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    font-size: 16px;
	padding-top: 20px;
}

.oc-account-v2__breadcrumb-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.oc-account-v2__breadcrumb-item {
    display: flex;
    align-items: center;
    gap: 4px 8px;
}

.oc-account-v2__breadcrumb-link {
    color: #4CAF50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.oc-account-v2__breadcrumb-link:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.oc-account-v2__breadcrumb-link--current {
    color: #888;
    cursor: default;
}

.oc-account-v2__breadcrumb-link--current:hover {
    text-decoration: none;
    color: #888;
}

.oc-account-v2__breadcrumb-sep {
    color: #ccc;
    font-size: 18px;
    line-height: 1;
}

/* Адаптив */
@media (max-width: 767px) {
    .oc-account-v2__breadcrumbs {
        font-size: 14px;
    }
}


/* ============================================
   СМЕНА ПАРОЛЯ (PASSWORD) — V2
   ============================================ */

.oc-password-v2 {
    padding: 32px 0 64px;
    background: #fafafa;
    min-height: calc(100vh - 200px);
}

.oc-password-v2__container {
    max-width: 600px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Хлебные крошки */
.oc-password-v2__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 32px;
    font-size: 15px;
}

.oc-password-v2__breadcrumb {
    color: #4CAF50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.oc-password-v2__breadcrumb:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.oc-password-v2__breadcrumb--current {
    color: #888;
    cursor: default;
}

.oc-password-v2__breadcrumb--current:hover {
    text-decoration: none;
    color: #888;
}

.oc-password-v2__breadcrumb-sep {
    color: #ccc;
    font-size: 18px;
    line-height: 1;
}

/* Карточка */
.oc-password-v2__card {
    background: #fff;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    padding: 36px 32px 32px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.05);
    transition: all 0.35s ease;
}

.oc-password-v2__card:hover {
    border-color: #c8e6c9;
    box-shadow: 0 12px 40px rgba(76,175,80,0.12);
}

/* Шапка карточки */
.oc-password-v2__card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f0f0f0;
}

.oc-password-v2__card-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    box-shadow: 0 6px 16px rgba(76,175,80,0.35);
    flex-shrink: 0;
}

.oc-password-v2__card-title {
    font-size: 24px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
    line-height: 1.3;
}

/* Форма */
.oc-password-v2__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Поле */
.oc-password-v2__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.oc-password-v2__field--error .oc-password-v2__input {
    border-color: #e53935 !important;
    background: #fff5f5 !important;
}

.oc-password-v2__field--error .oc-password-v2__input-icon {
    color: #e53935 !important;
}

/* Лейбл */
.oc-password-v2__label {
    font-size: 13px;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.oc-password-v2__required {
    color: #e53935;
}

/* Инпут */
.oc-password-v2__input-wrap {
    position: relative;
}

.oc-password-v2__input-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #aaa;
    font-size: 16px;
    pointer-events: none;
    transition: color 0.3s;
}

.oc-password-v2__input {
    width: 100%;
    padding: 14px 50px 14px 46px;
    border: 2px solid #e8e8e8;
    border-radius: 12px;
    font-size: 16px;
    font-family: inherit;
    color: #333;
    background: #f8f9fa;
    transition: all 0.3s ease;
    outline: none;
}

.oc-password-v2__input:focus {
    border-color: #4CAF50;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(76, 175, 80, 0.1);
}

.oc-password-v2__input:focus + .oc-password-v2__input-icon,
.oc-password-v2__input-wrap:focus-within .oc-password-v2__input-icon {
    color: #4CAF50;
}

.oc-password-v2__input::placeholder {
    color: #bbb;
}

/* Кнопка показа пароля */
.oc-password-v2__toggle {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: #aaa;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    transition: all 0.2s;
}

.oc-password-v2__toggle:hover {
    background: #f0f0f0;
    color: #666;
}

/* Ошибка */
.oc-password-v2__error {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #e53935;
    font-weight: 500;
    animation: passwordErrorShake 0.4s ease;
}

@keyframes passwordErrorShake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}

.oc-password-v2__error i {
    font-size: 12px;
}

/* Кнопки */
.oc-password-v2__actions {
    display: flex;
    gap: 12px;
    margin-top: 8px;
}

.oc-password-v2__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
}

.oc-password-v2__btn--primary {
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    color: #fff;
    box-shadow: 0 4px 14px rgba(76,175,80,0.35);
    flex: 1;
}

.oc-password-v2__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(76,175,80,0.5);
}

.oc-password-v2__btn--primary:active {
    transform: scale(0.97);
}

.oc-password-v2__btn--secondary {
    background: #fff;
    color: #555;
    border: 2px solid #e8e8e8;
    padding: 12px 24px;
    font-size: 15px;
}

.oc-password-v2__btn--secondary:hover {
    border-color: #4CAF50;
    color: #2e7d32;
    background: #f0faf0;
}

/* Адаптив */
@media (max-width: 767px) {
    .oc-password-v2 {
        padding: 20px 0 40px;
    }
    
    .oc-password-v2__breadcrumbs {
        margin-bottom: 20px;
    }
    
    .oc-password-v2__card {
        padding: 28px 24px 24px;
    }
    
    .oc-password-v2__card-title {
        font-size: 20px;
    }
    
    .oc-password-v2__card-icon {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }
    
    .oc-password-v2__actions {
        flex-direction: column-reverse;
    }
    
    .oc-password-v2__btn--secondary {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .oc-password-v2__card {
        padding: 24px 20px 20px;
        border-radius: 16px;
    }
    
    .oc-password-v2__input {
        padding: 12px 46px 12px 42px;
        font-size: 15px;
    }
    
    .oc-password-v2__btn {
        padding: 12px 24px;
        font-size: 15px;
    }
}

/* ============================================
   ВОССТАНОВЛЕНИЕ ПАРОЛЯ (FORGOTTEN) — V2
   ============================================ */

.oc-forgotten-v2 {
    padding: 32px 0 64px;
    background: #fafafa;
    min-height: calc(100vh - 200px);
}

.oc-forgotten-v2__container {
    max-width: 600px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Хлебные крошки */
.oc-forgotten-v2__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 32px;
    font-size: 15px;
}

.oc-forgotten-v2__breadcrumb {
    color: #4CAF50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.oc-forgotten-v2__breadcrumb:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.oc-forgotten-v2__breadcrumb--current {
    color: #888;
    cursor: default;
}

.oc-forgotten-v2__breadcrumb--current:hover {
    text-decoration: none;
    color: #888;
}

.oc-forgotten-v2__breadcrumb-sep {
    color: #ccc;
    font-size: 18px;
    line-height: 1;
}

/* Алерт */
.oc-forgotten-v2__alert {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-radius: 12px;
    margin-bottom: 24px;
    font-size: 16px;
    font-weight: 500;
    animation: forgottenAlertSlide 0.4s ease;
}

@keyframes forgottenAlertSlide {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.oc-forgotten-v2__alert--error {
    background: #ffebee;
    color: #c62828;
    border: 1px solid #ffcdd2;
}

.oc-forgotten-v2__alert i {
    font-size: 20px;
    flex-shrink: 0;
}

/* Карточка */
.oc-forgotten-v2__card {
    background: #fff;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    padding: 36px 32px 32px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.05);
    transition: all 0.35s ease;
}

.oc-forgotten-v2__card:hover {
    border-color: #c8e6c9;
    box-shadow: 0 12px 40px rgba(76,175,80,0.12);
}

/* Шапка карточки */
.oc-forgotten-v2__card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f0f0f0;
}

.oc-forgotten-v2__card-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    box-shadow: 0 6px 16px rgba(76,175,80,0.35);
    flex-shrink: 0;
}

.oc-forgotten-v2__card-title {
    font-size: 24px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
    line-height: 1.3;
}

/* Тело карточки */
.oc-forgotten-v2__card-body {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.oc-forgotten-v2__text {
    font-size: 16px;
    color: #666;
    line-height: 1.7;
    margin: 0;
}

/* Форма */
.oc-forgotten-v2__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Поле */
.oc-forgotten-v2__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Лейбл */
.oc-forgotten-v2__label {
    font-size: 13px;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.oc-forgotten-v2__required {
    color: #e53935;
}

/* Инпут */
.oc-forgotten-v2__input-wrap {
    position: relative;
}

.oc-forgotten-v2__input-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #aaa;
    font-size: 16px;
    pointer-events: none;
    transition: color 0.3s;
}

.oc-forgotten-v2__input {
    width: 100%;
    padding: 14px 16px 14px 46px;
    border: 2px solid #e8e8e8;
    border-radius: 12px;
    font-size: 16px;
    font-family: inherit;
    color: #333;
    background: #f8f9fa;
    transition: all 0.3s ease;
    outline: none;
}

.oc-forgotten-v2__input:focus {
    border-color: #4CAF50;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(76, 175, 80, 0.1);
}

.oc-forgotten-v2__input:focus + .oc-forgotten-v2__input-icon,
.oc-forgotten-v2__input-wrap:focus-within .oc-forgotten-v2__input-icon {
    color: #4CAF50;
}

.oc-forgotten-v2__input::placeholder {
    color: #bbb;
}

/* Кнопки */
.oc-forgotten-v2__actions {
    display: flex;
    gap: 12px;
    margin-top: 8px;
}

.oc-forgotten-v2__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
}

.oc-forgotten-v2__btn--primary {
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    color: #fff;
    box-shadow: 0 4px 14px rgba(76,175,80,0.35);
    flex: 1;
}

.oc-forgotten-v2__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(76,175,80,0.5);
}

.oc-forgotten-v2__btn--primary:active {
    transform: scale(0.97);
}

.oc-forgotten-v2__btn--secondary {
    background: #fff;
    color: #555;
    border: 2px solid #e8e8e8;
    padding: 12px 24px;
    font-size: 15px;
}

.oc-forgotten-v2__btn--secondary:hover {
    border-color: #4CAF50;
    color: #2e7d32;
    background: #f0faf0;
}

/* Адаптив */
@media (max-width: 767px) {
    .oc-forgotten-v2 {
        padding: 20px 0 40px;
    }
    
    .oc-forgotten-v2__breadcrumbs {
        margin-bottom: 20px;
    }
    
    .oc-forgotten-v2__card {
        padding: 28px 24px 24px;
    }
    
    .oc-forgotten-v2__card-title {
        font-size: 20px;
    }
    
    .oc-forgotten-v2__card-icon {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }
    
    .oc-forgotten-v2__actions {
        flex-direction: column-reverse;
    }
    
    .oc-forgotten-v2__btn--secondary {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .oc-forgotten-v2__card {
        padding: 24px 20px 20px;
        border-radius: 16px;
    }
    
    .oc-forgotten-v2__input {
        padding: 12px 14px 12px 42px;
        font-size: 15px;
    }
    
    .oc-forgotten-v2__btn {
        padding: 12px 24px;
        font-size: 15px;
    }
}

/* ============================================
   СБРОС ПАРОЛЯ (RESET) — V2
   ============================================ */

.oc-reset-v2 {
    padding: 32px 0 64px;
    background: #fafafa;
    min-height: calc(100vh - 200px);
}

.oc-reset-v2__container {
    max-width: 600px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Хлебные крошки */
.oc-reset-v2__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 32px;
    font-size: 15px;
}

.oc-reset-v2__breadcrumb {
    color: #4CAF50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.oc-reset-v2__breadcrumb:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.oc-reset-v2__breadcrumb--current {
    color: #888;
    cursor: default;
}

.oc-reset-v2__breadcrumb--current:hover {
    text-decoration: none;
    color: #888;
}

.oc-reset-v2__breadcrumb-sep {
    color: #ccc;
    font-size: 18px;
    line-height: 1;
}

/* Карточка */
.oc-reset-v2__card {
    background: #fff;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    padding: 36px 32px 32px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.05);
    transition: all 0.35s ease;
}

.oc-reset-v2__card:hover {
    border-color: #c8e6c9;
    box-shadow: 0 12px 40px rgba(76,175,80,0.12);
}

/* Шапка карточки */
.oc-reset-v2__card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f0f0f0;
}

.oc-reset-v2__card-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    box-shadow: 0 6px 16px rgba(76,175,80,0.35);
    flex-shrink: 0;
}

.oc-reset-v2__card-title {
    font-size: 24px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
    line-height: 1.3;
}

/* Форма */
.oc-reset-v2__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Поле */
.oc-reset-v2__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.oc-reset-v2__field--error .oc-reset-v2__input {
    border-color: #e53935 !important;
    background: #fff5f5 !important;
}

.oc-reset-v2__field--error .oc-reset-v2__input-icon {
    color: #e53935 !important;
}

/* Лейбл */
.oc-reset-v2__label {
    font-size: 13px;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

/* Инпут */
.oc-reset-v2__input-wrap {
    position: relative;
}

.oc-reset-v2__input-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #aaa;
    font-size: 16px;
    pointer-events: none;
    transition: color 0.3s;
}

.oc-reset-v2__input {
    width: 100%;
    padding: 14px 50px 14px 46px;
    border: 2px solid #e8e8e8;
    border-radius: 12px;
    font-size: 16px;
    font-family: inherit;
    color: #333;
    background: #f8f9fa;
    transition: all 0.3s ease;
    outline: none;
}

.oc-reset-v2__input:focus {
    border-color: #4CAF50;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(76, 175, 80, 0.1);
}

.oc-reset-v2__input:focus + .oc-reset-v2__input-icon,
.oc-reset-v2__input-wrap:focus-within .oc-reset-v2__input-icon {
    color: #4CAF50;
}

.oc-reset-v2__input::placeholder {
    color: #bbb;
}

/* Кнопка показа пароля */
.oc-reset-v2__toggle {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: #aaa;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    transition: all 0.2s;
}

.oc-reset-v2__toggle:hover {
    background: #f0f0f0;
    color: #666;
}

/* Ошибка */
.oc-reset-v2__error {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #e53935;
    font-weight: 500;
    animation: resetErrorShake 0.4s ease;
}

@keyframes resetErrorShake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}

.oc-reset-v2__error i {
    font-size: 12px;
}

/* Кнопки */
.oc-reset-v2__actions {
    display: flex;
    gap: 12px;
    margin-top: 8px;
}

.oc-reset-v2__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
}

.oc-reset-v2__btn--primary {
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    color: #fff;
    box-shadow: 0 4px 14px rgba(76,175,80,0.35);
    flex: 1;
}

.oc-reset-v2__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(76,175,80,0.5);
}

.oc-reset-v2__btn--primary:active {
    transform: scale(0.97);
}

.oc-reset-v2__btn--secondary {
    background: #fff;
    color: #555;
    border: 2px solid #e8e8e8;
    padding: 12px 24px;
    font-size: 15px;
}

.oc-reset-v2__btn--secondary:hover {
    border-color: #4CAF50;
    color: #2e7d32;
    background: #f0faf0;
}

/* Адаптив */
@media (max-width: 767px) {
    .oc-reset-v2 {
        padding: 20px 0 40px;
    }
    
    .oc-reset-v2__breadcrumbs {
        margin-bottom: 20px;
    }
    
    .oc-reset-v2__card {
        padding: 28px 24px 24px;
    }
    
    .oc-reset-v2__card-title {
        font-size: 20px;
    }
    
    .oc-reset-v2__card-icon {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }
    
    .oc-reset-v2__actions {
        flex-direction: column-reverse;
    }
    
    .oc-reset-v2__btn--secondary {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .oc-reset-v2__card {
        padding: 24px 20px 20px;
        border-radius: 16px;
    }
    
    .oc-reset-v2__input {
        padding: 12px 46px 12px 42px;
        font-size: 15px;
    }
    
    .oc-reset-v2__btn {
        padding: 12px 24px;
        font-size: 15px;
    }
}


/* ============================================
   РЕДАКТИРОВАНИЕ УЧЁТНОЙ ЗАПИСИ (EDIT) — V2
   ============================================ */

.oc-edit-v2 {
    padding: 32px 0 64px;
    background: #fafafa;
    min-height: calc(100vh - 200px);
}

.oc-edit-v2__container {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Хлебные крошки */
.oc-edit-v2__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 32px;
    font-size: 15px;
}

.oc-edit-v2__breadcrumb {
    color: #4CAF50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.oc-edit-v2__breadcrumb:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.oc-edit-v2__breadcrumb--current {
    color: #888;
    cursor: default;
}

.oc-edit-v2__breadcrumb--current:hover {
    text-decoration: none;
    color: #888;
}

.oc-edit-v2__breadcrumb-sep {
    color: #ccc;
    font-size: 18px;
    line-height: 1;
}

/* Алерт */
.oc-edit-v2__alert {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-radius: 12px;
    margin-bottom: 24px;
    font-size: 16px;
    font-weight: 500;
    animation: editAlertSlide 0.4s ease;
}

@keyframes editAlertSlide {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.oc-edit-v2__alert--error {
    background: #ffebee;
    color: #c62828;
    border: 1px solid #ffcdd2;
}

.oc-edit-v2__alert i {
    font-size: 20px;
    flex-shrink: 0;
}

/* Форма */
.oc-edit-v2__form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Секция */
.oc-edit-v2__section {
    background: #fff;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
    overflow: hidden;
    transition: all 0.35s ease;
}

.oc-edit-v2__section:hover {
    border-color: #c8e6c9;
    box-shadow: 0 8px 30px rgba(76,175,80,0.1);
}

/* Шапка секции */
.oc-edit-v2__section-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px 32px;
    background: linear-gradient(135deg, #f9fffe, #f0faf0);
    border-bottom: 2px solid #e8f5e9;
}

.oc-edit-v2__section-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    box-shadow: 0 4px 12px rgba(76,175,80,0.35);
    flex-shrink: 0;
}

.oc-edit-v2__section-title {
    font-size: 20px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
}

/* Тело секции */
.oc-edit-v2__section-body {
    padding: 28px 32px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 24px;
}

/* Поле */
.oc-edit-v2__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.oc-edit-v2__field--error .oc-edit-v2__input {
    border-color: #e53935 !important;
    background: #fff5f5 !important;
}

.oc-edit-v2__field--error .oc-edit-v2__input-icon {
    color: #e53935 !important;
}

/* Лейбл */
.oc-edit-v2__label {
    font-size: 13px;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.oc-edit-v2__required {
    color: #e53935;
}

/* Инпут */
.oc-edit-v2__input-wrap {
    position: relative;
}

.oc-edit-v2__input-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #aaa;
    font-size: 16px;
    pointer-events: none;
    transition: color 0.3s;
}

.oc-edit-v2__input {
    width: 100%;
    padding: 14px 16px 14px 46px;
    border: 2px solid #e8e8e8;
    border-radius: 12px;
    font-size: 16px;
    font-family: inherit;
    color: #333;
    background: #f8f9fa;
    transition: all 0.3s ease;
    outline: none;
}

.oc-edit-v2__input:focus {
    border-color: #4CAF50;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(76, 175, 80, 0.1);
}

.oc-edit-v2__input:focus + .oc-edit-v2__input-icon,
.oc-edit-v2__input-wrap:focus-within .oc-edit-v2__input-icon {
    color: #4CAF50;
}

.oc-edit-v2__input::placeholder {
    color: #bbb;
}

/* Специальные инпуты */
.oc-edit-v2__input--select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
}

.oc-edit-v2__input--textarea {
    padding: 14px 16px;
    min-height: 120px;
    resize: vertical;
}

.oc-edit-v2__input--date,
.oc-edit-v2__input--time,
.oc-edit-v2__input--datetime {
    padding-right: 50px;
}

/* Радио */
.oc-edit-v2__radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.oc-edit-v2__radio {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    padding: 10px 16px;
    border-radius: 10px;
    border: 2px solid #e8e8e8;
    background: #f8f9fa;
    transition: all 0.25s ease;
    flex: 1;
    min-width: 140px;
}

.oc-edit-v2__radio:hover {
    border-color: #c8e6c9;
    background: #f0faf0;
}

.oc-edit-v2__radio input {
    display: none;
}

.oc-edit-v2__radio-mark {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s;
}

.oc-edit-v2__radio-mark::after {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #4CAF50;
    transform: scale(0);
    transition: transform 0.2s;
}

.oc-edit-v2__radio input:checked + .oc-edit-v2__radio-mark {
    border-color: #4CAF50;
}

.oc-edit-v2__radio input:checked + .oc-edit-v2__radio-mark::after {
    transform: scale(1);
}

.oc-edit-v2__radio input:checked ~ .oc-edit-v2__radio-text {
    color: #2e7d32;
    font-weight: 600;
}

.oc-edit-v2__radio-text {
    font-size: 15px;
    color: #555;
    transition: all 0.2s;
}

/* Чекбоксы */
.oc-edit-v2__checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.oc-edit-v2__checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 10px;
    transition: all 0.2s;
}

.oc-edit-v2__checkbox:hover {
    background: #f0faf0;
}

.oc-edit-v2__checkbox input {
    display: none;
}

.oc-edit-v2__checkbox-mark {
    width: 22px;
    height: 22px;
    border-radius: 6px;
    border: 2px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s;
    background: #fff;
}

.oc-edit-v2__checkbox-mark i {
    font-size: 12px;
    color: #fff;
    opacity: 0;
    transform: scale(0);
    transition: all 0.2s;
}

.oc-edit-v2__checkbox input:checked + .oc-edit-v2__checkbox-mark {
    border-color: #4CAF50;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
}

.oc-edit-v2__checkbox input:checked + .oc-edit-v2__checkbox-mark i {
    opacity: 1;
    transform: scale(1);
}

.oc-edit-v2__checkbox-text {
    font-size: 15px;
    color: #555;
}

/* Файл */
.oc-edit-v2__file-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}

.oc-edit-v2__file-name {
    font-size: 14px;
    color: #666;
}

/* Ошибка */
.oc-edit-v2__error {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #e53935;
    font-weight: 500;
    animation: editErrorShake 0.4s ease;
}

@keyframes editErrorShake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}

.oc-edit-v2__error i {
    font-size: 12px;
}

/* Кнопки */
.oc-edit-v2__actions {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

.oc-edit-v2__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
}

.oc-edit-v2__btn--primary {
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    color: #fff;
    box-shadow: 0 4px 14px rgba(76,175,80,0.35);
}

.oc-edit-v2__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(76,175,80,0.5);
}

.oc-edit-v2__btn--primary:active {
    transform: scale(0.97);
}

.oc-edit-v2__btn--secondary {
    background: #fff;
    color: #555;
    border: 2px solid #e8e8e8;
    padding: 12px 24px;
    font-size: 15px;
}

.oc-edit-v2__btn--secondary:hover {
    border-color: #4CAF50;
    color: #2e7d32;
    background: #f0faf0;
}

/* Адаптив */
@media (max-width: 991px) {
    .oc-edit-v2__section-body {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .oc-edit-v2 {
        padding: 20px 0 40px;
    }
    
    .oc-edit-v2__breadcrumbs {
        margin-bottom: 20px;
    }
    
    .oc-edit-v2__section-header {
        padding: 20px 24px;
    }
    
    .oc-edit-v2__section-body {
        padding: 20px 24px;
    }
    
    .oc-edit-v2__section-title {
        font-size: 18px;
    }
    
    .oc-edit-v2__section-icon {
        width: 38px;
        height: 38px;
        font-size: 16px;
    }
    
    .oc-edit-v2__actions {
        flex-direction: column-reverse;
    }
    
    .oc-edit-v2__btn--secondary {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .oc-edit-v2__section {
        border-radius: 16px;
    }
    
    .oc-edit-v2__section-header {
        padding: 16px 20px;
    }
    
    .oc-edit-v2__section-body {
        padding: 16px 20px;
    }
    
    .oc-edit-v2__input {
        padding: 12px 14px 12px 42px;
        font-size: 15px;
    }
    
    .oc-edit-v2__btn {
        padding: 12px 24px;
        font-size: 15px;
    }
    
    .oc-edit-v2__radio {
        min-width: 100%;
    }
}

/* ============================================
   АДРЕСА — СПИСОК (ADDRESS LIST) — V2
   ============================================ */

.oc-address-list-v2 {
    padding: 32px 0 64px;
    background: #fafafa;
    min-height: calc(100vh - 200px);
}

.oc-address-list-v2__container {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Хлебные крошки */
.oc-address-list-v2__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 32px;
    font-size: 15px;
}

.oc-address-list-v2__breadcrumb {
    color: #4CAF50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.oc-address-list-v2__breadcrumb:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.oc-address-list-v2__breadcrumb--current {
    color: #888;
    cursor: default;
}

.oc-address-list-v2__breadcrumb--current:hover {
    text-decoration: none;
    color: #888;
}

.oc-address-list-v2__breadcrumb-sep {
    color: #ccc;
    font-size: 18px;
    line-height: 1;
}

/* Алерты */
.oc-address-list-v2__alert {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-radius: 12px;
    margin-bottom: 24px;
    font-size: 16px;
    font-weight: 500;
    animation: addressListAlertSlide 0.4s ease;
}

@keyframes addressListAlertSlide {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.oc-address-list-v2__alert--success {
    background: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #c8e6c9;
}

.oc-address-list-v2__alert--error {
    background: #ffebee;
    color: #c62828;
    border: 1px solid #ffcdd2;
}

.oc-address-list-v2__alert i {
    font-size: 20px;
    flex-shrink: 0;
}

/* Карточка */
.oc-address-list-v2__card {
    background: #fff;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    box-shadow: 0 4px 24px rgba(0,0,0,0.05);
    overflow: hidden;
    transition: all 0.35s ease;
}

.oc-address-list-v2__card:hover {
    border-color: #c8e6c9;
    box-shadow: 0 12px 40px rgba(76,175,80,0.12);
}

/* Шапка карточки */
.oc-address-list-v2__card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px 32px;
    background: linear-gradient(135deg, #f9fffe, #f0faf0);
    border-bottom: 2px solid #e8f5e9;
}

.oc-address-list-v2__card-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    box-shadow: 0 4px 12px rgba(76,175,80,0.35);
    flex-shrink: 0;
}

.oc-address-list-v2__card-title {
    font-size: 20px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
}

/* Список адресов */
.oc-address-list-v2__list {
    display: flex;
    flex-direction: column;
}

.oc-address-list-v2__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 32px;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.2s;
}

.oc-address-list-v2__item:last-child {
    border-bottom: none;
}

.oc-address-list-v2__item:hover {
    background: #f9fffe;
}

.oc-address-list-v2__item-text {
    font-size: 15px;
    color: #333;
    line-height: 1.6;
    flex: 1;
}

.oc-address-list-v2__item-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

/* Пустое состояние */
.oc-address-list-v2__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 32px;
    text-align: center;
    color: #888;
}

.oc-address-list-v2__empty i {
    font-size: 48px;
    color: #ddd;
    margin-bottom: 16px;
}

.oc-address-list-v2__empty p {
    font-size: 16px;
    margin: 0;
}

/* Кнопки */
.oc-address-list-v2__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 18px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
}

.oc-address-list-v2__btn--edit {
    background: #e3f2fd;
    color: #1976d2;
}

.oc-address-list-v2__btn--edit:hover {
    background: #1976d2;
    color: #fff;
}

.oc-address-list-v2__btn--delete {
    background: #ffebee;
    color: #e53935;
}

.oc-address-list-v2__btn--delete:hover {
    background: #e53935;
    color: #fff;
}

.oc-address-list-v2__delete-form {
    margin: 0;
}

/* Нижние кнопки */
.oc-address-list-v2__actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 24px;
}

.oc-address-list-v2__actions .oc-address-list-v2__btn--primary {
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    color: #fff;
    box-shadow: 0 4px 14px rgba(76,175,80,0.35);
    padding: 14px 28px;
    font-size: 16px;
    font-weight: 700;
    gap: 8px;
}

.oc-address-list-v2__actions .oc-address-list-v2__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(76,175,80,0.5);
}

.oc-address-list-v2__actions .oc-address-list-v2__btn--secondary {
    background: #fff;
    color: #555;
    border: 2px solid #e8e8e8;
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 700;
    gap: 8px;
}

.oc-address-list-v2__actions .oc-address-list-v2__btn--secondary:hover {
    border-color: #4CAF50;
    color: #2e7d32;
    background: #f0faf0;
}

/* Адаптив */
@media (max-width: 767px) {
    .oc-address-list-v2 {
        padding: 20px 0 40px;
    }
    
    .oc-address-list-v2__breadcrumbs {
        margin-bottom: 20px;
    }
    
    .oc-address-list-v2__card-header {
        padding: 20px 24px;
    }
    
    .oc-address-list-v2__item {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px 24px;
    }
    
    .oc-address-list-v2__item-actions {
        width: 100%;
    }
    
    .oc-address-list-v2__btn {
        flex: 1;
    }
    
    .oc-address-list-v2__actions {
        flex-direction: column-reverse;
    }
    
    .oc-address-list-v2__actions .oc-address-list-v2__btn--secondary {
        width: 100%;
    }
}


/* ============================================
   АДРЕСА — ФОРМА (ADDRESS FORM) — V2
   ============================================ */

.oc-address-form-v2 {
    padding: 32px 0 64px;
    background: #fafafa;
    min-height: calc(100vh - 200px);
}

.oc-address-form-v2__container {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Хлебные крошки */
.oc-address-form-v2__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 32px;
    font-size: 15px;
}

.oc-address-form-v2__breadcrumb {
    color: #4CAF50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.oc-address-form-v2__breadcrumb:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.oc-address-form-v2__breadcrumb--current {
    color: #888;
    cursor: default;
}

.oc-address-form-v2__breadcrumb--current:hover {
    text-decoration: none;
    color: #888;
}

.oc-address-form-v2__breadcrumb-sep {
    color: #ccc;
    font-size: 18px;
    line-height: 1;
}

/* Секция */
.oc-address-form-v2__section {
    background: #fff;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
    overflow: hidden;
    transition: all 0.35s ease;
}

.oc-address-form-v2__section:hover {
    border-color: #c8e6c9;
    box-shadow: 0 8px 30px rgba(76,175,80,0.1);
}

/* Шапка секции */
.oc-address-form-v2__section-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px 32px;
    background: linear-gradient(135deg, #f9fffe, #f0faf0);
    border-bottom: 2px solid #e8f5e9;
}

.oc-address-form-v2__section-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    box-shadow: 0 4px 12px rgba(76,175,80,0.35);
    flex-shrink: 0;
}

.oc-address-form-v2__section-title {
    font-size: 20px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
}

/* Тело секции */
.oc-address-form-v2__section-body {
    padding: 28px 32px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 24px;
}

/* Поле */
.oc-address-form-v2__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.oc-address-form-v2__field--error .oc-address-form-v2__input {
    border-color: #e53935 !important;
    background: #fff5f5 !important;
}

.oc-address-form-v2__field--error .oc-address-form-v2__input-icon {
    color: #e53935 !important;
}

/* Лейбл */
.oc-address-form-v2__label {
    font-size: 13px;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.oc-address-form-v2__required {
    color: #e53935;
}

/* Инпут */
.oc-address-form-v2__input-wrap {
    position: relative;
}

.oc-address-form-v2__input-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #aaa;
    font-size: 16px;
    pointer-events: none;
    transition: color 0.3s;
}

.oc-address-form-v2__input {
    width: 100%;
    padding: 14px 16px 14px 46px;
    border: 2px solid #e8e8e8;
    border-radius: 12px;
    font-size: 16px;
    font-family: inherit;
    color: #333;
    background: #f8f9fa;
    transition: all 0.3s ease;
    outline: none;
}

.oc-address-form-v2__input:focus {
    border-color: #4CAF50;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(76, 175, 80, 0.1);
}

.oc-address-form-v2__input:focus + .oc-address-form-v2__input-icon,
.oc-address-form-v2__input-wrap:focus-within .oc-address-form-v2__input-icon {
    color: #4CAF50;
}

.oc-address-form-v2__input::placeholder {
    color: #bbb;
}

/* Специальные инпуты */
.oc-address-form-v2__input--select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
}

.oc-address-form-v2__input--textarea {
    padding: 14px 16px;
    min-height: 120px;
    resize: vertical;
}

.oc-address-form-v2__input--date,
.oc-address-form-v2__input--time,
.oc-address-form-v2__input--datetime {
    padding-right: 50px;
}

/* Радио */
.oc-address-form-v2__radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.oc-address-form-v2__radio {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    padding: 10px 16px;
    border-radius: 10px;
    border: 2px solid #e8e8e8;
    background: #f8f9fa;
    transition: all 0.25s ease;
    flex: 1;
    min-width: 140px;
}

.oc-address-form-v2__radio:hover {
    border-color: #c8e6c9;
    background: #f0faf0;
}

.oc-address-form-v2__radio input {
    display: none;
}

.oc-address-form-v2__radio-mark {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s;
}

.oc-address-form-v2__radio-mark::after {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #4CAF50;
    transform: scale(0);
    transition: transform 0.2s;
}

.oc-address-form-v2__radio input:checked + .oc-address-form-v2__radio-mark {
    border-color: #4CAF50;
}

.oc-address-form-v2__radio input:checked + .oc-address-form-v2__radio-mark::after {
    transform: scale(1);
}

.oc-address-form-v2__radio input:checked ~ .oc-address-form-v2__radio-text {
    color: #2e7d32;
    font-weight: 600;
}

.oc-address-form-v2__radio-text {
    font-size: 15px;
    color: #555;
    transition: all 0.2s;
}

/* Чекбоксы */
.oc-address-form-v2__checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.oc-address-form-v2__checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 10px;
    transition: all 0.2s;
}

.oc-address-form-v2__checkbox:hover {
    background: #f0faf0;
}

.oc-address-form-v2__checkbox input {
    display: none;
}

.oc-address-form-v2__checkbox-mark {
    width: 22px;
    height: 22px;
    border-radius: 6px;
    border: 2px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s;
    background: #fff;
}

.oc-address-form-v2__checkbox-mark i {
    font-size: 12px;
    color: #fff;
    opacity: 0;
    transform: scale(0);
    transition: all 0.2s;
}

.oc-address-form-v2__checkbox input:checked + .oc-address-form-v2__checkbox-mark {
    border-color: #4CAF50;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
}

.oc-address-form-v2__checkbox input:checked + .oc-address-form-v2__checkbox-mark i {
    opacity: 1;
    transform: scale(1);
}

.oc-address-form-v2__checkbox-text {
    font-size: 15px;
    color: #555;
}

/* Файл */
.oc-address-form-v2__file-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}

.oc-address-form-v2__file-name {
    font-size: 14px;
    color: #666;
}

/* Ошибка */
.oc-address-form-v2__error {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #e53935;
    font-weight: 500;
    animation: addressFormErrorShake 0.4s ease;
}

@keyframes addressFormErrorShake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}

.oc-address-form-v2__error i {
    font-size: 12px;
}

/* Кнопки */
.oc-address-form-v2__actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 24px;
}

.oc-address-form-v2__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
}

.oc-address-form-v2__btn--primary {
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    color: #fff;
    box-shadow: 0 4px 14px rgba(76,175,80,0.35);
}

.oc-address-form-v2__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(76,175,80,0.5);
}

.oc-address-form-v2__btn--primary:active {
    transform: scale(0.97);
}

.oc-address-form-v2__btn--secondary {
    background: #fff;
    color: #555;
    border: 2px solid #e8e8e8;
    padding: 12px 24px;
    font-size: 15px;
}

.oc-address-form-v2__btn--secondary:hover {
    border-color: #4CAF50;
    color: #2e7d32;
    background: #f0faf0;
}

/* Адаптив */
@media (max-width: 991px) {
    .oc-address-form-v2__section-body {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .oc-address-form-v2 {
        padding: 20px 0 40px;
    }
    
    .oc-address-form-v2__breadcrumbs {
        margin-bottom: 20px;
    }
    
    .oc-address-form-v2__section-header {
        padding: 20px 24px;
    }
    
    .oc-address-form-v2__section-body {
        padding: 20px 24px;
    }
    
    .oc-address-form-v2__section-title {
        font-size: 18px;
    }
    
    .oc-address-form-v2__section-icon {
        width: 38px;
        height: 38px;
        font-size: 16px;
    }
    
    .oc-address-form-v2__actions {
        flex-direction: column-reverse;
    }
    
    .oc-address-form-v2__btn--secondary {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .oc-address-form-v2__section {
        border-radius: 16px;
    }
    
    .oc-address-form-v2__section-header {
        padding: 16px 20px;
    }
    
    .oc-address-form-v2__section-body {
        padding: 16px 20px;
    }
    
    .oc-address-form-v2__input {
        padding: 12px 14px 12px 42px;
        font-size: 15px;
    }
    
    .oc-address-form-v2__btn {
        padding: 12px 24px;
        font-size: 15px;
    }
    
    .oc-address-form-v2__radio {
        min-width: 100%;
    }
}

/* ============================================
   ЗАКАЗЫ — СПИСОК (ORDER LIST) — V2
   ============================================ */

.oc-order-list-v2 {
    padding: 32px 0 64px;
    background: #fafafa;
    min-height: calc(100vh - 200px);
}

.oc-order-list-v2__container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Хлебные крошки */
.oc-order-list-v2__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 32px;
    font-size: 15px;
}

.oc-order-list-v2__breadcrumb {
    color: #4CAF50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.oc-order-list-v2__breadcrumb:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.oc-order-list-v2__breadcrumb--current {
    color: #888;
    cursor: default;
}

.oc-order-list-v2__breadcrumb--current:hover {
    text-decoration: none;
    color: #888;
}

.oc-order-list-v2__breadcrumb-sep {
    color: #ccc;
    font-size: 18px;
    line-height: 1;
}

/* Карточка */
.oc-order-list-v2__card {
    background: #fff;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    box-shadow: 0 4px 24px rgba(0,0,0,0.05);
    overflow: hidden;
    transition: all 0.35s ease;
}

.oc-order-list-v2__card:hover {
    border-color: #c8e6c9;
    box-shadow: 0 12px 40px rgba(76,175,80,0.12);
}

/* Шапка карточки */
.oc-order-list-v2__card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px 32px;
    background: linear-gradient(135deg, #f9fffe, #f0faf0);
    border-bottom: 2px solid #e8f5e9;
}

.oc-order-list-v2__card-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    box-shadow: 0 4px 12px rgba(76,175,80,0.35);
    flex-shrink: 0;
}

.oc-order-list-v2__card-title {
    font-size: 20px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
}

/* Таблица */
.oc-order-list-v2__table-wrap {
    overflow-x: auto;
}

.oc-order-list-v2__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.oc-order-list-v2__table thead th {
    padding: 16px 20px;
    text-align: left;
    font-size: 12px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: #fafafa;
    border-bottom: 2px solid #f0f0f0;
    white-space: nowrap;
}

.oc-order-list-v2__table tbody td {
    padding: 16px 20px;
    border-bottom: 1px solid #f5f5f5;
    color: #333;
    vertical-align: middle;
}

.oc-order-list-v2__table tbody tr:hover {
    background: #f9fffe;
}

.oc-order-list-v2__table tbody tr:last-child td {
    border-bottom: none;
}

.oc-order-list-v2__col-center {
    text-align: center;
}

.oc-order-list-v2__col-right {
    text-align: right;
}

.oc-order-list-v2__order-id {
    font-weight: 700;
    color: #1a1a2e;
    font-family: monospace;
    font-size: 15px;
}

.oc-order-list-v2__status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 20px;
    background: #e8f5e9;
    color: #2e7d32;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.oc-order-list-v2__price {
    font-weight: 700;
    color: #1a1a2e;
    font-family: monospace;
    font-size: 15px;
}

.oc-order-list-v2__col-actions {
    text-align: right;
    white-space: nowrap;
}

.oc-order-list-v2__btn-view {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #e3f2fd;
    color: #1976d2;
    text-decoration: none;
    transition: all 0.2s;
}

.oc-order-list-v2__btn-view:hover {
    background: #1976d2;
    color: #fff;
}

/* Пагинация */
.oc-order-list-v2__pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 32px;
    border-top: 2px solid #f0f0f0;
    gap: 16px;
    flex-wrap: wrap;
}

.oc-order-list-v2__pagination-left {
    flex: 1;
}

.oc-order-list-v2__pagination-right {
    color: #888;
    font-size: 14px;
}

/* Пустое состояние */
.oc-order-list-v2__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 32px;
    text-align: center;
    color: #888;
}

.oc-order-list-v2__empty i {
    font-size: 56px;
    color: #ddd;
    margin-bottom: 20px;
}

.oc-order-list-v2__empty p {
    font-size: 16px;
    margin: 0;
}

/* Кнопки */
.oc-order-list-v2__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 24px;
}

.oc-order-list-v2__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
}

.oc-order-list-v2__btn--primary {
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    color: #fff;
    box-shadow: 0 4px 14px rgba(76,175,80,0.35);
}

.oc-order-list-v2__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(76,175,80,0.5);
}

.oc-order-list-v2__btn--primary:active {
    transform: scale(0.97);
}

/* Адаптив */
@media (max-width: 767px) {
    .oc-order-list-v2 {
        padding: 20px 0 40px;
    }
    
    .oc-order-list-v2__breadcrumbs {
        margin-bottom: 20px;
    }
    
    .oc-order-list-v2__card-header {
        padding: 20px 24px;
    }
    
    .oc-order-list-v2__table thead {
        display: none;
    }
    
    .oc-order-list-v2__table tbody tr {
        display: block;
        padding: 16px 20px;
        border-bottom: 1px solid #f0f0f0;
    }
    
    .oc-order-list-v2__table tbody td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 0;
        border: none;
    }
    
    .oc-order-list-v2__table tbody td::before {
        content: attr(data-label);
        font-weight: 600;
        color: #888;
        font-size: 12px;
        text-transform: uppercase;
    }
    
    .oc-order-list-v2__col-center,
    .oc-order-list-v2__col-right {
        text-align: left;
    }
    
    .oc-order-list-v2__pagination {
        flex-direction: column;
        align-items: stretch;
        padding: 16px 20px;
    }
    
    .oc-order-list-v2__actions {
        justify-content: stretch;
    }
    
    .oc-order-list-v2__btn--primary {
        width: 100%;
    }
}


/* ============================================
   ЗАКАЗЫ — ДЕТАЛИ (ORDER INFO) — V2
   ============================================ */

.oc-order-info-v2 {
    padding: 32px 0 64px;
    background: #fafafa;
    min-height: calc(100vh - 200px);
}

.oc-order-info-v2__container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Хлебные крошки */
.oc-order-info-v2__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 32px;
    font-size: 15px;
}

.oc-order-info-v2__breadcrumb {
    color: #4CAF50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.oc-order-info-v2__breadcrumb:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.oc-order-info-v2__breadcrumb--current {
    color: #888;
    cursor: default;
}

.oc-order-info-v2__breadcrumb--current:hover {
    text-decoration: none;
    color: #888;
}

.oc-order-info-v2__breadcrumb-sep {
    color: #ccc;
    font-size: 18px;
    line-height: 1;
}

/* Алерты */
.oc-order-info-v2__alert {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-radius: 12px;
    margin-bottom: 24px;
    font-size: 16px;
    font-weight: 500;
    animation: orderInfoAlertSlide 0.4s ease;
}

@keyframes orderInfoAlertSlide {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.oc-order-info-v2__alert--success {
    background: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #c8e6c9;
}

.oc-order-info-v2__alert--error {
    background: #ffebee;
    color: #c62828;
    border: 1px solid #ffcdd2;
}

.oc-order-info-v2__alert i {
    font-size: 20px;
    flex-shrink: 0;
}

/* Карточка */
.oc-order-info-v2__card {
    background: #fff;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    box-shadow: 0 4px 24px rgba(0,0,0,0.05);
    overflow: hidden;
    transition: all 0.35s ease;
}

.oc-order-info-v2__card:hover {
    border-color: #c8e6c9;
    box-shadow: 0 12px 40px rgba(76,175,80,0.12);
}

/* Шапка карточки */
.oc-order-info-v2__card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px 32px;
    background: linear-gradient(135deg, #f9fffe, #f0faf0);
    border-bottom: 2px solid #e8f5e9;
}

.oc-order-info-v2__card-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    box-shadow: 0 4px 12px rgba(76,175,80,0.35);
    flex-shrink: 0;
}

.oc-order-info-v2__card-title {
    font-size: 20px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
}

/* Секции */
.oc-order-info-v2__section {
    padding: 24px 32px;
    border-bottom: 1px solid #f0f0f0;
}

.oc-order-info-v2__section:last-child {
    border-bottom: none;
}

.oc-order-info-v2__section-title {
    font-size: 14px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 16px;
}

/* Детали заказа */
.oc-order-info-v2__details-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.oc-order-info-v2__details-block {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.oc-order-info-v2__detail-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.oc-order-info-v2__detail-label {
    font-weight: 600;
    color: #555;
}

.oc-order-info-v2__detail-value {
    color: #333;
}

/* Адреса */
.oc-order-info-v2__addresses {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    padding: 24px 32px;
    border-bottom: 1px solid #f0f0f0;
}

.oc-order-info-v2__address-block {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 20px;
}

.oc-order-info-v2__address-title {
    font-size: 12px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 10px;
}

.oc-order-info-v2__address-text {
    font-size: 14px;
    color: #333;
    line-height: 1.7;
}

/* Комментарий */
.oc-order-info-v2__comment {
    background: #fffde7;
    border-radius: 12px;
    padding: 16px 20px;
    font-size: 14px;
    color: #555;
    line-height: 1.7;
    border-left: 4px solid #ffd54f;
}

/* Таблица */
.oc-order-info-v2__table-wrap {
    overflow-x: auto;
}

.oc-order-info-v2__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.oc-order-info-v2__table thead th {
    padding: 14px 16px;
    text-align: left;
    font-size: 12px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: #fafafa;
    border-bottom: 2px solid #f0f0f0;
    white-space: nowrap;
}

.oc-order-info-v2__table tbody td {
    padding: 14px 16px;
    border-bottom: 1px solid #f5f5f5;
    color: #333;
    vertical-align: top;
}

.oc-order-info-v2__table tbody tr:hover {
    background: #f9fffe;
}

.oc-order-info-v2__table tbody tr:last-child td {
    border-bottom: none;
}

.oc-order-info-v2__table tfoot td {
    padding: 12px 16px;
    border-bottom: none;
}

.oc-order-info-v2__table tfoot tr:last-child td {
    padding-top: 16px;
    border-top: 2px solid #e8e8e8;
}

.oc-order-info-v2__col-center {
    text-align: center;
}

.oc-order-info-v2__col-right {
    text-align: right;
}

.oc-order-info-v2__price {
    font-weight: 700;
    color: #1a1a2e;
    font-family: monospace;
    font-size: 15px;
}

.oc-order-info-v2__product-name {
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 4px;
}

.oc-order-info-v2__product-option {
    font-size: 12px;
    color: #888;
}

.oc-order-info-v2__col-actions {
    text-align: right;
    white-space: nowrap;
}

.oc-order-info-v2__btn-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s;
    margin-left: 4px;
}

.oc-order-info-v2__btn-action--reorder {
    background: #e8f5e9;
    color: #4CAF50;
}

.oc-order-info-v2__btn-action--reorder:hover {
    background: #4CAF50;
    color: #fff;
}

.oc-order-info-v2__btn-action--return {
    background: #ffebee;
    color: #e53935;
}

.oc-order-info-v2__btn-action--return:hover {
    background: #e53935;
    color: #fff;
}

/* Статус */
.oc-order-info-v2__status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 20px;
    background: #e8f5e9;
    color: #2e7d32;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Кнопки */
.oc-order-info-v2__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 24px;
}

.oc-order-info-v2__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
}

.oc-order-info-v2__btn--primary {
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    color: #fff;
    box-shadow: 0 4px 14px rgba(76,175,80,0.35);
}

.oc-order-info-v2__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(76,175,80,0.5);
}

.oc-order-info-v2__btn--primary:active {
    transform: scale(0.97);
}

/* Адаптив */
@media (max-width: 767px) {
    .oc-order-info-v2 {
        padding: 20px 0 40px;
    }
    
    .oc-order-info-v2__breadcrumbs {
        margin-bottom: 20px;
    }
    
    .oc-order-info-v2__card-header {
        padding: 20px 24px;
    }
    
    .oc-order-info-v2__section {
        padding: 20px 24px;
    }
    
    .oc-order-info-v2__details-grid,
    .oc-order-info-v2__addresses {
        grid-template-columns: 1fr;
    }
    
    .oc-order-info-v2__table thead {
        display: none;
    }
    
    .oc-order-info-v2__table tbody tr {
        display: block;
        padding: 16px 20px;
        border-bottom: 1px solid #f0f0f0;
    }
    
    .oc-order-info-v2__table tbody td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 0;
        border: none;
    }
    
    .oc-order-info-v2__table tbody td::before {
        content: attr(data-label);
        font-weight: 600;
        color: #888;
        font-size: 12px;
        text-transform: uppercase;
    }
    
    .oc-order-info-v2__col-center,
    .oc-order-info-v2__col-right {
        text-align: left;
    }
    
    .oc-order-info-v2__actions {
        justify-content: stretch;
    }
    
    .oc-order-info-v2__btn--primary {
        width: 100%;
    }
}

/* ============================================
   ВОЗВРАТЫ — СПИСОК (RETURN LIST) — V2
   ============================================ */

.oc-return-list-v2 {
    padding: 32px 0 64px;
    background: #fafafa;
    min-height: calc(100vh - 200px);
}

.oc-return-list-v2__container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Хлебные крошки */
.oc-return-list-v2__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 32px;
    font-size: 15px;
}

.oc-return-list-v2__breadcrumb {
    color: #4CAF50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.oc-return-list-v2__breadcrumb:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.oc-return-list-v2__breadcrumb--current {
    color: #888;
    cursor: default;
}

.oc-return-list-v2__breadcrumb--current:hover {
    text-decoration: none;
    color: #888;
}

.oc-return-list-v2__breadcrumb-sep {
    color: #ccc;
    font-size: 18px;
    line-height: 1;
}

/* Карточка */
.oc-return-list-v2__card {
    background: #fff;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    box-shadow: 0 4px 24px rgba(0,0,0,0.05);
    overflow: hidden;
    transition: all 0.35s ease;
}

.oc-return-list-v2__card:hover {
    border-color: #c8e6c9;
    box-shadow: 0 12px 40px rgba(76,175,80,0.12);
}

/* Шапка */
.oc-return-list-v2__card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px 32px;
    background: linear-gradient(135deg, #f9fffe, #f0faf0);
    border-bottom: 2px solid #e8f5e9;
}

.oc-return-list-v2__card-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    box-shadow: 0 4px 12px rgba(76,175,80,0.35);
    flex-shrink: 0;
}

.oc-return-list-v2__card-title {
    font-size: 20px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
}

/* Таблица */
.oc-return-list-v2__table-wrap {
    overflow-x: auto;
}

.oc-return-list-v2__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.oc-return-list-v2__table thead th {
    padding: 16px 20px;
    text-align: left;
    font-size: 12px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: #fafafa;
    border-bottom: 2px solid #f0f0f0;
    white-space: nowrap;
}

.oc-return-list-v2__table tbody td {
    padding: 16px 20px;
    border-bottom: 1px solid #f5f5f5;
    color: #333;
    vertical-align: middle;
}

.oc-return-list-v2__table tbody tr:hover {
    background: #f9fffe;
}

.oc-return-list-v2__table tbody tr:last-child td {
    border-bottom: none;
}

.oc-return-list-v2__return-id {
    font-weight: 700;
    color: #1a1a2e;
    font-family: monospace;
    font-size: 15px;
}

.oc-return-list-v2__col-center {
    text-align: center;
}

.oc-return-list-v2__status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 20px;
    background: #fff3e0;
    color: #e65100;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.oc-return-list-v2__col-actions {
    text-align: right;
    white-space: nowrap;
}

.oc-return-list-v2__btn-view {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #e3f2fd;
    color: #1976d2;
    text-decoration: none;
    transition: all 0.2s;
}

.oc-return-list-v2__btn-view:hover {
    background: #1976d2;
    color: #fff;
}

/* Пагинация */
.oc-return-list-v2__pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 32px;
    border-top: 2px solid #f0f0f0;
    gap: 16px;
    flex-wrap: wrap;
}

.oc-return-list-v2__pagination-left {
    flex: 1;
}

.oc-return-list-v2__pagination-right {
    color: #888;
    font-size: 14px;
}

/* Пусто */
.oc-return-list-v2__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 32px;
    text-align: center;
    color: #888;
}

.oc-return-list-v2__empty i {
    font-size: 56px;
    color: #ddd;
    margin-bottom: 20px;
}

.oc-return-list-v2__empty p {
    font-size: 16px;
    margin: 0;
}

/* Кнопки */
.oc-return-list-v2__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 24px;
}

.oc-return-list-v2__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
}

.oc-return-list-v2__btn--primary {
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    color: #fff;
    box-shadow: 0 4px 14px rgba(76,175,80,0.35);
}

.oc-return-list-v2__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(76,175,80,0.5);
}

.oc-return-list-v2__btn--primary:active {
    transform: scale(0.97);
}


/* ============================================
   ВОЗВРАТЫ — ИНФО (RETURN INFO) — V2
   ============================================ */

.oc-return-info-v2 {
    padding: 32px 0 64px;
    background: #fafafa;
    min-height: calc(100vh - 200px);
}

.oc-return-info-v2__container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 15px;
}

.oc-return-info-v2__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 32px;
    font-size: 15px;
}

.oc-return-info-v2__breadcrumb {
    color: #4CAF50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.oc-return-info-v2__breadcrumb:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.oc-return-info-v2__breadcrumb--current {
    color: #888;
    cursor: default;
}

.oc-return-info-v2__breadcrumb--current:hover {
    text-decoration: none;
    color: #888;
}

.oc-return-info-v2__breadcrumb-sep {
    color: #ccc;
    font-size: 18px;
    line-height: 1;
}

/* Карточка */
.oc-return-info-v2__card {
    background: #fff;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    box-shadow: 0 4px 24px rgba(0,0,0,0.05);
    overflow: hidden;
    transition: all 0.35s ease;
}

.oc-return-info-v2__card:hover {
    border-color: #c8e6c9;
    box-shadow: 0 12px 40px rgba(76,175,80,0.12);
}

.oc-return-info-v2__card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px 32px;
    background: linear-gradient(135deg, #f9fffe, #f0faf0);
    border-bottom: 2px solid #e8f5e9;
}

.oc-return-info-v2__card-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    box-shadow: 0 4px 12px rgba(76,175,80,0.35);
    flex-shrink: 0;
}

.oc-return-info-v2__card-title {
    font-size: 20px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
}

/* Секции */
.oc-return-info-v2__section {
    padding: 24px 32px;
    border-bottom: 1px solid #f0f0f0;
}

.oc-return-info-v2__section:last-child {
    border-bottom: none;
}

.oc-return-info-v2__section-title {
    font-size: 14px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 16px;
}

/* Детали */
.oc-return-info-v2__details-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.oc-return-info-v2__details-block {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.oc-return-info-v2__detail-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.oc-return-info-v2__detail-label {
    font-weight: 600;
    color: #555;
}

.oc-return-info-v2__detail-value {
    color: #333;
}

/* Таблица */
.oc-return-info-v2__table-wrap {
    overflow-x: auto;
}

.oc-return-info-v2__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.oc-return-info-v2__table thead th {
    padding: 14px 16px;
    text-align: left;
    font-size: 12px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: #fafafa;
    border-bottom: 2px solid #f0f0f0;
    white-space: nowrap;
}

.oc-return-info-v2__table tbody td {
    padding: 14px 16px;
    border-bottom: 1px solid #f5f5f5;
    color: #333;
    vertical-align: middle;
}

.oc-return-info-v2__table tbody tr:hover {
    background: #f9fffe;
}

.oc-return-info-v2__table tbody tr:last-child td {
    border-bottom: none;
}

.oc-return-info-v2__col-center {
    text-align: center;
}

.oc-return-info-v2__product-name {
    font-weight: 600;
    color: #1a1a2e;
}

.oc-return-info-v2__status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 20px;
    background: #fff3e0;
    color: #e65100;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.oc-return-info-v2__no-results {
    color: #888;
    padding: 40px 16px;
}

/* Комментарий */
.oc-return-info-v2__comment {
    background: #fffde7;
    border-radius: 12px;
    padding: 16px 20px;
    font-size: 14px;
    color: #555;
    line-height: 1.7;
    border-left: 4px solid #ffd54f;
}

/* Кнопки */
.oc-return-info-v2__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 24px;
}

.oc-return-info-v2__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
}

.oc-return-info-v2__btn--primary {
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    color: #fff;
    box-shadow: 0 4px 14px rgba(76,175,80,0.35);
}

.oc-return-info-v2__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(76,175,80,0.5);
}


/* ============================================
   ВОЗВРАТЫ — ФОРМА (RETURN FORM) — V2
   ============================================ */

.oc-return-form-v2 {
    padding: 32px 0 64px;
    background: #fafafa;
    min-height: calc(100vh - 200px);
}

.oc-return-form-v2__container {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 15px;
}

.oc-return-form-v2__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 32px;
    font-size: 15px;
}

.oc-return-form-v2__breadcrumb {
    color: #4CAF50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.oc-return-form-v2__breadcrumb:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.oc-return-form-v2__breadcrumb--current {
    color: #888;
    cursor: default;
}

.oc-return-form-v2__breadcrumb--current:hover {
    text-decoration: none;
    color: #888;
}

.oc-return-form-v2__breadcrumb-sep {
    color: #ccc;
    font-size: 18px;
    line-height: 1;
}

/* Алерт */
.oc-return-form-v2__alert {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-radius: 12px;
    margin-bottom: 24px;
    font-size: 16px;
    font-weight: 500;
    animation: returnFormAlertSlide 0.4s ease;
}

@keyframes returnFormAlertSlide {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.oc-return-form-v2__alert--error {
    background: #ffebee;
    color: #c62828;
    border: 1px solid #ffcdd2;
}

.oc-return-form-v2__alert i {
    font-size: 20px;
    flex-shrink: 0;
}

/* Карточка */
.oc-return-form-v2__card {
    background: #fff;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    box-shadow: 0 4px 24px rgba(0,0,0,0.05);
    overflow: hidden;
    transition: all 0.35s ease;
}

.oc-return-form-v2__card:hover {
    border-color: #c8e6c9;
    box-shadow: 0 12px 40px rgba(76,175,80,0.12);
}

/* Шапка карточки */
.oc-return-form-v2__card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px 32px;
    background: linear-gradient(135deg, #f9fffe, #f0faf0);
    border-bottom: 2px solid #e8f5e9;
}

.oc-return-form-v2__card-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    box-shadow: 0 4px 12px rgba(76,175,80,0.35);
    flex-shrink: 0;
}

.oc-return-form-v2__card-title {
    font-size: 20px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
}

.oc-return-form-v2__card-subtitle {
    font-size: 14px;
    color: #888;
    margin: 4px 0 0 0;
}

/* Секция */
.oc-return-form-v2__section {
    border-bottom: 1px solid #f0f0f0;
}

.oc-return-form-v2__section:last-of-type {
    border-bottom: none;
}

.oc-return-form-v2__section-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px 32px;
    background: #fafafa;
    border-bottom: 1px solid #f0f0f0;
}

.oc-return-form-v2__section-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    flex-shrink: 0;
}

.oc-return-form-v2__section-title {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0;
}

.oc-return-form-v2__section-body {
    padding: 28px 32px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 24px;
}

/* Поле */
.oc-return-form-v2__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.oc-return-form-v2__field--error .oc-return-form-v2__input {
    border-color: #e53935 !important;
    background: #fff5f5 !important;
}

.oc-return-form-v2__field--error .oc-return-form-v2__input-icon {
    color: #e53935 !important;
}

/* Лейбл */
.oc-return-form-v2__label {
    font-size: 13px;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.oc-return-form-v2__required {
    color: #e53935;
}

/* Инпут */
.oc-return-form-v2__input-wrap {
    position: relative;
}

.oc-return-form-v2__input-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #aaa;
    font-size: 16px;
    pointer-events: none;
    transition: color 0.3s;
}

.oc-return-form-v2__input {
    width: 100%;
    padding: 14px 16px 14px 46px;
    border: 2px solid #e8e8e8;
    border-radius: 12px;
    font-size: 16px;
    font-family: inherit;
    color: #333;
    background: #f8f9fa;
    transition: all 0.3s ease;
    outline: none;
}

.oc-return-form-v2__input:focus {
    border-color: #4CAF50;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(76, 175, 80, 0.1);
}

.oc-return-form-v2__input:focus + .oc-return-form-v2__input-icon,
.oc-return-form-v2__input-wrap:focus-within .oc-return-form-v2__input-icon {
    color: #4CAF50;
}

.oc-return-form-v2__input::placeholder {
    color: #bbb;
}

.oc-return-form-v2__input--select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
}

.oc-return-form-v2__input--textarea {
    padding: 14px 16px;
    min-height: 120px;
    resize: vertical;
}

.oc-return-form-v2__input--date {
    padding-right: 50px;
}

/* Радио */
.oc-return-form-v2__radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.oc-return-form-v2__radio {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    padding: 10px 16px;
    border-radius: 10px;
    border: 2px solid #e8e8e8;
    background: #f8f9fa;
    transition: all 0.25s ease;
    flex: 1;
    min-width: 140px;
}

.oc-return-form-v2__radio:hover {
    border-color: #c8e6c9;
    background: #f0faf0;
}

.oc-return-form-v2__radio input {
    display: none;
}

.oc-return-form-v2__radio-mark {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s;
}

.oc-return-form-v2__radio-mark::after {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #4CAF50;
    transform: scale(0);
    transition: transform 0.2s;
}

.oc-return-form-v2__radio input:checked + .oc-return-form-v2__radio-mark {
    border-color: #4CAF50;
}

.oc-return-form-v2__radio input:checked + .oc-return-form-v2__radio-mark::after {
    transform: scale(1);
}

.oc-return-form-v2__radio input:checked ~ .oc-return-form-v2__radio-text {
    color: #2e7d32;
    font-weight: 600;
}

.oc-return-form-v2__radio-text {
    font-size: 15px;
    color: #555;
    transition: all 0.2s;
}

/* Ошибка */
.oc-return-form-v2__error {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #e53935;
    font-weight: 500;
    animation: returnFormErrorShake 0.4s ease;
}

@keyframes returnFormErrorShake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}

.oc-return-form-v2__error i {
    font-size: 12px;
}

/* Футер формы */
.oc-return-form-v2__footer {
    padding: 24px 32px;
    background: #fafafa;
    border-top: 2px solid #f0f0f0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Соглашение */
.oc-return-form-v2__agree {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    padding: 12px 16px;
    border-radius: 12px;
    background: #f8f9fa;
    border: 2px solid #e8e8e8;
    transition: all 0.25s ease;
}

.oc-return-form-v2__agree:hover {
    border-color: #c8e6c9;
    background: #f0faf0;
}

.oc-return-form-v2__agree input {
    display: none;
}

.oc-return-form-v2__checkbox-mark {
    width: 22px;
    height: 22px;
    min-width: 22px;
    border-radius: 6px;
    border: 2px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    background: #fff;
}

.oc-return-form-v2__checkbox-mark i {
    font-size: 12px;
    color: #fff;
    opacity: 0;
    transform: scale(0);
    transition: all 0.2s;
}

.oc-return-form-v2__agree input:checked + .oc-return-form-v2__checkbox-mark {
    border-color: #4CAF50;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
}

.oc-return-form-v2__agree input:checked + .oc-return-form-v2__checkbox-mark i {
    opacity: 1;
    transform: scale(1);
}

.oc-return-form-v2__agree-text {
    font-size: 15px;
    color: #555;
    line-height: 1.5;
}

/* Кнопки */
.oc-return-form-v2__actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.oc-return-form-v2__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
}

.oc-return-form-v2__btn--primary {
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    color: #fff;
    box-shadow: 0 4px 14px rgba(76,175,80,0.35);
}

.oc-return-form-v2__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(76,175,80,0.5);
}

.oc-return-form-v2__btn--primary:active {
    transform: scale(0.97);
}

.oc-return-form-v2__btn--secondary {
    background: #fff;
    color: #555;
    border: 2px solid #e8e8e8;
    padding: 12px 24px;
    font-size: 15px;
}

.oc-return-form-v2__btn--secondary:hover {
    border-color: #4CAF50;
    color: #2e7d32;
    background: #f0faf0;
}

/* Адаптив */
@media (max-width: 991px) {
    .oc-return-form-v2__section-body {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .oc-return-list-v2,
    .oc-return-info-v2,
    .oc-return-form-v2 {
        padding: 20px 0 40px;
    }
    
    .oc-return-list-v2__breadcrumbs,
    .oc-return-info-v2__breadcrumbs,
    .oc-return-form-v2__breadcrumbs {
        margin-bottom: 20px;
    }
    
    .oc-return-list-v2__card-header,
    .oc-return-info-v2__card-header,
    .oc-return-form-v2__card-header {
        padding: 20px 24px;
    }
    
    .oc-return-info-v2__section,
    .oc-return-form-v2__section-header,
    .oc-return-form-v2__section-body,
    .oc-return-form-v2__footer {
        padding: 20px 24px;
    }
    
    .oc-return-info-v2__details-grid {
        grid-template-columns: 1fr;
    }
    
    .oc-return-list-v2__table thead,
    .oc-return-info-v2__table thead {
        display: none;
    }
    
    .oc-return-list-v2__table tbody tr,
    .oc-return-info-v2__table tbody tr {
        display: block;
        padding: 16px 20px;
        border-bottom: 1px solid #f0f0f0;
    }
    
    .oc-return-list-v2__table tbody td,
    .oc-return-info-v2__table tbody td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 0;
        border: none;
    }
    
    .oc-return-list-v2__col-center,
    .oc-return-info-v2__col-center {
        text-align: left;
    }
    
    .oc-return-list-v2__pagination {
        flex-direction: column;
        align-items: stretch;
        padding: 16px 20px;
    }
    
    .oc-return-list-v2__actions,
    .oc-return-info-v2__actions {
        justify-content: stretch;
    }
    
    .oc-return-list-v2__btn--primary,
    .oc-return-info-v2__btn--primary {
        width: 100%;
    }
    
    .oc-return-form-v2__actions {
        flex-direction: column-reverse;
    }
    
    .oc-return-form-v2__btn--secondary {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .oc-return-form-v2__card,
    .oc-return-info-v2__card,
    .oc-return-list-v2__card {
        border-radius: 16px;
    }
    
    .oc-return-form-v2__input {
        padding: 12px 14px 12px 42px;
        font-size: 15px;
    }
    
    .oc-return-form-v2__radio {
        min-width: 100%;
    }
    
    .oc-return-form-v2__btn {
        padding: 12px 24px;
        font-size: 15px;
    }
}

/* ============================================
   ИСТОРИЯ ПЛАТЕЖЕЙ (TRANSACTION) — V2
   ============================================ */

.oc-transaction-v2 {
    padding: 32px 0 64px;
    background: #fafafa;
    min-height: calc(100vh - 200px);
}

.oc-transaction-v2__container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Хлебные крошки */
.oc-transaction-v2__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 32px;
    font-size: 15px;
}

.oc-transaction-v2__breadcrumb {
    color: #4CAF50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.oc-transaction-v2__breadcrumb:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.oc-transaction-v2__breadcrumb--current {
    color: #888;
    cursor: default;
}

.oc-transaction-v2__breadcrumb--current:hover {
    text-decoration: none;
    color: #888;
}

.oc-transaction-v2__breadcrumb-sep {
    color: #ccc;
    font-size: 18px;
    line-height: 1;
}

/* Карточка */
.oc-transaction-v2__card {
    background: #fff;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    box-shadow: 0 4px 24px rgba(0,0,0,0.05);
    overflow: hidden;
    transition: all 0.35s ease;
}

.oc-transaction-v2__card:hover {
    border-color: #c8e6c9;
    box-shadow: 0 12px 40px rgba(76,175,80,0.12);
}

/* Шапка карточки */
.oc-transaction-v2__card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px 32px;
    background: linear-gradient(135deg, #f9fffe, #f0faf0);
    border-bottom: 2px solid #e8f5e9;
}

.oc-transaction-v2__card-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    box-shadow: 0 6px 16px rgba(76,175,80,0.35);
    flex-shrink: 0;
}

.oc-transaction-v2__card-title {
    font-size: 20px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
}

.oc-transaction-v2__card-subtitle {
    font-size: 14px;
    color: #888;
    margin: 6px 0 0 0;
}

.oc-transaction-v2__card-subtitle strong {
    color: #1a1a2e;
    font-family: monospace;
    font-size: 15px;
}

/* Таблица */
.oc-transaction-v2__table-wrap {
    overflow-x: auto;
}

.oc-transaction-v2__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.oc-transaction-v2__table thead th {
    padding: 16px 20px;
    text-align: left;
    font-size: 12px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: #fafafa;
    border-bottom: 2px solid #f0f0f0;
    white-space: nowrap;
}

.oc-transaction-v2__table tbody td {
    padding: 16px 20px;
    border-bottom: 1px solid #f5f5f5;
    color: #333;
    vertical-align: middle;
}

.oc-transaction-v2__table tbody tr:hover {
    background: #f9fffe;
}

.oc-transaction-v2__table tbody tr:last-child td {
    border-bottom: none;
}

.oc-transaction-v2__col-right {
    text-align: right;
}

.oc-transaction-v2__amount {
    font-weight: 700;
    color: #1a1a2e;
    font-family: monospace;
    font-size: 15px;
}

/* Пагинация */
.oc-transaction-v2__pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 32px;
    border-top: 2px solid #f0f0f0;
    gap: 16px;
    flex-wrap: wrap;
}

.oc-transaction-v2__pagination-left {
    flex: 1;
}

.oc-transaction-v2__pagination-right {
    color: #888;
    font-size: 14px;
}

/* Пустое состояние */
.oc-transaction-v2__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 32px;
    text-align: center;
    color: #888;
}

.oc-transaction-v2__empty i {
    font-size: 56px;
    color: #ddd;
    margin-bottom: 20px;
}

.oc-transaction-v2__empty p {
    font-size: 16px;
    margin: 0;
}

/* Кнопки */
.oc-transaction-v2__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 24px;
}

.oc-transaction-v2__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
}

.oc-transaction-v2__btn--primary {
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    color: #fff;
    box-shadow: 0 4px 14px rgba(76,175,80,0.35);
}

.oc-transaction-v2__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(76,175,80,0.5);
}

.oc-transaction-v2__btn--primary:active {
    transform: scale(0.97);
}

/* Адаптив */
@media (max-width: 767px) {
    .oc-transaction-v2 {
        padding: 20px 0 40px;
    }
    
    .oc-transaction-v2__breadcrumbs {
        margin-bottom: 20px;
    }
    
    .oc-transaction-v2__card-header {
        padding: 20px 24px;
    }
    
    .oc-transaction-v2__table thead {
        display: none;
    }
    
    .oc-transaction-v2__table tbody tr {
        display: block;
        padding: 16px 20px;
        border-bottom: 1px solid #f0f0f0;
    }
    
    .oc-transaction-v2__table tbody td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 0;
        border: none;
    }
    
    .oc-transaction-v2__table tbody td::before {
        content: attr(data-label);
        font-weight: 600;
        color: #888;
        font-size: 12px;
        text-transform: uppercase;
    }
    
    .oc-transaction-v2__col-right {
        text-align: left;
    }
    
    .oc-transaction-v2__pagination {
        flex-direction: column;
        align-items: stretch;
        padding: 16px 20px;
    }
    
    .oc-transaction-v2__actions {
        justify-content: stretch;
    }
    
    .oc-transaction-v2__btn--primary {
        width: 100%;
    }
}

/* ============================================
   ПОДПИСКА НА НОВОСТИ (NEWSLETTER) — V2
   ============================================ */

.oc-newsletter-v2 {
    padding: 32px 0 64px;
    background: #fafafa;
    min-height: calc(100vh - 200px);
}

.oc-newsletter-v2__container {
    max-width: 600px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Хлебные крошки */
.oc-newsletter-v2__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 32px;
    font-size: 15px;
}

.oc-newsletter-v2__breadcrumb {
    color: #4CAF50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.oc-newsletter-v2__breadcrumb:hover {
    color: #2e7d32;
    text-decoration: underline;
}

.oc-newsletter-v2__breadcrumb--current {
    color: #888;
    cursor: default;
}

.oc-newsletter-v2__breadcrumb--current:hover {
    text-decoration: none;
    color: #888;
}

.oc-newsletter-v2__breadcrumb-sep {
    color: #ccc;
    font-size: 18px;
    line-height: 1;
}

/* Карточка */
.oc-newsletter-v2__card {
    background: #fff;
    border-radius: 20px;
    border: 2px solid #f0f0f0;
    padding: 36px 32px 32px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.05);
    transition: all 0.35s ease;
}

.oc-newsletter-v2__card:hover {
    border-color: #c8e6c9;
    box-shadow: 0 12px 40px rgba(76,175,80,0.12);
}

/* Шапка карточки */
.oc-newsletter-v2__card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f0f0f0;
}

.oc-newsletter-v2__card-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    box-shadow: 0 6px 16px rgba(76,175,80,0.35);
    flex-shrink: 0;
}

.oc-newsletter-v2__card-title {
    font-size: 24px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 0;
    line-height: 1.3;
}

/* Форма */
.oc-newsletter-v2__form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Поле */
.oc-newsletter-v2__field {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Лейбл */
.oc-newsletter-v2__label {
    font-size: 13px;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

/* Радио */
.oc-newsletter-v2__radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.oc-newsletter-v2__radio {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    padding: 14px 20px;
    border-radius: 12px;
    border: 2px solid #e8e8e8;
    background: #f8f9fa;
    transition: all 0.25s ease;
    flex: 1;
    min-width: 120px;
}

.oc-newsletter-v2__radio:hover {
    border-color: #c8e6c9;
    background: #f0faf0;
}

.oc-newsletter-v2__radio input {
    display: none;
}

.oc-newsletter-v2__radio-mark {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s;
}

.oc-newsletter-v2__radio-mark::after {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #4CAF50;
    transform: scale(0);
    transition: transform 0.2s;
}

.oc-newsletter-v2__radio input:checked + .oc-newsletter-v2__radio-mark {
    border-color: #4CAF50;
}

.oc-newsletter-v2__radio input:checked + .oc-newsletter-v2__radio-mark::after {
    transform: scale(1);
}

.oc-newsletter-v2__radio input:checked ~ .oc-newsletter-v2__radio-text {
    color: #2e7d32;
    font-weight: 600;
}

.oc-newsletter-v2__radio-text {
    font-size: 16px;
    color: #555;
    transition: all 0.2s;
}

/* Кнопки */
.oc-newsletter-v2__actions {
    display: flex;
    gap: 12px;
    margin-top: 8px;
}

.oc-newsletter-v2__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
}

.oc-newsletter-v2__btn--primary {
    background: linear-gradient(135deg, #4CAF50, #2e7d32);
    color: #fff;
    box-shadow: 0 4px 14px rgba(76,175,80,0.35);
    flex: 1;
}

.oc-newsletter-v2__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(76,175,80,0.5);
}

.oc-newsletter-v2__btn--primary:active {
    transform: scale(0.97);
}

.oc-newsletter-v2__btn--secondary {
    background: #fff;
    color: #555;
    border: 2px solid #e8e8e8;
    padding: 12px 24px;
    font-size: 15px;
}

.oc-newsletter-v2__btn--secondary:hover {
    border-color: #4CAF50;
    color: #2e7d32;
    background: #f0faf0;
}

/* Адаптив */
@media (max-width: 767px) {
    .oc-newsletter-v2 {
        padding: 20px 0 40px;
    }
    
    .oc-newsletter-v2__breadcrumbs {
        margin-bottom: 20px;
    }
    
    .oc-newsletter-v2__card {
        padding: 28px 24px 24px;
    }
    
    .oc-newsletter-v2__card-title {
        font-size: 20px;
    }
    
    .oc-newsletter-v2__card-icon {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }
    
    .oc-newsletter-v2__actions {
        flex-direction: column-reverse;
    }
    
    .oc-newsletter-v2__btn--secondary {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .oc-newsletter-v2__card {
        padding: 24px 20px 20px;
        border-radius: 16px;
    }
    
    .oc-newsletter-v2__radio {
        min-width: 100%;
    }
    
    .oc-newsletter-v2__btn {
        padding: 12px 24px;
        font-size: 15px;
    }
}
