/* Shared density rules for workspace pages. */
@media (min-width: 761px) {
  main:not(.center) { max-width: 1580px; }
  main:not(.center) > header, main:not(.center) > .page-header { min-height: 0; margin-bottom: 10px; }
  main:not(.center) > header h1, main:not(.center) > .page-header h1 { font-size: 24px; margin-bottom: 2px; }
  main:not(.center) > header .muted, main:not(.center) > .page-header .muted { font-size: 11px; }
  main:not(.center) > .notice { margin-bottom: 8px; padding: 9px 12px; font-size: 11px; }
  main:not(.center) > .metrics { gap: 7px; margin-bottom: 8px; }
  main:not(.center) > .metrics .card { min-height: 60px; padding: 10px 12px; box-shadow: none; }
  main:not(.center) > .metrics strong { font-size: 18px; }
  main:not(.center) > .card, main:not(.center) > .grid > .card { box-shadow: none; }
  main:not(.center) > .card + .card, main:not(.center) > .card + .grid, main:not(.center) > .grid + .card { margin-top: 8px; }
  main:not(.center) > .toolbar, main:not(.center) > .library-tabs { margin-bottom: 8px; }

  .provider-grid { gap: 8px; margin-bottom: 8px; }
  .provider-card { gap: 10px; padding: 12px 14px; box-shadow: none; }
  .provider-icon { width: 34px; height: 34px; border-radius: 9px; font-size: 15px; }
  .provider-card > form:not(.test-form) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .provider-card > form:not(.test-form) > input[type="hidden"],
  .provider-card > form:not(.test-form) > label:has(input[name="base_url"]),
  .provider-card > form:not(.test-form) > label:has(input[name="api_key"]),
  .provider-card > form:not(.test-form) > .grid,
  .provider-card > form:not(.test-form) > button { grid-column: 1 / -1; }
  .provider-card > form:not(.test-form) > .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; }
  .provider-card .switch { align-self: center; min-height: 32px; }
  .test-form { display: flex; align-items: center; gap: 9px; padding-top: 8px; }
  .test-form small { color: var(--muted); }
  .ai-profiles { margin: 8px 0; padding: 12px 14px; }
  .profile-form { gap: 7px; margin: 9px 0 12px; }
  .flow { gap: 6px; margin-bottom: 7px; }
  .flow span { padding: 6px 8px; font-size: 11px; }

  main:not(.center) > .grid.two { gap: 8px; margin-bottom: 8px; }
  main:not(.center) > .grid.two > .card { padding: 12px 14px; }
  main:not(.center) > .grid.two > .card:first-child form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  main:not(.center) > .grid.two > .card:first-child form > input[type="hidden"],
  main:not(.center) > .grid.two > .card:first-child form > button { grid-column: 1 / -1; }
  .inline-actions { gap: 5px; flex-wrap: nowrap; }
  .inline-actions form { grid-template-columns: minmax(120px, 170px) auto; gap: 4px; }

  .quality-form { max-width: none; margin-bottom: 8px; padding: 12px 14px; }
  .quality-form form { grid-template-columns: minmax(240px, .75fr) minmax(420px, 1.5fr) auto; align-items: end; gap: 8px; }
  .quality-form form > input[type="hidden"] { display: none; }
  .quality-form textarea { min-height: 70px; max-height: 120px; }
  .quality-form .consent { grid-column: 1 / 3; display: flex; align-items: center; }
  .quality-form .consent input { width: 16px; }
  .quality-list { gap: 8px; }
  .quality-result { padding: 12px 14px; }
  .quality-result > header { min-height: 0; margin: 0 0 7px; }
  .quality-metrics { gap: 7px; margin: 8px 0; }
  .quality-metrics div { padding: 9px 10px; border-radius: 8px; }
  .quality-metrics strong { font-size: 18px; }

  main:not(.center) > .card:has(> table), main:not(.center) > .card.table-wrap { padding: 10px 14px; }
  main:not(.center) > .card:has(> table) h2 { margin-bottom: 6px; }
  main:not(.center) > .card:has(> table) th, main:not(.center) > .card:has(> table) td,
  main:not(.center) > .card.table-wrap th, main:not(.center) > .card.table-wrap td { padding: 6px 8px; font-size: 11px; }
}

@media (max-width: 1050px) and (min-width: 761px) {
  .provider-grid { grid-template-columns: 1fr; }
  .quality-form form { grid-template-columns: 1fr 1fr; }
  .quality-form form > button { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .provider-grid, .quality-list { gap: 8px; }
  .provider-card, .quality-form, .quality-result { padding: 11px; }
  .provider-card > form:not(.test-form), .quality-form form { gap: 8px; }
  .quality-form { margin-bottom: 8px; }
  .quality-form textarea { min-height: 110px; }
  .test-form { padding-top: 8px; }
  .inline-actions { gap: 5px; }
  .inline-actions form { width: 100%; grid-template-columns: 1fr auto; }
}
