@charset "UTF-8";
/* ==================== PERFORMANCE OPTIMIZATIONS FOR CREDITOR ==================== */
/* Оптимизации для улучшения производительности и плавности прокрутки */

/* Оптимизация отрисовки для элементов с анимациями */
*, *::before, *::after {
    will-change: auto;
}

/* Используем GPU-ускорение только для интерактивных элементов */
.dashboard-card:hover,
.card-action:hover,
.notification-card:hover {
    will-change: transform, opacity;
    transform: translateZ(0); /* Включаем GPU-слой */
}

/* Убираем чрезмерные анимации на hover для мобильных */
@media (hover: none) and (pointer: coarse) {
    .dashboard-card:hover,
    .card-action:hover,
    .notification-card:hover {
        transform: none !important;
        box-shadow: inherit !important;
    }
}

/* Упрощенные переходы для лучшей производительности */
.dashboard-card,
.card-action,
.notification-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

/* Creditor account styles — isolated with .cred- prefix to avoid conflicts */

/* ==================== ACCOUNT HEADER & TITLE ==================== */
/* Стили заголовка личного кабинета */

.account-header {
    margin: 24px 0;
    padding: 0;
    text-align: center;
}

.account-title {
    font-size: 28px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
}

@media (max-width: 768px) {
    .account-title {
        font-size: 24px;
    }
}

@media (max-width: 480px) {
    .account-title {
        font-size: 20px;
    }
}

/* ==============================
   CREDITOR LEGAL REGISTRATION (crl- namespace)
   Purpose: Modern UI for cred/form_creditor_legal.php
   Palette: Primary #7796C6, Accent #FFA216, Danger #E75656
============================== */

:root {
    --crl-primary: #7796C6;
    --crl-primary-dark: #5a7dad;
    --crl-accent: #FFA216;
    --crl-danger: #E75656;
    --crl-success: #10b981;
    --crl-warning: #f59e0b;
    --crl-bg: #f8fafc;
    --crl-white: #ffffff;
    --crl-gray-50: #f8fafc;
    --crl-gray-100: #f1f5f9;
    --crl-gray-200: #e2e8f0;
    --crl-gray-300: #cbd5e1;
    --crl-gray-400: #94a3b8;
    --crl-gray-500: #64748b;
    --crl-gray-600: #475569;
    --crl-gray-800: #1e293b;
    --crl-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.04);
    --crl-shadow: 0 10px 30px -12px rgb(15 23 42 / 0.25);
    --crl-radius: 12px;
    --crl-radius-sm: 8px;
    --crl-transition: all 0.2s ease;
}

.crl-breadcrumb {
    background: var(--crl-white);
    border-bottom: 1px solid var(--crl-gray-200);
    padding: 14px 0;
    margin: 30px 0 16px;
    box-shadow: var(--crl-shadow-sm);
}

.crl-breadcrumb-list {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 16px;
    margin: 0;
    flex-wrap: wrap;
    max-width: 1200px;
    box-sizing: border-box;
}

.crl-breadcrumb-item {
    font-size: 14px;
    color: var(--crl-gray-500);
}

.crl-breadcrumb-link {
    color: var(--crl-gray-600);
    text-decoration: none;
    padding: 6px 10px;
    border-radius: 6px;
    transition: var(--crl-transition);
}

.crl-breadcrumb-link:hover {
    color: var(--crl-primary);
    background: var(--crl-gray-100);
}

.crl-breadcrumb-item + .crl-breadcrumb-item::before {
    content: '›';
    color: var(--crl-gray-300);
    margin: 0 4px;
}

.crl-breadcrumb-current {
    color: var(--crl-gray-800);
    font-weight: 600;
}

.crl-form-container {
    max-width: 1100px !important;
    margin: 0 auto 56px;
    padding: 0 16px 48px;
    box-sizing: border-box !important;
}

.crl-form-header {
    background: linear-gradient(120deg, #f8fafc, #e8efff);
    border: 1px solid var(--crl-gray-200);
    border-radius: var(--crl-radius);
    padding: 24px 24px 18px;
    box-shadow: var(--crl-shadow-sm);
}

.crl-form-title {
    margin: 0 0 8px;
    font-size: 28px;
    font-weight: 700;
    color: var(--crl-gray-800);
}

.crl-form-hint {
    margin: 0;
    color: var(--crl-gray-600);
    font-size: 15px;
}

.crl-progress {
    margin-top: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.crl-progress-bar {
    flex: 1;
    height: 10px;
    background: var(--crl-gray-100);
    border-radius: 999px;
    overflow: hidden;
}

.crl-progress-fill {
    height: 100%;
    width: 0;
    background: var(--crl-primary);
    transition: width 0.25s ease;
}

.crl-progress-text {
    font-size: 14px;
    color: var(--crl-gray-600);
    min-width: 120px;
}

.crl-form {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: 24px;
}

.crl-section {
    background: var(--crl-white);
    border: 1px solid var(--crl-gray-200);
    border-radius: var(--crl-radius);
    padding: 24px;
    box-shadow: var(--crl-shadow);
}

.crl-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.crl-section-title {
    margin: 0;
    font-size: 20px;
    color: var(--crl-gray-800);
}

.crl-section-note {
    margin: 0;
    color: var(--crl-gray-500);
    font-size: 14px;
}

.crl-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
}

.crl-form-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
}

.crl-form-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.crl-label {
    font-weight: 600;
    font-size: 14px;
    color: var(--crl-gray-700);
    display: flex;
    align-items: center;
    gap: 6px;
}

.crl-required {
    color: var(--crl-danger);
}

.crl-description {
    margin: 0;
    color: var(--crl-gray-500);
    font-size: 13px;
}

.crl-input {
    width: 100%;
    box-sizing: border-box;
    border: 2px solid var(--crl-gray-200);
    border-radius: var(--crl-radius-sm);
    padding: 12px 14px;
    font-size: 15px;
    background: var(--crl-white);
    color: var(--crl-gray-800);
    transition: var(--crl-transition);
}

.crl-input:focus {
    outline: none;
    border-color: var(--crl-primary);
    box-shadow: 0 0 0 3px rgb(119 150 198 / 0.25);
}

.crl-input[readonly] {
    background: var(--crl-gray-50);
    cursor: not-allowed;
}

.crl-input.crl-error {
    border-color: var(--crl-danger);
    box-shadow: 0 0 0 3px rgb(231 86 86 / 0.2);
}

.crl-input.crl-valid {
    border-color: var(--crl-success);
}

.crl-auto-resize {
    resize: vertical;
    min-height: 120px;
}

.crl-error-message {
    display: none;
    color: var(--crl-danger);
    font-size: 13px;
}

.crl-char-counter {
    font-size: 12px;
    color: var(--crl-gray-500);
    display: flex;
    justify-content: flex-end;
    gap: 4px;
}

.crl-counter-warning {
    color: var(--crl-warning);
}

.crl-counter-danger {
    color: var(--crl-danger);
}

.crl-file-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.crl-file-item {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 10px;
}

.crl-file-input {
    padding: 10px;
}

.crl-file-name {
    padding: 10px;
}

.crl-radio-group {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.crl-radio-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid var(--crl-gray-200);
    border-radius: var(--crl-radius-sm);
    cursor: pointer;
    transition: var(--crl-transition);
}

.crl-radio-label:hover {
    border-color: var(--crl-primary);
    background: var(--crl-gray-50);
}

.crl-radio-input {
    width: 18px;
    height: 18px;
    accent-color: var(--crl-primary);
}

.crl-checkbox-group {
    gap: 12px;
}

.crl-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--crl-gray-200);
    border-radius: var(--crl-radius-sm);
    background: var(--crl-gray-50);
}

.crl-checkbox-label input[type="checkbox"] {
    margin-top: 2px;
    width: 18px;
    height: 18px;
    accent-color: var(--crl-primary);
}

.crl-link {
    color: var(--crl-primary);
    text-decoration: none;
}

.crl-link:hover {
    text-decoration: underline;
}

.crl-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.crl-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    border-radius: var(--crl-radius-sm);
    border: 2px solid transparent;
    font-weight: 600;
    cursor: pointer;
    transition: var(--crl-transition);
    text-decoration: none;
}

.crl-btn-primary {
    background: linear-gradient(120deg, #7796C6, #6b8ac2);
    color: var(--crl-white);
    border-color: transparent;
    box-shadow: 0 10px 20px -12px rgb(119 150 198 / 0.6);
}

.crl-btn-primary:hover {
    background: linear-gradient(120deg, #6b8ac2, #5a7dad);
    transform: translateY(-1px);
}

.crl-btn-secondary {
    background: var(--crl-white);
    color: var(--crl-gray-800);
    border-color: var(--crl-gray-300);
}

.crl-btn-secondary:hover {
    border-color: var(--crl-primary);
    color: var(--crl-primary);
}

.crl-rep-card {
    border: 1px solid var(--crl-gray-200);
    border-radius: var(--crl-radius);
    padding: 18px;
    background: linear-gradient(135deg, #ffffff, #f5f7fb);
    box-shadow: var(--crl-shadow-sm);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.crl-rep-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.crl-rep-number {
    margin: 0 0 6px;
    font-weight: 700;
    color: var(--crl-gray-800);
}

.crl-rep-rating {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.crl-rating-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: var(--crl-gray-100);
    color: var(--crl-gray-700);
    font-weight: 600;
    font-size: 13px;
}

.crl-rep-badges img {
    height: 32px;
    width: 32px;
    margin-left: 6px;
}

.crl-rep-body {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px 16px;
}

.crl-rep-item {
    font-size: 14px;
    color: var(--crl-gray-700);
}

.crl-rep-item span {
    color: var(--crl-gray-500);
    margin-right: 6px;
}

.crl-cert-badge {
    height: 32px;
    width: 32px;
}

.crl-access-denied {
    border: 2px solid var(--crl-danger);
    background: linear-gradient(135deg, #fee2e2, #fecaca);
    border-radius: var(--crl-radius);
    padding: 20px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    box-shadow: var(--crl-shadow-sm);
}

.crl-access-denied-icon {
    font-size: 28px;
}

.crl-access-denied-content h3 {
    margin: 0 0 6px;
    color: var(--crl-gray-800);
}

.crl-access-denied-content p {
    margin: 0 0 12px;
    color: var(--crl-gray-700);
}

@media (max-width: 720px) {
    .crl-form-header {
        padding: 18px;
    }
    .crl-file-item {
        grid-template-columns: 1fr;
    }
    .crl-rep-header {
        flex-direction: column;
    }
}

@media (max-width: 540px) {
    .crl-progress {
        flex-direction: column;
        align-items: flex-start;
    }
    .crl-progress-text {
        margin-left: 2px;
    }
    .crl-actions {
        flex-direction: column;
    }
}
/* ==============================
   CHANGE CREDITOR LEGAL FORM STYLES (ccl-change-legal- namespace)
   Purpose: Modern form styling for change_form_cred_leg.php
   Palette: Primary #7796C6, Accent #FFA216, Danger #E75656
   Focus: Legal entity data editing, professional forms, modern UX patterns
============================== */

:root {
	--ccl-change-legal-primary: #7796C6;
	--ccl-change-legal-primary-dark: #5a7dad;
	--ccl-change-legal-primary-light: #a8badd;
	--ccl-change-legal-accent: #FFA216;
	--ccl-change-legal-accent-dark: #e68a00;
	--ccl-change-legal-danger: #E75656;
	--ccl-change-legal-danger-dark: #d63447;
	--ccl-change-legal-success: #16a34a;
	--ccl-change-legal-warning: #f59e0b;
	--ccl-change-legal-gray-50: #f8fafc;
	--ccl-change-legal-gray-100: #f1f5f9;
	--ccl-change-legal-gray-200: #e2e8f0;
	--ccl-change-legal-gray-300: #cbd5e1;
	--ccl-change-legal-gray-400: #94a3b8;
	--ccl-change-legal-gray-500: #64748b;
	--ccl-change-legal-gray-600: #475569;
	--ccl-change-legal-gray-700: #334155;
	--ccl-change-legal-gray-800: #1e293b;
	--ccl-change-legal-gray-900: #0f172a;
	--ccl-change-legal-white: #ffffff;
	--ccl-change-legal-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
	--ccl-change-legal-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
	--ccl-change-legal-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
	--ccl-change-legal-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
	--ccl-change-legal-border-radius: 8px;
	--ccl-change-legal-border-radius-lg: 12px;
	--ccl-change-legal-transition: all 0.2s ease-in-out;
}

/* Main container */
.ccl-change-legal-container {
	max-width: 800px !important;
	margin: 0 auto;
	padding: 0 16px 64px;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
	line-height: 1.6;
	color: var(--ccl-change-legal-gray-800);
	background-color: var(--ccl-change-legal-gray-50);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Breadcrumbs */
.ccl-change-legal-breadcrumbs {
	background: var(--ccl-change-legal-white);
	border-bottom: 1px solid var(--ccl-change-legal-gray-200);
	padding: 12px 0;
	margin: 50px 0 24px;
	border-radius: var(--ccl-change-legal-border-radius) var(--ccl-change-legal-border-radius) 0 0;
}

.ccl-change-legal-breadcrumb-list {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.ccl-change-legal-breadcrumb-item {
	font-size: 14px;
}

.ccl-change-legal-breadcrumb-link {
	color: var(--ccl-change-legal-gray-600);
	text-decoration: none;
	padding: 4px 8px;
	border-radius: 4px;
	transition: var(--ccl-change-legal-transition);
}

.ccl-change-legal-breadcrumb-link:hover {
	background-color: var(--ccl-change-legal-gray-100);
	color: var(--ccl-change-legal-primary);
}

.ccl-change-legal-breadcrumb-item + .ccl-change-legal-breadcrumb-item::before {
	content: '›';
	color: var(--ccl-change-legal-gray-400);
	margin: 0 4px;
}

.ccl-change-legal-breadcrumb-current {
	color: var(--ccl-change-legal-gray-800);
	font-weight: 500;
}

/* Access denied notification */
.ccl-change-legal-access-denied {
	background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
	border: 2px solid var(--ccl-change-legal-danger);
	border-radius: var(--ccl-change-legal-border-radius-lg);
	padding: 32px;
	margin: 24px 0;
	box-shadow: var(--ccl-change-legal-shadow-lg);
	animation: none; /* Убираем анимацию для лучшей производительности */
}

.ccl-change-legal-access-denied-content {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.ccl-change-legal-access-denied-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
}

.ccl-change-legal-access-denied-text {
	color: var(--ccl-change-legal-danger-dark);
	font-size: 16px;
	font-weight: 500;
	margin: 0 0 16px;
}

.ccl-change-legal-access-denied-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--ccl-change-legal-primary);
	color: var(--ccl-change-legal-white) !important;
	border: none;
	border-radius: var(--ccl-change-legal-border-radius);
	padding: 12px 24px;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	transition: var(--ccl-change-legal-transition);
	cursor: pointer;
}

.ccl-change-legal-access-denied-btn:hover {
	background: var(--ccl-change-legal-primary-dark);
	transform: translateY(-1px);
	box-shadow: var(--ccl-change-legal-shadow-md);
}

/* Form container */
.ccl-change-legal-form-wrapper {
	background: var(--ccl-change-legal-white);
	border-radius: var(--ccl-change-legal-border-radius-lg);
	box-shadow: var(--ccl-change-legal-shadow-lg);
	padding: 32px;
	margin: 24px 0;
	animation: none; /* Убираем анимацию для лучшей производительности */
}

.ccl-change-legal-form-header {
	text-align: center;
	margin-bottom: 32px;
}

.ccl-change-legal-form-title {
	font-size: 28px !important;
	font-weight: 700 !important;
	color: var(--ccl-change-legal-gray-900) !important;
	margin: 0 0 8px;
	background: linear-gradient(135deg, var(--ccl-change-legal-primary) 0%, var(--ccl-change-legal-accent) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.ccl-change-legal-form-subtitle {
	font-size: 16px !important;
	color: var(--ccl-change-legal-gray-600) !important;
	margin: 0;
}

/* Form styles */
.ccl-change-legal-form {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.ccl-change-legal-form-group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ccl-change-legal-static-grid,
.ccl-change-legal-two-column {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.ccl-change-legal-static-item-full {
    grid-column: 1 / -1;
}

.ccl-change-legal-form-label {
	font-size: 14px;
	font-weight: 600;
	color: var(--ccl-change-legal-gray-700);
	display: flex;
	align-items: center;
	gap: 4px;
}

.ccl-change-legal-required {
	color: var(--ccl-change-legal-danger);
	font-weight: 700;
}

.ccl-change-legal-visible-mark {
	font-size: 16px;
	opacity: 0.7;
}

.ccl-change-legal-form-input,
.ccl-change-legal-form-textarea,
.ccl-change-legal-form-select {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	border: 2px solid var(--ccl-change-legal-gray-200);
	border-radius: var(--ccl-change-legal-border-radius);
	padding: 12px 16px;
	font-size: 16px;
	font-family: inherit;
	background: var(--ccl-change-legal-white);
	color: var(--ccl-change-legal-gray-800);
	transition: var(--ccl-change-legal-transition);
	outline: none;
}

.ccl-change-legal-form-input:focus,
.ccl-change-legal-form-textarea:focus,
.ccl-change-legal-form-select:focus {
	border-color: var(--ccl-change-legal-primary);
	box-shadow: 0 0 0 3px rgb(119 150 198 / 0.1);
}

.ccl-change-legal-form-input[readonly],
.ccl-change-legal-form-textarea[readonly] {
    background: var(--ccl-change-legal-gray-100);
    color: var(--ccl-change-legal-gray-700);
    cursor: default;
    border-style: dashed;
}

.ccl-change-legal-form-input:invalid,
.ccl-change-legal-form-textarea:invalid,
.ccl-change-legal-form-select:invalid {
	border-color: var(--ccl-change-legal-danger);
}

.ccl-change-legal-form-textarea {
	resize: vertical;
	min-height: 120px;
}

.ccl-change-legal-form-select {
	cursor: pointer;
}

/* Radio button styling */
.ccl-change-legal-radio-group {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
}

.ccl-change-legal-radio-label {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	padding: 8px 12px;
	border-radius: var(--ccl-change-legal-border-radius);
	transition: var(--ccl-change-legal-transition);
}

.ccl-change-legal-radio-label:hover {
	background-color: var(--ccl-change-legal-gray-50);
}

.ccl-change-legal-radio-input {
	width: 18px;
	height: 18px;
	border: 2px solid var(--ccl-change-legal-gray-300);
	border-radius: 50%;
	background: var(--ccl-change-legal-white);
	cursor: pointer;
	position: relative;
	transition: var(--ccl-change-legal-transition);
}

.ccl-change-legal-radio-input:checked {
	border-color: var(--ccl-change-legal-primary);
	background: var(--ccl-change-legal-primary);
}

.ccl-change-legal-radio-input:checked::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--ccl-change-legal-white);
}

.ccl-change-legal-radio-text {
	font-size: 14px;
	color: var(--ccl-change-legal-gray-700);
	font-weight: 500;
}

/* Checkbox styling */
.ccl-change-legal-checkbox-group {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ccl-change-legal-checkbox-label {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	cursor: pointer;
	padding: 12px;
	border-radius: var(--ccl-change-legal-border-radius);
	transition: var(--ccl-change-legal-transition);
	border: 1px solid var(--ccl-change-legal-gray-200);
}

.ccl-change-legal-checkbox-label:hover {
	background-color: var(--ccl-change-legal-gray-50);
	border-color: var(--ccl-change-legal-primary);
}

.ccl-change-legal-checkbox-input {
	width: 18px;
	height: 18px;
	border: 2px solid var(--ccl-change-legal-gray-300);
	border-radius: 4px;
	background: var(--ccl-change-legal-white);
	cursor: pointer;
	position: relative;
	transition: var(--ccl-change-legal-transition);
	flex-shrink: 0;
}

.ccl-change-legal-checkbox-input:checked {
	border-color: var(--ccl-change-legal-primary);
	background: var(--ccl-change-legal-primary);
}

.ccl-change-legal-checkbox-input:checked::after {
	content: '✓';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: var(--ccl-change-legal-white);
	font-size: 12px;
	font-weight: bold;
}

.ccl-change-legal-checkbox-text {
	font-size: 14px;
	color: var(--ccl-change-legal-gray-700);
	line-height: 1.5;
}

/* Submit button */
.ccl-change-legal-submit-btn {
	background: linear-gradient(135deg, var(--ccl-change-legal-primary) 0%, var(--ccl-change-legal-accent) 100%);
	color: var(--ccl-change-legal-white);
	border: none;
	border-radius: var(--ccl-change-legal-border-radius-lg);
	padding: 16px 32px;
	font-size: 18px;
	font-weight: 600;
	cursor: pointer;
	transition: var(--ccl-change-legal-transition);
	box-shadow: var(--ccl-change-legal-shadow-md);
	min-height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	max-width: 400px;
	margin: 32px auto 0;
}

.ccl-change-legal-submit-btn:hover {
	transform: translateY(-2px);
	box-shadow: var(--ccl-change-legal-shadow-lg);
}

.ccl-change-legal-submit-btn:active {
	transform: translateY(0);
}

/* Fieldsets and legends */
.ccl-change-legal-fieldset {
	border: 2px solid var(--ccl-change-legal-gray-200);
	border-radius: var(--ccl-change-legal-border-radius);
	padding: 24px;
	margin: 24px 0;
	background: var(--ccl-change-legal-gray-50);
}

.ccl-change-legal-legend {
	font-size: 18px;
	font-weight: 600;
	color: var(--ccl-change-legal-gray-800);
	padding: 0 16px;
	background: var(--ccl-change-legal-white);
	border-radius: var(--ccl-change-legal-border-radius);
	margin-bottom: 16px;
}

.ccl-change-legal-help-text {
	font-size: 12px;
	color: var(--ccl-change-legal-gray-500);
	margin-top: 4px;
}

.ccl-change-legal-form-actions {
	margin-top: 32px;
	text-align: center;
}

/* Animations */
@keyframes ccl-change-legal-fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Responsive design */
@media (max-width: 768px) {
	.ccl-change-legal-container {
		padding: 0 8px 32px;
	}

	.ccl-change-legal-form-wrapper {
		padding: 24px 16px;
		margin: 16px 0;
	}

	.ccl-change-legal-form-title {
		font-size: 24px;
	}

	.ccl-change-legal-form-input,
	.ccl-change-legal-form-textarea,
	.ccl-change-legal-form-select {
		font-size: 16px; /* Prevents zoom on iOS */
	}

	.ccl-change-legal-submit-btn {
		font-size: 16px;
		padding: 14px 24px;
	}

	.ccl-change-legal-radio-group {
		flex-direction: column;
		gap: 12px;
	}

    .ccl-change-legal-static-grid,
    .ccl-change-legal-two-column {
        grid-template-columns: 1fr;
    }

	.ccl-change-legal-fieldset {
		padding: 16px;
		margin: 16px 0;
	}
}

/* ==============================
   POST CONFIRM CREDITOR HU STYLES (pcf-post-confirm- namespace)
   Purpose: Modern result page styling for post_confirm_cred_hu.php
   Palette: Primary #7796C6, Accent #FFA216, Danger #E75656
   Focus: Result notifications, success/error states, modern UX patterns
============================== */

:root {
	--pcf-post-confirm-primary: #7796C6;
	--pcf-post-confirm-primary-dark: #5a7dad;
	--pcf-post-confirm-primary-light: #a8badd;
	--pcf-post-confirm-accent: #FFA216;
	--pcf-post-confirm-accent-dark: #e68a00;
	--pcf-post-confirm-danger: #E75656;
	--pcf-post-confirm-danger-dark: #d63447;
	--pcf-post-confirm-success: #16a34a;
	--pcf-post-confirm-warning: #f59e0b;
	--pcf-post-confirm-gray-50: #f8fafc;
	--pcf-post-confirm-gray-100: #f1f5f9;
	--pcf-post-confirm-gray-200: #e2e8f0;
	--pcf-post-confirm-gray-300: #cbd5e1;
	--pcf-post-confirm-gray-400: #94a3b8;
	--pcf-post-confirm-gray-500: #64748b;
	--pcf-post-confirm-gray-600: #475569;
	--pcf-post-confirm-gray-700: #334155;
	--pcf-post-confirm-gray-800: #1e293b;
	--pcf-post-confirm-gray-900: #0f172a;
	--pcf-post-confirm-white: #ffffff;
	--pcf-post-confirm-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
	--pcf-post-confirm-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
	--pcf-post-confirm-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
	--pcf-post-confirm-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
	--pcf-post-confirm-border-radius: 8px;
	--pcf-post-confirm-border-radius-lg: 12px;
	--pcf-post-confirm-transition: all 0.2s ease-in-out;
}

/* Main container */
.pcf-post-confirm-container {
	max-width: 800px !important;
	margin: 0 auto;
	padding: 0 16px 64px;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
	line-height: 1.6;
	color: var(--pcf-post-confirm-gray-800);
	background-color: var(--pcf-post-confirm-gray-50);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Breadcrumbs */
.pcf-post-confirm-breadcrumbs {
	background: var(--pcf-post-confirm-white);
	border-bottom: 1px solid var(--pcf-post-confirm-gray-200);
	padding: 12px 0;
	margin: 30px 0 24px;
	border-radius: var(--pcf-post-confirm-border-radius) var(--pcf-post-confirm-border-radius) 0 0;
}

.pcf-post-confirm-breadcrumb-list {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.pcf-post-confirm-breadcrumb-item {
	font-size: 14px;
}

.pcf-post-confirm-breadcrumb-link {
	color: var(--pcf-post-confirm-gray-600);
	text-decoration: none;
	padding: 4px 8px;
	border-radius: 4px;
	transition: var(--pcf-post-confirm-transition);
}

.pcf-post-confirm-breadcrumb-link:hover {
	background-color: var(--pcf-post-confirm-gray-100);
	color: var(--pcf-post-confirm-primary);
}

.pcf-post-confirm-breadcrumb-item + .pcf-post-confirm-breadcrumb-item::before {
	content: '›';
	color: var(--pcf-post-confirm-gray-400);
	margin: 0 4px;
}

.pcf-post-confirm-breadcrumb-current {
	color: var(--pcf-post-confirm-gray-800);
	font-weight: 500;
}

/* Result notification cards */
.pcf-post-confirm-result-card {
	background: var(--pcf-post-confirm-white);
	border-radius: var(--pcf-post-confirm-border-radius-lg);
	box-shadow: var(--pcf-post-confirm-shadow-lg);
	padding: 32px;
	margin: 24px 0;
	animation: none; /* Оптимизация производительности */
	border-left: 4px solid var(--pcf-post-confirm-primary);
}

.pcf-post-confirm-result-card.error {
	border-left-color: var(--pcf-post-confirm-danger);
	background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
}

.pcf-post-confirm-result-card.success {
	border-left-color: var(--pcf-post-confirm-success);
	background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
}

.pcf-post-confirm-result-card.warning {
	border-left-color: var(--pcf-post-confirm-accent);
	background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
}

.pcf-post-confirm-result-header {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 20px;
}

.pcf-post-confirm-result-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--pcf-post-confirm-white);
	box-shadow: var(--pcf-post-confirm-shadow);
}

.pcf-post-confirm-result-icon.error {
	background: linear-gradient(135deg, var(--pcf-post-confirm-danger) 0%, var(--pcf-post-confirm-danger-dark) 100%);
	color: var(--pcf-post-confirm-white);
}

.pcf-post-confirm-result-icon.success {
	background: linear-gradient(135deg, var(--pcf-post-confirm-success) 0%, #059669 100%);
	color: var(--pcf-post-confirm-white);
}

.pcf-post-confirm-result-icon.warning {
	background: linear-gradient(135deg, var(--pcf-post-confirm-accent) 0%, var(--pcf-post-confirm-accent-dark) 100%);
	color: var(--pcf-post-confirm-white);
}

.pcf-post-confirm-result-content {
	flex: 1;
}

.pcf-post-confirm-result-title {
	font-size: 24px;
	font-weight: 700;
	color: var(--pcf-post-confirm-gray-900);
	margin: 0 0 8px;
}

.pcf-post-confirm-result-title.error {
	color: var(--pcf-post-confirm-danger-dark);
}

.pcf-post-confirm-result-title.success {
	color: var(--pcf-post-confirm-success);
}

.pcf-post-confirm-result-title.warning {
	color: var(--pcf-post-confirm-accent-dark);
}

.pcf-post-confirm-result-message {
	font-size: 16px;
	color: var(--pcf-post-confirm-gray-600);
	margin: 0 0 24px;
	line-height: 1.6;
}

/* Action buttons */
.pcf-post-confirm-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.pcf-post-confirm-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 24px;
	border-radius: var(--pcf-post-confirm-border-radius);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	transition: var(--pcf-post-confirm-transition);
	cursor: pointer;
	border: none;
	box-shadow: var(--pcf-post-confirm-shadow);
}

.pcf-post-confirm-btn-primary {
	background: linear-gradient(135deg, var(--pcf-post-confirm-primary) 0%, var(--pcf-post-confirm-primary-dark) 100%);
	color: var(--pcf-post-confirm-white) !important;
}

.pcf-post-confirm-btn-primary:hover {
	transform: translateY(-1px);
	box-shadow: var(--pcf-post-confirm-shadow-md);
}

.pcf-post-confirm-btn-secondary {
	background: var(--pcf-post-confirm-white);
	color: var(--pcf-post-confirm-gray-700);
	border: 1px solid var(--pcf-post-confirm-gray-300);
}

.pcf-post-confirm-btn-secondary:hover {
	background: var(--pcf-post-confirm-gray-50);
	border-color: var(--pcf-post-confirm-gray-400);
	transform: translateY(-1px);
}

/* Details section */
.pcf-post-confirm-details {
	background: var(--pcf-post-confirm-white);
	border-radius: var(--pcf-post-confirm-border-radius-lg);
	padding: 24px;
	margin-top: 24px;
	box-shadow: var(--pcf-post-confirm-shadow);
	border: 1px solid var(--pcf-post-confirm-gray-200);
}

.pcf-post-confirm-details-title {
	font-size: 18px;
	font-weight: 600;
	color: var(--pcf-post-confirm-gray-800);
	margin: 0 0 16px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.pcf-post-confirm-details-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.pcf-post-confirm-details-item {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 12px 0;
	border-bottom: 1px solid var(--pcf-post-confirm-gray-100);
}

.pcf-post-confirm-details-item:last-child {
	border-bottom: none;
}

.pcf-post-confirm-details-label {
	font-weight: 500;
	color: var(--pcf-post-confirm-gray-600);
	min-width: 150px;
}

.pcf-post-confirm-details-value {
	color: var(--pcf-post-confirm-gray-800);
	font-weight: 600;
	text-align: right;
	flex: 1;
}

/* File upload results */
.pcf-post-confirm-files {
	margin-top: 20px;
}

.pcf-post-confirm-file-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	background: var(--pcf-post-confirm-gray-50);
	border-radius: var(--pcf-post-confirm-border-radius);
	margin-bottom: 8px;
	border-left: 3px solid var(--pcf-post-confirm-success);
}

.pcf-post-confirm-file-item.error {
	border-left-color: var(--pcf-post-confirm-danger);
	background: #fef2f2;
}

.pcf-post-confirm-file-icon {
	width: 20px;
	height: 20px;
	color: var(--pcf-post-confirm-success);
}

.pcf-post-confirm-file-icon.error {
	color: var(--pcf-post-confirm-danger);
}

.pcf-post-confirm-file-name {
	font-weight: 500;
	color: var(--pcf-post-confirm-gray-800);
}

.pcf-post-confirm-file-status {
	margin-left: auto;
	font-size: 12px;
	padding: 4px 8px;
	border-radius: 12px;
	background: var(--pcf-post-confirm-success);
	color: var(--pcf-post-confirm-white);
}

.pcf-post-confirm-file-status.error {
	background: var(--pcf-post-confirm-danger);
}

/* Animations - Закомментировано для оптимизации производительности
@keyframes pcf-post-confirm-fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
} */

/* Responsive design */
@media (max-width: 768px) {
	.pcf-post-confirm-container {
		padding: 0 8px 32px;
	}

	.pcf-post-confirm-result-card {
		padding: 24px 16px;
		margin: 16px 0;
	}

	.pcf-post-confirm-result-header {
		flex-direction: column;
		text-align: center;
		gap: 12px;
	}

	.pcf-post-confirm-actions {
		justify-content: center;
	}

	.pcf-post-confirm-btn {
		flex: 1;
		justify-content: center;
		min-width: 120px;
	}

	.pcf-post-confirm-details-item {
		flex-direction: column;
		gap: 4px;
		text-align: left;
	}

	.pcf-post-confirm-details-label {
		min-width: auto;
		font-size: 14px;
	}

	.pcf-post-confirm-details-value {
		text-align: left;
	}
}

/* ==============================
   CONFIRM CREDITOR HU FORM STYLES (ccf-confirm-cred- namespace)
   Purpose: Modern form styling for confirm_cred_hu.php
   Palette: Primary #7796C6, Accent #FFA216, Danger #E75656
   Focus: Identity verification, accessibility, modern UX patterns
============================== */

:root {
	--ccf-confirm-cred-primary: #7796C6;
	--ccf-confirm-cred-primary-dark: #5a7dad;
	--ccf-confirm-cred-primary-light: #a8badd;
	--ccf-confirm-cred-accent: #FFA216;
	--ccf-confirm-cred-accent-dark: #e68a00;
	--ccf-confirm-cred-danger: #E75656;
	--ccf-confirm-cred-danger-dark: #d63447;
	--ccf-confirm-cred-success: #16a34a;
	--ccf-confirm-cred-warning: #f59e0b;
	--ccf-confirm-cred-gray-50: #f8fafc;
	--ccf-confirm-cred-gray-100: #f1f5f9;
	--ccf-confirm-cred-gray-200: #e2e8f0;
	--ccf-confirm-cred-gray-300: #cbd5e1;
	--ccf-confirm-cred-gray-400: #94a3b8;
	--ccf-confirm-cred-gray-500: #64748b;
	--ccf-confirm-cred-gray-600: #475569;
	--ccf-confirm-cred-gray-700: #334155;
	--ccf-confirm-cred-gray-800: #1e293b;
	--ccf-confirm-cred-gray-900: #0f172a;
	--ccf-confirm-cred-white: #ffffff;
	--ccf-confirm-cred-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
	--ccf-confirm-cred-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
	--ccf-confirm-cred-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
	--ccf-confirm-cred-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
	--ccf-confirm-cred-border-radius: 8px;
	--ccf-confirm-cred-border-radius-lg: 12px;
	--ccf-confirm-cred-transition: all 0.2s ease-in-out;
}

/* Main container */
.ccf-confirm-cred-container {
	max-width: 800px !important;
	margin: 0 auto;
	padding: 0 16px 64px;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
	line-height: 1.6;
	color: var(--ccf-confirm-cred-gray-800);
	background-color: var(--ccf-confirm-cred-gray-50);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Breadcrumbs */
.ccf-confirm-cred-breadcrumbs {
	background: var(--ccf-confirm-cred-white);
	border-bottom: 1px solid var(--ccf-confirm-cred-gray-200);
	padding: 12px 0;
	margin: 24px 0;
	border-radius: var(--ccf-confirm-cred-border-radius) var(--ccf-confirm-cred-border-radius) 0 0;
}

.ccf-confirm-cred-breadcrumb-list {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.ccf-confirm-cred-breadcrumb-item {
	font-size: 14px;
}

.ccf-confirm-cred-breadcrumb-link {
	color: var(--ccf-confirm-cred-gray-600);
	text-decoration: none;
	padding: 4px 8px;
	border-radius: 4px;
	transition: var(--ccf-confirm-cred-transition);
}

.ccf-confirm-cred-breadcrumb-link:hover {
	background-color: var(--ccf-confirm-cred-gray-100);
	color: var(--ccf-confirm-cred-primary);
}

.ccf-confirm-cred-breadcrumb-item + .ccf-confirm-cred-breadcrumb-item::before {
	content: '›';
	color: var(--ccf-confirm-cred-gray-400);
	margin: 0 4px;
}

.ccf-confirm-cred-breadcrumb-current {
	color: var(--ccf-confirm-cred-gray-800);
	font-weight: 500;
}

/* Access denied notification */
.ccf-confirm-cred-access-denied {
	background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
	border: 2px solid var(--ccf-confirm-cred-danger);
	border-radius: var(--ccf-confirm-cred-border-radius-lg);
	padding: 32px;
	margin: 24px 0;
	box-shadow: var(--ccf-confirm-cred-shadow-lg);
	animation: none; /* Оптимизация производительности */
}

.ccf-confirm-cred-access-denied-content {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.ccf-confirm-cred-access-denied-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
}

.ccf-confirm-cred-access-denied-text {
	color: var(--ccf-confirm-cred-danger-dark);
	font-size: 16px;
	font-weight: 500;
	margin: 0 0 16px;
}

.ccf-confirm-cred-access-denied-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--ccf-confirm-cred-primary);
	color: var(--ccf-confirm-cred-white);
	border: none;
	border-radius: var(--ccf-confirm-cred-border-radius);
	padding: 12px 24px;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	transition: var(--ccf-confirm-cred-transition);
	cursor: pointer;
}

.ccf-confirm-cred-access-denied-btn:hover {
	background: var(--ccf-confirm-cred-primary-dark);
	transform: translateY(-1px);
	box-shadow: var(--ccf-confirm-cred-shadow-md);
}

/* Form container */
.ccf-confirm-cred-form-wrapper {
	background: var(--ccf-confirm-cred-white);
	border-radius: var(--ccf-confirm-cred-border-radius-lg);
	box-shadow: var(--ccf-confirm-cred-shadow-lg);
	padding: 32px;
	margin: 24px 0;
	animation: none; /* Оптимизация производительности */
}

.ccf-confirm-cred-form-header {
	text-align: center;
	margin-bottom: 32px;
}

.ccf-confirm-cred-form-title {
	font-size: 28px;
	font-weight: 700;
	color: var(--ccf-confirm-cred-gray-900);
	margin: 0 0 8px;
	background: linear-gradient(135deg, var(--ccf-confirm-cred-primary) 0%, var(--ccf-confirm-cred-accent) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.ccf-confirm-cred-form-subtitle {
	font-size: 16px;
	color: var(--ccf-confirm-cred-gray-600);
	margin: 0;
}

/* Form styles */
.ccf-confirm-cred-form {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.ccf-confirm-cred-form-group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ccf-confirm-cred-form-label {
	font-size: 14px;
	font-weight: 600;
	color: var(--ccf-confirm-cred-gray-700);
	display: flex;
	align-items: center;
	gap: 4px;
}

.ccf-confirm-cred-required {
	color: var(--ccf-confirm-cred-danger);
	font-weight: 700;
}

.ccf-confirm-cred-form-input,
.ccf-confirm-cred-form-textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	border: 2px solid var(--ccf-confirm-cred-gray-200);
	border-radius: var(--ccf-confirm-cred-border-radius);
	padding: 12px 16px;
	font-size: 16px;
	font-family: inherit;
	background: var(--ccf-confirm-cred-white);
	color: var(--ccf-confirm-cred-gray-800);
	transition: var(--ccf-confirm-cred-transition);
	outline: none;
}

.ccf-confirm-cred-form-input:focus,
.ccf-confirm-cred-form-textarea:focus {
	border-color: var(--ccf-confirm-cred-primary);
	box-shadow: 0 0 0 3px rgb(119 150 198 / 0.1);
}

.ccf-confirm-cred-form-input:invalid,
.ccf-confirm-cred-form-textarea:invalid {
	border-color: var(--ccf-confirm-cred-danger);
}

.ccf-confirm-cred-form-textarea {
	resize: vertical;
	min-height: 100px;
}

/* File upload styling */
.ccf-confirm-cred-file-upload {
	border: 2px dashed var(--ccf-confirm-cred-danger);
	border-radius: var(--ccf-confirm-cred-border-radius);
	padding: 24px;
	text-align: center;
	background: var(--ccf-confirm-cred-gray-50);
	transition: var(--ccf-confirm-cred-transition);
}

.ccf-confirm-cred-file-upload:hover {
	border-color: var(--ccf-confirm-cred-primary);
	background: var(--ccf-confirm-cred-primary-light);
}

.ccf-confirm-cred-file-input {
	width: 100%;
	margin-bottom: 12px;
	padding: 8px;
	border: 1px solid var(--ccf-confirm-cred-gray-300);
	border-radius: var(--ccf-confirm-cred-border-radius);
}

.ccf-confirm-cred-file-description {
	font-size: 14px;
	color: var(--ccf-confirm-cred-gray-600);
	margin-bottom: 8px;
}

.ccf-confirm-cred-add-file-btn {
	background: var(--ccf-confirm-cred-accent);
	color: var(--ccf-confirm-cred-white);
	border: none;
	border-radius: var(--ccf-confirm-cred-border-radius);
	padding: 8px 16px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: var(--ccf-confirm-cred-transition);
	margin-top: 16px;
    width: 200px;
}

.ccf-confirm-cred-add-file-btn:hover {
	background: var(--ccf-confirm-cred-accent-dark);
	transform: translateY(-1px);
}

/* Submit button */
.ccf-confirm-cred-submit-btn {
	background: linear-gradient(135deg, var(--ccf-confirm-cred-primary) 0%, var(--ccf-confirm-cred-accent) 100%);
	color: var(--ccf-confirm-cred-white);
	border: none;
	border-radius: var(--ccf-confirm-cred-border-radius-lg);
	padding: 16px 32px;
	font-size: 18px;
	font-weight: 600;
	cursor: pointer;
	transition: var(--ccf-confirm-cred-transition);
	box-shadow: var(--ccf-confirm-cred-shadow-md);
	min-height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	max-width: 400px;
	margin: 32px auto 0;
}

.ccf-confirm-cred-submit-btn:hover {
	transform: translateY(-2px);
	box-shadow: var(--ccf-confirm-cred-shadow-lg);
}

.ccf-confirm-cred-submit-btn:active {
	transform: translateY(0);
}

/* Fieldsets and legends */
.ccf-confirm-cred-fieldset {
	border: 2px solid var(--ccf-confirm-cred-gray-200);
	border-radius: var(--ccf-confirm-cred-border-radius);
	padding: 24px;
	margin: 24px 0;
	background: var(--ccf-confirm-cred-gray-50);
}

.ccf-confirm-cred-legend {
	font-size: 18px;
	font-weight: 600;
	color: var(--ccf-confirm-cred-gray-800);
	padding: 0 16px;
	background: var(--ccf-confirm-cred-white);
	border-radius: var(--ccf-confirm-cred-border-radius);
	margin-bottom: 16px;
}

.ccf-confirm-cred-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.ccf-confirm-cred-form-col {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ccf-confirm-cred-help-text {
	font-size: 12px;
	color: var(--ccf-confirm-cred-gray-500);
	margin-top: 4px;
}

.ccf-confirm-cred-form-actions {
	margin-top: 32px;
	text-align: center;
}

/* Animations - Закомментировано для оптимизации производительности
@keyframes ccf-confirm-cred-fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
} */

/* Responsive design */
@media (max-width: 768px) {
	.ccf-confirm-cred-container {
		padding: 0 8px 32px;
	}

	.ccf-confirm-cred-form-wrapper {
		padding: 24px 16px;
		margin: 16px 0;
	}

	.ccf-confirm-cred-form-title {
		font-size: 24px;
	}

	.ccf-confirm-cred-form-input,
	.ccf-confirm-cred-form-textarea {
		font-size: 16px; /* Prevents zoom on iOS */
	}

	.ccf-confirm-cred-submit-btn {
		font-size: 16px;
		padding: 14px 24px;
	}

	.ccf-confirm-cred-form-row {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.ccf-confirm-cred-fieldset {
		padding: 16px;
		margin: 16px 0;
	}
}

/* ==============================
   EDIT HU FORM STYLES (crf-edit-hu- namespace)
   Purpose: Modern form styling for change_cases_debt_hu.php 
   Palette: Primary #7796C6, Accent #FFA216, Danger #E75656
   Focus: Accessibility, mobile-first, modern UX patterns
============================== */

:root {
	--crf-edit-hu-primary: #7796C6;
	--crf-edit-hu-primary-dark: #5a7dad;
	--crf-edit-hu-accent: #FFA216;
	--crf-edit-hu-danger: #E75656;
	--crf-edit-hu-success: #16a34a;
	--crf-edit-hu-warning: #f59e0b;
	--crf-edit-hu-gray-50: #f8fafc;
	--crf-edit-hu-gray-100: #f1f5f9;
	--crf-edit-hu-gray-200: #e2e8f0;
	--crf-edit-hu-gray-300: #cbd5e1;
	--crf-edit-hu-gray-400: #94a3b8;
	--crf-edit-hu-gray-500: #64748b;
	--crf-edit-hu-gray-600: #475569;
	--crf-edit-hu-gray-700: #334155;
	--crf-edit-hu-gray-800: #1e293b;
	--crf-edit-hu-gray-900: #0f172a;
	--crf-edit-hu-white: #ffffff;
	--crf-edit-hu-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
	--crf-edit-hu-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
	--crf-edit-hu-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
	--crf-edit-hu-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
	--crf-edit-hu-border-radius: 8px;
	--crf-edit-hu-border-radius-lg: 12px;
	--crf-edit-hu-transition: all 0.2s ease-in-out;
}

/* Body and base styles */
.crf-edit-hu-body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
	line-height: 1.6;
	color: var(--crf-edit-hu-gray-800);
	background-color: var(--crf-edit-hu-gray-50);
	margin: 0;
	padding: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Breadcrumbs */
.crf-edit-hu-breadcrumbs {
	background: var(--crf-edit-hu-white);
	border-bottom: 1px solid var(--crf-edit-hu-gray-200);
	padding: 12px 0;
	margin-bottom: 24px;
}

.crf-edit-hu-breadcrumb-list {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.crf-edit-hu-breadcrumb-item {
	font-size: 14px;
}

.crf-edit-hu-breadcrumb-link {
	color: var(--crf-edit-hu-gray-600);
	text-decoration: none;
	padding: 4px 8px;
	border-radius: 4px;
	transition: var(--crf-edit-hu-transition);
}

.crf-edit-hu-breadcrumb-link:hover {
	background-color: var(--crf-edit-hu-gray-100);
	color: var(--crf-edit-hu-primary);
}

.crf-edit-hu-breadcrumb-item + .crf-edit-hu-breadcrumb-item::before {
	content: '›';
	color: var(--crf-edit-hu-gray-400);
	margin: 0 4px;
}

.crf-edit-hu-breadcrumb-current {
	color: var(--crf-edit-hu-gray-800);
	font-weight: 500;
}

/* Main container */
.crf-edit-hu-container {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 16px 64px;
}

/* Header */
.crf-edit-hu-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 32px;
	padding: 24px;
	background: linear-gradient(135deg, var(--crf-edit-hu-primary) 0%, var(--crf-edit-hu-primary-dark) 100%);
	border-radius: var(--crf-edit-hu-border-radius-lg);
	box-shadow: var(--crf-edit-hu-shadow-lg);
	color: var(--crf-edit-hu-white);
}

.crf-edit-hu-header-content {
	flex: 1;
}

.crf-edit-hu-title {
	font-size: 28px;
	font-weight: 700;
	margin: 0 0 8px;
	line-height: 1.2;
}

.crf-edit-hu-subtitle {
	font-size: 16px;
	margin: 0;
	opacity: 0.9;
	line-height: 1.4;
}

.crf-edit-hu-header-icon {
	font-size: 48px;
	margin-left: 24px;
	opacity: 0.8;
}

/* Form styles */
.crf-edit-hu-form {
	background: var(--crf-edit-hu-white);
	border-radius: var(--crf-edit-hu-border-radius-lg);
	box-shadow: var(--crf-edit-hu-shadow);
	overflow: hidden;
}

/* Fieldsets */
.crf-edit-hu-fieldset {
	border: none;
	margin: 0;
	padding: 32px;
	border-bottom: 1px solid var(--crf-edit-hu-gray-200);
}

.crf-edit-hu-fieldset:last-child {
	border-bottom: none;
}

.crf-edit-hu-legend {
	font-size: 20px;
	font-weight: 600;
	color: var(--crf-edit-hu-gray-800);
	margin: 0 0 24px;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 8px;
}

.crf-edit-hu-nested-fieldset {
	border: 1px solid var(--crf-edit-hu-gray-200);
	border-radius: var(--crf-edit-hu-border-radius);
	padding: 16px;
	margin: 0;
	background: var(--crf-edit-hu-gray-50);
}

.crf-edit-hu-nested-legend {
	font-size: 16px;
	font-weight: 500;
	color: var(--crf-edit-hu-gray-700);
	margin: 0 0 12px;
	padding: 0 8px;
	background: var(--crf-edit-hu-white);
}

/* Form groups */
.crf-edit-hu-form-group {
	margin-bottom: 24px;
}

.crf-edit-hu-form-group:last-child {
	margin-bottom: 0;
}

/* Labels */
.crf-edit-hu-form-label {
	display: block;
	font-size: 16px;
	font-weight: 500;
	color: var(--crf-edit-hu-gray-700);
	margin-bottom: 8px;
	line-height: 1.4;
}

.crf-edit-hu-visible-mark {
	color: var(--crf-edit-hu-accent);
	font-size: 14px;
	margin-left: 4px;
}

.crf-edit-hu-required-mark {
	color: var(--crf-edit-hu-danger);
	margin-left: 4px;
}

/* Input fields */
.crf-edit-hu-form-input,
.crf-edit-hu-form-select,
.crf-edit-hu-form-textarea {
	width: 100%;
	padding: 12px 16px;
	border: 2px solid var(--crf-edit-hu-gray-200);
	border-radius: var(--crf-edit-hu-border-radius);
	font-size: 16px;
	font-family: inherit;
	background-color: var(--crf-edit-hu-white);
	transition: var(--crf-edit-hu-transition);
	box-sizing: border-box;
}

.crf-edit-hu-form-input:focus,
.crf-edit-hu-form-select:focus,
.crf-edit-hu-form-textarea:focus {
	outline: none;
	border-color: var(--crf-edit-hu-primary);
	box-shadow: 0 0 0 3px rgba(119, 150, 198, 0.1);
}

.crf-edit-hu-form-input:invalid,
.crf-edit-hu-form-select:invalid,
.crf-edit-hu-form-textarea:invalid {
	border-color: var(--crf-edit-hu-danger);
}

.crf-edit-hu-form-textarea {
	resize: vertical;
	min-height: 100px;
}

.crf-edit-hu-large-textarea {
	min-height: 150px;
}

/* Help text and counters */
.crf-edit-hu-form-help {
	font-size: 14px;
	color: var(--crf-edit-hu-gray-500);
	margin-top: 4px;
	line-height: 1.4;
}

.crf-edit-hu-form-help-group {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	margin-top: 4px;
}

.crf-edit-hu-char-counter {
	font-size: 12px;
	color: var(--crf-edit-hu-gray-400);
	white-space: nowrap;
}

.crf-edit-hu-char-warning {
	color: var(--crf-edit-hu-warning);
}

/* Error messages */
.crf-edit-hu-error-message {
	color: var(--crf-edit-hu-danger);
	font-size: 14px;
	margin-top: 4px;
	display: none;
}

.crf-edit-hu-error-message:not(:empty) {
	display: block;
}

/* Radio buttons */
.crf-edit-hu-radio-group {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.crf-edit-hu-radio-label {
	display: flex;
	align-items: center;
	cursor: pointer;
	padding: 12px;
	border: 2px solid var(--crf-edit-hu-gray-200);
	border-radius: var(--crf-edit-hu-border-radius);
	transition: var(--crf-edit-hu-transition);
	background-color: var(--crf-edit-hu-white);
}

.crf-edit-hu-radio-label:hover {
	border-color: var(--crf-edit-hu-primary);
	background-color: var(--crf-edit-hu-gray-50);
}

.crf-edit-hu-radio-input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.crf-edit-hu-radio-custom {
	width: 20px;
	height: 20px;
	border: 2px solid var(--crf-edit-hu-gray-300);
	border-radius: 50%;
	margin-right: 12px;
	position: relative;
	flex-shrink: 0;
	transition: var(--crf-edit-hu-transition);
}

.crf-edit-hu-radio-input:checked + .crf-edit-hu-radio-custom {
	border-color: var(--crf-edit-hu-primary);
	background-color: var(--crf-edit-hu-primary);
}

.crf-edit-hu-radio-input:checked + .crf-edit-hu-radio-custom::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: var(--crf-edit-hu-white);
}

.crf-edit-hu-radio-text {
	font-size: 16px;
	color: var(--crf-edit-hu-gray-700);
	line-height: 1.4;
}

.crf-edit-hu-radio-input:checked + .crf-edit-hu-radio-custom + .crf-edit-hu-radio-text {
	font-weight: 500;
	color: var(--crf-edit-hu-gray-800);
}

/* Checkboxes */
.crf-edit-hu-checkbox-group {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 12px;
}

.crf-edit-hu-checkbox-label {
	display: flex;
	align-items: center;
	cursor: pointer;
	padding: 8px 12px;
	border: 1px solid var(--crf-edit-hu-gray-200);
	border-radius: var(--crf-edit-hu-border-radius);
	transition: var(--crf-edit-hu-transition);
	background-color: var(--crf-edit-hu-white);
}

.crf-edit-hu-checkbox-label:hover {
	border-color: var(--crf-edit-hu-primary);
	background-color: var(--crf-edit-hu-gray-50);
}

.crf-edit-hu-checkbox-input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.crf-edit-hu-checkbox-custom {
	width: 18px;
	height: 18px;
	border: 2px solid var(--crf-edit-hu-gray-300);
	border-radius: 4px;
	margin-right: 10px;
	position: relative;
	flex-shrink: 0;
	transition: var(--crf-edit-hu-transition);
}

.crf-edit-hu-checkbox-input:checked + .crf-edit-hu-checkbox-custom {
	border-color: var(--crf-edit-hu-primary);
	background-color: var(--crf-edit-hu-primary);
}

.crf-edit-hu-checkbox-input:checked + .crf-edit-hu-checkbox-custom::after {
	content: '✓';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: var(--crf-edit-hu-white);
	font-size: 12px;
	font-weight: bold;
}

.crf-edit-hu-checkbox-text {
	font-size: 14px;
	color: var(--crf-edit-hu-gray-700);
	line-height: 1.4;
}

/* Expandable sections */
.crf-edit-hu-expandable-section {
	border: 1px solid var(--crf-edit-hu-gray-200);
	border-radius: var(--crf-edit-hu-border-radius);
	overflow: hidden;
}

.crf-edit-hu-toggle-button {
	width: 100%;
	padding: 16px;
	background: var(--crf-edit-hu-gray-50);
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 16px;
	font-weight: 500;
	color: var(--crf-edit-hu-gray-700);
	transition: var(--crf-edit-hu-transition);
}

.crf-edit-hu-toggle-button:hover {
	background: var(--crf-edit-hu-gray-100);
}

.crf-edit-hu-toggle-text {
	flex: 1;
	text-align: left;
}

.crf-edit-hu-toggle-count {
	color: var(--crf-edit-hu-primary);
	font-weight: 600;
	margin: 0 8px;
}

.crf-edit-hu-toggle-icon {
	transition: transform 0.2s ease;
}

.crf-edit-hu-checkbox-grid {
	padding: 16px;
	background: var(--crf-edit-hu-white);
}

.crf-edit-hu-checkbox-header {
	display: flex;
	gap: 12px;
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--crf-edit-hu-gray-200);
}

.crf-edit-hu-select-all,
.crf-edit-hu-select-none {
	padding: 6px 12px;
	background: var(--crf-edit-hu-gray-100);
	border: 1px solid var(--crf-edit-hu-gray-300);
	border-radius: 6px;
	cursor: pointer;
	font-size: 13px;
	color: var(--crf-edit-hu-gray-700);
	transition: var(--crf-edit-hu-transition);
}

.crf-edit-hu-select-all:hover,
.crf-edit-hu-select-none:hover {
	background: var(--crf-edit-hu-primary);
	color: var(--crf-edit-hu-white);
	border-color: var(--crf-edit-hu-primary);
}

/* Buttons */
.crf-edit-hu-form-actions {
	padding: 24px 32px;
	background: var(--crf-edit-hu-gray-50);
	border-top: 1px solid var(--crf-edit-hu-gray-200);
	display: flex;
	gap: 16px;
	justify-content: flex-end;
}

.crf-edit-hu-button-primary,
.crf-edit-hu-button-secondary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 24px;
	border: 2px solid transparent;
	border-radius: var(--crf-edit-hu-border-radius);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: var(--crf-edit-hu-transition);
	min-width: 120px;
	justify-content: center;
}

.crf-edit-hu-button-primary {
	background: linear-gradient(135deg, var(--crf-edit-hu-primary) 0%, var(--crf-edit-hu-primary-dark) 100%);
	color: var(--crf-edit-hu-white);
	box-shadow: var(--crf-edit-hu-shadow);
}

.crf-edit-hu-button-primary:hover {
	transform: translateY(-1px);
	box-shadow: var(--crf-edit-hu-shadow-md);
}

.crf-edit-hu-button-secondary {
	background: var(--crf-edit-hu-white);
	color: var(--crf-edit-hu-gray-700);
	border-color: var(--crf-edit-hu-gray-300);
}

.crf-edit-hu-button-secondary:hover {
	background: var(--crf-edit-hu-gray-50);
	border-color: var(--crf-edit-hu-gray-400);
}

.crf-edit-hu-button-icon {
	font-size: 18px;
}

/* Notifications */
.crf-edit-hu-notification-error {
	background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
	border: 1px solid #fecaca;
	border-radius: var(--crf-edit-hu-border-radius-lg);
	padding: 24px;
	margin: 24px 0;
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.crf-edit-hu-notification-icon {
	font-size: 24px;
	flex-shrink: 0;
}

.crf-edit-hu-notification-content {
	flex: 1;
}

.crf-edit-hu-notification-title {
	font-size: 20px;
	font-weight: 600;
	color: var(--crf-edit-hu-danger);
	margin: 0 0 8px;
}

.crf-edit-hu-notification-text {
	color: #7f1d1d;
	margin: 0 0 16px;
	line-height: 1.5;
}

/* Responsive design */
@media (max-width: 768px) {
	.crf-edit-hu-container {
		padding: 0 12px 32px;
	}
	
	.crf-edit-hu-header {
		flex-direction: column;
		text-align: center;
		padding: 20px;
	}
	
	.crf-edit-hu-header-icon {
		margin: 16px 0 0;
		font-size: 36px;
	}
	
	.crf-edit-hu-title {
		font-size: 24px;
	}
	
	.crf-edit-hu-subtitle {
		font-size: 14px;
	}
	
	.crf-edit-hu-fieldset {
		padding: 24px 16px;
	}
	
	.crf-edit-hu-form-actions {
		padding: 16px;
		flex-direction: column;
	}
	
	.crf-edit-hu-button-primary,
	.crf-edit-hu-button-secondary {
		width: 100%;
	}
	
	.crf-edit-hu-checkbox-group {
		grid-template-columns: 1fr;
	}
	
	.crf-edit-hu-radio-group {
		gap: 8px;
	}
	
	.crf-edit-hu-radio-label {
		padding: 10px;
	}
	
	.crf-edit-hu-breadcrumb-list {
		padding: 0 12px;
	}
}

@media (max-width: 480px) {
	.crf-edit-hu-form-help-group {
		flex-direction: column;
		gap: 4px;
	}
	
	.crf-edit-hu-toggle-button {
		padding: 12px;
		font-size: 14px;
	}
	
	.crf-edit-hu-checkbox-header {
		flex-direction: column;
		gap: 8px;
	}
    .pcf-post-confirm-breadcrumbs {
        margin: 0;
    }
}

/* Print styles */
@media print {
	.crf-edit-hu-form-actions,
	.crf-edit-hu-breadcrumbs {
		display: none;
	}
	
	.crf-edit-hu-form {
		box-shadow: none;
		border: 1px solid #000;
	}
	
	.crf-edit-hu-header {
		background: none !important;
		color: #000 !important;
		box-shadow: none;
	}
}

/* Container and layout */
.cred-account-container {
	max-width: 1200px !important;
	margin: 0 auto;
	padding: 30px 16px 64px;
	background: #f8fafc;
}

/* ==============================
   Creditor CASES LIST (cr- namespace) 
   Purpose: Modern, isolated styling for cred/list_cases.php
   Palette: Primary #7796C6, Accent #FFA216, Danger #E75656
   Isolation: Use only .cr-* selectors to avoid conflicts with style_acount/style_index
============================== */

.cr-cases { 
	margin-top: 40px;
	--cr-color-primary: #7796C6; 
	--cr-color-primary-600: #6687b5; 
	--cr-color-accent: #FFA216; 
	--cr-color-danger: #E75656; 
	--cr-color-bg: #f8fafc; 
	--cr-color-border: #e2e8f0; 
	/* Prevent horizontal overflow */
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	box-sizing: border-box;
}

/* Breadcrumbs */
.cr-breadcrumb { margin: 30px 0 24px; }
.cr-breadcrumb-list { list-style: none; padding: 0; margin: 0; display: flex; gap: 6px; flex-wrap: wrap; }
.cr-breadcrumb-link { color: #475569; text-decoration: none; padding: 6px 10px; border-radius: 8px; transition: .2s ease; }
.cr-breadcrumb-link:hover { background: rgba(119,150,198,.12); color: #2b3a5a; }
.cr-breadcrumb-item { color: #334155; }
.cr-breadcrumb-item + .cr-breadcrumb-item::before { content: '›'; margin: 0 6px; color: #94a3b8; }
.cr-breadcrumb-current { font-weight: 600; color: #0f172a; }

/* Layout grid wrapper aligns cards and sidebar filter */
.cr-block-list-filter { 
	display: grid; 
	grid-template-columns: 70% 320px; 
	gap: 20px; 
	align-items: start;
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	box-sizing: border-box;
}

/* Tablet responsive */
@media (max-width: 1200px) and (min-width: 981px) {
	.cr-block-list-filter { 
		grid-template-columns: 65% 300px; 
		gap: 16px;
	}
}

/* Medium tablets */
@media (max-width: 980px) and (min-width: 769px) {
	.cr-block-list-filter { 
		grid-template-columns: 60% 280px; 
		gap: 15px;
		padding: 0 16px;
	}
}

/* Mobile responsive: filter comes first, stacked vertically */
@media (max-width: 768px) { 
	.cr-block-list-filter { 
		grid-template-columns: 1fr; 
		grid-template-areas: 
			"filter"
			"list";
		padding: 0 12px;
		gap: 16px;
	}
	.cr-block-filter { grid-area: filter; order: 1; width: 100%; }
	.cr-wrap-list { grid-area: list; order: 2; max-width: none; width: 100%; }
	.cr-cases { padding: 0; margin: 0; overflow-x: hidden; }
}

/* Extra small screens (phones in portrait) */
@media (max-width: 480px) {
	.cr-block-list-filter {
		padding: 0 8px;
		gap: 12px;
	}
	.cr-cases {
		margin-top: 20px;
	}
}

/* Override inline width styles for region lists on mobile */
@media (max-width: 768px) {
	#open_list,
	#open_list_inter {
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* Cases list container */
.cr-wrap-list { 
	width: 70%;
	min-width: 70%;
	padding: 0; 
	justify-self: center; 
	margin: 0;
	overflow-x: hidden;
	box-sizing: border-box;
}

/* Mobile responsive for cases list */
@media (max-width: 980px) {
	.cr-wrap-list {
        width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0;
	}
	
	.cred-cases-list {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* Tablet optimization for case details */
@media (max-width: 768px) {
	.cred-case-details {
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
		gap: 10px 16px;
	}
	
	.cred-case-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}
	
	.cred-case-actions {
		flex-direction: column;
		gap: 12px;
	}
	
	.cred-notification-badges {
		justify-content: flex-start;
		flex-wrap: wrap;
	}
}

/* Case card modern look */
.cr-case-card {
	background: #fff;
	border: 1px solid #cbd5e1;
	border-radius: 14px;
	padding: 16px 16px 14px;
	box-shadow: 0 12px 28px rgba(2,6,23,0.12), 0 2px 8px rgba(2,6,23,0.06);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
	overflow: hidden;
	margin: 0 auto 16px;
	font-size: 14px;
	color: #1f2937;
	line-height: 1.5;
	box-sizing: border-box;
}

.cr-case-link { color: inherit; text-decoration: none; display: block; }
.cr-case-link:hover .cr-case-card { 
	transform: translateY(-2px); 
	box-shadow: 0 22px 44px rgba(2,6,23,0.16), 0 6px 16px rgba(2,6,23,0.10); 
	border-color: #94a3b8; 
}

.cr-case-card b { color: #0f172a; font-weight: 600; }

/* List controls (show all / collapse) */
.cr-list-controls { 
	margin: 20px 0; 
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
.cr-list-controls .cr-button-edit,
.cr-button-edit { 
	background: var(--cr-color-primary); 
	color: #fff; 
	border: 1px solid var(--cr-color-primary); 
	border-radius: 10px; 
	padding: 10px 16px; 
	display: inline-flex; 
	align-items: center; 
	gap: 8px; 
	cursor: pointer; 
	text-decoration: none;
	font-size: 14px;
}

/* Override width for buttons in list controls */
.cr-list-controls .cr-button-edit {
	width: auto;
	display: inline-block;
}

.cr-list-controls .cr-button-edit:hover,
.cr-button-edit:hover { 
	background: var(--cr-color-primary-600); 
	border-color: var(--cr-color-primary-600); 
	box-shadow: 0 6px 14px rgba(119,150,198,0.25); 
}

/* Empty state */
.cr-empty-state { margin: 40px 0; }
.cr-notif { 
	background: #fff; 
	border: 1px solid #e5e7eb; 
	border-radius: 12px; 
	padding: 18px; 
	display: flex; 
	align-items: center; 
	gap: 12px; 
	text-align: center;
	flex-direction: column;
}
.cr-exclamation-point svg { display: block; margin: 0 auto 12px; }

/* Filter sidebar */
.cr-block-filter { 
	position: sticky; 
	top: 0; 
	right: 20px;
	max-height: 100%; 
	overflow-y: auto;
	/* Hide scrollbar */
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.cr-block-filter::-webkit-scrollbar { display: none; }

/* Mobile styles for filter */
@media (max-width: 980px) {
	.cr-block-filter {
		position: static;
		max-height: none;
		margin-bottom: 20px;
		top: 0;
	}
}

.cr-filter { 
	background: #fff; 
	border: 1px solid #e2e8f0; 
	border-radius: 14px; 
	padding: 16px; 
	box-shadow: 0 8px 20px rgba(2,6,23,0.06); 
	width: 100%; 
	box-sizing: border-box;
	position: relative; /* Container for autocomplete positioning */
}

/* Mobile styles for filter container */
@media (max-width: 980px) {
	.cr-filter {
		border-radius: 12px;
		padding: 14px;
	}
}

.cr-h2-list { 
	font-size: 16px !important; 
	color: #0f172a !important; 
	margin: 16px 0 8px; 
	font-weight: 600;
}

.cr-field-sum,
.cr-textarea-filtr,
.cr-textarea-filter { 
	width: 100%; 
	padding: 9px 10px; 
	border: 1px solid #cbd5e1; 
	border-radius: 10px; 
	outline: none; 
	background: #f8fafc; 
	box-sizing: border-box;
	resize: vertical;
	min-height: 60px;
}
.cr-field-sum:focus,
.cr-textarea-filtr:focus,
.cr-textarea-filter:focus { 
	border-color: var(--cr-color-primary); 
	box-shadow: 0 0 0 3px rgba(119,150,198,0.25); 
	background: #fff; 
}

.cr-btns-filter { display: flex; gap: 10px; margin-top: 16px; }

/* Mobile responsive buttons */
@media (max-width: 680px) {
	.cr-btns-filter {
		flex-direction: column;
		gap: 8px;
	}
}

/* Filter buttons - основная кнопка "Найти" */
.cr-button-edit[type="submit"] { 
	background: var(--cr-color-primary); 
	color: #fff; 
	border: 1px solid var(--cr-color-primary); 
	border-radius: 10px; 
	padding: 10px 16px; 
	cursor: pointer; 
	width: 100%;
	font-size: 14px;
	transition: all 0.2s ease;
}

/* Override width for submit buttons in list controls */
.cr-list-controls .cr-button-edit[type="submit"] {
	width: auto;
	display: inline-block;
}

.cr-button-edit[type="submit"]:hover { 
	background: var(--cr-color-primary-600); 
	border-color: var(--cr-color-primary-600); 
	box-shadow: 0 4px 12px rgba(119,150,198,0.25);
}

/* Filter buttons - кнопка "Очистить" */
.cr-button-clear { 
	background: #e5e7eb; 
	color: #111827; 
	border: 1px solid #e5e7eb; 
	border-radius: 10px; 
	padding: 10px 16px; 
	cursor: pointer; 
	width: 100%;
	font-size: 14px;
	transition: all 0.2s ease;
}
.cr-button-clear:hover { 
	background: #d1d5db; 
	border-color: #d1d5db;
}

/* Toggle buttons for regions */
.cr-button-edit[role="button"] { 
	display: flex; 
	justify-content: center; 
	align-items: center; 
	gap: 6px; 
	background: var(--cr-color-primary); 
	color: #fff; 
	border: 1px solid var(--cr-color-primary); 
	border-radius: 10px; 
	padding: 9px; 
	cursor: pointer; 
	margin: 8px 0;
	width: 100%;
	box-sizing: border-box;
}
.cr-button-edit[role="button"]:hover { 
	background: var(--cr-color-primary-600); 
	border-color: var(--cr-color-primary-600); 
}

/* Responsive tweaks */
/* Tablet responsive */
@media (max-width: 980px) {
	.cr-case-card {
		width: 100%;
		max-width: 100%;
	}
}

/* Tablet responsive for case cards */
@media (max-width: 980px) {
	.cr-case-card {
		width: 100%;
		max-width: 100%;
	}
}

@media (max-width: 680px) {
	.cr-cases { padding: 12px; }
	.cr-case-card { 
		padding: 14px; 
		margin-bottom: 16px; 
		border-radius: 12px;
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
		box-sizing: border-box;
		word-wrap: break-word;
	}
	
	/* Enhanced mobile styles for filter form fields */
	.cr-field-sum,
	.cr-textarea-filter {
		padding: 12px;
		font-size: 16px; /* Prevents zoom on iOS */
	}
	
	.cr-h2-list {
		font-size: 16px !important;
		margin: 12px 0 8px !important;
	}
	
	/* Breadcrumbs mobile */
	.cr-breadcrumb { 
		margin: 20px 0 16px; 
		font-size: 14px;
		overflow-x: hidden;
	}
	.cr-breadcrumb-list { 
		flex-wrap: wrap; 
		gap: 4px;
	}
	
	/* Case card content overflow control */
	.cr-case-body,
	.cr-case-header {
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
		word-wrap: break-word;
	}
}

/* ==============================
   Creditor CARD (cr- namespace)
   Purpose: Modern, isolated styling for cred/cred_card.php
   Palette: Primary #7796C6, Accent #FFA216, Danger #E75656
   Isolation: Use only .cr-* selectors to avoid conflicts with style_acount/style_index
============================== */

.cr-account-container {
	max-width: 1200px !important;
	margin: 0 auto;
	padding: 20px 34px 24px;
}

/* Дублирование удалено - стили объединены с основным определением */

.cr-breadcrumbs {
	margin: 16px 0 20px;
	background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 21px 29px;
}
.cr-breadcrumbs ol { list-style: none; padding: 0; margin: 0; display: flex; gap: 6px; flex-wrap: wrap; }
.cr-breadcrumbs a { color: #475569; text-decoration: none; padding: 6px 10px; border-radius: 8px; transition: .2s ease; }
.cr-breadcrumbs a:hover { background: rgba(119,150,198,.12); color: #2b3a5a; }
.cr-breadcrumbs li { color: #334155; }
.cr-breadcrumbs li + li::before { content: '›'; margin: 0 6px; color: #94a3b8; }
.cr-guest-indicator { color: #E75656; font-weight: 600; margin-bottom: 8px; }

.cr_breadcrumbs_case_card{
    margin: 30px 0 20px;
	background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 21px 29px;
}
.cr_breadcrumbs_case_card ol { list-style: none; padding: 0; margin: 0; display: flex; gap: 6px; flex-wrap: wrap; }
.cr_breadcrumbs_case_card a { color: #475569; text-decoration: none; padding: 6px 10px; border-radius: 8px; transition: .2s ease; }
.cr_breadcrumbs_case_card a:hover { background: rgba(119,150,198,.12); color: #2b3a5a; }
.cr_breadcrumbs_case_card li { color: #334155; }
.cr_breadcrumbs_case_card li + li::before { content: '›'; margin: 0 6px; color: #94a3b8; }
.cr-guest-indicator { color: #E75656; font-weight: 600; margin-bottom: 8px; }

.cr-page-header {
	margin: 8px auto 24px;
    text-align: center;
    background: linear-gradient(135deg, #7797C6 0%, #a8c0e8 100%);
    color: #fff;
    padding: 24px 50px;
    border-radius: 18px;
    position: relative;
    overflow: hidden;
    max-width: 800px !important;
    height: 130px;
}
.cr-page-header::before {
	content: '';
	position: absolute;
	top: -50%; left: -50%; width: 200%; height: 200%;
	background: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255,255,255,0.12) 10px, rgba(255,255,255,0.12) 20px);
	animation: crShimmer 20s linear infinite;
	opacity: 0;
	transition: opacity .5s ease;
}
.cr-page-header:hover::before { opacity: 1; }
.cr-page-header h1 { margin: 0; font-size: 28px !important; color: #fff !important; text-shadow: 0 2px 4px rgba(0,0,0,.12); }
.cr-page-subtitle { margin: 8px 0 0; color: rgba(255,255,255,0.95) !important; }

@keyframes crShimmer {
  0% { transform: translate3d(0,0,0); }
  100% { transform: translate3d(50%,50%,0); }
}

.cr-offer-card.cr-profile-card {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: 0 20px 48px rgba(2,6,23,0.12), 0 4px 12px rgba(2,6,23,0.06);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.cr-offer-card.cr-profile-card:hover { transform: translateY(-3px); box-shadow: 0 36px 72px rgba(2,6,23,0.22), 0 8px 20px rgba(2,6,23,0.10), 0 0 0 1px rgba(2,6,23,0.08); border-color: #94a3b8; }
.cr-divider { border: 0; height: 1px; background: #000; margin: 0; }

.cr-profile-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px 18px; }
.cr-profile-top { padding: 34px 38px; }
.cr-profile-summary { min-width: 0; }
.cr-section-title { margin: 0 0 6px; font-size: 22px; color: #111827; }
.cr-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.cr-badges-break { flex-basis: 100%; height: 0; }
/* Бейджи как в executor_card: мягкий фон, тонкая рамка, пилюля */
.cr-badge { display:inline-flex; align-items:center; gap:6px; font-size:13px; line-height:1; padding:8px 10px; border-radius:999px; border:1px solid #e5e7eb; background:#f8fafc; color:#0f172a; }
/* Варианты — повторяем палитру ex-badge-*/
.cr-badge-success { background:#ECFDF5; color:#065F46; border-color:#A7F3D0; }
/* Информационные бейджи (синий) */
.cr-badge-info { background:#EFF6FF; color:#1D4ED8; border-color:#BFDBFE; }
/* Акцент (оранжевый, мягкий) */
.cr-badge-accent { background:#FFEFD6; color:#78350F; border-color:#FFD08A; }
/* Бейдж переписки (ранее был inline-стилем) */
.cr-badge-corr { background: #FFA216; color:#fff; font-size: 1.1rem; padding: 8px 12px; border-radius: 9999px; display: inline-flex; align-items: center; }
.ex-badges { display:flex; flex-direction: column; gap:8px; margin: 6px 0 10px; align-items: flex-start; }
.ex-badge { display:inline-flex; align-items:center; gap:6px; font-size: 13px; line-height:1; padding:8px 10px; border-radius: 999px; border:1px solid #e5e7eb; background:#f8fafc; color:#0f172a; }
.ex-badge-success { background:#ECFDF5; color:#065F46; border-color:#A7F3D0; }
.ex-badge-info { background:#EFF6FF; color:#1D4ED8; border-color:#BFDBFE; }
.ex-badge-accent { background:#FFEFD6; color:#78350F; border:1px solid #FFD08A; }
.ex-badge-warning { background:#FFF7ED; color:#C2410C; border:1px solid #FED7AA; }
.ex-badge-danger { background:#FEF2F2; color:#991B1B; border:1px solid #FECACA; }
.cr-badge svg, .cr-badge-corr svg { width: 16px; height: 16px; display: inline-block; margin-right: 6px; flex-shrink: 0; }

/* Icon color helpers (used with inline SVGs via currentColor) */
.cr-icon-accent { color: #FFA216; }
.cr-icon-primary { color: #7796C6; }
.cr-icon-danger { color: #E75656; }
.cr-profile-actions { display: flex; align-items: center; gap: 12px; }
.cr-actions form input[type="submit"], .cr-actions .button_edit { display: inline-flex; align-items:center; justify-content:center; padding: 8px 14px; border-radius: 10px; border: 1px solid #7796C6; background:#7796C6; color:#fff; cursor:pointer; }
.cr-actions form input[type="submit"][disabled] { opacity:.6; cursor: not-allowed; }

/* Выравнивание кнопки «Написать взыскателю» слева */
.cr-write-left .fr_input_send,
.cr-write-left input[type="submit"] {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.cr-profile-details { padding: 34px 38px 17px; }
.cr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cr-section-subtitle { margin: 0 0 10px; font-size: 16px; color: #334155; }
.cr-about { color:#111827; line-height: 1.5; }
.cr-note { margin-top: 8px; display: flex;color: #334155;flex-direction: column;}
.cr-note__label { color:#0f172a; margin-right: 6px; }

.cr-data-list { display: grid; grid-template-columns: 1fr; gap: 8px 12px; }
.cr-data-list dt { color: #475569; }
.cr-data-list dd { margin: 0; color: #111827; }

.cr-chip { display: inline-block; padding: 4px 10px; border-radius: 999px; background:#f1f5f9; border:1px solid #e2e8f0; color:#0f172a; font-size: 13px; margin: 2px 4px 0 0; }
.cr-chip--corr { background:#FFA216; color:#fff; font-size:1.5rem; padding:12px 16px; border-radius:9999px; display:inline-block; }
.cr-alert { margin-top: 12px; padding: 10px 12px; border-radius: 10px; border:1px solid #fed7aa; background:#fff7ed; color:#9a3412; }
.cr-text-danger { color:#E75656; }
.cr-dimmed { opacity: .5; }

/* Stars */
.cr-stars { display: inline-flex; gap: 3px; vertical-align: middle; }
.cr-star { display: inline-block; }

/* Feedback (stats + rating groups + reviews) */
.cr-feedback { margin-top: 18px; background:#fff; border:1px solid #e5e7eb; border-radius: 14px; box-shadow: 0 12px 28px rgba(2,6,23,0.10), 0 2px 8px rgba(2,6,23,0.05); padding: 34px 38px; }
.cr-feedback-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 16px; align-items: start; }
.cr-stats { display: flex; gap: 16px; }
.cr-stat { background:#f8fafc; border:1px solid #e2e8f0; border-radius: 12px; padding: 21px 29px; min-width: 130px; }
.cr-stat__label { color:#475569; font-size: 13px; }
.cr-stat__value { color:#0f172a; font-weight: 700; font-size: 20px; }
.cr-rating-groups > div { margin-bottom: 8px; }
.cr-rating-line { color:#0f172a; margin-bottom: 6px; }

/* Reviews */
.cr-review { transition: opacity .2s ease; }
.cr-review--hidden { display:none; opacity: 0; }
.cr-toggle-btn { display:inline-flex; align-items:center; justify-content:center; padding:8px 14px; border-radius:10px; border:1px solid #e5e7eb; background:#f8fafc; cursor:pointer; margin-top: 8px; }

/* =====================
	Case card components
	===================== */
.cr-case-header { display:flex; align-items:center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom:1px solid #eef2f7; background: linear-gradient(180deg, #fbfdff 0%, #ffffff 60%); }
.cr-case-title { margin:0; font-size: 20px; color:#0f172a; }
.cr-case-body { padding: 18px 20px; }
.cr-case-details { display:grid; grid-template-columns: 1fr; gap: 12px; }
.cr-detail-item { display:flex; gap:10px; align-items: baseline; flex-direction: column;}
.cr-detail-label { color:#64748B; min-width:max-content; }
.cr-detail-value { color:#111827; font-weight:500; overflow-wrap:anywhere; word-break: break-word; }
.cr-break-row { grid-column: 1 / -1; }

/* Align legacy view container (.view_case_card) with cr-case-body width and spacing */
.view_case_card {
	/* Match inner padding of .cr-case-body for aligned content edges */
	padding-left: 20px !important;
	padding-right: 20px !important;
	padding-top: 0 !important;
	/* Place 20px below the modern card */
	margin: 20px auto !important;
	/* Neutralize legacy flex layout and width quirks */
	display: block !important;
	width: 100% !important;
	max-width: 800px !important;
	box-sizing: border-box;
}

/* Mobile alignment: mirror cr-case-body paddings on narrow screens */
@media (max-width: 640px) {
	.cr-case-body { padding: 16px 16px; }
	.view_case_card {
		padding-left: 16px !important;
		padding-right: 16px !important;
		margin-top: 16px !important; /* немного компактнее на мобильных */
        position: relative;
        background: white;
	}
}

/* Section blocks (payment, etc.) */
.cr-section { border:1px solid #e5e7eb; border-radius:12px; background:#f8fafc; padding: 14px 16px; }
.cr-section + .cr-section { margin-top: 12px; }
.cr-section-header { display:flex; align-items:center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.cr-section-title { margin:0; font-size:16px; font-weight:700; color:#0f172a; }
.cr-section-meta { display:flex; align-items:center; gap:8px; }
.cr-payment-items {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: inset 0 1px 0 rgba(0,0,0,0.02);
}
.cr-payment-item {
	display: grid;
	grid-template-rows: auto auto;
	gap: 6px;
	padding: 14px 16px;
	align-items: center;
	justify-items: left;
	position: relative;
}
.cr-payment-item + .cr-payment-item {
	border-left: 1px dashed #e5e7eb;
}
.cr-payment-item .label {
	color:#475569;
	font-weight: 600;
	text-align: center;
}
.cr-payment-item .value {
	color:#0f172a;
	font-weight:700;
	font-size: 18px;
}
@media (max-width: 720px) {
	.cr-payment-items {
		grid-template-columns: 1fr;
	}
	.cr-payment-item + .cr-payment-item {
		border-left: none;
		border-top: 1px dashed #e5e7eb;
	}
	.cr-payment-item { padding: 12px 14px; }
}

/* Case statuses */
.cr-status { padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; border:1px solid transparent; }
.cr-status-active { background:#ECFDF5; color:#065F46; border-color:#A7F3D0; }
.cr-status-pending { background:#EEF2FF; color:#3730A3; border-color:#C7D2FE; }
.cr-status-archived { background:#F3F4F6; color:#374151; border-color:#E5E7EB; }
.cr-status-info { background:#EFF6FF; color:#1D4ED8; border-color:#BFDBFE; }

/* Responsive */
@media (max-width: 768px) {
	.cr-grid { grid-template-columns: 1fr; }
	.cr-profile-top { flex-direction: column; align-items: flex-start; }
	.cr-page-header { padding: 59px 34px; }
	.cr-page-header h1 { font-size: 24px; }
}

/* Breadcrumbs styled like executor account */
.cred-breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 13px 0 20px;
	padding: 12px 14px;
	background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	color: #475569;
	font-size: 14px;
}
.cred-breadcrumb-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #475569;
	text-decoration: none;
	padding: 8px 12px;
	border-radius: 8px;
	transition: all 0.2s ease;
	font-weight: 500;
}
.cred-breadcrumb-link:hover {
	background: rgba(59, 130, 246, 0.1);
	color: #3b82f6;
	transform: translateY(-1px);
}
.cred-breadcrumb-separator {
	color: #94a3b8;
	font-weight: bold;
	user-select: none;
}
.cred-breadcrumb-current {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #1e293b;
	font-weight: 600;
	padding: 8px 12px;
	background: rgba(59, 130, 246, 0.1);
	border-radius: 8px;
}

/* Chat container for creditor: align width with executor (max 1100px) */
.cr-chat-container {
    max-width: 800px !important;
    margin: 0 auto;
    padding: 0 16px;
}

.cred-page-header {
	margin: 8px 0 24px;
	text-align: center;
	background: #7797C6; /* match course-header color */
	color: #ffffff;
	padding: 48px 32px; /* slightly smaller than videos page for balance */
	border-radius: 20px;
	position: relative;
	overflow: hidden;
}
.cred-page-header::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: repeating-linear-gradient(
		45deg,
		transparent,
		transparent 10px,
		rgba(255,255,255,0.1) 10px,
		rgba(255,255,255,0.1) 20px
	);
	animation: credShimmer 20s linear infinite;
	opacity: 0;
	transition: opacity 0.5s ease;
}
.cred-page-header:hover::before { opacity: 1; }
.cred-page-header h1 { margin: 0; font-size: 30px !important; color: #ffffff !important; text-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.cred-page-subtitle { margin: 8px 0 0; color: rgba(255,255,255,0.92); }

@keyframes credShimmer {
	0% { transform: translate3d(0, 0, 0); }
	100% { transform: translate3d(50%, 50%, 0); }
}

.cred-cases-container { 
	display: grid; 
	gap: 24px; 
	max-width: 800px !important;
	margin: 0 auto;
	padding: 20px;
}

/* Cards */
.cred-case-card {
	background: #fff;
	border: 1px solid #cbd5e1; /* ещё немного контрастнее */
	border-radius: 14px;
	/* заметная тень и обводка */
	box-shadow: 0 20px 48px rgba(2,6,23,0.18), 0 4px 12px rgba(2,6,23,0.08), 0 0 0 1px rgba(2,6,23,0.06);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.cred-case-card:hover { transform: translateY(-3px); box-shadow: 0 36px 72px rgba(2,6,23,0.22), 0 8px 20px rgba(2,6,23,0.10), 0 0 0 1px rgba(2,6,23,0.08); border-color: #94a3b8; }
.cred-card--inactive { opacity: .6; }

.cred-case-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 20px;
	border-bottom: 1px solid #eef2f7;
	background: linear-gradient(180deg, #fbfdff 0%, #ffffff 60%);
}
.cred-case-title { margin: 0; font-size: 18px; }
.cred-case-link { color: inherit; text-decoration: none; display: block; }
.cred-case-link:hover { color: inherit; text-decoration: none; }
.cred-case-status { display: flex; align-items: center; gap: 8px; }

.cred-status { padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; color: #374151; background: #f3f4f6; border: 1px solid #e5e7eb; }
.cred-status-moderation { background: #fff7ed; color: #9a3412; border-color: #fed7aa; }
.cred-status-published { background: #ecfeff; color: #155e75; border-color: #a5f3fc; }
.cred-status-active { background: #ecfdf5; color: #065f46; border-color: #a7f3d0; }
.cred-status-archived { background: #f3f4f6; color: #374151; border-color: #e5e7eb; }

.cred-case-body { padding: 16px 20px; }
.cred-details { 
	display: flex; 
	flex-direction: column; 
	gap: 12px; 
}
.cred-detail-item { display: flex; gap: 8px; align-items: flex-start; }
.cred-detail-label { color: #6b7280; min-width: max-content; }
.cred-detail-value { color: #111827; font-weight: 500; }

.cred-case-actions {
	display: flex;
	gap: 12px;
	padding: 16px 20px 18px;
	border-top: 1px solid #e5e7eb;
	align-items: center;
	flex-wrap: wrap;
	background: linear-gradient(180deg, #f9fafb 0%, #f3f4f6 100%);
	justify-content: space-between; /* разнести кнопки по краям */
}

/* =====================================
   Unified Button System
   Base styles for all button variants
   ===================================== */
   
/* Base button class - shared styles */
.btn,
.cr-btn,
.cred-btn { 
	display: inline-flex; 
	align-items: center; 
	justify-content: center; 
	gap: 8px; 
	padding: 10px 16px; 
	border-radius: 10px; 
	text-decoration: none; 
	border: 1px solid transparent; 
	cursor: pointer; 
	transition: .2s ease;
	line-height: 1.2;
	vertical-align: middle;
}

/* Button icon styling */
.btn-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1em;
	line-height: 1;
	vertical-align: middle;
}

/* Ensure text inside buttons is centered */
.btn,
.cr-btn,
.cred-btn {
	text-align: center;
}

.btn > *,
.cr-btn > *,
.cred-btn > * {
	vertical-align: middle;
	line-height: inherit;
}

/* Default button variant */
.btn { 
	border: 1px solid #e5e7eb; 
	background: #f8fafc; 
	color: #0f172a; 
}
.btn:hover { background: #eef2f7; }

/* Primary button variants */
.btn-primary,
.cred-btn-primary { 
	background: #4f46e5; 
	color: #fff; 
	border-color: #4f46e5; 
}
.btn-primary:hover,
.cred-btn-primary:hover { 
	background: #4338ca; 
	border-color: #4338ca; 
}

/* CR-specific button (uses theme colors) */
.cr-btn { 
	border: 1px solid #7796C6; 
	background: #7796C6; 
	color: #fff; 
}
.cr-btn:hover { 
	background: #6687b5; 
	border-color: #6687b5; 
	box-shadow: 0 6px 14px rgba(119,150,198,0.25); 
}

/* Small button variant */
.cr-btn--sm,
.btn-sm { 
	padding: 6px 10px; 
	font-size: 13px; 
	border-radius: 8px;
	line-height: 1.2;
	align-items: center;
	display: inline-flex;
}

/* Action links */
.cred-message-link, .cred-candidate-link {
	display: inline-flex;
	align-items: center;
	gap: 20px; /* x2 */
	padding: 20px 32px; /* x2 */
	min-height: 80px; /* x2 */
	min-width: 320px; /* x2 */
	justify-content: center;
	border: 1px solid #d1d5db;
	border-radius: 12px;
	text-decoration: none;
	color: #1f2937;
	background: #ffffff;
	box-shadow: 0 2px 4px rgba(0,0,0,0.06); /* x2 */
	transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.cred-message-link:hover, .cred-candidate-link:hover { background: #f9fafb; border-color: #94a3b8; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.10); /* x2 */ }
.cred-message-link:focus-visible, .cred-candidate-link:focus-visible { outline: 3px solid #bfdbfe; outline-offset: 2px; }
.cred-message-icon, .cred-candidate-icon { font-size: 36px; } /* x2 */
.cred-message-text, .cred-candidate-text { font-weight: 700; font-size: 1.25rem; }
.cred-message-count, .cred-candidate-count {
	min-width: 48px; height: 48px; padding: 0 16px; /* x2 */
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 20px; border-radius: 999px; background: #e5e7eb; color: #111827;
	box-shadow: inset 0 -2px 0 rgba(0,0,0,0.06); /* x2 */
}
.cred-message-count.has-unread { background: #E75656; color: #fff; }

/* Подсветка всей кнопки Сообщения, если есть непрочитанные (современные браузеры) */
.cred-message-link:has(.has-unread),
.cred-message-link.has-unread { /* серверный класс для кросс-браузерной подсветки */
	background: #fff1f2;
	border-color: #fecaca;
}
.cred-message-link:has(.has-unread):hover,
.cred-message-link.has-unread:hover {
	background: #ffe4e6;
	border-color: #fca5a5;
}

/* Аналогичная подсветка для кнопки Кандидаты при count > 0 */
.cred-candidate-link.has-count {
	background: #fff1f2;
	border-color: #fecaca;
}
.cred-candidate-link.has-count:hover {
	background: #ffe4e6;
	border-color: #fca5a5;
}

/* Empty state */
.cred-empty-state { text-align: center; background:#fff; border:1px solid #e5e7eb; border-radius: 12px; padding: 28px; }
.cred-empty-icon { font-size: 40px; margin-bottom: 8px; }

/* Access denied */
.cred-access-denied { display:flex; gap:16px; align-items: center; background:#fff; border:1px solid #fee2e2; border-radius:12px; padding:16px 20px; }
.cred-access-icon { font-size: 28px; }

/* Notices */
.cred-demo-notice { color: #E75656; }
.cred-guest-indicator { color: #E75656; }

/* Responsive */
@media (max-width: 640px) {
	.cred-cases-container { 
		padding: 16px; 
		max-width: 100%; 
        position: relative;
        background: white;
	}
	.cred-case-header { flex-direction: column; align-items: flex-start; }
	/* Мобильная адаптация: уменьшаем кнопки, чтобы не ломать верстку */
	.cred-message-link, .cred-candidate-link {
		gap: 10px;
		padding: 12px 16px;
		min-height: 48px;
		min-width: 100%;
	}
	.cred-message-icon, .cred-candidate-icon { font-size: 22px; }
	.cred-message-text, .cred-candidate-text { font-size: 1rem; }
	.cred-message-count, .cred-candidate-count { min-width: 28px; height: 28px; padding: 0 8px; font-size: 13px; }
	/* Header */
	.cred-page-header { padding: 32px 16px; }
	.cred-page-header h1 { font-size: 24px; }
    .cred-detail-item {
        flex-direction: column;
    }
}

/* ===============================
   Табличный отчёт в btn_list_cases
   Дизайн без изменения логики PHP
   Палитра: #7796C6 / #FFA216 / #E75656
   =============================== */
.btn_list_cases {
	margin-top: 16px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	box-shadow: 0 12px 28px rgba(2,6,23,0.08), 0 2px 8px rgba(2,6,23,0.04);
	overflow-x: auto; /* горизонтальный скролл на узких экранах */
		-webkit-overflow-scrolling: touch; /* плавный скролл на iOS */
}

/* Minor UX: scroll-hint and positioning for wide tables on mobile */
.btn_list_cases { position: relative; }
@media (max-width: 768px) {
	.btn_list_cases::before,
	.btn_list_cases::after {
		content: "";
		position: sticky;
		top: 0;
		width: 18px;
		height: 100%;
		pointer-events: none;
		z-index: 2;
	}
	.btn_list_cases::before { left: 0; background: linear-gradient(90deg, rgba(255,255,255,1), rgba(255,255,255,0)); }
	.btn_list_cases::after { right: 0; background: linear-gradient(270deg, rgba(255,255,255,1), rgba(255,255,255,0)); }
}

/* Safer wrapping for long message content */
.cr-message-content { overflow-wrap: anywhere; word-break: break-word; }

/* Accessible focus styles */
.cr-btn:focus-visible,
.cr-chat-filter-btn:focus-visible,
.btn:focus-visible,
.cred-breadcrumb-link:focus-visible,
.document-link:focus-visible {
	outline: 3px solid #bfdbfe;
	outline-offset: 2px;
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ---------------- Chat (creditor) ---------------- */
.cr-chat-box { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:16px; box-shadow:0 6px 18px rgba(2,6,23,.05); margin-bottom: 16px; }
.cr-alert { padding:10px 12px; border-radius:10px; border:1px solid #FCD34D; background:#FEF3C7; color:#78350F; }
.cr-chat-tabs { margin-top: 8px; }
.cr-tabs-header { display:flex; gap:8px; border-bottom:1px solid #e5e7eb; }
.cr-tab { background:transparent; border:0; padding:10px 12px; border-bottom:2px solid transparent; color:#334155; cursor:pointer; }
.cr-tab.is-active { border-bottom-color:#7796C6; color:#111827; font-weight:700; }
.cr-tabs-header #cr-tab-admin-btn { background:#FFF7ED; color:#C2410C; border:1px solid #FED7AA; border-bottom:2px solid transparent; border-radius:8px 8px 0 0; }
.cr-tabs-header #cr-tab-exec-btn { background:#ECFDF5; color:#065F46; border:1px solid #A7F3D0; border-bottom:2px solid transparent; border-radius:8px 8px 0 0; }
.cr-tabpanel#cr-tab-exec { background:#ECFDF5; border:1px solid #A7F3D0; border-radius:0 0 10px 10px; padding:12px 12px 16px; }
.cr-tabpanel#cr-tab-admin { background:#FFF7ED; border:1px solid #FED7AA; border-radius:0 0 10px 10px; padding:12px 12px 16px; }
.cr-tabpanel { padding:12px 0; }
.cr-chat-textarea { width:100%; min-height:60px; padding:10px 12px; border:1px solid #e5e7eb; border-radius:10px; resize:vertical; }
.cr-label { margin:8px 0; color:#334155; }
.cr-chat-list { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:12px; }
.cr-chat-toolbar { display:flex; gap:0.5rem; flex-wrap:wrap; justify-content:center; align-items:center; padding:1rem; margin-bottom:10px; border:1px solid #e5e7eb; border-radius:15px; background:#fff; box-shadow:0 4px 15px rgba(0,0,0,0.08); }
.cr-chat-filter-btn { display:flex; align-items:center; gap:0.5rem; padding:0.75rem 1.5rem; border:2px solid #e5e7eb; border-radius:10px; background:#f8fafc; color:#6b7280; font-weight:500; font-size:0.9rem; cursor:pointer; transition:all 0.3s ease; }
.cr-chat-filter-btn:hover { border-color:#7797C6; background:#f0f9ff; color:#7797C6; transform: translateY(-2px); }
.cr-chat-filter-btn.is-active, .cr-chat-filter-btn[aria-pressed="true"] { border-color:#7797C6; background: linear-gradient(135deg, #7797C6 0%, #a8c0e8 100%); color:#fff; transform: translateY(-2px); box-shadow:0 4px 15px rgba(119,151,198,0.3); }
.cr-chat-filter-icon { font-size:1rem; }
.cr-choose-notice { margin-bottom:10px; padding:12px 14px; border:1px solid #c7d2fe; border-left:4px solid #A7F3D0; border-radius:10px; background:#ECFDF5; color:#065F46; }
.cr-badge-role { display:inline-flex; align-items:center; gap:6px; padding:4px 8px; border-radius:999px; font-size:14px; line-height:1; border:1px solid #e5e7eb; background:#f8fafc; color:#0f172a; }
.cr-badge-role--admin { background:#FFF7ED; color:#C2410C; border-color:#FED7AA; }
.cr-badge-role--executor { background:#ECFDF5; color:#065F46; border-color:#A7F3D0; }
.cr-message-item { background:#ffffff; border:1px solid #e5e7eb; border-radius:12px; padding:12px 14px; box-shadow:0 2px 8px rgba(2,6,23,0.06); }
.cr-message-item + .cr-message-item { margin-top:10px; }
.cr-message-header { display:flex; gap:8px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.cr-message-icon { font-size:18px; }
.cr-message-label { font-weight:700; color:#111827; }
.cr-message-status, .cr-read-status { color:#334155; font-size:13px; }
.cr-message-meta { display:flex; gap:12px; align-items:center; color:#475569; font-size:13px; margin:6px 0; flex-wrap:wrap; }
.cr-message-content { font-style:italic; color:#1f2937; }
.cr-message-actions { margin-top:10px; }
.cr-message--incoming.cr-is-unread { border-color:#fecaca; background:#fff1f2; }
.cr-message--incoming.cr-is-read { opacity:.7; }
.cr-status-text { font-weight:600; }
.cr-status--read, .cr-status--sent { color:#FFA216; }
.cr-status--unread, .cr-status--rejected, .cr-status--moderation { color:#E75656; }
.cr-chat-subscribe { width:19%; padding:30px 0 0 40px; }
@media (max-width: 680px) { .cr-chat-subscribe { width:100%; padding:12px 0; } }

/* Message cards aligned with list_chat visuals */
.cr-chat-list.messages-list { display:flex; flex-direction:column; gap:1.5rem; }
.cr-chat-list .message-item { background:#fff; border-radius:15px; padding:1.3rem; box-shadow:0 4px 15px rgba(0,0,0,0.1); border-left:4px solid transparent; transition:none; }
.cr-chat-list .message-item.my-message { border-left:4px solid #7797C6; margin-left:36px; }
.cr-chat-list .message-item.incoming-message { border-left:4px solid #10b981; background:linear-gradient(135deg, #f0fdf4 0%, #f7fee7 100%); }
.cr-chat-list .message-item.need-response { border-left:4px solid #ef4444 !important; }
.cr-chat-list .message-item.incoming-message.unread { border-left-color:#f59e0b; background:linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%); box-shadow:0 4px 15px rgba(245,158,11,0.2); }
.cr-chat-list .message-item.message-read { opacity:0.7; }
.cr-chat-list .message-header { display:flex; align-items:center; gap:1rem; margin-bottom:1rem; flex-wrap:wrap; padding: 0 0 15px;border-bottom: 1px solid rgba(0, 0, 0, 0.05);}
.cr-chat-list .message-icon { font-size:1.2rem; }
.cr-chat-list .message-icon.outgoing { color:#3b82f6; }
.cr-chat-list .message-icon.incoming { color:#10b981; }
.cr-chat-list .message-item[data-role="admin"] { background:#FFF7ED; border:1px solid #FED7AA; border-left:4px solid #C2410C; color:#C2410C; }
.cr-chat-list .message-item[data-role="admin"] .message-icon.incoming { color:#C2410C; }
.cr-chat-list .message-item[data-role="admin"] .message-author { color:#C2410C; }
.cr-chat-list .message-label { font-weight:600; color:#1f2937; }
.cr-chat-list .message-recipient-inline,
.cr-chat-list .message-author { display:inline-flex; align-items:center; gap:0.35rem; font-weight:600; color:#1f2937; }
.cr-chat-list .message-status,
.cr-chat-list .read-status { margin-left:auto; }
.cr-chat-list .message-meta { display:flex; flex-direction: row; gap:1rem; margin-bottom:1rem; font-size:0.9rem; color:#6b7280; flex-wrap:wrap; justify-content: space-between;}
.cr-chat-list .message-date { font-weight:500; font-size: 12px;}
.cr-chat-list .case-number { font-weight:600; color:#7796C6; }
.cr-chat-list .message-text { color:#111827; }
@media (max-width: 740px) {
    .cr-chat-list .message-item.my-message { margin-left:0; }
}
.cr-chat-container .status { font-weight:500; padding:0.25rem 0.5rem; border-radius:4px; font-size:0.8rem; }
.cr-chat-container .status-moderation { background:#fef3c7; color:#92400e; }
.cr-chat-container .status-rejected { background:#fee2e2; color:#991b1b; }
.cr-chat-container .status-sent { background:#dbeafe; color:#1e40af; }
.cr-chat-container .status-read { background:#dcfce7; color:#166534; }
.cr-chat-container .status-unread { background:#fef3c7; color:#92400e; }
.cr-chat-container .mark-read-btn { font-size:0.8rem; padding:0.5rem 1rem; }

/* Telegram subscription block (styled like list_chat, creditor namespace) */
.cr-telegram-subscription { width:100%; text-align:center; padding:30px; background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); border-top:1px solid #dee2e6; margin:2rem auto 1rem; }
.cr-telegram-subscription a.cr-telegram-link { display:inline-block; transition: transform .3s ease; text-decoration:none; }
.cr-telegram-subscription a.cr-telegram-link:hover { transform: scale(1.1); }
.cr-telegram-subscription img { width:80px; height:80px; border-radius:8px; box-shadow:0 5px 15px rgba(0,0,0,0.1); transition: box-shadow .3s ease; margin-bottom:10px; }
.cr-telegram-subscription img:hover { box-shadow: 0 10px 25px rgba(0,0,0,0.2); }
.cr-telegram-subscription p { color:#495057; font-weight:500; margin:0; line-height:1.4; }

/* ---- Form submit loading (creditor forms, crf- namespace) ---- */
.crf-loading-overlay { position: fixed; inset: 0; background: rgba(255,255,255,0.85); backdrop-filter: blur(1px); display: none; align-items: center; justify-content: center; z-index: 2147483647; }
.crf-loading-overlay.is-visible { display: flex; }
.crf-loading-box { display:flex; flex-direction:column; align-items:center; gap:12px; padding:20px 24px; background:#ffffff; border:1px solid #e5e7eb; border-radius:12px; box-shadow:0 10px 25px rgba(2,6,23,0.15); color:#1e293b; }
.crf-spinner { width:48px; height:48px; border:4px solid #c7d2fe; border-top-color:#7796C6; border-radius:50%; animation: crf-spin 1s linear infinite; }
@keyframes crf-spin { to { transform: rotate(360deg); } }
.crf-loading-text { font-size:14px; color:#334155; }
.crf-submit-btn[disabled] { opacity: .7; cursor: not-allowed; filter: grayscale(0.15); }
.cr-telegram-subscription small { color:#6c757d; font-size:.85em; }
.cr-telegram-disabled { opacity:.6; cursor:not-allowed; display:inline-block; }
.cr-telegram-disabled p { color:#6c757d; }

/* ===============================
   Creditor Profile (profile-*) — mobile-first
   Scoped styles to avoid cross-page conflicts
   =============================== */
.profile-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 16px 64px;
	background: #f8fafc;
}
.profile-header {
	margin: 8px 0 20px;
	text-align: center;
}
.profile-title { margin: 0 !important; font-size: 24px !important; color:#0f172a !important; }
.profile-id { margin-top: 6px !important; }

.breadcrumbs_prof {
	margin: 30px 0 18px;
	background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 12px 14px;
}
/* Breadcrumbs inside profile page */
.profile-container .breadcrumbs {
	margin: 12px 0 18px;
	background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 12px 14px;
}
.profile-container .breadcrumb-list { list-style: none; padding: 0; margin: 0; display: flex; gap: 8px; flex-wrap: wrap; }
.profile-container .breadcrumb-link { color: #475569; text-decoration: none; padding: 6px 10px; border-radius: 8px; transition: .2s ease; }
.profile-container .breadcrumb-link:hover { background: rgba(119,150,198,.12); color:#2b3a5a; }
.profile-container .breadcrumb-current { color:#1e293b; font-weight: 600; padding: 6px 10px; background: rgba(59,130,246,.10); border-radius: 8px; }

.profile-grid { display:grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 768px) { .profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .profile-grid { grid-template-columns: 2fr 1fr; } }

/* Fluid media inside profile */
.profile-container img, .profile-container iframe, .profile-container video {
	max-width: 100%;
	height: auto;
}

.profile-section {
	background:#fff;
	border:1px solid #e5e7eb;
	border-radius: 12px;
	padding: 16px 20px;
	box-shadow: 0 8px 20px rgba(2,6,23,0.08), 0 2px 6px rgba(2,6,23,0.04);
}
.profile-actions {
    text-align: center;
    margin-top: 30px;
}
.section-title { display:flex; align-items:center; gap:8px; margin:0 0 12px; font-size:16px; color:#0f172a; }
.section-icon { font-size: 18px; }

/* Ratings */
.overall-rating { display:flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.rating-score { font-size: 28px; font-weight: 800; color:#0f172a; }
.rating-stars { display:inline-flex; gap: 3px; }
.rating-breakdown { display:grid; grid-template-columns: 1fr; gap: 8px; }
.rating-item { display:flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border:1px dashed #e5e7eb; border-radius: 10px; background:#f8fafc; }
.rating-label { color:#475569; }
.rating-number { font-weight: 700; color:#0f172a; margin-right: 6px; }

/* Reviews */
.reviews-list { display:grid; gap: 10px; }
.review-item { border:1px solid #e5e7eb; border-radius: 10px; padding: 12px 14px; background:#fff; }
.review-header { display:flex; gap: 10px; justify-content: space-between; color:#475569; font-size: 13px; margin-bottom: 6px; }
.review-text { color:#111827; }
.no-reviews { color:#64748B; font-style: italic; }

/* User info */
.user-info { display:block; }
.status-item { display:flex; align-items:center; gap: 8px; padding: 8px 10px; border-radius: 10px; border:1px solid #e5e7eb; background:#f8fafc; margin-bottom: 8px; }
.status-item .status-icon { width: 20px; height: 20px; }
.status-item.verified { border-color:#A7F3D0; background:#ECFDF5; color:#065F46; }
.status-item.certified { border-color:#FFD08A; background:#FFEFD6; color:#78350F; }

.info-grid { display:grid; grid-template-columns: 1fr; gap: 10px 14px; }
.info-item { display:grid; grid-template-columns: max-content 1fr; gap: 8px 12px; align-items: baseline; }
.info-item label { color:#64748B; }
.info-item span { color:#0f172a; overflow-wrap: anywhere; }
.info-item.full-width { grid-column: 1 / -1; display:block; }
@media (min-width: 768px) {
  .info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Documents */
.documents-list { display:grid; gap: 10px; }
.document-item { display:grid; grid-template-columns: max-content 1fr; gap: 8px 12px; align-items: center; }
.document-link { color:#2b4f86; text-decoration: none; border-bottom: 1px dashed transparent; }
.document-link:hover { border-bottom-color: currentColor; }
.document-missing { color:#9ca3af; }

/* Avatar section */
.avatar-section .avatar-image { width: 120px; height: 120px; border-radius: 12px; object-fit: cover; border:1px solid #e5e7eb; box-shadow: 0 4px 10px rgba(2,6,23,0.06); }
.avatar-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); gap: 10px; margin-top: 10px; }
.avatar-option { display:block; border:1px solid #e5e7eb; border-radius: 10px; overflow: hidden; }
.avatar-option-image { width:100%; height:80px; object-fit: cover; display:block; }

/* Notification settings */
.notification-settings { display: flex; flex-direction: column; gap: 8px; }
.notification-list { display: flex; flex-direction: column; gap: 10px; }
.notification-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px dashed #e5e7eb; }
.notification-row:last-child { border-bottom: none; padding-bottom: 0; }
.notification-label { font-weight: 700; color: #0f172a; display: inline-flex; align-items: center; gap: 8px; }
.notification-toggle-form { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0; }
.notification-options { display: inline-flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.notification-option { position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; border: 1px solid #e5e7eb; border-radius: 10px; background: #f8fafc; cursor: pointer; transition: 0.15s ease; color: #0f172a; }
.notification-option.active { border-color: #2563eb; background: #e0ebff; color: #1d4ed8; box-shadow: 0 4px 12px rgba(37, 99, 235, 0.1); }
.notification-option input { accent-color: #2563eb; cursor: pointer; margin: 0; position: relative; top: 0; left: 0; }
.notification-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.notification-status-badge { display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; border-radius: 999px; font-weight: 700; border: 1px solid #e2e8f0; background: #f8fafc; color: #0f172a; }
.notification-status-badge.success { border-color: #22c55e; background: #ecfdf3; color: #15803d; }
.notification-status-badge.info { border-color: #93c5fd; background: #eff6ff; color: #1d4ed8; }
.notification-action-btn { display: inline-flex; align-items: center; justify-content: center; padding: 9px 14px; border-radius: 10px; font-weight: 700; text-decoration: none; border: 1px solid #e5e7eb; background: #fff; color: #0f172a; transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease; }
.notification-action-btn.primary { background: #2563eb; color: #fff !important; border-color: #1d4ed8; }
.notification-action-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(2, 6, 23, 0.12); }
.notification-hint { color: #6b7280; font-size: 0.9em; }

/* Button definitions moved to unified system above */
.btn-secondary { background:#e2e8f0; border-color:#e2e8f0; color:#0f172a; }
.btn-warning { background:#f59e0b; border-color:#f59e0b; color:#fff; }
.btn-sm { padding:6px 10px; border-radius:8px; font-size:13px; }

.btn_list_cases table {
	width: 100%;
	min-width: 640px; /* не ломать узкие таблицы */
	border-collapse: separate; /* нужен для скруглений хедера */
	border-spacing: 0;
	font-size: 14px;
	color: #0f172a;
}

.btn_list_cases caption {
	caption-side: top;
	text-align: left;
	padding: 12px 14px;
	font-weight: 700;
	color: #334155;
	background: #f8fafc;
	border-bottom: 1px solid #e5e7eb;
}

.btn_list_cases thead th {
	position: sticky; /* фиксируем шапку при скролле */
	top: 0;
	z-index: 1;
	text-align: left;
	background: linear-gradient(180deg, #f8fbff 0%, #edf2f8 100%);
	color: #0f172a;
	font-weight: 700;
	letter-spacing: 0.02em;
	border-bottom: 1px solid #d0d7e2;
	padding: 12px 14px;
}
.btn_list_cases thead th:first-child { border-top-left-radius: 12px; }
.btn_list_cases thead th:last-child { border-top-right-radius: 12px; }

.btn_list_cases tbody td,
.btn_list_cases tbody th { /* если в tbody встречаются th */
	padding: 12px 14px;
	border-bottom: 1px solid #eef2f7;
	vertical-align: top;
	word-break: break-word; /* перенос длинных слов/ссылок */
}

.btn_list_cases tbody tr:nth-child(odd) { background: #fbfdff; }
.btn_list_cases tbody tr:hover { background: #f1f5f9; }

/* Ссылки в таблице — мягкий акцент */
.btn_list_cases a {
	color: #2b4f86; /* производный от #7796C6 для лучшей читаемости */
	text-decoration: none;
	border-bottom: 1px dashed transparent;
}
.btn_list_cases a:hover { color: #1f3a66; border-bottom-color: currentColor; }

/* Микро-элементы, встречающиеся в ячейках */
.btn_list_cases small { color: #64748B; }
.btn_list_cases .cr-badge { transform: translateY(-1px); }

/* Мобильная компактность */
@media (max-width: 640px) {
	.btn_list_cases table { font-size: 13px; }
	.btn_list_cases thead th,
	.btn_list_cases tbody td,
	.btn_list_cases tbody th { padding: 10px 12px; }
}

/* ===============================
   Встраивание под cr-case-body
   (ровнее контейнер, единые отступы и ширина)
   =============================== */
.cr-case-body .btn_list_cases,
.view_case_card .btn_list_cases {
	width: 100% !important;   /* перекрыть старое 40% */
	max-width: 100%;
	margin: 8px 0 12px;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	box-shadow: none;          /* без «карточной» тени внутри body */
	padding: 0;                /* управляем отступами на уровне ячеек */
	background: #fff;
}

.cr-case-body .btn_list_cases thead th,
.view_case_card .btn_list_cases thead th {
	background: linear-gradient(180deg, #fbfdff 0%, #f3f6fb 100%);
	color: #0f172a;
}

.cr-case-body .btn_list_cases tbody td,
.cr-case-body .btn_list_cases tbody th,
.view_case_card .btn_list_cases tbody td,
.view_case_card .btn_list_cases tbody th {
	padding: 10px 14px; /* чуть компактнее под детали */
}

.cr-case-body .btn_list_cases tbody tr:hover,
.view_case_card .btn_list_cases tbody tr:hover {
	background: #eef2f7;
}

/* ==============================
   Autocomplete suggestions for textarea
   ============================== */
/* Filter container already has position: relative in main definition */

.autocomplete_list_filter {
	position: absolute;
	background: #fff;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	max-height: 200px;
	overflow-y: auto;
	z-index: 1000;
	width: 100%;
	display: none;
	margin-top: 90px;
}

.autocomplete_list_filter.crf-active {
	display: block;
}

/* ==============================
   TAB_ABOUT_CASE TABLE STYLES
   Modern table design for case information
   ============================== */
table.tab_about_case {
	width: 100%;
	border-collapse: collapse;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: inset 0 1px 0 rgba(0,0,0,0.02);
}

table.tab_about_case tr {
	border-bottom: 1px solid #e5e7eb;
}

table.tab_about_case tr:last-child {
	border-bottom: none;
}

table.tab_about_case tr:nth-child(even) {
	background: #fbfdff;
}

table.tab_about_case tr:hover {
	background: #f1f5f9;
}

table.tab_about_case td.column_left {
	width: 30%;
	text-align: left;
	padding: 12px 16px;
	color: #475569;
	font-weight: 600;
	vertical-align: top;
	border-right: 1px solid #e5e7eb;
}

table.tab_about_case td.column_right {
	width: 70%;
	text-align: left;
	padding: 12px 16px;
	color: #0f172a;
	font-weight: 500;
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* Mobile responsive */
@media (max-width: 640px) {
	table.tab_about_case {
		font-size: 13px;
	}
	
	table.tab_about_case td.column_left,
	table.tab_about_case td.column_right {
		padding: 10px 12px;
		display: block;
		width: 100%;
		border: none;
	}
	
	table.tab_about_case td.column_left {
		padding-bottom: 4px;
		font-size: 12px;
		color: #64748B;
	}
	
	table.tab_about_case td.column_right {
		padding-top: 0;
		padding-bottom: 12px;
	}
}

/* Общие стили для всех автокомплитов */
.autocomplete-list {
	position: fixed !important; /* Используем fixed для позиционирования относительно viewport */
	background: #ffffff;
	border: 2px solid #7796C6;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(119, 150, 198, 0.25);
	max-height: 200px;
	overflow-y: auto;
	z-index: 10000 !important; /* Очень высокий z-index */
	width: auto;
	display: none;
	margin-top: 2px;
	box-sizing: border-box;
}

.autocomplete-list.crf-active {
	display: block !important;
	z-index: 10000 !important;
}

/* Специфические стили для разных типов автокомплита */
.autocomplete-list.court-autocomplete {
	z-index: 10001 !important;
}

.autocomplete-list.osp-autocomplete {
	z-index: 10000 !important;
}

.autocomplete-list .suggestion-item {
	padding: 12px 16px;
	cursor: pointer;
	border-bottom: 1px solid #e2e8f0;
	font-size: 14px;
	color: #374151;
	transition: all 0.2s ease;
	background: #ffffff;
}

.autocomplete-list .suggestion-item:last-child {
	border-bottom: none;
}

.autocomplete-list .suggestion-item:hover,
.autocomplete-list .suggestion-item.highlighted {
	background: linear-gradient(135deg, #7796C6 0%, #6687b5 100%);
	color: #ffffff;
}

/* Копированные и переименованные стили с relative позиционированием */
.autocomplete-list-relative {
	position: relative !important; /* Изменено с fixed на relative */
	background: #ffffff;
	border: 2px solid #7796C6;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(119, 150, 198, 0.25);
	max-height: 200px;
	overflow-y: auto;
	z-index: 10000 !important; /* Очень высокий z-index */
	width: auto;
	display: none;
	margin-top: 2px;
	box-sizing: border-box;
}

.autocomplete-list-relative.crf-active {
	display: block !important;
	z-index: 10000 !important;
}

/* Специфические стили для разных типов автокомплита с relative позиционированием */
.autocomplete-list-relative.court-autocomplete {
	z-index: 10001 !important;
}

.autocomplete-list-relative.osp-autocomplete {
	z-index: 10000 !important;
}

.autocomplete-list-relative .suggestion-item {
	padding: 12px 16px;
	cursor: pointer;
	border-bottom: 1px solid #e2e8f0;
	font-size: 14px;
	color: #374151;
	transition: all 0.2s ease;
	background: #ffffff;
}

.autocomplete-list-relative .suggestion-item:last-child {
	border-bottom: none;
}

.autocomplete-list-relative .suggestion-item:hover,
.autocomplete-list-relative .suggestion-item.highlighted {
	background: linear-gradient(135deg, #7796C6 0%, #6687b5 100%);
	color: #ffffff;
}

/* Позиционирование относительно родительского контейнера */
.crf-form-group {
	position: relative;
}

/* Мобильная адаптивность для автозаполнения */
@media (max-width: 768px) {
	.autocomplete-list {
		font-size: 16px; /* Предотвращает zoom на iOS */
		max-height: 150px;
		border-radius: 6px;
	}
	
	.autocomplete-list .suggestion-item {
		padding: 10px 12px;
		font-size: 16px;
	}
	
	/* Мобильная адаптивность для relative варианта */
	.autocomplete-list-relative {
		font-size: 16px; /* Предотвращает zoom на iOS */
		max-height: 150px;
		border-radius: 6px;
	}
	
	.autocomplete-list-relative .suggestion-item {
		padding: 10px 12px;
		font-size: 16px;
	}
}
.img_sertificat{
    height: 80px;
}
.style_img_confirm{
    height: 100% !important;
}
.style_img_sertificat{
    height: 100% !important;
}

@media (max-width: 480px) {
	.autocomplete-list {
		max-height: 120px;
		border-radius: 4px;
	}
	
	.autocomplete-list .suggestion-item {
		padding: 8px 10px;
		font-size: 16px;
	}
	
	/* Очень маленькие экраны для relative варианта */
	.autocomplete-list-relative {
		max-height: 120px;
		border-radius: 4px;
	}
	
	.autocomplete-list-relative .suggestion-item {
		padding: 8px 10px;
		font-size: 16px;
	}
    .breadcrumbs_prof {
        margin: 0;
    }
    .cred-account-container {
        margin: 0;
        padding: 0;
    }
    .style_img_confirm{
        height: 50% !important;
    }
    .style_img_sertificat{
        height: 50% !important;
    }
}

.autocomplete_list_filter .suggestion-item {
	padding: 10px 12px;
	cursor: pointer;
	border-bottom: 1px solid #e5e7eb;
	transition: background-color 0.2s ease;
	color: #374151;
	font-size: 14px;
}

.autocomplete_list_filter .suggestion-item:last-child {
	border-bottom: none;
}

.autocomplete_list_filter .suggestion-item:hover {
	background: var(--cr-color-primary);
	color: #fff;
}

/* ==============================
   Переопределение стилей jQuery Suggestions
   Заменяем position: absolute на position: relative
   ============================== */
.suggestions-suggestions {
	position: relative !important; /* Изменено с absolute на relative */
	background: #ffffff;
	border: 2px solid #7796C6;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(119, 150, 198, 0.25);
	max-height: 200px;
	overflow-y: auto;
	z-index: 10000 !important;
	width: 100% !important;
	margin-top: 2px;
	box-sizing: border-box;
}

.suggestions-suggestions .suggestions-suggestion {
	padding: 12px 16px;
	cursor: pointer;
	border-bottom: 1px solid #e2e8f0;
	font-size: 14px;
	color: #374151;
	transition: all 0.2s ease;
	background: #ffffff;
}

.suggestions-suggestions .suggestions-suggestion:last-child {
	border-bottom: none;
}

.suggestions-suggestions .suggestions-suggestion:hover,
.suggestions-suggestions .suggestions-suggestion.suggestions-selected {
	background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%);
	color: #1f2937;
}

/* Мобильная адаптивность для jQuery Suggestions */
@media (max-width: 768px) {
	.suggestions-suggestions {
		font-size: 16px; /* Предотвращает zoom на iOS */
		max-height: 150px;
		border-radius: 6px;
	}
	
	.suggestions-suggestions .suggestions-suggestion {
		padding: 10px 12px;
		font-size: 16px;
	}
}

@media (max-width: 480px) {
	.suggestions-suggestions {
		max-height: 120px;
		border-radius: 4px;
	}
	
	.suggestions-suggestions .suggestions-suggestion {
		padding: 8px 10px;
		font-size: 16px;
	}
    .cred-search-breadcrumb {
        margin: 90px 0 24px !important;
    }
}

/* General overflow control for all text elements */
.cr-cases * {
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.cr-cases table {
	width: 100%;
	table-layout: fixed;
	overflow-x: auto;
}

/* ==============================
   CREDITOR SEARCH LIST (cred-search- namespace)
   Purpose: Modern cases list with offers management
   Isolation: Use only .cred-search-* selectors 
============================== */

.cred-search-container {
	max-width: 800px !important;
	margin: 0 auto;
	padding: 20px 16px 64px;
	background: #f8fafc;
	min-height: 80vh;
}

.cred-search-breadcrumb {
	margin: 30px 0 24px;
}

.cred-breadcrumb-list {
	display: flex;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: 8px;
	flex-wrap: wrap;
}

.cred-breadcrumb-item {
	display: flex;
	align-items: center;
}

.cred-breadcrumb-item:not(:last-child)::after {
	content: '→';
	margin-left: 8px;
	color: #94a3b8;
	font-size: 14px;
}

.cred-breadcrumb-link {
	color: #7796C6;
	text-decoration: none;
	padding: 4px 8px;
	border-radius: 6px;
	transition: all 0.2s ease;
	font-size: 14px;
}

.cred-breadcrumb-link:hover {
	background: rgba(119, 150, 198, 0.1);
	color: #6687b5;
}

.cred-breadcrumb-current {
	color: #334155;
	font-weight: 600;
	font-size: 14px;
}

.cred-search-header {
	margin-bottom: 32px;
	text-align: center;
}

.cred-search-title {
	font-size: 2rem;
	font-weight: 700;
	color: #1e293b;
	margin: 0 0 8px;
	line-height: 1.2;
}

.cred-search-subtitle {
	font-size: 1.1rem;
	color: #64748b;
	margin: 0;
	line-height: 1.4;
}

/* Contract download section */
.cred-contract-download {
	background: linear-gradient(135deg, #7796C6 0%, #9bb3d4 100%);
	border-radius: 12px;
	padding: 20px;
	margin-bottom: 24px;
	display: flex;
	align-items: center;
	gap: 16px;
	box-shadow: 0 4px 12px rgba(119, 150, 198, 0.15);
}

.cred-contract-icon {
	width: 48px;
	height: 48px;
	flex-shrink: 0;
}

.cred-contract-info {
	flex: 1;
}

.cred-contract-link {
	color: #ffffff !important;
	text-decoration: none;
	font-weight: 600;
	display: inline-block;
	transition: opacity 0.2s ease;
}

.cred-contract-link:hover {
	opacity: 0.9;
	text-decoration: underline;
}

/* Cases list */
.cred-cases-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.cred-case-card {
	background: white;
	border-radius: 12px;
	padding: 24px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	border: 1px solid #e2e8f0;
	transition: all 0.2s ease;
}

.cred-case-card:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
	transform: translateY(-1px);
}

.cred-case-card.archived {
	opacity: 0.6;
	background: #f8fafc;
}

.cred-case-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 16px;
	gap: 16px;
}

.cred-case-info {
	flex: 1;
}

.cred-case-title {
	font-size: 1.2rem;
	font-weight: 700;
	color: #1e293b;
	margin: 0 0 8px;
	line-height: 1.3;
}

.cred-case-title a {
	color: inherit;
	text-decoration: none;
}

.cred-case-title a:hover {
	color: #7796C6;
}

.cred-case-status {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.cred-case-status.moderation {
	background: #fef3c7;
	color: #92400e;
}

.cred-case-status.published {
	background: #dbeafe;
	color: #1e40af;
}

.cred-case-status.in-work {
	background: #d1fae5;
	color: #065f46;
}

.cred-case-status.archived {
	background: #f3f4f6;
	color: #6b7280;
}

.cred-case-details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 12px 24px;
	margin: 16px 0;
	font-size: 14px;
	line-height: 1.5;
}

/* Mobile optimization for case details */
@media (max-width: 580px) {
	.cred-case-details {
		grid-template-columns: 1fr;
		gap: 8px;
	}
    .cr_breadcrumbs_case_card {
        margin: 80px 0 20px;
    }
    .cr-account-container {
        position: relative;
        padding: 0;
        margin: 0;
    }
    .cr-detail-item{
        flex-direction: column;
    }
}
.ex-text-danger { color: #991B1B; background:#FEE2E2; border:1px solid #FCA5A5; padding:6px 10px; border-radius:8px; display:inline-block; }

.cred-case-detail {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.cred-case-detail-label {
	color: #64748b;
	min-width: 100px;
	flex-shrink: 0;
}

.cred-case-detail-value {
	color: #334155;
	font-weight: 600;
}

.cred-case-amount {
	color: #7796C6;
	font-weight: 700;
	font-size: 1.1em;
}

/* Дублирование удалено - используется основное определение .cred-case-actions */

.cred-action-buttons {
	display: flex;
	gap: 12px;
	align-items: center;
}

.cred-action-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 20px;
	border-radius: 10px;
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
	transition: all 0.3s ease;
	border: none;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	position: relative;
	overflow: hidden;
	min-height: 44px;
	white-space: nowrap;
}

.cred-action-btn.cred-action-choose {
	background: linear-gradient(135deg, #7796C6 0%, #6687b5 100%);
	color: white;
	border: 2px solid transparent;
}

.cred-action-btn.cred-action-choose:hover {
	background: linear-gradient(135deg, #6687b5 0%, #5577a4 100%);
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(119, 150, 198, 0.3);
}

.cred-action-btn.cred-action-report {
	background: linear-gradient(135deg, #FFA216 0%, #ff9200 100%);
	color: white;
	border: 2px solid transparent;
}

.cred-action-btn.cred-action-report:hover {
	background: linear-gradient(135deg, #ff9200 0%, #e68a00 100%);
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(255, 162, 22, 0.3);
}

/* Icon styles for action buttons */
.cred-action-icon {
	width: 18px;
	height: 18px;
	fill: currentColor;
	flex-shrink: 0;
}

/* Text styles for action buttons */
.cred-action-text {
	font-weight: 600;
	letter-spacing: 0.025em;
}

/* Notification badge in action buttons */
.cred-action-btn .cred-notification-badge {
	background: rgba(255, 255, 255, 0.2);
	color: inherit;
	padding: 4px 8px;
	border-radius: 12px;
	font-size: 12px;
	font-weight: 700;
	min-width: 20px;
	text-align: center;
	margin-left: 4px;
}

.cred-notification-badges {
	display: flex;
	gap: 12px;
	align-items: center;
}

.cred-notification-badge {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 16px;
	min-height: 44px;
	border-radius: 10px;
	background: linear-gradient(135deg, #7796C6 0%, #6687b5 100%);
	color: #ffffff !important;
	text-decoration: none;
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(119, 150, 198, 0.2);
	border: 2px solid transparent;
	overflow: visible;
	font-weight: 600;
	font-size: 14px;
	white-space: nowrap;
}

.cred-notification-badge:hover {
	background: linear-gradient(135deg, #6687b5 0%, #5577a4 100%);
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(119, 150, 198, 0.3);
	color: #ffffff !important;
}

.cred-notification-badge svg {
	width: 22px;
	height: 22px;
	fill: #ffffff !important;
	z-index: 1;
}

/* Ensure all text and links are white */
.cred-notification-badge,
.cred-notification-badge *:not(.cred-notification-count) {
	color: #ffffff !important;
}

/* Counter badge positioned at top-right corner */
.cred-notification-count {
	position: absolute;
	top: -8px;
	right: -8px;
	background: #E75656;
	color: #ffffff;
	border-radius: 12px;
	min-width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 700;
	border: 2px solid #ffffff;
	box-shadow: 0 2px 6px rgba(231, 86, 86, 0.3);
	padding: 2px 6px;
	box-sizing: border-box;
	z-index: 2;
}

/* Special styling for high numbers */
.cred-notification-count[data-count="0"] {
	display: none;
}

/* Button text styling */
.cred-notification-badge-text {
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0.025em;
}

/* Active state for notification buttons */
.cred-notification-badge:active {
	transform: translateY(0);
	box-shadow: 0 2px 4px rgba(119, 150, 198, 0.2);
}

/* Focus state for accessibility */
.cred-notification-badge:focus {
	outline: 2px solid #FFA216;
	outline-offset: 2px;
}

/* Different button variants */
.cred-notification-badge.cred-badge-search {
	background: linear-gradient(135deg, #FFA216 0%, #ff9200 100%);
	color: #ffffff !important;
}

.cred-notification-badge.cred-badge-search:hover {
	background: linear-gradient(135deg, #ff9200 0%, #e68a00 100%);
	color: #ffffff !important;
}



/* Empty state */
.cred-empty-state {
	text-align: center;
	padding: 60px 20px;
	color: #64748b;
}

.cred-empty-icon {
	width: 64px;
	height: 64px;
	margin: 0 auto 16px;
	opacity: 0.5;
}

.cred-empty-title {
	font-size: 1.25rem;
	font-weight: 600;
	color: #334155;
	margin: 0 0 8px;
}

.cred-empty-text {
	margin: 0 0 24px;
	line-height: 1.5;
}

/* Notification blocks */
.cred-notification-block {
	background: white;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 24px;
	margin-bottom: 24px;
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.cred-notification-block.warning {
	border-color: #FFA216;
	background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
}

.cred-notification-block.error {
	border-color: #E75656;
	background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
}

.cred-notification-icon {
	width: 40px;
	height: 40px;
	flex-shrink: 0;
}

.cred-notification-content {
	flex: 1;
	color: #374151;
	line-height: 1.6;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
	.cred-search-container {
		padding: 16px 12px 40px;
	}
	.cred-contract-download {
		padding: 16px;
		gap: 12px;
	}
	
	.cred-contract-icon {
		width: 40px;
		height: 40px;
	}
	
	/* Mobile styles for action buttons */
	.cred-case-actions {
		flex-direction: column;
		gap: 8px;
		align-items: stretch;
	}
	
	.cred-action-btn {
		justify-content: center;
		padding: 14px 20px;
		font-size: 15px;
		width: 100%;
	}
	
	.cred-action-text {
		display: block;
	}
	
	.cred-case-card {
		padding: 20px;
	}
	
	.cred-case-header {
		flex-direction: column;
		gap: 12px;
	}
	
	.cred-case-details {
		grid-template-columns: 1fr;
		gap: 8px;
	}
	
	.cred-case-actions {
		flex-direction: column;
		gap: 16px;
		align-items: stretch;
	}
	
	.cred-action-buttons {
		flex-direction: column;
		gap: 8px;
	}
	
	.cred-action-btn {
		justify-content: center;
	}
	
	.cred-notification-badges {
		justify-content: center;
		flex-wrap: wrap;
		gap: 8px;
	}
	
	.cred-notification-badge {
		padding: 10px 14px;
		font-size: 13px;
		min-height: 40px;
	}
}

@media (max-width: 480px) {
	/* .cred-breadcrumb-list {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	} */
	
	.cred-breadcrumb-item:not(:last-child)::after {
		display: none;
	}
	
	/* Ultra-mobile styles for smallest screens */
	.cred-search-container {
		padding: 12px;
	}
	
	.cred-case-card {
		padding: 16px;
		margin-bottom: 12px;
	}
	
	.cred-case-title {
		font-size: 1.1rem;
	}
	
	.cred-notification-badge {
		padding: 8px 12px;
		font-size: 12px;
		min-height: 36px;
		gap: 6px;
	}
	
	.cred-notification-badge svg {
		width: 18px;
		height: 18px;
	}
	
	.cred-notification-count {
		top: -6px;
		right: -6px;
		min-width: 18px;
		height: 18px;
		font-size: 10px;
	}
	
	.cred-case-detail-label {
		min-width: 80px;
		font-size: 13px;
	}
	
	.cred-case-detail-value {
		font-size: 13px;
	}
	
	/* Better contrast and readability on small screens */
	.cred-case-detail-label {
		color: #475569;
		font-weight: 600;
	}
	
	.cred-case-detail-value {
		color: #1e293b;
		font-weight: 500;
	}
	
	/* Improved spacing for touch */
	.cred-case-detail {
		padding: 4px 0;
		min-height: 28px;
		align-items: center;
	}
}

.cr-cases img {
	max-width: 100%;
	height: auto;
}

/* Touch-friendly improvements for mobile devices */
@media (max-width: 768px) {
	/* Larger touch targets */
	.cred-notification-badge,
	.cred-action-btn {
		min-height: 44px;
		padding: 12px 16px;
	}
	
	/* Better spacing for touch */
	.cred-notification-badges {
		gap: 12px;
	}
	
	/* Prevent text selection on touch devices for UI elements */
	.cred-notification-badge,
	.cred-action-btn {
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-khtml-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
	}
}

/* Landscape mobile optimization */
@media (max-width: 768px) and (orientation: landscape) {
	.cred-case-details {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px 16px;
	}
	
	.cred-notification-badges {
		flex-direction: row;
		justify-content: center;
		gap: 10px;
	}
}

/* High DPI displays optimization */
@media (-webkit-min-device-pixel-ratio: 2),
       (min-resolution: 192dpi) {
	.cred-notification-badge {
		border-width: 0.5px;
	}
	
	.cred-case-card {
		border-width: 0.5px;
	}
}

/* Foldable devices support */
@media (max-width: 1024px) and (min-width: 768px) {
	.cred-cases-list {
		grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
		gap: 20px;
	}
}

/* Large mobile devices and small tablets */
@media (max-width: 640px) {
	.cred-search-header {
		text-align: center;
		padding: 16px 0;
	}
	
	.cred-search-title {
		font-size: 1.5rem;
	}
	
	.cred-search-subtitle {
		font-size: 0.95rem;
	}
}

/* Responsive adjustments for cr-breadcrumb and cr-cases */
@media (max-width: 768px) {
	.cr-breadcrumb { margin: 116px 0 24px; }
	.cr-cases { margin-top: 80px; }
}

@media (max-width: 480px) {
	.cr-breadcrumb { margin: 0 0 24px; }
	.cr-cases { margin-top: 60px; }
}

@media (max-width: 320px) {
	.cr-breadcrumb { margin: 76px 0 24px; }
	.cr-cases { margin-top: 40px; }
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
	.cred-case-card,
	.cred-notification-badge,
	.cred-action-btn {
		transition: none;
	}
	
	.cred-case-card:hover,
	.cred-notification-badge:hover {
		transform: none;
	}
}

/* ==============================
   MODERN DASHBOARD CARDS 2024/2025
   Design System: Enhanced shadows + Better background
   High specificity selectors to override other styles
   CRITICAL OVERRIDE STYLES WITH MAXIMUM SPECIFICITY
   ============================== */

/* ПРИНУДИТЕЛЬНОЕ ПЕРЕОПРЕДЕЛЕНИЕ - MAXIMUM SPECIFICITY */
html body .creditor-account-container .account-dashboard .dashboard-card,
html body .account-dashboard .dashboard-card,
html .creditor-account-container .dashboard-card,
html .account-dashboard .dashboard-card,
.creditor-account-container .account-dashboard .dashboard-card,
.account-dashboard .dashboard-card,
.creditor-account-container .dashboard-card,
.account-dashboard .dashboard-card {
    background: linear-gradient(135deg, 
        rgba(248, 250, 252, 0.95) 0%,
        rgba(241, 245, 249, 0.9) 100%
    ) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    border: 1px solid rgba(148, 163, 184, 0.3) !important;
    border-radius: 24px !important;
    
    /* Enhanced shadow system for better visibility */
    box-shadow: 
        0 20px 50px rgba(15, 23, 42, 0.15),
        0 8px 25px rgba(15, 23, 42, 0.1),
        0 4px 12px rgba(15, 23, 42, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
    
    padding: 2rem !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    overflow: hidden !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    width: auto !important;
    
    /* Оптимизированная анимация setup */
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    transition: all 0.3s ease !important;
}

/* Градиентный слой отключен для лучшей производительности */
.creditor-account-container .dashboard-card::before,
.account-dashboard .dashboard-card::before {
    display: none; /* Полностью отключаем градиентный слой */
}

/* Контент карточки поверх градиента */
.creditor-account-container .dashboard-card > *,
.account-dashboard .dashboard-card > * {
    position: relative;
    z-index: 1;
}

:root {
    --dashboard-primary: #7796C6;
    --dashboard-secondary: #764ba2;
    --dashboard-accent: #f093fb;
    --dashboard-success: #4ade80;
    --dashboard-warning: #f59e0b;
    --dashboard-danger: #ef4444;
    --dashboard-text-primary: #1e293b;
    --dashboard-text-secondary: #64748b;
    --dashboard-border-radius: 24px;
    --dashboard-spacing-unit: 1rem;
}

/* High specificity selectors for dashboard */
.creditor-account-container .account-dashboard,
.account-dashboard {
    margin-top: 2rem !important;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%) !important;
    border-radius: 20px !important;
    padding: 2rem !important;
    min-height: 100vh !important;
}

.creditor-account-container .dashboard-grid,
.account-dashboard .dashboard-grid {
    display: grid !important;
    grid-template-columns: 1fr !important; /* Мобильная версия - 1 колонка */
    gap: 1.5rem !important;
    align-items: start !important;
}

.creditor-account-container .dashboard-column,
.account-dashboard .dashboard-column {
    display: grid !important;
    grid-template-rows: auto !important;
    gap: 2rem !important;
    align-content: start !important;
}

/* Enhanced dashboard cards with stronger shadows and gray background */
.creditor-account-container .dashboard-card,
.account-dashboard .dashboard-card {
    background: linear-gradient(135deg, 
        rgba(248, 250, 252, 0.95) 0%,
        rgba(241, 245, 249, 0.9) 100%
    ) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    border: 1px solid rgba(148, 163, 184, 0.3) !important;
    border-radius: var(--dashboard-border-radius) !important;
    
    /* Enhanced shadow system for better visibility */
    box-shadow: 
        0 20px 50px rgba(15, 23, 42, 0.15),
        0 8px 25px rgba(15, 23, 42, 0.1),
        0 4px 12px rgba(15, 23, 42, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
    
    padding: 2rem !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    overflow: hidden !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    
    /* Animation setup */
    opacity: 0;
    transform: translateY(40px) scale(0.96);
    transition: all 1.8s cubic-bezier(0.165, 0.84, 0.44, 1) !important; /* Максимально плавная кривая для всех переходов */
}


/* Упрощенная входная анимация для лучшей производительности */
.dashboard-card.card-animate {
    animation: none; /* Убираем тяжелую анимацию */
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* Простая анимация появления (используется только при необходимости) */
@keyframes modernSlideIn {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Enhanced hover effects with stronger shadows - MAXIMUM SPECIFICITY */
html body .creditor-account-container .account-dashboard .dashboard-card:hover,
html body .account-dashboard .dashboard-card:hover,
html .creditor-account-container .dashboard-card:hover,
html .account-dashboard .dashboard-card:hover,
.creditor-account-container .account-dashboard .dashboard-card:hover,
.account-dashboard .dashboard-card:hover,
.creditor-account-container .dashboard-card:hover,
.account-dashboard .dashboard-card:hover {
    transform: translateY(-5px) scale(1.01) !important; /* Минимальный подъём для плавности */
    box-shadow: 
        0 40px 80px rgba(119, 150, 198, 0.25),
        0 20px 40px rgba(255, 162, 22, 0.15),
        0 8px 20px rgba(119, 150, 198, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
    border-color: rgba(102, 126, 234, 0.4) !important;
    transition: all 0.25s ease !important; /* Быстрые и плавные переходы */
}

/* Показ градиентного слоя при hover */
.creditor-account-container .dashboard-card:hover::before,
.account-dashboard .dashboard-card:hover::before {
    opacity: 1;
}
/* Creditor card buttons - аналогичные стили для кредиторов */
.cred-card-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem 0.75rem;
    min-height: 56px;
    
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.9) 0%,
        rgba(248, 250, 252, 0.8) 100%
    );
    backdrop-filter: blur(12px) saturate(150%);
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 18px;
    
    box-shadow: 
        0 1px 3px rgba(0, 0, 0, 0.05),
        0 4px 12px rgba(0, 0, 0, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.6);
    
    text-decoration: none !important;
    transition: all 0.2s ease-out; /* Уменьшено время для производительности */
    position: relative;
    overflow: hidden;
    will-change: transform; /* GPU-ускорение */
}

.cred-card-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    
    background: linear-gradient(135deg, 
        rgba(59, 130, 246, 0.1) 0%,
        rgba(147, 51, 234, 0.1) 100%
    );
    
    opacity: 0;
    transition: opacity 0.2s ease-out; /* Уменьшено время */
    z-index: -1;
}

.cred-card-btn:hover::before {
    opacity: 1;
}

.cred-card-btn:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 
        0 4px 12px rgba(0, 0, 0, 0.1),
        0 8px 25px rgba(59, 130, 246, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
    border-color: rgba(59, 130, 246, 0.4);
}

.cred-card-btn .action-icon,
.cred-card-btn .action-text {
    position: relative;
    z-index: 1;
    transition: all 0.2s ease-out; /* Уменьшено время */
}

.cred-card-btn:hover .action-icon {
    transform: translateY(-1px) scale(1.1);
}

.cred-card-btn:hover .action-text {
    transform: translateY(-1px);
    color: #1e40af !important;
}

/* Full-width creditor buttons */
.cred-card-btn-full {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    width: 100%;
    
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.95) 0%,
        rgba(248, 250, 252, 0.9) 100%
    );
    backdrop-filter: blur(15px) saturate(180%);
    border: 1px solid rgba(148, 163, 184, 0.25);
    border-radius: 16px;
    
    box-shadow: 
        0 2px 8px rgba(0, 0, 0, 0.04),
        0 4px 16px rgba(0, 0, 0, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.7);
    
    text-decoration: none !important;
    transition: all 0.2s ease-out; /* Уменьшено время для производительности */
    position: relative;
    overflow: hidden;
    will-change: transform; /* GPU-ускорение */
}

.cred-card-btn-full::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    
    background: linear-gradient(135deg, 
        rgba(16, 185, 129, 0.1) 0%,
        rgba(5, 150, 105, 0.15) 100%
    );
    
    opacity: 0;
    transition: opacity 0.2s ease-out; /* Уменьшено время */
    z-index: -1;
}

.cred-card-btn-full:hover::before {
    opacity: 1;
}

.cred-card-btn-full:hover {
    transform: translateY(-2px) translateX(2px);
    box-shadow: 
        0 6px 20px rgba(0, 0, 0, 0.1),
        0 10px 32px rgba(16, 185, 129, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    border-color: rgba(16, 185, 129, 0.4);
}

.cred-card-btn-full .action-icon,
.cred-card-btn-full .action-text {
    position: relative;
    z-index: 1;
    transition: all 0.2s ease-out; /* Уменьшено время */
}

.cred-card-btn-full:hover .action-icon {
    transform: translateY(-1px) scale(1.1);
}

.cred-card-btn-full:hover .action-text {
    transform: translateY(-1px);
    letter-spacing: 0.5px;
    color: #065f46 !important;
}

/* Disabled states for creditor buttons */
.cred-card-btn.disabled,
.cred-card-btn-full.disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    filter: grayscale(50%) !important;
}

.cred-card-btn.disabled:hover,
.cred-card-btn-full.disabled:hover {
    transform: none !important;
    box-shadow: 
        0 1px 3px rgba(0, 0, 0, 0.05),
        0 4px 12px rgba(0, 0, 0, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.6) !important;
}
/* Card header with clean static background */
.creditor-account-container .card-header,
.account-dashboard .card-header {
    display: flex !important;
    align-items: center !important;
    gap: 1.5rem !important;
    position: relative !important;
    flex-shrink: 0 !important;
    background: color-mix(in srgb, var(--dashboard-primary) 70%, white 30%) !important; /* Светлее на 30% */
    color: white !important;
    padding: 1.5rem 2rem !important;
    border-radius: 20px !important;
    margin: 0 !important;
    overflow: hidden !important;
    
    box-shadow: 
        0 12px 40px rgba(102, 126, 234, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.3),
        0 4px 12px rgba(0, 0, 0, 0.15) !important;
}



.card-header h3 {
    flex-grow: 1;
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: white !important;
    line-height: 1.3;
    letter-spacing: -0.025em;
    position: relative;
    z-index: 2;
    text-shadow: 
        0 2px 4px rgba(0, 0, 0, 0.3),
        0 4px 8px rgba(0, 0, 0, 0.15);
}

.card-icon {
    font-size: 2.5rem;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    filter: 
        drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3))
        drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.5);
}

.card-icon:hover {
    transform: scale(1.2) rotate(10deg) translateY(-2px);
}

.notification-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: linear-gradient(135deg, 
        var(--dashboard-danger) 0%,
        #ff6b6b 100%
    );
    color: white;
    padding: 0.5rem 0.875rem;
    border-radius: 25px;
    font-size: 0.75rem;
    font-weight: 800;
    min-width: 28px;
    text-align: center;
    z-index: 3;
    box-shadow: 
        0 8px 24px rgba(239, 68, 68, 0.4),
        0 4px 12px rgba(0, 0, 0, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    animation: badgePulse 2s ease-in-out infinite;
    border: 2px solid rgba(255, 255, 255, 0.8);
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes badgePulse {
    0%, 100% { 
        transform: scale(0.85);
        box-shadow: 
            0 8px 24px rgba(239, 68, 68, 0.4),
            0 4px 12px rgba(0, 0, 0, 0.15);
    }
    50% { 
        transform: scale(1.45);
        box-shadow: 
            0 12px 32px rgba(239, 68, 68, 0.6),
            0 6px 16px rgba(0, 0, 0, 0.2);
    }
}

/* Card content */
.card-content {
    margin-bottom: 2rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 80px;
    padding: 0 0.5rem;
}

.card-content p {
    color: var(--dashboard-text-secondary);
    margin: 0;
    line-height: 1.6;
    text-align: center;
    font-size: 1rem;
    font-weight: 400;
    opacity: 0.9;
    transition: all 1.8s cubic-bezier(0.165, 0.84, 0.44, 1); /* Плавная синхронизация с основным эффектом */
}

.dashboard-card:hover .card-content p {
    opacity: 1;
    transform: translateY(-2px);
    color: var(--dashboard-text-primary);
}

/* Enhanced card grid layout - MAXIMUM SPECIFICITY - ИСПРАВЛЕНО для отображения двух кнопок рядом */
html body .creditor-account-container .account-dashboard .card-grid,
html body .account-dashboard .card-grid,
html .creditor-account-container .card-grid,
html .account-dashboard .card-grid,
.creditor-account-container .account-dashboard .card-grid,
.account-dashboard .card-grid,
.creditor-account-container .card-grid,
.account-dashboard .card-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important; /* Две колонки для размещения кнопок рядом */
    gap: 1rem !important;
    margin-top: auto !important;
    position: relative !important;
    min-height: 56px !important; /* Такая же высота, как у card-action-full */
}

/* Modern card actions */
.card-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem 0.75rem;
    min-height: 56px; /* Такая же высота, как у card-action-full */
    
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.9) 0%,
        rgba(248, 250, 252, 0.8) 100%
    );
    backdrop-filter: blur(12px) saturate(150%);
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 18px;
    
    box-shadow: 
        0 8px 32px rgba(15, 23, 42, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.4),
        0 2px 8px rgba(0, 0, 0, 0.06);
    
    text-decoration: none;
    color: var(--dashboard-text-primary);
    font-weight: 600;
    
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.card-action::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, 
        var(--dashboard-primary) 0%,
        var(--dashboard-accent) 100%
    );
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 0;
}

.card-action:hover::before {
    opacity: 1;
}

.card-action:hover {
    color: white;
    transform: translateY(-6px) scale(1.03);
    border-color: var(--dashboard-primary);
    box-shadow: 
        0 16px 48px rgba(102, 126, 234, 0.25),
        0 8px 24px rgba(15, 23, 42, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.card-action .action-icon,
.card-action .action-text {
    position: relative;
    z-index: 1;
    transition: all 0.3s ease;
}

.card-action:hover .action-icon {
    transform: scale(1.1) rotate(5deg);
}

.card-action:hover .action-text {
    transform: translateY(-1px);
    letter-spacing: 0.5px;
    color: white !important;
}

.action-icon {
    font-size: 1.25rem; /* Уменьшили для лучшего размещения в 56px высоте */
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}

.action-text {
    font-size: 0.8rem; /* Уменьшили для лучшего размещения */
    font-weight: 600;
    text-align: center;
    line-height: 1.2;
    color: var(--dashboard-text-primary) !important;
}

/* Full-width action button */
.card-action-full {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem 0.75rem;
    min-height: 56px;
    
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.9) 0%,
        rgba(248, 250, 252, 0.8) 100%
    );
    backdrop-filter: blur(12px) saturate(150%);
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 18px;
    
    box-shadow: 
        0 8px 32px rgba(15, 23, 42, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.4),
        0 2px 8px rgba(0, 0, 0, 0.06);
    
    text-decoration: none;
    color: var(--dashboard-text-primary);
    font-weight: 600;
    
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.card-action-full::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, 
        var(--dashboard-primary) 0%,
        var(--dashboard-accent) 100%
    );
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 0;
}

.card-action-full:hover::before {
    opacity: 1;
}

.card-action-full:hover {
    color: white;
    transform: translateY(-6px) scale(1.03);
    border-color: var(--dashboard-primary);
    box-shadow: 
        0 16px 48px rgba(102, 126, 234, 0.25),
        0 8px 24px rgba(15, 23, 42, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

@keyframes premiumGradient {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

.card-action-full .action-icon,
.card-action-full .action-text {
    position: relative;
    z-index: 1;
    transition: all 0.3s ease;
}

.card-action-full:hover .action-icon {
    transform: scale(1.1) rotate(5deg);
}

.card-action-full:hover .action-text {
    transform: translateY(-1px);
    letter-spacing: 0.5px;
    color: white !important;
}

.card-action-full .action-text {
    font-size: 0.8rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.2;
    color: var(--dashboard-text-primary) !important;
}

/* Disabled states */
.card-action.disabled {
    background: linear-gradient(135deg, 
        rgba(249, 250, 251, 0.9) 0%, 
        rgba(243, 244, 246, 0.8) 100%
    );
    color: #9ca3af;
    border-color: #e5e7eb;
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.6;
}

/* Responsive design */
@media (min-width: 768px) {
    .creditor-account-container .dashboard-grid,
    .account-dashboard .dashboard-grid { 
        grid-template-columns: 1fr 1fr !important; /* Десктопная версия - 2 колонки */
        gap: 2rem !important; 
    }
}

@media (min-width: 1024px) {
    .creditor-account-container .dashboard-grid,
    .account-dashboard .dashboard-grid { 
        gap: 2.5rem !important; 
    }
    .creditor-account-container .dashboard-card,
    .account-dashboard .dashboard-card { 
        padding: 2rem !important; 
    }
}

@media (max-width: 767px) {
    .creditor-account-container .dashboard-grid,
    .account-dashboard .dashboard-grid {
        grid-template-columns: 1fr !important; /* Мобильная версия - 1 колонка */
        gap: 1rem !important;
    }
    
    .creditor-account-container .card-grid,
    .account-dashboard .card-grid {
        grid-template-columns: 1fr !important; /* На мобильных card-grid тоже одна колонка */
        gap: 0.75rem !important;
    }
    
    .creditor-account-container .account-dashboard,
    .account-dashboard {
        padding: 1rem !important;
        margin-top: 1rem !important;
    }
    
    .creditor-account-container .dashboard-card,
    .account-dashboard .dashboard-card {
        padding: 1.5rem !important;
        border-radius: 16px !important;
    }
    
    /* Менее агрессивный hover на мобильных */
    .creditor-account-container .dashboard-card:hover,
    .account-dashboard .dashboard-card:hover {
        transform: translateY(-10px) scale(1.02) !important;
    }
}

@media (max-width: 480px) {
    .creditor-account-container .dashboard-grid,
    .account-dashboard .dashboard-grid {
        gap: 0.75rem !important;
    }
    
    .creditor-account-container .dashboard-card,
    .account-dashboard .dashboard-card {
        padding: 1rem !important;
        border-radius: 12px !important;
    }
    
    .creditor-account-container .card-grid,
    .account-dashboard .card-grid {
        gap: 0.5rem !important;
    }
    
    /* Упрощенные эффекты для очень маленьких экранов */
    .creditor-account-container .dashboard-card:hover,
    .account-dashboard .dashboard-card:hover {
        transform: translateY(-5px) scale(1.01) !important;
        transition: all 0.3s ease !important;
    }
}

/* ========================================
   CRITICAL OVERRIDE STYLES FROM PHP
   Maximum specificity to ensure application
   ======================================== */

/* КРИТИЧЕСКОЕ ПЕРЕОПРЕДЕЛЕНИЕ - МАКСИМАЛЬНАЯ СПЕЦИФИЧНОСТЬ */
html body .creditor-account-container .dashboard-card,
html body .account-dashboard .dashboard-card,
.creditor-account-container .dashboard-card,
.account-dashboard .dashboard-card {
    background: linear-gradient(135deg, rgba(248, 250, 252, 0.95) 0%, rgba(241, 245, 249, 0.9) 100%) !important;
    border: 1px solid rgba(148, 163, 184, 0.3) !important;
    border-radius: 24px !important;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.15), 0 8px 25px rgba(15, 23, 42, 0.1), 0 4px 12px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
    padding: 2rem !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    overflow: hidden !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    width: auto !important;
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.creditor-account-container .card-grid,
.account-dashboard .card-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem !important;
    margin-top: auto !important;
    position: relative !important;
}

.creditor-account-container .dashboard-card:hover,
.account-dashboard .dashboard-card:hover {
    transform: translateY(-5px) scale(1.01) !important; /* Минимальный подъём для плавности */
    box-shadow: 0 40px 80px rgba(119, 150, 198, 0.25), 0 20px 40px rgba(255, 162, 22, 0.15), 0 8px 20px rgba(119, 150, 198, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
    border-color: rgba(102, 126, 234, 0.4) !important;
    transition: all 8s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

/* Мобильная адаптация - CRITICAL OVERRIDES */
@media (max-width: 767px) {
    .creditor-account-container .card-grid,
    .account-dashboard .card-grid {
        grid-template-columns: 1fr !important;
        gap: 0.75rem !important;
    }
    
    .creditor-account-container .dashboard-card,
    .account-dashboard .dashboard-card {
        padding: 1.5rem !important;
    }
    
    .creditor-account-container .dashboard-card:hover,
    .account-dashboard .dashboard-card:hover {
        transform: translateY(-3px) scale(1.005) !important; /* Максимально мягкий эффект на мобильных */
    }
    
    .card-icon {
        width: 20px !important;
        height: 20px !important;
        font-size: 1rem !important;
    }
    
    .card-content {
        padding: 0 !important;
    }
    
    /* Ускоренные хлебные крошки для мобильных */
    .breadcrumbs,
    .creditor-account-container .breadcrumbs {
        transition: none !important; /* Убираем все анимации */
        transform: translateZ(0) !important; /* Включаем GPU ускорение */
        will-change: auto !important; /* Оптимизация производительности */
    }
    
    .breadcrumbs ol,
    .breadcrumbs a,
    .breadcrumbs li {
        transition: none !important; /* Убираем transition для скорости */
        backface-visibility: hidden !important; /* Предотвращаем flickering */
    }
    
    .breadcrumbs a:hover {
        transition: background-color 0.1s ease !important; /* Минимальная анимация только для hover */
    }

    .breadcrumbs_prof {
        transition: none !important; /* Убираем все анимации */
        transform: translateZ(0) !important; /* Включаем GPU ускорение */
        will-change: auto !important; /* Оптимизация производительности */
    }
    
    .breadcrumbs_prof ol,
    .breadcrumbs_prof a,
    .breadcrumbs_prof li {
        transition: none !important; /* Убираем transition для скорости */
        backface-visibility: hidden !important; /* Предотвращаем flickering */
    }
    
    .breadcrumbs_prof a:hover {
        transition: background-color 0.1s ease !important; /* Минимальная анимация только для hover */
    }
}

/* ========================================
   CREDITOR BREADCRUMBS STYLES
   Separate from site-wide breadcrumbs to avoid conflicts
   ======================================== */

/* Desktop breadcrumbs */
.cred-breadcrumbs {
    margin: 10px 0 18px;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 12px 14px;
}

.cred-breadcrumbs ol {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.cred-breadcrumbs a {
    color: #475569;
    text-decoration: none;
    padding: 6px 10px;
    border-radius: 8px;
    transition: 0.2s ease;
}

.cred-breadcrumbs a:hover {
    background: rgba(119, 150, 198, 0.12);
    color: #2b3a5a;
}

.cred-breadcrumbs li {
    color: #334155;
}

.cred-breadcrumbs li + li::before {
    content: '›';
    margin: 0 6px;
    color: #94a3b8;
}

.cred-breadcrumbs span {
    color: #1e293b;
    font-weight: 600;
    padding: 6px 10px;
    background: rgba(59, 130, 246, 0.1);
    border-radius: 8px;
}

/* Mobile: Hide breadcrumbs completely */
@media (max-width: 767px) {
    .cred-breadcrumbs {
        display: none !important;
    }
    
    .creditor-account-container .breadcrumbs,
    .account-dashboard .breadcrumbs {
        display: none !important; /* Скрываем хлебные крошки на мобильных */
    }
}

@media (max-width: 480px) {
    .creditor-account-container .dashboard-card,
    .account-dashboard .dashboard-card {
        padding: 1rem !important;
        border-radius: 16px !important;
    }
}

/* ==================== CRF- FORM STYLES ==================== */
/* Современные стили для форм кредиторов */

.crf-form-container {
    max-width: 60%;
    width: 60%;
    margin: 0 auto;
    padding: 24px 16px 64px;
    opacity: 1; /* Изменено с 0 для производительности */
    animation: none; /* Оптимизация производительности */
}

/* Закомментировано для оптимизации производительности
@keyframes crf-fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
} */

.crf-form {
    background: #ffffff;
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 8px 32px rgba(15, 23, 42, 0.08);
    border: 1px solid rgba(226, 232, 240, 0.6);
}

.crf-form-title {
    font-size: 28px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 8px;
    line-height: 1.2;
}

.crf-form-subtitle {
    font-size: 18px;
    font-weight: 600;
    color: #475569;
    margin-bottom: 16px;
}

.crf-form-notice {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
    color: #92400e;
    padding: 12px 16px;
    border-radius: 12px;
    font-size: 14px;
    margin-bottom: 24px;
    border: 1px solid #fbbf24;
    display: flex;
    align-items: center;
    gap: 8px;
}

.crf-fieldset {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 24px;
    background: rgba(248, 250, 252, 0.3);
}

.crf-legend {
    font-size: 16px;
    font-weight: 600;
    color: #374151;
    padding: 0 12px;
    background: #ffffff;
    border-radius: 8px;
}

/* Стили для сворачиваемых секций */
.crf-collapsible-legend {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    user-select: none;
    transition: all 0.2s ease;
    padding: 12px 16px !important;
    background: linear-gradient(135deg, #7796C6 0%, #5a7dad 100%);
    color: #ffffff !important;
    border-radius: 10px;
    margin-bottom: 0;
}

.crf-collapsible-legend:hover {
    background: linear-gradient(135deg, #5a7dad 0%, #7796C6 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(119, 150, 198, 0.3);
}

.crf-collapsible-legend:active {
    transform: translateY(0);
}

.crf-legend-text {
    flex: 1;
}

.crf-toggle-icon {
    font-size: 14px;
    transition: transform 0.3s ease;
    margin-left: 12px;
    font-weight: bold;
}

.crf-collapsible-content {
    overflow: hidden;
    transition: all 0.3s ease;
    padding-top: 16px;
}

.crf-collapsible-fieldset {
    position: relative;
}

/* Новая реализация для <details>/<summary> коллапса */
.crf-collapsible {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.3);
    margin: 24px 0;
}

.crf-collapsible-summary {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    user-select: none;
    transition: background-color 0.2s ease, color 0.2s ease;
    padding: 12px 12px !important; /* как .crf-legend */
    background: #fafbfc;
    color: #374151 !important; /* как .crf-legend */
    border-radius: 8px; /* как .crf-legend */
    border: 1px solid #e2e8f0; /* обводка как у секций */
    font-size: 16px; /* как .crf-legend */
    font-weight: 600; /* как .crf-legend */
}

.crf-collapsible-summary:hover {
    background: #ffffff; /* без эффекта, чтобы соответствовать легенде */
}

.crf-collapsible-summary:active {
    background: #ffffff;
}

/* Скрыть стандартный маркер и показать свой справа */
.crf-collapsible-summary::-webkit-details-marker {
    display: none;
}

.crf-collapsible-summary::after {
    content: '▼';
    font-size: 20px;
    font-weight: bold;
    margin-left: 12px;
    transition: transform 0.2s ease;
}

details.crf-collapsible[open] > .crf-collapsible-summary::after {
    transform: rotate(180deg);
}

.crf-collapsible-content {
    padding: 16px;
}

.crf-form-group {
    margin-bottom: 20px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.crf-label {
    display: block;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px;
    font-size: 14px;
}

.crf-form-input,
.crf-form-textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e5e7eb;
    border-radius: 10px;
    font-size: 16px;
    transition: all 0.2s ease;
    background: #ffffff;
    box-sizing: border-box;
    display: block;
    max-width: 100%;
    min-width: 0;
}

.crf-form-select {
    width: 100px;
    min-width: 100px;
    max-width: 100px;
    padding: 12px 16px;
    border: 2px solid #e5e7eb;
    border-radius: 10px;
    font-size: 16px;
    transition: all 0.2s ease;
    background: #ffffff;
    box-sizing: border-box;
    display: inline-block;
}

/* Специальные стили для конкретных полей */
#surname,
#name, 
#patronymic,
#textInput,
#textInput2,
#textInput3,
#inn,
#email,
#password,
#address_auto,
#address_auto2 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
    margin: 0 !important;
}

/* Дополнительные стили для десктопной версии */
@media (min-width: 769px) {
    .crf-form-input,
    .crf-form-textarea,
    .crf-form-select {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        display: block !important;
    }
    
    /* Принудительная полная ширина для проблемных полей на десктопе */
    #surname,
    #name, 
    #patronymic,
    #textInput,
    #textInput2,
    #textInput3,
    #inn,
    #email,
    #password,
    input[name="surname"],
    input[name="name"],
    input[name="patron"],
    input[name="inn"],
    input[name="email"],
    input[name="password"] {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        display: block !important;
        margin: 0 !important;
        flex: none !important;
    }
}

.crf-form-input:focus,
.crf-form-textarea:focus,
.crf-form-select:focus {
    outline: none;
    border-color: #7796C6;
    box-shadow: 0 0 0 3px rgba(119, 150, 198, 0.1);
}

.crf-form-input.error {
    border-color: #E75656;
}

.crf-form-textarea {
    resize: vertical;
    min-height: 120px;
}

.crf-radio-group,
.crf-checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 8px;
}

/* Компактное отображение чекбоксов в grid-макете */
.crf-checkbox-group[style*="display: grid"],
.crf-checkbox-group[style*="grid-template-columns"] {
    display: grid !important;
}

.crf-radio-label,
.crf-checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    color: #475569;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.crf-radio-label:hover,
.crf-checkbox-label:hover {
    background: rgba(119, 150, 198, 0.1);
}

.crf-radio-label input[type="radio"],
.crf-checkbox-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #7796C6;
}

.crf-error-message {
    color: #E75656;
    font-size: 14px;
    margin-top: 6px;
    font-weight: 500;
}

.crf-visible-mark {
    color: #7796C6;
    font-size: 16px;
}

.crf-required {
    color: #E75656;
}

.crf-submit-btn {
    background: linear-gradient(135deg, #7796C6 0%, #6687b5 100%);
    color: #ffffff;
    padding: 14px 32px;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-right: 16px;
}

.crf-submit-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 16px rgba(119, 150, 198, 0.3);
}

.crf-reset-btn {
    background: #ffffff;
    color: #374151;
    padding: 14px 32px;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.crf-reset-btn:hover {
    background: #f9fafb;
    border-color: #d1d5db;
}

/* Принудительное горизонтальное расположение шагов */
.crf-step-indicator {
    width: 100% !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch;
}

.crf-step-indicator .crf-step {
    display: inline-flex !important;
    vertical-align: top !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

/* Дополнительные стили для очень маленьких экранов */
@media (max-width: 320px) {
    .crf-step {
        font-size: 8px !important;
        padding: 4px 2px !important;
        min-width: 50px !important;
    }
}

.crf-step-indicator {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px;
    margin-bottom: 24px;
    justify-content: center;
    flex-wrap: wrap;
}

.crf-step {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 12px 8px;
    background: #f1f5f9;
    color: #64748b;
    text-decoration: none;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    transition: all 0.2s ease;
    min-width: 100px;
    flex: 1;
    max-width: 200px;
}

.crf-step.crf-step-current {
    background: #7796C6 !important;
    color: #ffffff !important;
}

.crf-step:hover:not(.crf-step-current) {
    background: #e2e8f0;
    color: #475569;
}

.crf-file-upload {
    margin-bottom: 16px;
}

.crf-file-input {
    margin-bottom: 8px;
}

.crf-add-file-btn {
    background: #FFA216;
    color: #ffffff;
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.crf-add-file-btn:hover {
    background: #e6911c;
    transform: translateY(-1px);
}

.crf-advance-selector {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 10px;
    font-size: 14px;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.crf-advance-selector span {
    white-space: normal;
    font-weight: 500;
    color: #374151;
    font-size: 13px;
    flex: 1 1 220px;
    min-width: 0;
    line-height: 1.4;
}

.crf-advance-selector select {
    padding: 4px 8px;
    border: 2px solid #e5e7eb;
    border-radius: 4px;
    font-size: 13px;
    width: 100px;
    flex-shrink: 0;
    background: #ffffff;
    transition: border-color 0.2s ease;
    box-sizing: border-box;
}

/* Убираем специальные размеры - все селекты одинаковой ширины */
.crf-advance-selector select:nth-of-type(1),
.crf-advance-selector select:nth-of-type(2),
.crf-advance-selector select:nth-of-type(3) {
    width: 100px;
    min-width: 100px;
    max-width: 100px;
}

.crf-advance-selector select:focus {
    border-color: #7796C6;
    outline: none;
    box-shadow: 0 0 0 3px rgba(119, 150, 198, 0.2);
}

.crf-form-description {
    font-size: 14px;
    color: #6b7280;
    margin-bottom: 12px;
    line-height: 1.5;
}

/* Адаптивность */
@media (min-width: 1200px) {
    .crf-form-container {
        max-width: 60%;
        width: 60%;
    }
}

@media (max-width: 1199px) and (min-width: 992px) {
    .crf-form-container {
        max-width: 70%;
        width: 70%;
        padding: 20px 16px 56px;
    }
    
    .crf-form {
        padding: 28px 20px;
    }
}

@media (max-width: 991px) and (min-width: 769px) {
    .crf-form-container {
        max-width: 85%;
        width: 85%;
        padding: 20px 16px 56px;
    }
    
    .crf-form {
        padding: 28px 20px;
    }
}

@media (max-width: 768px) {
    .crf-form-container {
        padding: 16px 12px 48px;
        margin-top: 0;
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    
    .crf-form {
        padding: 24px 16px;
        border-radius: 16px;
        box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    
    .crf-form-title {
        font-size: 22px;
        line-height: 1.3;
        margin-bottom: 12px;
        text-align: center;
        word-wrap: break-word;
        hyphens: auto;
    }
    
    .crf-form-subtitle {
        font-size: 16px;
        text-align: center;
        margin-bottom: 20px;
        word-wrap: break-word;
    }
    
    .crf-step-indicator {
        flex-direction: row !important;
        gap: 4px;
        margin-bottom: 20px;
        flex-wrap: nowrap;
        justify-content: space-between;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    
    .crf-step-indicator::-webkit-scrollbar {
        display: none;
    }
    
    .crf-step {
        min-width: auto;
        flex: 1;
        padding: 8px 4px;
        font-size: 11px;
        text-align: center;
        line-height: 1.2;
        max-width: none;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    
    .crf-fieldset {
        padding: 16px 12px;
        margin-bottom: 16px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .crf-legend {
        font-size: 14px;
        padding: 0 8px;
    }
    
    .crf-form-group {
        margin-bottom: 16px;
    }
    
    .crf-label {
        font-size: 13px;
        margin-bottom: 6px;
    }
    
    .crf-form-input,
    .crf-form-textarea {
        padding: 12px 14px;
        font-size: 16px; /* Предотвращает зум на iOS */
        border-radius: 8px;
        width: 100% !important; /* Принудительная полная ширина */
        max-width: 100% !important;
        box-sizing: border-box !important;
        display: block !important;
    }
    
    .crf-form-select {
        width: 100px !important;
        min-width: 100px !important;
        max-width: 100px !important;
        padding: 12px 14px;
        font-size: 16px;
        border-radius: 8px;
        box-sizing: border-box !important;
        display: inline-block !important;
    }
    
    .crf-form-textarea {
        min-height: 100px;
        resize: vertical !important;
    }
    
    /* Принудительная полная ширина для всех полей ввода */
    #surname,
    #name, 
    #patronymic,
    #inn,
    #email,
    #password,
    #address_auto,
    #address_auto2,
    .crf-form-input,
    .crf-form-textarea {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        display: block !important;
        margin: 0 !important;
    }
    
    .crf-form-select {
        width: 100px !important;
        min-width: 100px !important;
        max-width: 100px !important;
        box-sizing: border-box !important;
        display: inline-block !important;
        margin: 0 !important;
    }
    
    .crf-radio-group,
    .crf-checkbox-group {
        flex-direction: column;
        gap: 8px;
    }
    
    .crf-radio-label,
    .crf-checkbox-label {
        padding: 10px 12px;
        font-size: 14px;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        background: #ffffff;
    }
    
    .crf-radio-label:hover,
    .crf-checkbox-label:hover {
        background: rgba(119, 150, 198, 0.08);
        border-color: #7796C6;
    }
    
    .crf-advance-selector {
        flex-direction: row;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 6px;
        background: #f9fafb;
        padding: 6px 8px;
        border-radius: 4px;
        margin-bottom: 8px;
        flex-wrap: wrap;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        overflow: visible;
    }
    
    .crf-advance-selector span {
        font-size: 12px;
        font-weight: 500;
        color: #374151;
        flex: 1 1 200px;
        min-width: 0;
        white-space: normal;
        line-height: 1.4;
    }
    
    .crf-advance-selector select {
        width: 100px;
        min-width: 100px;
        max-width: 100px;
        padding: 4px 6px;
        font-size: 12px;
        flex-shrink: 0;
        border-radius: 3px;
        box-sizing: border-box;
    }
    
    .crf-advance-selector select:nth-of-type(1),
    .crf-advance-selector select:nth-of-type(2),
    .crf-advance-selector select:nth-of-type(3) {
        width: 100px;
        min-width: 100px;
        max-width: 100px;
    }
    
    .crf-submit-btn,
    .crf-reset-btn {
        width: 100%;
        padding: 16px 24px;
        font-size: 16px;
        margin-bottom: 12px;
        margin-right: 0;
    }
    
    .crf-add-file-btn {
        width: 100%;
        padding: 12px 20px;
        margin-bottom: 8px;
    }
    
    .crf-error-message {
        font-size: 13px;
    }
    
    .crf-form-notice {
        padding: 10px 12px;
        font-size: 13px;
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }
    
    .crf-form-description {
        font-size: 13px;
        margin-bottom: 10px;
    }
}

@media (max-width: 480px) {
    .crf-form-container {
        padding: 12px 8px 40px;
    }
    
    .crf-form {
        border-radius: 12px;
        padding: 20px 12px;
        margin: 0;
    }
    
    .crf-form-title {
        font-size: 20px;
        margin-bottom: 10px;
    }
    
    .crf-form-subtitle {
        font-size: 15px;
        margin-bottom: 16px;
    }
    
    .crf-fieldset {
        padding: 12px 8px;
        margin-bottom: 12px;
        border-radius: 8px;
    }
    
    .crf-legend {
        font-size: 13px;
        padding: 0 6px;
    }
    
    .crf-form-group {
        margin-bottom: 14px;
    }
    
    .crf-step {
        padding: 6px 2px;
        font-size: 10px;
        line-height: 1.1;
        flex: 1;
        min-width: 70px;
        max-width: none;
    }
    
    /* Улучшенное отображение файловых полей на мобильных */
    .crf-file-upload {
        margin-bottom: 12px;
    }
    
    .crf-file-input {
        margin-bottom: 6px;
        padding: 8px;
        background: #f9fafb;
        border-radius: 6px;
        border: 1px solid #e5e7eb;
    }
    
    /* Оптимизация чекбоксов и радиобатонов для тач-интерфейса */
    .crf-radio-label input[type="radio"],
    .crf-checkbox-label input[type="checkbox"] {
        width: 20px;
        height: 20px;
        margin-right: 8px;
    }
    
    /* Улучшенное отображение селекторов оплаты */
    .crf-advance-selector {
        padding: 4px 6px;
        gap: 4px 8px;
        flex-direction: row;
        align-items: flex-start;
        justify-content: flex-start;
        flex-wrap: wrap;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        overflow: visible;
        background: #f9fafb;
        border-radius: 3px;
    }
    
    .crf-advance-selector span {
        font-size: 11px;
        font-weight: 600;
        color: #374151;
        flex: 1 1 180px;
        min-width: 0;
        white-space: normal;
        line-height: 1.4;
    }
    
    .crf-advance-selector select {
        width: 80px;
        min-width: 80px;
        max-width: 80px;
        padding: 3px 4px;
        font-size: 11px;
        flex-shrink: 0;
        border-radius: 2px;
        box-sizing: border-box;
    }
    
    .crf-advance-selector select:nth-of-type(1),
    .crf-advance-selector select:nth-of-type(2),
    .crf-advance-selector select:nth-of-type(3) {
        width: 80px;
        min-width: 80px;
        max-width: 80px;
    }
}

@media (max-width: 360px) {
    .crf-form-container {
        padding: 8px 4px 32px;
    }
    
    .crf-form {
        padding: 16px 8px;
    }
    
    .crf-form-title {
        font-size: 18px;
    }
    
    .crf-fieldset {
        padding: 10px 6px;
    }
    
    .crf-form-input,
    .crf-form-textarea {
        padding: 10px 12px;
        font-size: 16px;
    }
    
    .crf-form-select {
        width: 100px !important;
        min-width: 100px !important;
        max-width: 100px !important;
        padding: 10px 12px;
        font-size: 16px;
        display: inline-block !important;
    }
    
    .crf-step-indicator {
        flex-direction: row !important;
        gap: 2px;
        margin-bottom: 16px;
        flex-wrap: nowrap;
    }
    
    .crf-step {
        padding: 4px 1px;
        font-size: 9px;
        line-height: 1.1;
        flex: 1;
        min-width: 60px;
    }
}

/* Оптимизация для landscape режима на мобильных */
@media (max-width: 768px) and (orientation: landscape) {
    .crf-form-container {
        padding: 12px 16px 32px;
    }
}

/* Улучшения для доступности на touch устройствах */
@media (hover: none) and (pointer: coarse) {
    .crf-radio-label,
    .crf-checkbox-label {
        min-height: 44px; /* Минимальная область касания по Apple HIG */
        display: flex;
        align-items: center;
    }
    
    .crf-submit-btn,
    .crf-reset-btn,
    .crf-add-file-btn {
        min-height: 44px;
    }
    
    .crf-step {
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* Дополнительные стили для мобильных улучшений */
.file-status {
    margin-top: 8px !important;
    padding: 8px !important;
    background: #f0f9ff !important;
    border: 1px solid #7796C6 !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    color: #1e40af !important;
}

/* Улучшенная анимация для раскрывающихся списков */
.crf-checkbox-group {
    transition: max-height 0.3s ease-out, opacity 0.3s ease-out;
    overflow: hidden;
}

/* Стили для индикатора загрузки на мобильных */
.crf-loading {
    pointer-events: none;
    opacity: 0.6;
}

.crf-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #7796C6;
    border-radius: 50%;
    border-top-color: transparent;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* PWA стили для полноэкранного режима */
@media (display-mode: standalone) {
    .crf-form-container {
        padding-top: 24px;
    }
}

/* Высокий контраст для accessibility */
@media (prefers-contrast: high) {
    .crf-form-input,
    .crf-form-textarea,
    .crf-form-select {
        border-width: 3px;
    }
    
    .crf-submit-btn {
        border: 2px solid #000000;
    }
    
    .crf-visible-mark {
        background: #ffff00;
        color: #000000;
        padding: 2px 4px;
        border-radius: 3px;
    }
}

/* Стили для устройств с пониженным энергопотреблением */
@media (prefers-reduced-motion: reduce) {
    .crf-form-container {
        animation: none;
    }
    
    .crf-submit-btn:hover,
    .crf-add-file-btn:hover {
        transform: none;
    }
    
    * {
        transition: none !important;
        animation: none !important;
    }
}

/* ==========================================================================
   🔥 СТИЛИ ДЛЯ ФОРМЫ ДОЛЖНИКА (PAGE 2) - crf префикс
   ========================================================================== */

/* Контейнер формы и заголовки */
.crf-form-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.crf-form-header {
    text-align: center;
    margin-bottom: 32px;
}

.crf-form-progress {
    background: #f8fafc;
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 24px;
    font-size: 14px;
    color: #64748b;
    border-left: 4px solid #7796C6;
}

.crf-form-title {
    font-size: 28px;
    font-weight: 700;
    color: #1e293b;
    margin: 24px 0 12px 0;
    text-align: center;
}

.crf-form-subtitle {
    font-size: 16px;
    color: #64748b;
    margin-bottom: 32px;
    text-align: center;
    line-height: 1.5;
}

/* Fieldsets и группы полей */
.crf-fieldset {
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 24px;
    background: #fafbfc;
}

.crf-legend {
    font-size: 18px;
    font-weight: 600;
    color: #374151;
    padding: 8px 16px;
    background: #ffffff;
    border-radius: 8px;
    border: 2px solid #7796C6;
    margin-bottom: 20px;
}

.crf-form-group {
    margin-bottom: 20px;
}

.crf-form-label {
    display: block;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.4;
}

.crf-required {
    color: #E75656;
    font-weight: bold;
    margin-left: 2px;
}

/* Поля ввода */
.crf-form-input,
.crf-form-textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    font-size: 16px;
    transition: all 0.2s ease;
    background: #ffffff;
    color: #1e293b;
    font-family: inherit;
}

.crf-form-select {
    width: 100px;
    min-width: 100px;
    max-width: 100px;
    padding: 12px 16px;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    font-size: 16px;
    transition: all 0.2s ease;
    background: #ffffff;
    color: #1e293b;
    font-family: inherit;
    display: inline-block;
}

.crf-form-input:focus,
.crf-form-textarea:focus,
.crf-form-select:focus {
    outline: none;
    border-color: #7796C6;
    box-shadow: 0 0 0 3px rgba(119, 150, 198, 0.1);
}

.crf-form-input:invalid,
.crf-form-textarea:invalid {
    border-color: #E75656;
}

.crf-form-textarea {
    min-height: 120px;
    resize: vertical;
    line-height: 1.5;
}

/* Радио кнопки и чекбоксы */
.crf-radio-group,
.crf-checkbox-group {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.crf-radio-label,
.crf-checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 8px;
    transition: background-color 0.2s ease;
    user-select: none;
}

.crf-radio-label:hover,
.crf-checkbox-label:hover {
    background: #f1f5f9;
}

.crf-radio-input,
.crf-checkbox-input {
    width: 18px;
    height: 18px;
    accent-color: #7796C6;
}

.crf-radio-text,
.crf-checkbox-text {
    font-weight: 500;
    color: #374151;
}

/* Ряды и колонки */
.crf-form-row {
    display: flex;
    gap: 16px;
}

.crf-form-col {
    flex: 1;
}

/* Внешние ссылки и иконки */
.crf-external-link {
    margin-top: 12px;
    padding: 12px;
    background: #f8fafc;
    border-radius: 8px;
    border-left: 4px solid #FFA216;
}

.crf-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #7796C6;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.crf-link:hover {
    color: #5d7bb8;
    text-decoration: underline;
}

.crf-icon {
    width: 24px;
    height: 24px;
    border-radius: 4px;
}

/* Вспомогательные тексты и ошибки */
.crf-help-text {
    display: block;
    font-size: 12px;
    color: #64748b;
    margin-top: 4px;
    line-height: 1.4;
}

.crf-error-message {
    display: block;
    font-size: 12px;
    color: #E75656;
    margin-top: 4px;
    font-weight: 500;
    min-height: 16px;
}

/* Адаптивный дизайн */
@media (max-width: 768px) {
    .crf-form-container {
        margin: 16px;
        padding: 16px;
    }
    
    .crf-form-title {
        font-size: 22px;
    }
    
    .crf-form-subtitle {
        font-size: 14px;
    }
    
    .crf-fieldset {
        padding: 16px;
    }
    
    .crf-legend {
        font-size: 16px;
        padding: 6px 12px;
    }
    
    .crf-form-row {
        flex-direction: column;
        gap: 12px;
    }
    
    .crf-radio-group,
    .crf-checkbox-group {
        flex-direction: column;
        gap: 8px;
    }
    
    .crf-form-input,
    .crf-form-textarea,
    .crf-form-select {
        font-size: 16px; /* Предотвращает зум на iOS */
        padding: 14px 16px;
    }
}

@media (max-width: 480px) {
    .crf-form-container {
        margin: 8px;
        padding: 12px;
        border-radius: 12px;
    }
    
    .crf-form-title {
        font-size: 20px;
    }
    
    .crf-fieldset {
        padding: 12px;
    }
    
    .crf-legend {
        font-size: 14px;
        padding: 4px 8px;
    }
}

/* Кнопки и действия формы */
.crf-form-actions {
    background: #f8fafc;
    padding: 24px;
    border-radius: 12px;
    margin-top: 32px;
    border: 2px solid #e2e8f0;
}

.crf-button-group {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-top: 20px;
}

.crf-submit-btn,
.crf-reset-btn {
    padding: 14px 32px;
    border: none;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: inherit;
}

.crf-submit-btn {
    background: linear-gradient(135deg, #7796C6 0%, #5d7bb8 100%);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(119, 150, 198, 0.3);
}

.crf-submit-btn:hover {
    background: linear-gradient(135deg, #5d7bb8 0%, #4a6ba3 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(119, 150, 198, 0.4);
}

.crf-reset-btn {
    background: #ffffff;
    color: #64748b;
    border: 2px solid #e2e8f0;
}

.crf-reset-btn:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
    transform: translateY(-1px);
}

/* Загрузка файлов */
.crf-file-upload {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    border: 2px dashed #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    margin-bottom: 12px;
}

.crf-file-input {
    padding: 8px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #ffffff;
}

.crf-add-file-btn {
    background: #FFA216;
    color: #ffffff;
    border: none;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    align-self: flex-start;
}

.crf-add-file-btn:hover {
    background: #e8930f;
    transform: translateY(-1px);
}

.crf-remove-file-btn {
    background: #E75656;
    color: #ffffff;
    border: none;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    align-self: flex-start;
}

.crf-remove-file-btn:hover {
    background: #dc2626;
    transform: translateY(-1px);
}

/* Мобильные стили для кнопок */
@media (max-width: 768px) {
    .crf-button-group {
        flex-direction: column;
        gap: 12px;
    }
    
    .crf-submit-btn,
    .crf-reset-btn {
        width: 100%;
        justify-content: center;
        padding: 16px 24px;
    }
    
    .crf-file-upload {
        padding: 12px;
    }
}

/* Анимации и дополнительные улучшения - Закомментировано для оптимизации производительности
@keyframes crf-fadeInUp {
    from { 
        opacity: 0; 
        transform: translateY(20px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
} */

.crf-form-container {
    animation: none; /* Оптимизация производительности */
}

/* Состояния валидации */
.crf-form-input:valid {
    border-color: #10b981;
}

.crf-form-input:invalid:not(:placeholder-shown) {
    border-color: #E75656;
}

/* Фокус для accessibility */
.crf-form-input:focus-visible,
.crf-form-textarea:focus-visible,
.crf-submit-btn:focus-visible,
.crf-reset-btn:focus-visible {
    outline: 2px solid #7796C6;
    outline-offset: 2px;
}

/* Скрытие спиннеров для number inputs */
.crf-form-input[type="number"]::-webkit-outer-spin-button,
.crf-form-input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.crf-form-input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* Печатные стили */
@media print {
    .crf-form-actions,
    .crf-add-file-btn {
        display: none;
    }
    
    .crf-form-container {
        box-shadow: none;
        border: 1px solid #ccc;
    }
}

/* ==================== CRF- ДОПОЛНИТЕЛЬНЫЕ МОБИЛЬНЫЕ СТИЛИ ==================== */

/* Улучшенная адаптивность хлебных крошек */
.crf-breadcrumb-text {
    display: inline;
}

/* Улучшенные стили для шагов формы на мобильных */
@media (max-width: 768px) {
    .crf-step-indicator {
        overflow-x: auto !important;
        scrollbar-width: none;
        -ms-overflow-style: none;
        padding-bottom: 4px;
    }
    
    .crf-step-indicator::-webkit-scrollbar {
        display: none;
    }
    
    .crf-step {
        flex-shrink: 0 !important;
        min-width: 80px !important;
        padding: 8px 4px !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        text-align: center !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 480px) {
    .crf-step {
        min-width: 70px !important;
        padding: 6px 2px !important;
        font-size: 9px !important;
        border-radius: 6px !important;
    }
}

@media (max-width: 360px) {
    .crf-step {
        min-width: 60px !important;
        padding: 4px 1px !important;
        font-size: 8px !important;
        line-height: 1.1 !important;
    }
}

/* Поддержка класса textInput для внешних скриптов */
.textInput {
    /* Специальные стили для полей с подсказками */
    position: relative;
}

.textInput:focus {
    z-index: 10; /* Поднимаем поле над другими элементами для правильного отображения подсказок */
}

/* Улучшенная поддержка touch устройств */
@media (hover: none) and (pointer: coarse) {
    .crf-form-input,
    .crf-form-textarea,
    .crf-form-select {
        min-height: 44px; /* Минимальная область касания */
        font-size: 16px; /* Предотвращает зум на iOS */
    }
    
    .crf-radio-label,
    .crf-checkbox-label {
        min-height: 44px;
        padding: 12px;
    }
    
    .crf-submit-btn,
    .crf-reset-btn,
    .crf-add-file-btn {
        min-height: 44px;
        padding: 14px 20px;
    }
}

/* Улучшения для landscape ориентации на мобильных */
@media (max-width: 768px) and (orientation: landscape) {
    .crf-form-container {
        padding: 12px 16px;
    }
    
    .crf-form-title {
        font-size: 20px;
        margin: 16px 0 8px;
    }
    
    .crf-form-subtitle {
        font-size: 14px;
        margin-bottom: 16px;
    }
    
    .crf-fieldset {
        padding: 16px;
        margin-bottom: 16px;
    }
}

/* Дополнительные стили для очень маленьких экранов */
@media (max-width: 320px) {
    .crf-form-container {
        padding: 8px 4px;
        margin: 4px;
    }
    
    .crf-form {
        padding: 12px 8px;
        border-radius: 8px;
    }
    
    .crf-form-title {
        font-size: 18px;
        line-height: 1.2;
    }
    
    .crf-form-subtitle {
        font-size: 13px;
    }
    
    .crf-fieldset {
        padding: 8px 6px;
        margin-bottom: 12px;
    }
    
    .crf-legend {
        font-size: 12px;
        padding: 4px 6px;
    }
    
    .crf-form-label {
        font-size: 12px;
    }
    
    .crf-form-input,
    .crf-form-textarea {
        padding: 10px 8px;
        font-size: 16px;
    }
}

/* Поддержка PWA и полноэкранного режима */
@media (display-mode: standalone) {
    .crf-form-container {
        padding-top: env(safe-area-inset-top, 20px);
        padding-bottom: env(safe-area-inset-bottom, 20px);
    }
}

/* Поддержка fold устройств */
@media (spanning: single-fold-vertical) {
    .crf-form-container {
        max-width: 50vw;
    }
}

@media (spanning: single-fold-horizontal) {
    .crf-form {
        max-height: 50vh;
        overflow-y: auto;
    }
}

/* Высокая плотность пикселей */
@media (-webkit-min-device-pixel-ratio: 2) {
    .crf-breadcrumb,
    .crf-form,
    .crf-fieldset {
        border-width: 0.5px;
    }
}

/* ==================== CRF- ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ ФОРМЫ ВЗЫСКАТЕЛЯ ==================== */

/* Информационное уведомление для авторизованных пользователей */  
.crf-info-notice {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    background: linear-gradient(135deg, #e6f3ff 0%, #f0f8ff 100%);
    border: 1px solid #7796C6;
    border-radius: 12px;
    margin-bottom: 20px;
}

.crf-info-icon {
    font-size: 32px;
    color: #7796C6;
    flex-shrink: 0;
}

.crf-info-content h3 {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 600;
    color: #1e293b;
}

.crf-info-content p {
    margin: 0;
    color: #475569;
    line-height: 1.5;
}

/* Видимые элементы (показываются другим пользователям) */
.crf-visible-mark {
    color: #7796C6;
    font-size: 16px;
    margin-left: 4px;
    cursor: help;
}

.crf-visible-mark:hover {
    color: #FFA216;
    transform: scale(1.1);
    transition: all 0.2s ease;
}

/* Ряды и колонки для горизонтального размещения полей */
.crf-form-row {
    display: flex;
    gap: 16px;
    margin-bottom: 20px;
}

.crf-form-col {
    flex: 1;
}

/* Адаптивность для рядов */
@media (max-width: 768px) {
    .crf-form-row {
        flex-direction: column;
        gap: 16px;
    }
}

/* Дополнительные стили для лучшего UX */
.crf-form-input[type="password"] {
    font-family: 'Courier New', Courier, monospace;
    letter-spacing: 2px;
}

.crf-form-input[type="password"]:focus {
    letter-spacing: normal;
    font-family: inherit;
}

/* Улучшенная подсветка для невалидных полей */
.crf-form-input:invalid:not(:placeholder-shown) {
    border-color: #E75656;
    box-shadow: 0 0 0 3px rgba(231, 86, 86, 0.1);
}

.crf-form-input:valid:not(:placeholder-shown) {
    border-color: #10b981;
}

/* Кнопка удаления файла */
.crf-remove-file-btn {
    background: #E75656;
    color: #ffffff;
    border: none;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-left: 8px;
}

.crf-remove-file-btn:hover {
    background: #dc2626;
    transform: translateY(-1px);
}

/* Специальные стили для полей с внешними скриптами подсказок */
#textInput, #textInput2, #textInput3 {
    position: relative;
    z-index: 1;
}

#textInput:focus, #textInput2:focus, #textInput3:focus {
    z-index: 10;
}

/* Улучшенный дизайн уведомлений об ошибках */
.crf-error-message:not(:empty) {
    display: block;
    animation: crf-shake 0.5s ease-in-out;
}

@keyframes crf-shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}

/* Плавная анимация для появления полей */
.crf-form-group {
    opacity: 0;
    animation: crf-slideInUp 0.4s ease-out forwards;
}

.crf-form-group:nth-child(1) { animation-delay: 0.1s; }
.crf-form-group:nth-child(2) { animation-delay: 0.2s; }
.crf-form-group:nth-child(3) { animation-delay: 0.3s; }
.crf-form-group:nth-child(4) { animation-delay: 0.4s; }
.crf-form-group:nth-child(5) { animation-delay: 0.5s; }

@keyframes crf-slideInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Отключение анимаций для пользователей с reduced motion */
@media (prefers-reduced-motion: reduce) {
    .crf-form-group {
        animation: none;
        opacity: 1;
    }
    
    .crf-error-message {
        animation: none;
    }
}

/* Стили для автозаполнения адресов */
#address_auto, #address_auto2 {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%237796C6' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 20px 20px;
    padding-right: 40px;
}

/* Улучшенные стили для чекбоксов согласия */
.crf-checkbox-group .crf-checkbox-label {
    padding: 16px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    margin-bottom: 12px;
    background: #f8fafc;
    transition: all 0.2s ease;
}

.crf-checkbox-group .crf-checkbox-label:hover {
    background: #f1f5f9;
    border-color: #7796C6;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(119, 150, 198, 0.15);
}

.crf-checkbox-group .crf-checkbox-input:checked + .crf-checkbox-text {
    color: #1e293b;
    font-weight: 600;
}

.crf-checkbox-group .crf-checkbox-label:has(input:checked) {
    background: linear-gradient(135deg, #e6f3ff 0%, #f0f8ff 100%);
    border-color: #7796C6;
}

/* Современные стили для файловых полей */
.crf-file-upload {
    border: 2px dashed #cbd5e1;
    border-radius: 12px;
    padding: 20px;
    background: #f8fafc;
    transition: all 0.2s ease;
    margin-bottom: 12px;
}

.crf-file-upload:hover {
    border-color: #7796C6;
    background: #f1f5f9;
}

.crf-file-upload.has-files {
    border-color: #10b981;
    background: #ecfdf5;
}

.crf-file-input {
    width: 100%;
    margin-bottom: 12px;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
    transition: all 0.2s ease;
}

.crf-file-input:focus {
    border-color: #7796C6;
    box-shadow: 0 0 0 3px rgba(119, 150, 198, 0.1);
}

/* Дополнительные мобильные улучшения */
@media (max-width: 480px) {
    .crf-info-notice {
        flex-direction: column;
        text-align: center;
        padding: 16px;
    }
    
    .crf-info-icon {
        align-self: center;
        font-size: 28px;
    }
    
    .crf-checkbox-group .crf-checkbox-label {
        padding: 12px;
        font-size: 14px;
    }
    
    .crf-file-upload {
        padding: 16px 12px;
    }
}

/* Стили для индикатора надежности пароля */
.password-strength {
    height: 4px;
    background: #e5e7eb;
    border-radius: 2px;
    margin-top: 8px;
    overflow: hidden;
}

.password-strength-fill {
    height: 100%;
    background: linear-gradient(90deg, #E75656 0%, #FFA216 50%, #10b981 100%);
    width: 0%;
    transition: width 0.3s ease;
    border-radius: 2px;
}

/* Стили для автосохранения формы */
.crf-autosave-indicator {
    position: fixed;
    top: 20px;
    right: 20px;
    background: #10b981;
    color: white;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
}

.crf-autosave-indicator.show {
    opacity: 1;
    transform: translateY(0);
}

/* ==============================
   СТИЛИ ДЛЯ ФОРМЫ ИЗМЕНЕНИЯ ДАННЫХ ПОЛЬЗОВАТЕЛЯ (crf-change- namespace)
   Современный дизайн для change_form_cred_hu.php
   Палитра: Primary #7796C6, Accent #FFA216, Danger #E75656
   ============================== */

/* Основной контейнер */
.crf-change-container {
    max-width: 900px !important;
    margin: 0 auto;
    padding: 24px 16px 64px;
    background: #f8fafc;
    min-height: 80vh;
}

/* Хлебные крошки (используют общие стили .crf-breadcrumb-*) */

/* Заголовок страницы */
.crf-change-header {
    text-align: center;
    margin-bottom: 32px;
    padding: 32px 24px;
    background: linear-gradient(135deg, #7796C6 0%, #6687b5 100%);
    color: #ffffff;
    border-radius: 16px;
    position: relative;
    overflow: hidden;
}

.crf-change-header::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 10px,
        rgba(255, 255, 255, 0.08) 10px,
        rgba(255, 255, 255, 0.08) 20px
    );
    animation: crfChangeShimmer 20s linear infinite;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.crf-change-header:hover::before {
    opacity: 1;
}

@keyframes crfChangeShimmer {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(50%, 50%, 0); }
}

.crf-change-title {
    font-size: 2rem !important;
    font-weight: 700 !important;
    margin: 0 0 12px;
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.1);
    position: relative;
    z-index: 1;
}

.crf-change-subtitle {
    font-size: 1.1rem;
    margin: 0;
    opacity: 0.95;
    line-height: 1.5;
    position: relative;
    z-index: 1;
}

/* Основная форма */
.crf-change-form {
    background: #ffffff;
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 8px 32px rgba(2,6,23,0.12);
    border: 1px solid #e2e8f0;
}

/* Уведомления */
.crf-change-notice {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    background: linear-gradient(135deg, #e6f3ff 0%, #f0f8ff 100%);
    border: 1px solid #7796C6;
    border-radius: 12px;
    margin-bottom: 32px;
}

.crf-change-notice-icon {
    font-size: 32px;
    color: #7796C6;
    flex-shrink: 0;
}

.crf-change-notice-title {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin: 0 0 8px 0 !important;
}

.crf-change-notice-text {
    margin: 0;
    color: #475569;
    line-height: 1.5;
}

/* Блок отказа в доступе */
.crf-change-access-denied {
    max-width: 600px !important;
    margin: 40px auto;
    padding: 0 16px;
}

.crf-change-notification {
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
    border: 2px solid #E75656;
    border-radius: 16px;
    padding: 32px;
    text-align: center;
    box-shadow: 0 8px 32px rgba(231, 86, 86, 0.15);
}

.crf-change-notification-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    color: #E75656;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(231, 86, 86, 0.1);
    border-radius: 50%;
}

.crf-change-notification-title {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #991b1b !important;
    margin: 0 0 12px 0 !important;
}

.crf-change-notification-text {
    font-size: 16px;
    color: #7f1d1d;
    margin: 0 0 24px 0;
    line-height: 1.6;
}

.crf-change-notification-actions {
    margin-top: 24px;
}

/* Fieldsets */
.crf-change-fieldset {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 32px;
    background: #fafbfc;
    position: relative;
}

.crf-change-legend {
    font-size: 1.1rem;
    font-weight: 700;
    color: #7796C6;
    padding: 8px 16px;
    background: #ffffff;
    border: 1px solid #7796C6;
    border-radius: 8px;
    margin-bottom: 20px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Группы полей */
.crf-change-form-group {
    margin-bottom: 24px;
}

.crf-change-form-group:last-child {
    margin-bottom: 0;
}

/* Лейблы */
.crf-change-form-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px;
    line-height: 1.4;
}

.crf-change-label-icon {
    margin-right: 8px;
    font-size: 16px;
}

.crf-change-label-text {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.crf-change-visible-mark {
    color: #7796C6;
    font-size: 16px;
    cursor: help;
    transition: all 0.2s ease;
}

.crf-change-visible-mark:hover {
    color: #FFA216;
    transform: scale(1.1);
}

.crf-change-required {
    color: #E75656;
    font-weight: 700;
}

/* Поля ввода */
.crf-change-form-input,
.crf-change-form-textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    font-size: 16px;
    transition: all 0.2s ease;
    background: #ffffff;
    color: #1e293b;
    font-family: inherit;
    line-height: 1.5;
}

.crf-change-form-textarea {
    min-height: 120px;
    resize: vertical;
    line-height: 1.6;
}

.crf-change-form-input:focus,
.crf-change-form-textarea:focus {
    outline: none;
    border-color: #7796C6;
    box-shadow: 0 0 0 3px rgba(119, 150, 198, 0.1);
}

.crf-change-form-input:invalid,
.crf-change-form-textarea:invalid {
    border-color: #E75656;
}

/* Радио кнопки */
.crf-change-radio-group {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap;
}

.crf-change-radio-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    padding: 16px;
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    transition: all 0.2s ease;
    background: #ffffff;
    flex: 1;
    min-width: 200px;
}

.crf-change-radio-label:hover {
    border-color: #7796C6;
    background: #f8fafc;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(119, 150, 198, 0.15);
}

.crf-change-radio-input {
    width: 20px;
    height: 20px;
    accent-color: #7796C6;
    margin-top: 2px;
}

.crf-change-radio-text {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    flex: 1;
}

.crf-change-radio-icon {
    font-size: 20px;
    margin-top: -2px;
}

.crf-change-radio-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.crf-change-radio-content strong {
    color: #1e293b;
    font-weight: 600;
}

.crf-change-radio-content small {
    color: #64748b;
    font-size: 13px;
    line-height: 1.4;
}

.crf-change-radio-input:checked + .crf-change-radio-text {
    color: #1e293b;
}

.crf-change-radio-label:has(input:checked) {
    border-color: #7796C6;
    background: linear-gradient(135deg, #e6f3ff 0%, #f0f8ff 100%);
    box-shadow: 0 4px 16px rgba(119, 150, 198, 0.2);
}

/* Чекбоксы */
.crf-change-checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.crf-change-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    padding: 16px;
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    transition: all 0.2s ease;
    background: #ffffff;
}

.crf-change-checkbox-label:hover {
    border-color: #7796C6;
    background: #f8fafc;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(119, 150, 198, 0.15);
}

.crf-change-checkbox-input {
    width: 20px;
    height: 20px;
    accent-color: #7796C6;
    margin-top: 2px;
}

.crf-change-checkbox-text {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    flex: 1;
}

.crf-change-checkbox-icon {
    font-size: 20px;
    margin-top: -2px;
}

.crf-change-checkbox-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.crf-change-checkbox-content strong {
    color: #1e293b;
    font-weight: 600;
    font-size: 15px;
}

.crf-change-checkbox-content small {
    color: #64748b;
    font-size: 13px;
    line-height: 1.5;
}

.crf-change-checkbox-input:checked + .crf-change-checkbox-text {
    color: #1e293b;
}

.crf-change-checkbox-label:has(input:checked) {
    border-color: #7796C6;
    background: linear-gradient(135deg, #e6f3ff 0%, #f0f8ff 100%);
    box-shadow: 0 4px 16px rgba(119, 150, 198, 0.2);
}

/* Информационный блок */
.crf-change-info-box {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    border: 1px solid #FFA216;
    border-radius: 10px;
    margin-top: 12px;
}

.crf-change-info-icon {
    font-size: 20px;
    color: #FFA216;
    flex-shrink: 0;
}

.crf-change-info-content {
    flex: 1;
}

.crf-change-info-content p {
    margin: 0;
    color: #92400e;
    font-size: 14px;
    line-height: 1.5;
}

/* Вспомогательный текст и ошибки */
.crf-change-help-text {
    display: block;
    font-size: 13px;
    color: #64748b;
    margin-top: 6px;
    line-height: 1.4;
}

.crf-change-error-message {
    display: none;
    font-size: 13px;
    color: #E75656;
    margin-top: 6px;
    font-weight: 500;
    min-height: 18px;
}

.crf-change-error-message:not(:empty) {
    display: block;
}

/* Счетчик символов */
.crf-change-char-counter {
    text-align: right;
    font-size: 12px;
    color: #7796C6;
    margin-top: 4px;
    font-weight: 500;
}

/* Кнопки */
.crf-change-form-actions {
    background: #f8fafc;
    padding: 24px;
    border-radius: 12px;
    margin-top: 32px;
    border: 2px solid #e2e8f0;
}

.crf-change-button-group {
    display: flex;
    gap: 16px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 8px 0;
}

.crf-change-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 32px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    position: relative;
    overflow: hidden;
    min-width: 180px;
    text-align: center;
    white-space: nowrap;
    user-select: none;
    line-height: 1.4;
    letter-spacing: 0.025em;
    isolation: isolate;
}

/* Анимация ripple effect при клике */
.crf-change-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
    z-index: 0;
}

.crf-change-btn:active::before {
    width: 300px;
    height: 300px;
}

.crf-change-btn-icon,
.crf-change-btn-text,
.crf-change-btn-loader {
    position: relative;
    z-index: 1;
}

.crf-change-submit-btn {
    height: 45px;
    width: 260px;
    background: #7796C6;
    color: #ffffff !important;
    border: none;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(119, 150, 198, 0.25);
    position: relative;
    overflow: hidden;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    font-weight: 600;
    letter-spacing: 0.025em;
}

.crf-change-submit-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
}

.crf-change-submit-btn:hover:not(:disabled) {
    background: #6687b5;
    box-shadow: 0 4px 16px rgba(119, 150, 198, 0.35);
    transform: translateY(-1px) scale(1.02);
}

.crf-change-submit-btn:hover:not(:disabled)::before {
    left: 100%;
}

.crf-change-submit-btn:active:not(:disabled) {
    transform: translateY(0) scale(0.98);
    box-shadow: 0 2px 8px rgba(119, 150, 198, 0.3);
    transition: all 0.1s cubic-bezier(0.4, 0, 0.2, 1);
}

.crf-change-submit-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    box-shadow: 0 1px 4px rgba(119, 150, 198, 0.15);
}

.crf-change-reset-btn {
    height: 45px;
    width: 260px;
    background: #ffffff;
    color: #64748b;
    border: 1.5px solid #e2e8f0;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    font-weight: 500;
    letter-spacing: 0.025em;
}

.crf-change-reset-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(100, 116, 139, 0.08), transparent);
    transition: left 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
}

.crf-change-reset-btn:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #475569;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transform: translateY(-1px) scale(1.02);
}

.crf-change-reset-btn:hover::before {
    left: 100%;
}

.crf-change-reset-btn:active {
    transform: translateY(0) scale(0.98);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
    transition: all 0.1s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Современные улучшения кнопок */
.crf-change-btn {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.crf-change-btn .crf-change-btn-text {
    position: relative;
    z-index: 2;
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    color: white !important;
}

.crf-change-btn:active .crf-change-btn-text {
    transform: scale(0.95);
}

/* Ripple эффект при клике */
.crf-change-btn::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
    z-index: 1;
}

.crf-change-btn:active::after {
    width: 300px;
    height: 300px;
    transition: width 0.2s ease, height 0.2s ease;
}

/* Дополнительные варианты кнопок */
.crf-change-btn-primary {
    background: linear-gradient(135deg, #7796C6 0%, #6687b5 100%);
    color: #ffffff;
    box-shadow: 0 4px 16px rgba(119, 150, 198, 0.3);
}

.crf-change-btn-secondary {
    background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%);
    color: #475569;
    border: 2px solid #e2e8f0;
}

.crf-change-btn-accent {
    background: linear-gradient(135deg, #FFA216 0%, #e8930f 100%);
    color: #ffffff;
    box-shadow: 0 4px 16px rgba(255, 162, 22, 0.3);
}

.crf-change-btn-danger {
    background: linear-gradient(135deg, #E75656 0%, #dc2626 100%);
    color: #ffffff;
    box-shadow: 0 4px 16px rgba(231, 86, 86, 0.3);
}

.crf-change-btn-icon {
    font-size: 18px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Современное loading состояние */
.crf-change-btn.crf-change-btn-loading {
    pointer-events: none;
    position: relative;
    color: transparent;
}

.crf-change-btn.crf-change-btn-loading::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid transparent;
    border-top-color: currentColor;
    border-radius: 50%;
    animation: crf-change-spin 0.8s linear infinite;
    z-index: 3;
    color: inherit;
}

.crf-change-submit-btn.crf-change-btn-loading::before {
    border-top-color: rgba(255, 255, 255, 0.8);
    border-right-color: rgba(255, 255, 255, 0.3);
}

.crf-change-reset-btn.crf-change-btn-loading::before {
    border-top-color: rgba(100, 116, 139, 0.8);
    border-right-color: rgba(100, 116, 139, 0.3);
}

@keyframes crf-change-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Дополнительные современные эффекты */
.crf-change-btn-icon {
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.crf-change-btn:hover .crf-change-btn-icon {
    transform: scale(1.1);
}

.crf-change-btn:active .crf-change-btn-icon {
    transform: scale(0.9);
}

/* Улучшенные состояния наведения */
.crf-change-submit-btn:hover:not(:disabled) {
    background: linear-gradient(135deg, #6687b5 0%, #5577a4 100%);
}

.crf-change-reset-btn:hover {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
}

.crf-change-btn-text {
    font-weight: 600;
    letter-spacing: 0.025em;
}

.crf-change-btn-loader {
    display: none;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: crfChangeSpinner 1s linear infinite;
}

@keyframes crfChangeSpinner {
    to { transform: rotate(360deg); }
}

.crf-change-loading .crf-change-btn-loader {
    display: inline-block;
}

.crf-change-loading .crf-change-btn-text {
    opacity: 0.7;
}

/* Группировка кнопок с разделителем */
.crf-change-button-group.crf-change-button-group-separated {
    gap: 24px;
}

.crf-change-button-group.crf-change-button-group-separated::before {
    content: '';
    width: 1px;
    height: 40px;
    background: linear-gradient(to bottom, transparent, #e2e8f0, transparent);
    order: 1;
}

.crf-change-submit-btn {
    order: 0;
}

.crf-change-reset-btn {
    order: 2;
}

/* Ссылки */
.crf-change-link {
    color: #7796C6;
    text-decoration: none;
    border-bottom: 1px dashed rgba(119, 150, 198, 0.5);
    transition: all 0.2s ease;
}

.crf-change-link:hover {
    color: #6687b5;
    border-bottom-color: #6687b5;
}

/* Адаптивный дизайн */
/* Планшеты в альбомной ориентации */
@media (max-width: 1024px) and (min-width: 769px) {
    .crf-change-radio-group {
        justify-content: flex-start;
        gap: 16px;
    }
    
    .crf-change-radio-label {
        min-width: 180px;
        max-width: calc(50% - 8px);
    }
}

@media (max-width: 768px) {
    .crf-change-container {
        padding: 16px 12px 40px;
    }
    
    .crf-change-header {
        padding: 24px 16px;
        margin-bottom: 24px;
    }
    
    .crf-change-title {
        font-size: 1.5rem;
    }
    
    .crf-change-subtitle {
        font-size: 1rem;
    }
    
    .crf-change-form {
        padding: 24px 20px;
    }
    
    .crf-change-fieldset {
        padding: 20px 16px;
        margin-bottom: 24px;
    }
    
    .crf-change-legend {
        font-size: 1rem;
        padding: 6px 12px;
    }
    
    .crf-change-radio-group,
    .crf-change-checkbox-group {
        gap: 12px;
    }
    
    .crf-change-radio-group {
        flex-direction: column;
    }
    
    .crf-change-radio-label {
        min-width: auto;
        flex: none;
    }
    
    .crf-change-radio-label,
    .crf-change-checkbox-label {
        padding: 12px;
    }
    
    .crf-change-button-group {
        flex-direction: column;
        gap: 12px;
        padding: 12px 0;
    }
    
    .crf-change-button-group.crf-change-button-group-separated::before {
        display: none;
    }
    
    .crf-change-btn {
        width: 100%;
        justify-content: center;
        padding: 16px 24px;
        min-width: auto;
        font-size: 16px;
    }
    
    .crf-change-btn-icon {
        font-size: 20px;
    }
    
    .crf-change-btn-text {
        font-size: 16px;
    }
    
    /* Упрощенные эффекты на мобильных */
    .crf-change-btn:hover {
        transform: none;
        box-shadow: 0 2px 8px rgba(119, 150, 198, 0.25);
    }
    
    .crf-change-submit-btn:hover:not(:disabled) {
        transform: none;
        box-shadow: 0 4px 12px rgba(119, 150, 198, 0.3);
    }
    
    .crf-change-reset-btn:hover {
        transform: none;
        box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    }
    
    .crf-change-form-input,
    .crf-change-form-textarea {
        font-size: 16px; /* Предотвращает зум на iOS */
        padding: 14px 16px;
    }
}

@media (max-width: 480px) {
    .crf-change-container {
        padding: 12px 8px 32px;
    }
    
    .crf-change-form {
        padding: 20px 16px;
        border-radius: 12px;
    }
    
    .crf-change-header {
        padding: 20px 12px;
    }
    
    .crf-change-title {
        font-size: 1.25rem;
    }
    
    .crf-change-fieldset {
        padding: 16px 12px;
    }
    
    .crf-change-radio-group {
        flex-direction: column;
        gap: 8px;
    }
    
    .crf-change-radio-label,
    .crf-change-checkbox-label {
        padding: 10px;
        font-size: 14px;
        min-width: auto;
    }
    
    .crf-change-notice {
        padding: 16px;
        flex-direction: column;
        text-align: center;
    }
    
    .crf-change-notice-icon {
        align-self: center;
        font-size: 28px;
    }
    .crf-change-breadcrumb {
        margin: 0 0 24px;
    }
}

/* Улучшения для доступности */
@media (prefers-reduced-motion: reduce) {
    .crf-change-header::before {
        animation: none;
    }
    
    .crf-change-btn,
    .crf-change-radio-label,
    .crf-change-checkbox-label {
        transition: none;
    }
    
    .crf-change-btn:hover,
    .crf-change-radio-label:hover,
    .crf-change-checkbox-label:hover {
        transform: none;
    }
    
    .crf-change-btn::before {
        display: none;
    }
    
    @keyframes crfChangeSpinner {
        to { transform: none; }
    }
}

/* Улучшенная фокусировка для доступности */
.crf-change-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(119, 150, 198, 0.3);
    border-radius: 8px;
}

.crf-change-submit-btn:focus-visible {
    box-shadow: 0 2px 8px rgba(119, 150, 198, 0.25), 0 0 0 3px rgba(119, 150, 198, 0.4);
}

.crf-change-reset-btn:focus-visible {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 0 0 3px rgba(100, 116, 139, 0.3);
}

/* Состояния кнопок для touch устройств */
@media (hover: none) and (pointer: coarse) {
    .crf-change-btn {
        min-height: 48px;
        touch-action: manipulation;
        -webkit-touch-callout: none;
        -webkit-user-select: none;
        user-select: none;
    }
    
    .crf-change-btn:active {
        transform: scale(0.96);
        transition: transform 0.1s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .crf-change-submit-btn:active:not(:disabled) {
        background: #5577a4;
        box-shadow: 0 1px 4px rgba(119, 150, 198, 0.3);
    }
    
    .crf-change-reset-btn:active {
        background: #f1f5f9;
        border-color: #94a3b8;
        border-color: #cbd5e1;
    }
}

/* Дополнительные варианты размеров кнопок */
.crf-change-btn-small {
    padding: 10px 20px;
    font-size: 14px;
    min-width: 120px;
}

.crf-change-btn-large {
    padding: 18px 36px;
    font-size: 18px;
    min-width: 200px;
}

.crf-change-btn-small .crf-change-btn-icon {
    font-size: 16px;
}

.crf-change-btn-large .crf-change-btn-icon {
    font-size: 20px;
}

/* Кнопки-иконки */
.crf-change-btn-icon-only {
    width: 48px;
    height: 48px;
    padding: 0;
    min-width: auto;
    border-radius: 50%;
}

.crf-change-btn-icon-only .crf-change-btn-text {
    display: none;
}

.crf-change-btn-icon-only .crf-change-btn-icon {
    font-size: 20px;
}

/* Группа кнопок в стиле toggle */
.crf-change-button-group-toggle {
    background: #f1f5f9;
    border-radius: 12px;
    padding: 4px;
    gap: 4px;
}

.crf-change-button-group-toggle .crf-change-btn {
    background: transparent;
    border: none;
    color: #64748b;
    box-shadow: none;
    min-width: auto;
}

.crf-change-button-group-toggle .crf-change-btn:hover {
    background: rgba(119, 150, 198, 0.1);
    transform: none;
    box-shadow: none;
}

.crf-change-button-group-toggle .crf-change-btn.active {
    background: #ffffff;
    color: #7796C6;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Состояние загрузки для всей группы кнопок */
.crf-change-button-group.loading {
    pointer-events: none;
    opacity: 0.7;
}

.crf-change-button-group.loading .crf-change-btn:not(.crf-change-loading) {
    opacity: 0.5;
}

/* Высокая контрастность */
@media (prefers-contrast: high) {
    .crf-change-form-input,
    .crf-change-form-textarea {
        border-width: 3px;
    }
    
    .crf-change-btn {
        border-width: 3px;
    }
}

/* Темная тема */
@media (prefers-color-scheme: dark) {
    .crf-change-form {
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    }
}

/* ===== ДОПОЛНИТЕЛЬНЫЕ МОБИЛЬНЫЕ УЛУЧШЕНИЯ ===== */

/* Предотвращение зума при фокусе на input в iOS */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    .crf-form-input,
    .crf-form-textarea,
    .crf-form-select {
        font-size: 16px !important; /* Предотвращает zoom в iOS Safari */
    }
}

/* Улучшенная адаптивность для очень маленьких экранов */
@media (max-width: 320px) {
    .crf-form-container {
        padding: 8px 4px 32px;
    }
    
    .crf-form {
        padding: 12px 8px;
        border-radius: 8px;
    }
    
    .crf-form-title {
        font-size: 18px;
        line-height: 1.2;
    }
    
    .crf-form-subtitle {
        font-size: 14px;
    }
    
    .crf-step {
        font-size: 9px;
        padding: 6px 2px;
    }
    
    .crf-fieldset {
        padding: 8px 6px;
        margin-bottom: 12px;
    }
    
    .crf-form-input,
    .crf-form-textarea,
    .crf-form-select {
        padding: 8px 10px;
        font-size: 16px;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        display: block !important;
    }
    
    /* Дополнительное принуждение для проблемных полей */
    #surname,
    #name, 
    #patronymic,
    #inn,
    #email,
    #password,
    #address_auto,
    #address_auto2 {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        display: block !important;
    }
    
    .crf-submit-btn,
    .crf-reset-btn {
        padding: 10px 16px;
        font-size: 14px;
        width: 100%;
        margin-bottom: 8px;
        margin-right: 0;
    }
}

/* Улучшения для ландшафтной ориентации на мобильных */
@media (max-height: 500px) and (orientation: landscape) {
    .crf-form-container {
        padding: 8px 12px 24px;
    }
    
    .crf-form {
        padding: 16px 12px;
    }
    
    .crf-form-title {
        font-size: 18px;
        margin-bottom: 8px;
    }
    
    .crf-form-subtitle {
        font-size: 14px;
        margin-bottom: 12px;
    }
    
    .crf-fieldset {
        padding: 12px 10px;
        margin-bottom: 12px;
    }
    
    .crf-step {
        padding: 4px 2px;
        font-size: 9px;
    }
}

/* Продвинутые стили для улучшения UX на touch устройствах */
@media (hover: none) and (pointer: coarse) {
    /* Увеличенные области касания для кнопок и ссылок */
    .crf-radio-label,
    .crf-checkbox-label {
        min-height: 48px;
        padding: 12px;
        border-radius: 8px;
        background: rgba(248, 250, 252, 0.5);
        margin-bottom: 8px;
        transition: background-color 0.2s ease;
    }
    
    .crf-radio-label:active,
    .crf-checkbox-label:active {
        background: rgba(119, 150, 198, 0.1);
    }
    
    .crf-submit-btn,
    .crf-reset-btn {
        min-height: 48px;
        touch-action: manipulation; /* Предотвращает double-tap zoom */
    }
    
    .crf-step {
        min-height: 48px;
        touch-action: manipulation;
    }
    
    /* Улучшенные стили для файловых полей на touch */
    .crf-file-input {
        min-height: 48px;
        padding: 12px;
        border: 2px dashed #7796C6;
        border-radius: 8px;
        background: rgba(119, 150, 198, 0.05);
        text-align: center;
        cursor: pointer;
        transition: all 0.2s ease;
    }
    
    .crf-file-input:active {
        background: rgba(119, 150, 198, 0.1);
        border-color: #6687b5;
    }
}

/* Оптимизация для устройств с малой высотой экрана */
@media (max-height: 600px) {
    .crf-form-container {
        padding: 8px 12px 32px;
    }
    
    .crf-form-title {
        margin-bottom: 8px;
    }
    
    .crf-form-subtitle {
        margin-bottom: 12px;
    }
    
    .crf-fieldset {
        margin-bottom: 12px;
    }
}

/* Улучшения для доступности и больших шрифтов */
@media (prefers-reduced-motion: reduce) {
    .crf-form-container {
        animation: none;
    }
    
    * {
        transition: none !important;
        animation: none !important;
    }
}

/* Поддержка темной темы (если пользователь предпочитает темную тему) */
@media (prefers-color-scheme: dark) {
    .crf-form {
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    }
}

/* Финальные стили для обеспечения полной адаптивности */
.crf-form-container *,
.crf-form *,
.crf-fieldset * {
    box-sizing: border-box;
    max-width: 100%;
}

/* Предотвращение горизонтального переполнения */
.crf-form-container,
.crf-form,
.crf-fieldset,
.crf-form-group {
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
}

/* КРИТИЧЕСКОЕ ИСПРАВЛЕНИЕ: Принудительная полная ширина для всех полей на всех устройствах */
.crf-form-container .crf-form .crf-fieldset .crf-form-group #surname,
.crf-form-container .crf-form .crf-fieldset .crf-form-group #name,
.crf-form-container .crf-form .crf-fieldset .crf-form-group #patronymic,
.crf-form-container .crf-form .crf-fieldset .crf-form-group #textInput,
.crf-form-container .crf-form .crf-fieldset .crf-form-group #textInput2,
.crf-form-container .crf-form .crf-fieldset .crf-form-group #textInput3,
.crf-form-container .crf-form .crf-fieldset .crf-form-group #inn,
.crf-form-container .crf-form .crf-fieldset .crf-form-group #email,
.crf-form-container .crf-form .crf-fieldset .crf-form-group #password,
.crf-form-container .crf-form .crf-fieldset .crf-form-group .crf-form-input,
.crf-form-container .crf-form .crf-fieldset .crf-form-group .crf-form-textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    flex: none !important;
    float: none !important;
    position: static !important;
}

.crf-form-container .crf-form .crf-fieldset .crf-form-group .crf-form-select {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    box-sizing: border-box !important;
    display: inline-block !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    flex: none !important;
    float: none !important;
    position: static !important;
}

/* Для десктопных устройств - дополнительная гарантия */
@media (min-width: 769px) {
    .crf-form-container .crf-form .crf-fieldset .crf-form-group #textInput,
    .crf-form-container .crf-form .crf-fieldset .crf-form-group #surname {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        display: block !important;
        margin: 0 !important;
        flex: none !important;
        float: none !important;
    }
}

/* ==================== CRF- ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ ФОРМЫ ВЗЫСКАТЕЛЯ ==================== */

.additional-field.crf-form-group {
    margin-top: 24px !important;
    padding: 20px;
    background: linear-gradient(135deg, #f8faff 0%, #f0f7ff 100%);
    border: 2px solid #e3f2fd;
    border-radius: 12px;
    position: relative;
    box-shadow: 0 2px 8px rgba(119, 150, 198, 0.15);
    transition: all 0.3s ease;
}

.additional-field.crf-form-group:hover {
    border-color: #7796C6;
    box-shadow: 0 4px 16px rgba(119, 150, 198, 0.25);
    transform: translateY(-2px);
}

.additional-field.crf-form-group::before {
    content: "📋 Дополнительные сведения об исполнительном производстве";
    position: absolute;
    top: -12px;
    left: 16px;
    background: linear-gradient(135deg, #7796C6 0%, #5a7bb8 100%);
    color: #ffffff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 6px rgba(119, 150, 198, 0.3);
}

/* ����������� ����� ��� ����� � �������������� ����� */
.additional-field.crf-form-group .crf-label {
    color: #1e3a8a;
    font-weight: 600;
    margin-bottom: 8px;
    font-size: 15px;
}

/* ���� ����� � �������������� ����� */
.additional-field.crf-form-group .crf-form-input,
.additional-field.crf-form-group .crf-form-textarea {
    background: #ffffff;
    border: 2px solid #e3f2fd;
    transition: all 0.3s ease;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
}

.additional-field.crf-form-group .crf-form-input:focus,
.additional-field.crf-form-group .crf-form-textarea:focus {
    border-color: #7796C6;
    background: #ffffff;
    box-shadow: 
        inset 0 1px 3px rgba(0, 0, 0, 0.1),
        0 0 0 3px rgba(119, 150, 198, 0.2);
}

/* �������� ��������� �������������� ����� (���������������, ���� ����� ��������) */
@keyframes crf-slideInFromTop {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ����������� ����� ��� ���� ������ �� */
.additional-field input[name="number_ispPr"] {
    font-family: 'Courier New', monospace;
    font-weight: 600;
    letter-spacing: 1px;
    background: linear-gradient(135deg, #fff 0%, #f8faff 100%);
}

.additional-field input[name="number_ispPr"]:focus {
    background: #ffffff;
}

/* ����� ��� ���� ���� � �������������� ����� */
.additional-field input[type="date"] {
    background: linear-gradient(135deg, #fff 0%, #f8faff 100%);
}

/* ����� ��� textarea ��� */
.additional-field textarea[name="name_osp"] {
    background: linear-gradient(135deg, #fff 0%, #f8faff 100%);
    resize: vertical;
    min-height: 100px;
}

/* ��������� ������������ ��� �������������� ����� */
@media (max-width: 768px) {
    .additional-field.crf-form-group {
        margin-top: 16px !important;
        padding: 16px;
        border-radius: 8px;
    }
    
    .additional-field.crf-form-group::before {
        font-size: 11px;
        padding: 3px 8px;
        top: -10px;
    }
    
    .additional-field.crf-form-group .crf-label {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .additional-field.crf-form-group {
        padding: 12px;
        margin-top: 12px !important;
    }
    
    .additional-field.crf-form-group::before {
        position: relative;
        top: 0;
        left: 0;
        display: inline-block;
        margin-bottom: 12px;
        border-radius: 6px;
    }
}

/* ==================== ПРИНУДИТЕЛЬНЫЕ СТИЛИ ДЛЯ CRF-ADVANCE-SELECTOR ==================== */
/* Эти стили должны быть в самом конце, чтобы перекрыть все остальные */

/* Правим переполнение длинных подписей внутри crf-advance-selector */
.crf-advance-selector {
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 6px 10px !important;
    max-width: 100% !important;
}

.crf-advance-selector span {
    white-space: normal !important;
    flex: 1 1 220px !important;
    min-width: 0 !important;
    line-height: 1.4;
}

/* Основные размеры для селектов в advance-selector */
.crf-form-container .crf-form .crf-fieldset .crf-form-group .crf-advance-selector select,
.crf-form-container .crf-form .crf-fieldset .crf-form-group .crf-advance-selector .crf-form-select,
.crf-advance-selector select,
.crf-advance-selector .crf-form-select {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    display: inline-block !important;
    box-sizing: border-box !important;
    padding: 4px 8px !important;
    flex: none !important;
    float: none !important;
    position: static !important;
}

/* Планшетная версия */
@media (max-width: 768px) {
    .crf-form-container .crf-form .crf-fieldset .crf-form-group .crf-advance-selector select,
    .crf-form-container .crf-form .crf-fieldset .crf-form-group .crf-advance-selector .crf-form-select,
    .crf-advance-selector select,
    .crf-advance-selector .crf-form-select {
        width: 100px !important;
        min-width: 100px !important;
        max-width: 100px !important;
        padding: 4px 6px !important;
    }
}

/* Мобильная версия */
@media (max-width: 480px) {
    .crf-form-container .crf-form .crf-fieldset .crf-form-group .crf-advance-selector select,
    .crf-form-container .crf-form .crf-fieldset .crf-form-group .crf-advance-selector .crf-form-select,
    .crf-advance-selector select,
    .crf-advance-selector .crf-form-select {
        width: 80px !important;
        min-width: 80px !important;
        max-width: 80px !important;
        padding: 3px 4px !important;
    }

    /* На узких экранах выстраиваем подпись в отдельную строку, чтобы она не выходила за рамки блока */
    .crf-advance-selector {
        align-items: flex-start !important;
    }

    .crf-advance-selector span {
        word-break: break-word;
    }

    .crf-advance-selector span:first-child {
        flex: 1 1 100% !important;
        width: 100% !important;
        display: block;
    }
}

/* ==================== ИСКЛЮЧЕНИЯ ДЛЯ ОСНОВНЫХ СЕЛЕКТОВ ==================== */
/* Селекты которые должны оставаться на полную ширину */

#stage_debt,
#region_work,
.crf-form-container .crf-form .crf-fieldset .crf-form-group #stage_debt,
.crf-form-container .crf-form .crf-fieldset .crf-form-group #region_work {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    display: block !important;
}

/* ==================== МОБИЛЬНАЯ АДАПТАЦИЯ: СКРЫТИЕ ХЛЕБНЫХ КРОШЕК ==================== */
/* Скрываем хлебные крошки на мобильных устройствах для экономии места */
@media (max-width: 768px) {
    .crf-breadcrumb,
    .crf-change-breadcrumb {
        display: none !important;
    }
}

/* ==================== СТРАНИЦА УСПЕШНОЙ ЗАГРУЗКИ (crf-success- namespace) ==================== */
/* Современный дизайн для отображения результата регистрации дела */

.crf-success-container {
    max-width: 900px !important;
    margin: 30px auto 0;
    padding: 24px 16px 64px;
    background: #f8fafc;
    min-height: 80vh;
}

/* Основное уведомление об успехе */
.crf-success-notification {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: #ffffff;
    padding: 32px 28px;
    border-radius: 16px;
    text-align: center;
    margin-bottom: 32px;
    box-shadow: 0 20px 48px rgba(16, 185, 129, 0.25), 0 8px 16px rgba(16, 185, 129, 0.15);
    position: relative;
    overflow: hidden;
}

.crf-success-notification::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 10px,
        rgba(255, 255, 255, 0.1) 10px,
        rgba(255, 255, 255, 0.1) 20px
    );
    animation: crfSuccessShimmer 20s linear infinite;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.crf-success-notification:hover::before {
    opacity: 1;
}

@keyframes crfSuccessShimmer {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(50%, 50%, 0); }
}

.crf-success-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
}

.crf-success-title {
    font-size: 24px !important;
    font-weight: 700;
    margin: 0 0 8px !important;
    color: #ffffff !important;
}

.crf-success-subtitle {
    font-size: 16px;
    margin: 0 0 24px;
    opacity: 0.95;
    line-height: 1.5;
    color: white;
}

.crf-success-action {
    margin-top: 20px;
}

.crf-success-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff !important;
    text-decoration: none;
    border-radius: 10px;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;;
    font-weight: 600;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
}

.crf-success-btn:hover {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(255, 255, 255, 0.2);
    color: #ffffff;
    text-decoration: none;
}

/* Детальная информация */
.crf-success-details {
    background: #ffffff;
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 12px 28px rgba(2, 6, 23, 0.08), 0 2px 8px rgba(2, 6, 23, 0.04);
    border: 1px solid #e2e8f0;
}

.crf-success-details-title {
    font-size: 20px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 24px;
    padding-bottom: 16px;
    border-bottom: 2px solid #e2e8f0;
}

/* Секции с информацией */
.crf-info-section {
    margin-bottom: 32px;
}

.crf-info-section:last-child {
    margin-bottom: 0;
}

.crf-section-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    padding: 12px 16px;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    border-radius: 10px;
    border-left: 4px solid #7796C6;
}

.crf-section-icon {
    width: 24px;
    height: 24px;
    color: #7796C6;
}

.crf-section-title {
    font-size: 16px;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
}

/* Информационные элементы */
.crf-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px 24px;
    margin-top: 16px;
}

.crf-info-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.crf-info-label {
    font-size: 13px;
    color: #64748b;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.crf-info-value {
    font-size: 15px;
    color: #1e293b;
    font-weight: 500;
    line-height: 1.4;
}

.crf-info-value.crf-highlight {
    color: #7796C6;
    font-weight: 700;
}

.crf-info-value.crf-success-highlight {
    color: #10b981;
    font-weight: 700;
}

/* Специальные элементы */
.crf-case-number {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: linear-gradient(135deg, #7796C6 0%, #6687b5 100%);
    color: #ffffff;
    border-radius: 20px;
    font-weight: 700;
    margin: 8px 0;
}

.crf-user-number {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: #ffffff;
    border-radius: 20px;
    font-weight: 700;
    margin: 8px 0;
}

/* Список регионов */
.crf-regions-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.crf-region-tag {
    display: inline-block;
    padding: 4px 12px;
    background: #f1f5f9;
    color: #334155;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid #e2e8f0;
}

/* Файлы */
.crf-files-info {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px;
    margin-top: 16px;
}

.crf-files-title {
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 12px;
}

.crf-file-status {
    font-size: 14px;
    line-height: 1.6;
    color: #334155;
}

.crf-file-success {
    color: #10b981;
    font-weight: 600;
}

.crf-file-error {
    color: #ef4444;
    font-weight: 600;
}

/* Мобильная адаптация */
@media (max-width: 768px) {
    .crf-success-container {
        padding: 16px 12px 40px;
    }
    
    .crf-success-notification {
        padding: 24px 20px;
        margin-bottom: 24px;
    }
    
    .crf-success-title {
        font-size: 20px;
    }
    
    .crf-success-subtitle {
        font-size: 14px;
    }
    
    .crf-success-details {
        padding: 24px 20px;
    }
    
    .crf-info-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    
    .crf-section-header {
        padding: 10px 12px;
    }
    
    .crf-regions-list {
        gap: 6px;
    }
    
    .crf-region-tag {
        font-size: 12px;
        padding: 3px 8px;
    }
}

@media (max-width: 480px) {
    .crf-success-icon {
        width: 48px;
        height: 48px;
        font-size: 24px;
    }
    
    .crf-success-title {
        font-size: 18px;
    }
    
    .crf-success-btn {
        padding: 10px 16px;
        font-size: 14px;
    }
    
    .crf-case-number,
    .crf-user-number {
        padding: 6px 12px;
        font-size: 14px;
    }
}

/* ==================== СТРАНИЦЫ ОШИБОК (crf-error- namespace) ==================== */

.crf-error-notification {
    background: linear-gradient(135deg, #fff5f5 0%, #ffeaea 100%);
    border: 2px solid #fecaca;
    border-radius: 16px;
    padding: 32px;
    text-align: center;
    position: relative;
    overflow: hidden;
    margin-bottom: 32px;
    box-shadow: 0 10px 30px rgba(239, 68, 68, 0.15);
}

.crf-error-notification::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 10px,
        rgba(239, 68, 68, 0.05) 10px,
        rgba(239, 68, 68, 0.05) 20px
    );
    animation: shimmer 20s linear infinite;
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
}

.crf-error-notification:hover::before {
    opacity: 1;
}

.crf-error-icon {
    font-size: 48px;
    margin-bottom: 16px;
    display: block;
    filter: drop-shadow(0 4px 8px rgba(239, 68, 68, 0.2));
    animation: pulse 2s ease-in-out infinite;
}

.crf-error-title {
    color: #dc2626;
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 12px 0;
    line-height: 1.2;
}

.crf-error-subtitle {
    color: #991b1b;
    font-size: 16px;
    margin: 0 0 24px 0;
    line-height: 1.5;
}

.crf-error-list {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    padding: 16px;
    margin: 16px 0;
    text-align: left;
}

.crf-error-item {
    color: #991b1b;
    margin: 8px 0;
    font-weight: 500;
}

.crf-error-action {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 24px;
}

.crf-error-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
    color: white !important;
    text-decoration: none;
    padding: 14px 24px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(220, 38, 38, 0.3);
}

.crf-error-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(220, 38, 38, 0.4);
    color: white !important;
    text-decoration: none;
}

.crf-error-btn.crf-btn-secondary {
    background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%);
    box-shadow: 0 4px 12px rgba(107, 114, 128, 0.3);
}

.crf-error-btn.crf-btn-secondary:hover {
    box-shadow: 0 8px 20px rgba(107, 114, 128, 0.4);
}

@media (max-width: 768px) {
    .crf-error-notification {
        padding: 24px 16px;
        margin: 16px;
    }
    
    .crf-error-title {
        font-size: 24px;
    }
    
    .crf-error-subtitle {
        font-size: 14px;
    }
    
    .crf-error-action {
        flex-direction: column;
        align-items: center;
    }
    
    .crf-error-btn {
        width: 100%;
        max-width: 280px;
        justify-content: center;
    }
}

/* ==============================
   CREDITOR FORMS (crf- namespace)
   Purpose: Modern, isolated styling for creditor case forms 
   Used in: form_cases_debt_legal_pg1case.php, form_cases_debt_hu_pg1case.php
   Palette: Primary #7796C6, Accent #FFA216, Danger #E75656
   Isolation: Use only .crf-* selectors to avoid conflicts with style_acount/style_index
============================== */

.crf-form-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 24px 16px 64px;
    background: #f8fafc;
    min-height: 80vh;
}

/* Анимация появления формы - Закомментировано для оптимизации производительности
@keyframes crf-fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
} */

.crf-form-container {
    animation: none; /* Оптимизация производительности */
}

/* Breadcrumbs */
.crf-breadcrumb,
.crf-change-breadcrumb {
    margin: 20px 0 24px;
    padding: 12px 16px;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 8px rgba(2,6,23,0.05);
}
.crf-breadcrumb-list,
.crf-change-breadcrumb-list {
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 8px;
    flex-wrap: wrap;
}
.crf-breadcrumb-item,
.crf-change-breadcrumb-item {
    display: flex;
    align-items: center;
}
.crf-breadcrumb-item:not(:last-child)::after,
.crf-change-breadcrumb-item:not(:last-child)::after {
    content: '→';
    margin-left: 8px;
    color: #94a3b8;
    font-size: 14px;
}
.crf-breadcrumb-link,
.crf-change-breadcrumb-link {
    color: #7796C6;
    text-decoration: none;
    padding: 4px 8px;
    border-radius: 6px;
    transition: all 0.2s ease;
    font-size: 14px;
    font-weight: 500;
}
.crf-breadcrumb-link:hover,
.crf-change-breadcrumb-link:hover {
    background: rgba(119, 150, 198, 0.1);
    color: #6687b5;
}
.crf-breadcrumb-current,
.crf-change-breadcrumb-current {
    color: #334155;
    font-weight: 600;
    font-size: 14px;
}

/* Form header */
.crf-form-title {
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin: 0 0 24px !important;
    text-align: center !important;
    line-height: 1.2 !important;
}

.crf-form-subtitle {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    color: #334155 !important;
    margin: 0 0 24px !important;
    text-align: center !important;
    line-height: 1.3 !important;
}

/* Form styling */
.crf-form {
    background: #ffffff;
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 8px 32px rgba(2,6,23,0.12);
    border: 1px solid #e2e8f0;
}

/* Form notice */
.crf-form-notice {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    padding: 16px 20px;
    margin-bottom: 32px;
    color: #1e40af;
    font-size: 14px;
    line-height: 1.5;
}

.crf-visible-mark {
    color: #7796C6;
    font-weight: 600;
}

.crf-required {
    color: #E75656;
    font-weight: 700;
}

/* Step indicator */
.crf-step-indicator {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 32px;
    flex-wrap: wrap;
}

.crf-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 16px 20px;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    min-width: 120px;
    border: 2px solid #e2e8f0;
    background: #f8fafc;
    color: #64748b;
}

.crf-step:hover {
    border-color: #7796C6;
    background: rgba(119, 150, 198, 0.05);
    color: #334155;
    transform: translateY(-2px);
}

.crf-step-current {
    border-color: #7796C6 !important;
    background: linear-gradient(135deg, #7796C6 0%, #6687b5 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 16px rgba(119, 150, 198, 0.3);
}

.crf-step-current:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(119, 150, 198, 0.4);
}

/* Fieldsets */
.crf-fieldset {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 32px;
    background: #fafbfc;
}

.crf-legend {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e293b !important;
    padding: 0 12px;
    background: #ffffff;
    border: 1px solid #7796C6;
    border-radius: 8px !important;
    padding: 8px 16px;
    color: #7796C6;
}

/* Form groups */
.crf-form-group {
    margin-bottom: 24px;
}

.crf-form-group:last-child {
    margin-bottom: 0;
}

/* Labels */
.crf-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px;
    line-height: 1.4;
}

/* Inputs and form elements */
.crf-form-input,
.crf-form-select,
.crf-form-textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    font-size: 16px;
    line-height: 1.5;
    background: #ffffff;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.crf-form-input:focus,
.crf-form-select:focus,
.crf-form-textarea:focus {
    outline: none;
    border-color: #7796C6;
    box-shadow: 0 0 0 3px rgba(119, 150, 198, 0.15);
    background: #ffffff;
}

.crf-form-input:invalid,
.crf-form-select:invalid,
.crf-form-textarea:invalid {
    border-color: #E75656;
}

.crf-form-textarea {
    min-height: 120px;
    resize: vertical;
}

/* Radio and checkbox groups */
.crf-radio-group,
.crf-checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.crf-radio-label,
.crf-checkbox-label {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 8px;
    transition: all 0.2s ease;
    font-size: 14px;
    line-height: 1.4;
}

.crf-radio-label:hover,
.crf-checkbox-label:hover {
    background: rgba(119, 150, 198, 0.08);
}

.crf-radio-label input[type="radio"],
.crf-checkbox-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* Advance selector */
.crf-advance-selector {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    padding: 12px 16px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    font-size: 14px;
}

.crf-advance-selector select {
    min-width: 100px;
    padding: 8px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    background: #ffffff;
}

/* File upload */
.crf-file-upload {
    border: 2px dashed #cbd5e1;
    border-radius: 12px;
    padding: 24px;
    background: #fafbfc;
    transition: all 0.2s ease;
}

.crf-file-upload:hover {
    border-color: #7796C6;
    background: rgba(119, 150, 198, 0.02);
}

.crf-file-input {
    margin-bottom: 16px;
    padding: 16px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.crf-file-input:last-child {
    margin-bottom: 0;
}

/* Buttons */
.crf-add-file-btn,
.crf-submit-btn,
.crf-reset-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    min-height: 48px;
    white-space: nowrap;
}

.crf-add-file-btn {
    background: linear-gradient(135deg, #7796C6 0%, #6687b5 100%);
    color: #ffffff;
    border-color: #7796C6;
    margin-top: 16px;
}

.crf-add-file-btn:hover {
    background: linear-gradient(135deg, #6687b5 0%, #5577a4 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(119, 150, 198, 0.3);
}

.crf-submit-btn {
    background: linear-gradient(135deg, #7796C6 0%, #6687b5 100%);
    color: #ffffff;
    border-color: #7796C6;
    margin-right: 16px;
}

.crf-submit-btn:hover {
    background: linear-gradient(135deg, #6687b5 0%, #5577a4 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(119, 150, 198, 0.3);
}

.crf-reset-btn {
    background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%);
    color: #374151;
    border-color: #e2e8f0;
}

.crf-reset-btn:hover {
    background: linear-gradient(135deg, #cbd5e1 0%, #94a3b8 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(203, 213, 225, 0.3);
}

/* Form descriptions */
.crf-form-description {
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
    margin-bottom: 16px;
    padding: 12px 16px;
    background: #f1f5f9;
    border-radius: 8px;
    border-left: 4px solid #7796C6;
}

.crf-form-description p {
    margin: 0 0 8px;
}

.crf-form-description p:last-child {
    margin-bottom: 0;
}

.crf-form-description ol {
    margin: 8px 0;
    padding-left: 20px;
}

.crf-form-description li {
    margin-bottom: 8px;
}

.crf-form-description a {
    color: #7796C6;
    text-decoration: underline;
    font-weight: 600;
}

.crf-form-description a:hover {
    color: #6687b5;
}

/* Error messages */
.crf-error-message {
    color: #E75656;
    font-size: 13px;
    margin-top: 6px;
    font-weight: 500;
}

/* Responsive design */
@media (max-width: 768px) {
    .crf-form-container {
        padding: 16px 12px 48px;
        position: relative;
    }
    
    .crf-form {
        padding: 20px 16px;
        border-radius: 12px;
        position: relative;
    }
    
    .crf-form-title {
        font-size: 1.5rem;
        margin-bottom: 20px;
    }
    
    .crf-form-subtitle {
        font-size: 1.25rem;
        margin-bottom: 20px;
    }
    
    .crf-step-indicator {
        flex-direction: column;
        gap: 12px;
    }
    
    .crf-step {
        min-width: 100%;
        padding: 12px 16px;
    }
    
    .crf-fieldset {
        padding: 16px;
        margin-bottom: 24px;
    }
    
    .crf-form-group {
        margin-bottom: 20px;
    }
    
    .crf-advance-selector select {
        width: 100%;
    }
    
    .crf-submit-btn,
    .crf-reset-btn {
        width: 100%;
        margin-right: 0;
        margin-bottom: 12px;
    }
    
    .crf-submit-btn:last-child,
    .crf-reset-btn:last-child {
        margin-bottom: 0;
    }
    
    .crf-radio-group,
    .crf-checkbox-group {
        padding: 12px;
    }
    
    .crf-file-upload {
        padding: 16px;
    }
    
    .crf-file-input {
        padding: 12px;
    }
}

@media (max-width: 480px) {
    .crf-form-container {
        padding: 12px 8px 32px;
    }
    
    .crf-form {
        padding: 16px 12px;
    }
    
    .crf-fieldset {
        padding: 12px;
    }
    
    .crf-form-notice {
        padding: 12px 16px;
        font-size: 13px;
    }
    
    .crf-step {
        padding: 10px 12px;
        font-size: 12px;
    }
    
    .crf-form-input,
    .crf-form-select,
    .crf-form-textarea {
        padding: 10px 12px;
        font-size: 16px; /* Предотвращает зум на iOS */
    }
    
    .crf-add-file-btn,
    .crf-submit-btn,
    .crf-reset-btn {
        padding: 10px 16px;
        font-size: 14px;
        min-height: 44px;
    }
    .crf-change-success-breadcrumb {
        margin: 0 0 30px 0 !important;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .crf-form-input,
    .crf-form-select,
    .crf-form-textarea {
        border-width: 3px;
    }
    
    .crf-form-input:focus,
    .crf-form-select:focus,
    .crf-form-textarea:focus {
        box-shadow: 0 0 0 4px rgba(119, 150, 198, 0.3);
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .crf-form-container {
        animation: none;
    }
    
    .crf-form-input,
    .crf-form-select,
    .crf-form-textarea,
    .crf-add-file-btn,
    .crf-submit-btn,
    .crf-reset-btn,
    .crf-step,
    .crf-breadcrumb-link {
        transition: none;
    }
}

/* ==================== ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ ЮРИДИЧЕСКИХ ЛИЦ ==================== */
/* Специальные стили для автозаполнения и подсветки */

.crf-autocomplete {
    border: 2px solid #E75656 !important;
    background: linear-gradient(135deg, #fff5f5 0%, #fef2f2 100%);
    position: relative;
}

.crf-autocomplete:focus {
    border-color: #7796C6 !important;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    box-shadow: 0 0 0 3px rgba(119, 150, 198, 0.1);
}

.crf-highlight {
    color: #E75656 !important;
    font-weight: 700 !important;
    background: linear-gradient(135deg, rgba(231, 86, 86, 0.1) 0%, rgba(231, 86, 86, 0.05) 100%);
    padding: 2px 6px;
    border-radius: 4px;
    border-left: 3px solid #E75656;
    margin-left: 4px;
}

.crf-help-text.crf-highlight {
    color: #E75656 !important;
    font-weight: 600 !important;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.crf-help-text.crf-highlight::before {
    content: "⚡";
    font-size: 16px;
    color: #FFA216;
}

/* Стили для файловых полей */
.crf-file-upload {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    border: 2px dashed #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
    margin-bottom: 16px;
    transition: all 0.3s ease;
}

.crf-file-upload:hover {
    border-color: #7796C6;
    background: #f1f5f9;
}

.crf-file-input {
    padding: 8px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
    font-size: 14px;
    transition: all 0.2s ease;
}

.crf-file-input:focus {
    outline: none;
    border-color: #7796C6;
    box-shadow: 0 0 0 3px rgba(119, 150, 198, 0.1);
}

.crf-remove-file-btn {
    align-self: flex-start;
    padding: 6px 12px;
    background: #E75656;
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.crf-remove-file-btn:hover {
    background: #dc2626;
    transform: translateY(-1px);
}

/* ==================== СТИЛИ ДЛЯ ТРЕТЬЕГО ШАГА РЕГИСТРАЦИИ ==================== */
/* Специальные стили для финального шага и информационных блоков */

.crf-success-info {
    margin: 24px 0;
}

.crf-info-card {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
    border: 2px solid #10b981;
    border-radius: 12px;
    padding: 24px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.1);
}

.crf-info-title {
    color: #059669;
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 12px;
}

.crf-info-text {
    color: #047857;
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
}

.crf-form-notice {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
    border-left: 4px solid #7796C6;
    padding: 16px 20px;
    margin: 24px 0;
    border-radius: 8px;
    font-size: 15px;
    color: #1e40af;
    font-weight: 500;
}

.crf-visible-mark {
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    font-size: 16px;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.crf-visible-mark:hover {
    opacity: 1;
}

.crf-checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.crf-submit-final {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    font-size: 18px;
    font-weight: 700;
    padding: 16px 32px;
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.3);
}

.crf-submit-final:hover {
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(16, 185, 129, 0.4);
}

/* Улучшения для мобильных устройств */
@media (max-width: 768px) {
    .crf-info-card {
        padding: 20px 16px;
    }
    
    .crf-info-title {
        font-size: 20px;
    }
    
    .crf-form-notice {
        padding: 14px 16px;
        font-size: 14px;
    }
    
    .crf-submit-final {
        font-size: 16px;
        padding: 14px 24px;
    }
}

/* ==================== ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ SUCCESS СТРАНИЦ ==================== */

/* Timeline компоненты */
.crf-success-timeline {
    margin: 32px 0;
}

.crf-success-timeline-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 0;
    position: relative;
}

.crf-success-timeline-item:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 20px;
    top: 60px;
    width: 2px;
    height: 40px;
    background: rgba(255, 255, 255, 0.3);
}

.crf-success-timeline-completed::after {
    background: rgba(255, 255, 255, 0.6);
}

.crf-success-timeline-current::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.2) 100%);
}

.crf-success-timeline-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.crf-success-timeline-completed .crf-success-timeline-icon {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.5);
}

.crf-success-timeline-current .crf-success-timeline-icon {
    background: rgba(255, 255, 255, 0.4);
    border-color: rgba(255, 255, 255, 0.7);
    animation: crf-pulse 2s infinite;
}

@keyframes crf-pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.05); opacity: 0.9; }
}

.crf-success-timeline-content {
    flex: 1;
}

.crf-success-timeline-content strong {
    display: block;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 4px;
}

.crf-success-timeline-content small {
    font-size: 14px;
    opacity: 0.9;
}

/* Details grid */
.crf-success-details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    margin-bottom: 32px;
}

.crf-success-detail-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    background: #f8fafc;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
}

.crf-success-detail-label {
    font-size: 14px;
    color: #64748b;
    font-weight: 600;
}

.crf-success-detail-value {
    font-size: 16px;
    color: #1e293b;
    font-weight: 500;
}

.crf-success-detail-success {
    color: #10b981;
}

.crf-success-detail-neutral {
    color: #6b7280;
}

/* Info box */
.crf-success-info-box {
    display: flex;
    gap: 16px;
    padding: 20px;
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
    border-radius: 12px;
    border-left: 4px solid #FFA216;
    margin-top: 24px;
}

.crf-success-info-icon {
    font-size: 24px;
    flex-shrink: 0;
}

.crf-success-info-content p {
    margin: 0 0 12px 0;
    font-weight: 600;
    color: #1e293b;
}

.crf-success-info-content ul {
    margin: 0;
    padding-left: 20px;
    list-style-type: disc;
}

.crf-success-info-content li {
    margin-bottom: 8px;
    color: #374151;
    line-height: 1.5;
}

/* Success actions */
.crf-success-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 32px;
}

.crf-success-button-primary,
.crf-success-button-secondary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 24px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    min-width: 200px;
    justify-content: center;
}

.crf-success-button-primary {
    background: #7796C6;
    color: #ffffff !important;
    border: 2px solid #7796C6;
    box-shadow: 0 4px 16px rgba(119, 150, 198, 0.3);
}

.crf-success-button-primary:hover {
    background: #6687b5;
    border-color: #6687b5;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(119, 150, 198, 0.4);
}

.crf-success-button-secondary {
    background: #ffffff;
    color: #64748b;
    border: 2px solid #e2e8f0;
}

.crf-success-button-secondary:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #475569;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.crf-success-button-icon {
    font-size: 18px;
}

/* Mobile optimization */
@media (max-width: 768px) {
    .crf-success-container {
        padding: 16px 12px 40px;
    }
    
    .crf-success-notification {
        padding: 24px 20px;
        margin-bottom: 24px;
    }
    
    .crf-success-title {
        font-size: 20px;
    }
    
    .crf-success-details {
        padding: 24px 20px;
    }
    
    .crf-success-details-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    
    .crf-success-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    .crf-success-button-primary,
    .crf-success-button-secondary {
        min-width: auto;
        width: 100%;
    }
    
    .crf-success-timeline-item {
        padding: 12px 0;
    }
    
    .crf-success-timeline-item:not(:last-child)::after {
        height: 30px;
        top: 50px;
    }
}

/* ==================== СТРАНИЦА РЕДАКТИРОВАНИЯ ДЕЛА (crf-edit- namespace) ==================== */

.crf-edit-container {
    max-width: 800px !important;
    margin: 0 auto;
    padding: 24px 16px 64px;
    background: #f8fafc;
    min-height: 80vh;
}

/* Хлебные крошки */
.crf-edit-breadcrumb {
    margin: 170px 32px 20px;
}

.crf-edit-breadcrumb-list {
    display: flex;
    align-items: center;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 14px;
}

.crf-edit-breadcrumb-item {
    display: flex;
    align-items: center;
}

.crf-edit-breadcrumb-item:not(:last-child)::after {
    content: '→';
    margin-left: 8px;
    color: #94a3b8;
    font-weight: 400;
}

.crf-edit-breadcrumb-link {
    color: #7796C6;
    text-decoration: none;
    padding: 4px 8px;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.crf-edit-breadcrumb-link:hover {
    background: rgba(119, 150, 198, 0.1);
    color: #6687b5;
}

.crf-edit-breadcrumb-current {
    color: #1e293b;
    font-weight: 600;
    padding: 4px 8px;
    background: rgba(119, 150, 198, 0.1);
    border-radius: 6px;
}

/* Заголовок */
.crf-edit-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 32px 28px;
    background: linear-gradient(135deg, #7796C6 0%, #6687b5 100%);
    color: #ffffff;
    border-radius: 16px;
    margin-bottom: 32px;
    box-shadow: 0 12px 28px rgba(119, 150, 198, 0.25);
}

.crf-edit-header-content {
    flex: 1;
}

.crf-edit-title {
    color: white !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.2 !important;
}

.crf-edit-subtitle {
    font-size: 16px;
    margin: 0;
    opacity: 0.9;
    line-height: 1.4;
}

.crf-edit-header-icon {
    font-size: 48px;
    opacity: 0.8;
    margin-left: 20px;
}

/* Форма */
.crf-edit-form {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(2, 6, 23, 0.08);
    overflow: hidden;
}

/* Fieldsets */
.crf-edit-fieldset {
    border: none;
    margin: 0;
    padding: 32px;
    border-bottom: 1px solid #e2e8f0;
}

.crf-edit-fieldset:last-of-type {
    border-bottom: none;
}

.crf-edit-legend {
    font-size: 20px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 24px 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Группы полей */
.crf-edit-form-group {
    margin-bottom: 24px;
}

.crf-edit-form-group:last-child {
    margin-bottom: 0;
}

/* Лейблы */
.crf-edit-form-label {
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px;
    line-height: 1.4;
}

.crf-edit-visible-mark {
    color: #FFA216;
    margin-left: 4px;
    font-size: 14px;
}

.crf-edit-required-mark {
    color: #E75656;
    margin-left: 4px;
    font-weight: 700;
}

/* Поля ввода */
.crf-edit-form-input,
.crf-edit-form-select,
.crf-edit-form-textarea {
    width: 100%;
    padding: 16px;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    font-size: 16px;
    font-family: inherit;
    background: #ffffff;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.crf-edit-form-input:focus,
.crf-edit-form-select:focus,
.crf-edit-form-textarea:focus {
    outline: none;
    border-color: #7796C6;
    box-shadow: 0 0 0 3px rgba(119, 150, 198, 0.1);
}

.crf-edit-form-textarea {
    min-height: 120px;
    resize: vertical;
    line-height: 1.6;
}

.crf-edit-textarea-small {
    min-height: 80px;
}

.crf-edit-input-error {
    border-color: #E75656 !important;
    box-shadow: 0 0 0 3px rgba(231, 86, 86, 0.1) !important;
}

/* Подсказки */
.crf-edit-form-help {
    font-size: 14px;
    color: #6b7280;
    margin-top: 6px;
    line-height: 1.4;
}

/* Счетчики символов */
.crf-edit-character-counter {
    font-size: 12px;
    color: #9ca3af;
    text-align: right;
    margin-top: 4px;
}

.crf-edit-counter-warning {
    color: #FFA216 !important;
    font-weight: 600;
}

.crf-edit-counter-danger {
    color: #E75656 !important;
    font-weight: 700;
}

/* Раскрывающиеся секции */
.crf-edit-expandable-section {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
}

.crf-edit-expand-button {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: #f8fafc;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    color: #374151;
    transition: all 0.2s ease;
}

.crf-edit-expand-button:hover {
    background: #f1f5f9;
    color: #1e293b;
}

.crf-edit-expand-button[aria-expanded="true"] {
    background: #e2e8f0;
    color: #1e293b;
}

.crf-edit-expand-icon {
    font-size: 12px;
    transition: transform 0.2s ease;
}

.crf-edit-expand-button[aria-expanded="true"] .crf-edit-expand-icon {
    transform: rotate(90deg);
}

.crf-edit-expand-counter {
    margin-left: auto;
    background: #7796C6;
    color: #ffffff;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
}

/* Группы чекбоксов */
.crf-edit-checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Двухколоночное отображение чекбоксов */
.crf-edit-checkbox-group.crf-edit-two-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 24px;
}

.crf-edit-checkbox-group.crf-edit-hidden {
    display: none;
}

.crf-edit-expandable-section .crf-edit-checkbox-group {
    padding: 20px;
    background: #ffffff;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.crf-edit-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    padding: 12px;
    border-radius: 8px;
    transition: background-color 0.2s ease;
}

.crf-edit-checkbox-label:hover {
    background: #f8fafc;
}

.crf-edit-checkbox-input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #7796C6;
    cursor: pointer;
}

.crf-edit-checkbox-text {
    flex: 1;
    font-size: 15px;
    color: #374151;
    line-height: 1.4;
}

.crf-edit-checkbox-required {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
    border: 1px solid #FFA216;
    border-radius: 12px;
    padding: 16px;
}

.crf-edit-checkbox-icon {
    font-size: 16px;
    margin-right: 8px;
}

.crf-edit-checkbox-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.crf-edit-checkbox-content strong {
    font-weight: 600;
    color: #1e293b;
}

.crf-edit-checkbox-content small {
    font-size: 13px;
    color: #6b7280;
    line-height: 1.3;
}

/* Радио кнопки */
.crf-edit-radio-group {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 16px;
}

.crf-edit-radio-label {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    cursor: pointer;
    padding: 16px;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    transition: all 0.2s ease;
}

.crf-edit-radio-label:hover {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.crf-edit-radio-input {
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: #7796C6;
    cursor: pointer;
}

.crf-edit-radio-input:checked + .crf-edit-radio-text {
    color: #1e293b;
}

.crf-edit-radio-label:has(.crf-edit-radio-input:checked) {
    border-color: #7796C6;
    background: rgba(119, 150, 198, 0.05);
}

.crf-edit-radio-text {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.crf-edit-radio-icon {
    font-size: 20px;
}

.crf-edit-radio-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.crf-edit-radio-content strong {
    font-weight: 600;
    color: #1e293b;
}

.crf-edit-radio-content small {
    font-size: 14px;
    color: #6b7280;
    line-height: 1.3;
}

/* Кнопки */
.crf-edit-form-actions {
    padding: 32px;
    background: linear-gradient(180deg, #f9fafb 0%, #f3f4f6 100%);
    border-top: 1px solid #e5e7eb;
}

.crf-edit-button-group {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.crf-edit-submit-btn,
.crf-edit-reset-btn,
.crf-edit-cancel-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    min-width: 200px;
    justify-content: center;
    cursor: pointer;
    border: none;
    position: relative;
    overflow: hidden;
}

.crf-edit-submit-btn {
    background: #7796C6;
    color: #ffffff;
    box-shadow: 0 4px 16px rgba(119, 150, 198, 0.3);
}

.crf-edit-submit-btn:hover:not(:disabled) {
    background: #6687b5;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(119, 150, 198, 0.4);
}

.crf-edit-reset-btn {
    background: #ffffff;
    color: #64748b;
    border: 2px solid #e2e8f0;
}

.crf-edit-reset-btn:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #475569;
}

.crf-edit-cancel-btn {
    background: #f3f4f6;
    color: #6b7280;
    border: 2px solid #d1d5db;
}

.crf-edit-cancel-btn:hover {
    background: #e5e7eb;
    border-color: #9ca3af;
    color: #374151;
}

.crf-edit-btn-icon {
    font-size: 18px;
}

.crf-edit-btn-text {
    position: relative;
    z-index: 2;
}

.crf-edit-btn-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: crf-edit-spin 1s linear infinite;
    opacity: 0;
    z-index: 3;
}

.crf-edit-btn-loading {
    pointer-events: none;
    color: transparent !important;
}

.crf-edit-btn-loading .crf-edit-btn-loader {
    opacity: 1;
    color: #ffffff;
}

@keyframes crf-edit-spin {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Уведомления об ошибках */
.crf-edit-notification-error {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 24px;
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
    border: 1px solid #fca5a5;
    border-radius: 16px;
    margin-bottom: 24px;
}

.crf-edit-notification-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.crf-edit-notification-icon svg {
    width: 100%;
    height: 100%;
}

.crf-edit-notification-content {
    flex: 1;
}

.crf-edit-notification-title {
    font-size: 18px;
    font-weight: 700;
    color: #991b1b;
    margin: 0 0 8px 0;
}

.crf-edit-notification-text {
    color: #7f1d1d;
    margin: 0 0 16px 0;
    line-height: 1.5;
}

.crf-edit-notification-actions {
    display: flex;
    gap: 12px;
}

.crf-edit-button-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: #ffffff;
    color: #374151;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.2s ease;
}

.crf-edit-button-secondary:hover {
    background: #f9fafb;
    border-color: #9ca3af;
}

.crf-edit-button-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: #7796C6;
    color: #ffffff;
    border: 1px solid #7796C6;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.2s ease;
}

.crf-edit-button-primary:hover {
    background: #6687b5;
    border-color: #6687b5;
}

/* Ошибки валидации */
.crf-edit-error-message {
    color: #E75656;
    font-size: 14px;
    font-weight: 500;
    margin-top: 6px;
    display: block;
}

.crf-edit-error-message:empty {
    display: none;
}

/* Скрытые элементы */
.crf-edit-hidden {
    display: none !important;
}

/* Адаптивность */
@media (max-width: 768px) {
    .crf-edit-container {
        padding: 16px 12px 40px;
    }
    
    .crf-edit-header {
        padding: 24px 20px;
        margin-bottom: 24px;
        flex-direction: column;
        text-align: center;
        gap: 16px;
    }
    
    .crf-edit-title {
        font-size: 24px;
    }
    
    .crf-edit-subtitle {
        font-size: 14px;
    }
    
    .crf-edit-header-icon {
        font-size: 36px;
        margin: 0;
    }
    
    .crf-edit-fieldset {
        padding: 24px 20px;
    }
    
    .crf-edit-legend {
        font-size: 18px;
    }
    
    .crf-edit-button-group {
        flex-direction: column;
        align-items: stretch;
    }
    
    .crf-edit-submit-btn,
    .crf-edit-reset-btn,
    .crf-edit-cancel-btn {
        min-width: auto;
        width: 100%;
    }
    
    .crf-edit-breadcrumb-list {
        font-size: 12px;
        flex-wrap: wrap;
    }
    
    /* На мобильных устройствах показываем чекбоксы в одну колонку */
    .crf-edit-checkbox-group.crf-edit-two-columns {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}
.block_btn_change{
    text-align: center;
    margin-bottom: 40px;
}
/* ==================== CRF CHANGE SUCCESS STYLES ==================== */

/* Контейнер страницы успешного изменения */
.crf-change-success-container {
    max-width: 800px !important;
    margin: 0 auto;
    padding: 32px 24px 60px;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    min-height: 100vh;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.crf-change-success-btn-text{
    color: white !important;
}

/* Хлебные крошки */
.crf-change-success-breadcrumb {
    margin: 170px 0 30px 30px;
}

.crf-change-success-breadcrumb-list {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 14px;
    color: #64748b;
}

.crf-change-success-breadcrumb-item {
    display: flex;
    align-items: center;
}

.crf-change-success-breadcrumb-item:not(:last-child)::after {
    content: '›';
    margin-left: 8px;
    color: #cbd5e1;
    font-weight: bold;
}

.crf-change-success-breadcrumb-link {
    color: #7796C6;
    text-decoration: none;
    transition: color 0.2s ease;
}

.crf-change-success-breadcrumb-link:hover {
    color: #5a7ba3;
    text-decoration: underline;
}

.crf-change-success-breadcrumb-current {
    color: #374151;
    font-weight: 500;
}

/* Заголовок страницы */
.crf-change-success-header {
    text-align: center;
    margin-bottom: 40px;
    padding: 40px 24px;
    background: linear-gradient(135deg, #7796C6 0%, #5a7ba3 100%);
    border-radius: 20px;
    color: white;
    box-shadow: 0 10px 30px rgba(119, 150, 198, 0.3);
}

.crf-change-success-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 24px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: crf-changeSuccessPulse 2s infinite;
}

.crf-change-success-icon svg {
    width: 48px;
    height: 48px;
}

@keyframes crf-changeSuccessPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

.crf-change-success-title {
    font-size: 32px !important;
    font-weight: 700 !important;
    margin: 0 0 12px;
    line-height: 1.2 !important;
    color: white !important;
}

.crf-change-success-subtitle {
    font-size: 18px;
    font-weight: 400;
    margin: 0;
    opacity: 0.9;
    line-height: 1.5;
    color: white !important;
}

/* Уведомление */
.crf-change-success-notification {
    background: white;
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 32px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border-left: 5px solid #FFA216;
}

.crf-change-success-notification-content {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.crf-change-success-notification-icon {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(255, 162, 22, 0.1);
}

.crf-change-success-notification-icon svg {
    width: 28px;
    height: 28px;
}

.crf-change-success-notification-title {
    font-size: 20px;
    font-weight: 600;
    color: #374151;
    margin: 0 0 8px;
}

.crf-change-success-notification-desc {
    font-size: 16px;
    color: #6b7280;
    margin: 0;
    line-height: 1.6;
}

/* Действия */
.crf-change-success-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

.crf-change-success-btn-primary,
.crf-change-success-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    min-width: 160px;
    justify-content: center;
    border: 2px solid transparent;
}

.crf-change-success-btn-primary {
    background: linear-gradient(135deg, #7796C6 0%, #5a7ba3 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(119, 150, 198, 0.3);
}

.crf-change-success-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(119, 150, 198, 0.4);
}

.crf-change-success-btn-secondary {
    background: white;
    color: #7796C6;
    border-color: #7796C6;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.crf-change-success-btn-secondary:hover {
    background: #7796C6;
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(119, 150, 198, 0.3);
}

.crf-change-success-btn-icon {
    font-size: 18px;
}

/* Детали изменений */
.crf-change-success-details {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    margin-bottom: 32px;
}

.crf-change-success-details-header {
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
    padding: 24px 32px;
    border-bottom: 1px solid #e2e8f0;
}

.crf-change-success-details-title {
    font-size: 24px;
    font-weight: 700;
    color: #374151;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.crf-change-success-details-icon {
    font-size: 28px;
}

.crf-change-success-details-content {
    padding: 32px;
}

.crf-change-success-details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.crf-change-success-detail-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 20px;
    background: #f8fafc;
    border-radius: 12px;
    border-left: 4px solid #7796C6;
}

.crf-change-success-detail-item.crf-change-success-detail-full {
    grid-column: 1 / -1;
}

.crf-change-success-detail-label {
    font-size: 14px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.crf-change-success-detail-value {
    font-size: 16px;
    font-weight: 500;
    color: #374151;
    line-height: 1.5;
}

/* Футер действий */
.crf-change-success-footer-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    padding: 32px;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    flex-wrap: wrap;
}

/* Адаптивность */
@media (max-width: 768px) {
    .crf-change-success-container {
        padding: 16px 12px 40px;
    }
    
    .crf-change-success-header {
        padding: 24px 16px;
        margin-bottom: 24px;
    }
    
    .crf-change-success-title {
        font-size: 24px;
    }
    
    .crf-change-success-subtitle {
        font-size: 16px;
    }
    
    .crf-change-success-icon {
        width: 60px;
        height: 60px;
    }
    
    .crf-change-success-icon svg {
        width: 36px;
        height: 36px;
    }
    
    .crf-change-success-notification {
        padding: 20px;
    }
    
    .crf-change-success-notification-content {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }
    
    .crf-change-success-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    .crf-change-success-btn-primary,
    .crf-change-success-btn-secondary {
        width: 100%;
    }
    
    .crf-change-success-details-content {
        padding: 20px;
    }
    
    .crf-change-success-details-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    
    .crf-change-success-footer-actions {
        padding: 20px;
        flex-direction: column;
        align-items: stretch;
    }
    
    .crf-change-success-breadcrumb-list {
        font-size: 12px;
        flex-wrap: wrap;
    }
}

/* ===============================
   CHANGE CASES DEBT HU FORM STYLES (cch-change- namespace)
   Purpose: Modern form styling for change_cases_debt_hu.php
   Palette: Primary #7796C6, Accent #FFA216, Danger #E75656
   Focus: Accessibility, mobile-first, modern UX patterns
============================== */

:root {
	--cch-change-primary: #7796C6;
	--cch-change-primary-dark: #5a7dad;
	--cch-change-accent: #FFA216;
	--cch-change-danger: #E75656;
	--cch-change-success: #16a34a;
	--cch-change-warning: #f59e0b;
	--cch-change-gray-50: #f8fafc;
	--cch-change-gray-100: #f1f5f9;
	--cch-change-gray-200: #e2e8f0;
	--cch-change-gray-300: #cbd5e1;
	--cch-change-gray-400: #94a3b8;
	--cch-change-gray-500: #64748b;
	--cch-change-gray-600: #475569;
	--cch-change-gray-700: #334155;
	--cch-change-gray-800: #1e293b;
	--cch-change-gray-900: #0f172a;
	--cch-change-white: #ffffff;
	--cch-change-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
	--cch-change-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
	--cch-change-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
	--cch-change-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
	--cch-change-border-radius: 8px;
	--cch-change-border-radius-lg: 12px;
	--cch-change-transition: all 0.2s ease-in-out;
}

/* Change form container */
.cch-change-container {
	max-width: 800px !important;
	margin: 0 auto;
	padding: 0 16px 64px;
	background: var(--cch-change-gray-50);
	min-height: 80vh !important;
}

/* Breadcrumbs for change form */
.cch-change-breadcrumbs {
	background: var(--cch-change-white);
	border-bottom: 1px solid var(--cch-change-gray-200);
	padding: 12px 0;
	margin: 30px 0 24px;
	border-radius: var(--cch-change-border-radius-lg);
	box-shadow: var(--cch-change-shadow-sm);
}

.cch-change-breadcrumb-list {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.cch-change-breadcrumb-item {
	font-size: 14px;
}

.cch-change-breadcrumb-link {
	color: var(--cch-change-gray-600);
	text-decoration: none;
	padding: 4px 8px;
	border-radius: 4px;
	transition: var(--cch-change-transition);
}

.cch-change-breadcrumb-link:hover {
	background-color: var(--cch-change-gray-100);
	color: var(--cch-change-primary);
}

.cch-change-breadcrumb-item + .cch-change-breadcrumb-item::before {
	content: '›';
	color: var(--cch-change-gray-400);
	margin: 0 4px;
}

.cch-change-breadcrumb-current {
	color: var(--cch-change-gray-800);
	font-weight: 500;
}

/* Header */
.cch-change-header {
	margin-bottom: 32px;
	padding: 24px;
	background: linear-gradient(135deg, var(--cch-change-primary) 0%, var(--cch-change-primary-dark) 100%);
	border-radius: var(--cch-change-border-radius-lg);
	box-shadow: var(--cch-change-shadow-lg);
	color: var(--cch-change-white);
	text-align: center;
}

.cch-change-title {
	font-size: 28px !important;
	font-weight: 700 !important;
	margin: 0 0 8px;
	line-height: 1.2 !important;
    color: white !important;
}

.cch-change-subtitle {
	font-size: 16px;
	margin: 0;
	opacity: 0.9;
	line-height: 1.4;
    color: white !important;
}

/* Form container */
.cch-change-form-container {
	background: var(--cch-change-white);
	border-radius: var(--cch-change-border-radius-lg);
	box-shadow: var(--cch-change-shadow);
	overflow: hidden;
}

/* Form styling */
.cch-change-form {
	width: 100%;
}

/* Fieldsets */
.cch-change-fieldset {
	border: none;
	margin: 0;
	padding: 32px;
	border-bottom: 1px solid var(--cch-change-gray-200);
}

.cch-change-fieldset:last-child {
	border-bottom: none;
}

.cch-change-legend {
	font-size: 20px;
	font-weight: 600;
	color: var(--cch-change-gray-800);
	margin: 0 0 24px;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 8px;
}

/* Form groups */
.cch-change-form-group {
	margin-bottom: 24px;
}

.cch-change-form-group:last-child {
	margin-bottom: 0;
}

/* Labels */
.cch-change-form-label {
	display: block;
	font-size: 16px;
	font-weight: 500;
	color: var(--cch-change-gray-700);
	margin-bottom: 8px;
	line-height: 1.4;
}

.cch-change-visible-mark {
	color: var(--cch-change-accent);
	font-size: 14px;
	margin-left: 4px;
}

.cch-change-required-mark {
	color: var(--cch-change-danger);
	margin-left: 4px;
}

/* Input fields */
.cch-change-form-input,
.cch-change-form-select,
.cch-change-form-textarea {
	width: 100%;
	padding: 12px 16px;
	border: 2px solid var(--cch-change-gray-200);
	border-radius: var(--cch-change-border-radius);
	font-size: 16px;
	font-family: inherit;
	background-color: var(--cch-change-white);
	transition: var(--cch-change-transition);
	box-sizing: border-box;
}

.cch-change-form-input:focus,
.cch-change-form-select:focus,
.cch-change-form-textarea:focus {
	outline: none;
	border-color: var(--cch-change-primary);
	box-shadow: 0 0 0 3px rgba(119, 150, 198, 0.1);
}

.cch-change-form-input.cch-change-error,
.cch-change-form-select.cch-change-error,
.cch-change-form-textarea.cch-change-error {
	border-color: var(--cch-change-danger);
}

.cch-change-form-textarea {
	resize: vertical;
	min-height: 100px;
}

.cch-change-large-textarea {
	min-height: 150px;
}

/* Help text */
.cch-change-form-help {
	font-size: 14px;
	color: var(--cch-change-gray-500);
	margin-top: 4px;
	line-height: 1.4;
}

/* Error messages */
.cch-change-error-message {
	color: var(--cch-change-danger);
	font-size: 14px;
	margin-top: 4px;
	display: none;
}

.cch-change-error-message:not(:empty) {
	display: block;
}

/* Radio buttons */
.cch-change-radio-group {
	display: flex;
	flex-direction: row;
	gap: 16px;
	flex-wrap: wrap;
}

.cch-change-radio-label {
	display: flex;
	align-items: center;
	cursor: pointer;
	padding: 10px 16px;
	border: 2px solid var(--cch-change-gray-200);
	border-radius: var(--cch-change-border-radius);
	transition: var(--cch-change-transition);
	background-color: var(--cch-change-white);
	position: relative;
	padding-left: 35px;
	min-width: 200px;
	flex: 1;
}

.cch-change-radio-label:hover {
	border-color: var(--cch-change-primary);
	background-color: var(--cch-change-gray-50);
}

.cch-change-radio-input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

/* Custom radio visual */
.cch-change-radio-label::before {
	content: '';
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	border: 2px solid var(--cch-change-gray-300);
	border-radius: 50%;
	background-color: var(--cch-change-white);
	transition: var(--cch-change-transition);
}

/* Checked state for radio */
.cch-change-radio-label:has(input:checked)::before,
.cch-change-radio-label.checked::before {
	background-color: var(--cch-change-primary);
	border-color: var(--cch-change-primary);
}

.cch-change-radio-label:has(input:checked)::after,
.cch-change-radio-label.checked::after {
	content: '●';
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--cch-change-white);
	font-size: 8px;
	line-height: 1;
}

.cch-change-radio-text {
	font-size: 15px;
	color: var(--cch-change-gray-700);
	line-height: 1.4;
	font-weight: 500;
}

/* Selected radio text styling */
.cch-change-radio-label:has(input:checked) .cch-change-radio-text,
.cch-change-radio-label.checked .cch-change-radio-text {
	color: var(--cch-change-primary);
	font-weight: 600;
}

/* Checkboxes */
.cch-change-checkbox-group {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 12px;
	padding: 16px;
	background: var(--cch-change-white);
	border: 1px solid var(--cch-change-gray-200);
	border-radius: var(--cch-change-border-radius);
}

.cch-change-checkbox-label {
	display: flex;
	align-items: center;
	cursor: pointer;
	padding: 12px 16px;
	border: 1px solid var(--cch-change-gray-200);
	border-radius: var(--cch-change-border-radius);
	transition: var(--cch-change-transition);
	background-color: var(--cch-change-white);
	position: relative;
	padding-left: 35px !important;
	min-height: 20px;
}

.cch-change-checkbox-label:hover {
	border-color: var(--cch-change-primary);
	background-color: var(--cch-change-gray-50);
}

.cch-change-checkbox-input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

/* Custom checkbox visual - using proper positioning */
.cch-change-checkbox-label {
	position: relative;
	padding-left: 30px !important;
}

.cch-change-checkbox-label::before {
	content: '';
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	border: 2px solid var(--cch-change-gray-300);
	border-radius: 4px;
	background-color: var(--cch-change-white);
	transition: var(--cch-change-transition);
}

/* Checked state for checkbox */
.cch-change-checkbox-label:has(input:checked)::before,
.cch-change-checkbox-label.checked::before {
	background-color: var(--cch-change-primary) !important;
	border-color: var(--cch-change-primary) !important;
}

.cch-change-checkbox-label:has(input:checked)::after,
.cch-change-checkbox-label.checked::after {
	content: '✓';
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--cch-change-white);
	font-size: 12px;
	font-weight: bold;
	line-height: 1;
}

/* Hover state */
.cch-change-checkbox-label:hover::before {
	border-color: var(--cch-change-primary);
}

/* Text styling when checked */
.cch-change-checkbox-label:has(input:checked) .cch-change-checkbox-text,
.cch-change-checkbox-label.checked .cch-change-checkbox-text {
	color: var(--cch-change-primary);
	font-weight: 500;
}

.cch-change-checkbox-text {
	font-size: 14px;
	color: var(--cch-change-gray-700);
	line-height: 1.4;
	margin-left: 10px;
}

/* Expandable sections (regions) */
.cch-change-expandable-section {
	border: 1px solid var(--cch-change-gray-200);
	border-radius: var(--cch-change-border-radius);
	overflow: hidden;
	margin-bottom: 16px;
}

.cch-change-toggle-button {
	width: 100%;
	padding: 16px;
	background: var(--cch-change-gray-50);
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 16px;
	font-weight: 500;
	color: var(--cch-change-gray-700);
	transition: var(--cch-change-transition);
}

.cch-change-toggle-button:hover {
	background: var(--cch-change-gray-100);
}

.cch-change-toggle-count {
	color: var(--cch-change-primary);
	font-weight: 600;
	margin: 0 8px;
}

.cch-change-checkbox-grid {
	padding: 16px;
	background: var(--cch-change-white);
	max-height: 200px;
	overflow-y: auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 8px;
}

/* Override grid layout for checkbox grid */
.cch-change-checkbox-grid .cch-change-checkbox-label {
	margin-bottom: 8px;
}

/* Buttons */
.cch-change-form-actions {
	padding: 24px 32px;
	background: var(--cch-change-gray-50);
	border-top: 1px solid var(--cch-change-gray-200);
	display: flex;
	gap: 16px;
	justify-content: center;
}

.cch-change-button-primary,
.cch-change-button-secondary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 24px;
	border: 2px solid transparent;
	border-radius: var(--cch-change-border-radius);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: var(--cch-change-transition);
	min-width: 120px;
	justify-content: center;
}

.cch-change-button-primary {
	background: linear-gradient(135deg, var(--cch-change-primary) 0%, var(--cch-change-primary-dark) 100%);
	color: var(--cch-change-white);
	box-shadow: var(--cch-change-shadow);
}

.cch-change-button-primary:hover {
	transform: translateY(-1px);
	box-shadow: var(--cch-change-shadow-md);
}

.cch-change-button-secondary {
	background: var(--cch-change-white);
	color: var(--cch-change-gray-700);
	border-color: var(--cch-change-gray-300);
}

.cch-change-button-secondary:hover {
	background: var(--cch-change-gray-50);
	border-color: var(--cch-change-gray-400);
}

/* Notification error */
.cch-change-notification-error {
	background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
	border: 1px solid #fecaca;
	border-radius: var(--cch-change-border-radius-lg);
	padding: 24px;
	margin: 24px 0;
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.cch-change-notification-icon {
	font-size: 24px;
	flex-shrink: 0;
	color: var(--cch-change-danger);
}

.cch-change-notification-content {
	flex: 1;
}

.cch-change-notification-title {
	font-size: 20px;
	font-weight: 600;
	color: var(--cch-change-danger);
	margin: 0 0 8px;
}

.cch-change-notification-text {
	color: #7f1d1d;
	margin: 0 0 16px;
	line-height: 1.5;
}

/* Compatibility with existing form classes */
.form_reg_all .cch-change-form-container {
	background: transparent;
	box-shadow: none;
	border-radius: 0;
}

.fr_input_send.cch-change-button-primary {
	width: auto;
	min-width: 150px;
}

/* Responsive design */
@media (max-width: 768px) {
	.cch-change-container {
		padding: 0 12px 32px;
	}
	
	.cch-change-header {
		padding: 20px;
	}
	
	.cch-change-title {
		font-size: 24px;
	}
	
	.cch-change-subtitle {
		font-size: 14px;
	}
	
	.cch-change-fieldset {
		padding: 24px 16px;
	}
	
	.cch-change-form-actions {
		padding: 16px;
		flex-direction: column;
	}
	
	.cch-change-button-primary,
	.cch-change-button-secondary {
		width: 100%;
	}
	
	.cch-change-checkbox-group {
		grid-template-columns: 1fr;
	}
	
	.cch-change-radio-group {
		flex-direction: column;
		gap: 12px;
	}
	
	.cch-change-radio-label {
		min-width: auto;
		width: 100%;
	}
	
	.cch-change-breadcrumb-list {
		padding: 0 12px;
	}
}

@media (max-width: 480px) {
	.cch-change-toggle-button {
		padding: 12px;
		font-size: 14px;
	}
    .cch-change-breadcrumbs {
        margin: 80px 0 24px;
    }
}

/* ==============================
   POST CHANGE SUCCESS HU STYLES (cps-hu- namespace)
   Purpose: Modern success page styling for post_change_cases_debt_hu.php 
   Palette: Primary #7796C6, Accent #FFA216, Danger #E75656
   Focus: Accessibility, mobile-first, modern UX patterns
============================== */

:root {
	--cps-hu-primary: #7796C6;
	--cps-hu-primary-dark: #5a7dad;
	--cps-hu-accent: #FFA216;
	--cps-hu-danger: #E75656;
	--cps-hu-success: #16a34a;
	--cps-hu-warning: #f59e0b;
	--cps-hu-gray-50: #f8fafc;
	--cps-hu-gray-100: #f1f5f9;
	--cps-hu-gray-200: #e2e8f0;
	--cps-hu-gray-300: #cbd5e1;
	--cps-hu-gray-400: #94a3b8;
	--cps-hu-gray-500: #64748b;
	--cps-hu-gray-600: #475569;
	--cps-hu-gray-700: #334155;
	--cps-hu-gray-800: #1e293b;
	--cps-hu-gray-900: #0f172a;
	--cps-hu-white: #ffffff;
	--cps-hu-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
	--cps-hu-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
	--cps-hu-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
	--cps-hu-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
	--cps-hu-border-radius: 8px;
	--cps-hu-border-radius-lg: 12px;
	--cps-hu-transition: all 0.2s ease-in-out;
}

/* Container styles */
.cps-hu-container {
	max-width: 800px !important;
	margin: 0 auto;
	padding: 32px 24px;
	background-color: var(--cps-hu-gray-50);
	min-height: 100vh;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
	opacity: 0;
	animation: cps-hu-fadeIn 0.8s ease-out 0.2s forwards;
}

@keyframes cps-hu-fadeIn {
	from { opacity: 0; transform: translateY(30px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Breadcrumbs */
.cps-hu-breadcrumb {
	background: var(--cps-hu-white);
	padding: 16px 24px;
	border-radius: var(--cps-hu-border-radius);
	margin: 170px 0 32px;
	box-shadow: var(--cps-hu-shadow-sm);
}

.cps-hu-breadcrumb-list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
}

.cps-hu-breadcrumb-item {
	display: flex;
	align-items: center;
}

.cps-hu-breadcrumb-item:not(:last-child)::after {
	content: '→';
	margin: 0 12px;
	color: var(--cps-hu-gray-400);
	font-weight: bold;
}

.cps-hu-breadcrumb-link {
	color: var(--cps-hu-primary);
	text-decoration: none;
	transition: var(--cps-hu-transition);
}

.cps-hu-breadcrumb-link:hover {
	color: var(--cps-hu-primary-dark);
	text-decoration: underline;
}

.cps-hu-breadcrumb-current {
	color: var(--cps-hu-gray-700);
	font-weight: 500;
}

/* Success notification */
.cps-hu-success-notification {
	background: linear-gradient(135deg, var(--cps-hu-success) 0%, #059669 100%);
	color: var(--cps-hu-white);
	padding: 24px;
	border-radius: var(--cps-hu-border-radius-lg);
	margin-bottom: 32px;
	box-shadow: var(--cps-hu-shadow-lg);
	position: relative;
	overflow: hidden;
}

/* Error notification */
.cps-hu-error-notification {
	background: linear-gradient(135deg, var(--cps-hu-danger) 0%, #dc2626 100%);
	color: var(--cps-hu-white);
	padding: 24px;
	border-radius: var(--cps-hu-border-radius-lg);
	margin-bottom: 32px;
	box-shadow: var(--cps-hu-shadow-lg);
	position: relative;
	overflow: hidden;
}

.cps-hu-success-notification::before,
.cps-hu-error-notification::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');
	opacity: 0.3;
}

.cps-hu-success-content,
.cps-hu-error-content {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
}

.cps-hu-success-icon,
.cps-hu-error-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	background: rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
}

.cps-hu-success-text,
.cps-hu-error-text {
	flex: 1;
}

.cps-hu-success-title,
.cps-hu-error-title {
	font-size: 20px !important;
	font-weight: 600 !important;
	margin: 0 0 8px;
    color: white !important;
}

.cps-hu-success-desc,
.cps-hu-error-desc {
	font-size: 16px;
	opacity: 0.9;
	margin: 0;
	line-height: 1.5;
    color: white !important;
}

/* Action buttons */
.cps-hu-actions {
	display: flex;
	gap: 16px;
	margin-bottom: 32px;
	flex-wrap: wrap;
}

.cps-hu-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 24px;
	border: 2px solid transparent;
	border-radius: var(--cps-hu-border-radius);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: var(--cps-hu-transition);
	min-width: 160px;
	justify-content: center;
}

.cps-hu-button-primary {
	background: linear-gradient(135deg, var(--cps-hu-primary) 0%, var(--cps-hu-primary-dark) 100%);
	color: var(--cps-hu-white);
	box-shadow: var(--cps-hu-shadow);
}

.cps-hu-button-primary:hover {
	transform: translateY(-2px);
	box-shadow: var(--cps-hu-shadow-lg);
}

.cps-hu-button-secondary {
	background: var(--cps-hu-white);
	color: var(--cps-hu-gray-700);
	border-color: var(--cps-hu-gray-300);
}

.cps-hu-button-secondary:hover {
	border-color: var(--cps-hu-primary);
	color: var(--cps-hu-primary);
}

/* Details card */
.cps-hu-details {
	background: var(--cps-hu-white);
	border-radius: var(--cps-hu-border-radius-lg);
	box-shadow: var(--cps-hu-shadow);
	overflow: hidden;
}

.cps-hu-details-header {
	background: linear-gradient(135deg, var(--cps-hu-gray-50) 0%, var(--cps-hu-gray-100) 100%);
	padding: 24px;
	border-bottom: 1px solid var(--cps-hu-gray-200);
}

.cps-hu-details-title {
	font-size: 24px;
	font-weight: 600;
	color: var(--cps-hu-gray-800);
	margin: 0;
	display: flex;
	align-items: center;
	gap: 12px;
}

.cps-hu-details-icon {
	font-size: 28px;
}

.cps-hu-details-content {
	padding: 32px 24px;
}

.cps-hu-details-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 24px;
}

.cps-hu-detail-item {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px;
	background: var(--cps-hu-gray-50);
	border-radius: var(--cps-hu-border-radius);
	border-left: 4px solid var(--cps-hu-primary);
}

.cps-hu-detail-item.cps-hu-detail-full {
	grid-column: 1 / -1;
}

.cps-hu-detail-label {
	font-size: 14px;
	font-weight: 500;
	color: var(--cps-hu-gray-600);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.cps-hu-detail-value {
	font-size: 16px;
	font-weight: 600;
	color: var(--cps-hu-gray-800);
	line-height: 1.4;
}

.cps-hu-detail-value.cps-hu-highlight {
	color: var(--cps-hu-primary);
}

/* Responsive design */
@media (max-width: 768px) {
	.cps-hu-container {
		padding: 16px 12px;
	}
	
	.cps-hu-breadcrumb {
		padding: 12px 16px;
		margin-bottom: 24px;
	}
	
	.cps-hu-breadcrumb-list {
		font-size: 13px;
	}
	
	.cps-hu-success-notification,
	.cps-hu-error-notification {
		padding: 20px;
		margin-bottom: 24px;
	}
	
	.cps-hu-success-content,
	.cps-hu-error-content {
		flex-direction: column;
		text-align: center;
		gap: 12px;
	}
	
	.cps-hu-success-title,
	.cps-hu-error-title {
		font-size: 18px;
	}
	
	.cps-hu-success-desc,
	.cps-hu-error-desc {
		font-size: 15px;
	}
	
	.cps-hu-actions {
		flex-direction: column;
		gap: 12px;
	}
	
	.cps-hu-button {
		width: 100%;
		min-width: auto;
	}
	
	.cps-hu-details-header {
		padding: 20px;
	}
	
	.cps-hu-details-title {
		font-size: 20px;
	}
	
	.cps-hu-details-content {
		padding: 24px 20px;
	}
	
	.cps-hu-details-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	
	.cps-hu-detail-item {
		padding: 12px;
	}
}

/* =====================================================
   Post Change Legal Entity Result Page (pcl-post-change-legal)
   Стили для страницы результата изменения данных юридического лица
   ===================================================== */

.pcl-post-change-legal-page {
	min-height: 100vh;
	background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
	padding: 40px 20px;
	font-family: system-ui, -apple-system, sans-serif;
}

.pcl-post-change-legal-container {
	max-width: 800px;
	margin: 0 auto;
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08), 0 8px 16px rgba(0, 0, 0, 0.04);
	overflow: hidden;
	position: relative;
}

.pcl-post-change-legal-header {
	background: linear-gradient(135deg, #7796C6 0%, #6b89c4 100%);
	color: white;
	padding: 32px;
	text-align: center;
	position: relative;
}

.pcl-post-change-legal-header::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="20" height="20" patternUnits="userSpaceOnUse"><path d="M 20 0 L 0 0 0 20" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');
	opacity: 0.3;
}

.pcl-post-change-legal-title {
	font-size: 28px;
	font-weight: 700;
	margin: 0 0 8px 0;
	position: relative;
	z-index: 1;
}

.pcl-post-change-legal-subtitle {
	font-size: 16px;
	opacity: 0.9;
	margin: 0;
	position: relative;
	z-index: 1;
}

.pcl-post-change-legal-content {
	padding: 40px 32px;
}

/* Основное уведомление */
.pcl-post-change-legal-notification {
	background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
	border: 2px solid #e2e8f0;
	border-radius: 16px;
	padding: 32px;
	margin-bottom: 32px;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.pcl-post-change-legal-notification::before {
	content: '';
	position: absolute;
	top: -2px;
	left: -2px;
	right: -2px;
	bottom: -2px;
	background: linear-gradient(135deg, #7796C6, #FFA216, #E75656);
	border-radius: 16px;
	z-index: -1;
	opacity: 0.1;
}

.pcl-post-change-legal-icon {
	width: 80px;
	height: 80px;
	margin: 0 auto 20px;
	background: linear-gradient(135deg, #E75656 0%, #d14545 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 20px rgba(231, 86, 86, 0.3);
	animation: pcl-pulse 2s infinite;
}

.pcl-post-change-legal-icon svg {
	width: 40px;
	height: 40px;
	fill: white;
}

.pcl-post-change-legal-main-message {
	font-size: 20px;
	font-weight: 600;
	color: #1e293b;
	margin: 0 0 16px 0;
	line-height: 1.4;
}

.pcl-post-change-legal-sub-message {
	font-size: 16px;
	color: #64748b;
	margin: 0 0 24px 0;
	line-height: 1.5;
}

.pcl-post-change-legal-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 32px;
	background: linear-gradient(135deg, #7796C6 0%, #6b89c4 100%);
	color: white !important;
	text-decoration: none;
	border-radius: 12px;
	font-weight: 600;
	font-size: 16px;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(119, 150, 198, 0.3);
	border: none;
	cursor: pointer;
}

.pcl-post-change-legal-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(119, 150, 198, 0.4);
	color: white !important;
	text-decoration: none;
}

.pcl-post-change-legal-button:active {
	transform: translateY(0);
}

/* Блок с деталями изменений */
.pcl-post-change-legal-details {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	overflow: hidden;
	margin-top: 32px;
}

.pcl-post-change-legal-details-header {
	background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%);
	padding: 24px 32px;
	border-bottom: 1px solid #e2e8f0;
}

.pcl-post-change-legal-details-title {
	font-size: 18px;
	font-weight: 700;
	color: #1e293b;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 12px;
}

.pcl-post-change-legal-details-content {
	padding: 32px;
}

.pcl-post-change-legal-details-grid {
	display: grid;
	gap: 20px;
}

.pcl-post-change-legal-detail-item {
	background: white;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 20px;
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
}

.pcl-post-change-legal-detail-item::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 4px;
	height: 100%;
	background: linear-gradient(135deg, #7796C6, #FFA216);
	opacity: 0.7;
}

.pcl-post-change-legal-detail-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.pcl-post-change-legal-detail-label {
	font-size: 14px;
	font-weight: 600;
	color: #64748b;
	margin: 0 0 8px 0;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.pcl-post-change-legal-detail-value {
	font-size: 16px;
	font-weight: 500;
	color: #1e293b;
	margin: 0;
	line-height: 1.5;
	word-break: break-word;
}

.pcl-post-change-legal-detail-value.emphasis {
	font-weight: 700;
	color: #7796C6;
}

/* Статусы для подписи */
.pcl-post-change-legal-status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border-radius: 20px;
	font-size: 14px;
	font-weight: 600;
}

.pcl-post-change-legal-status.has-signature {
	background: rgba(34, 197, 94, 0.1);
	color: #16a34a;
	border: 1px solid rgba(34, 197, 94, 0.2);
}

.pcl-post-change-legal-status.no-signature {
	background: rgba(239, 68, 68, 0.1);
	color: #dc2626;
	border: 1px solid rgba(239, 68, 68, 0.2);
}

.pcl-post-change-legal-status::before {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
}

/* Хлебные крошки */
.pcl-post-change-legal-breadcrumbs {
	background: rgba(255, 255, 255, 0.9);
	padding: 12px 20px;
	margin: 50px 0 20px;
	backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(226, 232, 240, 0.5);
}

.pcl-post-change-legal-breadcrumbs a {
	color: #7796C6;
	text-decoration: none;
	font-size: 14px;
	transition: color 0.3s ease;
}

.pcl-post-change-legal-breadcrumbs a:hover {
	color: #6b89c4;
	text-decoration: underline;
}

.pcl-post-change-legal-breadcrumbs span {
	color: #64748b;
	margin: 0 8px;
}

/* Анимации */
@keyframes pcl-pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.05); }
}

@keyframes pcl-fadeIn {
	from { opacity: 0; transform: translateY(20px); }
	to { opacity: 1; transform: translateY(0); }
}

.pcl-post-change-legal-container {
	animation: pcl-fadeIn 0.6s ease-out;
}

.pcl-post-change-legal-notification {
	animation: pcl-fadeIn 0.8s ease-out 0.2s both;
}

.pcl-post-change-legal-details {
	animation: pcl-fadeIn 1s ease-out 0.4s both;
}

/* Мобильная адаптация */
@media (max-width: 768px) {
	.pcl-post-change-legal-page {
		padding: 20px 16px;
	}
	
	.pcl-post-change-legal-header {
		padding: 24px 20px;
	}
	
	.pcl-post-change-legal-title {
		font-size: 24px;
	}
	
	.pcl-post-change-legal-content {
		padding: 32px 20px;
	}
	
	.pcl-post-change-legal-notification {
		padding: 24px 20px;
		margin-bottom: 24px;
	}
	
	.pcl-post-change-legal-icon {
		width: 60px;
		height: 60px;
		margin-bottom: 16px;
	}
	
	.pcl-post-change-legal-icon svg {
		width: 30px;
		height: 30px;
	}
	
	.pcl-post-change-legal-main-message {
		font-size: 18px;
	}
	
	.pcl-post-change-legal-sub-message {
		font-size: 15px;
	}
	
	.pcl-post-change-legal-details-header,
	.pcl-post-change-legal-details-content {
		padding: 20px;
	}
	
	.pcl-post-change-legal-details-grid {
		gap: 16px;
	}
	
	.pcl-post-change-legal-detail-item {
		padding: 16px;
	}
	
	.pcl-post-change-legal-button {
		width: 100%;
		padding: 16px 24px;
	}
	
	.pcl-post-change-legal-breadcrumbs {
		margin: 0;
		padding: 12px 16px;
	}
}

/* ==================== ДОПОЛНИТЕЛЬНЫЕ ОПТИМИЗАЦИИ ПРОИЗВОДИТЕЛЬНОСТИ ==================== */

/* Оптимизация изображений для плавной прокрутки */
img {
    content-visibility: auto;
    contain-intrinsic-size: 200px;
}

/* Ленивая загрузка изображений - улучшенная производительность */
img[loading="lazy"] {
    content-visibility: auto;
    contain-intrinsic-size: 300px 200px;
}

/* Оптимизация для элементов вне области просмотра */
.dashboard-card,
.card-action,
.notification-card {
    content-visibility: auto;
    contain-intrinsic-size: 400px;
}

/* Уменьшение перерисовок при скролле */
.creditor-account-container,
.account-dashboard {
    contain: layout style;
}

/* Оптимизация теней для лучшей производительности */
.dashboard-card:hover {
    box-shadow: 
        0 8px 25px rgba(15, 23, 42, 0.15),
        0 3px 10px rgba(15, 23, 42, 0.08) !important;
    transform: translateY(-2px) !important;
}

/* Убираем сложные тени на мобильных устройствах */
@media (max-width: 768px) {
    .dashboard-card,
    .card-action,
    .notification-card {
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1) !important;
    }
    
    .dashboard-card:hover {
        box-shadow: 0 6px 16px rgba(15, 23, 42, 0.15) !important;
        transform: translateY(-1px) !important;
    }
}

/* Принудительное отключение анимаций на слабых устройствах */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Оптимизация для пользователей с медленным интернетом */
@media (prefers-reduced-data: reduce) {
    .dashboard-card::before,
    .notification-card::before {
        display: none;
    }
    
    .dashboard-card,
    .card-action {
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    }
}

/* ===================== КОМПАКТНЫЙ ДИЗАЙН ДАШБОРДА ВЗЫСКАТЕЛЯ 2025 ===================== */
/* Новая компактная версия для размещения всех карточек на одном экране - аналог executor_account */

/* Основной контейнер дашборда - минимальная высота и отступы */
.creditor-account-container .account-dashboard {
    margin-top: 1rem !important;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%) !important;
    border-radius: 20px !important;
    padding: 1.5rem !important;
    min-height: auto !important; /* Убираем принудительную высоту 100vh */
}

/* Компактная сетка дашборда */
.creditor-account-container .dashboard-grid {
    display: grid !important;
    gap: 1rem !important; /* Уменьшили gap */
    align-items: start !important;
    /* Адаптивная сетка для компактного размещения */
    grid-template-columns: 1fr !important; /* По умолчанию 1 колонка */
}

/* Удаляем колонки - теперь используем прямую сетку карточек */
.creditor-account-container .dashboard-column {
    display: contents !important; /* Элемент становится прозрачным для grid */
}

/* Компактные размеры карточек */
html body .creditor-account-container .account-dashboard .dashboard-card,
html body .creditor-account-container .dashboard-card {
    padding: 1rem !important; /* Уменьшили отступы */
    min-height: 240px !important; /* Фиксированная минимальная высота */
    max-height: 260px !important; /* Максимальная высота для предотвращения растягивания */
    border-radius: 16px !important; /* Уменьшили радиус */
    
    /* Оптимизированные тени */
    box-shadow: 
        0 8px 25px rgba(15, 23, 42, 0.08),
        0 4px 12px rgba(15, 23, 42, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
}

/* Компактный заголовок карточки */
.creditor-account-container .card-header {
    padding: 0.5rem 0.75rem !important; /* Уменьшили отступы */
    gap: 0.5rem !important;
    border-radius: 10px !important;
    margin: 0 0 0.5rem 0 !important; /* Уменьшили нижний отступ */
    min-height: 60px !important; /* Фиксированная высота заголовка */
    max-height: 60px !important;
    
    box-shadow: 
        0 4px 12px rgba(102, 126, 234, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.3),
        0 1px 4px rgba(0, 0, 0, 0.08) !important;
        
    background: color-mix(in srgb, var(--dashboard-primary) 70%, white 30%) !important;
    color: white !important;
    display: flex !important;
    align-items: center !important;
}

.creditor-account-container .card-header h3 {
    font-size: 0.8rem !important; /* Уменьшили размер шрифта */
    line-height: 1.1 !important;
    margin: 0 !important;
    flex: 1 !important; /* Растягиваем заголовок */
    color: white !important;
    font-weight: 700 !important;
    text-shadow: 
        0 2px 4px rgba(0, 0, 0, 0.3),
        0 4px 8px rgba(0, 0, 0, 0.15) !important;
}

.creditor-account-container .card-icon {
    font-size: 1.5rem !important; /* Уменьшили размер иконки */
    flex-shrink: 0 !important; /* Не сжимаем иконку */
    filter: 
        drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3))
        drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2)) !important;
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.5) !important;
}

.creditor-account-container .notification-badge {
    top: 0.3rem !important;
    right: 0.3rem !important;
    padding: 0.2rem 0.4rem !important;
    font-size: 0.6rem !important;
    min-width: 18px !important;
    height: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    
    color: white !important;
    border-radius: 25px !important;
    font-weight: 800 !important;
    text-align: center !important;
    z-index: 3 !important;
    box-shadow: 
        0 8px 24px rgba(239, 68, 68, 0.4),
        0 4px 12px rgba(0, 0, 0, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
    border: 2px solid rgba(255, 255, 255, 0.8) !important;
    background: #E75656 !important;
    animation: badgePulse 2s ease-in-out infinite !important;
}

/* Компактное содержимое карточки */
.creditor-account-container .card-content {
    margin-bottom: 0.75rem !important;
    min-height: 50px !important; /* Фиксированная минимальная высота */
    flex: 1 !important; /* Занимаем доступное пространство */
    padding: 0 0.25rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.creditor-account-container .card-content p {
    font-size: 0.8rem !important; /* Уменьшили размер текста */
    line-height: 1.4 !important;
    margin: 0 !important;
    color: var(--dashboard-text-secondary) !important;
    text-align: center !important;
    font-weight: 400 !important;
}

/* Сетка кнопок внутри карточки - ЕДИНСТВЕННОЕ ОПРЕДЕЛЕНИЕ */
html body .creditor-account-container .account-dashboard .card-grid,
html body .creditor-account-container .card-grid,
.creditor-account-container .account-dashboard .card-grid,
.creditor-account-container .card-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important; /* Две колонки для размещения кнопок рядом */
    gap: 0.5rem !important;
    margin-top: 0 !important;
    position: relative !important;
    min-height: 40px !important; /* Увеличили минимальную высоту */
    height: 40px !important; /* Фиксированная высота для единообразия */
    align-items: stretch !important; /* Растягиваем элементы по высоте */
}

/* Компактные кнопки */
.creditor-account-container .cred-card-btn,
.creditor-account-container .cred-card-btn-full {
    padding: 0.5rem 0.5rem !important;
    min-height: 40px !important; /* Соответствует высоте card-grid */
    height: 40px !important; /* Фиксированная высота */
    gap: 0.25rem !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: row;
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.9) 0%,
        rgba(248, 250, 252, 0.8) 100%
    ) !important;
    backdrop-filter: blur(12px) saturate(150%) !important;
    border: 1px solid rgba(148, 163, 184, 0.3) !important;
    
    box-shadow: 
        0 8px 32px rgba(15, 23, 42, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.4),
        0 2px 8px rgba(0, 0, 0, 0.06) !important;
    
    text-decoration: none !important;
    color: var(--dashboard-text-primary) !important;
    font-weight: 600 !important;
    
    position: relative !important;
    overflow: hidden !important;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.creditor-account-container .action-icon {
    font-size: 0.85rem !important;
    flex-shrink: 0 !important;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1)) !important;
}

.creditor-account-container .action-text {
    font-size: 1rem !important;
    text-align: center !important;
    line-height: 1.1 !important;
}

/* Hover эффекты для кнопок */
.creditor-account-container .cred-card-btn:hover,
.creditor-account-container .cred-card-btn-full:hover {
    color: white !important;
    transform: translateY(-3px) scale(1.015) !important; /* Уменьшили сдвиг в 2 раза */
    border-color: var(--dashboard-primary) !important;
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.95) 0%, /* Сделали фон светлее */
        rgba(248, 250, 252, 0.9) 100%
    ) !important;
    box-shadow: 
        0 12px 32px rgba(102, 126, 234, 0.2), /* Уменьшили интенсивность тени */
        0 6px 16px rgba(15, 23, 42, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.6) !important;
}

.creditor-account-container .cred-card-btn:hover .action-icon,
.creditor-account-container .cred-card-btn-full:hover .action-icon {
    transform: scale(1.1) rotate(5deg) !important;
}

.creditor-account-container .cred-card-btn:hover .action-text,
.creditor-account-container .cred-card-btn-full:hover .action-text {
    transform: translateY(-1px) !important;
    letter-spacing: 0.5px !important;
    color: white !important;
}

/* Адаптивная сетка для разных размеров экранов */

/* Планшеты - 2 колонки */
@media (min-width: 768px) and (max-width: 1023px) {
    .creditor-account-container .dashboard-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1rem !important;
    }
}

/* Компьютеры - 3 колонки */
@media (min-width: 1024px) and (max-width: 1439px) {
    .creditor-account-container .dashboard-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 1rem !important;
    }
}

/* Большие мониторы - 4 колонки */
@media (min-width: 1440px) {
    .creditor-account-container .dashboard-grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 1.25rem !important;
    }
    
    /* На больших экранах можем позволить чуть больше места */
    html body .creditor-account-container .dashboard-card {
        min-height: 180px !important;
        max-height: 220px !important;
    }
}

/* Дополнительные оптимизации для экранов высокого разрешения */
@media (min-width: 1600px) and (min-height: 900px) {
    .creditor-account-container .dashboard-grid {
        grid-template-columns: repeat(5, 1fr) !important; /* 5 колонок на очень больших экранах */
        gap: 1.5rem !important;
    }
}

/* Экстра-компактная версия для ноутбуков с низким разрешением */
@media (min-width: 1024px) and (max-height: 768px) {
    html body .creditor-account-container .dashboard-card {
        min-height: 140px !important;
        max-height: 160px !important;
        padding: 0.75rem !important;
    }
    
    .creditor-account-container .card-header {
        padding: 0.4rem 0.6rem !important;
        margin: 0 0 0.4rem 0 !important;
        min-height: 50px !important;
        max-height: 50px !important;
    }
    
    .creditor-account-container .card-header h3 {
        font-size: 1.3rem !important;
    }
    
    .creditor-account-container .card-content {
        min-height: 40px !important;
    }
    
    .creditor-account-container .card-content p {
        font-size: 0.75rem !important;
    }
    
    .creditor-account-container .dashboard-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0.75rem !important;
    }
}

/* Оптимизация для горизонтальных планшетов */
@media (min-width: 768px) and (max-width: 1023px) and (orientation: landscape) {
    .creditor-account-container .dashboard-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    
    html body .creditor-account-container .dashboard-card {
        min-height: 140px !important;
        max-height: 170px !important;
    }
}

/* Очень маленькие экраны - оставляем 1 колонку */
@media (max-width: 767px) {
    
    .creditor-account-container {
        max-width: 1400px !important; /* Увеличили максимальную ширину */
        margin: 120px auto 0 !important; /* Уменьшили верхний отступ */
        padding: 20px 16px 48px !important; /* Уменьшили отступы */
        min-height: auto !important; /* Убираем принудительную высоту */
    }
    .creditor-account-container .account-dashboard {
        padding: 1rem !important;
    }
    
    html body .creditor-account-container .dashboard-card {
        min-height: 140px !important;
        max-height: 180px !important;
        padding: 0.75rem !important;
    }
    
    .creditor-account-container .card-header {
        padding: 0.4rem 0.6rem !important;
        gap: 0.4rem !important;
        min-height: 50px !important;
        max-height: 50px !important;
    }
    
    .creditor-account-container .card-header h3 {
        font-size: 1.3rem !important;
    }
    
    .creditor-account-container .card-icon {
        font-size: 1.25rem !important;
    }
    
    .creditor-account-container .card-content {
        min-height: 40px !important;
    }
    
    .creditor-account-container .card-grid {
        height: 35px !important;
        min-height: 35px !important;
        grid-template-columns: 1fr !important; /* На мобильных кнопки занимают всю ширину */
    }
    
    .creditor-account-container .cred-card-btn,
    .creditor-account-container .cred-card-btn-full {
        height: 35px !important;
        min-height: 35px !important;
        padding: 0.4rem 0.4rem !important;
    }
}

/* Убираем избыточные отступы у хлебных крошек */
.creditor-account-container {
    margin: 8px 0 16px !important;
    padding: 8px 16px !important;
}

/* Специальные стили для демо-видео - более компактные */
#demoVideo {
    margin-bottom: 1rem !important;
    border-radius: 12px !important;
}

.demo-video-container {
    padding: 1rem !important;
}

/* Telegram уведомления - компактнее */
.creditor-account-container .telegram-subscription {
    padding: 1rem !important;
    margin: 0.5rem 0 !important;
    border-radius: 12px !important;
}

/* Дополнительные оптимизации компактного дизайна */

/* Убираем лишние анимации при уменьшенных размерах */
@media (max-height: 800px) {
    .creditor-account-container .dashboard-card,
    .creditor-account-container .cred-card-btn,
    .creditor-account-container .cred-card-btn-full {
        transition: transform 0.15s ease, box-shadow 0.15s ease !important; /* Быстрее анимации */
    }
    
    .creditor-account-container .dashboard-card:hover {
        transform: translateY(-2px) scale(1.005) !important; /* Меньше трансформации */
    }
    
    .creditor-account-container .cred-card-btn:hover,
    .creditor-account-container .cred-card-btn-full:hover {
        transform: translateY(-2px) scale(1.01) !important; /* Еще меньше для кнопок на низких экранах */
    }
}

/* Убираем избыточные отступы у гостевых элементов */
.creditor-account-container .guest-status {
    margin: 0.5rem 0 !important;
    padding: 0.5rem 1rem !important;
    font-size: 0.85rem !important;
}

/* Компактный режим для demo-video */
.creditor-account-container #demoVideo.demo-video-container {
    max-height: 300px !important;
    overflow: hidden !important;
}
.cred-cases-container #demoVideo.demo-video-container {
    max-height: 300px !important;
    overflow: hidden !important;
}
.demo-video-header h3 {
    font-size: 1rem !important;
    margin: 0 !important;
}

/* Оптимизация отображения карточек без излишних эффектов */
@media (prefers-reduced-motion: reduce) {
    .creditor-account-container .dashboard-card,
    .creditor-account-container .cred-card-btn,
    .creditor-account-container .cred-card-btn-full {
        transition: none !important;
    }
    
    .creditor-account-container .dashboard-card:hover,
    .creditor-account-container .cred-card-btn:hover,
    .creditor-account-container .cred-card-btn-full:hover {
        transform: none !important;
    }
}

/* Оптимизация для экранов с высокой плотностью пикселей */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    html body .creditor-account-container .dashboard-card {
        border-width: 0.5px !important; /* Тоньше границы для четкости */
    }
}

/* ==================== COLLAPSIBLE SECTION STYLES ==================== */
/* Стили для сворачиваемых секций формы */

.crf-legend-collapsible {
    cursor: pointer;
    user-select: none;
    position: relative;
    padding-right: 30px;
}

.crf-legend-collapsible::after {
    content: '▼';
    position: absolute;
    right: 0;
    transition: transform 0.3s ease;
}

.crf-legend-collapsible.collapsed::after {
    transform: rotate(-90deg);
}

.crf-fieldset-content {
    max-height: 5000px;
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.3s ease;
    opacity: 1;
}

.crf-fieldset-content.collapsed {
    max-height: 0;
    opacity: 0;
}

/* ==================== CASES LIST UTILITIES ==================== */
/* Центрирование блока управления списком дел (кнопка "Назад") */
.cr-wrap-list--center {
    display: flex;
    justify-content: center;
}

/* ==================== Legend: make titles, not inputs ==================== */
/* Делает legend визуально заголовком секции, а не полем ввода */
.crf-form-container .crf-fieldset > legend.crf-legend:not(.crf-collapsible-legend):not(.crf-legend-collapsible) {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 0 12px 0 !important;
    display: block;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 700;
    color: #0f172a;
}

.crf-form-container .crf-fieldset > legend.crf-legend:not(.crf-collapsible-legend):not(.crf-legend-collapsible)::after {
    content: '';
    display: block;
    height: 2px;
    width: 48px;
    margin-top: 6px;
    background: #e5e7eb;
}

@media (max-width: 768px) {
    .crf-form-container .crf-fieldset > legend.crf-legend:not(.crf-collapsible-legend):not(.crf-legend-collapsible) {
        font-size: 16px;
        margin-bottom: 10px !important;
    }
}

/* ==================== STATUS TOGGLE ==================== */
.status-toggle-card {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 14px 16px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.status-toggle-header {
    font-weight: 700;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 8px;
}

.status-toggle-state {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #0f172a;
}

.status-date {
    color: #6b7280;
    font-size: 0.95rem;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.95rem;
}

.status-pill.is-active {
    background: #dcfce7;
    color: #166534;
}

.status-pill.is-inactive {
    background: #fee2e2;
    color: #b91c1c;
}

.status-toggle-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.status-toggle-button {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 10px 14px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
    background: #f8fafc;
    color: #0f172a;
}

.status-toggle-button--inactive {
    background: #fee2e2;
    color: #b91c1c;
    border-color: #fecdd3;
}

.status-toggle-button--active {
    background: #dcfce7;
    color: #166534;
    border-color: #bbf7d0;
}

.status-toggle-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.1);
}

.status-toggle-hint {
    color: #6b7280;
    font-size: 0.95rem;
}

.status-modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 10000;
}

.status-modal.is-visible {
    display: flex;
}

.status-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.35);
}

.status-modal__dialog {
    position: relative;
    background: #ffffff;
    border-radius: 12px;
    padding: 18px 20px;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.18);
    width: min(420px, 92%);
    z-index: 1;
}

.status-modal__title {
    font-weight: 700;
    margin: 0 0 8px;
    color: #0f172a;
}

.status-modal__text {
    margin: 0 0 12px;
    color: #475569;
    line-height: 1.5;
}

.status-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.status-modal__cancel,
.status-modal__confirm {
    border: none;
    border-radius: 10px;
    padding: 10px 14px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.status-modal__cancel {
    background: #e2e8f0;
    color: #0f172a;
}

.status-modal__confirm {
    background: #0ea5e9;
    color: #ffffff;
    box-shadow: 0 6px 18px rgba(14, 165, 233, 0.18);
}

.status-modal__confirm:hover,
.status-modal__cancel:hover {
    transform: translateY(-1px);
}

.status-modal__confirm:active,
.status-modal__cancel:active {
    transform: translateY(0);
}

/* ==================== ARCHIVE CASES ==================== */
.archive-cases-block {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    margin-top: 16px;
    background: #ffffff;
    overflow: hidden;
}

.archive-cases-block summary {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    cursor: pointer;
    list-style: none;
    background: #f8fafc;
}

.archive-cases-count {
    margin-left: auto;
    background: #e2e8f0;
    color: #0f172a;
    border-radius: 999px;
    padding: 2px 10px;
    font-weight: 700;
    font-size: 0.9rem;
}

.archive-cases-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px;
}

.archive-case-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #f8fafc;
}

.archive-case-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.archive-case-title {
    font-weight: 700;
    color: #0f172a;
}

.archive-case-subtitle {
    color: #6b7280;
    font-size: 0.95rem;
}

.archive-restore-button {
    background: #0ea5e9;
    color: #ffffff;
    border: none;
    border-radius: 10px;
    padding: 10px 14px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
    box-shadow: 0 6px 18px rgba(14, 165, 233, 0.18);
}

.archive-restore-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 26px rgba(14, 165, 233, 0.25);
}

.archive-restore-button:active {
    transform: translateY(0);
}

.archive-cases-empty {
    padding: 12px 14px;
    color: #6b7280;
    font-size: 0.95rem;
}

.archive-modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.archive-modal.is-visible {
    display: flex;
}

.archive-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.35);
}

.archive-modal__dialog {
    position: relative;
    background: #ffffff;
    border-radius: 12px;
    padding: 18px 20px;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.18);
    width: min(420px, 92%);
    z-index: 1;
}

.archive-modal__title {
    font-weight: 700;
    margin: 0 0 8px;
    color: #0f172a;
}

.archive-modal__text {
    margin: 0 0 12px;
    color: #475569;
    line-height: 1.5;
}

.archive-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.archive-modal__cancel,
.archive-modal__confirm {
    border: none;
    border-radius: 10px;
    padding: 10px 14px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.archive-modal__cancel {
    background: #e2e8f0;
    color: #0f172a;
}

.archive-modal__confirm {
    background: #0ea5e9;
    color: #ffffff;
    box-shadow: 0 6px 18px rgba(14, 165, 233, 0.18);
}

.archive-modal__confirm:hover,
.archive-modal__cancel:hover {
    transform: translateY(-1px);
}

.archive-modal__confirm:active,
.archive-modal__cancel:active {
    transform: translateY(0);
}
