/**
 * admin_stock — дополнения к admin_products.
 * Базовая таблица/тулбар — из admin_products/style.css (классы admin_products_*).
 */

/* Мета / статус */
.admin_stock_meta {
	margin: 0 0 12px;
	font-size: 13px;
	color: var(--ap-muted);
}
.admin_stock_status {
	margin-left: auto;
	font-size: 13px;
	color: var(--ap-muted);
}
.admin_stock_status[data-kind="ok"] {
	color: var(--ap-success);
}
.admin_stock_status[data-kind="error"] {
	color: var(--ap-danger);
}

/* Фильтры в тулбаре — те же высоты, что у admin_products_search */
.admin_stock_filter_select {
	height: var(--ap-control-h);
	min-width: 140px;
	padding: 0 12px;
	border: 1px solid var(--ap-border);
	border-radius: var(--ap-radius-sm);
	background: var(--ap-surface);
	color: var(--ap-text);
	font-size: 14px;
}
.admin_stock_filter_check {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: var(--ap-control-h);
	padding: 0 12px;
	border: 1px solid var(--ap-border);
	border-radius: var(--ap-radius-sm);
	background: var(--ap-surface);
	font-size: 13px;
	color: var(--ap-muted);
	cursor: pointer;
	user-select: none;
	transition: background 0.15s, border-color 0.15s;
}
.admin_stock_filter_check:hover {
	background: var(--ap-bg);
	border-color: var(--ap-border-strong);
}
.admin_stock_filter_check input {
	margin: 0;
	accent-color: var(--ap-primary);
}

/* Таблица остатков — фиксированная сетка, как в «Товарах» */
.admin_stock_table {
	table-layout: fixed;
	width: 100%;
}
.admin_stock_table .ap_col_shelf { width: 148px; }
.admin_stock_table th:nth-child(2),
.admin_stock_table td.ap_seria {
	width: 132px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.admin_stock_table th:nth-child(3),
.admin_stock_table td.ap_name {
	width: 32%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.admin_stock_table .ap_col_num { width: 80px; }
.admin_stock_table .ap_col_flag { width: 56px; }
.admin_stock_table th:last-child,
.admin_stock_table td.ap_actions { width: 48px; }

.admin_stock_table td.ap_num,
.admin_stock_table th.ap_col_num {
	text-align: center;
}
.admin_stock_table td.ap_flag,
.admin_stock_table th.ap_col_flag {
	text-align: center;
}
.admin_stock_table td.ap_shelf {
	vertical-align: middle;
}
.admin_stock_table td.ap_site_stock {
	white-space: nowrap;
}

.admin_stock_empty,
.admin_stock_loading {
	text-align: center;
	padding: 24px 16px;
	color: var(--ap-muted);
}

/* Inline-поля в ячейках */
.admin_stock .as_inp {
	display: block;
	width: 64px;
	max-width: 100%;
	margin: 0 auto;
	height: 32px;
	padding: 0 4px;
	border: 1px solid var(--ap-border);
	border-radius: var(--ap-radius-sm);
	background: var(--ap-surface);
	font-size: 13px;
	text-align: center;
	color: var(--ap-text);
	box-sizing: border-box;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.admin_stock .ap_shelf .as_inp_shelf {
	width: 100%;
	max-width: none;
	margin: 0;
	text-align: left;
	resize: none;
	min-height: 2.4em;
	height: auto;
	line-height: 1.25;
	font-size: 11px;
	padding: 0;
	border: none;
	background: transparent;
	box-shadow: none;
	overflow: hidden;
	word-break: break-word;
	overflow-wrap: anywhere;
}
.admin_stock .ap_shelf .as_inp_shelf:hover,
.admin_stock .ap_shelf .as_inp_shelf:focus {
	border: none;
	box-shadow: none;
	background: transparent;
}
.admin_stock_shelf_cell {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 100%;
}
.admin_stock_shelf_box {
	display: flex;
	flex-direction: column;
	gap: 2px;
	width: 100%;
	min-height: var(--ap-control-h);
	padding: 5px 7px;
	border: 1px solid var(--ap-border);
	border-radius: var(--ap-radius-sm);
	background: var(--ap-surface);
	box-sizing: border-box;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.admin_stock_shelf_box:focus-within {
	border-color: var(--ap-primary);
	box-shadow: var(--ap-ring);
}
.admin_stock_shelf2 {
	display: block;
	margin: 0;
	padding: 0 2px;
	font-size: 10px;
	color: var(--ap-muted);
	line-height: 1.25;
	word-break: break-word;
	overflow-wrap: anywhere;
}
.admin_stock .as_inp:hover {
	border-color: var(--ap-border-strong);
}
.admin_stock .as_inp:focus {
	outline: none;
	border-color: var(--ap-primary);
	box-shadow: var(--ap-ring);
}
.admin_stock .as_inp[type='number'] {
	-moz-appearance: textfield;
	appearance: textfield;
}
.admin_stock .as_inp[type='number']::-webkit-outer-spin-button,
.admin_stock .as_inp[type='number']::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.admin_stock_row.as_row_saving {
	opacity: 0.65;
}

.admin_stock_hz {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	color: var(--ap-muted);
	cursor: pointer;
	white-space: nowrap;
}
.admin_stock_hz input {
	margin: 0;
	accent-color: var(--ap-primary);
}

/* Журнал — та же схема arcticmodal, что у admin_products (форма товара) */
.admin_products_modal.as_journal_modal {
	max-width: min(760px, calc(100vw - 32px));
	padding: 20px 24px;
	box-sizing: border-box;
}
.admin_stock_journal_head {
	margin-bottom: 12px;
}
.admin_stock_journal_head h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
}
.admin_stock_journal_sub {
	font-size: 13px;
	color: var(--ap-muted);
}

.admin_stock_move_form {
	margin-bottom: 16px;
	padding: 14px;
	background: var(--ap-bg);
	border: 1px solid var(--ap-border);
	border-radius: var(--ap-radius-sm);
}
.admin_stock_move_grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 12px;
}
.admin_stock_move_grid label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 12px;
	color: var(--ap-muted);
}
.admin_stock_move_grid label span {
	font-weight: 500;
}
.admin_stock_move_grid input,
.admin_stock_move_grid select {
	height: var(--ap-control-h);
	padding: 0 10px;
	border: 1px solid var(--ap-border);
	border-radius: var(--ap-radius-sm);
	background: var(--ap-surface);
	font-size: 14px;
	color: var(--ap-text);
}
.admin_stock_move_note {
	grid-column: 1 / -1;
}
.admin_stock_move_submit {
	display: flex;
	align-items: flex-end;
}

.admin_stock_move_history h4 {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 600;
}
.admin_stock_move_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}
.admin_stock_move_table th,
.admin_stock_move_table td {
	padding: 8px 10px;
	border-bottom: 1px solid var(--ap-border);
	text-align: left;
}
.admin_stock_move_table th {
	font-weight: 600;
	color: var(--ap-muted);
	font-size: 12px;
}
.admin_stock_move_table .ap_actions {
	width: 44px;
	text-align: center;
}

@media (max-width: 768px) {
	.admin_stock .admin_products_toolbar {
		flex-direction: column;
		align-items: stretch;
	}
	.admin_stock_status {
		margin-left: 0;
	}
	.admin_stock_table td.ap_name {
		white-space: normal;
	}
}
