/* AFib Health Monitor ダッシュボード */
.afib-dash {
	max-width: 960px;
	margin: 0 auto;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Noto Sans JP", sans-serif;
	color: #1c2430;
}
.afib-locked {
	padding: 24px;
	background: #f4f6f8;
	border-radius: 12px;
	text-align: center;
	color: #556;
}

/* 総合サインカード */
.afib-sign-card {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 22px 26px;
	border-radius: 16px;
	background: #f7f9fb;
	border: 1px solid #e6ebf0;
	margin-bottom: 12px;
}
.afib-sign-light {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	flex: 0 0 auto;
	background: #b8c2cc;
	box-shadow: 0 0 0 6px rgba(184, 194, 204, 0.18);
	transition: background .3s, box-shadow .3s;
}
.afib-sign-light[data-sign="blue"]   { background: #2e8bff; box-shadow: 0 0 0 6px rgba(46,139,255,.18); }
.afib-sign-light[data-sign="yellow"] { background: #f5b100; box-shadow: 0 0 0 6px rgba(245,177,0,.18); }
.afib-sign-light[data-sign="red"]    { background: #e23b3b; box-shadow: 0 0 0 6px rgba(226,59,59,.18); }
.afib-sign-light[data-sign="gray"]   { background: #b8c2cc; box-shadow: 0 0 0 6px rgba(184,194,204,.18); }

.afib-sign-label { font-size: 22px; font-weight: 700; }
.afib-sign-sub   { font-size: 14px; color: #667; margin-top: 4px; }

.afib-disclaimer {
	font-size: 12px;
	color: #a05a00;
	background: #fff7e6;
	border: 1px solid #ffe4b3;
	border-radius: 8px;
	padding: 8px 12px;
	margin-bottom: 18px;
}

/* 内訳 */
.afib-breakdown {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 10px;
	margin-bottom: 22px;
}
.afib-metric-card {
	border: 1px solid #e6ebf0;
	border-radius: 12px;
	padding: 12px 14px;
	background: #fff;
}
.afib-metric-card .m-label { font-size: 13px; color: #667; }
.afib-metric-card .m-value { font-size: 22px; font-weight: 700; margin-top: 2px; }
.afib-metric-card .m-value .m-unit { font-size: 12px; font-weight: 500; color: #889; margin-left: 3px; }
.afib-metric-card .m-z { font-size: 12px; margin-top: 4px; }
.afib-metric-card .m-z.warn { color: #e23b3b; font-weight: 600; }
.afib-metric-card .m-z.ok   { color: #2e9e5b; }
.afib-metric-card .m-z.neutral { color: #99a; }

/* チャート */
.afib-charts {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 18px;
}
.afib-chart-box {
	border: 1px solid #e6ebf0;
	border-radius: 12px;
	padding: 12px 14px 6px;
	background: #fff;
}
.afib-chart-box h4 {
	margin: 0 0 6px;
	font-size: 14px;
	color: #334;
	font-weight: 600;
}
.afib-chart-box canvas { width: 100% !important; }

.afib-updated { font-size: 12px; color: #99a; text-align: right; margin-top: 14px; }

@media (prefers-color-scheme: dark) {
	.afib-dash { color: #e6ebf0; }
	.afib-sign-card { background: #1a2330; border-color: #2a3646; }
	.afib-sign-sub { color: #9aa7b4; }
	.afib-metric-card, .afib-chart-box { background: #141d28; border-color: #2a3646; }
	.afib-chart-box h4 { color: #c6d2de; }
	.afib-disclaimer { background: #33270f; border-color: #5c471a; color: #f0c060; }
	.afib-locked { background: #1a2330; color: #9aa7b4; }
}
