/* Repères de navigation et ticket accessible sur les écrans tactiles. */
#app button:focus-visible, #app select:focus-visible, #app input:focus-visible {
  outline: 3px solid #087e9b;
  outline-offset: 3px;
}
#app button { min-height: 44px; }
#app > header { height: auto; }
.session-context { display: inline-flex; align-items: center; gap: 5px; }
.session-context > span { font-size: 12px; font-weight: 700; color: #475569; }
.session-context:has(select.hidden:empty) { display: none; }
.session-context #stockLocationSelector.hidden:not(:empty) { display: block !important; }
#app > header .session-line { flex-wrap: wrap; gap: 8px; }
#app > header nav button { white-space: nowrap; }
#app > header nav [data-view="analytics"],
#app > header nav [data-view="admin"] { margin-left: 14px; }
#syncOverview { background: #eef4f7; color: #164361; border: 1px solid #cbd5e1; font-size: 12px; padding: 0 10px; }
#syncOverview.has-error { background: #fff4e5; color: #854d0e; border-color: #d99a30; }
#syncOverview.offline { border-style: dashed; }
#ticketPanel .cart-total, #ticketPanel .cart-actions, #ticketPanel .cart-heading { flex-shrink: 0; }
#payCart { min-height: 52px; font-size: 18px; font-weight: 750; }
#clearCart { color: #64748b; background: #f1f5f9; }
#app .section-tabs { flex-wrap: wrap; }
@media (min-width: 801px) {
  #view-pos .pos-layout { height: calc(100dvh - var(--tilivo-header-height, 110px) - 28px); min-height: 300px; }
  #ticketPanel .ticket-details { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
  #ticketPanel .cart-items { overflow: visible; }
}
@media (max-width: 800px) {
  #app > header .brand strong { white-space: normal; }
  .session-context { max-width: 100%; }
  .session-context select { max-width: 190px; }
  #ticketPanel.expanded { max-height: calc(100dvh - var(--tilivo-header-height, 130px) - 16px); }
  #ticketPanel.expanded .ticket-details { overflow-y: auto; flex: 1 1 auto; }
  #ticketPanel.expanded .cart-items { max-height: none; overflow: visible; }
  #view-pos .catalog { padding-bottom: var(--tilivo-ticket-height, 300px); }
  #ticketPanel { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
}
