/* Shared controls: crisp icons, readable labels, and one consistent touch target. */
.control-icon {
  display: block;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  pointer-events: none;
}
:is(.cashier-workstation,.combo-item-searchbar,.help-library) label.control-search {
  display: grid;
  grid-template-columns: 20px minmax(0,1fr);
  flex-direction: row;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 44px;
  margin-block: 0;
  padding: 0 12px;
  border: 1px solid #d1e6f3;
  border-radius: 10px;
  background: #fff;
  color: #0969b5;
  box-shadow: none;
}
:is(.cashier-workstation,.combo-item-searchbar,.help-library) label.control-search:focus-within {
  border-color: #0969b5;
  box-shadow: 0 0 0 3px rgb(9 105 181 / 18%);
}
:is(.cashier-workstation,.combo-item-searchbar,.help-library) .control-search input {
  min-width: 0;
  width: 100%;
  height: 42px;
  padding: 8px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #193b53;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  box-shadow: none;
}
.cashier-workstation .control-search input::placeholder { color: #58748a; opacity: 1; }
.cashier-catalog-toolbar { flex-wrap: wrap; }
.cashier-catalog-toolbar > strong { padding: 0; border-radius: 0; background: transparent; font-size: 18px; }
.cashier-catalog-toolbar label.control-search { flex: 1 1 260px; width: auto; max-width: 440px; margin-left: auto; }
.cashier-member-board header { flex-wrap: wrap; }
.cashier-member-board header label.control-search { flex: 1 1 240px; }
.cashier-orders-board > header { flex-wrap: wrap; }
.cashier-orders-board > header label.control-search { flex: 1 1 210px; max-width: 320px; }
.cashier-orders-board > header select { min-width: 0; min-height: 44px; border-color: #d1e6f3; border-radius: 10px; background: #fff; color: #193b53; font-size: 12px; }

.cashier-ticket > header { flex-wrap: wrap; gap: 10px; }
.cashier-ticket > header > div { flex: 1 1 150px; min-width: 0; overflow-wrap: anywhere; }
.cashier-ticket > header button.cashier-member-button,
.cashier-member-board header button.cashier-member-create {
  display: inline-flex;
  flex: 0 1 auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto;
  max-width: 100%;
  height: auto;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #97cdeb;
  border-radius: 10px;
  background: #fff;
  color: #0969b5;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}
.cashier-member-button > span { min-width: 0; max-width: 170px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.cashier-member-create > span { white-space: nowrap; }
.cashier-ticket-note { display: flex; align-items: center; gap: 9px; min-height: 44px; padding: 10px 12px; border: 1px solid #d1e6f3; border-radius: 10px; background: #f3faff; color: #58748a; font-size: 12px; }
.cashier-ticket-note > span { min-width: 0; overflow-wrap: anywhere; }
.cashier-ticket-meta { flex-wrap: wrap; }
.cashier-ticket-meta span { overflow-wrap: anywhere; }
.cashier-ticket-actions { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 6px; }
.cashier-ticket-actions button { gap: 6px; min-width: 0; min-height: 60px; padding: 9px 4px; border: 1px solid #d1e6f3; border-radius: 10px; background: #fff; color: #145787; }
.cashier-ticket-actions button span { font-size: 11px; font-weight: 650; line-height: 1.3; }
.cashier-ticket-actions .place { grid-column: 1 / -1; min-height: 46px; border: 1px solid #0969b5; border-radius: 10px; background: #0969b5; color: #fff; font-size: 15px; }
.cashier-ticket-actions button:disabled { background: #edf5fa; color: #677f90; border-color: #dceaf3; opacity: 1; cursor: not-allowed; }
.cashier-ticket-actions .place:disabled { background: #d4e8f4; color: #58748a; }

.cashier-channel-tabs button { border: 1px solid #97cdeb; border-radius: 10px; color: #58748a; font-size: 12px; }
.cashier-channel-tabs .control-icon { width: 24px; height: 24px; }
.cashier-channel-tabs button.active { border-color: #0969b5; background: #0969b5; color: #fff; }
.cashier-rail nav .control-icon { width: 23px; height: 23px; }
.cashier-dock :is(a,button) { width: auto; min-width: 100px; height: 46px; flex-direction: row; gap: 8px; padding: 10px 14px; border: 1px solid #97cdeb; border-radius: 10px; background: #fff; color: #145787; box-shadow: none; }
.cashier-dock a:nth-of-type(1),.cashier-dock a:nth-of-type(2) { background: #fff; }
.cashier-dock a.active { border-color: #fff; outline: 2px solid #97cdeb; outline-offset: 2px; }
.cashier-dock .pay { border-color: #0969b5; background: #0969b5; color: #fff; }
.cashier-dock button:disabled { background: #d4e8f4; color: #58748a; border-color: #d4e8f4; opacity: 1; filter: none; cursor: not-allowed; }
.cashier-dock span { font-size: 12px; font-weight: 650; }
.cashier-filter-rail button { border: 1px solid #97cdeb; border-radius: 9px; background: #f3faff; color: #145787; }
.cashier-filter-rail button.active { border-color: #fff; background: #145787; color: #fff; }

.cashier-workstation :is(button,a):focus-visible { outline: 3px solid #278ac0; outline-offset: 3px; }
@media (hover:hover) {
  .cashier-ticket > header button.cashier-member-button:hover,
  .cashier-member-board header button.cashier-member-create:hover,
  .cashier-ticket-actions button:not(:disabled):not(.place):hover,
  .cashier-ticket-note:hover { border-color: #0969b5; background: #f3faff; color: #145787; }
  .cashier-dock :is(a,button):not(:disabled):hover { border-color: #0969b5; background: #f3faff; color: #145787; }
}
@media (max-width:620px) {
  .cashier-catalog-toolbar { align-items: stretch; flex-direction: column; gap: 10px; }
  .cashier-catalog-toolbar label.control-search { flex: none; width: 100%; max-width: none; margin: 0; }
  .cashier-orders-board > header label.control-search { width: 100%; max-width: none; margin: 0; }
  .cashier-workstation .control-search input { font-size: 16px; }
  .cashier-dock { gap: 8px; }
  .cashier-dock :is(a,button) { flex: 1 1 0; min-width: 0; height: 54px; padding: 6px 3px; flex-direction: column; gap: 4px; }
  .cashier-dock span { font-size: 11px; }
}
