/**
 * 生活域仪表盘样式（2026-09-26）
 * 四区 CSS Grid 仪表盘：内容(8×2)｜工具(4×1)｜资源(4×1)｜服务(12×1)
 * 复用 Tabler 暗色 token（--tblr-*），不自创色值。
 */

/* ===== 仪表盘网格 =====
 * 领域页沿用 Tabler layout-horizontal 的两列节奏：主内容约 1.65fr，
 * 工具/资源约 .9fr，服务独占一行。外层不再使用 12 列自创面板网格，
 * 让 row-cards 的官方 gutter 负责列间距。
 */
.life-dashboard-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(300px, .9fr);
	grid-template-rows: auto auto auto;
	grid-template-areas:
		"content tools"
		"content resrc"
		"svc svc";
	gap: 1.125rem;
	align-items: start;
}

.life-panel-content  { grid-area: content; }
.life-panel-tools    { grid-area: tools; }
.life-panel-resources{ grid-area: resrc; }
.life-panel-services { grid-area: svc; }

/* 平板：主内容独占一行，工具和资源并排；手机单列。 */
@media (max-width: 991.98px) {
	.life-dashboard-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto;
		grid-template-areas:
			"content content"
			"tools   resrc"
			"svc     svc";
	}
}

@media (max-width: 767.98px) {
	.life-dashboard-grid {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"content"
			"tools"
			"resrc"
			"svc";
		gap: 1rem;
	}
}

/* ===== 面板容器 ===== */
.life-panel {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	min-height: 0;
}

/* 高度随真实内容增长，禁止空占位被固定高度拉伸。 */
.life-panel-content,
.life-panel-tools,
.life-panel-resources,
.life-panel-services { min-height: 0; }

/* ===== 面板头部 ===== */
.life-panel-head {
	margin-bottom: 1rem;
	padding: 0 0 .75rem;
	border-bottom: 1px solid var(--tblr-border-color);
}

.life-panel-title {
	color: var(--tblr-body-color);
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.5;
	letter-spacing: -.01em;
}

.life-panel-head .subheader {
	font-size: .75rem;
	letter-spacing: .04em;
}

.life-panel-head .text-secondary.small {
	font-size: .8125rem;
	line-height: 1.5;
}

/* ===== 占位卡 ===== */
.life-placeholder {
	border-style: dashed;
	border-color: var(--tblr-border-color);
	min-height: 0 !important;
	opacity: 0.78;
}

.life-placeholder .empty-title {
	color: var(--tblr-secondary);
}

/* ===== 最近更新区 ===== */
.life-latest {
	margin-top: 1rem;
	padding-top: .75rem;
	border-top: 1px solid var(--tblr-border-color);
}

.life-latest .list-group-item {
	display: flex;
	align-items: baseline;
	gap: .75rem;
	min-width: 0;
	padding: .75rem 0;
	font-size: .875rem;
	line-height: 1.5;
}

.life-latest .list-group-item::before {
	content: '';
	flex: 0 0 .35rem;
	width: .35rem;
	height: .35rem;
	margin-left: .25rem;
	border-radius: 50%;
	background: currentColor;
	opacity: .55;
}

.life-latest .list-group-item .text-secondary {
	flex: 0 0 auto;
	margin-left: auto !important;
	font-size: .75rem;
	line-height: 1.5;
}

/* ===== 面板内卡片微调 ===== */
.life-panel .card {
	background: var(--tblr-bg-surface-secondary);
}

.life-panel .card-body {
	min-width: 0;
}

.life-panel .card-title,
.life-panel .h4,
.life-panel .h5 {
	line-height: 1.5;
}

.life-panel .card-link-pop:hover {
	background: var(--tblr-bg-surface);
}

@media (max-width: 767.98px) {
	.life-panel-head {
		margin-bottom: .875rem;
	}
	.life-latest .list-group-item {
		align-items: flex-start;
		gap: .5rem;
		padding: .75rem 0;
	}
	.life-latest .list-group-item .text-secondary {
		font-size: .6875rem;
	}
}

/* ===== F2（2026-09-27 G7 验收发现）：主题全局重置 outline 后键盘焦点不可见 =====
   局部 :focus-visible 焦点环（灰阶合规：235,235,235 = r=g=b；:focus-visible 鼠标点击不触发） */
.life-panel [data-elvis9-tool="perpetual-calendar"] button[data-cal-query]:focus-visible,
.life-panel [data-elvis9-tool="perpetual-calendar"] input[data-cal-date]:focus-visible {
	outline: 1px solid rgba(235, 235, 235, .85);
	outline-offset: 2px;
	box-shadow: 0 0 0 3px rgba(235, 235, 235, .35);
}
