/* Page layouts reuse the shared form, disclosure, button and select components. */
.context-settings-page { max-width: 880px; margin-inline: auto; }
.context-settings-panel .panel-body { padding: var(--space-5); }
.context-settings-panel > .context-settings-form { padding: var(--space-5); }
.context-settings-form > label { margin-bottom: 20px; }
.context-settings-form > .ui-disclosure { margin-block: var(--space-3) 0; }
.context-settings-retire { margin-top: 24px; }
.shared-setup-selector { margin: 0; }
.shared-setup-scope { margin: 10px var(--ui-label-inset) 24px; }
.shared-setup-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.shared-setup-form fieldset > label { margin-bottom: 20px; }
.shared-setup-form fieldset > .ui-disclosure { margin-block: var(--space-3) 0; }
.shared-setup-form fieldset > .cohort-config-section:first-child { margin-top: 0; }
.shared-setup-form .ui-disclosure-body > .ui-tabbed-editor { margin: 0; }
.shared-setup-form .ui-disclosure-body > .ui-checkbox { margin-block: 12px; }
.shared-setup-footer { display: flex; justify-content: space-between; align-items: start; gap: 24px; margin-top: 24px; }
.shared-setup-footer > [data-shared-setup-status] { flex-shrink: 0; }
@media (max-width: 650px) { .shared-setup-footer { flex-direction: column; gap: 8px; } }

/* Variable editors share one compact Key / Type / Value list. */
.shared-context-values .typed-variable-list { margin-bottom: 12px; }
.shared-context-values .typed-variable-head,
.shared-context-values .typed-variable-row { display: grid; grid-template-columns: minmax(160px, 1.15fr) 112px minmax(150px, 1fr) 72px; gap: 12px; align-items: start; }
.shared-context-values .typed-variable-head { padding: 0 var(--ui-label-inset) 8px; font-size: 12px; font-weight: 600; color: var(--muted); }
.shared-context-values .typed-variable-row { padding-block: 8px; }
.shared-context-values .typed-variable-row > * { min-width: 0; margin: 0; }
.shared-context-values .typed-variable-row > label { display: block; }
.shared-context-values .typed-variable-row input,
.shared-context-values .typed-variable-row select,
.shared-context-values .typed-variable-row .ui-select { width: 100%; min-width: 0; }
.shared-context-values .typed-variable-row [data-context-value-key],
.shared-context-values .typed-variable-inherited code { font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace); font-size: 12px; }
.shared-context-values .typed-variable-row [data-context-value-key][readonly] { color: var(--muted); }
.shared-context-values .typed-variable-row > button { align-self: center; }
.shared-context-values .typed-variable-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.shared-context-values .typed-variable-inherited { padding: 12px var(--ui-label-inset); border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.shared-context-values .typed-variable-inherited code,
.shared-context-values .typed-variable-inherited small { display: block; overflow-wrap: anywhere; }
.shared-context-values .typed-variable-inherited small { margin-top: 4px; }
.shared-context-values .typed-variable-inherited > div:nth-child(3) { overflow-wrap: anywhere; }
@media (max-width: 650px) {
  .shared-context-values .typed-variable-head { display: none; }
  .shared-context-values .typed-variable-row { grid-template-columns: minmax(0,1fr) 112px; gap: 10px; padding-block: 14px; }
  .shared-context-values .typed-variable-row > :nth-child(3) { grid-column: 1; }
  .shared-context-values .typed-variable-row > :nth-child(4) { grid-column: 2; justify-self: end; }
  .shared-context-values .typed-variable-label { position: static; width: auto; height: auto; margin: 0 0 6px; overflow: visible; clip: auto; white-space: normal; display: block; font-size: 12px; font-weight: 600; color: var(--muted); }
}

.shared-context-values .typed-variable-row[hidden] { display: none; }

.operating-hours-controls { border: 0; padding: 0; margin: 0; min-width: 0; }
.operating-hours-settings > .hierarchy-setting-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.operating-hours-settings > .hierarchy-setting-heading > p { margin: 0; }
.context-settings-panel .operating-hours-settings .worker-hours-tab-body { padding-inline: 0; }
.context-settings-panel .operating-hours-settings .worker-hours-settings { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); }
.context-settings-panel .operating-hours-settings .worker-hours-settings > .field-help { grid-column: 1 / -1; }
@media (max-width: 650px) { .context-settings-panel .operating-hours-settings .worker-hours-settings { grid-template-columns: minmax(0, 1fr); } }

/* The same sections and inheritance controls appear at every level. */
.hierarchy-navigation { display: flex; align-items: center; gap: 14px; margin: 8px 0 24px; padding-inline: 2px; }
.hierarchy-navigation a { color: var(--muted); font-size: 14px; text-decoration: none; padding-block: 8px; border-bottom: 2px solid transparent; }
.hierarchy-navigation a[aria-current="page"] { color: var(--text); border-color: currentColor; font-weight: 600; }
.hierarchy-navigation a:hover { color: var(--text); }
.hierarchy-arrow { color: var(--muted); font-size: 13px; }
.hierarchy-setting { margin-bottom: 24px; }
.hierarchy-setting:last-child { margin-bottom: 0; }
.hierarchy-setting-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.hierarchy-setting-heading > label { margin: 0; }
.hierarchy-setting > input, .hierarchy-setting > textarea, .hierarchy-setting > select, .hierarchy-setting > .ui-select { width: 100%; }
.hierarchy-setting > .field-help { display: block; margin: 8px var(--ui-label-inset) 0; }
.hierarchy-setting [disabled] { opacity: 1; color: var(--muted); }
.hierarchy-source { margin-block: 16px; align-items: start; }
.hierarchy-source small { display: block; margin-top: 4px; color: var(--muted); font-weight: 400; }
.hierarchy-handoff-fields { border: 0; min-width: 0; padding: 0; margin: 0; }
.hierarchy-handoff { border-top: 1px solid var(--line); padding-block: 20px; }
.hierarchy-handoff > label, .hierarchy-handoff > .form-grid { margin-bottom: 16px; }
.hierarchy-handoff-fields[disabled] [data-hierarchy-add-route], .hierarchy-handoff-fields[disabled] [data-hierarchy-remove-route] { display: none; }
.hierarchy-inherited-instruction { padding: 12px 0; color: var(--muted); }
.hierarchy-inherited-instruction > summary,
.cohort-config-body > details > summary { font: var(--ui-row-font-weight) var(--ui-row-font-size)/var(--ui-row-line-height) var(--font-body); }
.hierarchy-inherited-instruction p { white-space: pre-wrap; }
.hierarchy-inherited-instruction + label { margin-top: 20px; }
.context-settings-form .ui-disclosure-body > label, .shared-setup-form .ui-disclosure-body > label:not(.ui-checkbox) { margin-bottom: 20px; }
.shared-context-values .typed-variable-head, .shared-context-values .typed-variable-row { grid-template-columns: minmax(140px, 1.15fr) 100px minmax(130px, 1fr) 128px; }
.shared-context-values .typed-variable-row > button { white-space: normal; text-align: right; }
@media (max-width: 650px) {
  .hierarchy-navigation { gap: 10px; flex-wrap: wrap; }
  .hierarchy-setting-heading { align-items: start; }
  .shared-context-values .typed-variable-row { grid-template-columns: minmax(0,1fr) 128px; }
}

/* The cohort overview presents its resolved configuration in one shared panel. */
.cohort-configuration { margin-block: var(--space-5); --ui-disclosure-inset: var(--ui-section-inset); }
.cohort-configuration > .panel-head { align-items: flex-start; flex-wrap: wrap; border-bottom: 0; }
.cohort-configuration .cohort-config-sources { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cohort-configuration .cohort-config-sources .button { white-space: normal; }
.cohort-configuration > .ui-disclosure,
.cohort-configuration .cohort-config-sections > .ui-disclosure { margin: 0; }
.cohort-configuration > .ui-disclosure > summary,
.cohort-configuration .cohort-config-sections > .ui-disclosure > summary { min-height: 64px; padding-block: var(--space-3); padding-inline: var(--ui-disclosure-inset); font-size: var(--ui-row-font-size); font-weight: var(--ui-row-font-weight); }
.cohort-configuration > .ui-disclosure > .ui-disclosure-body,
.cohort-configuration .cohort-config-sections > .ui-disclosure > .ui-disclosure-body { padding: 0 var(--ui-disclosure-inset) var(--ui-card-inset); }
.cohort-config-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 28px; margin: 4px 0 0; }
.cohort-config-values > div { min-width: 0; }
.cohort-config-values dt { color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.cohort-config-values dd { margin: 6px 0 0; font-size: 14px; overflow-wrap: anywhere; }
.cohort-config-values small { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; font-weight: 400; }
.cohort-config-entry { padding-block: 14px; overflow-wrap: anywhere; }
.cohort-config-entry + .cohort-config-entry { border-top: 1px solid var(--line); }
.cohort-config-entry > :first-child { margin-top: 0; }
.cohort-config-entry > p { margin: 6px 0 0; white-space: pre-wrap; }
.cohort-config-entry > small { display: block; color: var(--muted); margin-top: 5px; }
.cohort-configuration .knowledge-source { margin-block: 0; }
.cohort-configuration .knowledge-source-disclosure > summary { padding-block: 12px; }
@media (max-width: 900px) { .cohort-config-values { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 650px) {
  .cohort-configuration { --ui-disclosure-inset: var(--ui-section-inset); }
  .cohort-configuration > .panel-head { padding: var(--ui-section-inset); }
  .cohort-configuration > .ui-disclosure > summary,
  .cohort-configuration .cohort-config-sections > .ui-disclosure > summary { padding-inline: var(--ui-disclosure-inset); }
  .cohort-configuration > .ui-disclosure > .ui-disclosure-body,
  .cohort-configuration .cohort-config-sections > .ui-disclosure > .ui-disclosure-body { padding-inline: var(--ui-disclosure-inset); }
  .cohort-config-values { grid-template-columns: minmax(0, 1fr); }
}
.cohort-configuration > .cohort-config-section { padding: 0; }
.cohort-config-values > .cohort-config-entry { padding: 0; border: 0; }
.cohort-config-text { white-space: pre-wrap; }

/* Settings sections use the Journey card geometry; nested prose keeps row insets. */
.context-settings-form > .ui-disclosure,
.shared-setup-form fieldset > .ui-disclosure,
.context-settings-retire.ui-disclosure {
  --ui-disclosure-inset: var(--ui-card-inset);
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}
.context-settings-form > .ui-disclosure > summary,
.shared-setup-form fieldset > .ui-disclosure > summary,
.context-settings-retire.ui-disclosure > summary {
  min-height: 64px;
  padding-block: var(--space-3);
}
.context-settings-form > .ui-disclosure > .ui-disclosure-body,
.shared-setup-form fieldset > .ui-disclosure > .ui-disclosure-body,
.context-settings-retire.ui-disclosure > .ui-disclosure-body {
  margin-top: 0;
  padding-bottom: var(--ui-card-inset);
}
