/* CTR SUITE — comfortable workspace geometry, 15 Oct 2026.
 * Loaded after page styles. Screen only; receipts and transaction logic untouched.
 * Scoped to workspace content. Never changes modal visibility or scroll ownership.
 */
@media screen {
 html body {--ctr-comfort-gap:18px;--ctr-comfort-pad:20px;--ctr-comfort-gutter:24px}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main {
  min-width:0!important;
 }
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main > :is(.content,.module-page,.opening-shift-page,.customer-page,.billing-content,.notifications-page,.profile-page) {
  box-sizing:border-box!important;min-width:0!important;max-width:100%!important;
  padding:22px var(--ctr-comfort-gutter) 40px!important;
 }
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.module-head,.page-head,.page-header,.pb-page-head,.customer-head,.profile-head,.opening-head,.rh-head,.cs-page-head,.cr-page-head,.billing-head,.notifications-head,.report-head,.invoice-document-head,.promo-head) {
  position:relative!important;top:auto!important;transform:none!important;
  height:auto!important;max-height:none!important;min-height:min-content!important;flex-shrink:0!important;
  display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
  align-items:center!important;justify-content:space-between!important;
  gap:16px 20px!important;margin-top:0!important;margin-bottom:20px!important;
  min-width:0!important;isolation:auto!important;
 }
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.ws-title-first,.module-head,.page-head,.promo-head) > * {min-width:0;max-width:100%;box-sizing:border-box}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.ws-title-first,.module-head,.page-head,.promo-head) > :first-child {flex:1 1 280px}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.ws-title-first,.module-head,.page-head,.promo-head) h1 {
  font-family:var(--body,Inter,system-ui,sans-serif)!important;font-size:24px!important;
  line-height:1.3!important;font-weight:700!important;letter-spacing:-.025em!important;
  margin:0!important;overflow-wrap:anywhere;
 }
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.ws-title-first,.module-head,.page-head,.promo-head) p {font-size:12px!important;line-height:1.65!important;margin:6px 0 0!important}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.module-actions,.head-actions,.page-head-actions,.pb-head-actions,.filter-actions,.att-head-actions,.pay-actions) {
  display:flex!important;position:relative!important;inset:auto!important;flex-wrap:wrap!important;
  align-items:center!important;gap:10px!important;max-width:100%!important;min-width:0!important;
  height:auto!important;margin:0!important;
 }
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.module-actions,.head-actions,.page-head-actions,.pb-head-actions,.filter-actions,.att-head-actions,.pay-actions) > :is(button,a) {
  min-width:0!important;max-width:100%!important;min-height:40px!important;height:auto!important;
  white-space:normal!important;overflow-wrap:anywhere;font-size:12px!important;line-height:1.45!important;
  padding:9px 13px!important;border-radius:10px!important;flex-shrink:1!important;
 }
 html body .main.main.main.main.main .ws-shared-tools > .ws-context-after-title {
  flex:1 1 100%!important;width:100%!important;margin:0!important;padding:14px 0 0!important;
  border-top:1px solid var(--border,#e2e8f0);background:transparent!important;
 }
 html body .main.main.main.main.main .ctr-module-context-title {margin-bottom:9px!important;font-size:11px;line-height:1.5}
 html body .main.main.main.main.main .ctr-module-tabs {gap:8px!important;padding-bottom:4px;min-width:0;max-width:100%}
 html body .main.main.main.main.main .ctr-module-tabs a {min-height:40px!important;padding:9px 12px!important;font-size:12px!important;line-height:1.4!important}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.team-kpis,.att-kpis,.pay-kpis,.sal-kpis,.report-kpis,.finance-kpi-grid,.summary-grid,.pb-summary-grid,.cs-kpi-grid,.cr-kpi-grid,.m-grid) {
  gap:14px!important;min-width:0;margin-bottom:18px!important;
 }
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.m-card,.pb-card,.list-card,.settings-card,.profile-card,.report-chart-card,.report-data-card) {
  min-width:0;box-sizing:border-box;border-radius:16px!important;
  border-color:var(--border,#e2e8f0);box-shadow:0 4px 18px rgba(15,35,65,.035);
 }
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.m-card-head,.m-card-body) {padding:var(--ctr-comfort-pad)!important;min-width:0}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main .m-card-head {gap:12px!important;flex-wrap:wrap}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.m-card-head h2,.m-card-head h3) {font-size:15px!important;line-height:1.45!important}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.team-kpi,.att-kpi,.pay-kpi,.sal-kpi,.m-kpi,.finance-kpi,.report-kpi,.pb-stat) {min-width:0;box-sizing:border-box;padding:16px!important;border-radius:14px!important}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.k-value,.pb-stat-value,.m-kpi>strong,.report-kpi>strong) {overflow-wrap:anywhere;line-height:1.3!important}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.m-field,.form-group,.m-filter,.m-filters,.filter-bar,.member-tools) {min-width:0;max-width:100%;gap:12px;flex-wrap:wrap}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.m-input,.m-select,.m-textarea) {min-width:0;max-width:100%;box-sizing:border-box;font-family:inherit;line-height:1.5}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.m-field,.form-group) > label {display:block;margin-bottom:6px;line-height:1.5}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.m-table-wrap,.table-wrap,.table-responsive,.ws-table-scroll,.att-table-wrap,.pay-table-wrap,.team-table-wrap,.invite-table-wrap,.pb-table-wrap,.sales-table-wrap) {min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main .m-table :is(th,td) {padding:12px 14px!important;line-height:1.5!important}
 html body .main.main.main.main.main :is(.team-grid,.settings-shell,.report-shell,.finance-two,.report-two) {gap:var(--ctr-comfort-gap)!important;min-width:0;align-content:start}
 html body .main.main.main.main.main :is(.team-grid,.settings-shell,.report-shell,.finance-two,.report-two) > * {min-width:0}
 html body .main.main.main.main.main :is(.team-tabs,.ctr-payroll-tabs,.subscription-center-nav) {flex-wrap:wrap;gap:8px;margin-block:16px}
}
@media screen and (max-width:767px) {
 html body {--ctr-comfort-gap:14px;--ctr-comfort-pad:14px;--ctr-comfort-gutter:14px}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main > :is(.content,.module-page,.opening-shift-page,.customer-page,.billing-content,.notifications-page,.profile-page) {padding-top:16px!important;padding-bottom:calc(28px + env(safe-area-inset-bottom))!important}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.ws-title-first,.module-head,.page-head,.promo-head) {gap:14px!important;margin-bottom:16px!important}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.ws-title-first,.module-head,.page-head,.promo-head) h1 {font-size:20px!important}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.module-actions,.head-actions,.page-head-actions,.pb-head-actions) {width:100%!important;gap:8px!important}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.module-actions,.head-actions,.page-head-actions,.pb-head-actions) > :is(a,button) {min-height:44px!important;flex:1 1 auto!important}
 html body .main.main.main.main.main .ctr-module-tabs {flex-wrap:nowrap!important;overflow-x:auto!important;padding-bottom:6px!important}
 html body .main.main.main.main.main .ctr-module-tabs a {min-height:44px!important}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.team-kpis,.att-kpis,.pay-kpis,.sal-kpis,.finance-kpi-grid,.cs-kpi-grid,.cr-kpi-grid) {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.team-kpi,.att-kpi,.pay-kpi,.sal-kpi,.m-kpi,.finance-kpi,.report-kpi,.pb-stat) {padding:13px!important}
 html body .main.main.main.main.main :is(.team-grid,.settings-shell,.finance-two,.report-two) {grid-template-columns:minmax(0,1fr)!important}
 html body .main.main.main.main.main :is(.team-left,.settings-rail) {position:static!important}
}
@media screen {
 /* Application state always wins over presentation, including action groups. */
 html body .main.main.main.main.main.main.main.main [hidden] {display:none!important}
}
@media screen {
 .sa-main .sa-content {min-width:0}
 .sa-main :is(.sa-head,.panel-head,.searchbar) {gap:14px;flex-wrap:wrap;min-width:0}
 .sa-main .sa-head {height:auto;min-height:min-content;margin-bottom:22px}
 .sa-main .sa-head h1 {line-height:1.3;overflow-wrap:anywhere}
 .sa-main .panel {min-width:0;border-radius:16px}
 .sa-main .table-wrap {max-width:100%;overflow-x:auto}
 .sa-main .searchbar :is(input,select) {min-width:0;max-width:100%}
}
@media screen {
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main > .content > :is(.module-page,.customer-page,.profile-page,.opening-shift-page,.sales-modern-page) {padding:0!important;margin:0!important;min-width:0;max-width:100%}
}
@media screen {
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.m-input,.m-select,.m-textarea) {font-size:13px!important}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main :is(.m-input,.m-select) {min-height:40px!important}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.m-field,.form-group) > label {font-size:12px!important;line-height:1.5!important}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main .m-table {font-size:12px!important}
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main .m-table :is(th,td) {font-size:12px!important}
}
@media screen and (max-width:767px) {
 html body:not(.ctr-pos-page):not(.ctr-pos-v65) .main.main.main.main.main :is(.m-input,.m-select,.m-textarea) {font-size:16px!important}
}
