.site-health-page{width:100%;min-width:0;color:var(--ink,#101828)}
.site-health-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.site-health-heading h1{margin:0;font-size:22px;line-height:1.25}
.site-health-heading p{margin:5px 0 0;color:var(--muted,#667085);font-size:12px;line-height:1.5}
.site-health-heading .btn{flex:0 0 auto;border-radius:7px}
.site-health-heading .btn:disabled{cursor:not-allowed;opacity:.55}
.site-health-summary-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border:1px solid var(--line,#e4e7ec);border-radius:8px;background:#fff}
.site-health-totals{display:flex;flex-wrap:wrap;gap:18px}
.site-health-total{display:inline-flex;align-items:baseline;gap:6px;color:#667085;font-size:11px}
.site-health-total b{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:#101828}
.site-health-total.healthy b{color:#067647}
.site-health-total.attention b{color:#b54708}
.site-health-total.abnormal b{color:#b42318}
.site-health-total.unchecked b{color:#475467}
.site-health-meta{color:#667085;font-size:11px;line-height:1.6}
.site-health-stale{margin-left:8px;color:#b42318;font-weight:650}
.site-health-alert{margin-top:12px;padding:10px 14px;border:1px solid #fec84b;border-radius:8px;background:#fffcf5;color:#93370d;font-size:12px;line-height:1.6}
.site-health-filters{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;margin:16px 0 12px}
.site-health-filter{display:inline-flex;flex:0 0 auto;align-items:center;min-height:30px;padding:5px 11px;border:1px solid #d0d5dd;border-radius:999px;background:#fff;color:#475467;font-size:11px;text-decoration:none}
.site-health-filter.is-active{border-color:#2563eb;background:#eff4ff;color:#1d4ed8;font-weight:650}
.site-health-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}
.site-health-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line,#e4e7ec);border-radius:8px;background:#fff;border-top:3px solid #d0d5dd}
.site-health-card[data-health-status="healthy"]{border-top-color:#12b76a}
.site-health-card[data-health-status="attention"]{border-top-color:#f79009}
.site-health-card[data-health-status="abnormal"]{border-top-color:#f04438}
.site-health-card[data-health-status="unknown"]{border-top-color:#98a2b3}
.site-health-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:13px 14px 0}
.site-health-card-head h3{margin:0;font-size:14px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}
.site-health-card-head p{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 0;color:#667085;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.site-health-summary{margin:9px 14px 0;color:#475467;font-size:11.5px;line-height:1.5}
.site-health-checks{display:grid;gap:1px;margin:11px 0 0;padding:0;list-style:none;border-top:1px solid #eef0f3;background:#eef0f3}
.site-health-check{display:grid;grid-template-columns:9px 92px auto minmax(0,1fr);align-items:center;gap:7px;padding:8px 14px;background:#fff;font-size:11px;line-height:1.5}
.site-health-check b{font-weight:650;color:#344054}
.site-health-dot{width:8px;height:8px;border-radius:50%;background:#98a2b3}
.site-health-check.ok .site-health-dot{background:#12b76a}
.site-health-check.warn .site-health-dot{background:#f79009}
.site-health-check.fail .site-health-dot{background:#f04438}
.site-health-check.skip .site-health-dot{background:#d0d5dd}
.site-health-check-state{color:#667085;font-size:10px;white-space:nowrap}
.site-health-check.fail .site-health-check-state{color:#b42318;font-weight:650}
.site-health-check.warn .site-health-check-state{color:#b54708;font-weight:650}
.site-health-detail{color:#667085;overflow-wrap:anywhere}
.site-health-detail.is-problem{color:#b42318}
.site-health-card-foot{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding:11px 14px;border-top:1px solid #eef0f3}
.site-health-card-foot .btn{min-height:31px;padding:6px 11px;border-radius:6px;font-size:11px}
.site-health-card-foot .btn.ghost{border-color:transparent;background:transparent;color:#475467;text-decoration:underline}
.site-health-card-foot .btn:disabled{cursor:not-allowed;opacity:.55}
@media(max-width:900px){.site-health-grid{grid-template-columns:1fr}}
@media(max-width:650px){
  .site-health-heading{align-items:flex-start;gap:10px}
  .site-health-heading h1{font-size:20px}
  .site-health-heading .btn{min-height:35px;padding:8px 10px;font-size:11px}
  .site-health-summary-bar{padding:11px 12px}
  .site-health-totals{gap:12px}
  .site-health-check{grid-template-columns:9px 78px auto minmax(0,1fr);padding:8px 12px}
}
.site-health-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;padding:11px 14px;border:1px solid #fecdca;border-radius:8px;background:#fef3f2;color:#b42318;font-size:12px;line-height:1.5;text-decoration:none}
.site-health-banner b{font-weight:700}
.site-health-banner span{color:#b42318;opacity:.82}
.site-health-banner.is-warn{border-color:#fedf89;background:#fffcf5;color:#93370d}
.site-health-banner.is-warn span{color:#93370d}
.site-health-banner:hover{filter:brightness(.98)}
.site-health-heading-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px}
.site-health-report{margin:14px 0 18px;padding:16px 18px;border:1px solid var(--line,#e4e7ec);border-radius:8px;background:#fff}
.site-health-report-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.site-health-report-head h2{margin:0;font-size:15px;font-weight:700}
.site-health-report-head p{margin:4px 0 0;color:#667085;font-size:11px}
.site-health-report-head .btn{min-height:31px;padding:6px 11px;border-radius:6px;font-size:11px}
.site-health-report-empty{color:#667085;font-size:12px;line-height:1.7;padding:6px 0}
.site-health-report-body{color:#344054;font-size:12.5px;line-height:1.75;overflow-wrap:anywhere}
.site-health-report-body h2,.site-health-report-body h3,.site-health-report-body h4{margin:14px 0 6px;font-size:13px;font-weight:700;color:#101828}
.site-health-report-body h2:first-child,.site-health-report-body h3:first-child{margin-top:2px}
.site-health-report-body p{margin:6px 0}
.site-health-report-body ul{margin:6px 0;padding-left:18px}
.site-health-report-body li{margin:3px 0}
.site-health-report-body strong{color:#101828}
.site-health-report-body code{font:600 11px ui-monospace,SFMono-Regular,monospace;background:#f2f4f7;color:#475467;padding:2px 5px;border-radius:5px}
.site-health-md-table{width:100%;margin:10px 0;border-collapse:collapse;font-size:11.5px}
.site-health-md-table th,.site-health-md-table td{padding:8px 10px;border:1px solid #eef0f3;text-align:left;vertical-align:top}
.site-health-md-table th{background:#f8fafc;color:#667085;font-weight:650}
@media(max-width:650px){.site-health-heading-actions{width:100%}.site-health-report{padding:13px 12px}}
.site-health-card-report{margin:0 14px 14px;padding:11px 13px;border:1px solid #e4e7ec;border-radius:8px;background:#fcfcfd;font-size:12px}
.site-health-card-report.is-running{color:#667085;padding:12px 14px}
.site-health-card-report summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;color:#101828;font-weight:650;font-size:12px}
.site-health-card-report summary span{color:#667085;font-weight:400;font-size:11px}
.site-health-card-report[open] summary{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #eef0f3}
.site-health-card-report .site-health-report-body{font-size:12px}
.site-health-card-report .site-health-report-body h2,.site-health-card-report .site-health-report-body h3{font-size:12.5px;margin:10px 0 5px}
@media(max-width:650px){.site-health-card-report{margin:0 12px 12px}}
/* 报告弹窗：报告统一点击后在弹层中查看 */
.site-health-report.is-collapsed{padding:12px 16px}
.site-health-report.is-collapsed .site-health-report-head{margin-bottom:0}
.site-health-report-actions{display:flex;flex-wrap:wrap;gap:8px}
.site-health-report-actions .btn{min-height:31px;padding:6px 11px;border-radius:6px;font-size:11px}
.site-health-card-report.is-collapsed{padding:10px 13px}
.site-health-card-report-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;color:#101828;font-weight:650;font-size:12px}
.site-health-card-report-row span{color:#667085;font-weight:400;font-size:11px}
.site-health-card-report-row .btn{min-height:29px;padding:5px 10px;border-radius:6px;font-size:11px}
.sh-report-modal{position:fixed;inset:0;z-index:1200;display:none}
.sh-report-modal.is-open{display:block}
.sh-report-modal-backdrop{position:absolute;inset:0;background:rgba(16,24,40,.5)}
.sh-report-modal-dialog{position:relative;display:flex;flex-direction:column;width:min(860px,calc(100% - 32px));max-height:86vh;margin:7vh auto 0;background:#fff;border-radius:12px;box-shadow:0 24px 60px rgba(16,24,40,.28);overflow:hidden}
.sh-report-modal-head{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #eef0f3}
.sh-report-modal-head h2{margin:0;font-size:15px;font-weight:700;overflow-wrap:anywhere}
.sh-report-modal-head p{margin:4px 0 0;color:#667085;font-size:11px}
.sh-report-modal-head .btn{min-height:31px;padding:6px 11px;border-radius:6px;font-size:11px;flex:0 0 auto}
.sh-report-modal-body{overflow:auto;padding:14px 20px 22px}
@media(max-width:650px){.sh-report-modal-dialog{width:calc(100% - 20px);margin:4vh auto 0;max-height:90vh}.sh-report-modal-body{padding:12px 14px 18px}}
