.iu-cabinet {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 2rem;
	max-width: 1100px;
	margin: 0 auto;
	padding: 2rem 1rem;
}

.iu-cabinet__sidebar {
	background: var(--iu-card-bg, #1a1a2e);
	border-radius: 16px;
	padding: 1.5rem;
	border: 1px solid var(--iu-border, rgba(255,255,255,.08));
	height: fit-content;
}

.iu-cabinet__user {
	margin-bottom: 1.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--iu-border, rgba(255,255,255,.08));
}

.iu-cabinet__user strong { display: block; margin-bottom: .25rem; }
.iu-cabinet__user span { font-size: .8125rem; color: var(--iu-text-muted, #a0a0b0); }

.iu-cabinet__nav { display: flex; flex-direction: column; gap: .25rem; }

.iu-cabinet__nav a {
	padding: .625rem 1rem;
	border-radius: 8px;
	color: var(--iu-text-muted, #a0a0b0);
	text-decoration: none;
	transition: background .2s, color .2s;
}

.iu-cabinet__nav a:hover,
.iu-cabinet__nav a.is-active {
	background: rgba(233,69,96,.15);
	color: var(--iu-accent, #e94560);
}

.iu-cabinet__logout {
	display: block;
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--iu-border, rgba(255,255,255,.08));
	font-size: .875rem;
	color: var(--iu-text-muted, #a0a0b0);
}

.iu-cabinet__content h2 { margin: 0 0 1rem; }

.iu-cabinet__hint {
	color: var(--iu-text-muted, #a0a0b0);
	font-size: .875rem;
	margin-bottom: 1.5rem;
}

.iu-form--cabinet .iu-form__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.iu-form--cabinet select {
	display: block;
	width: 100%;
	margin-top: .375rem;
	padding: .75rem 1rem;
	background: var(--iu-input-bg, #0f0f1a);
	border: 1px solid var(--iu-border, rgba(255,255,255,.12));
	border-radius: 8px;
	color: var(--iu-text, #fff);
}

.iu-cabinet__link { margin-top: 1rem; }
.iu-cabinet__link a { color: var(--iu-accent, #e94560); }

.iu-photos__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.iu-photos__item {
	position: relative;
	aspect-ratio: 3/4;
	border-radius: 12px;
	overflow: hidden;
	background: var(--iu-input-bg, #0f0f1a);
}

.iu-photos__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.iu-photos__remove {
	position: absolute;
	top: .5rem;
	right: .5rem;
	width: 28px;
	height: 28px;
	border: none;
	border-radius: 50%;
	background: rgba(0,0,0,.7);
	color: #fff;
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
}

.iu-photos__upload input[type="file"] { display: none; }

.iu-services__list { margin-bottom: 1rem; }

.iu-services__row {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr auto;
	gap: .75rem;
	margin-bottom: .75rem;
	align-items: center;
}

.iu-services__row input {
	padding: .625rem .875rem;
	background: var(--iu-input-bg, #0f0f1a);
	border: 1px solid var(--iu-border, rgba(255,255,255,.12));
	border-radius: 8px;
	color: var(--iu-text, #fff);
}

.iu-services__remove {
	width: 32px;
	height: 32px;
	border: none;
	border-radius: 8px;
	background: rgba(233,69,96,.2);
	color: var(--iu-accent, #e94560);
	font-size: 1.25rem;
	cursor: pointer;
}

#iu-add-service { margin-right: .75rem; margin-bottom: 1rem; }

#iu-prices-msg { margin-top: 1rem; font-size: .875rem; }

.iu-prices-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1rem;
}

.iu-prices-table--cabinet {
	background: var(--iu-card-bg, #1a1a2e);
	border-radius: 12px;
	overflow: hidden;
}

.iu-prices-table th,
.iu-prices-table td {
	padding: .625rem .75rem;
	border: 1px solid var(--iu-border, rgba(255,255,255,.12));
	text-align: center;
}

.iu-prices-table td:first-child,
.iu-prices-table th:first-child { text-align: left; }

.iu-prices-table input {
	width: 100%;
	max-width: 100px;
	padding: .5rem;
	background: var(--iu-input-bg, #0f0f1a);
	border: 1px solid var(--iu-border, rgba(255,255,255,.12));
	border-radius: 6px;
	color: var(--iu-text, #fff);
}

.iu-prices #iu-save-prices {
	margin-top: .25rem;
}

.iu-service-group { margin-bottom: 1.5rem; }
.iu-service-group h3 { margin: 0 0 .75rem; font-size: 1rem; color: var(--iu-accent, #e94560); }

.iu-service-group__items {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: .5rem;
}

.iu-service-item {
	display: grid;
	grid-template-columns: auto 1fr 80px;
	gap: .5rem;
	align-items: center;
	padding: .5rem .75rem;
	background: var(--iu-input-bg, #0f0f1a);
	border-radius: 8px;
	font-size: .875rem;
	cursor: pointer;
}

.iu-service-item__extra {
	padding: .375rem .5rem !important;
	font-size: .8125rem;
}

@media (max-width: 768px) {
	.iu-cabinet {
		grid-template-columns: 1fr;
		gap: 1rem;
		padding: 1rem .75rem;
	}

	.iu-cabinet__content {
		min-width: 0;
	}

	.iu-form--cabinet .iu-form__grid { grid-template-columns: 1fr; }
	.iu-services__row { grid-template-columns: 1fr; }

	.iu-service-group__items {
		grid-template-columns: 1fr;
	}

	.iu-prices-table--cabinet {
		background: transparent;
		border-radius: 0;
		overflow: visible;
	}

	.iu-prices-table--cabinet thead {
		display: none;
	}

	.iu-prices-table--cabinet tbody tr {
		display: block;
		margin-bottom: 1rem;
		padding: 1rem;
		background: var(--iu-card-bg, #1a1a2e);
		border: 1px solid var(--iu-border, rgba(255,255,255,.12));
		border-radius: 12px;
	}

	.iu-prices-table--cabinet tbody td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: .75rem;
		padding: .625rem 0;
		border: none;
		border-bottom: 1px solid var(--iu-border, rgba(255,255,255,.08));
		text-align: right;
	}

	.iu-prices-table--cabinet tbody td:last-child {
		border-bottom: none;
		padding-bottom: 0;
	}

	.iu-prices-table--cabinet tbody td:first-child {
		display: block;
		padding: 0 0 .75rem;
		margin-bottom: .25rem;
		border-bottom: 1px solid var(--iu-border, rgba(255,255,255,.12));
		font-weight: 600;
		font-size: 1rem;
		text-align: left;
	}

	.iu-prices-table--cabinet tbody td:not(:first-child)::before {
		content: attr(data-label);
		flex: 1;
		text-align: left;
		font-size: .875rem;
		color: var(--iu-text-muted, #a0a0b0);
	}

	.iu-prices-table--cabinet input {
		flex: 0 0 110px;
		max-width: none;
		width: 110px;
		text-align: right;
	}

	.iu-prices #iu-save-prices {
		display: block;
		width: 100%;
	}
}
