/* Staff screens share one reading scale; printed documents retain their layout. */
@media screen {
  .app-body .schedule-person-compact{min-height:40px;padding:8px 12px;display:flex;align-items:center}
}
@media screen {
  .app-body .topbar{min-height:60px;padding:6px 18px;gap:10px}
  .app-body .main-content{padding:16px 20px}
  .app-body :is(.page-heading,.booking-heading,.stock-heading){margin-bottom:12px;gap:12px}
  .app-body :is(.page-heading,.booking-heading,.stock-heading) h1{font-size:24px;margin:0}
  .app-body :is(.page-heading,.booking-heading,.stock-heading) p{margin:4px 0 0}
  .app-body .pos-workspace-dialog{display:none;flex-direction:column}
  .app-body .pos-workspace-dialog[open]{display:flex}
  .app-body .pos-workspace-dialog>header{flex:none;min-height:52px;padding:4px 12px}
  .app-body .pos-workspace-dialog iframe{flex:1;min-height:0;height:auto}
}
@media screen {
  .app-body,.login-body {
    --font-sans:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
    --muted:#52636b;
    font-family:var(--font-sans);
    font-size:16px;
    line-height:1.55;
    letter-spacing:0;
  }
  .app-body :is(button,input,select,textarea),.login-body :is(button,input,select,textarea) {
    font-family:var(--font-sans);
    letter-spacing:0;
  }
  .app-body :is(h1,h2,h3,h4) {letter-spacing:0;line-height:1.3;overflow-wrap:anywhere}
  .app-body .nav-link {font-size:16px;line-height:1.4;min-height:48px;font-weight:600}
  .app-body :is(.nav-group-label,.profile-mini small,.profile-mini strong,.topbar-field>span,.kpi-label,.trend,.kpi-card small) {font-size:14px;line-height:1.5}
  .app-body :is(.logout-button,.page-heading p,.booking-heading p,.stock-heading p,.panel-header p,.panel-header span) {font-size:15px}
  .app-body :is(.topbar-field .select-control,.language-switcher select) {font-size:16px;min-height:44px}
  .app-body :is(.bk-button,.stock-button,.pos-button,.quick-booking,.primary-button,.button),.login-body .primary-button {
    min-height:48px;font-size:16px;line-height:1.35;font-weight:600;
    padding:12px 16px;white-space:normal;text-align:center;overflow-wrap:anywhere;
  }
  .app-body :is(.pos-icon,.icon-button,.mobile-menu-button) {min-width:44px;min-height:44px}
  .app-body :is(.booking-field,.stock-field,.booking-filters,.stock-filters,.cash-inline,.booking-form,.wi-field) label {
    font-size:14px;line-height:1.5;font-weight:600;color:#344b57;
  }
  .app-body :is(.booking-form,.booking-field,.stock-field,.stock-filters,.booking-filters,.cash-inline,.wi-field,.wi-care,.wi-toolbar) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea),
  .login-body :is(input:not([type=checkbox]):not([type=hidden]),select) {
    font-size:16px;line-height:1.5;min-height:46px;
  }
  .app-body :is(.booking-table,.stock-table,.comparison-table) {font-size:15px;line-height:1.55;font-variant-numeric:tabular-nums}
  .app-body :is(.booking-table,.stock-table,.comparison-table) th {font-size:14px;line-height:1.4;color:#344b57;padding:14px}
  .app-body :is(.booking-table,.stock-table,.comparison-table) td {padding:14px}
  .app-body :is(.booking-table,.stock-table,.comparison-table) small {font-size:13px;line-height:1.5;color:#52636b}
  .app-body :is(.booking-facts dt,.cash-totals dt,.booking-pagination,.stock-pages,.booking-link) {font-size:15px}
  .app-body :is(.tp-eyebrow,.tp-session,.tp-tile small,.tp-product small,.tp-cart-line small,.tp-kpis dt,.pos-date,.pos-time small,.pos-row-main small) {font-size:14px;line-height:1.45}
  .app-body .tp-operator {font-size:14px;color:#52636b;margin:4px 0 0;overflow-wrap:anywhere}
  .app-body .tp-basket .tp-care-selection {display:grid;grid-template-columns:minmax(0,1fr);gap:18px;border:0;padding-top:20px}
  .app-body .tp-basket .tp-care-selection[hidden] {display:none}
  .app-body .tp-basket .tp-care-selection>div {min-width:0}
  .app-body .tp-basket .tp-care-selection>div .tp-empty {padding:22px 0;color:#52636b;font-size:15px}
  .app-body .tp-basket .tp-care-selection label {font-size:14px;font-weight:600}
  .app-body .tp-basket .tp-care-selection input {font-size:16px}
  .app-body .touch-pos[data-mode=services] :is([data-touch-lines],.tp-cart-actions,.tp-basket-footer,[data-touch-count]) {display:none}
  .app-body :is(.tp-tile strong,.tp-workflows a,.tp-mode,.tp-mode button,.tp-modes button,.pos-tabs a) {font-size:16px;line-height:1.4}
  .app-body :is(.tp-workflows a,.pos-tabs a) {min-height:48px}
  .app-body :is(.tp-tile,.pos-client) {font-size:17px}
  .app-body :is(.wi-care small,.wi-header small,.wi-header span,.wi-toolbar label,.wi-client-options summary,.wi-field>label) {font-size:14px;line-height:1.5}
  .app-body :is(.wi-tabs button,.wi-care select,.wi-slots button) {font-size:16px;min-height:46px}
  .app-body :is(.wi-slots h2,.wi-dossier h2,.panel-header h2) {font-size:19px}
  .app-body :is(.schedule-person,.schedule-event,.schedule-hour,.schedule-time) {font-size:14px;line-height:1.4}
  .app-body .schedule-event small {font-size:13px}
  .app-body :is(.schedule-clock-head,.schedule-clock>div,.schedule-person small) {font-size:13px;color:#52636b}
  .app-body .schedule-event strong {font-size:14px}
  .app-body :is(.week-event,.booking-status,.pos-status) {font-size:14px;line-height:1.45}
  .app-body :is(.booking-notice,.tp-notice,.wi-errors,.errorlist,.helptext) {font-size:14px;line-height:1.55}
  .login-body :is(.field-label,.login-heading p,.remember-me,.forgot-link,label) {font-size:15px;line-height:1.5}
  .app-body :is(.bottom-nav a,.bottom-nav button) {font-size:13px;line-height:1.3;min-height:60px}
  .app-body .mobile-records td::before {font-size:13px;line-height:1.5}
  .app-body :is(input,select,textarea):focus-visible {outline:3px solid #4267a5;outline-offset:2px}
  [dir=rtl] .app-body,[dir=rtl] .login-body {--font-sans:Tahoma,"Segoe UI",Arial,sans-serif}
}
@media screen and (max-width:600px) {
  .app-body :is(.booking-table,.stock-table,.mobile-records) {font-size:15px}
  .app-body .mobile-records td:first-child {font-size:16px}
  .app-body :is(.bk-button,.stock-button,.pos-button,.quick-booking,.button) {padding:11px 13px}
  .app-body .topbar-filters {flex-wrap:wrap}
  .app-body .topbar-field {flex:1 1 140px}
}
