/* Desktop review layer. Keep all declarations screen-only so mobile and print
   keep their existing styles. Remove the shell links to disable this revision. */
@media screen and (min-width: 1025px) {
  body.admin-page,
  body:is(.desktop-ui-auth, .staff-login-page) {
    --ui-font-family: Inter, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
    --ui-font-body: 14px;
    --ui-font-label: 13px;
    --ui-font-small: 12px;
    --ui-font-table: 12px;
    --ui-font-th: 11px;
    --ui-control-height: 40px;
    --ui-gap: 16px;
    --ui-gap-small: 8px;
    --ui-section-gap: 24px;
    --ui-card-padding: 20px;
    font-family: var(--ui-font-family);
    font-size: var(--ui-font-body);
    line-height: 1.5;
  }

  body.admin-page .page-content h1,
  body:is(.desktop-ui-auth, .staff-login-page) .auth-card h1 {
    font-size: 32px;
    line-height: 1.25;
    font-weight: 700;
  }
  body.admin-page .page-content h2 { font-size: 22px; line-height: 1.3; }
  body.admin-page .page-content h3 { font-size: 16px; line-height: 1.4; }
  body.admin-page .page-content :is(.breadcrumb, .eyebrow) {
    font-size: var(--ui-font-label);
    line-height: 1.4;
  }
  body.admin-page .page-content :is(.page-description, .back-link) { font-size: var(--ui-font-body); }
  body.admin-page .page-content :is(.help-text, .helptext, .username, .detail-grid dt),
  body:is(.desktop-ui-auth, .staff-login-page) :is(.help-text, .helptext) {
    font-size: var(--ui-font-small);
    line-height: 1.5;
  }

  /* Native form controls, not checkboxes, sliders, uploads or icon controls. */
  body.admin-page .page-content .management-form input:not([type="hidden"], [type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="file"], [type="button"], [type="submit"], [type="reset"], [type="image"]),
  body.admin-page .page-content input:not([type="hidden"], [type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="file"], [type="button"], [type="submit"], [type="reset"], [type="image"]),
  body.admin-page .page-content select:not([multiple]),
  body:is(.desktop-ui-auth, .staff-login-page) .auth-card input:not([type="hidden"], [type="checkbox"], [type="radio"]),
  body:is(.desktop-ui-auth, .staff-login-page) .auth-card select:not([multiple]) {
    box-sizing: border-box;
    height: var(--ui-control-height);
    min-height: var(--ui-control-height);
    padding: 0 12px;
    font-family: var(--ui-font-family);
    font-size: var(--ui-font-body);
    font-weight: 400;
    line-height: 1.5;
    border-radius: 6px;
  }
  body.admin-page .page-content :is(textarea, select[multiple]),
  body:is(.desktop-ui-auth, .staff-login-page) .auth-card textarea {
    box-sizing: border-box;
    padding: 8px 12px;
    font-family: var(--ui-font-family);
    font-size: var(--ui-font-body);
    line-height: 1.5;
    border-radius: 6px;
  }
  body.admin-page .page-content input[type="file"] {
    box-sizing: border-box;
    min-height: var(--ui-control-height);
    font-family: var(--ui-font-family);
    font-size: var(--ui-font-body);
  }
  body.admin-page .page-content input::file-selector-button {
    min-height: 30px;
    margin-right: var(--ui-gap-small);
    font: inherit;
  }
  body.admin-page .page-content label,
  body:is(.desktop-ui-auth, .staff-login-page) .auth-card label {
    font-family: var(--ui-font-family);
    font-size: var(--ui-font-label);
    line-height: 1.5;
    font-weight: 650;
  }
  body.admin-page :is(.form-field, .filters) label,
  body:is(.desktop-ui-auth, .staff-login-page) .form-field label { margin-bottom: 6px; }
  body.admin-page .form-field,
  body:is(.desktop-ui-auth, .staff-login-page) .form-field { margin-top: var(--ui-gap); }

  /* Only actual action buttons get the action size. Sort, clear and disclosure
     buttons retain their compact role and hidden controls remain hidden. */
  body.admin-page .page-content :is(.primary-button, .primary-link, .secondary-button, .danger-button, .period-button):not([hidden]),
  body:is(.desktop-ui-auth, .staff-login-page) .auth-card :is(.primary-button, .secondary-button):not([hidden]) {
    box-sizing: border-box;
    min-height: var(--ui-control-height);
    height: var(--ui-control-height);
    padding: 0 16px;
    align-items: center;
    justify-content: center;
    font-family: var(--ui-font-family);
    font-size: var(--ui-font-body);
    line-height: 1.25;
    border-radius: 6px;
    vertical-align: middle;
  }
  body.admin-page .page-content :is(.primary-button, .primary-link, .secondary-button, .danger-button):not([hidden]),
  body:is(.desktop-ui-auth, .staff-login-page) .auth-card :is(.primary-button, .secondary-button):not([hidden]) {
    display: inline-flex;
  }
  body.admin-page .page-content :is(.primary-button, .primary-link, .danger-button) { font-weight: 700; }
  body.admin-page .page-content .secondary-button { font-weight: 400; }
  body.admin-page .page-content .period-button {
    display: inline-flex;
    padding-right: 10px;
    padding-left: 10px;
  }
  body.admin-page .page-content :is(.primary-button, .primary-link, .secondary-button, .danger-button) > .ui-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
  }
  body.admin-page .page-content :is(.primary-button, .primary-link, .secondary-button, .danger-button):focus-visible,
  body.admin-page .page-content .tabs a:focus-visible {
    outline: 3px solid rgb(24 90 189 / 25%);
    outline-offset: 2px;
  }

  body.admin-page .page-heading {
    align-items: flex-end;
    gap: var(--ui-section-gap);
    margin-bottom: var(--ui-section-gap);
  }
  body.admin-page .page-heading > :is(.heading-create-actions, .private-hire-list-actions, .financial-heading-actions) {
    gap: var(--ui-gap-small);
    align-items: center;
    flex-wrap: wrap;
  }
  body.admin-page .page-content .filters {
    gap: 12px;
    padding: var(--ui-card-padding);
    margin-bottom: var(--ui-gap);
  }
  body.admin-page .page-content .form-grid { gap: var(--ui-gap); }
  body.admin-page .page-content .form-actions {
    gap: var(--ui-gap-small);
    margin-top: var(--ui-section-gap);
  }
  body.admin-page .page-content .form-actions :is(.primary-button, .secondary-button) { margin-top: 0; }
  body.admin-page .page-content .detail-card {
    padding: var(--ui-card-padding);
    margin-top: var(--ui-section-gap);
  }
  body.admin-page .page-content .detail-card > h2 { margin: 0 0 var(--ui-gap); }
  body.admin-page .page-content .section-heading { gap: var(--ui-gap); margin-bottom: var(--ui-gap); }
  body.admin-page .page-content .section-heading h2 { margin: 0; }
  body.admin-page .page-content .detail-grid { gap: var(--ui-gap) var(--ui-section-gap); }

  /* Tables share typography, with narrower horizontal padding for wide reports. */
  body.admin-page .page-content table { font-family: var(--ui-font-family); font-size: var(--ui-font-table); line-height: 1.5; }
  body.admin-page .page-content table :is(th, td) {
    padding: 14px 12px;
    font-size: var(--ui-font-table);
    line-height: 1.5;
  }
  body.admin-page .page-content table th {
    font-size: var(--ui-font-th);
    font-weight: 700;
  }
  body.admin-page .page-content .private-hire-summary-table :is(th, td) { padding-right: 8px; padding-left: 8px; }
  body.admin-page .page-content table :is(.table-sort-button, thead button) { font-size: inherit; line-height: inherit; }
  body.admin-page .page-content :is(.status, .status-pill, .progress-pill, .pricing-status) {
    font-family: var(--ui-font-family);
    font-size: var(--ui-font-small);
    line-height: 1.4;
  }
  body.admin-page .page-content .table-card { overflow-x: auto; }
  body.admin-page .page-content .private-hire-table-scroll { overflow-x: auto; }
  body.admin-page .page-content .private-hire-filters { flex-wrap: wrap; }
  body.admin-page .page-content .private-hire-periods { max-width: 100%; overflow-x: auto; }
  @media (max-width: 1700px) {
    body.admin-page .page-content .private-hire-periods { flex-basis: 100%; }
  }

  body.admin-page .page-content .tabs {
    gap: var(--ui-section-gap);
    align-items: stretch;
    overflow-x: auto;
  }
  body.admin-page .page-content .tabs a {
    box-sizing: border-box;
    min-height: 44px;
    padding: 12px 2px;
    font-family: var(--ui-font-family);
    font-size: var(--ui-font-body);
    line-height: 20px;
    white-space: nowrap;
  }
  body.admin-page .page-content .tabs .ui-icon { width: 16px; height: 16px; }
  body.admin-page .page-content dialog {
    font-family: var(--ui-font-family);
    font-size: var(--ui-font-body);
    line-height: 1.5;
  }
}
