/* One task's model settings panel, its highlighted rows and its collapsed level columns. */
.model-settings { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px 24px; margin-bottom: 16px; padding: 12px; border: 1px solid var(--line-strong); border-radius: 6px; }
.model-settings-heading { display: flex; flex-basis: 100%; align-items: center; gap: 8px; }
.model-settings h2 { margin: 0; color: var(--ink); font-size: 11px; font-weight: 700; }
.model-settings-toggle { display: inline-flex; align-items: center; gap: 6px; padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
.model-settings-toggle:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.model-settings-active { color: var(--muted); font-size: 11px; }
.model-settings-grid[hidden],
.collapse-toggles[hidden] { display: none; }
.model-settings .table-note { flex-basis: 100%; margin: 0; }

/* Each model row uses the grid's columns, so every checkbox sits under its heading. */
.model-settings-grid { display: grid; grid-template-columns: minmax(140px, max-content) repeat(3, max-content); align-items: center; gap: 2px 18px; max-height: 236px; overflow: auto; font-size: 12px; }
.model-settings-head { position: sticky; z-index: 1; top: 0; padding-bottom: 4px; background: var(--canvas); color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: 0.3px; text-align: center; text-transform: uppercase; }
.model-settings-head:first-child { text-align: left; }
.model-settings-row { display: grid; grid-column: 1 / -1; grid-template-columns: subgrid; align-items: center; min-height: 22px; }
.model-settings-name { font: 11px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; overflow-wrap: anywhere; }
.model-settings-row input { justify-self: center; margin: 0; accent-color: var(--blue); cursor: pointer; }
.model-settings-row[data-excluded] .model-settings-name { color: var(--muted); text-decoration: line-through; }

.collapse-toggles { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 8px 12px; border: 1px solid var(--line); border-radius: 6px; font-size: 12px; }
.collapse-toggles legend { padding-inline: 4px; font-size: 11px; font-weight: 700; }
.collapse-toggles label { display: flex; align-items: center; gap: 5px; cursor: pointer; }
.collapse-toggles input { accent-color: var(--blue); }

/* A highlighted row has a tinted heading, an accent bar, a marker, a bold label and accent lines
   along its cells. The lines sit inside each cell, so the cell shading stays readable. */
.level-table tr.is-highlighted > th.task-heading { background: color-mix(in srgb, var(--warning) 14%, white); box-shadow: inset 4px 0 0 var(--warning); }
.level-table tr.is-highlighted .task-link { color: var(--ink); font-weight: 760; }
.row-highlight-marker { margin-right: 4px; color: var(--warning); }
.level-table tr.is-highlighted > td { box-shadow: inset 0 2px 0 var(--warning), inset 0 -2px 0 var(--warning); }
.level-table tr.is-highlighted > td.resource-cell { box-shadow: inset 0 2px 0 var(--warning), inset 0 -2px 0 var(--warning), inset 0 0 0 1px var(--line); }

/* A collapsed group of level columns has a dashed inner outline; its heading has a toggle. */
.level-group-heading { white-space: nowrap; }
.level-group-cell { outline: 1px dashed var(--line-strong); outline-offset: -3px; }
.level-group-toggle { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; margin-left: 3px; padding: 0; border: 1px solid var(--line-strong); border-radius: 3px; background: white; color: var(--ink-soft); font-size: 11px; font-weight: 700; line-height: 1; vertical-align: middle; cursor: pointer; }
.level-group-toggle:hover { border-color: var(--blue); color: var(--blue); }
.level-group-toggle:focus-visible { outline: 3px solid #8db0ff; outline-offset: 1px; }
