/* 后台公共样式（WP-06）。不引用任何第三方资源。 */
* { box-sizing: border-box; }
body.adm { margin: 0; font: 14px/1.5 system-ui, sans-serif; color: #1c2430; background: #f3f5f8;
  -webkit-touch-callout: none; }
.screen { max-width: 1100px; margin: 0 auto; padding: 16px; }
.print-block { display: none; }
.card { background: #fff; border: 1px solid #dde2ea; border-radius: 8px; padding: 16px; margin: 0 0 16px; }
.card.narrow { max-width: 380px; margin: 48px auto; }
.topbar { display: flex; gap: 8px; align-items: center; margin-bottom: 16px; }
.topbar .spacer { flex: 1; }
.tag { padding: 2px 8px; border-radius: 10px; background: #e6ebf2; }
h1 { font-size: 20px; margin: 0 0 12px; } h2 { font-size: 16px; margin: 0 0 12px; }
label { display: block; margin: 0 0 12px; }
input, select, button { font: inherit; padding: 6px 10px; border: 1px solid #b9c2d0; border-radius: 6px; }
label input { display: block; width: 100%; margin-top: 4px; }
button { background: #24467a; color: #fff; cursor: pointer; } button.danger { background: #a3262a; }
table { width: 100%; border-collapse: collapse; } th, td { text-align: left; padding: 4px 8px; border-bottom: 1px solid #eef1f5; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; }
.metric { border: 1px solid #e3e7ee; border-left: 4px solid #b9c2d0; border-radius: 6px; padding: 8px; display: flex; flex-direction: column; }
.metric-label { color: #5b6677; } .metric-value { font-size: 18px; }
.health-green { border-left-color: #2f8f4e; } .health-yellow { border-left-color: #c79a12; } .health-red { border-left-color: #c0392b; }
.alert-red { background: #fdecea; border: 1px solid #c0392b; color: #8a1f15; padding: 8px 12px; border-radius: 6px; font-weight: 600; }
.message { padding: 8px 12px; border-radius: 6px; background: #fff7e0; border: 1px solid #c79a12; }
.missing .missing-item { color: #8a1f15; } .missing .ok { color: #2f8f4e; }
.login-failure td { color: #8a1f15; }
/* 图片画布组件（ADM-29）：不可选中、不可拖拽、长按无菜单 */
canvas.preview-canvas { max-width: 100%; user-select: none; -webkit-user-select: none; -webkit-user-drag: none;
  -webkit-touch-callout: none; touch-action: pan-x pan-y; background: #e6ebf2; }
/* 打印时隐藏全部内容（ADM-29） */
@media print {
  .screen, canvas { display: none !important; }
  .print-block { display: block; padding: 48px; font-size: 18px; }
}
