/* Bilvo MERN — POS layout overrides (Gayathri parity) */

/* Fullscreen POS: no sidebar offset, use full width */
.pos-body--fullscreen .pos-sidebar {
  display: none !important;
}

.pos-body--fullscreen .pos-main {
  margin-left: 0 !important;
  max-width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
}

.pos-body--fullscreen .pos-footer {
  display: none !important;
}

/* POS app inside main content area */
.pos-main > .pos-app--fullscreen,
.pos-body--fullscreen .pos-app--fullscreen,
.pos-app--fullscreen {
  flex: 1;
  max-width: none;
  width: 100%;
  padding: 16px 24px 24px !important;
  box-sizing: border-box;
}

.pos-app--fullscreen .pos-topbar {
  margin: 0 0 12px !important;
  padding: 12px 16px !important;
  gap: 12px 16px;
  border-radius: 14px;
  box-sizing: border-box;
}

.pos-app--fullscreen .pos-topbar-brand {
  padding-right: 0;
}

.pos-app--fullscreen .pos-topbar-meta {
  gap: 10px 14px;
  padding: 0;
  background: transparent !important;
}

.pos-app--fullscreen .pos-bill-badge {
  padding: 8px 12px;
}

.pos-app--fullscreen .pos-topbar-actions {
  gap: 8px;
}

.pos-app--fullscreen .pos-modules-strip {
  margin: 0 0 14px !important;
  padding: 0 !important;
  gap: 8px;
}

.pos-app--fullscreen .pos-search-row {
  gap: 14px;
  margin-bottom: 14px;
  align-items: stretch;
}

.pos-app--fullscreen .pos-panel {
  padding: 16px 18px;
  margin: 0;
}

.pos-app--fullscreen .pos-scan-panel .pos-panel-title,
.pos-app--fullscreen .pos-search-panel .pos-panel-title {
  margin-bottom: 12px;
}

.pos-app--fullscreen .pos-categories-row {
  margin-bottom: 12px;
}

.pos-app--fullscreen .pos-product-picker {
  margin: 4px 0 16px;
  max-height: none;
  overflow: visible;
  padding: 10px 6px 10px 2px;
  scrollbar-width: thin;
}

.pos-app--fullscreen .pos-product-grid {
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  gap: 10px;
  padding: 2px 0 4px;
}

.pos-app--fullscreen .pos-category-card {
  min-width: 88px;
}

.pos-app--fullscreen .pos-table-wrap {
  overflow-x: auto;
}

.pos-app--fullscreen .pos-cart-table {
  min-width: 0;
}

.pos-app--fullscreen .pos-recent-table {
  min-width: 520px;
}

.pos-app--fullscreen .pos-workspace {
  gap: 14px;
  margin-bottom: 14px;
}

.pos-app--fullscreen .pos-bottom-grid {
  gap: 14px;
  align-items: stretch;
}

.pos-app--fullscreen .pos-bottom-grid > .pos-panel {
  min-height: 0;
}

/* Search inputs — match Gayathri bar height */
.pos-app--fullscreen .pos-search-panel .pos-search-bar {
  width: 100%;
}

.pos-app--fullscreen .pos-cart-head {
  margin-bottom: 12px;
}

.pos-app--fullscreen .pos-cart-panel .pos-panel-title {
  margin: 0;
}

.pos-app--fullscreen .pos-checkout-head {
  margin: 0 0 12px;
}

.pos-app--fullscreen .pos-checkout-sub {
  margin: 4px 0 0;
}

.pos-app--fullscreen .pos-customer-fields {
  gap: 12px;
}

.pos-app--fullscreen .pos-form-grid {
  gap: 12px;
}

.pos-app--fullscreen .pos-scan-field {
  gap: 10px;
}

/* Customer form spacing */
.pos-app--fullscreen .pos-customer-fields .pos-input {
  min-height: 42px;
  padding: 10px 12px;
}

.pos-app--fullscreen .pos-field > span {
  margin-bottom: 6px;
  font-size: 0.78rem;
  font-weight: 600;
}

/* Summary panel */
.pos-app--fullscreen .pos-summary-panel {
  position: sticky;
  top: 8px;
}

.pos-app--fullscreen .pos-grand-total {
  margin: 14px 0;
  padding: 16px 14px;
}

.pos-app--fullscreen .pos-coupon-row {
  margin-top: 12px;
}

.pos-app--fullscreen .pos-coupon-row .pos-input {
  flex: 1;
  min-width: 0;
}

/* Payment panel */
.pos-app--fullscreen .pos-payment-panel {
  padding: 16px 18px 18px;
}

.pos-app--fullscreen .pos-payment-panel .pos-checkout-stack {
  gap: 12px;
}

.pos-app--fullscreen .pos-pay-tabs {
  margin: 0;
}

.pos-app--fullscreen .pos-cash-block,
.pos-app--fullscreen .pos-split-pay {
  margin: 0;
  padding: 12px 14px;
}

.pos-app--fullscreen .pos-change-row {
  margin: 0;
}

.pos-app--fullscreen .pos-pay-actions {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-top: 12px;
}

.pos-app--fullscreen .pos-pay-actions .pos-btn {
  width: 100%;
  justify-content: center;
}

/* Recent bills table */
.pos-app--fullscreen .pos-recent-panel .bq-table,
.pos-app--fullscreen .pos-recent-table {
  font-size: 0.8rem;
}

.pos-app--fullscreen .pos-recent-panel .bq-table th,
.pos-app--fullscreen .pos-recent-panel .bq-table td {
  padding: 8px 10px;
}

/* Flash messages */
.pos-app--fullscreen .bq-flash {
  margin: 0 0 14px !important;
  padding: 10px 16px !important;
  border-radius: 10px;
}

/* Quick-add modal */
.pos-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(30, 8, 18, 0.45);
  display: grid;
  place-items: center;
  padding: 16px;
}

.pos-modal-backdrop .pos-modal {
  width: min(420px, 100%);
  max-height: 90vh;
  overflow-y: auto;
}

.pos-modal-backdrop .pos-modal h2 {
  margin: 0 0 14px;
  font-size: 1.1rem;
  color: var(--pos-maroon);
}

.pos-modal-backdrop .pos-field {
  display: grid;
  gap: 6px;
  margin-bottom: 12px;
}

/* Receipt print hidden on screen */
.pos-receipt-print {
  display: none;
}

@media print {
  .pos-sidebar,
  .bq-workspace-bar,
  .pos-footer,
  .pos-topbar,
  .pos-modules-strip,
  .pos-search-row,
  .pos-categories-row,
  .pos-product-picker,
  .pos-workspace,
  .pos-bottom-grid {
    display: none !important;
  }

  .pos-receipt-print {
    display: block !important;
  }
}

.pos-mini-select,
.pos-mini-select:not([disabled]) {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: none !important;
}

@media (max-width: 1400px) {
  .pos-app--fullscreen .pos-bottom-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      'customer'
      'payment'
      'recent';
  }

  .pos-app--fullscreen .pos-workspace {
    grid-template-columns: 1fr;
  }

  .pos-app--fullscreen .pos-summary-panel {
    position: static;
  }
}

@media (max-width: 768px) {
  .pos-main > .pos-app--fullscreen,
  .pos-body--fullscreen .pos-app--fullscreen,
  .pos-app--fullscreen {
    padding: 12px 16px 16px !important;
  }

  .pos-app--fullscreen .pos-topbar {
    padding: 12px 14px !important;
    margin: 0 0 12px !important;
  }

  .pos-app--fullscreen .pos-search-row {
    grid-template-columns: 1fr;
  }

  .pos-app--fullscreen .pos-product-picker {
    max-height: none;
  }
}
