/* Clover Station / Mini landscape fit. The Android app marks its older
   WebView with nsp-clover-legacy, so these flex fallbacks do not alter Windows. */
html.nsp-clover-legacy body { overflow-x: hidden; }
html.nsp-clover-legacy .dash-main {
  padding: 8px 10px 34px !important;
  overflow-x: hidden !important;
}
html.nsp-clover-legacy .feature-space { margin: 0 !important; padding: 0 !important; }
html.nsp-clover-legacy .panel { min-width: 0 !important; padding: 12px !important; }
html.nsp-clover-legacy button,
html.nsp-clover-legacy a.primary,
html.nsp-clover-legacy a.secondary { min-height: 44px; }

/* Restore a clear, compact title/hamburger on modules whose full-size layout
   intentionally hid the shared heading. */
html.nsp-clover-legacy .dashboard[data-active-module="management"] .feature-heading,
html.nsp-clover-legacy .dashboard[data-active-module="owneradmin"] .feature-heading,
html.nsp-clover-legacy .dashboard[data-active-module="editdoneorder"] .feature-heading,
html.nsp-clover-legacy .dashboard[data-active-module="turn"] .feature-heading,
html.nsp-clover-legacy .dashboard[data-active-module="booking"] .feature-heading {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-align-items: center !important;
  align-items: center !important;
  gap: 9px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 45 !important;
  min-height: 64px !important;
  margin: 0 0 7px !important;
  padding: 6px 8px !important;
  border: 1px solid #d7e0e5;
  border-radius: 9px;
  background: rgba(244,246,247,.98) !important;
  box-shadow: 0 3px 12px rgba(7,26,43,.10);
}
html.nsp-clover-legacy .feature-heading > div {
  min-width: 0 !important;
  -webkit-flex: 1 1 auto !important;
  flex: 1 1 auto !important;
}
html.nsp-clover-legacy .feature-heading h2 {
  margin: 1px 0 !important;
  font-size: 25px !important;
  line-height: 1 !important;
}
html.nsp-clover-legacy .feature-heading .muted {
  margin: 2px 0 0 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
html.nsp-clover-legacy .feature-heading .eyebrow { font-size: 9px !important; }
html.nsp-clover-legacy .feature-heading > .refresh {
  margin: 0 !important;
  min-width: 92px;
  padding: 7px 12px !important;
}
html.nsp-clover-legacy .dashboard.module-active > .dash-main > .dash-head { display: none !important; }

/* Modules with their own title bar keep that bar visible at the top. */
html.nsp-clover-legacy .pos-board-commandbar,
html.nsp-clover-legacy .pos-register-commandbar,
html.nsp-clover-legacy .gcv2-head,
html.nsp-clover-legacy .booking-compact-bar {
  position: sticky !important;
  top: 0 !important;
  z-index: 44 !important;
}

/* Management: Chromium 52 has no CSS Grid, so use compact flex rows. */
html.nsp-clover-legacy .manager-workspace { padding: 0 2px 18px !important; }
html.nsp-clover-legacy .manager-pane { min-height: 0 !important; }
html.nsp-clover-legacy .manager-tabs {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-wrap: nowrap !important;
  flex-wrap: nowrap !important;
  gap: 5px !important;
  margin: 0 0 7px !important;
}
html.nsp-clover-legacy .manager-tabs button {
  min-width: 0 !important;
  min-height: 48px !important;
  padding: 6px 8px !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  -webkit-flex: 1 1 16% !important;
  flex: 1 1 16% !important;
}
html.nsp-clover-legacy .manager-summary-cards,
html.nsp-clover-legacy .owner-admin-cards {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-wrap: nowrap !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  margin: 8px 0 !important;
}
html.nsp-clover-legacy .manager-summary-cards > *,
html.nsp-clover-legacy .owner-admin-cards > * {
  width: auto !important;
  min-width: 0 !important;
  min-height: 118px !important;
  padding: 12px !important;
  -webkit-flex: 1 1 24% !important;
  flex: 1 1 24% !important;
}
html.nsp-clover-legacy .manager-summary-cards strong,
html.nsp-clover-legacy .owner-admin-cards strong { font-size: 26px !important; }
html.nsp-clover-legacy .manager-split,
html.nsp-clover-legacy .manager-catalog-grid,
html.nsp-clover-legacy .manager-sync-grid,
html.nsp-clover-legacy .owner-admin-grid,
html.nsp-clover-legacy .owner-admin-split {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
}
html.nsp-clover-legacy .manager-split > *,
html.nsp-clover-legacy .manager-catalog-grid > *,
html.nsp-clover-legacy .owner-admin-grid > *,
html.nsp-clover-legacy .owner-admin-split > * {
  min-width: 360px !important;
  -webkit-flex: 1 1 46% !important;
  flex: 1 1 46% !important;
}
html.nsp-clover-legacy .manager-sync-grid > * {
  min-width: 280px !important;
  -webkit-flex: 1 1 30% !important;
  flex: 1 1 30% !important;
}

/* Owner/date toolbars stay on one compact row on Station and wrap on Mini. */
html.nsp-clover-legacy .owner-admin-toolbar { padding: 6px !important; gap: 6px !important; }
html.nsp-clover-legacy .owner-admin-range input { min-width: 122px !important; padding: 8px !important; }
html.nsp-clover-legacy .owner-admin-tabs button,
html.nsp-clover-legacy .owner-admin-toolbar button { min-height: 44px !important; padding: 7px 10px !important; }
html.nsp-clover-legacy .owner-admin-list button,
html.nsp-clover-legacy .owner-admin-list > div {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
  -webkit-justify-content: space-between !important;
  justify-content: space-between !important;
  gap: 4px 10px !important;
}
html.nsp-clover-legacy .owner-admin-list button > :first-child,
html.nsp-clover-legacy .owner-admin-list > div > :first-child { min-width: 0; -webkit-flex: 1 1 auto !important; flex: 1 1 auto !important; }
html.nsp-clover-legacy .owner-admin-list small { width: 100% !important; -webkit-flex: 1 1 100% !important; flex: 1 1 100% !important; }

/* Register / checkout: compact controls and keep real payment actions visible. */
html.nsp-clover-legacy .pos-workspace { gap: 7px !important; }
html.nsp-clover-legacy .pos-tabs { gap: 5px !important; }
html.nsp-clover-legacy .pos-tabs button { min-height: 46px !important; padding: 7px 11px !important; }
html.nsp-clover-legacy .pos-catalog {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
  -webkit-align-content: flex-start !important;
  align-content: flex-start !important;
  gap: 6px !important;
}
html.nsp-clover-legacy .pos-service {
  width: auto !important;
  min-width: 160px !important;
  max-width: none !important;
  min-height: 76px !important;
  padding: 9px !important;
  -webkit-flex: 1 1 22% !important;
  flex: 1 1 22% !important;
}
html.nsp-clover-legacy .pos-adjustments {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-wrap: nowrap !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  margin: 7px 0 !important;
}
html.nsp-clover-legacy .pos-adjustments label { min-width: 0 !important; margin-top: 3px !important; -webkit-flex: 1 1 30% !important; flex: 1 1 30% !important; }
html.nsp-clover-legacy .pos-adjustments input { margin-top: 3px !important; padding: 8px !important; }
html.nsp-clover-legacy #posCreateTicket { margin-top: 7px !important; padding: 12px !important; }
html.nsp-clover-legacy .pos-sale-grid,
html.nsp-clover-legacy .pos-ticket-grid {
  display: -webkit-flex !important;
  display: flex !important;
  gap: 8px !important;
  -webkit-align-items: flex-start !important;
  align-items: flex-start !important;
}
html.nsp-clover-legacy .pos-sale-grid > :first-child { -webkit-flex: 1 1 58% !important; flex: 1 1 58% !important; }
html.nsp-clover-legacy .pos-sale-grid > :last-child { min-width: 370px !important; -webkit-flex: 1 1 38% !important; flex: 1 1 38% !important; }
html.nsp-clover-legacy .pos-ticket-grid > * { min-width: 360px !important; -webkit-flex: 1 1 46% !important; flex: 1 1 46% !important; }
html.nsp-clover-legacy .windows-transactions { margin-bottom: 8px !important; }
html.nsp-clover-legacy .windows-transaction-list { max-height: 200px !important; }
html.nsp-clover-legacy .pos-payment {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 30 !important;
  display: -webkit-flex !important;
  display: flex !important;
  gap: 6px !important;
  padding: 8px !important;
  background: #fff !important;
}
html.nsp-clover-legacy .pos-payment button { min-width: 120px !important; min-height: 52px !important; }

/* Gift card, waitlist, booking and kiosk compact landscape fallbacks. */
html.nsp-clover-legacy .gcv2-head { padding: 10px 14px !important; }
html.nsp-clover-legacy .gcv2-tabs { padding: 6px !important; gap: 5px !important; }
html.nsp-clover-legacy .gcv2-tabs button { min-height: 46px !important; padding: 6px 10px !important; }
html.nsp-clover-legacy .gcv2-metrics {
  display: -webkit-flex !important;
  display: flex !important;
  gap: 7px !important;
  margin: 7px 0 !important;
}
html.nsp-clover-legacy .gcv2-metrics > * { min-width: 150px !important; -webkit-flex: 1 1 22% !important; flex: 1 1 22% !important; padding: 10px !important; }
html.nsp-clover-legacy .gcv2-grid { display: -webkit-flex !important; display: flex !important; gap: 9px !important; }
html.nsp-clover-legacy .gcv2-grid > * { min-width: 380px !important; -webkit-flex: 1 1 44% !important; flex: 1 1 44% !important; }
html.nsp-clover-legacy .turn-commandbar { margin-bottom: 7px !important; padding: 6px !important; }
html.nsp-clover-legacy .turn-commandbar button { min-height: 46px !important; }
html.nsp-clover-legacy .booking-board-shell { height: calc(100vh - 150px) !important; min-height: 430px !important; }
html.nsp-clover-legacy .booking-toolbar,
html.nsp-clover-legacy .booking-filter { padding: 6px !important; gap: 5px !important; }
html.nsp-clover-legacy .kiosk-page > header { padding: 10px 16px !important; }
html.nsp-clover-legacy .kiosk-page > header h2 { margin: 3px 0 !important; font-size: 28px !important; }
html.nsp-clover-legacy .kiosk-layout { padding: 12px !important; gap: 10px !important; }
html.nsp-clover-legacy .kiosk-main { -webkit-flex: 1 1 auto !important; flex: 1 1 auto !important; }
html.nsp-clover-legacy .kiosk-summary { width: 310px !important; min-width: 280px !important; -webkit-flex: 0 0 310px !important; flex: 0 0 310px !important; }

html.nsp-clover-legacy dialog { max-height: 92vh !important; overflow-y: auto !important; }
html.nsp-clover-legacy .booking-dialog footer { position: sticky; bottom: 0; z-index: 5; background: #fff; }

/* Clover Mini landscape (commonly 1280x800): use two compact rows where six
   controls would otherwise become too narrow. */
@media (min-width: 801px) and (max-width: 1366px) {
  html.nsp-clover-legacy .feature-heading { min-height: 58px !important; }
  html.nsp-clover-legacy .feature-heading h2 { font-size: 22px !important; }
  html.nsp-clover-legacy .manager-tabs { -webkit-flex-wrap: wrap !important; flex-wrap: wrap !important; }
  html.nsp-clover-legacy .manager-tabs button { -webkit-flex: 1 1 30% !important; flex: 1 1 30% !important; }
  html.nsp-clover-legacy .manager-summary-cards,
  html.nsp-clover-legacy .owner-admin-cards { -webkit-flex-wrap: wrap !important; flex-wrap: wrap !important; }
  html.nsp-clover-legacy .manager-summary-cards > *,
  html.nsp-clover-legacy .owner-admin-cards > * { -webkit-flex: 1 1 46% !important; flex: 1 1 46% !important; }
  html.nsp-clover-legacy .gcv2-grid,
  html.nsp-clover-legacy .pos-sale-grid,
  html.nsp-clover-legacy .pos-ticket-grid { -webkit-flex-wrap: wrap !important; flex-wrap: wrap !important; }
  html.nsp-clover-legacy .gcv2-grid > *,
  html.nsp-clover-legacy .pos-sale-grid > *,
  html.nsp-clover-legacy .pos-ticket-grid > * { min-width: 0 !important; -webkit-flex: 1 1 100% !important; flex: 1 1 100% !important; }
  html.nsp-clover-legacy .pos-service { min-width: 145px !important; -webkit-flex: 1 1 30% !important; flex: 1 1 30% !important; }
  html.nsp-clover-legacy .windows-transaction-list { max-height: 160px !important; }
  html.nsp-clover-legacy .booking-board-shell { height: calc(100vh - 185px) !important; }
}
