:root{
	--vk-ui-accent:#46ccb1;
	--vk-ui-accent-strong:#2dbf95;
	--vk-ui-blue:#32485d;
	--vk-ui-muted:#637789;
	--vk-ui-border:#d6dde6;
	--vk-ui-border-soft:#dce5ef;
	--vk-ui-bg:#ffffff;
	--vk-ui-bg-soft:#f8fbfe;
	--vk-ui-danger:#d94f62;
	--vk-ui-danger-bg:#fff0f2;
	--vk-ui-radius:14px;
	--vk-ui-shadow:0 8px 18px rgba(35,78,108,0.08);
	--vk-ui-focus:0 0 0 3px rgba(70,204,177,0.15);
}

.vk-field,
.pm-field{
	display:flex;
	flex-direction:column;
	gap:8px;
}

.vk-field label,
.pm-field label{
	font-size:14px;
	font-weight:bold;
	color:#506173;
}

.vk-field__hint{
	color:var(--vk-ui-muted);
	font-size:12px;
	line-height:1.45;
}

.vk-field__error{
	color:var(--vk-ui-danger);
	font-size:12px;
	font-weight:bold;
	line-height:1.4;
}

.vk-input,
.vk-field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
.vk-field select,
.vk-field textarea,
.pm-field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
.pm-field select,
.pm-field textarea{
	width:100%;
	box-sizing:border-box;
	border:1px solid var(--vk-ui-border);
	border-radius:var(--vk-ui-radius);
	padding:13px 14px;
	color:var(--vk-ui-blue);
	background:var(--vk-ui-bg);
	font-family:"Segoe UI", Arial, sans-serif;
	font-size:15px;
	line-height:1.35;
	letter-spacing:0;
	outline:none;
	transition:border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}

.vk-field textarea,
.vk-input textarea,
textarea.vk-input,
.pm-field textarea{
	min-height:120px;
	resize:vertical;
}

.vk-input:focus,
.vk-field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):focus,
.vk-field select:focus,
.vk-field textarea:focus,
.pm-field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):focus,
.pm-field select:focus,
.pm-field textarea:focus{
	border-color:var(--vk-ui-accent);
	background:#fff;
	box-shadow:var(--vk-ui-focus);
}

.vk-input:disabled,
.vk-field input:disabled,
.vk-field select:disabled,
.vk-field textarea:disabled,
.pm-field input:disabled,
.pm-field select:disabled,
.pm-field textarea:disabled{
	cursor:not-allowed;
	opacity:0.72;
	background:#f3f7fa;
}

.vk-toolbar,
.pm-toolbar-actions{
	display:flex;
	align-items:center;
	gap:12px;
	flex-wrap:wrap;
}

.vk-toolbar--right,
.pm-toolbar-actions{
	justify-content:flex-end;
}

.vk-toolbar--left,
.pm-toolbar-actions.left{
	justify-content:flex-start;
}

.vk-button,
button.vk-button,
a.vk-button,
.kn_lk.vk-button{
	min-height:42px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	box-sizing:border-box;
	margin:0;
	padding:0 18px;
	border:1px solid transparent;
	border-radius:999px;
	background:linear-gradient(135deg, var(--vk-ui-accent) 0%, #3bbfaf 100%);
	color:#fff;
	box-shadow:0 12px 24px rgba(70,204,177,0.22), inset 0 -2px rgba(0,0,0,0.1);
	font-family:"Segoe UI", Arial, sans-serif;
	font-size:13px;
	font-weight:700;
	line-height:1.1;
	letter-spacing:0;
	text-align:center;
	text-decoration:none;
	text-shadow:none;
	cursor:pointer;
	transition:transform 0.16s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.vk-button:hover,
.kn_lk.vk-button:hover{
	color:#fff;
	background:linear-gradient(135deg, #56d8c0 0%, var(--vk-ui-accent-strong) 100%);
	box-shadow:0 14px 28px rgba(70,204,177,0.28), inset 0 -2px rgba(0,0,0,0.1);
	text-decoration:none;
	transform:translateY(-1px);
}

.vk-button:active,
.kn_lk.vk-button:active{
	transform:translateY(0);
	box-shadow:0 8px 18px rgba(70,204,177,0.2), inset 0 -1px rgba(0,0,0,0.12);
}

.vk-button:focus,
.vk-button:focus-visible{
	outline:none;
	box-shadow:var(--vk-ui-focus), 0 12px 24px rgba(70,204,177,0.22);
}

.vk-button--secondary,
a.vk-button--secondary,
button.vk-button--secondary{
	border-color:#d8e4ef;
	background:#fff;
	color:#2d536e;
	box-shadow:0 10px 22px rgba(35,78,108,0.08);
}

.vk-button--secondary:hover{
	border-color:#c9dce8;
	background:#f8fbff;
	color:#2d536e;
	box-shadow:0 12px 24px rgba(35,78,108,0.1);
}

.vk-button--ghost{
	border-color:#d9e2e8;
	background:#f3f6f8;
	color:#667b8b;
	box-shadow:none;
}

.vk-button--ghost:hover{
	border-color:#cbd8df;
	background:#eaf0f3;
	color:#526b7d;
	box-shadow:none;
}

.vk-button--danger{
	border-color:#f0c8cf;
	background:var(--vk-ui-danger-bg);
	color:#a73547;
	box-shadow:none;
}

.vk-button--danger:hover{
	border-color:#e9aebb;
	background:#ffe5ea;
	color:#8c2838;
	box-shadow:none;
}

.vk-button[disabled],
.vk-button.is-disabled,
.vk-button:disabled{
	pointer-events:none;
	cursor:not-allowed;
	opacity:0.68;
	box-shadow:none;
	transform:none;
}

.vk-button__icon,
.vk-icon-button .vk-button__text{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	line-height:1;
}

.vk-icon-button{
	width:42px;
	min-width:42px;
	padding:0;
}

.vk-icon-button .vk-button__icon{
	display:none;
}

.vk-check,
.pm-check{
	display:inline-flex;
	align-items:center;
	gap:8px;
	color:#506173;
	font-size:14px;
	line-height:1.35;
}

.vk-check input[type="checkbox"]:not(:only-child),
.pm-check input[type="checkbox"]:not(:only-child){
	accent-color:var(--vk-ui-accent);
}

.vk-check--toggle,
.pm-check.pm-check--toggle{
	position:relative;
	gap:10px;
	cursor:pointer;
	user-select:none;
}

.vk-check--toggle input,
.pm-check.pm-check--toggle input{
	position:absolute;
	opacity:0;
	pointer-events:none;
}

.vk-check__switch,
.pm-check__switch{
	position:relative;
	flex:0 0 auto;
	width:38px;
	height:22px;
	overflow:hidden;
	border:1px solid #d5dee7;
	border-radius:999px;
	background:linear-gradient(135deg, #eef3f7 0%, #dce5ee 100%);
	box-shadow:inset 0 1px 3px rgba(47,74,96,0.08);
	transform:translateZ(0);
	transition:background 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease, transform 0.28s ease;
}

.vk-check__switch::before,
.pm-check__switch::before{
	content:"";
	position:absolute;
	inset:0;
	border-radius:inherit;
	background:
		radial-gradient(circle at 30% 30%, rgba(255,255,255,0.52), rgba(255,255,255,0) 58%),
		linear-gradient(135deg, #4fd0ba 0%, #72bff6 100%);
	opacity:0;
	transform:scale(0.78);
	transition:opacity 0.28s ease, transform 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}

.vk-check__switch::after,
.pm-check__switch::after{
	content:"";
	position:absolute;
	top:2px;
	left:2px;
	z-index:1;
	width:16px;
	height:16px;
	border-radius:50%;
	background:#fff;
	box-shadow:0 2px 8px rgba(47,74,96,0.18);
	transition:transform 0.36s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.24s ease;
}

.vk-check__text,
.pm-check__text{
	color:#506173;
	font-size:14px;
	font-weight:bold;
	line-height:1.25;
	transition:color 0.2s ease;
}

.vk-check--toggle input:focus + .vk-check__switch,
.pm-check.pm-check--toggle input:focus + .pm-check__switch{
	box-shadow:0 0 0 3px rgba(84,209,185,0.18), inset 0 1px 3px rgba(47,74,96,0.08);
}

.vk-check--toggle input:checked + .vk-check__switch,
.pm-check.pm-check--toggle input:checked + .pm-check__switch{
	border-color:#62cdb8;
	background:linear-gradient(135deg, #4fd0ba 0%, #72bff6 100%);
	box-shadow:inset 0 1px 3px rgba(47,74,96,0.05), 0 10px 22px rgba(84,209,185,0.2);
	animation:vk-check-switch-on 0.34s cubic-bezier(0.22, 1, 0.36, 1);
}

.vk-check--toggle input:checked + .vk-check__switch::before,
.pm-check.pm-check--toggle input:checked + .pm-check__switch::before{
	opacity:1;
	transform:scale(1);
}

.vk-check--toggle input:checked + .vk-check__switch::after,
.pm-check.pm-check--toggle input:checked + .pm-check__switch::after{
	transform:translateX(16px);
	box-shadow:0 4px 12px rgba(47,74,96,0.22);
	animation:vk-check-thumb-on 0.34s cubic-bezier(0.22, 1, 0.36, 1);
}

.vk-check--toggle input:checked ~ .vk-check__text,
.pm-check.pm-check--toggle input:checked ~ .pm-check__text{
	color:var(--vk-ui-blue);
}

@keyframes vk-check-switch-on{
	0%{ transform:scale(1); }
	55%{ transform:scale(1.06); }
	100%{ transform:scale(1); }
}

@keyframes vk-check-thumb-on{
	0%{ transform:translateX(0) scale(1); }
	65%{ transform:translateX(18px) scale(1.08); }
	100%{ transform:translateX(16px) scale(1); }
}

.vk-select,
.pm-select{
	--vk-select-height:46px;
	--pm-select-height:var(--vk-select-height);
	position:relative;
	width:100%;
}

.vk-select__native,
.pm-select__native{
	position:absolute !important;
	inset:0;
	width:100% !important;
	height:100% !important;
	margin:0;
	opacity:0;
	pointer-events:none;
	appearance:none;
}

.vk-select__trigger,
.pm-select__trigger{
	width:100%;
	min-height:var(--vk-select-height);
	height:var(--vk-select-height);
	display:inline-flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	box-sizing:border-box;
	border:1px solid var(--vk-ui-border);
	border-radius:var(--vk-ui-radius);
	padding:8px 14px;
	color:var(--vk-ui-blue);
	background:linear-gradient(180deg, #fff 0%, var(--vk-ui-bg-soft) 100%);
	box-shadow:inset 0 1px 0 rgba(255,255,255,0.92), 0 6px 14px rgba(35,78,108,0.06);
	font-family:"Segoe UI", Arial, sans-serif;
	text-align:left;
	cursor:pointer;
	transition:border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, transform 0.18s ease;
}

.vk-select__trigger:hover,
.pm-select__trigger:hover{
	border-color:#c6d9e5;
	background:linear-gradient(180deg, #fff 0%, #f3f9fd 100%);
}

.vk-select__trigger:focus,
.pm-select__trigger:focus{
	outline:none;
}

.vk-select__trigger:focus-visible,
.vk-select.is-open .vk-select__trigger,
.pm-select__trigger:focus-visible,
.pm-select.is-open .pm-select__trigger{
	border-color:var(--vk-ui-accent);
	box-shadow:var(--vk-ui-focus), 0 8px 18px rgba(35,78,108,0.08);
}

.vk-select__value,
.pm-select__value{
	flex:1 1 auto;
	min-width:0;
	overflow:hidden;
	color:var(--vk-ui-blue);
	font-size:15px;
	font-weight:600;
	line-height:1.2;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.vk-select__arrow,
.pm-select__arrow{
	flex:0 0 auto;
	width:18px;
	height:18px;
	color:#5f7b91;
	transition:transform 0.22s ease, color 0.22s ease;
}

.vk-select__arrow svg,
.pm-select__arrow svg{
	display:block;
	width:100%;
	height:100%;
	stroke:currentColor;
	fill:none;
	stroke-width:2;
	stroke-linecap:round;
	stroke-linejoin:round;
}

.vk-select.is-open,
.pm-select.is-open{
	z-index:32;
}

.vk-select.is-open .vk-select__arrow,
.pm-select.is-open .pm-select__arrow{
	color:var(--vk-ui-accent-strong);
	transform:rotate(180deg);
}

.vk-select__menu,
.pm-select__menu{
	position:absolute;
	top:calc(100% + 8px);
	left:0;
	right:0;
	display:none;
	padding:8px;
	overflow:hidden;
	border:1px solid var(--vk-ui-border-soft);
	border-radius:18px;
	background:linear-gradient(180deg, #fff 0%, #fbfdff 100%);
	box-shadow:0 18px 34px rgba(35,78,108,0.14);
}

.vk-select.is-open .vk-select__menu,
.pm-select.is-open .pm-select__menu{
	display:block;
}

.vk-select__menu-scroll,
.pm-select__menu-scroll{
	display:flex;
	flex-direction:column;
	gap:4px;
	max-height:244px;
	overflow-x:hidden;
	overflow-y:auto;
	scrollbar-width:thin;
	scrollbar-color:#d7e0eb transparent;
}

.vk-select__option,
.pm-select__option{
	width:100%;
	min-height:38px;
	padding:9px 12px;
	border:0;
	border-radius:12px;
	background:transparent;
	color:#486378;
	font-family:"Segoe UI", Arial, sans-serif;
	font-size:14px;
	font-weight:600;
	line-height:1.25;
	text-align:left;
	cursor:pointer;
	transition:background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.vk-select__option:hover,
.vk-select__option:focus,
.pm-select__option:hover,
.pm-select__option:focus{
	outline:none;
	background:#eef8f5;
	color:#2d4f63;
}

.vk-select__option.is-selected,
.pm-select__option.is-selected{
	background:linear-gradient(135deg, #48ceb7 0%, #68c0f4 100%);
	color:#fff;
	box-shadow:0 10px 18px rgba(72,206,183,0.22);
}

.vk-select__option.is-disabled,
.pm-select__option.is-disabled{
	cursor:not-allowed;
	opacity:0.45;
}

.vk-select.is-disabled .vk-select__trigger,
.pm-select.is-disabled .pm-select__trigger{
	cursor:default;
	opacity:0.72;
	background:#f4f8fb;
	box-shadow:none;
}

.vk-segmented{
	display:inline-flex;
	align-items:center;
	gap:4px;
	padding:4px;
	border:1px solid var(--vk-ui-border-soft);
	border-radius:999px;
	background:#f4f8fb;
}

.vk-segmented__item{
	min-height:34px;
	padding:0 14px;
	border:0;
	border-radius:999px;
	background:transparent;
	color:#59708a;
	font-size:13px;
	font-weight:700;
	cursor:pointer;
	transition:background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.vk-segmented__item.is-active{
	background:#fff;
	color:var(--vk-ui-blue);
	box-shadow:var(--vk-ui-shadow);
}

.vk-qty-control{
	display:inline-grid;
	grid-template-columns:34px minmax(52px, 1fr) 34px;
	align-items:center;
	border:1px solid var(--vk-ui-border);
	border-radius:999px;
	background:#fff;
	overflow:hidden;
}

.vk-qty-control button,
.vk-qty-control input{
	min-height:34px;
	border:0;
	background:transparent;
	color:var(--vk-ui-blue);
	text-align:center;
}

.vk-qty-control button{
	cursor:pointer;
	font-weight:700;
}

.vk-qty-control input{
	width:100%;
	padding:0 4px;
}

@media (prefers-reduced-motion: reduce){
	.vk-button,
	.vk-input,
	.vk-select__trigger,
	.vk-select__option,
	.vk-check__switch,
	.vk-check__switch::before,
	.vk-check__switch::after,
	.pm-select__trigger,
	.pm-select__option,
	.pm-check__switch,
	.pm-check__switch::before,
	.pm-check__switch::after{
		transition:none;
		animation:none;
	}
}
