/* Standard's misc rules. Empty in wave 1; the lane that owns this domain fills it. Every
   rule here is scoped under .concept-std (or its dialog and toast siblings). */

/* Profile and the shared Settings cards inside the Standard frame. */
.concept-std .st-profile,
.concept-std .st-settings { display: grid; gap: 12px; min-width: 0; }
.concept-std .st-profile > div { min-width: 0; }
.concept-std .st-profile .st-section { margin-block: 12px; }
.concept-std .st-settings .card { background: var(--st-panel); border-color: var(--st-line); margin-block: 12px; }
.concept-std .st-settings .card h2 { color: var(--st-text); }
.concept-std .st-profile .st-climate-people { margin-block: 12px; }
.concept-std .st-profile__pictures { display: flex; gap: 12px; align-items: center; }
.concept-std .st-profile__pictures img { object-fit: contain; }
/* The shared renderer retains its cards and lifecycle; Standard supplies the head. */
.concept-std .st-settings > div > .mb1:first-child { display: none; }
/* 5B officers, orbitals, formations */
.concept-std :is(.st-officers, .st-orbitals, .st-formations) { min-width: 0; max-width: 100%; }
.concept-std :is(.st-officers, .st-orbitals) details { min-width: 9rem; }
.concept-std :is(.st-officers, .st-orbitals) summary { cursor: pointer; color: var(--st-link); }
.concept-std :is(.st-officers, .st-orbitals) .card { background: var(--st-panel); border-color: var(--st-line); padding: .65rem; }
.concept-std .st-officers .ofc-bar { height: 4px; background: var(--st-panel-raised); }
.concept-std .st-officers .ofc-bar i { display: block; height: 100%; background: var(--st-progress); }
.concept-std .st-formations .transfer-bar, .concept-std .st-formations .transfer-row, .concept-std .st-formations .row { min-width: 0; max-width: 100%; flex-wrap: wrap; box-sizing: border-box; }
.concept-std .st-formations .transfer-bar { position: static; gap: .5rem; }
.concept-std .st-formations select, .concept-std .st-formations canvas, .concept-std .st-formations .fm-name { min-width: 0; max-width: 100%; }
.concept-std .st-formations .fm-diagram { display: block; width: 100%; max-width: 420px; margin-inline: auto; }
.concept-std .st-formations .transfer-row { display: flex; justify-content: space-between; gap: .5rem; padding-block: .4rem; }
.concept-std .st-formations .fm-name { flex: 1 1 14rem; overflow-wrap: anywhere; }
.concept-std .st-formations .transfer-step { display: flex; align-items: center; gap: .3rem; flex-wrap: wrap; }
.concept-std .st-formations .fm-tag { color: var(--st-muted); margin-inline-end: .4rem; }
.concept-std :is(.st-officers, .st-orbitals, .st-formations) .btn { font-size: inherit; }
@media (pointer: coarse) {
  .concept-std :is(.st-officers, .st-orbitals) summary { min-height: 26px; display: flex; align-items: center; position: relative; }
}
/* 5D designer */
.concept-std .st-designer-note { display: block; color: var(--st-muted); font-size: 11px; }
.concept-std .st-designer .st-grid .btn { white-space: nowrap; }

.concept-std .st-map-holders, .concept-std .st-map-holder { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; vertical-align: middle; }
.concept-std .st-map-holder img { display: inline-block; width: 16px; height: 16px; flex: none; }
.concept-std .st-formations > .st-grid .st-grid__box { max-height: 300px; }
.concept-std .st-formations .st-grid .btn { min-height: 26px; height: 26px; padding: 2px 8px; line-height: 20px; box-sizing: border-box; position: relative; }
.concept-std .st-formations > div { min-width: 0; }
.concept-std .st-fleet-controls { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(180px, 2fr) minmax(90px, 1fr) auto; gap: 8px; align-items: center; margin-block: 8px; }
.concept-std .st-fleet-controls input, .concept-std .st-fleet-controls select, .concept-std .st-fleet-controls .st-cta { box-sizing: border-box; width: 100%; min-width: 0; min-height: var(--st-size-control); height: var(--st-size-control); padding: 2px 10px; font-size: 12.5px; border-radius: var(--st-radius-control); }
.concept-std .st-fleet-controls .st-cta { display: flex; gap: 4px; white-space: nowrap; }
.concept-std .st-fleet-controls .st-cta svg { width: 16px; height: 16px; }
@media (max-width: 767px) {
  .concept-std .st-fleet-controls { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: 16px; }
}
@media (pointer: coarse) {
  .concept-std .st-fleet-controls input, .concept-std .st-fleet-controls select { height: 44px; padding-block: 10px; margin-block: -8px; background: transparent; }
  .concept-std :is(.st-fleet-controls .st-cta, .st-formations .st-grid .btn)::after { content: ''; position: absolute; inset: -9px 0; }
  .concept-std .st-fleet-controls .st-cta { position: relative; }
}

.concept-std :is(.st-officers, .st-orbitals, .st-formations) .st-grid td { padding-block: 3px; }
.concept-std :is(.st-officers, .st-orbitals) .st-grid summary { min-height: 26px; line-height: 26px; position: relative; }
@media (pointer: coarse) {
  .concept-std :is(.st-officers, .st-orbitals) .st-grid summary::after { content: ''; position: absolute; inset: -9px 0; }
}

.concept-std .transfer-bar > .btn { min-width: 0; max-width: 100%; box-sizing: border-box; }

.concept-std .st-fleet-control { display: block; min-width: 0; height: var(--st-size-control); border: 1px solid var(--st-line); border-radius: var(--st-radius-control); background: var(--st-panel); box-sizing: border-box; }
#app.concept-std .st-fleet-control input[type="search"], #app.concept-std .st-fleet-control select { box-sizing: border-box; min-width: 0; width: 100%; border: 0; background: transparent; min-height: calc(var(--st-size-control) - 2px); height: calc(var(--st-size-control) - 2px); margin: 0; }
@media (pointer: coarse) {
  #app.concept-std .st-fleet-control input[type="search"], #app.concept-std .st-fleet-control select { min-height: 44px; height: 44px; padding-block: 10px; margin-block: calc((var(--st-size-control) - 46px) / 2); }
}
/* 5C combat */
.concept-std .st-combat-records { margin-block: 12px; }
.concept-std .st-combat-records > summary { color: var(--st-link); cursor: pointer; min-height: 44px; align-content: center; }
