/* Consistent operational hierarchy across the eight daily-use workspaces.
   Scoped selectors keep embedded feature styling and Training Store behavior intact. */
:is(#repairs,#appointments,#customers,#schedule,#inventory,#reports,#support-tickets,#pcbuilds) {
  --gc-polish-accent: #36b9d1;
  --gc-polish-line: #d9e4ed;
  --gc-polish-soft: #f3f8fb;
}
:is(#repairs,#appointments,#customers,#schedule,#inventory,#reports,#support-tickets,#pcbuilds) .page-heading,
#customers :is(.gc-customer-header,.gc-customer-detail-head) {
  padding-bottom: 18px;
  border-bottom: 1px solid var(--gc-polish-line);
  align-items: center;
}
:is(#repairs,#appointments,#customers,#schedule,#inventory,#reports,#support-tickets,#pcbuilds) .page-heading .eyebrow,
#customers :is(.gc-customer-header,.gc-customer-detail-head) .eyebrow {
  color: #157d96;
  letter-spacing: .13em;
}
:is(#repairs,#appointments,#customers,#schedule,#inventory,#reports,#support-tickets,#pcbuilds) :is(.page-heading,.gc-customer-header,.gc-customer-detail-head) h1 {
  font-size: clamp(1.7rem,2.4vw,2.3rem);
  line-height: 1.12;
}
:is(#repairs,#appointments,#customers,#schedule,#inventory,#reports,#support-tickets,#pcbuilds) :is(.page-heading,.gc-customer-header,.gc-customer-detail-head) .subtle {
  max-width: 68ch;
  line-height: 1.5;
}
:is(#repairs,#appointments,#customers,#schedule,#inventory,#reports,#support-tickets,#pcbuilds) :is(.toolbar,.gc-inv-commandbar,.gc-support-toolbar,.gc-customer-toolbar) {
  align-items: center;
  gap: 12px;
}
:is(#repairs,#appointments,#customers,#schedule,#inventory,#reports,#support-tickets,#pcbuilds) :is(button,a,input,select,textarea):focus-visible {
  outline: 2px solid #40b8e4;
  outline-offset: 2px;
}
#repairs .table-wrap,
#inventory .table-wrap {
  scrollbar-color: #7a9bb1 transparent;
  scrollbar-width: thin;
}
#repairs .table-wrap :is(th,td),
#inventory .gc-inv-table :is(th,td) {
  padding-top: 12px;
  padding-bottom: 12px;
}
#repairs .table-wrap tbody tr:hover,
#inventory .gc-inv-table tbody tr:hover {
  background: rgba(54,185,209,.065);
}
#repairs .table-wrap th,
#inventory .gc-inv-table th {
  font-size: .7rem;
  letter-spacing: .09em;
}
#customers .gc-customer-metrics {
  gap: 10px;
}
#customers .gc-customer-metric {
  border-top: 3px solid var(--gc-polish-accent);
  min-height: 78px;
}
#customers .gc-customer-row.gc-customer-columns {
  font-size: .7rem;
  letter-spacing: .095em;
}
#customers button.gc-customer-row {
  min-height: 73px;
  padding-block: 12px;
}
#customers button.gc-customer-row:nth-child(2n + 1) {
  background: rgba(106,143,170,.035);
}
#customers button.gc-customer-row:hover {
  background: rgba(54,185,209,.09);
}
#customers .gc-customer-row > span {
  min-width: 0;
}
#customers .gc-customer-row strong,
#customers .gc-customer-row small {
  overflow-wrap: anywhere;
}
#customers .gc-customer-row strong {
  font-size: .92rem;
  line-height: 1.35;
}
#customers .gc-customer-row small {
  line-height: 1.4;
}
#customers .gc-customer-empty,
#support-tickets .gc-support-empty,
#inventory .gc-inv-empty {
  padding: 32px 20px;
  line-height: 1.5;
}
#inventory .gc-inv-tabs {
  padding: 6px;
  gap: 6px;
  margin-bottom: 20px;
}
#inventory .gc-inv-tabs .gc-inv-tab {
  border-radius: 8px;
  min-height: 42px;
  padding-inline: 15px;
}
#inventory .gc-inv-tabs .gc-inv-tab.active {
  position: relative;
  box-shadow: inset 0 -3px 0 var(--gc-polish-accent),0 2px 8px rgba(0,0,0,.08);
}
#inventory :is(.gc-rma-tabs,.gc-rma-nav,[data-rma-tabs]) {
  margin-top: 8px;
  padding: 10px 0 0;
  border-top: 1px dashed var(--gc-polish-line);
}
#inventory :is(.gc-rma-tabs,.gc-rma-nav,[data-rma-tabs])::before {
  content: 'Supplier return views';
  display: block;
  width: 100%;
  margin-bottom: 7px;
  color: #607b8d;
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
#inventory .gc-inv-grid .gc-inv-stat {
  border-top: 3px solid var(--gc-polish-accent);
}
#reports #gc-bookkeeper-report {
  gap: 22px;
}
#reports #gc-bookkeeper-report .gc-books-head {
  padding: 20px;
  border: 1px solid var(--gc-polish-line);
  border-left: 4px solid var(--gc-polish-accent);
  border-radius: 14px;
  background: var(--gc-polish-soft);
}
#reports #gc-bookkeeper-report .gc-books-head h2 {
  font-size: clamp(1.3rem,2vw,1.7rem);
}
#reports #gc-bookkeeper-report .gc-books-grid {
  gap: 16px;
  padding-top: 18px;
  border-top: 1px solid var(--gc-polish-line);
}
#reports #gc-bookkeeper-report .gc-books-card {
  border-top: 3px solid #85a8bd;
}
#reports #gc-bookkeeper-report .gc-books-card h2 {
  font-size: 1.08rem;
  line-height: 1.3;
}
#reports #gc-bookkeeper-report .gc-books-kpi {
  border-top: 3px solid var(--gc-polish-accent);
}
#support-tickets .gc-support-row,
#appointments .gc-appt-card {
  transition: border-color .14s ease,background-color .14s ease,box-shadow .14s ease;
}
#support-tickets .gc-support-row:hover,
#appointments .gc-appt-card:hover {
  border-color: #5b9eae;
  background: rgba(54,185,209,.055);
}
:is(#repairs,#appointments,#customers,#schedule,#inventory,#reports,#support-tickets,#pcbuilds) :is(.empty-card,.gc-schedule-empty,.gc-empty-report) {
  line-height: 1.55;
}
:is(#gc-customer-dialog,#gc-appt-dialog,#gc-schedule-dialog,.gc-inv-editor) {
  max-height: min(90dvh,860px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
:is(#gc-customer-dialog,#gc-appt-dialog,#gc-schedule-dialog,.gc-inv-editor) :is(.gc-customer-dialog-head,.gc-dialog-head,.gc-inv-editor-head) {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--gc-polish-line);
}
html[data-theme="dark"] :is(#repairs,#appointments,#customers,#schedule,#inventory,#reports,#support-tickets,#pcbuilds) {
  --gc-polish-line: #304659;
  --gc-polish-soft: #142838;
}
html[data-theme="dark"] :is(#repairs,#appointments,#customers,#schedule,#inventory,#reports,#support-tickets,#pcbuilds) .page-heading .eyebrow,
html[data-theme="dark"] #customers :is(.gc-customer-header,.gc-customer-detail-head) .eyebrow {
  color: #82d7e8;
}
html[data-theme="dark"] #customers button.gc-customer-row:nth-child(2n + 1) {
  background: rgba(97,154,188,.055);
}
html[data-theme="dark"] #customers button.gc-customer-row:hover {
  background: #193545;
}
html[data-theme="dark"] #reports #gc-bookkeeper-report .gc-books-head {
  background: #142838;
  border-color: #304659;
  border-left-color: #36b9d1;
}
html[data-theme="dark"] #inventory :is(.gc-rma-tabs,.gc-rma-nav,[data-rma-tabs])::before {
  color: #acc4d2;
}
@media(max-width:760px) {
  :is(#repairs,#appointments,#customers,#schedule,#inventory,#reports,#support-tickets,#pcbuilds) .page-heading,
  #customers :is(.gc-customer-header,.gc-customer-detail-head) {
    align-items: flex-start;
  }
  #customers .gc-customer-actions,
  #reports .gc-books-actions {
    width: 100%;
  }
  #customers .gc-customer-actions > button {
    flex: 1 1 auto;
  }
  #inventory .gc-inv-tabs {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  #inventory .gc-inv-tabs .gc-inv-tab {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  #reports #gc-bookkeeper-report .gc-books-head {
    padding: 15px;
  }
  #reports #gc-bookkeeper-report .gc-books-grid {
    gap: 12px;
  }
}
@media(max-width:560px) {
  #customers .gc-customer-row strong {
    font-size: .88rem;
  }
  #customers button.gc-customer-row {
    padding: 13px;
  }
  #customers .gc-customer-metric {
    min-height: 72px;
  }
  #reports #gc-bookkeeper-report .gc-books-head :is(button,select) {
    min-height: 42px;
  }
}
/* Adjacent operational routes use the same visual language. Ready for Pickup
   is a repair queue state, so the Repairs treatment above applies there. */
:is(#leads,#shipping,#staff) {
  --gc-polish-line: #d9e4ed;
}
:is(#leads,#shipping,#staff) .page-heading {
  padding-bottom: 18px;
  border-bottom: 1px solid var(--gc-polish-line);
  align-items: center;
}
:is(#leads,#shipping,#staff) .page-heading .eyebrow {
  color: #157d96;
  letter-spacing: .13em;
}
#leads .toolbar {
  align-items: center;
  gap: 12px;
}
#staff .two-col > .card,
#shipping #shipping-workspace .card {
  border-top: 3px solid #36b9d1;
}
#staff .onboarding-steps li {
  padding-block: 7px;
  line-height: 1.5;
}
html[data-theme="dark"] :is(#leads,#shipping,#staff) {
  --gc-polish-line: #304659;
}
html[data-theme="dark"] :is(#leads,#shipping,#staff) .page-heading .eyebrow {
  color: #82d7e8;
}
@media(max-width:760px) {
  :is(#leads,#shipping,#staff) .page-heading {
    align-items: flex-start;
  }
}

/* The desktop shell owns the available width. A fixed 1550px view cap left
   hundreds of unused pixels beside the operational tables on large screens. */
@media (min-width:751px) {
  .app-shell main > .view {
    width:100%;
    max-width:none;
    justify-self:stretch;
  }
  #settings.active-view,
  #staff.active-view {max-width:none}
}

/* Filtered lead stages need a clear end state and an immediate way back. */
#leads .v1-lead-empty {
  display:grid;
  justify-items:center;
  gap:7px;
  padding:28px 16px 32px;
  text-align:center;
  color:var(--muted,#66788a);
}
#leads .v1-lead-empty-icon {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background:rgba(36,140,191,.11);
  color:#49b7e0;
  font-size:1.3rem;
}
#leads .v1-lead-empty strong {color:var(--ink,#1c2e40);font-size:.94rem}
#leads .v1-lead-empty p {margin:0 0 5px;line-height:1.45}
#leads .v1-lead-empty button {min-height:38px}
html[data-theme="dark"] #leads .v1-lead-empty strong {color:#e8f3fd}
html[data-theme="dark"] #leads .v1-lead-empty-icon {background:rgba(57,156,207,.15)}

/* Payment settings: keep each switch title and supporting copy on distinct lines. */
#settings #gc-payment-settings .gc-pay-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1300px}
#settings #gc-payment-settings .gc-pay-toggle{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;gap:11px!important;min-width:0;min-height:66px;box-sizing:border-box}
#settings #gc-payment-settings .gc-pay-toggle input[type="checkbox"]{width:18px!important;min-width:18px!important;height:18px;margin:2px 0 0;flex:none}
#settings #gc-payment-settings .gc-pay-toggle>span{display:grid;gap:4px;min-width:0;line-height:1.3}
#settings #gc-payment-settings .gc-pay-toggle>span strong,#settings #gc-payment-settings .gc-pay-toggle>span small{display:block;overflow-wrap:anywhere}
#settings #gc-payment-settings .gc-pay-toggle>span small{font-size:.76rem;font-weight:500;color:var(--muted,#a9bacb)}
@media(max-width:1000px){#settings #gc-payment-settings .gc-pay-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){#settings #gc-payment-settings .gc-pay-settings-grid{grid-template-columns:minmax(0,1fr)}}
/* Let all seven store days use the available desktop canvas. */
#settings #gc-store-hours-form{max-width:none;width:100%}
#settings #gc-store-hours-form .gc-hours-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%}
#settings #gc-store-hours-form>label{max-width:720px}
@media(min-width:2050px){#settings #gc-store-hours-form .gc-hours-grid{grid-template-columns:repeat(7,minmax(0,1fr))!important}}
@media(max-width:1450px){#settings #gc-store-hours-form .gc-hours-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:1000px){#settings #gc-store-hours-form .gc-hours-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:670px){#settings #gc-store-hours-form .gc-hours-grid{grid-template-columns:minmax(0,1fr)!important}}
