/* 中間サーバ ダッシュボード固有スタイル（core/web/styles.css の変数を流用） */
.container { max-width: 1120px; margin: 0 auto; padding: 24px 20px 56px; }
.section-title { font-size: 1.3rem; margin: 0 0 6px; color: var(--ink); }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
@media (max-width: 820px) { .grid-2 { grid-template-columns: 1fr; } }
.data-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.data-table th, .data-table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.data-table thead th { background: var(--table-head-bg); color: var(--muted); font-weight: 600; }
tr.clickable { cursor: pointer; }
tr.clickable:hover { background: var(--surface); }
.kv { display: grid; grid-template-columns: max-content 1fr; gap: 4px 14px; margin: 8px 0; }
.kv dt { color: var(--muted); }
.kv dd { margin: 0; }
.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; align-items: end; margin-bottom: 10px; }
.form-grid label { display: flex; flex-direction: column; gap: 4px; font-size: .9rem; color: var(--muted); }
.badge.badge-ok { background: var(--accent); color: #fff; }
.badge.badge-info { background: #3b82f6; color: #fff; }
.badge.badge-err { background: var(--error-color); color: #fff; }
.card.ok { border-left: 4px solid var(--accent); }
.card.error-box { border-left: 4px solid var(--error-color); }
.error { color: var(--error-color); }
.small { font-size: .82rem; }
h3, h4 { color: var(--ink); margin: 14px 0 6px; }
code { background: var(--surface); padding: 1px 5px; border-radius: 4px; font-size: .88em; }
.footer { max-width: 1120px; margin: 0 auto; padding: 16px 20px; color: var(--muted); border-top: 1px solid var(--line); }
.brand { display: flex; flex-direction: column; }
.brand .eyebrow { font-size: .78rem; }
