.eo-toolbar {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin: 12px 0;
}
.eo-toolbar h3 {
  margin-right: auto;
}
.eo-list,
.eo-building-list,
.eo-bonus-list {
  max-height: 560px;
  overflow: auto;
}
.eo-character {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 14px;
  border: 1px solid var(--line,var(--ui-line, #334155));
  border-radius: 8px;
  padding: 14px;
  margin: 10px 0;
}
.eo-character p {
  margin: 5px 0;
}
.eo-character pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.eo-character img {
  border-radius: 6px;
}
.eo-row-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.eo-building-layout {
  display: grid;
  grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
  gap: 20px;
}
.eo-building-list button {
  display: block;
  text-align: left;
  width: 100%;
  margin: 0 0 8px;
}
.eo-building-list button small {
  display: block;
  margin-top: 5px;
}
.eo-building-list .active {
  outline: 2px solid var(--accent,var(--ui-accent, #60a5fa));
}
.eo-building-editor {
  min-width: 0;
}
.eo-building-editor details {
  padding: 12px;
  border: 1px solid var(--line,var(--ui-line, #334155));
  border-radius: 8px;
  margin-bottom: 16px;
}
.eo-fields,
.eo-rig-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0;
}
.eo-fields label,
.eo-rig-fields label,
.eo-building-editor form > label {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  min-width: 0;
}
.eo-fields input,
.eo-fields select,
.eo-rig-fields select {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.eo-bonus-list {
  font-size: 13px;
}
.eo-character .badge {
  font-size: 12px;
}
@media (max-width: 850px) {
  .eo-building-layout {
    grid-template-columns: 1fr;
  }
  .eo-building-list {
    max-height: 220px;
  }
  .eo-character {
    grid-template-columns: 48px minmax(0, 1fr);
  }
  .eo-row-actions {
    grid-column: 1/-1;
    flex-direction: row;
    flex-wrap: wrap;
  }
}
@media (max-width: 550px) {
  .eo-fields,
  .eo-rig-fields {
    grid-template-columns: 1fr;
  }
}
.eo-cost-indices {
  margin: 0 0 16px;
}
.eo-cost-indices [data-cost-body] {
  margin-top: 12px;
}
.eo-cost-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line,var(--ui-line, #334155));
}
.eo-cost-row strong {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.eo-cost-indices .eo-toolbar {
  margin-bottom: 0;
}
.eo-order-controls {
  display: flex;
  gap: 6px;
}
.eo-order-controls button {
  flex: 1;
  white-space: nowrap;
}
@media (max-width: 850px) {
  .eo-order-controls {
    flex-basis: 100%;
  }
}
#game-accounts {
  grid-template-columns: minmax(0, 1fr);
}
.ef-character-toolbar {
  justify-content: space-between;
  align-items: center;
}
.ef-character-toolbar h3 {
  margin: 0 auto 0 0;
}
.ef-character-toolbar button {
  margin-left: auto;
}
.ef-character-create {
  padding: 18px;
  border: 1px solid var(--line,var(--ui-line, #334155));
  border-radius: 8px;
  margin-bottom: 16px;
}
.ef-character-fields {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}
.ef-character-fields label,
.ef-character-create > label {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  min-width: 0;
  margin: 0;
}
.ef-character-fields input,
.ef-character-create input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  font-size: 14px;
}
.ef-character-content {
  min-width: 0;
}
.ef-character-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  overflow-wrap: anywhere;
  font-size: 16px;
}
.ef-character-avatar {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line,var(--ui-line, #334155));
  border-radius: 6px;
  background: var(--ui-line, #20364b);
  color: var(--ui-accent, #b8ddf2);
  font-size: 22px;
  font-weight: 600;
}
.ef-character-card .eo-row-actions button {
  white-space: nowrap;
}
.ef-character-create .actions {
  margin: 16px 0 0;
}
.ef-character-create .error:empty {
  display: none;
}
.ef-character-create .error {
  margin-bottom: 0;
}
#binding-panel-ef {
  min-width: 0;
}
.eo-building-tabs {
  margin: 16px 0;
}
.eo-market-editor,
.eo-market-card {
  padding: 20px;
  border: 1px solid var(--line,var(--ui-line, #334155));
  border-radius: 10px;
  margin-bottom: 16px;
  background: var(--site-panel,var(--ui-surface-2, #111d2e));
}
.eo-market-editor .eo-inline-check {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}
.eo-inline-check input[type=checkbox] {
  width: 16px;
  height: 16px;
  flex: none;
  margin: 0;
}
.eo-market-list {
  max-height: 680px;
  overflow: auto;
  padding: 2px;
}
.eo-market-card p {
  margin: 7px 0;
  overflow-wrap: anywhere;
}
.eo-market-card .eo-toolbar {
  margin-bottom: 0;
}
.eo-market-editor .muted {
  margin-bottom: 0;
  line-height: 1.7;
}
.eo-market-card strong {
  font-size: 15px;
}
.eo-data-permissions {
  margin: 12px 0;
}
.eo-data-permission-fields {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}
.eo-data-permission-fields label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.5;
}
.eo-data-permission-fields input[type=checkbox] {
  width: 16px;
  height: 16px;
  flex: none;
  margin: 3px 0 0;
}
.eo-data-permission-fields small {
  display: block;
  color: var(--muted,var(--ui-text-2, #94a3b8));
  font-size: 12px;
}
@media (max-width: 550px) {
  .ef-character-content {
    display: contents;
  }
  .ef-character-heading {
    grid-column: 2;
    grid-row: 1;
  }
  .ef-character-card .ef-character-fields {
    grid-column: 1/-1;
    margin-top: 0;
  }
}
/* Shared building master/detail layout for EO industrial and market registrations. */
.eo-building-list button {
  padding: 13px;
  border: 1px solid var(--line,var(--ui-line-strong, #344b60));
  border-radius: 9px;
  background: var(--site-panel,var(--ui-surface-2, #112131));
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.eo-building-list small {
  color: var(--muted,var(--ui-text-2, #a6b9c9));
  font-size: 12px;
}
.eo-building-editor {
  padding: 20px;
  border: 1px solid var(--line,var(--ui-line-strong, #344b60));
  border-radius: 10px;
  background: var(--site-panel,var(--ui-surface-2, #101e2c));
}
.eo-building-editor .eo-market-editor {
  border: 0;
  padding: 0;
  background: transparent;
  margin: 0;
}
.eo-market-list {
  padding: 2px;
  max-height: 690px;
}
.eo-building-list .eo-market-card {
  padding: 0;
  margin: 0 0 8px;
  border: 0;
  background: transparent;
}
.eo-market-card > button {
  margin: 0;
}
.eo-market-editor h3 {
  margin: 0 0 18px;
  font-size: 18px;
}
.eo-building-editor [data-market-info] {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--line,var(--ui-line-strong, #344b60));
}
.eo-building-editor [data-market-info]:empty {
  display: none;
}
.eo-market-editor[hidden],
[data-market-empty][hidden] {
  display: none !important;
}
.eo-building-editor form > label {
  margin-top: 12px;
}
@media (max-width: 850px) {
  .eo-building-editor {
    padding: 16px;
  }
  .eo-market-list {
    max-height: 240px;
  }
}
