/* Admin Hub 公共样式 */
* { box-sizing: border-box; }
body { font-family: system-ui, -apple-system, sans-serif; margin: 0; padding: 12px; background: #1a1a2e; color: #eaeaea; }
h1 { font-size: 1.25rem; margin: 0 0 12px 0; color: #8b9dc3; }
.tabs { display: flex; gap: 4px; margin-bottom: 16px; flex-wrap: wrap; }
.tabs button { padding: 8px 14px; border: 1px solid #3d5a80; background: #16213e; color: #eaeaea; border-radius: 6px; cursor: pointer; }
.tabs button:hover { background: #1f3460; }
.tabs button.active { background: #3d5a80; }
.panel { display: none; }
.panel.active { display: block; }
table { width: 100%; border-collapse: collapse; margin-top: 12px; font-size: 13px; }
th, td { padding: 8px 10px; text-align: left; border-bottom: 1px solid #2d3e5f; }
th { background: #16213e; color: #8b9dc3; }
tr:hover { background: #16213e; }
.form-row { margin-bottom: 10px; display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.form-row label { min-width: 80px; }
.form-row input, .form-row select { padding: 6px 10px; border: 1px solid #3d5a80; border-radius: 4px; background: #16213e; color: #eaeaea; }
button.primary { padding: 6px 14px; background: #3d5a80; border: none; border-radius: 4px; color: #fff; cursor: pointer; }
button.primary:hover { background: #4a6fa5; }
button.danger { padding: 4px 10px; background: #5c2a2a; color: #f0a0a0; border: none; border-radius: 4px; cursor: pointer; font-size: 12px; }
button.danger:hover { background: #7a3636; }
.card { background: #16213e; border-radius: 8px; padding: 14px; margin-bottom: 14px; border: 1px solid #2d3e5f; }
.card h2 { margin: 0 0 10px 0; font-size: 1rem; color: #8b9dc3; }
.error { color: #e07070; font-size: 13px; margin-top: 6px; }
.muted { color: #6b7a99; font-size: 12px; }
a.external { color: #6b9dc3; text-decoration: underline; }
a.external:hover { color: #8bb8e8; }

/* 批量导入小组件 */
.inline { display: inline-flex; align-items: center; gap: 8px; }
.pill { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px; border: 1px solid #2d3e5f; background: rgba(61, 90, 128, 0.12); border-radius: 999px; }
.pill label { min-width: unset; }
.mini-input { width: 120px; max-width: 40vw; }
.mini-input.sm { width: 96px; }
.mini-input.md { width: 140px; }
.result-box { margin-top: 10px; padding: 10px 12px; border-radius: 8px; border: 1px solid #2d3e5f; background: rgba(0,0,0,0.18); font-size: 12px; color: #9fb0cf; }
.result-box.ok { border-color: rgba(70, 160, 120, 0.35); background: rgba(70, 160, 120, 0.08); }
.result-box.warn { border-color: rgba(200, 150, 60, 0.35); background: rgba(200, 150, 60, 0.08); }
.result-box.err { border-color: rgba(224, 112, 112, 0.35); background: rgba(224, 112, 112, 0.08); color: #f0a0a0; }
