/* One layout for the three dashboard collections. Domain controls keep their IDs. */
#dashboard {
  --overview-control-height: 50px;
  --overview-card-min-width: min(100%, 420px);
  --overview-card-min-height: 640px;
}
#dashboard :is(#dashboardBotsPanel, #dashboardAccountsPanel, #dashboardAiPanel) {
  container-type: inline-size;
  padding: 0;
  margin: 0;
}
#dashboard [data-overview-controls] { margin: 18px 0 20px; }
#dashboard .overview-collection-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 144px;
  align-items: center;
  gap: 12px;
  min-height: var(--overview-control-height);
  margin: 0 0 18px;
}
#dashboard .overview-collection-filter { grid-column: 1; grid-row: 1; width: min(100%, 300px); min-width: 0; min-height: var(--overview-control-height); }
#dashboard .overview-collection-filter > label {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 16px;
  white-space: nowrap;
}
#dashboard .overview-collection-meta {
  grid-column: 2;
  grid-row: 1;
  position: relative;
  justify-self: end;
}
#dashboard .overview-collection-meta > .dashboard-collection-count {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font: 400 13px/1.4 var(--font-sans, sans-serif);
  white-space: nowrap;
}
#dashboard .overview-collection-controls > .dashboard-add-button {
  grid-column: 3;
  grid-row: 1;
  width: 144px;
  min-width: 144px;
  margin: 0;
  padding: 0 12px;
  height: var(--overview-control-height);
  min-height: var(--overview-control-height);
  font-size: 16px;
  white-space: nowrap;
}
#dashboard .overview-collection-management { display: none; position: absolute; right: calc(100% + 8px); top: 50%; transform: translateY(-50%); z-index: 5; }
#dashboard .overview-collection-management:has(.overview-collection-menu > button:not([hidden])) { display: block; }
#dashboard .overview-collection-management > summary { display: flex; align-items: center; justify-content: center; list-style: none; width: 40px; height: 40px; min-height: 40px; padding: 0; margin: 0; cursor: pointer; }
#dashboard .overview-collection-management > summary::-webkit-details-marker { display: none; }
#dashboard .overview-collection-menu { position: absolute; right: 0; top: calc(100% + 8px); display: grid; width: 200px; gap: 4px; padding: 6px; border: 1px solid var(--border); border-radius: 10px; background: var(--panel); box-shadow: 0 8px 24px #0005; }
#dashboard .overview-collection-menu > button { margin: 0; width: 100%; min-height: 40px; text-align: left; }
#dashboard .overview-collection-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: end;
  gap: 12px;
  margin: 0;
}
#dashboard .overview-collection-toolbar > label { display: grid; gap: 8px; margin: 0; font-size: 16px; min-width: 0; }
#dashboard .overview-collection-toolbar > .collection-search { grid-column: 1; grid-row: 1; width: min(260px, 100%); }
#dashboard .overview-collection-toolbar > .collection-page-size { grid-column: 3; grid-row: 1; justify-self: end; width: 112px; }
#dashboard .overview-collection-toolbar > .collection-pagination { grid-column: 2; grid-row: 1; align-self: end; margin: 0; padding: 0; border: 0; background: transparent; min-width: 0; }
#dashboard .overview-collection-toolbar :is(input, select),
#dashboard .overview-collection-filter select {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin: 0;
  height: var(--overview-control-height);
  min-height: var(--overview-control-height);
  padding: 0 12px;
  font-size: 16px;
}
#dashboard :is(.overview-collection-toolbar, .collection-pagination-bottom) .collection-pagination-nav button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 40px;
  min-height: 40px;
  margin: 0;
  padding: 0 12px;
  font-size: 14px;
  line-height: 1;
}
#dashboard .collection-pagination-nav strong { font-size: 14px; }
#dashboard .collection-pagination-bottom { margin: 16px 0 0; }
#dashboard :is(.qf-fleet-card .bot-name, .qf-fleet-card .bot-head h3, .account-card h3, .ai-chat-card .ai-chat-card-title) {
  font-size: var(--fs-card-title);
  font-weight: 620;
  line-height: 1.4;
}
.overview-pnl-scope { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; color: var(--muted); font-size: 14px; }
.overview-pnl-scope select { width: auto; min-width: 160px; height: 40px; min-height: 40px; margin: 0; padding: 0 12px; font-size: 14px; }
#settings .settings-item > h2,
#api .module-heading h2,
#api .api-command-head h2 { font-size: var(--fs-section); }
@container (max-width: 800px) {
  #dashboard .overview-collection-toolbar { grid-template-columns: minmax(0, 1fr) 112px; }
  #dashboard .overview-collection-toolbar > .collection-page-size { grid-column: 2; grid-row: 1; }
  #dashboard .overview-collection-toolbar > .collection-pagination { grid-column: 1 / -1; grid-row: 2; justify-self: center; }
}
@container (max-width: 520px) {
  #dashboard .overview-collection-controls { grid-template-columns: minmax(0, 1fr) 144px; }
  #dashboard .overview-collection-filter { grid-column: 1 / -1; min-height: var(--overview-control-height); }
  #dashboard .overview-collection-filter[aria-hidden=true] { visibility: hidden; }
  #dashboard .overview-collection-meta { grid-column: 1; grid-row: 2; justify-self: start; }
  #dashboard .overview-collection-controls > .dashboard-add-button { grid-column: 2; grid-row: 2; }
  #dashboard .overview-collection-management { left: calc(100% + 8px); right: auto; }
  #dashboard .overview-collection-menu { left: 0; right: auto; }
}
@container (max-width: 420px) {
  #dashboard .overview-collection-toolbar { grid-template-columns: minmax(0, 1fr) 112px; }
  #dashboard .overview-collection-toolbar > .collection-search { grid-column: 1; grid-row: 1; }
  #dashboard .overview-collection-toolbar > .collection-page-size { grid-column: 2; grid-row: 1; justify-self: end; }
  #dashboard .overview-collection-toolbar > .collection-pagination { grid-column: 1 / -1; grid-row: 2; }
}
