/* Fleet presentation stays independent of configuration and approval rules. */
.fleet-page-body { display: grid; gap: 16px; min-width: 0; }
.fleet-serial.text-button { color: #082b52; font-weight: 750; padding: 0; font-size: 12px; }
.fleet-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 3px 8px; font-size: 11px; font-weight: 650; white-space: nowrap; background: #edf0ff; color: #3852c3; }
.fleet-badge-green { background: #d3f9e4; color: #006746; }
.fleet-badge-red { background: #ffe1e1; color: #bd0e20; }
.fleet-badge-amber { background: #fff1c2; color: #914200; }
.fleet-badge-blue { background: #e5edff; color: #2459b6; }
.fleet-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; padding: 14px; color: var(--muted); font-size: 12px; }
.fleet-pagination > span { margin-right: auto; }
.fleet-configuration-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 16px; align-items: start; }
.fleet-configuration-main { display: grid; gap: 16px; min-width: 0; }
.fleet-current-configuration table { min-width: 830px; }
.fleet-attach-form { display: grid; gap: 14px; }
.fleet-attach-form > button { justify-self: start; align-self: start; }
.fleet-assembly-selector { justify-content: flex-start; }
.fleet-snapshot-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.fleet-snapshot-columns h3 { font-size: 14px; }
.fleet-snapshot-columns ul { padding-left: 18px; font-size: 12px; line-height: 1.75; overflow-wrap: anywhere; }
.fleet-snapshot-removed { color: #bd2336; text-decoration: line-through; }
.fleet-snapshot-added { color: #087645; }
.fleet-guidance { color: #6d7e97; line-height: 1.55; font-size: 13px; margin: 8px 0; }
.fleet-form-section { padding-top: 14px; margin: 4px 0; color: #4f6179; text-transform: uppercase; font-size: 12px; letter-spacing: .05em; }
.fleet-form { row-gap: 16px; }
.fleet-form label { min-width: 0; }
.fleet-form input, .fleet-form select, .fleet-form textarea { min-width: 0; }
.fleet-facts { display: grid; grid-template-columns: 160px 1fr; gap: 10px 20px; font-size: 13px; }
.fleet-facts dt { font-weight: 650; color: #566985; }
.fleet-facts dd { margin: 0; overflow-wrap: anywhere; }
.fleet-setup-menu { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fleet-setup-menu > p { grid-column: 1 / -1; }
.fleet-slot-editor { display: grid; gap: 16px; }
.fleet-slot-row { border: 1px solid #dce3f1; border-radius: 10px; padding: 16px; margin: 0; min-width: 0; }
.fleet-import-steps { display: grid; grid-template-columns: repeat(2,1fr); padding: 0; list-style: none; gap: 6px; }
.fleet-import-steps li { background: #eef1fb; padding: 12px; border-radius: 8px; text-align: center; font-size: 13px; font-weight: 600; }
.fleet-import-drop { display: grid; gap: 12px; padding: 25px; margin: 16px 0; border: 1px dashed #a9b9ea; border-radius: 10px; background: #fbfcff; }
.fleet-capacity-list { display: grid; gap: 6px; font-size: 11px; }
.fleet-capacity-list > div { padding: 7px; border-radius: 6px; background: #ecfbf4; color: #17654c; }
.fleet-capacity-list > .fleet-capacity-full { color: #b33431; background: #fff2f1; }
.fleet-selection-list { display: grid; gap: 6px; font-size: 12px; overflow-wrap: anywhere; }
.fleet-selection-list > div { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.fleet-page button:focus-visible { outline: 3px solid #8198ed; outline-offset: 3px; }
@media (max-width: 1100px) { .fleet-configuration-layout { grid-template-columns: minmax(0, 1fr); } .fleet-attach-form { grid-template-columns: 1fr 1fr; } .fleet-attach-form > .fleet-guidance, .fleet-attach-form > .form-error, .fleet-attach-form > .fleet-selection-list { grid-column: 1 / -1; } }
@media (max-width: 700px) { .fleet-snapshot-columns, .fleet-attach-form, .fleet-setup-menu { grid-template-columns: 1fr; } .fleet-facts { grid-template-columns: 1fr; gap: 5px; } .fleet-facts dd { margin-bottom: 8px; } .fleet-import-steps { font-size: 11px; } }
.fleet-component-picker { display: grid; gap: 8px; min-width: 0; }
.fleet-candidates { display: grid; gap: 8px; max-height: 240px; overflow: auto; }
.fleet-candidates > div { display: grid; gap: 3px; padding: 8px; background: #f0fbf6; border-radius: 7px; }
.fleet-candidates small { font-size: 11px; color: #527566; line-height: 1.4; }
.fleet-candidates button { white-space: normal; text-align: left; overflow-wrap: anywhere; }
.fleet-candidates > .fleet-candidate-ineligible { background: #f4f5f8; }
.fleet-candidate-ineligible small { color: #7f4b4b; }
.fleet-candidates { max-height: 160px; }
.fleet-candidates > div { padding: 6px; }
.fleet-candidates button { font-size: 12px; padding: 3px; }
.fleet-assembly-selector .lookup-hint { display: none; }
.fleet-attach-form > .form-error:empty { display: none; }
.fleet-access-roles { display: grid; gap: 12px; }
.fleet-access-roles > label { display: grid; grid-template-columns: auto 1fr; gap: 6px 10px; padding: 12px; background: #f7f9fe; border-radius: 8px; }
.fleet-access-roles small { grid-column: 2; color: #64748b; }
.fleet-edit-action { display: grid; gap: 4px; max-width: 240px; }
.fleet-edit-action small { color: var(--muted); font-size: 11px; white-space: normal; }
.fleet-current-configuration, .fleet-snapshot, .fleet-attach-card { min-width: 0; }
