/* FDS extension: the carrier and slot page (docs/prototypes/carrier-slots-v1). The list, status and
   publish parts reuse layout-library.css. */
.ss-carrier-tabs { display: inline-grid; margin-bottom: var(--fds-space-4); max-width: 100%; overflow-x: auto; }
.ss-carrier-tabs button { padding: 0 var(--fds-space-5); white-space: nowrap; font-weight: 550; cursor: pointer; }
.ss-carrier-stack { display: grid; gap: var(--fds-space-3); min-width: 0; }
.ss-carrier-card-title { min-width: 0; }
.ss-carrier-card-title p { margin: 2px 0 0; }
.ss-carrier-toggle { margin-top: var(--fds-space-1); }
.ss-carrier-top { display: block; width: 100%; height: 150px; }
.ss-carrier-top.is-large { height: auto; max-height: 560px; touch-action: none; }
.ss-carrier-face { fill: var(--fds-gray-100); stroke: var(--fds-gray-600); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.ss-carrier-gridline { fill: none; stroke: var(--fds-gray-200); stroke-width: .6; vector-effect: non-scaling-stroke; }
.ss-carrier-axis { stroke: var(--fds-gray-400); stroke-width: 1; stroke-dasharray: 4 4; vector-effect: non-scaling-stroke; }
.ss-carrier-front { fill: var(--fds-text-secondary); }
.ss-carrier-slot { fill: var(--fds-white); stroke: var(--fds-gray-700); stroke-width: 1.5; stroke-dasharray: 5 3; vector-effect: non-scaling-stroke; }
.ss-carrier-slot.is-recess { fill: var(--fds-gray-300); }
.is-large .ss-carrier-slot { cursor: grab; }
.ss-carrier-slot.is-selected { stroke: var(--fds-blue-600); stroke-width: 2.5; stroke-dasharray: none; }
.ss-carrier-slot.is-fit { fill: var(--fds-green-50); stroke: var(--fds-green-700); }
.ss-carrier-slot.is-misfit { fill: var(--fds-red-50); stroke: var(--fds-red-700); }
.ss-carrier-ghost { fill: var(--fds-blue-50); fill-opacity: .7; stroke: var(--fds-blue-600); stroke-width: 1; vector-effect: non-scaling-stroke; }
.ss-carrier-slot-label { font-weight: 600; fill: var(--fds-gray-800); }
.ss-carrier-handle { fill: var(--fds-white); stroke: var(--fds-blue-600); stroke-width: 2; vector-effect: non-scaling-stroke; cursor: move; }
.ss-carrier-editor { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--fds-space-4); align-items: start; }
.ss-carrier-side { display: grid; gap: var(--fds-space-4); min-width: 0; }
.ss-carrier-stage { display: grid; gap: var(--fds-space-2); }
.ss-carrier-stage-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--fds-space-2); flex-wrap: wrap; }
.ss-carrier-snap, .ss-carrier-copy { width: auto; max-width: 100%; }
.ss-carrier-presets { display: flex; flex-wrap: wrap; gap: var(--fds-space-2); align-items: center; }
.ss-carrier-add { justify-self: start; }
.ss-carrier-slot-table tbody tr { cursor: pointer; }
.ss-carrier-slot-table td, .ss-carrier-slot-table th { padding-inline: var(--fds-space-3); white-space: nowrap; }
.ss-carrier-slot-form { display: grid; gap: var(--fds-space-3); padding-top: var(--fds-space-3); border-top: 1px solid var(--fds-border); }
.ss-carrier-slot-form-head { display: flex; align-items: center; justify-content: space-between; gap: var(--fds-space-2); flex-wrap: wrap; }
.ss-carrier-slot-form-head h3 { margin: 0; }
.ss-carrier-form-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: var(--fds-space-3); }
.ss-carrier-field { display: grid; gap: var(--fds-space-1); min-width: 0; }
.ss-carrier-field .fds-input, .ss-carrier-field .fds-select { width: 100%; min-height: var(--ssa-compact-control, 40px); }
.ss-carrier-field-wide { grid-column: 1 / -1; }
.ss-carrier-field p { margin: 0; }
.ss-carrier-inline { display: inline-flex; flex-wrap: wrap; gap: var(--fds-space-1); }
.ss-carrier-ok { display: flex; align-items: center; gap: var(--fds-space-2); margin: 0; color: var(--fds-text-secondary); font-size: .875rem; }
.ss-carrier-fit-list { margin: 0; padding-left: var(--fds-space-5); font-size: .875rem; display: grid; gap: 2px; }
.ss-carrier-fit-list .is-fit { color: var(--fds-green-700); }
.ss-carrier-fit-list .is-misfit { color: var(--fds-red-700); }
.ss-carrier-role { min-width: 96px; }
.ss-carrier-name { display: block; }
.ss-carrier-more { padding: var(--fds-space-3) var(--fds-space-4); margin: 0; }
@media (max-width: 1100px) { .ss-carrier-editor { grid-template-columns: minmax(0, 1fr); } }

/* FDS extension: explicit parameter group title role. */
body[data-ssa-controls="compact-v1"] .ss-carrier-slot-form-head h3 { font-size: .875rem; line-height: 1.4; }
