/* Screen typography shared by all shop modules. Loaded after module styles. */
@media screen {
  :root {
    --muted: #566b63;
    --shop-text: 1rem;
    --shop-secondary: .875rem;
    --shop-caption: .8125rem;
  }

  body { font-size: var(--shop-text); line-height: 1.5; }
  h2 { font-size: 1.25rem; line-height: 1.4; }
  h3, .form-panel h3 { font-size: 1.125rem; line-height: 1.4; }
  .page-heading p { font-size: var(--shop-text); line-height: 1.6; }
  .eyebrow { font-size: .75rem; letter-spacing: .1em; }

  .nav-item { font-size: .9375rem; line-height: 1.5; padding-block: 12px; }
  .nav-label { font-size: .75rem; color: #61746a; letter-spacing: .09em; }
  .brand-sub { font-size: .625rem; }
  .shop-card strong { font-size: var(--shop-secondary); }
  .shop-card small { font-size: var(--shop-caption); }
  .sidebar-bottom > small, .page-footer { font-size: .75rem; color: #61746a; }

  .topbar-left { font-size: var(--shop-secondary); min-width: 0; }
  .topbar-right .today { font-size: var(--shop-secondary); }
  .user-meta strong { font-size: var(--shop-secondary); line-height: 1.4; }
  .user-meta small { font-size: var(--shop-caption); line-height: 1.4; }
  .user-avatar { font-size: var(--shop-secondary); width: 38px; height: 38px; }

  .btn, .login-form-wrap .btn { font-size: .9375rem; min-height: 44px; line-height: 1.4; }
  .btn-sm { font-size: var(--shop-secondary); min-height: 40px; padding: 8px 12px; }
  .icon-button { min-width: 40px; min-height: 40px; }
  .row-actions .icon-button { min-width: 36px; min-height: 36px; }
  .row-actions svg { width: 18px; height: 18px; }

  .field { font-size: var(--shop-text); }
  .field > span, .filter-bar .field > span, .login-form-wrap .field > span {
    font-size: var(--shop-secondary); line-height: 1.5; color: #435e50;
  }
  .form-control, .form-select,
  .field .form-control, .field .form-select, .filter-bar .form-select,
  .pos-cart .form-control, .purchase-cart .form-control, .purchase-cart .form-select {
    font-size: var(--shop-text); line-height: 1.5; min-height: 46px;
  }
  .search-field input { font-size: var(--shop-text); line-height: 1.5; min-height: 46px; }
  .search-field svg { top: 50%; transform: translateY(-50%); }
  .filter-bar .field { min-width: 150px; flex-basis: 170px; }
  .check-filter, .field-hint, .form-status, .form-error, .scan-message,
  .camera-dialog > p, .return-item > label:last-child {
    font-size: var(--shop-secondary); line-height: 1.6;
  }
  .field-hint { color: var(--muted); }
  .check-filter input, .label-product-choice input { width: 18px; height: 18px; flex-shrink: 0; }
  .form-footer { flex-wrap: wrap; }

  .panel-heading h2, .form-panel > .panel-heading h2, .import-panel h2 {
    font-size: 1.125rem; line-height: 1.4;
  }
  .panel-heading p, .text-link, .back-link, .import-panel p,
  .empty-state p, .empty-state a { font-size: var(--shop-secondary); }
  .empty-state h3 { font-size: 1.125rem; }
  .pill, .stock-badge { font-size: var(--shop-caption); line-height: 1.5; }
  .metric-top { font-size: var(--shop-secondary); line-height: 1.5; }
  .metric > small { font-size: var(--shop-caption); line-height: 1.5; color: var(--muted); }
  .restock-item strong { font-size: .9375rem; }
  .restock-item small { font-size: var(--shop-secondary); }

  .table { font-size: .9375rem; line-height: 1.5; }
  .table th { font-size: .8125rem; line-height: 1.5; letter-spacing: .025em; color: #53675b; }
  .table td small, .product-cell small { font-size: var(--shop-secondary); color: var(--muted); }
  .product-cell strong { font-size: var(--shop-text); }
  .table td { padding-block: 18px; }
  .list-footer, .pagination-controls { font-size: var(--shop-secondary); }
  .pagination-controls { flex-wrap: wrap; }
  .tab-nav a { font-size: .9375rem; }
  .permission-grid h3 { font-size: var(--shop-text); }
  .permission-grid small, details pre, summary { font-size: var(--shop-secondary); }
  .toast-message { font-size: var(--shop-text); }

  .label-product-choice { font-size: var(--shop-text); padding-block: 16px; }
  .label-product-choice small { font-size: var(--shop-secondary); color: var(--muted); }
  .label-product-choice > span:first-of-type { min-width: 0; overflow-wrap: anywhere; }
  .pos-product { font-size: var(--shop-text); }
  .pos-product small { font-size: var(--shop-secondary); }
  .bill-totals > div { font-size: var(--shop-text); }
  .bill-totals > div:last-child { font-size: 1.25rem; }
  .stock-summary { font-size: var(--shop-secondary); }
  .stock-summary a { font-size: var(--shop-secondary); }

  .login-form-wrap > p, .login-story p { font-size: var(--shop-text); }
  .login-form-wrap .login-help, .login-feature, .login-story > small { font-size: var(--shop-secondary); }
}

@media screen and (max-width: 850px) {
  .bottom-nav a { font-size: .75rem; line-height: 1.3; min-height: 44px; justify-content: center; }
}

@media screen and (max-width: 580px) {
  .filter-bar .field { min-width: 0; flex-basis: calc(50% - 12px); }
  .filter-bar .check-filter { flex-basis: 100%; padding-bottom: 0; }
  .list-footer { align-items: flex-start; }
  .label-product-choice { gap: 10px; }
}
