/**
 * 响应式：窄视口（平板竖屏 / 手机）与桌面共用
 * 与 admin-shell.css、Index 内联壳层样式配合使用
 */

/* ========== 子页：列表 / 编辑 / 查看 ========== */
@media (max-width: 991.98px) {
	html.admin-root {
		--admin-page-pad: 6px;
		--admin-main-pad: 8px;
	}

	.admin-list-controls-card {
		padding: 12px 14px;
		margin-bottom: 10px;
	}

	.admin-filter-fields {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.admin-filter-item--search,
	.admin-filter-item--daterange {
		flex: 1 1 auto;
		max-width: 100%;
	}

	.admin-filter-item {
		flex-direction: column;
		align-items: flex-start;
	}

	.admin-filter-actions {
		margin-left: 0;
		width: 100%;
		justify-content: flex-start;
		flex-wrap: wrap;
		padding-left: 0;
		padding-top: 6px;
	}

	.admin-filter-select {
		max-width: 100%;
		width: 100%;
	}

	.admin-list-footer {
		justify-content: center;
	}

	.admin-form-toolbar,
	.admin-open-toolbar {
		padding: 10px 12px;
		gap: 8px;
	}

	.admin-form-card {
		padding: 14px 14px;
	}

	/* 表格区域：卡片感 + 横向滑动，避免贴边过硬 */
	.admin-list-body > .el-main {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		border-radius: 12px;
		border: 1px solid var(--admin-border-subtle);
		background: var(--admin-surface, #fff);
		box-sizing: border-box;
	}

	html.admin-root.admin-theme-light .admin-list-body > .el-main {
		box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
	}

	.admin-list-body .el-table {
		font-size: 12px;
	}

	.admin-list-body .el-table .cell {
		padding-left: 8px;
		padding-right: 8px;
		line-height: 1.45;
		word-break: break-word;
	}

	.admin-list-body .el-table th.el-table__cell {
		font-size: 12px;
	}

	.admin-list-body .el-table .el-button--small {
		padding: 4px 8px;
		font-size: 12px;
	}

	.admin-list-body .row-buttonset {
		gap: 4px;
		justify-content: flex-start;
		flex-wrap: nowrap;
	}

	/* 底部分页：紧凑排版，总计与每页条数尽量同一行，少占纵向空间 */
	.admin-list-footer {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		align-self: stretch !important;
		justify-content: center;
		padding: 10px 14px;
		gap: 4px 6px;
		margin-top: 0;
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box;
		border-radius: 12px;
	}

	.admin-list-footer .admin-list-pagination.el-pagination {
		width: 100%;
		max-width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		align-content: center;
		row-gap: 4px;
		column-gap: 6px;
		padding: 0;
		box-sizing: border-box;
	}

	.admin-list-footer .el-pagination__total,
	.admin-list-footer .el-pagination__sizes,
	.admin-list-footer .el-pagination__jump {
		margin: 0 !important;
	}

	.admin-list-footer .el-pagination__total {
		flex: 0 1 auto;
		width: auto;
		max-width: 100%;
		text-align: center;
		font-size: 11px;
		line-height: 1.25;
		color: var(--el-text-color-secondary, #64748b);
		white-space: nowrap;
	}

	.admin-list-footer .el-pagination__sizes {
		flex: 0 1 auto;
		width: auto;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.admin-list-footer .el-pagination__sizes .el-select {
		width: auto;
		min-width: 88px;
	}

	.admin-list-footer .el-pagination__sizes .el-input__wrapper,
	.admin-list-footer .el-pagination__sizes .el-select .el-input__wrapper {
		min-height: 26px !important;
		padding: 0 6px !important;
	}

	.admin-list-footer .btn-prev,
	.admin-list-footer .btn-next,
	.admin-list-footer .el-pager li {
		min-width: 26px;
		height: 26px;
		line-height: 26px;
		font-size: 11px;
	}

	/* Open 页两列键值在窄屏下改为单列 */
	.admin-open-body .row-style.el-col {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}

	.admin-edit-panel,
	.admin-open-panel {
		padding: 14px 14px 20px;
		max-width: 100%;
	}

	.admin-open-panel .el-descriptions__label,
	.admin-open-body .el-descriptions__label {
		width: 96px;
		min-width: 88px;
	}

	.admin-edit-panel .el-col {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}
}

@media (max-width: 575.98px) {
	.admin-filter-label {
		white-space: normal;
		line-height: 1.35;
	}

	.admin-form-page {
		padding: 6px;
	}

	.admin-list-toolbar .el-button {
		padding: 8px 12px;
	}

	.admin-list-body .el-table {
		font-size: 11px;
	}

	.admin-list-body .el-table .cell {
		padding-left: 6px;
		padding-right: 6px;
	}

	.admin-list-footer {
		padding: 4px 4px 6px;
		margin-top: 4px;
		gap: 2px 4px;
	}

	.admin-list-footer .admin-list-pagination.el-pagination {
		row-gap: 2px;
		column-gap: 4px;
	}

	.admin-list-footer .el-pagination__total {
		font-size: 10px;
		line-height: 1.2;
	}

	.admin-list-footer .btn-prev,
	.admin-list-footer .btn-next,
	.admin-list-footer .el-pager li {
		min-width: 24px;
		height: 24px;
		line-height: 24px;
		font-size: 10px;
	}

	.admin-list-footer .el-pagination__sizes .el-input__wrapper,
	.admin-list-footer .el-pagination__sizes .el-select .el-input__wrapper {
		min-height: 24px !important;
		padding: 0 4px !important;
		font-size: 12px;
	}
}

/* ========== 登录页（与 Login.html 内样式叠加） ========== */
@media (max-width: 599.98px) {
	.login-layout .login-main {
		padding: clamp(1rem, 4vw, 1.5rem);
	}

	.login-card-wrap {
		padding: clamp(1.1rem, 4vw, 1.5rem) !important;
	}
}

/* ========== 主框架 Index：移动端菜单 teleport 到 body，避免层叠上下文导致菜单在遮罩下方 ========== */
.admin-mobile-nav-layer {
	position: fixed;
	inset: 0;
	z-index: 10060;
	pointer-events: none;
}

.admin-mobile-nav-layer .admin-mobile-sidebar-backdrop {
	position: fixed;
	inset: 0;
	z-index: 0;
	background: rgba(15, 23, 42, 0.5);
	backdrop-filter: blur(2px);
	pointer-events: auto;
	-webkit-tap-highlight-color: transparent;
}

.admin-mobile-sidebar-sheet {
	position: fixed;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: 1;
	width: min(288px, 88vw);
	max-width: 88vw;
	height: 100%;
	max-height: 100dvh;
	pointer-events: auto;
	transform: translateX(-100%);
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: none;
	border-radius: 0 14px 14px 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

.admin-mobile-sidebar-sheet--open {
	transform: translateX(0);
	box-shadow: 12px 0 40px rgba(0, 0, 0, 0.22);
}

.admin-sidebar-card--mobile-drawer {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	box-sizing: border-box;
}

.admin-sidebar-card--mobile-drawer .el-menu {
	flex: 1;
	min-height: 0;
}

@media (max-width: 991.98px) {
	.admin-body-row.el-container {
		gap: 8px;
	}

	.admin-body-row > .admin-el-main.el-main {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	/* 顶部横向菜单时吸顶，避免长菜单滚没 */
	.admin-shell-menu-row.admin-root-layout > .admin-top-menu-header--framed.el-header {
		position: sticky;
		top: 0;
		z-index: 2900;
	}

	/* 标签栏与「菜单」按钮同一行 */
	.admin-tabs-shell {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		gap: 6px;
	}

	.admin-mobile-menu-trigger {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		align-self: center;
		flex-shrink: 0;
		width: 42px;
		height: 42px;
		margin: 2px 0;
		padding: 0;
		border: none;
		border-radius: 10px;
		background: var(--admin-accent-soft, rgba(88, 143, 234, 0.18));
		color: var(--admin-accent, #588fea);
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	.admin-mobile-menu-trigger:hover {
		filter: brightness(1.05);
	}

	.admin-mobile-menu-trigger .iconfont {
		font-size: 22px;
		line-height: 1;
	}

	.admin-tabs-shell .admin-main-tabs {
		flex: 1;
		min-width: 0;
	}
}

/* 桌面端不展示侧栏触发器（由 v-show 控制，此处双保险） */
@media (min-width: 992px) {
	.admin-mobile-menu-trigger {
		display: none !important;
	}
}
