/* IDS Check panel (web/src/idspanel.js), under the views: the specifications on the left,
   the one picked with its requirements and failing objects on the right. */
main > .views { --bottom-h: 300px; }
.hsplitter { flex: none; height: 4px; cursor: row-resize; background: var(--tabs); border-top: 1px solid var(--line); }
.hsplitter:hover, .hsplitter.dragging { background: var(--accent-soft); }
.hsplitter[hidden], .bottom-panel[hidden] { display: none; }
.bottom-panel { flex: none; height: var(--bottom-h); display: flex; flex-direction: column; min-height: 0; background: var(--panel); }
.bottom-title { display: flex; align-items: center; }
.bottom-close { margin-left: auto; border: none; background: none; color: var(--muted); font-size: 16px; line-height: 1; cursor: pointer; padding: 0 4px; }
.bottom-close:hover { color: var(--text); }
.ids-body { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.ids-tools { display: flex; gap: 4px; flex-wrap: wrap; padding: 4px 6px; border-bottom: 1px solid var(--line-soft); flex: none; }
.ids-empty { padding: 10px 12px; max-width: 640px; overflow: auto; }
.ids-empty p { margin: 0 0 8px; }
.ids-cols { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(220px, 32%) minmax(0, 1fr); }
.ids-list { overflow: auto; border-right: 1px solid var(--line); padding-bottom: 8px; }
.ids-detail { overflow: auto; min-width: 0; }
.ids-head { padding: 6px 10px; border-bottom: 1px solid var(--line-soft); }
.ids-title { font-weight: 600; }
.ids-file { font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ids-sum { margin-top: 2px; }
.ids-pass { color: #2e8540; }
.ids-fail { color: #c0392b; font-weight: 600; }
.ids-spec-head, .ids-req-head { display: flex; align-items: baseline; gap: 6px; padding: 4px 8px; cursor: pointer; }
.ids-spec-head { border-bottom: 1px solid var(--line-soft); }
.ids-spec-head:hover, .ids-req-head:hover { background: var(--hover); }
.ids-spec-head.on { background: var(--accent-soft); box-shadow: inset 3px 0 0 var(--accent); }
.ids-name { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.ids-caret { width: 10px; flex: none; color: var(--muted); }
.ids-status { width: 12px; flex: none; text-align: center; font-weight: 700; }
.ids-status.pass { color: #2e8540; }
.ids-status.fail { color: #c0392b; }
.ids-status.unchecked { color: var(--muted); }
.ids-count { flex: none; color: var(--muted); font-size: 11px; }
.ids-spec-body { padding: 6px 12px 10px; }
.ids-detail-head { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 4px; }
.ids-detail-head .ids-name { font-size: 14px; }
.ids-applies, .ids-desc { margin: 2px 0 4px; }
.ids-help { color: var(--muted); font-style: italic; margin: 0 0 4px 22px; }
.ids-spec-body > .ids-help { margin-left: 0; }
.ids-note { color: var(--muted); font-size: 11px; margin: 0 0 4px 22px; }
.ids-spec-body > .ids-note { margin-left: 0; }
.ids-req { border-left: 2px solid var(--line-soft); margin: 6px 0; }
.ids-req.fail { border-left-color: #c0392b; }
.ids-req .ids-req-head { padding-left: 4px; font-weight: 600; }
.ids-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin: 2px 0 4px 22px; }
.ids-nofix { font-size: 11px; }
.ids-fix { display: inline-flex; gap: 3px; align-items: center; max-width: 100%; }
.ids-fix select, .ids-fix input { min-width: 0; max-width: 180px; font: inherit; }
.ids-fix input.bad { border-color: #c0392b; outline-color: #c0392b; }
.ids-fails { margin: 0 0 4px 22px; display: grid; grid-template-columns: minmax(140px, max-content) minmax(0, 1fr) auto; column-gap: 12px; }
.ids-fail-row { display: contents; }
.ids-fail-row > * { padding: 3px 0; border-top: 1px dotted var(--line-soft); }
.ids-fails > .muted { grid-column: 1 / -1; }
.ids-obj { color: var(--accent); text-decoration: none; font-weight: 600; }
.ids-obj:hover { text-decoration: underline; }
.ids-why { color: var(--muted); }
@media (max-width: 860px) {
  .ids-cols { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); }
  .ids-list { max-height: 35%; border-right: 0; border-bottom: 1px solid var(--line); }
}
