/* J12 Ótica · corrections verified on 320–1440 px screens. */
.optical-selected-customer[hidden] { display: none !important; }
.optical-search-box { position: relative; min-width: 0; }
.optical-search-box > input {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: 12px 14px;
  border: 1px solid #cfddea;
  border-radius: 11px;
  background: #fff;
  color: #183450;
  font: inherit;
  font-size: 15px;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
.optical-search-box > input:focus {
  border-color: var(--primary, #0878e8);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary, #0878e8) 14%, transparent);
}
.optical-search-results { max-width: 100%; overflow-wrap: anywhere; }
.optical-selected-customer .optical-customer-main { min-width: 0; overflow-wrap: anywhere; }
.table-wrap, .pdv-cart-table-wrap { -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.pdv-modal-card { max-height: calc(100dvh - 32px); overflow-y: auto; }
.pdv-optical-source-banner > div, .pdv-optical-source-banner strong { min-width: 0; overflow-wrap: anywhere; }

@media (max-width: 760px) {
  .optical-command-bar {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .optical-command-bar .os-command { min-width: 0; min-height: 60px; padding: 11px 12px; }
  .optical-command-bar .os-command:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .optical-command-bar .os-command strong { white-space: normal; line-height: 1.3; }
  .optical-command-bar .os-command small { line-height: 1.4; }
  .optical-search-box > input { font-size: 16px; }
  .optical-create-panel .panel-heading p { font-size: 14px; line-height: 1.55; }
  .optical-create-actions .btn { min-height: 44px; white-space: normal; }

  .pdv-shortcuts {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .pdv-shortcuts .pdv-shortcut { min-width: 0; min-height: 64px; padding: 10px; gap: 8px; }
  .pdv-shortcuts .pdv-shortcut > div { min-width: 0; }
  .pdv-shortcuts .pdv-shortcut strong { font-size: 12px; line-height: 1.3; white-space: normal; }
  .pdv-shortcuts .pdv-shortcut small { font-size: 10px; white-space: normal; line-height: 1.35; }
  .pdv-cart-table-wrap { overflow-x: auto; }
  .pdv-cart-table:has(.pdv-empty-row) { width: 100%; min-width: 0; table-layout: auto; }
  .pdv-cart-table:has(.pdv-empty-row) thead { display: none; }
  .pdv-cart-table .pdv-empty-row td { width: auto; padding: 22px 14px; }
  .pdv-empty-row td > div { width: 100%; min-width: 0; min-height: 140px; height: auto; text-align: center; }
  .pdv-empty-row strong, .pdv-empty-row small { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .pdv-cart-table-wrap:has(.pdv-empty-row) { min-height: 180px; }
  .pdv-cart-table-wrap:not(:has(.pdv-empty-row))::before {
    content: 'Deslize para ver todos os valores →';
    display: block;
    position: sticky;
    left: 0;
    width: fit-content;
    max-width: 100%;
    padding: 9px 12px;
    color: #61758b;
    font-size: 11px;
  }
  .pdv-cart-head { flex-wrap: wrap; gap: 10px; }
  .pdv-cart-head > div { flex-wrap: wrap; min-width: 0; }
  .pdv-modal { padding: 12px; }
  .pdv-modal-card { max-width: 100%; max-height: calc(100dvh - 24px); }
  .page-wrap .filter-bar > label { min-width: 0; max-width: 100%; }
  .page-wrap .filter-bar input, .page-wrap .filter-bar select { max-width: 100%; }
  .page-wrap input:not([type='checkbox']):not([type='radio']):not([type='hidden']),
  .page-wrap select, .page-wrap textarea { font-size: 16px; }
  .topbar .menu-button { min-width: 40px; min-height: 40px; }
}

@media (max-width: 520px) {
  .system-footer.j12-standard-footer { padding: 22px 16px 14px !important; gap: 16px; }
  .system-footer.j12-standard-footer .system-footer-middle { display: none; }
  .system-footer.j12-standard-footer .j12-footer-developer-card { padding: 16px; }
  .system-footer.j12-standard-footer .j12-standard-footer-bottom { margin-top: 0; padding-top: 13px; }
  .login-panel input:not([type='checkbox']), .login-panel select { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .sidebar, .sidebar-backdrop { transition: none !important; }
}
/* Shared contact options in the OS and PDV. */
.optical-post-sale-row > label, .pdv-post-sale-row > label { display:grid; gap:6px; min-width:0; }
.optical-post-sale-row > label input, .pdv-post-sale-row > label input { box-sizing:border-box; width:100%; min-width:0; max-width:100%; min-height:44px; padding:10px 12px; border:1px solid #cedce8; border-radius:8px; background:#fff; color:#16324f; font:inherit; font-weight:500; }
.post-sale-channels { grid-column:1/-1; min-width:0; border-top:1px solid #dce8f3; padding-top:12px; }
.post-sale-channels .post-sale-channel-check { display:flex; align-items:flex-start; gap:8px; font-size:13px; font-weight:600; }
.post-sale-channels .post-sale-channel-check input[type="checkbox"] { width:18px; height:18px; min-height:18px; margin:1px 0 0; flex:0 0 18px; }
.post-sale-channels small { display:block; margin:6px 0; color:#62758a; font-size:12px; line-height:1.45; }
.post-sale-channel-options { margin-top:12px; padding:12px; background:#f3faf7; border:1px solid #d8eade; border-radius:10px; }
.post-sale-channel-options[hidden], .post-sale-channel-options [hidden] { display:none!important; }
.post-sale-channel-options label { display:block; min-width:0; margin:8px 0; }
.post-sale-channel-options input, .post-sale-channel-options select { box-sizing:border-box; width:100%; min-width:0; max-width:100%; padding:10px; border:1px solid #cedce8; border-radius:8px; background:white; color:#16324f; }
.post-sale-repeat-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(80px,1fr); gap:10px; }
.post-sale-email-option { margin-top:12px; color:#62758a; font-size:12px; }
.post-sale-email-option summary { cursor:pointer; padding:5px 0; }
.post-sale-email-option label { margin-top:8px; }
