/* FDS extension: the lighting admin page (docs/prototypes/lighting-v1). */
.ss-light-status { display: flex; align-items: center; justify-content: space-between; gap: var(--fds-space-4); flex-wrap: wrap; padding: var(--fds-space-4) var(--fds-space-5); margin-bottom: var(--fds-space-4); }
.ss-light-status p { margin: 0; }
.ss-light-status-main { display: grid; gap: var(--fds-space-1); min-width: 0; }
.ss-light-status-title { display: flex; align-items: center; flex-wrap: wrap; gap: var(--fds-space-2); font-size: 1rem; font-weight: 600; overflow-wrap: anywhere; }
.ss-light-ok { color: var(--fds-green-700); font-size: .875rem; }
.ss-light-bad { color: var(--fds-red-700); font-size: .875rem; }
.ss-light-pending { color: var(--fds-amber-700); font-size: .875rem; font-weight: 550; margin: 0; overflow-wrap: anywhere; }
.ss-light-tabs { margin-bottom: var(--fds-space-4); }
.ss-light-tabs .fds-tab { text-decoration: none; }
.ss-light-price { width: 96px; text-align: right; }
:where(body:not([data-ssa-controls="compact-v1"])) .ss-light-price { height: var(--ssa-control-sm) !important; }
.ss-light-price-cell .ssa-input-group { justify-content: flex-end; }
.ss-light-price-cell.is-changed .fds-input { border-color: var(--fds-amber-700); background: var(--fds-amber-50); }
.ss-light-swatches { display: inline-flex; gap: 4px; }
.ss-light-swatch { display: inline-block; flex: none; width: 14px; height: 14px; border-radius: 50%; border: 1px solid var(--fds-border-strong); }
.ss-light-foot { padding: var(--fds-space-3) var(--fds-space-4); border-top: 1px solid var(--fds-border); display: grid; gap: var(--fds-space-1); }
.ss-light-foot p { margin: 0; }
.ss-light-checks { display: flex; flex-wrap: wrap; gap: var(--fds-space-2) var(--fds-space-4); }
.ss-light-checks .ssa-check { align-items: center; }
.ss-light-checks .ssa-check input { margin-top: 0 !important; }
.ss-light-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--fds-space-4); align-items: start; }
.ss-light-package { border: 1px solid var(--fds-border); border-radius: var(--fds-radius-md); padding: var(--fds-space-3) var(--fds-space-4); display: grid; gap: var(--fds-space-3); min-width: 0; }
.ss-light-package-head { display: flex; align-items: center; gap: var(--fds-space-2); flex-wrap: wrap; }
.ss-light-package-rows { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: var(--fds-space-3) var(--fds-space-4); margin: 0; font-size: .875rem; align-items: start; }
.ss-light-package-rows dt { color: var(--fds-text-secondary); padding-top: 6px; }
.ss-light-package-rows dd { margin: 0; min-width: 0; }
.ss-light-package-rows .ssa-field-help { margin: 0 0 var(--fds-space-1); }
.ss-light-inline { display: flex; flex-wrap: wrap; align-items: center; gap: var(--fds-space-2) var(--fds-space-3); }
.ss-light-inline .fds-select { width: auto; max-width: 100%; }
.ss-light-mini { display: inline-flex; align-items: center; gap: 4px; font-size: .8125rem; color: var(--fds-text-secondary); }
.ss-light-mini .fds-input { width: 64px; height: var(--ssa-control-sm); text-align: right; }
.ss-light-list { margin: var(--fds-space-1) 0 0; padding-left: var(--fds-space-5); font-size: .875rem; overflow-wrap: anywhere; }
.ss-light-fieldset { border: 1px solid var(--fds-border); border-radius: var(--fds-radius-md); padding: var(--fds-space-3) var(--fds-space-4); display: grid; gap: var(--fds-space-3); margin: 0; }
.ss-light-fieldset legend { padding: 0 var(--fds-space-1); }
.ss-light-fieldset small { display: block; margin-top: 2px; }
.ss-light-fieldset input:disabled + span { opacity: .6; }
.ss-light-steps { margin: 0; padding-left: var(--fds-space-5); display: grid; gap: var(--fds-space-1); }
.ss-light-steps [data-state="done"] { color: var(--fds-green-700); }
.ss-light-advanced > summary { padding: var(--fds-space-3) var(--fds-space-4); font-weight: 600; font-size: .9375rem; cursor: pointer; }
.ss-light-advanced[open] > summary { border-bottom: 1px solid var(--fds-border); }
.ss-light-repo { display: grid; gap: var(--fds-space-2); padding-bottom: var(--fds-space-3); border-bottom: 1px solid var(--fds-border); }
.ss-light-repo:last-child { border-bottom: 0; padding-bottom: 0; }
.ss-light-repo p { margin: 0; }
.ss-light-json { min-height: 320px; font-family: ui-monospace, monospace; font-size: .8125rem; }
.ssa-admin .ss-light-status + .ss-light-tabs { margin-top: 0; }
#lighting-root .ssa-field > label:has(input, select, textarea), .ssa-sheet .ssa-field > label:has(input, select, textarea) { display: grid; gap: var(--fds-space-2); align-items: stretch; }
@media (max-width: 1023px) { .ss-light-two { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 639px) { .ss-light-package-rows { grid-template-columns: minmax(0, 1fr); } .ss-light-package-rows dt { padding-top: 0; } }
#lighting-root .ssa-form-grid, .ssa-sheet .ssa-form-grid { align-items: start; }
.ss-light-case-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--fds-space-4); }
.ss-light-case-card { display: flex; flex-direction: column; min-width: 0; }
.ss-light-case-frame { padding: var(--fds-space-3); background: var(--fds-gray-25); border-bottom: 1px solid var(--fds-border); }
.ss-light-case { display: block; width: 100%; height: 140px; }
.ss-light-case-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--fds-space-2); overflow-wrap: anywhere; }
.ss-light-case-head h3 { margin: 0; }
.ss-light-area { fill: var(--fds-bg-panel); stroke: var(--fds-gray-400); stroke-width: 5; vector-effect: non-scaling-stroke; }
.ss-light-strip { fill: none; stroke-width: 4; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.ss-light-strip.is-front_strip { stroke: #f2a900; }
.ss-light-strip.is-rear_strip { stroke: #e3651d; }
.ss-light-strip.is-upper_strip { stroke: #8c6be8; stroke-dasharray: 6 4; }
.ss-light-spot { fill: #fff3c4; stroke: #c98a00; stroke-width: 2; vector-effect: non-scaling-stroke; }
.ss-light-legend { display: flex; flex-wrap: wrap; gap: var(--fds-space-4); font-size: .8125rem; color: var(--fds-text-secondary); }
.ss-light-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.ss-light-legend-spot { width: 12px; height: 12px; border-radius: 50%; background: #fff3c4; border: 2px solid #c98a00; }

/* FDS extensions: maintenance filters, grouped forms and review comparisons. */
.ss-light-search { flex-wrap: wrap; }
.ss-light-search input { flex: 1 1 240px; width: auto; }
.ss-light-search select { flex: 0 1 200px; width: auto; }
.ss-light-pagination { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: var(--fds-space-3); padding: var(--fds-space-3) var(--fds-space-4); }
.ss-light-key-params { max-width: 240px; white-space: normal; }
.ss-light-form-section { border: 1px solid var(--fds-border); border-radius: var(--fds-radius-md); padding: var(--fds-space-4); margin-bottom: var(--fds-space-4); }
.ss-light-form-section h3 { margin: 0 0 var(--fds-space-3); }
.ss-light-form-section .ssa-form-grid { align-items: start; }
.ss-light-form-section .ssa-field { align-content: start; }
.ss-light-form-section .fds-input, .ss-light-form-section .fds-select { box-sizing: border-box; height: var(--ssa-compact-control, 40px); font: inherit; font-size: var(--ssa-compact-input-font, inherit); }
.ss-light-form-section .ssa-callout { grid-column: 1 / -1; }
.ss-light-diff { border: 1px solid var(--fds-border); border-radius: var(--fds-radius-md); padding: var(--fds-space-3); overflow-wrap: anywhere; }
.ss-light-diff summary { font-weight: 600; cursor: pointer; }
.ss-light-diff dl > div { display: grid; grid-template-columns: minmax(80px, 1fr) minmax(0, 3fr); gap: var(--fds-space-3); border-bottom: 1px solid var(--fds-border); padding-block: var(--fds-space-2); }
.ss-light-diff dd { margin: 0; }
.ss-light-diff del { color: var(--fds-text-secondary); }
.ss-light-diff ins { text-decoration: none; font-weight: 600; }
@media (max-width: 768px) {
  .ss-light-products-table, .ss-light-products-table tbody { display: block; min-width: 0; width: 100%; }
  .ss-light-products-table thead { display: none; }
  .ss-light-products-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--fds-space-2); padding: var(--fds-space-4); border-bottom: 1px solid var(--fds-border); }
  .ss-light-products-table td { display: block; padding: 0; border: 0; min-width: 0; white-space: normal; }
  .ss-light-products-table .is-sticky { position: static; }
  .ss-light-products-table td:first-child { grid-column: 1; }
  .ss-light-products-table td:nth-child(2) { grid-column: 2; }
  .ss-light-products-table td:nth-child(3) { grid-column: 1 / -1; max-width: none; }
  .ss-light-products-table td:nth-child(4), .ss-light-products-table td:nth-child(5) { display: none; }
  .ss-light-products-table td:nth-child(6) { grid-column: 1; }
  .ss-light-products-table td:nth-child(7) { grid-column: 2; }
  .ss-light-products-table .ssa-input-group { justify-content: flex-start; }
  .ss-light-tabs { overflow-x: auto; }
  .ss-light-tabs .fds-tab { flex-shrink: 0; }
}
.ss-light-diff dd { white-space: pre-wrap; }
.ss-light-products-table .ssa-field-help { display: block; }

/* FDS extension: explicit card and parameter group titles. */
body[data-ssa-controls="compact-v1"] .ss-light-case-head h3 { font-size: 1rem; line-height: 1.4; }
body[data-ssa-controls="compact-v1"] .ss-light-form-section h3 { font-size: .875rem; line-height: 1.4; }
