@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
#section-central-local .central-independent-node{border:1px solid var(--border,#d9e2ed);border-radius:14px;padding:18px;margin-bottom:12px;background:var(--card-bg,#fff);overflow-wrap:anywhere}
#section-central-local .central-independent-node h3{font-size:16px;margin:0 0 12px}
#section-central-local .central-independent-node p{font-size:13px;margin:10px 0}
#section-central-local .central-independent-node small{display:block;color:var(--text-muted);font-size:12px;line-height:1.6}
#section-central-local .central-independent-node-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
#section-central-local .central-independent-node details{margin-top:16px;padding-top:12px;border-top:1px solid var(--border,#d9e2ed)}
#section-central-local .central-independent-node summary{cursor:pointer;font-weight:700}
.central-independent-install{font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.central-independent-install label{display:block;font-weight:700;margin-bottom:8px}
.central-independent-install ol{padding-left:20px}
.central-independent-install li{margin:10px 0}
.central-independent-install progress{display:block;width:100%;height:14px;accent-color:#b38218}
.central-independent-install progress[hidden]{display:none}
/* TOTEM - INSIGHT SYSTEMS — design system */

:root {
  --green-dark:  #153b2a;
  --green-main:  #16834a;
  --green-light: #32a967;
  --green-pale:  #e8f6ed;
  --gold:        #d9a83e;
  --gold-light:  #fbf0d2;
  --red:         #d71920;
  --orange:      #f05a28;
  --blue:        #173b79;
  --bg:          #f1f5fa;
  --white:       #fffefa;
  --text:        #172b4d;
  --text-muted:  #65748b;
  --border:      #d5dfed;
  --shadow:      0 12px 30px rgba(18,43,83,.10), 0 2px 5px rgba(18,43,83,.06);
  --radius:      14px;
  --radius-sm:   9px;
  --sidebar-w:   240px;
  --header-h:    60px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.5;
  -webkit-tap-highlight-color: transparent;
}

/* ── Scrollbars ── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }

/* ── Buttons ── */
.btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 20px; border-radius: var(--radius-sm);
  border: none; cursor: pointer; font-size: 14px; font-weight: 600;
  transition: all .2s; text-decoration: none; white-space: nowrap;
}
.btn:active { transform: scale(0.97); }
.btn-primary   { background: var(--gold); color: #211900; }
.btn-primary:hover { background: #e8c900; }
.btn-secondary { background: #fff; color: var(--text); border: 1px solid var(--border); }
.btn-secondary:hover { background: #f5f5f5; }
.btn-danger    { background: var(--red); color: #fff; }
.btn-danger:hover { background: #a93226; }
.btn-gold      { background: var(--gold); color: #211900; }
.btn-gold:hover { background: #e8c900; }
.btn-sm { padding: 6px 12px; font-size: 12px; }
.btn-lg { padding: 14px 28px; font-size: 16px; }
.btn-block { width: 100%; justify-content: center; }
.btn:disabled { opacity: .5; cursor: not-allowed; }
.btn-icon { padding: 8px; border-radius: 50%; }

/* Estoque: fluxo de arquivos administrativos */
.inventory-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.modal-kicker { margin-top:3px; color:var(--text-muted); font-size:11px; }
.import-config-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.inventory-dropzone { display:grid; gap:5px; place-items:center; min-height:142px; margin:4px 0 16px; padding:22px; border:2px dashed #8eb7d7; border-radius:15px; background:#f1f7fb; color:#16466a; cursor:pointer; text-align:center; transition:background .15s, border-color .15s; }
.inventory-dropzone:hover,.inventory-dropzone:focus-visible { border-color:var(--blue); background:#e7f3fb; outline:3px solid rgba(11,117,201,.16); }
.inventory-dropzone.is-dragging { border-color:var(--green-main); background:#e7f6ef; transform:translateY(-1px); }
.inventory-dropzone strong { font-size:16px; }
.inventory-dropzone span { color:var(--blue); font-weight:700; }
.inventory-dropzone small { color:var(--text-muted); font-size:11px; }
.inventory-import-status { min-height:24px; margin:8px 0; color:var(--text-muted); font-size:12px; }
.inventory-import-preview { max-height:330px; overflow:auto; border:1px solid var(--border); border-radius:12px; }
.inventory-preview-meta { display:flex; justify-content:space-between; gap:10px; padding:11px 13px; background:#f5f8fb; color:var(--text-muted); font-size:11px; }
.inventory-preview-meta b { color:var(--text); }
.inventory-preview-table { min-width:860px; }
.inventory-preview-table td { padding:7px; }
.inventory-preview-table .form-control { min-width:76px; padding:7px 8px; font-size:12px; }
.inventory-preview-table .is-unrecognized td { background:#fff5ed; }
.inventory-match { display:inline-flex; padding:4px 7px; border-radius:999px; font-size:10px; font-weight:800; white-space:nowrap; }
.inventory-match.good { background:#e5f5ec; color:#167345; }
.inventory-match.bad { background:#ffebe4; color:#b33a20; }
.inventory-empty { padding:26px 16px; color:var(--text-muted); text-align:center; }
.inventory-confirm { display:flex; gap:9px; align-items:flex-start; margin-top:14px; color:#294861; font-size:12px; line-height:1.4; }
.inventory-confirm input { margin-top:2px; accent-color:var(--green-main); }
.inventory-privacy-note { padding:11px 12px; border-radius:9px; background:#eef6fa; color:#3b5f73; font-size:12px; }
.fiscal-retention-notice { display:flex; gap:12px; align-items:flex-start; margin-bottom:16px; padding:14px 16px; border:1px solid #e6cf8c; border-left:4px solid var(--gold); border-radius:12px; background:#fff9e7; color:#604d18; font-size:12px; }
.fiscal-retention-notice strong { white-space:nowrap; }
.fiscal-original-file { margin-bottom:16px; padding:14px; border:1px solid #bdd9e9; border-radius:13px; background:#f2f8fb; }
.fiscal-original-file > div:first-child { display:flex; align-items:center; gap:10px; }
.fiscal-original-file small { display:block; margin-top:2px; color:var(--text-muted); word-break:break-all; }
.fiscal-file-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:10px; background:#087f77; color:#fff; font-size:11px; font-weight:900; }
.fiscal-original-file dl { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-top:13px; }
.fiscal-original-file dl div { padding-top:8px; border-top:1px solid #d4e6ee; }
.fiscal-original-file dt { color:var(--text-muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.fiscal-original-file dd { margin-top:2px; color:var(--text); font-size:11px; word-break:break-word; }
.fiscal-xml-data { margin:16px 0; border:1px solid #c7dcd9; border-radius:12px; padding:12px 14px; background:#f7fbfa; }
.fiscal-xml-data > summary { cursor:pointer; color:#155e58; font-size:14px; font-weight:800; }
.fiscal-xml-data > p { margin:12px 0; color:var(--text-muted); font-size:12px; line-height:1.5; }
.fiscal-xml-section { margin-top:8px; border:1px solid var(--border); border-radius:8px; background:#fff; }
.fiscal-xml-section > summary { cursor:pointer; padding:10px 12px; font-size:13px; font-weight:700; }
.fiscal-xml-section > summary small { color:var(--text-muted); font-weight:400; }
.fiscal-xml-section dl { margin:0; border-top:1px solid var(--border); max-height:360px; overflow:auto; }
.fiscal-xml-section dl > div { display:grid; grid-template-columns:minmax(120px, 38%) minmax(0, 1fr); gap:10px; padding:8px 12px; border-top:1px solid #eff2f2; font-size:12px; }
.fiscal-xml-section dt { min-width:0; color:var(--text-muted); overflow-wrap:anywhere; }
.fiscal-xml-section dd { min-width:0; margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.fiscal-xml-data summary:focus-visible { outline:2px solid #087b71; outline-offset:2px; }
@media (max-width:700px) {
  .inventory-page-head { align-items:stretch !important; flex-direction:column; gap:12px; }
  .inventory-actions { justify-content:stretch; }
  .inventory-actions .btn { flex:1; justify-content:center; }
  .import-config-grid,.fiscal-original-file dl { grid-template-columns:1fr; }
  .fiscal-retention-notice { flex-direction:column; gap:4px; }
  .fiscal-xml-section dl > div { grid-template-columns:1fr; gap:3px; }
}

/* ── Forms ── */
.form-group { margin-bottom: 16px; }
.form-group label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; color: var(--text-muted); }
.form-control {
  width: 100%; padding: 10px 14px; border-radius: var(--radius-sm);
  border: 1.5px solid var(--border); font-size: 14px; background: #fff;
  transition: border-color .2s; outline: none;
}
.form-control:focus { border-color: var(--green-main); }
select.form-control { cursor: pointer; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

/* ── Cards ── */
.card {
  background: var(--white); border-radius: var(--radius);
  box-shadow: var(--shadow); overflow: hidden;
}
.card-header {
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  display: flex; align-items: center; justify-content: space-between;
  font-weight: 700; font-size: 15px;
}
.card-body { padding: 20px; }

/* ── Badges ── */
.badge {
  display: inline-block; padding: 3px 10px; border-radius: 20px;
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px;
}
.badge-green  { background: var(--green-pale); color: var(--green-dark); }
.badge-red    { background: #fde8e6; color: var(--red); }
.badge-orange { background: #fef0e0; color: var(--orange); }
.badge-blue   { background: #e0f0ff; color: var(--blue); }
.badge-gray   { background: #f0f0f0; color: #666; }
.badge-gold   { background: var(--gold-light); color: #8a6c1a; }

/* ── Modal ── */
.modal-backdrop {
  position: fixed; inset: 0; background: rgba(0,0,0,.55);
  z-index: 1000; display: flex; align-items: center; justify-content: center;
  padding: 20px; animation: fadeIn .15s;
}
.modal {
  background: #fff; border-radius: var(--radius); width: 100%; max-width: 560px;
  max-height: 90vh; overflow-y: auto; box-shadow: 0 20px 60px rgba(0,0,0,.3);
  animation: slideUp .2s;
}
.modal-header {
  padding: 20px 24px; border-bottom: 1px solid var(--border);
  display: flex; align-items: center; justify-content: space-between;
}
.modal-header h3 { font-size: 17px; font-weight: 700; }
.modal-body { padding: 24px; }
.modal-footer {
  padding: 16px 24px; border-top: 1px solid var(--border);
  display: flex; gap: 10px; justify-content: flex-end;
}
.modal-close { background: none; border: none; font-size: 22px; cursor: pointer; color: #999; line-height: 1; }

/* ── Toast notifications ── */
#toast-container {
  position: fixed; top: auto; right: 12px;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 9999;
  display: flex; flex-direction: column; align-items: flex-end; gap: 6px;
  width: min(320px, calc(100vw - 24px));
  pointer-events: none;
}
.toast {
  width: fit-content; max-width: 100%; padding: 8px 12px;
  border-radius: 9px; color: #fff;
  font-size: 12px; line-height: 1.3; font-weight: 600; min-width: 0;
  box-shadow: 0 4px 20px rgba(0,0,0,.2); animation: slideIn .3s;
  display: flex; align-items: center; gap: 7px;
  overflow-wrap: anywhere;
}
.toast-success { background: var(--green-main); }
.toast-error   { background: var(--red); }
.toast-info    { background: var(--blue); }
.toast-warning { background: var(--orange); }

/* ── Loading ── */
.spinner {
  width: 36px; height: 36px; border-radius: 50%;
  border: 3px solid var(--green-pale); border-top-color: var(--green-main);
  animation: spin 0.8s linear infinite;
}
.loading-overlay {
  position: fixed; inset: 0; background: rgba(255,255,255,.8);
  z-index: 5000; display: flex; align-items: center; justify-content: center;
  flex-direction: column; gap: 12px;
}

/* ── Tables ── */
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
table.data-table { width: 100%; border-collapse: collapse; font-size: 14px; }
table.data-table th {
  text-align: left; padding: 12px 16px; font-size: 12px; font-weight: 700;
  color: var(--text-muted); background: var(--bg); border-bottom: 1px solid var(--border);
  text-transform: uppercase; letter-spacing: .5px;
}
table.data-table td { padding: 12px 16px; border-bottom: 1px solid #f0f0f0; }
table.data-table tr:last-child td { border-bottom: none; }
table.data-table tr:hover td { background: #fafafa; }

/* ── Layout SPA ── */
.layout {
  display: flex; min-height: 100vh;
}

/* Sidebar */
.sidebar {
  width: var(--sidebar-w); min-height: 100vh;
  background: linear-gradient(165deg, #092a58 0%, #071d3d 72%, #061731 100%);
  display: flex; flex-direction: column; position: fixed; left: 0; top: 0; bottom: 0;
  z-index: 100; transition: transform .3s;
}
.sidebar-logo {
  padding: 22px 18px; border-bottom: 1px solid rgba(255,255,255,.1);
  display: flex; align-items: center; gap: 12px;
}
.sidebar-logo img { width: 48px; height: 48px; border-radius: 8px; object-fit: contain; }
.sidebar-logo-text { color: #fff; }
.sidebar-logo-text .brand { font-size: 17px; font-weight: 900; line-height: 1.1; letter-spacing:.4px; }
.sidebar-logo-text .sub { font-size: 10px; color: rgba(255,255,255,.6); }
.sidebar-nav { flex: 1; padding: 12px 0; overflow-y: auto; }
.sidebar-nav {
  scrollbar-width: auto;
  scrollbar-color: rgba(255,255,255,.58) rgba(255,255,255,.10);
}
.sidebar-nav::-webkit-scrollbar { width: 14px; }
.sidebar-nav::-webkit-scrollbar-track {
  background: rgba(255,255,255,.08);
  border-radius: 10px;
  margin: 5px 2px;
}
.sidebar-nav::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.52);
  border: 3px solid transparent;
  background-clip: padding-box;
  border-radius: 10px;
  min-height: 54px;
}
.sidebar-nav::-webkit-scrollbar-thumb:hover,
.sidebar-nav::-webkit-scrollbar-thumb:active {
  background: rgba(255,255,255,.82);
  border: 2px solid transparent;
  background-clip: padding-box;
}
.nav-section { padding: 4px 16px 4px; font-size: 10px; font-weight: 700; color: rgba(255,255,255,.35); text-transform: uppercase; letter-spacing: 1px; margin-top: 8px; }
.nav-item {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 20px; color: rgba(255,255,255,.75); cursor: pointer;
  font-size: 14px; font-weight: 500; border-left: 3px solid transparent;
  transition: all .15s; text-decoration: none;
}
.nav-item:hover { background: rgba(255,255,255,.08); color: #fff; }
.nav-item.active { background: rgba(255,255,255,.12); color: #fff; border-left-color: var(--gold); }
.nav-item .icon { width: 18px; text-align: center; font-size: 16px; }
.sidebar-footer {
  padding: 16px; border-top: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.5); font-size: 12px;
}
.sidebar-user { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.sidebar-user .avatar {
  width: 36px; height: 36px; border-radius: 50%; background: var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 700; color: #fff;
}
.sidebar-user .info .name { color: #fff; font-size: 13px; font-weight: 600; }
.sidebar-user .info .role { font-size: 11px; }

/* Main Content */
.main-content {
  margin-left: var(--sidebar-w); flex: 1; display: flex; flex-direction: column; min-height: 100vh;
}
.topbar {
  height: var(--header-h); background: #fff; border-bottom: 1px solid var(--border);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 24px; position: sticky; top: 0; z-index: 50;
  box-shadow: 0 1px 0 rgba(7,29,61,.06), 0 5px 18px rgba(7,29,61,.04);
}
.topbar-title { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:18px; font-weight:700; }
.topbar-navigation { display:flex; flex:1; align-items:center; gap:12px; min-width:0; }
.panel-history { display:flex; flex:0 0 auto; align-items:center; gap:4px; }
.panel-history button {
  display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center;
  width:auto; min-width:36px; height:36px; padding:0 10px;
  border:1px solid var(--border); border-radius:9px;
  background:#d9a83e; color:#10264b; font-size:12px; font-weight:600;
  white-space:nowrap; cursor:pointer;
}
.panel-history button:not(:disabled):hover { background:#bd8420; }
.panel-history button:focus-visible { outline:2px solid #10264b; outline-offset:2px; }
.panel-history button:disabled {
  background:#e8d8b5; color:#10264b; opacity:1; cursor:not-allowed;
}
.topbar-actions { display:flex; flex:0 1 auto; align-items:center; gap:12px; min-width:0; }
.page-content { padding: 24px; flex: 1; }

/* Mobile sidebar toggle */
.menu-toggle {
  display: none; width:44px; height:44px; flex:0 0 44px;
  align-items:center; justify-content:center;
  background:#ffdf00; border:1px solid #d9a83e; border-radius:9px;
  box-shadow:0 3px 0 #b88d00;
  font-size:22px; line-height:1; cursor:pointer; color:#10264b;
}
.menu-toggle:focus-visible { outline:3px solid #fff; outline-offset:2px; }
.sidebar-overlay {
  display: none; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 99;
}

/* ── Stats Cards ── */
.stats-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; margin-bottom: 24px; }
.stat-card {
  background: #fff; border-radius: var(--radius); padding: 20px;
  box-shadow: var(--shadow); display: flex; flex-direction: column; gap: 8px;
  border: 1px solid rgba(47,107,88,.06);
}
.stat-card .stat-label { font-size: 12px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; }
.stat-card .stat-value { font-size: 28px; font-weight: 800; color: var(--green-dark); }
.stat-card .stat-icon { font-size: 24px; }
.stat-card.gold .stat-value { color: var(--gold); }
.stat-card.red .stat-value  { color: var(--red); }
.stat-card.blue .stat-value { color: var(--blue); }
.dashboard-link, .dashboard-panel-link {
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
}
.dashboard-link:hover, .dashboard-panel-link:hover,
.dashboard-link:focus-visible, .dashboard-panel-link:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(11,79,145,.14);
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}
.dashboard-link-hint {
  color: var(--blue);
  font-size: 11px;
  font-weight: 700;
}
.dashboard-robot {
  position: relative;
  overflow: hidden;
  margin: 0 0 22px;
  padding: 22px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 22px;
  background:
    radial-gradient(circle at 88% 15%, rgba(37,211,102,.25), transparent 18rem),
    linear-gradient(135deg, #061f40, #0b5cad 68%, #087b63);
  box-shadow: 0 18px 38px rgba(7,29,61,.24), inset 0 1px 0 rgba(255,255,255,.18);
}
.dashboard-robot-intro { display:flex; align-items:center; gap:14px; position:relative; z-index:1; }
.dashboard-robot-avatar {
  width:68px; height:68px; border-radius:21px; display:grid; place-items:center;
  flex:0 0 auto; font-size:38px; background:linear-gradient(145deg,#fff,#dceaf6);
  box-shadow:0 8px 0 #9bb4ca,0 14px 28px rgba(0,0,0,.25);
}
.dashboard-robot-kicker { font-size:10px; font-weight:900; letter-spacing:.14em; color:#92d9ff; }
.dashboard-robot h3 { margin:2px 0 3px; font-size:25px; }
.dashboard-robot p { margin:0; color:rgba(255,255,255,.78); font-size:13px; }
.dashboard-robot-online {
  margin-left:auto; align-self:flex-start; padding:7px 10px; border-radius:999px;
  background:rgba(37,211,102,.16); border:1px solid rgba(37,211,102,.45);
  color:#8ff5b5; font-size:11px; font-weight:800;
}
.dashboard-robot-actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:20px 0 12px; }
.dashboard-robot-actions button {
  border:1px solid rgba(255,255,255,.2); border-radius:12px; padding:11px 9px;
  background:rgba(255,255,255,.1); color:#fff; font:inherit; font-size:12px;
  font-weight:800; cursor:pointer; box-shadow:0 5px 0 rgba(1,18,40,.5);
}
.dashboard-robot-actions button:active { transform:translateY(4px); box-shadow:0 1px 0 rgba(1,18,40,.5); }
.dashboard-robot-question { display:flex; gap:9px; margin:0 0 12px; }
.dashboard-robot-question .form-control { min-width:0; background:#fff; }
.dashboard-robot-answer {
  min-height:46px; padding:12px 14px; border-radius:12px; background:rgba(0,0,0,.2);
  border-left:3px solid #62c7ff; color:#eaf7ff; font-size:13px; line-height:1.45;
}
.admin-alert-center { margin-top:14px; padding:16px; border-radius:15px; background:rgba(255,255,255,.96); color:var(--text); }
.admin-alert-head { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:12px; }
.admin-alert-head h3 { margin:2px 0 0; font-size:18px; }
.admin-alert-head small { display:block; margin-top:4px; color:#526a7d; font-size:12px; }
.admin-alert-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:10px; }
.admin-alert-stat { padding:10px; border-radius:10px; background:#edf4fb; font-size:11px; font-weight:800; }
.admin-alert-stat.critical { background:#ffe9e7; color:#b62228; }
.admin-alert-stat.high { background:#fff2df; color:#a05e00; }
.admin-alert-stat.expiry { background:#fff9dc; color:#806400; }
.admin-alert-stat.reservations { background:#e9f0fc; color:#254b7f; }
.admin-alert-list { display:grid; gap:6px; max-height:270px; overflow:auto; }
.admin-alert-row { display:block; border:1px solid #dce6ef; border-left:4px solid #9caaba; border-radius:9px; padding:9px 10px; text-align:left; background:#fff; cursor:pointer; font:inherit; width:100%; }
.admin-alert-row strong { display:block; color:#193852; font-size:13px; }
.admin-alert-row span { display:block; margin-top:3px; color:#526a7d; font-size:12px; line-height:1.4; }
.admin-alert-row:focus-visible { outline:3px solid #1669a9; outline-offset:2px; }
.admin-alert-row.severity-critical { border-left-color:#d71920; }
.admin-alert-row.severity-warning { border-left-color:#f05a28; }
.assistant-products { margin-top:8px; display:grid; gap:5px; font-size:11px; color:#294861; }
.assistant-product-row { padding:7px; border-radius:7px; background:#f4f7fa; }
.assistant-price-action { margin-top:8px; padding:9px; border-radius:9px; background:#fff6de; font-size:12px; display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.assistant-sound-toggle { border:0; background:transparent; color:#fff; font-size:18px; cursor:pointer; padding:4px; }
@media (max-width:520px) {
  .dashboard-robot-question { flex-direction:column; }
  .dashboard-robot-question .btn { width:100%; justify-content:center; }
  .admin-alert-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion:reduce) {
  .admin-assistant-fab, .admin-assistant-panel, .toast { animation:none !important; transition:none !important; }
}
.dashboard-robot-answer.loading { opacity:.72; }
.dashboard-robot-whatsapp {
  margin-top:14px; padding:15px; border-radius:15px; background:#fff; color:var(--text);
  box-shadow:inset 0 1px 0 #fff,0 9px 22px rgba(0,0,0,.15);
}
.dashboard-robot-whatsapp-title { display:flex; gap:9px; align-items:center; margin-bottom:11px; color:#128c4a; }
.dashboard-robot-whatsapp-title > span { font-size:25px; }
.dashboard-robot-whatsapp-title small { display:block; color:var(--text-muted); font-weight:400; margin-top:2px; }
.dashboard-robot-fields { display:grid; grid-template-columns:1fr 1fr 2fr auto; gap:9px; align-items:stretch; }
.dashboard-robot-fields textarea { resize:vertical; min-height:44px; }
.pdv-online-badge {
  margin-left:auto; min-width:22px; padding:2px 6px; border-radius:999px;
  text-align:center; font-size:10px; background:rgba(255,255,255,.12); color:#fff;
}
.pdv-online-badge.active { background:#1fbe66; }
.pdv-live-dot {
  display:inline-block; width:8px; height:8px; margin-right:5px; border-radius:50%;
  background:#63e69a; box-shadow:0 0 0 5px rgba(99,230,154,.16);
}
.pdv-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.pdv-updated-time { font-size:23px !important; }
.pdv-create-form { display:grid; grid-template-columns:1fr 1fr auto; gap:10px; }
.pdv-stations-list { display:grid; gap:8px; margin-top:14px; }
.pdv-station-row {
  display:flex; justify-content:space-between; gap:12px; align-items:center;
  padding:11px 12px; border:1px solid var(--border); border-radius:12px; background:var(--bg);
}
.pdv-station-row small { display:block; margin-top:3px; color:var(--text-muted); word-break:break-all; }
.pdv-station-row > div:last-child { display:flex; flex-wrap:wrap; gap:6px; }
.pdv-station-info { min-width:0; flex:1; }
.pdv-station-operators { display:grid; gap:3px; margin-top:9px; padding-top:8px; border-top:1px solid var(--border); color:var(--text-muted); font-size:11px; }
.pdv-station-operators > b { color:var(--text); font-size:10px; text-transform:uppercase; letter-spacing:.04em; }
.pdv-station-operators span { overflow-wrap:anywhere; }
.pdv-station-operators small { display:inline-block; margin-left:4px; color:var(--green-dark); font-weight:700; }
.pdv-registration-entry { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:13px; padding:12px 14px; border:1px solid #e4d8b3; border-radius:11px; background:#fff9e8; color:#5f4b1d; font-size:12px; }
.pdv-registration-entry .btn { flex:0 0 auto; }
.user-pdv-actions { display:flex; align-items:center; justify-content:space-between; gap:9px; margin-top:7px; }
.user-pdv-actions small { color:var(--text-muted); font-size:11px; line-height:1.4; }
.user-management-route { display:inline-block; margin-top:8px; padding:0; border:0; background:none; color:#155e48; font:inherit; font-size:11px; font-weight:700; text-align:left; text-decoration:underline; cursor:pointer; }
.user-management-route:focus-visible { outline:2px solid var(--green-main); outline-offset:3px; border-radius:3px; }
.pdv-registration-modal { max-width:560px; }
.pdv-registration-modal #pdvRegistrationContext { display:block; margin-top:3px; color:var(--text-muted); font-size:11px; }
.pdv-registration-modal .modal-body { padding-top:18px; }
.pdv-registration-toggle { display:flex; align-items:flex-start; gap:10px; margin:2px 0 16px; padding:12px; border:1px solid var(--border); border-radius:10px; background:#f8f6ed; cursor:pointer; }
.pdv-registration-toggle input { margin-top:3px; accent-color:var(--green-main); }
.pdv-registration-toggle span { display:grid; gap:3px; color:var(--text); font-size:12px; }
.pdv-registration-toggle small { color:var(--text-muted); font-size:11px; line-height:1.4; }
.pdv-registration-modal #pdvRegistrationOperatorFields { padding:13px; border-radius:10px; background:#f4f7f2; }
.pdv-registration-modal #pdvRegistrationOperatorFields[hidden] { display:none; }
.pdv-registration-password-hint { display:block; margin:-8px 0 13px; color:var(--text-muted); font-size:11px; line-height:1.45; }
.pdv-registration-note { margin-top:12px; padding:10px 12px; border-left:3px solid var(--gold); border-radius:5px; background:#fff9e8; color:#5d4a1e; font-size:11px; line-height:1.45; }
.pdv-registration-error { margin:12px 0 0; color:#a1282e; font-size:12px; }
.pdv-registration-error:not([hidden]) { display:block; }
/* PDV admin card: size the form and station rows to their sidebar, not the viewport. */
.pdv-admin-side .pdv-manage-card { container-type:inline-size; min-width:0; }
.pdv-admin-side .pdv-create-form { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.pdv-admin-side .pdv-create-form .btn { grid-column:1 / -1; justify-content:center; }
.pdv-admin-side .pdv-registration-entry { align-items:flex-start; flex-direction:column; gap:9px; padding:10px 11px; line-height:1.4; }
.pdv-admin-side .pdv-registration-entry .btn { width:100%; justify-content:center; }
.pdv-admin-side .pdv-station-row {
  display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:9px;
  padding:10px; border-radius:10px;
}
.pdv-admin-side .pdv-station-info { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; gap:3px 8px; }
.pdv-admin-side .pdv-station-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pdv-admin-side .pdv-station-code { color:var(--text-muted); font-size:11px; overflow-wrap:anywhere; }
.pdv-admin-side .pdv-station-count { grid-column:1; color:var(--text-muted); font-size:11px; }
.pdv-admin-side .pdv-station-details { grid-column:2; grid-row:2; justify-self:end; font-size:11px; }
.pdv-admin-side .pdv-station-details summary { color:var(--green-dark); cursor:pointer; font-weight:700; }
.pdv-admin-side .pdv-station-details summary:focus-visible { outline:2px solid var(--green-main); outline-offset:3px; border-radius:3px; }
.pdv-admin-side .pdv-station-detail-content { grid-column:1 / -1; padding-top:8px; color:var(--text-muted); font-size:11px; }
.pdv-admin-side .pdv-station-link-label { display:block; margin-bottom:2px; font-weight:700; }
.pdv-admin-side .pdv-station-link { display:block; overflow-wrap:anywhere; }
.pdv-admin-side .pdv-station-link-missing { display:block; max-width:520px; color:var(--text-muted,#65758b); font-size:12px; line-height:1.45; }
.pdv-admin-side .pdv-station-operators { gap:4px; margin-top:8px; }
.pdv-admin-side .pdv-station-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; min-width:0; }
.pdv-admin-side .pdv-station-actions .btn { min-width:0; justify-content:center; padding-inline:6px; white-space:normal; }
@container (max-width:350px) {
  .pdv-admin-side .pdv-create-form { grid-template-columns:minmax(0,1fr); }
  .pdv-admin-side .pdv-create-form .btn { grid-column:auto; }
  .pdv-admin-side .pdv-station-info { grid-template-columns:minmax(0,1fr); }
  .pdv-admin-side .pdv-station-details { grid-column:1; grid-row:auto; justify-self:start; }
}
@media (max-width:700px) {
  .pdv-registration-entry,.user-pdv-actions { align-items:stretch; flex-direction:column; }
  .pdv-registration-entry .btn { width:100%; justify-content:center; }
  .pdv-station-row { align-items:stretch; flex-direction:column; }
  .pdv-station-row > div:last-child { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pdv-station-row > div:last-child .btn { justify-content:center; }
}
.pdv-monitor-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.delivery-admin-cash-live { margin:0 0 14px; padding:16px; border-left:5px solid #176b78; }
.delivery-admin-cash-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.delivery-admin-cash-actions { display:flex; gap:8px; flex-wrap:wrap; }
.delivery-admin-cash-head small { color:#176b78; font-weight:800; letter-spacing:.08em; }
.delivery-admin-cash-head h2 { margin:2px 0; font-size:20px; }
.delivery-admin-cash-head span { font-size:12px; color:#516a78; }
.delivery-admin-cash-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.delivery-admin-cash-grid > div { min-width:0; padding:12px; border:1px solid #d0e0e2; border-radius:10px; background:#f8fbfa; }
.delivery-admin-cash-grid strong { color:#153d4a; }
.delivery-admin-cash-grid p { margin:7px 0 0; font-size:13px; }
.delivery-admin-cash-grid ul { margin:8px 0 0; padding:0; list-style:none; max-height:190px; overflow:auto; }
.delivery-admin-cash-grid li { display:flex; justify-content:space-between; gap:10px; padding:6px 0; border-top:1px solid #e0e9e9; font-size:13px; }
.delivery-admin-cash-grid li span { min-width:0; overflow-wrap:anywhere; }
.delivery-admin-cash-grid li small { display:block; color:#516a78; }
.delivery-admin-cash-grid li b { white-space:nowrap; }
@media (max-width:800px) { .delivery-admin-cash-grid { grid-template-columns:1fr; } .delivery-admin-cash-head { flex-wrap:wrap; } }
.pdv-overview-label { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 2px 9px; color:var(--text-muted); }
.pdv-overview-label span { color:var(--blue); font-size:10px; font-weight:900; letter-spacing:.1em; }
.pdv-overview-label b { font-size:11px; font-weight:600; }
.pdv-operator-card {
  padding:17px; border:1px solid var(--border); border-radius:17px; background:#fff;
  box-shadow:0 8px 22px rgba(9,43,87,.08); cursor:pointer; transition:transform .16s ease, box-shadow .16s ease;
}
.pdv-operator-card:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(9,43,87,.14); }
.pdv-operator-card:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.pdv-operator-card.online { border-top:4px solid #1fbe66; }
.pdv-operator-card.offline { border-top:4px solid #a9b1bb; opacity:.82; }
.pdv-operator-head { display:flex; gap:11px; align-items:center; }
.pdv-operator-head h3 { margin:0 0 3px; color:var(--green-dark); }
.pdv-operator-avatar {
  width:44px; height:44px; display:grid; place-items:center; border-radius:13px;
  background:#e9f4ff; color:var(--blue); font-size:20px; font-weight:900;
}
.pdv-status { font-size:11px; font-weight:800; color:var(--text-muted); }
.pdv-status i { display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:50%; background:#a9b1bb; }
.pdv-operator-card.online .pdv-status { color:#158448; }
.pdv-operator-card.online .pdv-status i { background:#1fbe66; }
.pdv-current-action, .pdv-last-operation {
  display:flex; flex-direction:column; gap:4px; margin-top:14px; padding:11px;
  border-radius:11px; background:var(--bg);
}
.pdv-current-action small, .pdv-last-operation small { font-size:9px; letter-spacing:.1em; color:var(--text-muted); font-weight:900; }
.pdv-current-action span, .pdv-last-operation span { color:var(--text-muted); font-size:11px; }
.pdv-last-operation { margin-bottom:12px; }
.pdv-supervision-hint { display:block; color:var(--blue); font-size:11px; font-weight:800; }
.pdv-live-tile { padding:0; overflow:hidden; background:#eef3f4; }
.pdv-tile-top { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:13px 14px; background:#102b47; color:#fff; }
.pdv-live-tile.offline { opacity:1; }
.pdv-live-tile.state-open { border:2px solid #087f53; border-top:5px solid #27d78a; }
.pdv-live-tile.state-open .pdv-tile-top { background:linear-gradient(135deg,#057f55,#005b46); }
.pdv-live-tile.state-closed { border:2px solid #b62234; border-top:5px solid #ff6774; }
.pdv-live-tile.state-closed .pdv-tile-top { background:linear-gradient(135deg,#c52739,#8d1d30); }
.pdv-live-tile.state-waiting { border:2px solid #a26421; border-top:5px solid #f6bf53; }
.pdv-live-tile.state-waiting .pdv-tile-top { background:linear-gradient(135deg,#95601e,#694619); }
.pdv-live-tile .pdv-tile-top { min-height:105px; box-shadow:inset 0 1px 0 rgba(255,255,255,.2); }
.pdv-live-tile .pdv-tile-top .pdv-status { color:#fff; font-size:13px; }
.pdv-live-tile .pdv-tile-top .pdv-status i { background:#fff; box-shadow:0 0 0 3px rgba(255,255,255,.22); }
.pdv-live-tile .pdv-cash-status { display:block; margin-top:5px; color:#fff; font-size:12px; line-height:1.35; font-weight:700; }
.pdv-tile-top h3 { color:#fff; margin:0 0 3px; }
.pdv-tile-code { padding:4px 7px; border-radius:6px; background:rgba(255,255,255,.12); font-size:10px; font-weight:800; }
.pdv-tile-screen { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(110px,.75fr); min-height:145px; background:#f8f5e8; border-bottom:1px solid #d6d9d7; }
.pdv-tile-products { padding:12px; border-right:1px solid #d8d3bd; }
.pdv-tile-products > small,.pdv-tile-total > small { display:block; margin-bottom:8px; color:#17648b; font-size:9px; font-weight:900; letter-spacing:.08em; }
.pdv-tile-products > div:not(.pdv-tile-empty) { display:flex; justify-content:space-between; gap:8px; padding:6px 0; border-bottom:1px solid #e1ddcb; font-size:10px; }
.pdv-tile-empty { height:91px; display:flex; flex-direction:column; justify-content:center; align-items:center; color:#7d8790; text-align:center; }
.pdv-tile-empty span { margin-top:3px; font-size:9px; }
.pdv-tile-total { display:flex; flex-direction:column; justify-content:center; padding:12px; text-align:right; }
.pdv-tile-total strong { color:#087f77; font-family:'Barlow Condensed',sans-serif; font-size:27px; }
.pdv-tile-total span { color:var(--text-muted); font-size:9px; }
.pdv-tile-meta { display:flex; flex-direction:column; gap:4px; padding:10px 13px; background:#fff; color:var(--text-muted); font-size:10px; }
.pdv-live-tile .pdv-supervision-hint { padding:0 13px 12px; background:#fff; }
.pdv-supervision-modal { max-width:900px; }
.pdv-readonly-label { display:block; margin-top:3px; color:var(--text-muted); }
.pdv-supervision-status { display:flex; justify-content:space-between; gap:18px; padding:15px; border-radius:14px; background:#edf8f3; border:1px solid #bfe0d0; }
.pdv-supervision-status > div { display:flex; flex-direction:column; gap:4px; }
.pdv-supervision-status > div:last-child { text-align:right; }
.pdv-supervision-section { margin-top:16px; padding:16px; border:1px solid var(--border); border-radius:14px; }
.pdv-supervision-heading { display:flex; justify-content:space-between; gap:14px; align-items:end; margin-bottom:12px; }
.pdv-supervision-heading small { color:var(--text-muted); font-size:9px; font-weight:900; letter-spacing:.1em; }
.pdv-supervision-heading h4 { margin:3px 0 0; font-size:17px; }
.pdv-supervision-heading > strong { color:var(--green-dark); font-size:23px; }
.pdv-supervision-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:12px; }
.pdv-supervision-meta span { display:flex; justify-content:space-between; gap:8px; padding:9px 10px; border-radius:9px; background:var(--bg); font-size:11px; }
.pdv-supervision-items, .pdv-supervision-history { display:grid; gap:7px; }
.pdv-supervision-items > div, .pdv-supervision-history > div { display:grid; grid-template-columns:1fr auto auto; gap:12px; align-items:center; padding:10px 11px; border-bottom:1px solid var(--border); }
.pdv-supervision-items small, .pdv-supervision-history small { display:block; color:var(--text-muted); font-size:10px; margin-top:2px; }
.pdv-supervision-history > div { grid-template-columns:1fr auto; }
.pdv-supervision-history > div > span:last-child { text-align:right; }
.pdv-supervision-refresh { margin-right:auto; color:var(--text-muted); font-size:11px; }
@media (max-width:640px) {
  .pdv-supervision-status { flex-direction:column; }
  .pdv-supervision-status > div:last-child { text-align:left; }
  .pdv-supervision-meta { grid-template-columns:1fr; }
  .pdv-supervision-items > div { grid-template-columns:1fr auto; }
  .pdv-supervision-items > div small { grid-column:1/-1; }
}
.pdv-cash-breakdown { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:18px; }
.pdv-cash-total { display:flex; flex-direction:column; gap:4px; padding:13px; border:1px solid var(--border); border-radius:13px; background:#fff; }
.pdv-cash-total b { color:var(--blue); }
.pdv-cash-total small { color:var(--text-muted); }
.pdv-cash-access { color:inherit; text-decoration:none; cursor:pointer; transition:border-color .15s,box-shadow .15s; }
.pdv-cash-access:hover { border-color:var(--blue); box-shadow:0 2px 9px rgba(20,60,110,.13); }
.pdv-cash-access:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.pdv-cash-access .pdv-cash-access-label { color:var(--blue); font-weight:700; margin-top:5px; }
.cash-origin-link { color:var(--blue); font-weight:700; text-decoration:underline; }
.payment-split-row { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:end; }
.payment-mode-choice { display:flex; gap:8px; margin:14px 0; }
.payment-mode-choice .btn { flex:1; }
.payment-mode-choice .is-active { background:var(--green); border-color:var(--green); color:#fff; }
.payment-two-forms { gap:10px; margin:12px 0; }
.payment-form-count { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:10px 0 8px; }
.payment-form-count button { min-height:46px; border:2px solid var(--green-main); border-radius:10px; background:#fff; color:var(--green-dark); font:inherit; font-weight:800; cursor:pointer; }
.payment-form-count button[aria-pressed="true"] { background:var(--green-pale); box-shadow:inset 0 0 0 1px var(--green-main); }
.payment-form-count button:focus-visible { outline:3px solid #e7a400; outline-offset:2px; }
.payment-next-balance { display:block; color:var(--green-dark); font-weight:700; }
.payment-two-forms .payment-simple-guide { margin:0 0 3px; }
.payment-two-row { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:10px; padding:12px; border:1px solid var(--border); border-radius:12px; background:#f8fafc; }
.payment-two-row label { display:grid; gap:5px; font-weight:700; font-size:13px; }
.payment-two-row .payment-two-cash[hidden] { display:none; }
.payment-two-row .payment-two-cash:not([hidden]) { grid-column:1/-1; }
.payment-two-cash small { font-size:12px; color:var(--text-muted); font-weight:400; }
@media (max-width:480px) { .payment-two-row { grid-template-columns:1fr; } }
.payment-simple-guide { margin: 5px 0 12px; color:var(--text-muted); font-size:14px; line-height:1.45; }
.payment-split-row .btn { min-height:44px; }
.payment-cash-panel { margin:10px 0; padding:14px; border:1px solid #add7c4; border-radius:12px; background:#f0faf4; }
.payment-cash-panel label { font-weight:800; }
.payment-cash-panel input { margin-top:6px; }
.payment-cash-panel small { display:block; margin-top:5px; color:#506576; }
.payment-cash-change { margin-top:9px; color:var(--green-dark); font-size:19px; font-weight:900; }
.payment-cash-change.is-short { color:var(--red); }
#paymentModal:not([data-shortcut-context="pdv"]) .pdv-cash-quick { display:none; }
.pdv-cash-quick { margin-top:13px; padding-top:12px; border-top:1px solid #d0e0ec; }
.pdv-cash-quick > strong { display:block; margin-bottom:8px; font-size:13px; }
.pdv-cash-quick-values { display:grid; grid-template-columns:repeat(auto-fit,minmax(82px,1fr)); gap:6px; }
.pdv-cash-quick-values button { min-height:38px; border:1px solid #a9c7e0; border-radius:8px; background:#fff; color:#0b3967; font:inherit; font-weight:700; cursor:pointer; }
.pdv-cash-quick-values button:hover, .pdv-cash-quick-values button:focus-visible { border-color:#0b4f91; background:#dceefe; }
.pdv-cash-quick-values .pdv-cash-clear { color:#a32222; }
#paymentModal[data-shortcut-context="pdv"] #pdvCashQuick { display:none; }
#pdvPaymentReviewModal {
  z-index:1106; align-items:center; padding:16px;
  background:rgba(7,30,64,.52);
}
.pdv-payment-review-dialog {
  width:min(100%,620px); max-height:min(94dvh,850px); overflow-y:auto;
  border-radius:8px; background:#fff; color:#254260;
  box-shadow:0 20px 60px rgba(3,21,43,.45);
}
.pdv-payment-review-title {
  position:sticky; top:0; z-index:1; padding:13px 18px;
  background:#2174c4; color:#fff; font-size:17px; font-weight:800;
}
.pdv-payment-review-body { padding:16px 18px 8px; }
.pdv-payment-review-summary {
  display:grid; grid-template-columns:1fr auto; gap:8px 16px; align-items:center;
  padding:14px; border:1px solid #c9dfe0; border-radius:10px;
  background:linear-gradient(145deg,#f7fffd,#e9f6f3);
}
.pdv-payment-review-summary span { color:#526a7d; font-size:12px; font-weight:700; }
.pdv-payment-review-summary strong { color:#102442; text-align:right; font-size:18px; }
.pdv-payment-review-summary strong:last-child { color:#0b4f91; font-size:23px; font-variant-numeric:tabular-nums; }
#pdvPaymentReviewDescription { margin:12px 0; color:#536b80; font-size:13px; line-height:1.45; }
#pdvPaymentReviewControls { display:grid; gap:10px; }
#pdvPaymentReviewControls #paymentSingleFields { display:block !important; }
#pdvPaymentReviewControls #paymentPartRow,
#pdvPaymentReviewControls #payAdjustmentReasonWrap,
#pdvPaymentReviewControls #payTerminalWrap,
#pdvPaymentReviewControls #pixQrSection,
#pdvPaymentReviewControls #cardProofSection { margin:0; }
#pdvPaymentReviewControls #paymentPartHint,
#pdvPaymentReviewControls #paymentAllocationsList,
#pdvPaymentReviewControls #dinheiroSection { display:none !important; }
#pdvPaymentReviewControls #pixQrSection { text-align:left !important; }
#pdvPaymentReviewControls #pixQrResult { text-align:center; }
.pdv-payment-review-footer {
  position:sticky; bottom:0; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px;
  padding:12px 18px; border-top:1px solid #e1e8ed; background:#fff;
}
.pdv-payment-review-footer button {
  min-height:42px; padding:9px 14px; border:0; border-radius:5px;
  font:inherit; font-weight:800; cursor:pointer;
}
.pdv-payment-review-cancel { background:#eef2f6; color:#40586e; }
.pdv-payment-review-split { margin-right:auto; }
.pdv-payment-review-confirm { background:#2687d2; color:#fff; }
.pdv-payment-review-footer button:focus-visible,
#pdvPaymentReviewControls :is(button,input,textarea,select,summary):focus-visible {
  outline:3px solid #f1b900; outline-offset:2px;
}
#pdvCashModal { z-index:1105; align-items:center; background:rgba(7,30,64,.38); }
#pdvCashChangeModal { z-index:1106; align-items:center; padding:12px; background:rgba(4,20,41,.7); }
#pdvCashChangeModal .pdv-cash-change-dialog {
  width:min(100%,440px); max-height:94dvh; overflow:auto; padding:0;
  background:#fff; border-radius:16px; color:#15314d; box-shadow:0 24px 70px rgba(0,0,0,.35);
}
.pdv-cash-change-dialog h3 { margin:0; padding:19px 22px; background:#123d68; color:#fff; font-size:21px; }
.pdv-cash-change-body { padding:22px; }
.pdv-cash-change-row { display:flex; justify-content:space-between; gap:12px; padding:10px 0; font-size:16px; border-bottom:1px solid #e1e8ee; }
.pdv-cash-change-row strong { font-variant-numeric:tabular-nums; white-space:nowrap; }
.pdv-cash-change-result {
  display:flex; flex-direction:column; align-items:center; gap:5px; margin:20px 0 12px; padding:20px 12px;
  border-radius:12px; background:#fdf1af; border:3px solid #c78c0c; color:#183549; text-align:center;
}
.pdv-cash-change-result span { font-weight:900; letter-spacing:.12em; }
.pdv-cash-change-result strong { font-size:clamp(38px,10vw,60px); line-height:1.08; font-variant-numeric:tabular-nums; }
.pdv-cash-change-calculation { text-align:center; font-weight:700; font-size:16px; }
#pdvCashChangeInstructions { margin:16px 0 0; font-size:15px; }
.pdv-cash-change-actions { display:flex; gap:10px; padding:16px 22px; border-top:1px solid #e1e8ee; }
.pdv-cash-change-actions button { flex:1; min-height:48px; font-weight:800; }
#pdvCashChangeModal :is(button):focus-visible { outline:3px solid #e7a000; outline-offset:2px; }
@media(max-width:500px) {
  .pdv-cash-change-actions { flex-direction:column-reverse; }
}
#pdvCashModal .pdv-cash-dialog {
  width:min(100%,430px); max-height:min(94dvh,750px); overflow-y:auto;
  border-radius:3px; background:#fff; color:#254260;
  box-shadow:0 20px 60px rgba(3,21,43,.45);
}
.pdv-cash-dialog-title { padding:11px 17px; background:#2174c4; color:white; font-size:16px; font-weight:700; }
.pdv-cash-dialog-body { padding:16px 18px 12px; }
.pdv-cash-dialog-body > label { display:block; margin:3px 0 5px; font-size:12px; font-weight:600; }
#pdvCashDialogAmount, #pdvCashDialogNotes {
  display:block; width:100%; border:1px solid #d9e3ee; border-radius:2px;
  background:#f1f6fc; color:#17457a; font:inherit;
}
.pdv-cash-dialog-body > label[for="pdvCashDialogAmount"] { font-size:15px; font-weight:800; color:#123f70; margin-top:12px; }
#pdvCashDialogAmount {
  height:58px; padding:7px 12px; text-align:right; font-size:28px; font-weight:800;
  font-variant-numeric:tabular-nums; border:3px solid #d59b06; border-radius:8px;
  background:#fff9e9; color:#163c70; box-shadow:0 0 0 3px rgba(255,206,50,.18);
}
#pdvCashDialogAmount:focus { outline:3px solid #176ac1; outline-offset:2px; background:#fff; }
#pdvCashDialogNotes { padding:8px; resize:vertical; min-height:42px; }
.pdv-cash-notes-help { display:block; color:#6c8198; font-size:10px; margin:3px 0 10px; }
.pdv-cash-bills { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding:5px 4px 8px; }
.pdv-cash-bills .bill {
  position:relative; overflow:hidden; min-height:48px; padding:4px 7px;
  display:flex; align-items:center; justify-content:space-between;
  border:1px solid #a9bdcb; border-radius:2px; color:#183f5d;
  text-shadow:0 1px rgba(255,255,255,.5); font:inherit; cursor:pointer;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.23);
}
.pdv-cash-bills .bill::before { content:""; position:absolute; width:45px; height:45px; top:3px; right:26%; border:2px double rgba(34,59,82,.25); border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.4),transparent 70%); pointer-events:none; }
.pdv-cash-bills .bill i { font-size:10px; font-style:normal; z-index:1; }
.pdv-cash-bills .bill b { font-size:24px; z-index:1; font-variant-numeric:tabular-nums; }
.pdv-cash-bills .bill em { position:absolute; bottom:2px; left:5px; font-style:normal; font-size:6px; letter-spacing:.5px; }
.pdv-cash-bills .bill-200 { grid-column:2; }
.pdv-cash-bills .bill-2 { background:linear-gradient(115deg,#b4d7e2,#71abcf 55%,#acd0db); }
.pdv-cash-bills .bill-5 { background:linear-gradient(115deg,#c6b6d9,#9976bd 55%,#d5bade); }
.pdv-cash-bills .bill-10 { background:linear-gradient(115deg,#f1c8ab,#c88691 55%,#e7bbac); }
.pdv-cash-bills .bill-20 { background:linear-gradient(115deg,#ead4aa,#c9a26c 55%,#eac794); }
.pdv-cash-bills .bill-50 { background:linear-gradient(115deg,#e9ccbd,#b88e73 55%,#d5b8a2); }
.pdv-cash-bills .bill-100 { background:linear-gradient(115deg,#b1d9e6,#64a7c2 55%,#b1d7e5); }
.pdv-cash-bills .bill-200 { background:linear-gradient(115deg,#c7d9d5,#a5c3b7 55%,#d2e0d8); }
.pdv-cash-bills .bill { background-size:cover; background-position:center; }
.pdv-cash-bills .bill::before, .pdv-cash-bills .bill i, .pdv-cash-bills .bill em { display:none; }
.pdv-cash-bills .bill b { margin-left:auto; align-self:start; font-size:11px; padding:1px 3px; background:rgba(255,255,255,.75); }
.pdv-cash-bills .bill-2 { background-image:url('/static/img/pdv-cash/bill-2.webp'); }
.pdv-cash-bills .bill-5 { background-image:url('/static/img/pdv-cash/bill-5.webp'); }
.pdv-cash-bills .bill-10 { background-image:url('/static/img/pdv-cash/bill-10.webp'); }
.pdv-cash-bills .bill-20 { background-image:url('/static/img/pdv-cash/bill-20.webp'); }
.pdv-cash-bills .bill-50 { background-image:url('/static/img/pdv-cash/bill-50.webp'); }
.pdv-cash-bills .bill-100 { background-image:url('/static/img/pdv-cash/bill-100.webp'); }
.pdv-cash-bills .bill-200 { background-image:url('/static/img/pdv-cash/bill-200.webp'); }
.pdv-cash-coins { display:flex; justify-content:space-around; gap:5px; margin:6px 0 0; padding:14px 2px 8px; border-top:1px solid #e3ebf0; }
.pdv-cash-coins button {
  width:52px; height:52px; flex:none; display:flex; flex-direction:column; justify-content:center; align-items:center;
  border:3px ridge #b0b8bf; border-radius:50%; background:radial-gradient(circle at 36% 30%,#f2f4f4,#afb9bf 65%,#778a96);
  color:#39556b; font-size:16px; font-weight:800; cursor:pointer; box-shadow:0 2px 4px #c9d0d6;
}
.pdv-cash-coins button:nth-child(4) { background:radial-gradient(circle at 36% 30%,#ddebf0,#7fb5ce 65%,#558aa5); }
.pdv-cash-coins button:nth-child(5) { background:radial-gradient(circle at 36% 30%,#eee9cf,#b9a96a 65%,#7996a3); }
.pdv-cash-coins button { background-size:cover; background-position:center; color:#244c6c; text-shadow:0 1px 2px #fff; }
.pdv-cash-coins button:nth-child(1) { background-image:url('/static/img/pdv-cash/coin-5.webp'); }
.pdv-cash-coins button:nth-child(2) { background-image:url('/static/img/pdv-cash/coin-10.webp'); }
.pdv-cash-coins button:nth-child(3) { background-image:url('/static/img/pdv-cash/coin-25.webp'); }
.pdv-cash-coins button:nth-child(4) { background-image:url('/static/img/pdv-cash/coin-50.webp'); }
.pdv-cash-coins button:nth-child(5) { background-image:url('/static/img/pdv-cash/coin-1.webp'); }
.pdv-cash-coins small { font-size:7px; line-height:1; font-weight:600; }
#pdvCashModal button:hover, #pdvCashModal button:focus-visible { outline:2px solid #0a69b0; outline-offset:2px; filter:brightness(1.05); }
.pdv-cash-dialog-change { min-height:18px; margin:8px 0 0; text-align:right; font-size:12px; color:#257956; font-weight:700; }
.pdv-cash-dialog-change.is-short { color:#b1283e; }
.pdv-cash-dialog-footer { display:flex; justify-content:flex-end; gap:14px; padding:10px 18px 14px; }
.pdv-cash-dialog-footer button { min-height:35px; border:0; border-radius:2px; padding:5px 13px; cursor:pointer; font-weight:700; font-size:11px; }
.pdv-cash-cancel { background:transparent; color:#607993; }
.pdv-cash-confirm { background:#2687d2; color:white; }
@media(max-width:500px) {
  #pdvPaymentReviewModal { padding:8px; }
  .pdv-payment-review-body { padding:12px; }
  .pdv-payment-review-footer { padding:10px 12px; }
  .pdv-payment-review-footer button { flex:1 1 auto; }
  .pdv-payment-review-split { margin-right:0; }
  #pdvCashModal { padding:10px; align-items:center; }
  #pdvCashModal .pdv-cash-dialog { max-height:94dvh; }
  .pdv-cash-bills .bill { min-height:44px; }
  .pdv-cash-coins button { width:46px; height:46px; }
}
.payment-allocations-list { display:grid; gap:7px; margin:8px 0; }
.payment-allocation {
  display:grid; grid-template-columns:1fr auto auto; gap:10px; align-items:center;
  padding:10px 12px; border-radius:11px; background:#e9f7ef; border:1px solid #a9dfbf;
}
.payment-allocation small { display:block; color:var(--text-muted); margin-top:2px; }
.payment-allocation button { border:0; background:#b62228; color:#fff; border-radius:8px; width:28px; height:28px; cursor:pointer; }
.payment-remaining { display:flex; justify-content:space-between; align-items:center; margin:9px 0 14px; padding:12px 14px; border-radius:12px; background:#082f5d; color:#fff; font-size:15px; }
.payment-remaining strong { font-size:22px; color:#ffdb35; }
.payment-total-card {
  margin: 0 0 16px; padding: 15px; border: 1px solid #c9dfe0; border-radius: 15px;
  background: linear-gradient(145deg,#f7fffd,#e9f6f3); box-shadow: inset 0 1px 0 #fff;
}
.payment-total-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.payment-total-heading h4 { margin:1px 0 0; color:var(--green-dark); font-size:19px; }
.payment-kicker { color:#087f77; font-size:9px; font-weight:900; letter-spacing:.14em; }
.payment-total-badge { padding:4px 7px; border-radius:6px; background:#d5eee8; color:#087b64; font-size:9px; font-weight:900; letter-spacing:.08em; }
.payment-total-card .payment-total-lines { margin:0; border:1px solid #d8e8e6; box-shadow:none; }
.payment-total-card .payment-total-lines > div { padding:9px 11px; font-size:13px; }
.payment-total-card .payment-total-lines > div b { color:#174c5c; }
.payment-total-card .payment-total-lines .payment-total-row { background:#087b71; color:#fff; font-size:16px; font-weight:900; border:0; }
.payment-total-card .payment-total-lines .payment-total-row b { color:#ffdf28; font-size:20px; }
.payment-edit { border:0; padding:1px 3px; background:transparent; color:#087f77; cursor:pointer; font-size:14px; line-height:1; }
.payment-edit:hover, .payment-edit:focus-visible { color:var(--orange); outline:2px solid #f1c48b; border-radius:4px; }
.payment-total-card .negative { color:#b62228 !important; }
.payment-adjustment-notice { min-height:0; color:#087b64; font-size:12px; font-weight:700; }
.payment-adjustment-notice.danger { margin-top:10px; padding:10px; border-radius:9px; color:#8d262a; background:#fff0ee; border:1px solid #f2b4ae; }
.payment-reason label span { color:var(--text-muted); font-weight:400; }
.payment-reason small { display:block; margin-top:5px; color:var(--text-muted); font-size:11px; }
.payment-final-total { display:flex; justify-content:space-between; align-items:center; margin-top:14px; padding:14px 16px; border-radius:12px; background:var(--green-pale); color:var(--green-dark); font-weight:800; }
.payment-final-total strong { color:#087b64; font-size:23px; }
.refund-item { display:grid; grid-template-columns:1fr 95px; gap:12px; align-items:center; padding:11px; border-bottom:1px solid var(--border); }
.refund-item small { display:block; color:var(--text-muted); margin-top:3px; }
.refund-item > label { font-size:12px; font-weight:700; }
.refund-item > label input { margin-top:5px; }
.refund-search-controls { display:flex; gap:8px; margin:7px 0 10px; }
.refund-search-controls input { min-width:0; flex:1; }
.refund-sale-list { display:grid; gap:8px; margin-top:14px; }
.refund-sale-result { width:100%; display:flex; justify-content:space-between; gap:12px; align-items:center; text-align:left; padding:13px; border:1px solid var(--border); border-radius:10px; background:#fff; cursor:pointer; color:var(--text); }
.refund-sale-result:hover, .refund-sale-result:focus-visible { border-color:var(--green); background:var(--green-pale); }
.refund-sale-result span { min-width:0; }
.refund-sale-result strong, .refund-sale-result small { display:block; }
.refund-sale-result small { color:var(--text-muted); font-size:11px; margin-top:3px; }
.refund-purchase-summary { padding:14px; border:1px solid #d7e2ec; border-radius:12px; background:#f5f9fc; margin-bottom:15px; }
.refund-purchase-summary h4 { margin:0 0 10px; }
.refund-purchase-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.refund-purchase-facts small, .refund-purchase-summary > small { display:block; color:var(--text-muted); font-size:11px; }
.refund-purchase-facts strong { display:block; overflow-wrap:anywhere; }
@media (max-width:480px) { .refund-sale-result { align-items:flex-start; flex-direction:column; } .refund-purchase-facts { grid-template-columns:1fr; } }
.refund-operational-label { display:block; margin-top:3px; color:var(--text-muted); font-size:11px; font-weight:700; }
.btn-refund-complete { background:#168448; color:#fff; }
.btn-refund-complete:hover { background:#106b3a; }
.field-hint { color:var(--text-muted); font-size:11px; font-weight:400; }
.refund-reason-chips { display:flex; gap:7px; flex-wrap:wrap; margin:0 0 9px; }
.refund-reason-chip {
  border:1px solid #c8d8e6; border-radius:999px; padding:8px 11px; background:#f4f8fb;
  color:#214766; cursor:pointer; font:inherit; font-size:12px; font-weight:700;
  transition:background .15s, border-color .15s, color .15s, transform .15s;
}
.refund-reason-chip:hover, .refund-reason-chip.selected { background:#e8f2ff; border-color:var(--blue); color:var(--green-dark); }
.refund-reason-chip:active { transform:translateY(1px); }
#refundNotes { resize:vertical; min-height:78px; }
.refund-history {
  margin:16px 0 4px; padding:18px; border:1px solid #d7e2ec; border-radius:16px;
  background:linear-gradient(145deg,#fbfdff,#f2f7fb);
}
.refund-history-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:11px; }
.refund-history-head h4 { margin:2px 0 0; font-size:17px; color:var(--green-dark); }
.refund-kicker { color:var(--blue); font-size:10px; font-weight:900; letter-spacing:.12em; }
.refund-history-list { display:grid; gap:10px; }
.refund-history-entry { padding:13px; border:1px solid #dce6ee; border-radius:12px; background:#fff; }
.refund-history-entry-top { display:flex; justify-content:space-between; gap:12px; align-items:start; }
.refund-history-entry-top strong { color:var(--green-dark); }
.refund-history-entry-top small { display:block; color:var(--text-muted); margin-top:3px; font-size:11px; }
.refund-history-amount { color:var(--red) !important; font-size:16px; white-space:nowrap; }
.refund-history-reason { display:grid; gap:2px; margin-top:10px; color:#294861; font-size:13px; }
.refund-history-reason span { color:var(--text-muted); font-size:12px; }
.refund-history-items { margin-top:9px; padding:9px 10px; border-radius:8px; background:#f5f8fb; color:#456176; font-size:12px; }
.refund-history-meta { display:flex; flex-wrap:wrap; gap:12px; margin:10px 0; color:var(--text-muted); font-size:11px; }
.refund-history-meta b { color:var(--text); }
.refund-history-remaining { margin:8px 0; color:#607689; font-size:11px; }
.refund-reprint-btn { margin-top:2px; }
.refund-history-note { margin:12px 0 0; color:var(--text-muted); font-size:11px; }
@media (max-width:640px) {
  .refund-history { padding:14px; }
  .refund-history-head { align-items:flex-start; }
  .refund-history-entry-top { flex-direction:column; gap:4px; }
  .refund-history-amount { align-self:flex-start; }
  .refund-reprint-btn { width:100%; justify-content:center; }
}
.pdv-weight-modal .modal-header small { display:block; margin-bottom:3px; color:#5b7083; font-size:11px; font-weight:900; letter-spacing:.08em; }
.pdv-weight-label { display:block; margin-bottom:8px; color:#183b5c; font-size:15px; font-weight:900; }
.pdv-weight-entry { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; }
.pdv-weight-entry input { height:76px; border:3px solid #0b638f; font-size:38px; font-weight:900; text-align:right; }
.pdv-weight-entry > strong { color:#0b638f; font-size:28px; }
.pdv-weight-preview { display:flex; justify-content:space-between; gap:15px; margin:14px 0; padding:14px; border-radius:12px; background:#eaf4fa; color:#24465f; }
.pdv-weight-preview b { color:#08705f; font-size:20px; }
.scale-live-panel { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:14px 0 10px; padding:12px 14px; border:1px solid #c9dce8; border-radius:12px; background:#f2f8fb; }
.scale-live-panel div { display:grid; gap:3px; min-width:0; }
.scale-live-panel small { color:var(--text-muted); font-size:11px; }
.scale-live-panel > strong { color:#08705f; font-size:23px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.scale-status-dot { width:9px; height:9px; display:inline-block; border-radius:50%; background:#9aa7b3; margin-right:5px; }
.scale-status-dot.connected,.scale-status-dot.stable,.scale-status-dot.keyboard { background:#1fbe66; }
.scale-status-dot.reading { background:var(--gold); }
.scale-status-dot.error { background:var(--red); }
.scale-actions { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:9px; }
.scale-admin-card { margin-top:14px; border-top:4px solid #0b638f; }
.scale-admin-card .card-header small { display:block; color:var(--text-muted); font-size:11px; font-weight:400; margin-top:2px; }
.scale-limit-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.scale-admin-actions { display:flex; gap:8px; flex-wrap:wrap; }
.scale-admin-notice { margin-top:12px; padding:10px 12px; border-radius:9px; background:#eef6fa; color:#34576c; font-size:12px; }
@media (max-width:640px) { .scale-live-panel { align-items:flex-start; flex-direction:column; } .scale-live-panel > strong { font-size:28px; } }
.pdv-scale-launch { margin-top:14px; padding:14px; border:1px solid #cbdce7; border-radius:12px; background:#f4f9fc; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.pdv-scale-launch div { display:grid; gap:3px; }
.pdv-scale-launch small { color:#516676; }
.pdv-scale-panel { max-width:900px; margin:0 auto; padding:16px 0 32px; }
.pdv-scale-heading { margin:18px 0; }
.pdv-scale-heading h2 { margin:4px 0 7px; font-size:clamp(24px,3vw,34px); }
.pdv-scale-heading p { margin:0; color:#516676; }
.pdv-scale-panel .scale-admin-card { margin:0; }
.pdv-scale-panel .scale-admin-card .card-body { padding:22px; }
.pdv-scale-panel .form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.pdv-scale-panel .form-group { min-width:0; }
.pdv-scale-hint { margin:0 0 15px; padding:10px 12px; border-radius:8px; background:#f2f8fb; color:#34576c; font-size:13px; }
.pdv-scale-advanced { border:1px solid #d2e0e8; border-radius:10px; margin:10px 0 18px; overflow:hidden; }
.pdv-scale-advanced summary { padding:13px 15px; cursor:pointer; font-weight:700; color:#204a60; }
.pdv-scale-advanced summary small { display:block; font-weight:400; color:#647886; }
.pdv-scale-advanced-body { border-top:1px solid #d2e0e8; padding:16px; }
.pdv-scale-advanced-body > small { display:block; color:#647886; line-height:1.5; }
.pdv-scale-panel [hidden], #pdvMainView[hidden], #pdvScalePanel[hidden] { display:none !important; }
@media (max-width:640px) {
  .pdv-scale-panel .form-row { grid-template-columns:minmax(0,1fr); gap:0; }
  .pdv-scale-panel .scale-admin-card .card-body { padding:16px; }
}

/* Terminal PDV dedicado */
.pdv-terminal-mode .sidebar, .pdv-terminal-mode .topbar, .pdv-terminal-mode .admin-assistant-fab, .pdv-terminal-mode .admin-assistant-panel { display:none !important; }
.pdv-terminal-mode .main-content { margin-left:0; width:100%; }
.pdv-terminal-mode .page-content { max-width:none; padding:0; }
.pdv-terminal-mode #section-pdv-terminal { min-height:100vh; }
.pdv-terminal-shell { min-height:100vh; background:#edf4f8; color:#10253b; }
.pdv-terminal-header {
  min-height:76px; padding:12px 22px; display:grid; grid-template-columns:1fr auto 1fr;
  align-items:center; color:#fff; background:linear-gradient(90deg,#063f72,#007f78);
  box-shadow:0 5px 18px rgba(4,40,74,.26);
}
.pdv-terminal-header > div:first-child { font-size:25px; font-weight:900; letter-spacing:.04em; }
.pdv-terminal-header > div:first-child span { color:#ffdf28; }
.pdv-terminal-header > strong { font-size:21px; letter-spacing:.08em; }
.pdv-terminal-operator { justify-self:end; display:grid; grid-template-columns:auto auto; gap:1px 9px; text-align:right; }
.pdv-terminal-operator small { font-size:9px; opacity:.7; }
.pdv-terminal-operator b { grid-row:2; font-size:15px; }
.pdv-terminal-operator span { grid-row:1/3; grid-column:2; align-self:center; padding:9px 12px; border-radius:10px; background:#ffdf28; color:#06345f; font-weight:900; }
.pdv-terminal-grid { display:grid; grid-template-columns:minmax(300px,1fr) minmax(380px,1.2fr) minmax(310px,.82fr); min-height:calc(100vh - 76px); }
.pdv-catalog-pane, .pdv-consumption-pane, .pdv-payment-pane { padding:17px; min-width:0; }
.pdv-catalog-pane { background:#f6fbff; border-right:1px solid #c9d9e4; }
.pdv-consumption-pane { background:#fff; border-right:1px solid #c9d9e4; }
.pdv-payment-pane { background:#e8f6f3; }
.pdv-pane-title { display:flex; justify-content:space-between; align-items:end; margin-bottom:13px; color:#1265a8; }
.pdv-pane-title span { font-size:13px; font-weight:900; letter-spacing:.08em; }
.pdv-pane-title b { color:#405469; font-size:13px; }
.pdv-product-search { min-height:49px; font-size:16px; }
.pdv-barcode-entry { display:grid; grid-template-columns:1fr auto; gap:7px; margin-bottom:8px; }
.pdv-barcode-entry input { min-height:52px; font-size:16px; border:2px solid #159db6; }
.pdv-barcode-entry button { border:0; border-radius:10px; padding:0 14px; background:#087f77; color:#fff; font-weight:900; cursor:pointer; }
.pdv-category-tabs { display:flex; flex-wrap:wrap; gap:6px; overflow:visible; margin:10px 0; padding:2px 0 5px; }
.pdv-category-tabs button { flex:0 0 auto; white-space:nowrap; border:1px solid #80b7d9; border-radius:9px; padding:8px 11px; background:#fff; color:#175d8d; font-weight:800; cursor:pointer; }
.pdv-category-tabs button.active { background:#0979bd; color:#fff; }
.pdv-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; max-height:calc(100vh - 225px); overflow:auto; }
.pdv-catalog-summary { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:3px 0 9px; }
.pdv-stock-stat { display:flex; flex-direction:column; align-items:flex-start; gap:5px; min-height:107px; padding:13px 14px; border:2px solid rgba(0,0,0,.15); border-radius:13px; color:#fff; box-shadow:0 5px 0 rgba(10,40,65,.28),0 10px 17px rgba(10,40,65,.15); }
.pdv-stock-stat span { font-size:12px; font-weight:900; line-height:1.2; }
.pdv-stock-stat b { font-size:31px; font-weight:950; line-height:1; }
.pdv-stock-stat small { font-size:10px; font-weight:750; line-height:1.2; opacity:.95; }
.pdv-stock-stat.is-total { background:linear-gradient(145deg,#0877c9,#07529d); border-color:#064987; }
.pdv-stock-stat.is-ready { background:linear-gradient(145deg,#0ca765,#087645); border-color:#06663b; }
.pdv-stock-stat.is-blocked { background:linear-gradient(145deg,#ef8a09,#b94f09); border-color:#a84208; }
.pdv-catalog-summary.is-error { display:block; padding:14px; border:2px solid #b45404; border-radius:12px; background:#fff1d3; color:#723806; font-weight:800; }
@media (max-width:540px) {
  .pdv-catalog-summary { gap:5px; }
  .pdv-stock-stat { min-height:95px; padding:9px 7px; }
  .pdv-stock-stat b { font-size:24px; }
  .pdv-stock-stat span { font-size:10px; }
  .pdv-stock-stat small { font-size:9px; }
}
.pdv-product-tile {
  min-height:105px; display:flex; flex-direction:column; justify-content:space-between; gap:5px;
  border:0; border-radius:12px; padding:13px; text-align:left; color:#fff; cursor:pointer;
  background:linear-gradient(145deg,#057ec1,#045f9b); box-shadow:0 5px 0 #034773,0 8px 17px rgba(5,85,139,.2);
}
.pdv-product-tile:active { transform:translateY(4px); box-shadow:0 1px 0 #034773; }
.pdv-product-tile span { font-size:14px; font-weight:900; line-height:1.2; }
.pdv-product-tile b { font-size:21px; color:#ffec5c; }
.pdv-product-tile small { opacity:.8; }
.pdv-current-items { min-height:420px; max-height:calc(100vh - 195px); overflow:auto; }
.pdv-terminal-empty { min-height:210px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#7990a1; gap:7px; }
.pdv-terminal-empty b { font-size:19px; color:#466277; }
.pdv-sale-item { display:grid; grid-template-columns:1fr auto auto; gap:12px; align-items:center; padding:13px 10px; border-bottom:1px solid #dce6ed; }
.pdv-sale-item b { font-size:16px; }
.pdv-sale-item small { display:block; margin-top:4px; color:#6a7f90; }
.pdv-sale-item strong { font-size:18px; color:#087b64; }
.pdv-item-controls { display:flex; gap:5px; }
.pdv-sale-item button { width:34px; height:34px; border:0; border-radius:9px; background:#087f77; color:#fff; font-size:23px; cursor:pointer; }
.pdv-sale-item button.delete { background:#e43c44; }
.pdv-customer-line { display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:center; padding-top:12px; border-top:2px solid #dce6ed; }
.pdv-customer-line label { font-weight:900; color:#1265a8; }
.pdv-big-total { padding:22px 16px; border-radius:15px; background:linear-gradient(145deg,#062e58,#087b71); color:#fff; text-align:right; }
.pdv-big-total small { display:block; font-weight:900; letter-spacing:.1em; color:#8de4d0; }
.pdv-big-total strong { display:block; margin-top:4px; font-size:clamp(42px,5vw,68px); color:#ffdf28; line-height:1; }
.pdv-total-lines { margin:14px 0; background:#fff; border-radius:13px; overflow:hidden; }
.pdv-total-lines > div { display:flex; justify-content:space-between; padding:12px 14px; border-bottom:1px solid #e0e8ed; font-size:15px; }
.pdv-total-lines .pdv-due { background:#d7f3e9; color:#075c4d; font-size:18px; font-weight:900; }
.pdv-action { width:100%; min-height:70px; margin-top:10px; border:0; border-radius:12px; padding:12px 15px; text-align:left; font-size:18px; font-weight:900; cursor:pointer; box-shadow:0 5px 0 rgba(0,0,0,.2); }
.pdv-action small { display:block; margin-top:3px; font-size:11px; font-weight:600; opacity:.78; }
.pdv-action.primary { background:#ffd900; color:#173a58; }
.pdv-action.secondary { background:#09a6c6; color:#fff; }
.pdv-action.danger { background:#e34a45; color:#fff; }
.pdv-action.fiscal { background:#087f77; color:#fff; }
.pdv-action.no-fiscal { background:#394f65; color:#fff; }
.pdv-action:active { transform:translateY(4px); box-shadow:0 1px 0 rgba(0,0,0,.2); }
.pdv-shortcuts { display:flex; justify-content:space-between; gap:5px; margin-top:15px; color:#527080; font-size:10px; font-weight:800; }
.pdv-shortcut-config { width:100%; margin-top:13px; border:1px dashed #6f91a5; border-radius:9px; padding:8px; background:transparent; color:#31586e; font-weight:800; cursor:pointer; }
.pdv-shortcut-run { border:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; padding:3px 5px; border-radius:6px; }
.pdv-shortcut-run:hover,.pdv-shortcut-run:focus-visible { background:rgba(27,106,140,.12); outline:2px solid #31586e; }
.pdv-shortcut-quick-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:7px; max-height:260px; overflow-y:auto; margin:8px 0 14px; }
.pdv-shortcut-quick-grid button { text-align:left; white-space:normal; }
@media (max-width: 820px) {
  .dashboard-robot-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-robot-fields { grid-template-columns:1fr; }
  .dashboard-robot-fields .btn { width:100%; }
  .pdv-monitor-grid, .pdv-cash-breakdown { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pdv-terminal-grid { grid-template-columns:1fr; }
  .pdv-terminal-header { grid-template-columns:1fr 1fr; }
  .pdv-terminal-header > strong { display:none; }
  .pdv-current-items { min-height:280px; max-height:none; }
  .pdv-product-grid { max-height:420px; }
}
@media (max-width: 520px) {
  .dashboard-robot { padding:17px; border-radius:18px; }
  .dashboard-robot-avatar { width:56px; height:56px; font-size:31px; border-radius:17px; }
  .dashboard-robot-online { position:absolute; right:0; top:0; }
  .dashboard-robot-intro { align-items:flex-start; padding-right:58px; }
  .pdv-summary, .pdv-monitor-grid, .pdv-cash-breakdown, .pdv-create-form { grid-template-columns:1fr; }
  .pdv-station-row { align-items:flex-start; flex-direction:column; }
}
.admin-assistant-fab {
  position: fixed; right: 18px; bottom: 20px; z-index: 900;
  border: 0; border-radius: 999px; min-height: 52px; padding: 10px 16px;
  background: var(--blue); color: #fff; display: flex; align-items: center;
  gap: 8px; font-size: 14px; font-weight: 800; cursor: pointer;
  box-shadow: 0 8px 24px rgba(7,29,61,.28);
  touch-action: none;
  user-select: none;
}
.conversation-launcher-icon {
  width:42px; height:32px; flex:0 0 42px;
  object-fit:contain; display:block; border-radius:50%;
  background:#fff; padding:2px;
}
.conversation-launcher-unread-badge {
  top:-8px; right:-8px; background:#d71920 !important; color:#fff !important;
}
.admin-assistant-fab .order-inbox-waiting-reply-badge {
  top:auto; right:-8px; bottom:-8px; background:#07559e;
}
.admin-assistant-fab.conversation-launcher-new-unread {
  animation:conversationLauncherShake .55s ease-in-out;
}
@keyframes conversationLauncherShake {
  0%,100% { transform:translateX(0); }
  20%,60% { transform:translateX(-5px); }
  40%,80% { transform:translateX(5px); }
}
.admin-assistant-fab b {
  position:absolute; top:-7px; right:-7px; min-width:20px; height:20px; padding:0 5px;
  border:2px solid #fff; border-radius:999px; background:#d71920; color:#fff;
  font-size:10px; line-height:16px; text-align:center; box-shadow:0 2px 6px rgba(80,20,20,.25);
}
.admin-assistant-fab b[hidden] { display:none; }
.admin-assistant-fab.has-pending-replies {
  background:linear-gradient(145deg,#147bc7,#07559e);
  box-shadow:0 8px 24px rgba(7,65,125,.38),0 0 0 4px rgba(31,133,205,.12);
}
.admin-assistant-fab:focus-visible { outline:3px solid #86c9bd; outline-offset:3px; }
body.sale-option-choice-open .admin-assistant-fab,
body.sale-option-choice-open .admin-assistant-panel { display:none !important; }
.admin-assistant-panel {
  position: fixed; right: 16px; bottom: 84px; z-index: 901;
  width: min(370px, calc(100vw - 24px)); max-height: min(560px, calc(100vh - 110px));
  background: #fff; border: 1px solid var(--border); border-radius: 18px;
  box-shadow: 0 18px 50px rgba(7,29,61,.28); overflow: hidden; display: none;
}
.admin-assistant-panel.open { display: flex; flex-direction: column; }
.admin-assistant-head {
  background: var(--green-dark); color: #fff; padding: 14px 16px;
  display: flex; justify-content: space-between; align-items: center;
}
.admin-assistant-head div div { font-size: 11px; opacity: .8; }
.admin-assistant-head button { border: 0; background: none; color: #fff; font-size: 21px; cursor: pointer; }
.admin-assistant-messages {
  min-height: 190px; max-height: 330px; overflow: auto; padding: 14px;
  display: flex; flex-direction: column; gap: 9px; background: #f6f8fb;
}
.admin-assistant-message {
  max-width: 88%; padding: 9px 11px; border-radius: 12px;
  font-size: 13px; line-height: 1.4; white-space: pre-line;
}
.admin-assistant-message.bot { align-self: flex-start; background: #fff; border: 1px solid var(--border); }
.admin-assistant-message.user { align-self: flex-end; background: var(--blue); color: #fff; }
.admin-assistant-quick {
  display: flex; gap: 6px; padding: 0 12px 10px; overflow-x: auto; background: #f6f8fb;
}
.admin-assistant-quick button {
  white-space: nowrap; border: 1px solid var(--blue); background: #fff;
  color: var(--blue); border-radius: 999px; padding: 6px 9px; cursor: pointer;
}
.admin-assistant-form { display: flex; gap: 7px; padding: 10px; border-top: 1px solid var(--border); }
.admin-assistant-form input { flex: 1; min-width: 0; }

/* ── Balcões ── */
.tables-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 16px;
}
.table-card {
  border-radius: var(--radius); padding: 16px; cursor: pointer;
  text-align: center; transition: all .2s; border: 2px solid transparent;
  background: #fff; box-shadow: var(--shadow);
}
.table-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.15); }
.table-card.livre   { border-color: var(--green-main); background: var(--green-pale); }
.table-card.ocupada { border-color: var(--red); background: #fff0ee; }
.table-card.conta   { border-color: var(--orange); background: #fff8f0; }
.table-card .t-num  { font-size: 28px; font-weight: 800; color: var(--green-dark); }
.table-card .t-name { font-size: 11px; color: var(--text-muted); }
.table-card .t-status { font-size: 12px; margin-top: 4px; }
.table-card .t-total { font-size: 16px; font-weight: 700; color: var(--orange); margin-top: 4px; }

/* ── Menu Cardápio ── */
.menu-categories { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }
.cat-btn {
  padding: 8px 16px; border-radius: 20px; border: 2px solid var(--border);
  background: #fff; font-size: 13px; font-weight: 600; cursor: pointer; transition: all .15s;
}
.cat-btn.active { background: var(--green-main); color: #fff; border-color: var(--green-main); }
.products-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.product-card {
  background: #fff; border-radius: var(--radius); overflow: hidden;
  box-shadow: var(--shadow); cursor: pointer; transition: transform .2s;
}
.product-card:hover { transform: translateY(-2px); }
.product-card img { width: 100%; height: 140px; object-fit: cover; background: var(--bg); }
.product-card .p-body { padding: 14px; }
.product-card .p-name { font-weight: 700; font-size: 15px; margin-bottom: 4px; }
.product-card .p-desc { font-size: 12px; color: var(--text-muted); margin-bottom: 10px; line-height: 1.4; }
.product-card .p-footer { display: flex; justify-content: space-between; align-items: center; }
.product-card .p-price { font-size: 18px; font-weight: 800; color: var(--green-main); }
.product-card .p-time  { font-size: 11px; color: var(--text-muted); }

/* ── KDS (Kitchen Display) ── */
.kds-header {
  background: var(--green-dark); color: #fff; padding: 16px 24px;
  display: flex; align-items: center; justify-content: space-between;
}
.kds-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; padding: 16px; }
.kds-card {
  border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow);
  background: #fff; display: flex; flex-direction: column;
}
.kds-card.urgente { border: 2px solid var(--red); animation: pulse-red 1.5s infinite; }
.kds-card.atrasado { border: 2px solid var(--orange); }
.kds-card-header {
  padding: 12px 16px; font-weight: 700;
  display: flex; justify-content: space-between; align-items: center;
}
.kds-card-header.pendente  { background: var(--green-pale); color: var(--green-dark); }
.kds-card-header.cozinha   { background: #fff3cd; color: #856404; }
.kds-card-header.pronta    { background: #d1ecf1; color: #0c5460; }
.kds-items { flex: 1; padding: 12px 16px; }
.kds-item {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 0; border-bottom: 1px dashed var(--border); font-size: 14px;
}
.kds-item:last-child { border-bottom: none; }
.kds-item .qty { font-weight: 800; min-width: 24px; font-size: 16px; color: var(--green-dark); }
.kds-item .item-name { flex: 1; }
.kds-item .item-notes { font-size: 11px; color: var(--orange); font-style: italic; }
.kds-item .item-check { cursor: pointer; font-size: 20px; }
.kds-timer { font-size: 24px; font-weight: 800; }
.kds-timer.normal  { color: var(--green-main); }
.kds-timer.warn    { color: var(--orange); }
.kds-timer.danger  { color: var(--red); }
.kds-card-footer { padding: 10px 16px; border-top: 1px solid var(--border); display: flex; gap: 8px; }

/* ── Cliente tablet menu ── */
.customer-header {
  background: var(--green-dark); padding: 16px 20px;
  color: #fff; position: sticky; top: 0; z-index: 10;
}
.customer-cart-badge {
  position: relative; display: inline-block;
}
.customer-cart-badge .count {
  position: absolute; top: -8px; right: -8px;
  background: var(--gold); color: #fff; width: 20px; height: 20px;
  border-radius: 50%; font-size: 11px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.cart-drawer {
  position: fixed; bottom: 0; left: 0; right: 0;
  background: #fff; border-radius: var(--radius) var(--radius) 0 0;
  box-shadow: 0 -4px 30px rgba(0,0,0,.15);
  z-index: 200; transform: translateY(100%); transition: transform .3s;
  max-height: 70vh; overflow-y: auto; padding: 20px;
}
.cart-drawer.open { transform: translateY(0); }

/* ── Animações ── */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideUp { from { transform: translateY(30px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes pulse-red { 0%,100% { box-shadow: 0 0 0 0 rgba(192,57,43,.4); } 50% { box-shadow: 0 0 0 8px rgba(192,57,43,0); } }

/* ── Login page ── */
.login-page {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background:
    radial-gradient(circle at 15% 15%, rgba(255,196,0,.25), transparent 24%),
    radial-gradient(circle at 88% 78%, rgba(215,25,32,.30), transparent 28%),
    linear-gradient(145deg, #061731 0%, #071d3d 50%, #0b4f91 100%);
  padding: 20px;
}
.login-card {
  background: rgba(255,253,248,.98); border-radius: 26px; padding: 38px 36px;
  width: 100%; max-width: 400px; box-shadow: 0 20px 60px rgba(0,0,0,.3);
  animation: slideUp .4s;
}
.login-logo { text-align: center; margin-bottom: 28px; }
.login-logo img { width: 120px; height: auto; }
.login-logo h1 { font-size: 22px; font-weight: 800; color: var(--green-dark); margin-top: 12px; }
.login-logo p { color: var(--text-muted); font-size: 13px; }
.login-logo .brand-mark {
  width: 104px;
  height: 104px;
  border-radius: 30px;
  border-width: 4px;
  box-shadow: 0 10px 0 #9f1017, 0 20px 34px rgba(7,29,61,.28);
}

.brand-mark {
  width: 70px; height: 70px; margin: 0 auto 14px; border-radius: 22px;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:900; font-size:24px; letter-spacing:-1px;
  background:linear-gradient(145deg,var(--green-main),var(--green-dark));
  box-shadow:0 12px 28px rgba(23,63,53,.28);
  position:relative;
}
.brand-mark::after {
  content:""; width:12px; height:12px; border-radius:50%; background:var(--gold);
  position:absolute; right:10px; top:10px; box-shadow:0 0 0 4px rgba(255,255,255,.18);
}
.store-hero {
  background:linear-gradient(135deg,var(--green-dark),var(--green-main));
  color:#fff; border-radius:22px; padding:24px; margin-bottom:22px;
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  box-shadow:0 16px 38px rgba(23,63,53,.18);
}
.store-hero h2 { font-size:24px; line-height:1.15; margin-bottom:6px; }
.store-hero p { color:rgba(255,255,255,.72); font-size:13px; }
.store-hero .hero-chip { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); padding:9px 13px; border-radius:999px; font-size:12px; font-weight:700; white-space:nowrap; }

/* ── Configuração fiscal guiada ── */
.fiscal-steps {
  display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:10px;
  align-items:center; margin-bottom:16px;
}
.fiscal-step-pill {
  display:flex; align-items:center; gap:10px; background:#fff; border:1px solid rgba(11,79,145,.12);
  border-radius:14px; padding:12px 14px; box-shadow:0 6px 18px rgba(7,29,61,.06);
}
.fiscal-step-pill > span, .fiscal-section-number {
  width:30px; height:30px; flex:0 0 30px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%; background:var(--green-main); color:#fff; font-size:13px; font-weight:800;
}
.fiscal-step-pill div, .fiscal-form-section summary div, .fiscal-save-bar div { display:flex; flex-direction:column; gap:2px; }
.fiscal-step-pill b { color:var(--green-dark); font-size:13px; }
.fiscal-step-pill small, .fiscal-form-section summary small, .fiscal-save-bar small { color:var(--text-muted); font-size:11px; }
.fiscal-step-arrow { color:var(--text-muted); font-size:24px; }
.fiscal-guidance {
  padding:13px 15px; margin-bottom:14px; border-radius:12px; background:#eef6ff;
  color:#123d6b; border:1px solid #d7e9fb; font-size:13px;
}
/* ── Configuração administrativa da consulta SEFAZ ── */
.sefaz-config-panel { margin-bottom:16px; border:1px solid #c8d9e5; }
.sefaz-config-head {
  display:flex; justify-content:space-between; align-items:flex-start; gap:20px;
  padding:20px; background:linear-gradient(135deg,#f1f8fb,#fffdf8);
  border-bottom:1px solid var(--border);
}
.sefaz-config-head h3 { margin:3px 0 5px; color:var(--green-dark); font-size:19px; }
.sefaz-config-head p { max-width:720px; color:var(--text-muted); font-size:12px; line-height:1.55; }
.sefaz-kicker { color:var(--blue); font-size:10px; font-weight:800; letter-spacing:.12em; }
.sefaz-status {
  flex:0 0 auto; padding:8px 11px; border-radius:999px; font-size:11px;
  font-weight:800; text-align:center; border:1px solid transparent;
}
.sefaz-status-neutral { color:#647386; background:#edf1f4; border-color:#d8e0e6; }
.sefaz-status-validated { color:#146487; background:#e7f5fb; border-color:#a9d9ec; }
.sefaz-status-connected { color:#17633c; background:#e5f7ec; border-color:#a9dfbf; }
.sefaz-status-error { color:#a83232; background:#fff0ef; border-color:#efb8b5; }
.sefaz-notice { margin:15px 20px 0; padding:12px 14px; border-radius:10px; font-size:12px; line-height:1.5; }
.sefaz-notice-neutral { background:#f2f5f7; color:#536577; }
.sefaz-notice-validated { background:#edf8fc; color:#175879; }
.sefaz-notice-connected { background:#eaf8f0; color:#17633c; }
.sefaz-notice-error { background:#fff1f0; color:#9c3030; }
.sefaz-config-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr); gap:20px; padding:18px 20px 20px; }
.sefaz-config-form .form-group { margin-bottom:12px; }
.sefaz-field-hint { display:block; margin-top:5px; color:var(--text-muted); font-size:11px; }
.sefaz-toggle { display:flex; align-items:flex-start; gap:9px; padding:29px 0 0; color:var(--text); font-size:13px; cursor:pointer; }
.sefaz-toggle input { width:18px; height:18px; accent-color:var(--green-main); }
.sefaz-toggle span { display:flex; flex-direction:column; gap:3px; }
.sefaz-toggle small { color:var(--text-muted); font-size:11px; font-weight:400; }
.sefaz-actions { display:flex; gap:9px; flex-wrap:wrap; margin-top:4px; }
.sefaz-facts { display:grid; align-content:start; gap:8px; padding:13px; border:1px solid var(--border); border-radius:12px; background:#f8fafb; }
.sefaz-fact { display:flex; justify-content:space-between; gap:12px; padding-bottom:8px; border-bottom:1px solid #e3e9ed; font-size:11px; }
.sefaz-fact:last-child { border-bottom:0; padding-bottom:0; }
.sefaz-fact span { color:var(--text-muted); }
.sefaz-fact b { color:var(--text); text-align:right; word-break:break-word; }
.sefaz-fact-error { display:block; color:#a83232; }
.sefaz-fact-error b { display:block; margin-top:3px; text-align:left; }
.sefaz-fact-empty { padding:18px 8px; color:var(--text-muted); font-size:12px; text-align:center; }
.sefaz-fact-empty small { display:block; margin-top:6px; }
.sefaz-alternative { display:flex; align-items:center; gap:10px; margin:0 20px 20px; padding:12px 14px; border:1px solid #8bd2c6; border-radius:11px; background:#eafaf7; color:#075e58; font-size:12px; }
.sefaz-alternative b { white-space:nowrap; }
.sefaz-alternative span { color:#276f69; }
.fiscal-form-section {
  border:1px solid rgba(11,79,145,.14); border-radius:14px; margin-bottom:12px;
  overflow:hidden; background:#fff;
}
.fiscal-form-section summary {
  display:flex; align-items:center; gap:11px; padding:14px 16px; cursor:pointer;
  list-style:none; background:#fbfcfe;
}
.fiscal-form-section summary::-webkit-details-marker { display:none; }
.fiscal-form-section summary::after {
  content:'⌄'; margin-left:auto; color:var(--text-muted); font-size:18px; transition:transform .2s;
}
.fiscal-form-section[open] summary::after { transform:rotate(180deg); }
.fiscal-form-section[open] summary { border-bottom:1px solid rgba(11,79,145,.10); }
.fiscal-intake-shortcut { border:2px solid #137647; box-shadow:0 4px 0 rgba(11,92,53,.18); }
.fiscal-intake-shortcut summary,
.fiscal-intake-shortcut[open] summary { min-height:70px; background:#166943; color:#fff; }
.fiscal-intake-shortcut summary:hover,
.fiscal-intake-shortcut summary:focus-visible { background:#0f8250; outline:3px solid #94e0b2; outline-offset:-3px; }
.fiscal-intake-shortcut summary b { color:#fff; font-size:18px; }
.fiscal-intake-shortcut summary small { color:#e3f8eb; font-size:13px; }
.fiscal-intake-shortcut summary::after { color:#fff; }
.fiscal-intake-shortcut .fiscal-section-number { background:#fff; color:#166943; }
.fiscal-section-content { padding:16px; }
.fiscal-accountant-warning, .fiscal-security-note {
  padding:12px 14px; border-radius:10px; font-size:12px; margin-bottom:14px;
}
.fiscal-accountant-warning { background:#fff7df; color:#745600; border:1px solid #f5df9a; }
.fiscal-security-note { background:#eef6ff; color:#123d6b; border:1px solid #d7e9fb; }
.fiscal-save-bar {
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  position:sticky; bottom:10px; padding:14px 16px; margin-top:16px;
  background:rgba(255,255,255,.97); border:1px solid rgba(11,79,145,.14);
  border-radius:14px; box-shadow:0 10px 30px rgba(7,29,61,.12);
}

/* ── Hierarquia visual do painel de notas fiscais ── */
#section-fiscal .fiscal-topic {
  margin:28px 0 14px;
  padding:20px 22px;
  border-radius:14px;
  border:2px solid #2d658f;
  border-left-width:9px;
  background:#eaf3fb;
  box-shadow:0 5px 15px rgba(7,29,61,.1);
}
#section-fiscal .fiscal-topic-label {
  display:block;
  color:#285179;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
}
#section-fiscal .fiscal-topic h3 {
  margin:4px 0 6px;
  color:#092a58;
  font-size:clamp(20px,2.5vw,26px);
  line-height:1.2;
}
#section-fiscal .fiscal-topic p {
  max-width:72ch;
  font-size:13px;
  line-height:1.55;
  color:#24415e;
}
#section-fiscal .fiscal-topic-preview {
  border-color:#b26512;
  background:#fff5e7;
}
#section-fiscal .fiscal-topic-preview .fiscal-topic-label,
#section-fiscal .fiscal-topic-preview h3,
#section-fiscal .fiscal-topic-preview p { color:#78420c; }
#section-fiscal > .sefaz-config-panel,
#section-fiscal > .card,
#section-fiscal #expiryAlertsContainer > .card {
  margin-bottom:20px !important;
  border:1px solid #c8d8e8;
  border-top:4px solid #0b4f91;
  box-shadow:0 8px 22px rgba(7,29,61,.09);
}
#section-fiscal > .card > .card-header {
  min-height:58px;
  padding:15px 20px;
  background:linear-gradient(90deg,#e8f2ff,#f8fbff);
  border-bottom:2px solid #c7dbee;
  color:#102f52;
}
#section-fiscal > .card > .card-header b {
  color:#0b4f91;
  font-weight:900;
}
#section-fiscal > .sefaz-config-panel {
  border-top-color:#ffc400;
}
#section-fiscal > .sefaz-config-panel .sefaz-config-head {
  background:linear-gradient(115deg,#092a58,#0b4f91);
  color:#fff;
  border-bottom:3px solid #ffc400;
}
#section-fiscal > .sefaz-config-panel .sefaz-config-head h3,
#section-fiscal > .sefaz-config-panel .sefaz-config-head p {
  color:#fff;
}
#section-fiscal > .sefaz-config-panel .sefaz-config-head p {
  color:rgba(255,255,255,.82);
}
#section-fiscal > .fiscal-config-card {
  border-top-color:#ffc400;
}
#section-fiscal .fiscal-config-card > .card-header {
  background:linear-gradient(90deg,#fff4c2,#fffaf0);
  border-bottom-color:#ecd987;
}
#section-fiscal .fiscal-config-card > .card-header b {
  color:#745600;
}
#section-fiscal .fiscal-config-card .fiscal-form-section {
  margin:16px 0;
  border:1px solid #a9c4df;
  border-left:5px solid #0b4f91;
  border-radius:12px;
  box-shadow:0 3px 10px rgba(7,29,61,.05);
}
#section-fiscal .fiscal-config-card .fiscal-form-section summary {
  min-height:66px;
  padding:14px 16px;
  background:#edf5ff;
}
#section-fiscal .fiscal-config-card .fiscal-form-section[open] summary {
  background:#dcecff;
  border-bottom:2px solid #a9c4df;
}
#section-fiscal .fiscal-config-card .fiscal-form-section summary b {
  color:#092a58;
  font-size:14px;
}
#section-fiscal .fiscal-config-card .fiscal-form-section summary:focus-visible {
  outline:3px solid #2478c8;
  outline-offset:-4px;
}
#section-fiscal .fiscal-config-card .fiscal-section-content {
  padding:20px;
}
#section-fiscal .fiscal-save-bar {
  border:2px solid #0b4f91;
  border-left:7px solid #ffc400;
}
@media (max-width:768px) {
  #section-fiscal > .card > .card-header {
    align-items:flex-start;
    gap:10px;
    padding:14px 16px;
  }
  #section-fiscal .fiscal-config-card .fiscal-form-section {
    margin:12px 0;
  }
  #section-fiscal .fiscal-config-card .fiscal-section-content {
    padding:14px;
  }
  #section-fiscal .sefaz-config-head {
    padding:17px 16px;
  }
}
@media (max-width:480px) {
  #section-fiscal .fiscal-topic { padding:16px; }
  #section-fiscal > .card > .card-header {
    flex-direction:column;
  }
  #section-fiscal > .card > .card-header .btn {
    align-self:flex-start;
  }
  #section-fiscal .fiscal-config-card .fiscal-form-section summary {
    gap:9px;
    padding:12px;
  }
  #section-fiscal .fiscal-config-card .fiscal-form-section summary b {
    font-size:13px;
  }
  #section-fiscal .fiscal-config-card .fiscal-section-content {
    padding:12px;
  }
}

/* ── Recebimento e rastreio de validade ── */
#incomingInvoiceModal { z-index:1300; }
.incoming-invoice-modal { width:min(96vw,960px); max-width:960px; max-height:92vh; display:flex; flex-direction:column; overflow:hidden; }
.incoming-invoice-modal .modal-body { overflow-y:auto; min-height:0; }
.incoming-invoice-modal .modal-footer { flex-wrap:wrap; }
.incoming-invoice-link { padding:0; border:0; background:transparent; color:var(--blue,#0b4f91); font:inherit; font-weight:800; text-decoration:underline; cursor:pointer; }
.incoming-advanced { margin:12px 0; border:1px solid #d7e3ee; border-radius:9px; padding:10px 12px; background:#fff; }
.incoming-advanced > summary { color:#17446c; cursor:pointer; font-size:12px; font-weight:700; }
.incoming-advanced[open] > summary { margin-bottom:10px; }
.incoming-items { display:grid; gap:12px; }
.incoming-item { padding:15px; border:1px solid var(--border); border-radius:13px; background:#fbfcfe; }
.incoming-item.is-pending { border:2px solid #e7a900; background:#fffaf0; }
.incoming-item-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.incoming-item-number { display:inline-block; margin-bottom:6px; padding:5px 9px; border-radius:6px; background:#126740; color:#fff; font-size:13px; font-weight:900; }
.incoming-item-head b { display:block; color:var(--green-dark); }
.incoming-item-head small { display:block; margin-top:4px; color:var(--text-muted); }
.incoming-purchase-price { margin:11px 0; padding:10px 12px; border:1px solid #f3a5ad; border-radius:8px; background:#fff1f2; color:#d0001d; font-size:15px; font-weight:700; line-height:1.5; }
.incoming-purchase-price strong { color:#c0001a; font-size:18px; font-weight:800; }
.incoming-purchase-price small { display:block; color:#a41a2d; font-size:12px; font-weight:500; }
.incoming-margin-preview { display:grid; gap:4px; margin:9px 0; padding:9px 11px; border-left:3px solid #25825b; border-radius:7px; background:#edf7ef; color:#28553a; font-size:12px; line-height:1.45; }
.incoming-margin-preview small { color:#5f7565; font-size:11px; }
.incoming-item-warning { margin:12px 0 8px; padding:9px 11px; color:#795600; background:#fff1c7; border-radius:8px; font-size:12px; font-weight:700; }
.incoming-lots { display:grid; gap:8px; margin:12px 0; }
.incoming-lot-row { display:grid; grid-template-columns:minmax(180px,1fr) minmax(220px,2fr); gap:8px; align-items:end; }
.incoming-lot-row label { display:grid; gap:5px; color:#526b82; font-size:12px; font-weight:700; }
.incoming-lot-extra { margin:0; }
.incoming-lot-extra.is-incomplete > summary { color:#c0001a; background:#fff1f2; border-radius:6px; padding:5px 7px; font-weight:700; }
.incoming-lot-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; align-items:end; }
.incoming-lot-row .form-control { min-width:0; padding:8px 9px; font-size:12px; }
@media (max-width:620px) {
  #incomingInvoiceModal { align-items:flex-start; padding:12px; }
  .incoming-invoice-modal { width:calc(100vw - 40px); max-width:calc(100vw - 40px); max-height:calc(100dvh - 80px); }
  .incoming-invoice-modal .modal-header,.incoming-invoice-modal .modal-body,.incoming-invoice-modal .modal-footer { padding:14px; }
  .incoming-lot-row,.incoming-lot-fields { grid-template-columns:1fr; }
  .incoming-invoice-modal .modal-footer .btn { flex:1 1 145px; min-width:0; white-space:normal; overflow-wrap:anywhere; justify-content:center; text-align:center; }
}
.incoming-lot-readonly { display:flex; justify-content:space-between; gap:10px; padding:10px 11px; background:#eef6ff; border-radius:9px; color:#123d6b; font-size:12px; }
.incoming-lot-readonly span { color:var(--text-muted); text-align:right; }
.expiry-alert-card { margin-bottom:16px; border-left:4px solid var(--orange); }
.expiry-subtitle { display:block; margin-top:3px; font-size:11px; color:var(--text-muted); font-weight:400; }
.expiry-alert-body { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.expiry-alert-group { border:1px solid var(--border); border-radius:11px; overflow:hidden; }
.expiry-alert-group h4 { display:flex; justify-content:space-between; padding:11px 13px; font-size:13px; background:#fff7e8; color:#815900; }
.expiry-alert-group.expired { border-color:#efc2c2; }
.expiry-alert-group.expired h4 { background:#fff0f0; color:var(--red); }
.expiry-alert-group h4 span { min-width:22px; text-align:center; border-radius:99px; background:rgba(0,0,0,.08); }
.expiry-alert-list { display:grid; }
.expiry-alert-row { display:flex; justify-content:space-between; gap:10px; padding:10px 13px; border-top:1px solid var(--border); font-size:12px; }
.expiry-alert-row small { display:block; color:var(--text-muted); margin-top:3px; font-size:11px; }
.expiry-alert-row strong { color:var(--red); text-align:right; white-space:nowrap; }
.expiry-alert-group.soon .expiry-alert-row strong { color:#a66c00; }
.expiry-empty { grid-column:1/-1; padding:16px; background:#effaf3; color:#17633c; border-radius:10px; }
.expiry-empty span { display:block; font-size:12px; color:#4c8064; margin-top:3px; }

/* ── Responsive ── */
@media (max-width: 768px) {
  .sidebar { transform: translateX(-100%); }
  .sidebar.open { transform: translateX(0); }
  .sidebar-overlay { display: block; opacity: 0; pointer-events: none; transition: opacity .3s; }
  .sidebar-overlay.open { opacity: 1; pointer-events: all; }
  .main-content { margin-left: 0; min-width: 0; }
  .menu-toggle { display: inline-flex; }
  .form-row { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .topbar { padding: 0 16px; gap:8px; }
  .topbar-navigation { gap:6px; flex:1; min-width:0; }
  .topbar-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .panel-history button { width:36px; min-width:36px; padding:0; font-size:0; }
  #panelBackBtn::before { content:"←"; font-size:20px; }
  #panelForwardBtn::before { content:"→"; font-size:20px; }
  .panel-history button:disabled { display:none; }
  .page-content { padding: 16px; }
  .kds-grid { grid-template-columns: 1fr; }
  .products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tables-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .card-header { padding: 14px 16px; }
  .card-body { padding: 16px; }
  .topbar-title { font-size: 16px; }
  .topbar-actions { gap: 7px; }
  .topbar-actions > span:not(.notification-bell):not(#cashStatus) { display: none !important; }
  .store-hero { border-radius: 16px; padding: 18px; }
  .store-hero h2 { font-size: 20px; }
  .fiscal-steps { grid-template-columns:1fr; gap:8px; }
  .fiscal-step-arrow { display:none; }
  .sefaz-config-head { flex-direction:column; gap:12px; }
  .sefaz-status { align-self:flex-start; }
  .sefaz-config-grid { grid-template-columns:1fr; padding:16px; }
  .sefaz-notice { margin-left:16px; margin-right:16px; }
  .sefaz-alternative { align-items:flex-start; flex-direction:column; gap:3px; margin-left:16px; margin-right:16px; }
  .fiscal-save-bar { align-items:stretch; flex-direction:column; bottom:6px; }
  .fiscal-save-bar .btn { width:100%; }
  .incoming-lot-row { grid-template-columns:1fr 1fr; }
  .incoming-lot-row .btn { grid-column:1/-1; justify-self:start; }
  .incoming-lot-readonly { flex-direction:column; }
  .incoming-lot-readonly span { text-align:left; }
  .expiry-alert-body { grid-template-columns:1fr; }
  #dashGrid { grid-template-columns: 1fr !important; }
  .table-responsive { margin: 0 -16px; padding: 0 16px; }
  table.data-table { min-width: 620px; }
  .modal-backdrop { align-items: flex-end; padding: 0; }
  .modal { border-radius: 20px 20px 0 0; max-height: 92dvh; }
  .modal-body { padding: 20px; }
  .users-table-wrap { margin: 0; padding: 0; overflow: visible; }
  .users-table { min-width: 0 !important; display: block; }
  .users-table thead { display: none; }
  .users-table tbody { display: grid; gap: 12px; }
  .users-table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px 14px;
    padding: 16px;
    background: var(--white);
    border: 1px solid rgba(11,79,145,.12);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
  }
  .users-table td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 !important;
    border: 0 !important;
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .users-table td::before {
    content: attr(data-label);
    flex: 0 0 auto;
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .users-table td:nth-child(1),
  .users-table td:nth-child(2) { grid-column: 1 / -1; }
  .users-table .user-actions { justify-content: flex-end; }
  .users-table .user-actions::before { display: none; }
}

@media (max-width: 400px) {
  .stats-grid { grid-template-columns: 1fr; }
  .tables-grid { grid-template-columns: repeat(2, 1fr); }
  .products-grid { grid-template-columns: 1fr; }
}

/* ── Misc ── */
.empty-state { text-align: center; padding: 48px 20px; color: var(--text-muted); }
.empty-state .icon { font-size: 48px; margin-bottom: 12px; }
.empty-state p { font-size: 15px; }
.text-right { text-align: right; }
.text-center { text-align: center; }
.text-muted { color: var(--text-muted); }
.font-bold { font-weight: 700; }
.mt-4 { margin-top: 16px; }
.mb-4 { margin-bottom: 16px; }
.flex { display: flex; }
.items-center { align-items: center; }
.gap-2 { gap: 8px; }
.gap-3 { gap: 12px; }
.w-full { width: 100%; }
.online-dot { width:8px; height:8px; border-radius:50%; background:var(--green-light); display:inline-block; }
.offline-dot { width:8px; height:8px; border-radius:50%; background:var(--red); display:inline-block; }

.section { display: none; }
.section.active { display: block; }
#section-order-inbox.delivery-customer-inbox-dialog {
  position: fixed; inset: 18px; z-index: 1005; display: block;
  overflow: auto; padding: 22px; border-radius: 16px;
  background: var(--surface, #fff); box-shadow: 0 24px 80px rgba(0,0,0,.3);
}
body.delivery-customer-inbox-open { overflow: hidden; }
body.delivery-customer-inbox-open::before {
  content: ""; position: fixed; inset: 0; z-index: 1004;
  background: rgba(5,24,48,.68);
}
@media (max-width:760px) {
  #section-order-inbox.delivery-customer-inbox-dialog {
    inset: 0; padding: 14px; border-radius: 0;
  }
}

.order-card {
  background: #fff; border-radius: var(--radius); box-shadow: var(--shadow);
  overflow: hidden; margin-bottom: 16px;
}
.order-card-header {
  padding: 14px 16px; display: flex; align-items: center;
  justify-content: space-between; border-bottom: 1px solid var(--border);
}
.order-items-list { padding: 12px 16px; }
.order-item-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 6px 0; font-size: 14px; border-bottom: 1px dashed #f0f0f0;
}
.order-item-row:last-child { border-bottom: none; }
.order-total { padding: 12px 16px; background: var(--bg); font-weight: 700; font-size: 16px; display: flex; justify-content: space-between; }
.orders-page-title { margin:3px 0 2px; color:var(--green-dark); }
.orders-panorama {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px;
  align-items:start; padding:3px 2px 18px;
}
.orders-waiting-stack { display:grid; gap:14px; align-content:start; min-width:0; }
.orders-column {
  min-width:0; padding:10px; border:1px solid #d8e1e8;
  border-radius:18px; background:#edf3f7; transition:box-shadow .2s ease, transform .2s ease;
}
.orders-column-finished { grid-column:1/-1; background:#f5f8fa; }
.orders-column.is-highlighted { box-shadow:0 0 0 4px rgba(22,119,200,.25); transform:translateY(-2px); }
.orders-column-header {
  display:flex; align-items:center; gap:10px; margin:-10px -10px 10px;
  padding:12px; border-radius:17px 17px 11px 11px; background:linear-gradient(145deg,#1677c8,#092b57); color:#fff;
}
.orders-column-finished .orders-column-header { background:#e4ebf1; color:#16334f; }
.orders-column-header h3 { margin:0; font-size:17px; color:#fff; }
.orders-column-header small { color:rgba(255,255,255,.72); }
.orders-column-finished .orders-column-header h3 { color:#16334f; }
.orders-column-finished .orders-column-header small { color:#4c6376; }
.orders-column-list { display:grid; gap:10px; }
.orders-column-finished .orders-column-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
.orders-column-empty { padding:24px 15px; border:1px dashed #b8c8d4; border-radius:12px; color:var(--text-muted); text-align:center; font-size:12px; }
.panorama-order-card { margin:0; border:1px solid rgba(9,43,87,.1); box-shadow:0 5px 14px rgba(9,43,87,.09); }
.panorama-order-card:hover { transform:translateY(-2px); box-shadow:0 9px 20px rgba(9,43,87,.14); }
.panorama-order-card.is-hidden { opacity:.65; border-style:dashed; }
.panorama-order-card .order-card-header { align-items:flex-start; gap:7px; padding:10px 12px; flex-wrap:wrap; }
.panorama-order-card .order-card-header > div:last-child { flex-direction:column; align-items:flex-end !important; gap:3px !important; }
.panorama-order-card .order-items-list { padding:6px 12px; }
.panorama-order-card .order-item-row { font-size:12px; }
.panorama-order-card .order-total { padding:8px 12px; font-size:14px; }
.panorama-order-actions {
  display:flex; gap:8px; flex-wrap:wrap; padding:10px 12px 12px;
}
.panorama-order-actions .btn {
  display:inline-flex; flex:1 1 auto; min-height:42px; align-items:center; justify-content:center;
  padding:9px 14px; border:2px solid transparent; border-radius:7px;
  color:#fff; font-family:inherit; font-size:13px; font-weight:800; line-height:1.2;
  letter-spacing:.01em; white-space:nowrap; cursor:pointer; text-decoration:none;
  transition:background-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.panorama-order-actions .panorama-action-view { background:#0b4f91; box-shadow:0 2px 0 #073765; }
.panorama-order-actions .panorama-action-view:hover { background:#073765; }
.panorama-order-actions .panorama-action-cancel { background:#bd2028; box-shadow:0 2px 0 #86151c; }
.panorama-order-actions .panorama-action-cancel:hover { background:#981a21; }
.panorama-order-actions .btn:active { transform:translateY(1px); box-shadow:none; }
.panorama-order-actions .btn:focus-visible { outline:3px solid #f2b600; outline-offset:2px; }
.panorama-order-actions .btn:disabled { opacity:.55; cursor:not-allowed; }
.orders-load-more { margin-top:12px; width:100%; }
@media (max-width:1100px) {
  .orders-panorama { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .orders-column-finished .orders-column-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .orders-panorama, .orders-column-finished .orders-column-list { grid-template-columns:minmax(0,1fr); }
  .orders-toolbar { align-items:flex-start; }
}

.order-consultation { border-top:1px solid #dce6ef; margin-top:16px; padding:16px 2px 4px; }
.order-consultation h4 { margin:12px 0 8px; font-size:15px; color:#193852; }
.order-consultation dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; margin:0 0 12px; }
.order-consultation dt { color:#526a7d; font-size:11px; }
.order-consultation dd { margin:2px 0 0; font-size:13px; font-weight:650; overflow-wrap:anywhere; }
.order-consultation-payment { border:1px solid #dce6ef; background:#f5f9fc; border-radius:10px; padding:12px; margin:8px 0; }
.order-consultation-payment strong { display:block; margin-bottom:10px; color:#193852; }
@media (max-width:520px) { .order-consultation dl { grid-template-columns:1fr; } }

.payment-methods { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 16px; }
.pm-btn {
  padding: 14px 8px; border-radius: var(--radius-sm); border: 2px solid var(--border);
  background: #fff; cursor: pointer; text-align: center; transition: all .2s;
  font-size: 12px; font-weight: 600;
}
.pm-btn .pm-icon { font-size: 22px; display: block; margin-bottom: 4px; }
.pm-btn.selected { border-color: var(--green-main); background: var(--green-pale); }
.pm-btn:hover { border-color: var(--green-light); }

.report-chart { display: flex; flex-direction: column; gap: 8px; }
.chart-bar-row { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.chart-bar-label { width: 120px; text-align: right; color: var(--text-muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chart-bar-wrap { flex: 1; background: var(--bg); border-radius: 4px; overflow: hidden; height: 22px; }
.chart-bar { height: 100%; background: var(--green-main); border-radius: 4px; transition: width .5s; display: flex; align-items: center; padding: 0 8px; }
.chart-bar-val { font-size: 11px; color: #fff; font-weight: 700; }

.notification-bell { position:relative; cursor:pointer; border:0; padding:5px; background:transparent; color:inherit; font:inherit; }
.notification-bell:focus-visible { outline:3px solid var(--gold); outline-offset:3px; border-radius:6px; }
@media (max-width:650px) {
  table.data-table.fiscal-mobile-table { display:block; min-width:0; }
  .fiscal-mobile-table thead { display:none; }
  .fiscal-mobile-table tbody { display:grid; gap:12px; }
  .fiscal-mobile-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:14px; border:1px solid var(--border); border-radius:11px; background:#fff; }
  .fiscal-mobile-table td { display:block; min-width:0; padding:0; border:0; overflow-wrap:anywhere; }
  .fiscal-mobile-table td::before { content:attr(data-label); display:block; margin-bottom:4px; color:var(--text-muted); font-size:10px; font-weight:800; text-transform:uppercase; }
  .fiscal-mobile-table td:first-child,.fiscal-mobile-table td:last-child { grid-column:1/-1; }
  .fiscal-mobile-table td:last-child .btn { width:100%; justify-content:center; white-space:normal; }
}
.notification-bell .badge-count {
  position: absolute; top: -6px; right: -6px;
  background: var(--red); color: #fff; width: 18px; height: 18px;
  border-radius: 50%; font-size: 10px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}

.summary-box {
  background: var(--green-pale); border-radius: var(--radius-sm);
  padding: 16px; margin-bottom: 16px;
}
.summary-row { display: flex; justify-content: space-between; padding: 4px 0; font-size: 14px; }
.summary-row.total { font-weight: 800; font-size: 18px; border-top: 1px solid #ccc; margin-top: 8px; padding-top: 8px; }

/* tab pills */
.tab-pills { display: flex; gap: 4px; background: var(--bg); padding: 4px; border-radius: var(--radius-sm); margin-bottom: 20px; }

/* ═══════════════════════════════════════════════════════════════════════
   TOTEM - INSIGHT SYSTEMS / NOVA CAMADA VISUAL
   Direção: operação premium de alto contraste — azul-marinho institucional,
   amarelo de comando e vermelho de alerta. Superfícies elevadas, tipografia
   larga e controles pensados primeiro para o polegar.
   ═══════════════════════════════════════════════════════════════════════ */
:root {
  --green-dark: #092b57;
  --green-main: #0b5cad;
  --green-light: #2489dc;
  --green-pale: #e8f3ff;
  --gold: #f2b705;
  --gold-light: #fff4ce;
  --red: #d9363e;
  --orange: #ed6b2d;
  --blue: #168bd1;
  --bg: #eef3f8;
  --white: #fffefa;
  --text: #12213a;
  --text-muted: #687890;
  --border: #d8e2ed;
  --shadow: 0 16px 36px rgba(9, 43, 87, .10), 0 3px 8px rgba(9, 43, 87, .06);
  --shadow-hover: 0 22px 42px rgba(9, 43, 87, .16), 0 5px 12px rgba(9, 43, 87, .08);
  --radius: 18px;
  --radius-sm: 11px;
  --sidebar-w: 240px;
  --header-h: 72px;
}

html { background: var(--bg); }
body {
  font-size: 15px;
  letter-spacing: -.01em;
  background:
    radial-gradient(circle at 100% 0%, rgba(22, 139, 209, .06), transparent 26rem),
    var(--bg);
}
button, input, select, textarea { font: inherit; }
button, .btn, .nav-item, .card, .stat-card, .table-card, .product-card { -webkit-tap-highlight-color: transparent; }

/* Text and controls */
.btn {
  min-height: 44px;
  padding: 11px 18px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -.01em;
  box-shadow: 0 3px 0 rgba(9,43,87,.12);
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.btn:hover { transform: translateY(-1px); box-shadow: 0 7px 16px rgba(9,43,87,.15); }
.btn:active { transform: translateY(1px) scale(.985); box-shadow: none; }
.btn-primary { background: linear-gradient(135deg, #0d66bd, #084b92); }
.btn-primary:hover { background: linear-gradient(135deg, #1173cc, #0a559f); }
.btn-secondary { background: #fffefa; border-color: #cbd8e6; }
.btn-danger { background: linear-gradient(135deg, #e34b4f, #c62d35); }
.btn-gold { background: linear-gradient(135deg, #f7c92b, #e29e00); color: #17243a; }
.btn-icon { min-height: 42px; min-width: 42px; }
.form-control {
  min-height: 46px;
  padding: 11px 14px;
  border: 1.5px solid #cbd8e6;
  border-radius: 12px;
  background: rgba(255,254,250,.95);
  color: var(--text);
  box-shadow: inset 0 1px 2px rgba(9,43,87,.04);
}
.form-control::placeholder { color: #91a0b3; }
.form-control:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 4px rgba(22,139,209,.13);
}
.form-group label { font-size: 12px; letter-spacing: .02em; text-transform: uppercase; }

/* Elevated surfaces */
.card, .order-card, .product-card, .table-card, .kds-card {
  border: 1px solid rgba(147, 171, 199, .28);
  box-shadow: var(--shadow);
}
.card { border-radius: 18px; }
.card:hover, .stat-card:hover, .table-card:hover, .product-card:hover {
  box-shadow: var(--shadow-hover);
}
.card-header {
  min-height: 58px;
  padding: 17px 21px;
  font-size: 15px;
  letter-spacing: -.015em;
  background: linear-gradient(180deg, rgba(255,255,255,.75), rgba(248,251,254,.72));
}
.card-body { padding: 22px; }
.stat-card {
  position: relative;
  min-height: 150px;
  padding: 20px;
  border: 1px solid rgba(147,171,199,.26);
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
.stat-card::after {
  content: "";
  position: absolute;
  right: -28px;
  bottom: -40px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: rgba(22,139,209,.06);
  pointer-events: none;
}
.stat-card .stat-icon {
  width: 46px; height: 46px;
  display: grid; place-items: center;
  border-radius: 14px;
  background: var(--green-pale);
  color: var(--green-main);
  font-size: 22px;
  box-shadow: inset 0 -3px 7px rgba(9,43,87,.08);
}
.stat-card .stat-label { font-size: 11px; letter-spacing: .08em; }
.stat-card .stat-value { font-size: clamp(27px, 3vw, 36px); line-height: 1; }
.stat-card.gold .stat-icon { background: var(--gold-light); }
.stat-card.red .stat-icon { background: #ffeaeb; }
.stat-card.blue .stat-icon { background: #e3f4ff; }

/* Navigation */
.sidebar {
  background: linear-gradient(180deg, #fff09b 0%, #ffe259 54%, #ffd736 100%);
  box-shadow: 8px 0 24px rgba(92,70,0,.15);
}
.sidebar-logo { padding: 10px 12px; min-height: 78px; border-bottom-color:#ffdf00; gap:10px; }
.sidebar-logo .brand-mark { box-shadow: 0 4px 0 #0b2045, 0 7px 12px rgba(8,26,58,.24); }
.sidebar-logo-text, .sidebar-user .info .name { color:#fff; }
.sidebar-logo-text .sub, .sidebar-user .info .role { color:#d8e5f8; }
.sidebar-logo-text .brand { font-size: 16px; letter-spacing: .025em; line-height:1.05; }
.sidebar-nav { display:flex; flex-direction:column; gap:5px; padding:9px 10px 12px; scroll-behavior:smooth; overscroll-behavior:contain; scrollbar-color:#ffdf00 rgba(255,255,255,.12); }
.sidebar-nav::-webkit-scrollbar-track { background:rgba(255,255,255,.08); }
.sidebar-nav::-webkit-scrollbar-thumb { background:#ffdf00; }
.sidebar-nav::-webkit-scrollbar-thumb:hover, .sidebar-nav::-webkit-scrollbar-thumb:active { background:#fff06a; }
.nav-group-items { display:grid; gap:5px; }
.nav-group[hidden] { display: none; }
.nav-group-items[hidden] { display: none; }
.nav-item-shell {
  display:grid; grid-template-columns:minmax(0,1fr) 30px; align-items:stretch; gap:4px; min-width:0;
  touch-action:pan-y;
}
.nav-item-shell[hidden] { display:none; }
.sidebar .nav-item {
  width:100%; min-width:0;
  min-height: 42px;
  margin: 0;
  padding: 7px 9px;
  gap: 7px;
  border: 1px solid #ffea38;
  border-bottom-color: #d5a900;
  border-radius: 7px;
  background: linear-gradient(180deg,#ffed32,#ffd500);
  color: #102a58;
  box-shadow: 0 2px 0 #b88d00, 0 4px 8px rgba(4,19,47,.2), inset 0 1px 0 rgba(255,255,255,.5);
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.25;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.sidebar .nav-item:hover { transform: translateY(-1px); background:linear-gradient(180deg,#fff47a,#ffe43a); color:#081d42; box-shadow:0 3px 0 #b88d00,0 6px 10px rgba(4,19,47,.24); }
.sidebar .nav-item:focus-visible { outline:3px solid #fff; outline-offset:2px; }
.sidebar .nav-item:active { transform:translateY(2px); box-shadow:0 1px 0 #b88d00,inset 0 2px 5px rgba(4,19,47,.2); }
.sidebar .nav-item.active {
  background: linear-gradient(180deg,#fff36a,#ffc900);
  color:#081d42;
  border:1px solid #fff06a;
  padding:7px 9px;
  box-shadow:0 2px 0 #9f7900,0 5px 10px rgba(4,19,47,.3),inset 0 1px 0 rgba(255,255,255,.55);
}
.sidebar .nav-item .icon { flex:0 0 22px; width:22px; font-size:16px; }
.sidebar-order-handle {
  display:grid; place-items:center; align-self:center; width:30px; min-height:40px; padding:0;
  border:1px solid #ffd900; border-radius:7px;
  background:#ffdf00;
  box-shadow:0 2px 0 #b88d00,inset 0 1px 0 rgba(255,255,255,.45);
  color:#102a58; cursor:grab; touch-action:none; user-select:none;
}
.sidebar-order-handle:active { cursor:grabbing; box-shadow:0 1px 0 #b88d00,inset 0 2px 5px rgba(4,19,47,.2); }
.sidebar-order-handle:focus-visible { outline:3px solid #fff; outline-offset:2px; color:#081d42; }
.sidebar-order-dots {
  display:block; width:15px; height:24px; border-radius:4px;
  background-image:radial-gradient(circle,#102a58 1.25px,transparent 1.6px);
  background-size:6px 7px; background-position:center;
}
.nav-item-shell.is-reordering { opacity:.9; outline:2px dashed #ffdf00; outline-offset:2px; border-radius:8px; }
.nav-item-shell.is-reordering .sidebar-order-handle { cursor:grabbing; background:#fff06a; }
.sidebar-footer { padding:9px 10px; background:#102a58; border-top:1px solid #ffdf00; color:#d8e5f8; }
.sidebar-user { margin-bottom:6px; gap:8px; }
.sidebar-user .avatar { width:30px; height:30px; font-size:12px; flex:none; box-shadow:0 0 0 2px #ffdf00; }
.sidebar-footer .btn:not(.btn-danger):not(.btn-primary) { min-height:32px; padding:5px 8px; font-size:11px; border-radius:6px; box-shadow:none; background:#173b79; border-color:#ffdf00; color:#fff; }
.sidebar-footer .btn:not(.btn-danger):not(.btn-primary):hover { background:#ffdf00; color:#102a58; box-shadow:none; }
.sidebar-footer .btn:first-of-type { margin-bottom:4px; }
.main-content { background: transparent; }
.topbar {
  height: var(--header-h);
  padding: 0 28px;
  background: rgba(255,254,250,.92);
  backdrop-filter: blur(14px);
  border-bottom-color: rgba(147,171,199,.34);
}
.topbar-title { font-size: 21px; letter-spacing: -.03em; }
.panel-history button { min-width: 36px; height: 36px; }
.page-content { padding: 28px; }
.store-hero {
  position: relative;
  overflow: hidden;
  min-height: 136px;
  padding: 28px 30px;
  border-radius: 20px;
  background:
    radial-gradient(circle at 88% 15%, rgba(242,183,5,.24), transparent 11rem),
    linear-gradient(125deg, #092b57, #0b5cad);
  box-shadow: 0 18px 36px rgba(9,43,87,.20);
}
.store-hero::after {
  content: "";
  position: absolute; right: -50px; bottom: -90px;
  width: 220px; height: 220px; border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%; box-shadow: 0 0 0 22px rgba(255,255,255,.04), 0 0 0 44px rgba(255,255,255,.03);
}
.store-hero h2 { font-size: clamp(22px, 3vw, 30px); letter-spacing: -.04em; }
.store-hero p { font-size: 14px; }
.store-hero .hero-chip { position: relative; z-index: 1; border-color: rgba(255,255,255,.26); }

/* Tables, products, orders and operational cards */
.table-card { min-height: 154px; padding: 18px; border-width: 1px; }
.table-card .t-num { font-size: 34px; }
.product-card { transition: transform .2s ease, box-shadow .2s ease; }
.product-card img { height: 156px; }
.product-card .p-body { padding: 17px; }
.product-card .p-name { font-size: 16px; }
.product-card .p-price { font-size: 20px; }
.order-card-header { padding: 17px 19px; }
.order-items-list { padding: 15px 19px; }
.order-total { padding: 15px 19px; }
.tab-pills { gap: 5px; padding: 5px; background: #e2eaf3; border-radius: 13px; }
.tab-pill { padding: 10px 14px; border-radius: 9px; font-weight: 800; }
.tab-pill.active { background: #fffefa; color: var(--green-main); box-shadow: 0 3px 10px rgba(9,43,87,.11); }
.orders-toolbar {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}
.orders-filter-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(118px, 1fr));
  gap: 14px;
  flex: 1;
  max-width: 680px;
}
.order-filter-card {
  appearance: none;
  min-height: 78px;
  padding: 13px 16px;
  border: 1px solid rgba(9,43,87,.12);
  border-radius: 16px;
  background: linear-gradient(145deg, #ffffff 0%, #edf3f9 100%);
  color: var(--green-dark);
  box-shadow:
    0 8px 0 #cbd8e5,
    0 13px 22px rgba(9,43,87,.14),
    inset 0 1px 0 rgba(255,255,255,.95);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 6px;
  font: inherit;
  font-weight: 850;
  transition: transform .16s ease, box-shadow .16s ease, color .16s ease;
}
.order-filter-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 0 #c3d2e1, 0 16px 26px rgba(9,43,87,.17);
}
.order-filter-card:active,
.order-filter-card.active {
  transform: translateY(6px);
  color: #fff;
  border-color: #0b5cad;
  background: linear-gradient(145deg, #1677c8, #092b57);
  box-shadow: 0 2px 0 #061f40, 0 6px 12px rgba(9,43,87,.22), inset 0 1px 0 rgba(255,255,255,.2);
}
.order-filter-icon { font-size: 22px; line-height: 1; }
@media (max-width: 720px) {
  .orders-toolbar { flex-direction: column; }
  .orders-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
  .orders-toolbar > .btn { width: 100%; }
}
table.data-table th { padding: 14px 16px; background: #edf3f8; }
table.data-table td { padding: 15px 16px; }
table.data-table tr:hover td { background: #f6faff; }
.empty-state { padding: 58px 20px; }
.empty-state .icon { color: var(--blue); }

/* Dialogs, notifications and loading */
.modal-backdrop { background: rgba(5,24,48,.62); backdrop-filter: blur(5px); }
.modal { border: 1px solid rgba(255,255,255,.55); box-shadow: 0 28px 80px rgba(5,24,48,.32); }
.modal-header { padding: 22px 25px; background: #f7fafc; }
.modal-header h3 { font-size: 19px; }
.modal-body { padding: 25px; }
.toast { min-height: 36px; border-radius: 9px; font-weight: 700; }
.loading-overlay { background: rgba(238,243,248,.88); backdrop-filter: blur(6px); }
.spinner { width: 42px; height: 42px; border-width: 4px; }

/* Login: same product, not a separate visual world */
.login-page {
  background:
    radial-gradient(circle at 8% 12%, rgba(242,183,5,.22), transparent 19rem),
    radial-gradient(circle at 92% 85%, rgba(217,54,62,.22), transparent 21rem),
    linear-gradient(135deg, #061d3b, #092b57 58%, #0b5cad);
}
.login-card {
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 26px;
  padding: 42px 38px;
  box-shadow: 0 28px 80px rgba(3,18,37,.40), 0 3px 0 rgba(242,183,5,.72);
}
.login-logo h1 { font-size: 25px; letter-spacing: -.04em; }
.login-logo p { font-size: 14px; }
.login-card .btn-lg { min-height: 52px; font-size: 15px; }

/* Mobile comfort */
@media (max-width: 768px) {
  .topbar { height: 64px; padding: 0 14px; }
  .topbar-title { font-size: 18px; }
  .page-content { padding: 17px 14px 28px; }
  .store-hero { min-height: 148px; padding: 22px 20px; }
  .store-hero .hero-chip { align-self: flex-start; }
  .stats-grid { gap: 11px; }
  .stat-card { min-height: 142px; padding: 16px; }
  .stat-card .stat-value { font-size: 27px; }
  .stat-card .stat-icon { width: 40px; height: 40px; font-size: 18px; }
  .card-header { min-height: 54px; padding: 15px 17px; }
  .card-body { padding: 17px; }
  .btn { min-height: 46px; }
  .products-grid { gap: 11px; }
  .product-card .p-body { padding: 14px; }
  .product-card img { height: 125px; }
  .product-card .p-name { font-size: 14px; }
  .product-card .p-price { font-size: 17px; }
  .modal { max-height: 94dvh; }
  .login-card { padding: 34px 24px; }
}

@media (max-width: 480px) {
  .topbar-actions #centralConnectivityIndicator {
    width:36px;
    min-width:36px;
    padding:0;
    justify-content:center;
  }
  .topbar-actions #centralConnectivityIndicator span,
  .topbar-actions #centralConnectivityIndicator b { display:none; }
}

@media (max-width: 400px) {
  .page-content { padding-left: 11px; padding-right: 11px; }
  .stat-card { min-height: 132px; padding: 14px; }
  .stat-card .stat-label { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
.tab-pill { flex: 1; padding: 8px 4px; text-align: center; border-radius: 6px; font-size: 13px; font-weight: 600; cursor: pointer; color: var(--text-muted); }
.tab-pill.active { background: #fff; color: var(--green-dark); box-shadow: 0 1px 6px rgba(0,0,0,.1); }

/* Brand layer: dimensional yellow/red/blue identity, without changing JS contracts. */
.brand-mark { overflow: hidden; background: var(--gold); border: 3px solid var(--red); box-shadow: 0 8px 18px rgba(7,29,61,.25); }
.brand-mark::after { display: none; }
.brand-mark img, .brand-logo { width: 100%; height: 100%; object-fit: contain; display: block; }
.sidebar-logo .brand-logo { width: 48px; height: 48px; border-radius: 10px; }
.brand-mark.brand-3d {
  isolation: isolate;
  overflow: visible;
  border: 4px solid #fff7d0;
  background: linear-gradient(145deg, #fff5a8 0%, #f2b705 48%, #cf1822 100%);
  box-shadow:
    0 5px 0 #f1b600,
    0 10px 0 #b51620,
    0 15px 0 #073a6e,
    0 24px 34px rgba(3, 19, 43, .42),
    inset 0 2px 0 rgba(255,255,255,.9);
  transform: perspective(700px) rotateX(4deg) rotateY(-4deg);
}
.brand-mark.brand-3d::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 4px 8px 52% 8px;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.58), rgba(255,255,255,0));
  pointer-events: none;
}
.brand-mark.brand-3d::before { display: none; }
.brand-mark.brand-3d::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  width: 72%;
  height: 18%;
  left: 14%;
  right: auto;
  top: auto;
  bottom: -24px;
  border-radius: 50%;
  background: rgba(3,19,43,.36);
  box-shadow: 0 0 18px rgba(3,19,43,.38);
  filter: blur(5px);
}
.brand-mark.brand-3d .brand-logo {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: contain;
}
.login-logo .login-brand-mark {
  width: 138px;
  height: 138px;
  margin: 0 auto 28px;
  border-radius: 38px;
  animation: brandFloat 4s ease-in-out infinite;
}
.sidebar-logo { gap: 10px; }
.sidebar-logo .sidebar-brand-mark {
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  margin: 0;
  border-radius: 19px;
  box-shadow:
    0 4px 0 #f1b600,
    0 8px 0 #b51620,
    0 12px 0 #052d59,
    0 18px 24px rgba(0,0,0,.4);
}
.sidebar-logo .sidebar-brand-mark .brand-logo {
  width: 100%;
  height: 100%;
  border-radius: inherit;
}
.store-hero {
  min-height: 154px;
  padding: 24px 28px;
  background:
    radial-gradient(circle at 12% 20%, rgba(255,224,34,.24), transparent 24%),
    linear-gradient(135deg, #061d3b, #0b5cad 64%, #168bd1);
  overflow: visible;
}
.store-hero-brand { display: flex; align-items: center; gap: 30px; }
.dashboard-brand-mark {
  flex: 0 0 auto;
  width: 112px;
  height: 112px;
  margin: -8px 0 4px;
  border-radius: 31px;
}
.store-hero-kicker {
  display: block;
  margin-bottom: 7px;
  color: #ffe022;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
}
@keyframes brandFloat {
  0%, 100% { transform: perspective(700px) rotateX(4deg) rotateY(-4deg) translateY(0); }
  50% { transform: perspective(700px) rotateX(2deg) rotateY(3deg) translateY(-5px); }
}
@media (max-width: 760px) {
  .store-hero { align-items: flex-start; }
  .store-hero-brand { gap: 18px; }
  .dashboard-brand-mark { width: 82px; height: 82px; border-radius: 24px; }
}

/* Motoboys e fila de despacho */
.delivery-drivers-panel { animation:fadeIn .18s ease; }
.delivery-driver-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:14px 0; }
.delivery-driver-summary>div { min-height:105px; padding:15px; border:1px solid #c8d8de; border-top:5px solid #168957; border-radius:12px; background:linear-gradient(155deg,#fff,#eff7f3); box-shadow:0 5px 0 rgba(9,43,87,.1),0 11px 20px rgba(9,43,87,.08); }
.delivery-driver-summary b { display:block; color:#106e44; font-size:28px; }
.delivery-driver-summary span { color:#607680; font-size:10px; font-weight:900; text-transform:uppercase; }
.delivery-driver-create { display:grid; grid-template-columns:1fr 180px 160px auto; gap:10px; padding:14px; margin-bottom:14px; }
.delivery-drivers-content { display:grid; gap:16px; }
.driver-waiting,.driver-team,.driver-queue { overflow:hidden; border:1px solid #cbd9df; border-radius:14px; background:#fff; box-shadow:0 8px 22px rgba(9,43,87,.08); }
.driver-section-title { display:flex; justify-content:space-between; align-items:center; padding:16px 18px; background:linear-gradient(135deg,#092b57,#174e72); color:#fff; }
.driver-section-title span { color:#a9ccdd; font-size:9px; font-weight:900; letter-spacing:.12em; }
.driver-section-title h3 { margin:3px 0 0; font-size:19px; }
.driver-section-title>b { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#fff; color:#a62831; }
.driver-waiting-card { display:grid; grid-template-columns:minmax(180px,1fr) minmax(180px,1.3fr) minmax(370px,1.4fr); gap:14px; align-items:center; padding:14px 16px; border-top:1px solid #e0e7ea; border-left:5px solid #d49a17; }
.driver-waiting-card span { color:#9b6b0d; font-size:10px; font-weight:900; text-transform:uppercase; }.driver-waiting-card b{display:block;margin:3px 0;font-size:14px}.driver-waiting-card small,.driver-waiting-items{color:#6d8089;font-size:11px}
.driver-assign-controls { display:grid; grid-template-columns:1fr 130px auto; gap:8px; }
.driver-team { padding-bottom:12px; }
.driver-queue { margin:12px; box-shadow:none; }
.driver-queue>header { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:12px; padding:13px 15px; background:#eef5f4; border-bottom:1px solid #d4e1df; }
.driver-queue>header b,.driver-queue>header small{display:block}.driver-queue>header small{color:#6c8087;font-size:10px}.driver-queue>header>span{color:#346459;font-size:11px;font-weight:800}
.driver-queue-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(310px,1fr)); gap:10px; padding:10px; }
.driver-route-card { display:grid; gap:10px; padding:13px; border:1px solid #d7e2e3; border-top:4px solid #168957; border-radius:11px; background:#fff; box-shadow:0 4px 10px rgba(9,43,87,.07); }
.driver-route-head { display:grid; grid-template-columns:1fr auto; }.driver-route-head span{color:#167047;font-size:10px;font-weight:900;text-transform:uppercase}.driver-route-head b{grid-column:1;display:block}.driver-route-head em{grid-column:2;grid-row:1/3;align-self:center;padding:6px 8px;border-radius:999px;background:#dcf2e6;color:#106b40;font-size:9px;font-style:normal;font-weight:900}
.driver-route-card p{margin:0;color:#516871;font-size:11px}.driver-route-items{display:flex;flex-wrap:wrap;gap:5px}.driver-route-items span{padding:5px 7px;border-radius:7px;background:#f0f4f5;color:#4e646d;font-size:10px}
.driver-route-values { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }.driver-route-values span{padding:7px;background:#f6f8f9;color:#74858d;font-size:9px;text-transform:uppercase}.driver-route-values b{display:block;margin-top:3px;color:#173d4b;font-size:12px;text-transform:none}
.driver-route-actions{display:flex;gap:7px;flex-wrap:wrap}.driver-route-actions .btn{flex:1}.driver-paid-chip{padding:8px 10px;border-radius:8px;background:#ddf3e6;color:#107044;font-size:11px;font-weight:900}
.driver-compact-empty { padding:17px; color:#72848d; font-size:11px; text-align:center; }
.driver-queue details summary,.driver-inactive summary { padding:10px 13px; border-top:1px solid #e1e8ea; color:#506b76; cursor:pointer; font-size:11px;font-weight:900}
.driver-inactive { border:1px solid #d4dde1;border-radius:12px;background:#f6f8f9}.driver-inactive>div{display:flex;justify-content:space-between;align-items:center;padding:9px 13px;border-top:1px solid #e0e6e9}
@media(max-width:900px){.delivery-driver-summary{grid-template-columns:repeat(2,1fr)}.delivery-driver-create{grid-template-columns:1fr 1fr}.driver-waiting-card{grid-template-columns:1fr}.driver-assign-controls{grid-template-columns:1fr 120px auto}}
@media(max-width:620px){.delivery-driver-create,.driver-assign-controls{grid-template-columns:1fr}.driver-queue>header{grid-template-columns:1fr auto}.driver-queue>header>span{grid-column:1/-1}.driver-route-values{grid-template-columns:1fr 1fr}.delivery-driver-summary{gap:7px}}

/* Usuários e links de acesso */
.user-access-links { margin-bottom:18px; border:1px solid #c8d6df; }
.user-access-head { padding:18px 20px; color:#fff; background:linear-gradient(130deg,#092b57,#8e2733); }
.user-access-head span,.user-list-head span { color:#aed4e6; font-size:9px; font-weight:900; letter-spacing:.13em; }
.user-access-head h2,.user-list-head h2 { margin:3px 0; font-size:22px; }.user-access-head p{color:rgba(255,255,255,.78);font-size:12px}
.user-access-generator{padding:16px 18px;background:#f7fafb;border-bottom:1px solid #dce5ea}.user-access-generator>label{display:block;margin-bottom:7px;color:#18364a;font-size:11px;font-weight:800}.user-access-generator-controls,.user-access-generated{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.user-access-generated{grid-template-columns:minmax(0,1fr) auto auto;margin-top:9px}.user-access-generator small{display:block;margin-top:8px;color:#617681}
.user-access-clickable-link{display:block;overflow:hidden;color:#075985;text-decoration:underline;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.user-access-row-link{display:block;color:#075985;font-size:10px;text-decoration:underline;word-break:break-all}
.user-access-row { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:13px 18px; border-top:1px solid #e1e8ec; }
.user-access-row b,.user-access-row span,.user-access-row small{display:block}.user-access-row span{margin:2px 0;color:#617681;font-size:11px}.user-access-row small{color:#81929a;font-size:10px;word-break:break-all}.user-access-row>div:last-child{display:flex;gap:7px}
.user-list-head { display:flex;justify-content:space-between;align-items:end;gap:15px;margin:0 0 12px;padding:4px 2px; }.user-list-head span{color:#2d728e}.user-list-head p{color:var(--text-muted);font-size:11px}
.user-protected { display:inline-flex;padding:6px 9px;border-radius:7px;background:#eef1f3;color:#60717a;font-size:10px;font-weight:800; }
@media(max-width:620px){.user-access-row,.user-list-head{align-items:stretch;flex-direction:column}.user-access-row>div:last-child{display:grid;grid-template-columns:1fr 1fr}.user-list-head .btn{width:100%;justify-content:center}.user-access-generator-controls,.user-access-generated{grid-template-columns:1fr}.user-access-generator .btn{width:100%;justify-content:center}}
@media (max-width: 520px) {
  .login-logo .login-brand-mark { width: 118px; height: 118px; border-radius: 32px; }
  .store-hero { padding: 20px; }
  .store-hero-brand { align-items: flex-start; }
  .dashboard-brand-mark { width: 68px; height: 68px; border-width: 3px; border-radius: 20px; }
  .store-hero h2 { font-size: 20px; }
  .store-hero .hero-chip { display: none; }
}
.stat-card { border-top: 4px solid var(--green-main); position: relative; }
.stat-card.gold { border-top-color: var(--gold); }
.stat-card.red { border-top-color: var(--red); }
.stat-card.blue { border-top-color: var(--blue); }
.stat-card .stat-icon { color: var(--red); }
.btn-primary { background: linear-gradient(145deg, #1769b4, #0b4f91); box-shadow: 0 5px 0 #073a6e, 0 8px 15px rgba(11,79,145,.18); }
.btn-primary:hover { background: linear-gradient(145deg, #2478c8, #0b4f91); transform: translateY(-1px); }
.btn-gold { background: linear-gradient(145deg, #ffd329, #e9a900); color: #342500; box-shadow: 0 5px 0 #bd8500; }
.card, .stat-card, .order-card, .product-card, .table-card { border: 1px solid rgba(11,79,145,.08); }
.section.active { animation: sectionIn .22s ease both; }
@keyframes sectionIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 400px) {
  .page-content { padding: 12px; }
  .stats-grid { gap: 8px; }
  .stat-card { padding: 14px 12px; }
  .stat-card .stat-value { font-size: 22px; }
  .stat-card .stat-icon { font-size: 19px; }
}

/* PDV command centre — inspired by the high-contrast checkout screens in-store. */
#section-pdv { --pdv-ink:#102b47; --pdv-cyan:#00a9c7; --pdv-yellow:#ffd31a; --pdv-red:#e64c3d; }
.pdv-command-header {
  background: linear-gradient(110deg,#092b57 0%,#126d89 62%,#08a27c 100%);
  color:#fff; border-radius:18px; padding:25px 28px; margin-bottom:16px;
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  box-shadow:0 14px 26px rgba(9,43,87,.22);
}
.pdv-eyebrow { display:block; color:#8ce8f0; font-size:10px; font-weight:900; letter-spacing:.14em; }
.pdv-command-header h2 { margin:4px 0 3px; font-size:30px; letter-spacing:-.04em; }
.pdv-command-header h2 strong { color:var(--pdv-yellow); }
.pdv-command-header p { color:rgba(255,255,255,.72); font-size:13px; }
.pdv-live-status { min-width:140px; padding:12px 15px; border:1px solid rgba(255,255,255,.25); background:rgba(2,26,52,.22); border-radius:12px; display:grid; grid-template-columns:auto 1fr; column-gap:7px; align-items:center; }
.pdv-live-status b { font-size:13px; letter-spacing:.1em; }.pdv-live-status small { grid-column:2; color:rgba(255,255,255,.65); font-size:10px; }
.pdv-summary { grid-template-columns:repeat(3,1fr); gap:12px; }
.pdv-kpi { min-height:116px; padding:16px 19px; border-radius:14px; color:#fff; display:flex; flex-direction:column; justify-content:space-between; box-shadow:0 8px 20px rgba(9,43,87,.14); }
.pdv-kpi strong { font-family:'Barlow Condensed',sans-serif; font-size:45px; line-height:.9; letter-spacing:-.02em; }
.pdv-kpi small { opacity:.7; font-size:11px; }.pdv-kpi-label { font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.kpi-live { background:linear-gradient(135deg,#087a72,#06a47f); }.kpi-total { background:linear-gradient(135deg,#0d5aa1,#147bc8); }.kpi-time { background:linear-gradient(135deg,#bf7400,#f0ad00); }
.pdv-admin-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr); gap:16px; margin-top:16px; align-items:start; }
.pdv-screen-card { overflow:hidden; border-radius:15px; background:#f7f2dc; border:7px solid #172438; box-shadow:0 10px 0 #0a1524,0 18px 30px rgba(8,29,52,.2); }
.pdv-screen-top { min-height:42px; padding:8px 13px; color:#fff; background:#0b5a4e; display:flex; align-items:center; gap:15px; font-size:11px; }
.screen-brand { font-size:15px; color:#ffe022; letter-spacing:.05em; }.screen-brand b { color:#fff; }.screen-title { font-size:12px; opacity:.9; }.screen-clock { margin-left:auto; opacity:.7; font-size:9px; }
.pdv-screen-body { min-height:270px; display:grid; grid-template-columns:1.05fr .95fr; color:var(--pdv-ink); }
.screen-products,.screen-payment { padding:16px; }.screen-products { border-right:1px solid #ded7bd; }.screen-section-title { color:#17648b; display:flex; flex-direction:column; gap:2px; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }.screen-section-title b { color:#536174; font-size:13px; text-transform:none; letter-spacing:0; }
.screen-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; height:185px; text-align:center; color:#7d8790; }.screen-empty-mark { width:38px; height:38px; border:2px dashed #83a7ad; border-radius:50%; display:grid; place-items:center; font-size:24px; color:#4395a4; margin-bottom:8px; }.screen-empty small { font-size:10px; margin-top:4px; }
.screen-payment { background:rgba(255,255,255,.35); }.screen-total { display:block; text-align:right; font-family:'Barlow Condensed',sans-serif; font-size:39px; color:#07856b; margin:20px 0 12px; }.screen-lines { border-top:1px solid #ded7bd; }.screen-lines div { display:flex; justify-content:space-between; padding:7px 0; font-size:12px; color:#6d7377; }.screen-lines b { color:#3f5059; }.screen-lines .screen-due { margin-top:4px; padding:10px 7px; background:#e6dfe1; color:#4f5560; font-weight:800; }.screen-due b { color:#c53e3e; font-size:16px; }.screen-payment-chips { display:flex; gap:5px; flex-wrap:wrap; margin-top:13px; }.screen-payment-chips span { padding:5px 8px; border-radius:4px; color:#fff; background:#159d86; font-size:10px; font-weight:800; }.screen-payment-chips span:nth-child(2) { background:#f1c400; color:#513d00; }.screen-payment-chips span:nth-child(3) { background:#2a90cb; }
.pdv-screen-foot { min-height:36px; padding:8px 12px; background:#1169a0; color:#fff; display:flex; align-items:center; gap:10px; font-size:10px; }.pdv-screen-foot b { margin-right:auto; font-size:11px; }.screen-key { padding:4px 7px; background:rgba(0,0,0,.2); border-radius:3px; }
.pdv-feature-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:13px; }.pdv-feature-strip > div { display:grid; grid-template-columns:32px 1fr; column-gap:8px; align-items:center; padding:11px; border:1px solid #d9e3e9; border-radius:10px; background:#fff; }.feature-icon { grid-row:span 2; width:30px; height:30px; display:grid; place-items:center; border-radius:9px; color:#fff; font-size:20px; font-weight:900; }.feature-icon.split { background:#1499bd; }.feature-icon.refund { background:#e45446; }.feature-icon.client { background:#e4ab00; }.pdv-feature-strip b { font-size:11px; color:var(--pdv-ink); }.pdv-feature-strip small { color:var(--text-muted); font-size:10px; line-height:1.25; }
.pdv-manage-card { border-top:4px solid var(--pdv-yellow); }.pdv-manage-card .card-header { padding:13px 15px; }.pdv-manage-card .card-header > span:first-child { display:flex; flex-direction:column; gap:2px; }.pdv-manage-card .card-header small { font-size:10px; color:var(--text-muted); font-weight:500; }.pdv-mini-dot { width:9px; height:9px; background:#19bd70; border-radius:50%; box-shadow:0 0 0 4px #daf6e7; }.pdv-manage-card .card-body { padding:14px; }.pdv-create-form { display:grid; grid-template-columns:1fr; }.pdv-create-form .btn { justify-content:center; }.pdv-stations-list { margin-top:13px; }.pdv-station-row { padding:10px; background:#f3f7fa; }.pdv-station-row > div:last-child { width:100%; }.pdv-station-row .btn { flex:1; justify-content:center; font-size:10px; padding:6px; }.pdv-ops-note { margin-top:12px; padding:15px; border-radius:12px; background:#102b47; color:#fff; display:flex; flex-direction:column; gap:8px; font-size:11px; }.pdv-ops-note b { color:var(--pdv-yellow); font-size:13px; margin-bottom:3px; }.pdv-ops-note span { padding-left:19px; position:relative; color:rgba(255,255,255,.76); }.pdv-ops-note span::before { content:""; position:absolute; left:0; top:5px; width:7px; height:7px; border-radius:50%; background:#16c890; }
.pdv-operators-heading { display:flex; align-items:end; justify-content:space-between; margin:17px 0 9px; }.pdv-operators-heading h3 { margin-top:3px; font-size:22px; color:var(--pdv-ink); }.pdv-refresh-note { color:var(--text-muted); font-size:11px; }.pdv-monitor-grid { grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }.pdv-operator-card { border-top-width:5px; }.pdv-operator-card h3 { font-size:17px; }
@media (max-width:820px) { .pdv-admin-layout { grid-template-columns:1fr; }.pdv-feature-strip { grid-template-columns:1fr; }.pdv-feature-strip > div { min-height:54px; }.pdv-admin-side { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.pdv-ops-note { margin-top:0; } }
@media (max-width:560px) { .pdv-command-header { padding:20px; align-items:flex-start; flex-direction:column; }.pdv-command-header h2 { font-size:27px; }.pdv-live-status { align-self:stretch; }.pdv-summary { grid-template-columns:1fr; }.pdv-kpi { min-height:94px; }.pdv-kpi strong { font-size:39px; }.pdv-screen-body { grid-template-columns:1fr; }.screen-products { border-right:0; border-bottom:1px solid #ded7bd; }.screen-payment { min-height:230px; }.screen-empty { height:120px; }.pdv-screen-top { gap:8px; }.screen-title { display:none; }.pdv-screen-foot { flex-wrap:wrap; }.pdv-screen-foot b { margin-right:0; }.pdv-admin-side { grid-template-columns:1fr; }.pdv-operators-heading { align-items:flex-start; flex-direction:column; gap:6px; } }

/* Checkout floor mode: dense, high-contrast and readable at arm's length. */
.pdv-terminal-shell {
  --checkout-navy: #102b47;
  --checkout-blue: #0b638f;
  --checkout-teal: #087f77;
  --checkout-yellow: #ffd531;
  background: #e8f0f3;
}
.pdv-terminal-header {
  min-height: 84px;
  padding: 14px 28px;
  background: var(--checkout-navy);
  border-bottom: 5px solid var(--checkout-yellow);
}
.pdv-terminal-header > div:first-child { font-size: 29px; }
.pdv-terminal-header > strong { font-size: 24px; letter-spacing: .12em; }
.pdv-terminal-grid { grid-template-columns: minmax(0, .95fr) minmax(0, 1.35fr) minmax(0, .9fr); }
.pdv-catalog-pane { background: #edf6f8; padding: 20px; }
.pdv-consumption-pane { padding: 20px; }
.pdv-payment-pane { background: #dcefe9; padding: 20px; }
.pdv-pane-title { margin-bottom: 16px; }
.pdv-pane-title span { font-size: 14px; color: var(--checkout-blue); }
.pdv-pane-title b { font-size: 16px; color: var(--checkout-navy); }
.pdv-barcode-entry input, .pdv-product-search { min-height: 58px; font-size: 18px; font-weight: 600; }
.pdv-barcode-entry button { font-size: 15px; padding: 0 18px; background: var(--checkout-navy); }
.pdv-category-tabs { margin: 13px 0; }
.pdv-category-tabs button { min-height: 42px; padding: 8px 15px; font-size: 14px; }
.pdv-category-tabs button.active { background: var(--checkout-blue); border-color: var(--checkout-blue); }
.pdv-product-grid { gap: 11px; max-height: calc(100vh - 255px); }
.pdv-product-tile {
  min-height: 132px;
  padding: 16px;
  border-radius: 14px;
  background: var(--checkout-navy);
  box-shadow: 0 4px 0 #071a2d, 0 9px 18px rgba(16,43,71,.16);
}
.pdv-product-tile:hover { background: #17466b; transform: translateY(-2px); }
.pdv-product-tile span { font-size: 17px; line-height: 1.18; }
.pdv-product-tile b { font-size: 24px; color: var(--checkout-yellow); }
.pdv-product-tile b em { font-size: 13px; font-style: normal; color: #d9f4ef; }
.pdv-product-tile small { font-size: 13px; color: #b9d2de; opacity: 1; }
.sale-option-choice-modal { max-width:560px; }
.sale-option-choice-product { margin-bottom:12px; color:#173a5c; font-weight:800; }
.sale-option-choice-list { display:grid; gap:8px; }
.sale-option-choice { display:flex; gap:10px; align-items:flex-start; padding:11px 12px; border:1px solid #cbddec; border-radius:10px; background:#f6faff; cursor:pointer; }
.sale-option-choice:has(input:checked) { border-color:#0b4f91; background:#eaf3ff; }
.sale-option-choice input { margin-top:3px; accent-color:#0b4f91; }
.sale-option-choice span { display:grid; gap:3px; }
.sale-option-choice small { color:#62778c; font-size:11px; }
.sale-option-choice-quantity { display:grid; gap:5px; margin-top:13px; color:#526b82; font-size:12px; font-weight:800; }
.sale-option-choice-impact { margin-top:10px; padding:9px 11px; border-radius:8px; background:#eef7f4; color:#147344; font-size:12px; font-weight:800; }
.sale-option-choice-note { margin:0 0 10px; color:#526b82; font-size:12px; line-height:1.45; }
.sale-option-choice-error { padding:12px; border:1px solid #efc1b9; border-radius:9px; background:#fff4f1; color:#a52c24; font-size:12px; font-weight:700; }
.sale-option-choice-pdv { max-width:560px; max-height:92dvh; display:flex; flex-direction:column; overflow:hidden; font-size:15px; }
.sale-option-choice-pdv .modal-header { flex:0 0 auto; padding:15px 20px; background:#f0f6f9; }
.sale-option-choice-pdv .modal-header h3 { font-size:20px; }
.sale-option-choice-pdv .modal-body { flex:1 1 auto; min-height:0; overflow-y:auto; padding:18px 20px 12px; }
.sale-option-choice-pdv .modal-footer { flex:0 0 auto; padding:12px 20px; background:#f9fbfc; }
.sale-option-choice-pdv .sale-option-choice-product { margin-bottom:14px; font-size:18px; font-weight:900; }
.sale-option-choice-pdv .sale-option-choice { gap:12px; padding:14px 15px; }
.sale-option-choice-pdv .sale-option-choice input { width:20px; height:20px; flex:0 0 auto; }
.sale-option-choice-pdv .sale-option-choice span { gap:5px; }
.sale-option-choice-pdv .sale-option-choice b { font-size:19px; }
.sale-option-choice-pdv .sale-option-choice small { color:#435d75; font-size:15px; line-height:1.4; }
.sale-option-choice-pdv .sale-option-choice-controls { flex:0 0 auto; padding:9px 20px; border-top:1px solid #e3eaf0; background:#fff; }
.sale-option-choice-pdv .sale-option-choice-quantity { gap:4px; margin-top:0; color:#526b82; font-size:13px; font-weight:800; }
.sale-option-choice-pdv .sale-option-choice-quantity input { min-height:42px; font-size:16px; font-weight:700; }
.sale-option-choice-pdv .sale-option-choice-impact { margin-top:6px; padding:5px 0 0; color:#526b82; font-size:12px; line-height:1.35; font-weight:600; background:transparent; border:0; }
.sale-option-choice-pdv .sale-option-choice-impact:empty { display:none; }
.sale-option-choice-pdv .sale-option-choice-impact.is-error { background:#fff0ed; color:#a52c24; }
.sale-option-choice-pdv .sale-option-choice-note { color:#40576d; font-size:15px; line-height:1.5; }
.sale-option-choice-pdv .sale-option-choice-stock { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:9px; margin-top:12px; }
.sale-option-choice-pdv .sale-option-stock-row { display:grid; gap:5px; padding:12px; border:1px solid #cbddec; border-radius:9px; background:#f8fbff; font-size:15px; line-height:1.35; }
.sale-option-choice-pdv .sale-option-stock-row > b { color:#153b5c; font-size:17px; }
.sale-option-choice-pdv .sale-option-stock-row strong { color:#16613d; font-size:16px; }
.sale-option-choice-pdv .sale-option-stock-row .sale-option-stock-empty,
.sale-option-choice-pdv .sale-option-stock-unavailable { color:#a52c24; }
.sale-option-choice-pdv .sale-option-stock-row .sale-option-wholesale-min { color:#704600; font-weight:900; }
.sale-option-choice-pdv .sale-option-choice-error { font-size:15px; font-weight:800; }
.sale-option-choice-pdv .modal-footer .btn-primary:disabled { opacity:.52; cursor:not-allowed; }
.sale-option-choice-pdv .sale-mode-matrix { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
.sale-option-choice-pdv .sale-mode-card { display:flex; align-items:flex-start; gap:10px; min-width:0; min-height:78px; padding:11px 13px; border:1px solid #cbddec; border-radius:10px; background:#f6faff; box-shadow:none; cursor:pointer; transition:border-color .15s,background .15s; }
.sale-option-choice-pdv .sale-mode-card:hover:not(.is-disabled) { border-color:#0b4f91; }
.sale-option-choice-pdv .sale-mode-card:has(input:checked) { border-color:#0b4f91; background:#eaf3ff; box-shadow:none; }
.sale-option-choice-pdv .sale-mode-card:focus-within { outline:2px solid #0b4f91; outline-offset:2px; }
.sale-option-choice-pdv .sale-mode-card input { width:18px; height:18px; margin:2px 0 0; accent-color:#0b4f91; flex:0 0 auto; }
.sale-option-choice-pdv .sale-mode-card-content { display:block; min-width:0; }
.sale-option-choice-pdv .sale-mode-card-content > b { display:block; color:#173a5c; font-size:16px; line-height:1.3; }
.sale-option-choice-pdv .sale-mode-details { display:block; margin-top:3px; color:#62778c; font-size:12px; line-height:1.4; }
.sale-option-choice-pdv .sale-mode-price { color:inherit; font-size:inherit; font-weight:600; }
.sale-option-choice-pdv .sale-mode-minimum { color:#704600; font-size:inherit; font-weight:700; }
.sale-option-choice-pdv .sale-mode-stock { color:#526b82; font-size:inherit; }
.sale-option-choice-pdv .sale-mode-stock strong { color:#16613d; font-size:inherit; }
.sale-option-choice-pdv .sale-mode-stock .sale-option-stock-empty,
.sale-option-choice-pdv .sale-mode-stock .sale-option-stock-unavailable { color:#a52c24; }
.sale-option-choice-pdv .sale-mode-details em { color:#a52c24; font-style:normal; font-weight:800; }
.sale-option-choice-pdv .sale-mode-card.is-disabled { background:#f3f5f7; cursor:not-allowed; }
.sale-option-choice-pdv .sale-mode-card.is-disabled .sale-mode-card-content > b { color:#526373; }
.sale-option-choice-pdv .sale-option-extra-heading { margin:18px 0 8px; color:#173a5c; font-size:18px; }
@media (max-width:560px) {
  .sale-option-choice-pdv { max-height:92dvh; height:min(92dvh, 760px); border-radius:18px 18px 0 0; }
  .sale-option-choice-pdv .modal-header { padding:9px 12px; }
  .sale-option-choice-pdv .modal-header h3 { font-size:17px; }
  .sale-option-choice-pdv .modal-body { padding:10px 12px; }
  .sale-option-choice-pdv .sale-option-choice-controls { padding:8px 12px; }
  .sale-option-choice-pdv .modal-footer { padding:7px 10px; }
  .sale-option-choice-pdv .sale-option-choice-product { margin-bottom:8px; font-size:16px; }
  .sale-option-choice-pdv .sale-mode-card { min-height:72px; padding:9px 10px; }
  .sale-option-choice-pdv .sale-mode-card-content > b { font-size:14px; }
  .sale-option-choice-pdv .sale-mode-details { font-size:11px; }
  .sale-option-choice-pdv .sale-option-choice-quantity input { min-height:38px; }
}
.pdv-choose-offer {
  display:inline-flex; align-items:center; justify-content:center; min-height:30px; margin-top:7px;
  padding:4px 9px; border:1px solid #c17b00; border-radius:7px; background:#fff6d7;
  color:#704600; font-size:11px; font-weight:900; cursor:pointer;
}
.pdv-choose-offer:hover { background:#ffedb1; }
.pdv-choose-offer:focus-visible { outline:3px solid #1765a0; outline-offset:2px; }
.stock-data-error { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px; border:1px solid #e8c6b7; border-radius:12px; background:#fff8f4; color:#7a3924; }
.sale-availability-editor { margin-top:18px; padding:16px; border:2px solid #d2e2f2; border-radius:14px; background:#f7fbff; }
.sale-availability-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.sale-availability-heading h4 { margin:4px 0; color:#173b60; font-size:17px; }
.sale-availability-heading p { margin:0; color:#61778d; font-size:12px; }
.sale-availability-list { display:grid; gap:8px; margin:14px 0; }
.sale-availability-row { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; padding:11px 12px; border:1px solid #ceddeb; border-radius:10px; background:#fff; cursor:pointer; }
.sale-availability-row input { width:18px; height:18px; accent-color:#1765a0; }
.sale-availability-row span { display:grid; gap:3px; }
.sale-availability-row small { color:#657b90; font-size:11px; }
.sale-availability-row em { color:#18744c; font-size:11px; font-style:normal; font-weight:800; }
.sale-availability-row:not(:has(input:checked)) em { color:#9b5b1c; }
.sale-availability-actions { display:flex; flex-wrap:wrap; gap:8px; }
.sale-availability-loading, .sale-availability-empty { padding:13px; color:#647b90; font-size:13px; }
.pdv-product-tile.is-unavailable, .delivery-counter-product.is-unavailable { opacity:.62; cursor:not-allowed; }
@media (max-width: 700px) {
  .stock-data-error { align-items:stretch; flex-direction:column; }
  .sale-availability-heading { flex-direction:column; }
}
.pdv-current-items { min-height: 470px; max-height: calc(100vh - 215px); }
.pdv-terminal-mode .pdv-current-items { display:none; }
.pdv-sale-item {
  grid-template-columns: minmax(160px, 1fr) auto auto auto;
  gap: 14px;
  min-height: 94px;
  padding: 17px 8px;
  border-bottom: 2px solid #e1ebef;
}
.pdv-sale-item-info b { display: block; font-size: 20px; line-height: 1.15; color: var(--checkout-navy); }
.pdv-sale-item-info small { font-size: 14px; color: #587082; }
.pdv-sale-item > strong { font-size: 22px; color: var(--checkout-teal); white-space: nowrap; }
.pdv-sale-quantity { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.pdv-quantity-caption { font-size: 10px; color: #587082; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.pdv-item-controls { display: flex; align-items: center; gap: 7px; }
.pdv-item-controls button { width: 42px; height: 42px; font-size: 25px; background: var(--checkout-teal); }
.pdv-quantity-value { min-width: 48px; text-align: center; font-size: 21px; color: var(--checkout-navy); }
.pdv-quantity-input {
  width: 100px; min-height: 46px; padding: 5px 8px; border: 2px solid var(--checkout-teal);
  border-radius: 9px; background: #f7fffc; color: var(--checkout-navy); text-align: right;
  font-size: 21px; font-weight: 800; outline: none;
}
.pdv-quantity-input:focus { border-color: var(--checkout-blue); box-shadow: 0 0 0 4px rgba(11,99,143,.16); }
.pdv-unit-label { font-size: 12px; font-weight: 900; color: var(--checkout-teal); }
.pdv-remove-item {
  border: 1px solid #dfaaa4; border-radius: 8px; background: #fff5f3; color: #ae332c;
  min-height: 36px; padding: 0 9px; font-size: 12px; font-weight: 800; cursor: pointer;
}
.pdv-remove-item:hover { background: #f9ded9; }
.pdv-sale-item .pdv-choose-offer { width:auto; height:auto; font-size:11px; }
.pdv-receipt-preview {
  margin: 0 0 14px;
  padding: 10px;
  background: #d8e3e7;
  border: 1px solid #bfd0d7;
  border-radius: 12px;
}
#deliveryCounterSale .pdv-receipt-preview { max-height:calc(100vh - 260px); overflow-y:auto; }
#deliveryCounterSale .receipt-line { grid-template-columns:minmax(90px,1fr) auto auto auto; }
#deliveryCounterSale .receipt-delete:disabled,
#deliveryCounterSale .receipt-stepper button:disabled { opacity:.55; cursor:not-allowed; }
.delivery-counter-receipt-actions { display:flex; justify-content:flex-end; padding:12px 3px 2px; }
.cashier-item-pricing {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:4px 10px;
  min-width:0;
  margin-top:5px;
}
.cashier-item-pricing > .pdv-sale-equation {
  flex:0 0 auto;
  margin:0;
  color:#475f6c;
  font-size:16px;
  font-weight:750;
}
.cashier-price-comparison {
  display:inline-flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:4px 12px;
  min-width:0;
}
.cashier-price-applied {
  color:#164b39;
  font-size:18px;
  font-weight:900;
  line-height:1.25;
  white-space:normal;
}
.cashier-price-comparison.is-wholesale .cashier-price-applied {
  padding:2px 7px;
  border-radius:6px;
  color:#124e31;
  background:#dcf4e3;
  border:1px solid #95d1a4;
}
.cashier-price-reference {
  color:#737d7b;
  font-size:15px;
  font-weight:700;
  line-height:1.25;
  white-space:normal;
}
.cashier-price-reference s { color:#737d7b; text-decoration-thickness:2px; }
#deliveryCounterSale .receipt-line,
.payment-modal .receipt-line {
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"name amount" "edit delete";
  gap:8px 6px;
}
#deliveryCounterSale .receipt-line-name,
.payment-modal .receipt-line-name { grid-area:name; min-width:0; }
#deliveryCounterSale .receipt-line-edit,
.payment-modal .receipt-line-edit { grid-area:edit; min-width:0; }
#deliveryCounterSale .receipt-line > strong,
.payment-modal .receipt-line > strong { grid-area:amount; min-width:0; }
#deliveryCounterSale .receipt-delete,
.payment-modal .receipt-delete { grid-area:delete; justify-self:end; }
.receipt-paper {
  position: relative;
  max-width: 520px;
  margin: 0 auto;
  padding: 17px 17px 13px;
  color: #263944;
  background: #fffdf4;
  border: 1px solid #e8dfc7;
  box-shadow: 0 3px 9px rgba(35,57,67,.12);
  font-family: 'Barlow Condensed', 'Plus Jakarta Sans', sans-serif;
}
.receipt-paper::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -5px;
  height: 5px;
  background: linear-gradient(135deg, transparent 3px, #fffdf4 0) 0 0/10px 10px repeat-x;
}
.receipt-store { text-align:center; font-size:22px; font-weight:800; letter-spacing:.12em; color:#102b47; }
.receipt-meta { display:flex; justify-content:space-between; margin-top:4px; color:#6b7980; font-size:11px; letter-spacing:.06em; }
.receipt-rule { border-top:1px dashed #b9b6a8; margin:10px 0 7px; }
.receipt-columns { display:grid; grid-template-columns:1fr auto auto; gap:8px; color:#758086; font-size:10px; letter-spacing:.06em; }
.receipt-columns span:last-child { text-align:right; }
.receipt-lines { display:grid; }
.receipt-line { display:grid; grid-template-columns:minmax(110px,1fr) auto auto auto; gap:8px; align-items:center; padding:9px 0; border-bottom:1px solid #eee9da; }
.receipt-line-name { min-width:0; }
.receipt-line-name b { display:block; overflow-wrap:anywhere; font-size:20px; line-height:1.18; }
.receipt-line-name small { display:block; margin-top:4px; color:#728087; font-size:13px; }
.receipt-line-edit { display:flex; align-items:center; gap:3px; }
.receipt-stepper { display:flex; align-items:center; gap:4px; }
.receipt-stepper button { width:25px; height:25px; border:1px solid #9ab6b8; border-radius:5px; background:#e7f2ef; color:#087f77; font-size:18px; line-height:1; cursor:pointer; }
.receipt-stepper b { min-width:23px; text-align:center; font-size:14px; }
button.receipt-qty-edit,
.receipt-stepper button.receipt-qty-edit,
.pdv-item-controls button.receipt-qty-edit {
  width:auto; min-width:58px; padding:0 7px; font-size:14px;
  font-weight:800; white-space:nowrap; background:#fff; color:#075eae;
  border:1px solid #9ab6b8; border-radius:5px; cursor:pointer;
}
button.receipt-qty-edit:focus-visible,
.receipt-stepper button.receipt-qty-edit:focus-visible,
.pdv-item-controls button.receipt-qty-edit:focus-visible { outline:2px solid #075eae; outline-offset:2px; }
.receipt-qty-input { width:69px; padding:4px; border:1px solid #087f77; border-radius:5px; background:#f7fffc; text-align:right; font:700 14px 'Barlow Condensed',sans-serif; }
.receipt-unit, .receipt-qty-static { color:#087f77; font-size:12px; font-weight:800; }
.receipt-line > strong { min-width:74px; text-align:right; color:#087f77; font-size:22px; white-space:nowrap; }
.receipt-delete { width:24px; height:24px; border:0; border-radius:5px; background:#fae6e1; color:#ae332c; font:700 21px/20px sans-serif; cursor:pointer; }
.receipt-total { display:flex; align-items:center; justify-content:space-between; padding-top:4px; color:#516169; font-size:13px; letter-spacing:.04em; }
.receipt-total b { color:#102b47; font-size:24px; }
.receipt-footer { margin-top:11px; text-align:center; color:#899499; font-size:11px; }
.receipt-empty { min-height:112px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:3px; color:#78909a; text-align:center; }
.receipt-empty span { font-size:11px; letter-spacing:.1em; }
.receipt-empty b { color:#466277; font-size:16px; }
.receipt-empty small { font-size:11px; }
.payment-receipt-wrap { margin-bottom:17px; padding:12px; border-radius:12px; background:#edf5f3; border:1px solid #c7ded9; }
.payment-receipt-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; color:#087f77; font-size:11px; font-weight:900; letter-spacing:.08em; }
.payment-receipt-heading b { padding:4px 7px; border-radius:5px; background:#d8eee8; color:#12604f; font-size:10px; letter-spacing:0; }
.pdv-receipt-preview-modal { margin:0; max-height:310px; overflow:auto; }
.payment-receipt-note { margin:9px 2px 0; color:#63787e; font-size:11px; }
.payment-modal { max-width: 1020px; max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); display:flex; flex-direction:column; overflow:hidden; }
.payment-modal .modal-header, .payment-modal .modal-footer { flex:0 0 auto; }
.payment-modal .modal-body { min-height:0; flex:1 1 auto; overflow-y:auto; overscroll-behavior:contain; }
.payment-modal .modal-header, .payment-modal .modal-footer {
  position: sticky; z-index: 2; background: #fff;
}
.payment-modal .modal-header { top: 0; }
.payment-modal .modal-footer { bottom: 0; }
.payment-modal .modal-header h3 { font-size: 23px; }
.payment-modal .payment-receipt-wrap { padding: 16px; margin-bottom: 12px; }
.payment-modal .payment-receipt-heading { font-size: 13px; }
.payment-modal .pdv-receipt-preview-modal { max-height:none; overflow:visible; }
.payment-modal .receipt-paper { max-width: none; padding: 18px 22px; }
.payment-modal .receipt-paper { font-family: 'Plus Jakarta Sans', Arial, sans-serif; }
.payment-modal .receipt-store { font-size: 25px; }
.payment-modal .receipt-meta, .payment-modal .receipt-line-name small { font-size: 13px; }
.payment-modal .receipt-line-name b { overflow-wrap: anywhere; white-space: normal; text-overflow: clip; font-size: 18px; }
.payment-modal .receipt-line > strong { font-size: 19px; }
.payment-modal .receipt-total b { font-size: 28px; }
.payment-modal .payment-receipt-note { font-size: 13px; }
.payment-modal .payment-total-card { padding: 12px; margin-bottom: 12px; }
.payment-modal .payment-total-heading { margin: 0; }
.payment-modal .payment-total-heading h4 { font-size: 17px; }
.payment-modal .payment-final-total {
  display: block; margin: 0; padding: 9px 16px; border-radius: 10px;
  background: #087b71; color: #fff; font-size: 28px; white-space: nowrap;
}
.payment-breakdown { margin-top: 7px; }
.payment-breakdown summary { padding: 7px 3px; color: #087b71; cursor: pointer; font-size: 13px; font-weight: 800; }
.payment-breakdown summary:focus-visible { outline: 2px solid #087b71; }
.payment-modal .payment-total-lines { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: #d8e8e6; }
.payment-modal .payment-total-lines > div {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  min-width: 0; background: #fff; font-size: 14px;
}
.payment-modal .payment-total-lines .payment-total-row { grid-column: 1 / -1; font-size: 18px; }
.payment-modal .payment-methods { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.payment-modal #paymentPartRow[hidden] { display:none; }
.payment-modal #paymentRemainingWrap[hidden] { display:none; }
.payment-modal #dinheiroSection > summary { cursor:pointer; font-weight:700; padding:8px 0; }
.payment-modal #paymentSplitToggle { margin:0 0 8px; }
.payment-modal #paymentSplitToggle[aria-pressed="true"] { background:var(--green-pale); border-color:var(--green-main); }
.payment-modal .pm-btn small { display:block; margin-top:4px; font-size:11px; font-weight:600; opacity:.8; }
.payment-modal .payment-two-row input[readonly] { background:#f0f5f3; color:var(--green-dark); font-weight:800; }
.payment-modal .pm-btn { min-height: 96px; font-size: 17px; font-weight: 800; }
.payment-modal .pm-btn .pm-icon { font-size: 29px; }
.payment-modal .form-group > label { font-size: 15px; font-weight: 800; }
.payment-modal #pixQrSection { padding: 16px; border-radius: 12px; background: #edf7f4; }
.payment-modal #pixQrSection > .btn { min-height: 52px; font-size: 16px; }
.pix-qr-guidance { margin: 9px 0 0; font-size: 13px; color: #41616a; }
.device-setup-note, .wa-setup-state {
  padding: 12px 14px; border-radius: 10px; background: #eef7f6;
  border: 1px solid #cce5df; color: #244f4b; font-size: 13px; line-height: 1.5;
}
.device-setup-note { margin: 0 0 16px; }
.wa-setup-state { background: #fff8e9; border-color: #f1d59b; color: #694b16; }
.wa-setup-state.connected { background: #e9f7ee; border-color: #a3d5b4; color: #14532d; }
.wa-setup-state b { display: block; margin-bottom: 3px; font-size: 15px; }
.wa-setup-details { margin-top: 16px; }
.wa-setup-details > summary { cursor: pointer; font-weight: 700; color: #145c55; padding: 8px 0; }
.wa-setup-details > summary:focus-visible { outline: 2px solid #087b71; outline-offset: 3px; }
.wa-setup-step { border-top: 1px solid var(--border); padding: 18px 0; }
.wa-setup-step h3 { font-size: 16px; margin: 0 0 9px; }
.wa-setup-step p { color: var(--text-muted); font-size: 13px; line-height: 1.55; margin: 0 0 10px; }
.wa-setup-step a { font-size: 13px; font-weight: 700; }
.wa-secret-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.wa-secret-card { min-width: 0; padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: #f9fbfc; }
.wa-secret-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; font-size: 14px; margin-bottom: 8px; }
.wa-secret-state { flex: none; font-size: 11px; font-weight: 700; padding: 4px 7px; border-radius: 20px; background: #fff3dc; color: #704d09; }
.wa-secret-state.ready { background: #e1f5e9; color: #14532d; }
.wa-secret-card-actions, .wa-webhook-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; }
.wa-secret-card-actions code { overflow-wrap: anywhere; }
.wa-secret-card-actions a { margin-left: auto; }
.wa-webhook-row input { min-width: 180px; flex: 1 1 280px; }
@media (max-width: 700px) {
  .wa-secret-grid { grid-template-columns: 1fr; }
  .wa-secret-card-actions a { margin-left: 0; }
}
@media (max-width: 700px) {
  .payment-modal .payment-total-lines { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .payment-modal .payment-methods { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .payment-modal .payment-split-row { grid-template-columns:1fr; }
  .payment-modal .modal-body { padding: 14px; }
  .payment-modal .receipt-paper { padding: 14px 10px; }
  .payment-modal { max-height: calc(100vh - 12px); max-height: calc(100dvh - 12px); }
  .payment-modal .modal-footer { position: static; padding: 12px; gap: 8px; }
  .payment-modal .modal-footer .btn { flex: 1 1 0; min-width: 0; padding: 9px 5px; font-size: 12px; white-space: normal; }
}
@media (max-width: 400px) {
  .payment-modal .payment-total-lines { grid-template-columns: 1fr; }
}
.pdv-customer-line { padding-top: 16px; }
.pdv-customer-line label { font-size: 15px; }
.pdv-customer-line input { min-height: 48px; font-size: 15px; }
.pdv-big-total { padding: 25px 18px; background: var(--checkout-navy); border-radius: 16px; }
.pdv-big-total small { font-size: 13px; }
.pdv-big-total strong { font-size: clamp(48px, 5vw, 76px); }
.pdv-total-lines > div { padding: 15px 16px; font-size: 17px; }
.pdv-total-lines .pdv-due { font-size: 21px; }
.pdv-action { min-height: 78px; font-size: 20px; }
.pdv-action small { font-size: 12px; }
.pdv-terminal-shell button:focus-visible, .pdv-terminal-shell input:focus-visible {
  outline: 3px solid #e24b38; outline-offset: 3px;
}
@media (max-width: 1100px) {
  .pdv-terminal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pdv-payment-pane { grid-column: 1 / -1; }
  .pdv-sale-item { grid-template-columns: minmax(130px, 1fr) auto auto; }
  .pdv-remove-item { grid-column: 3; justify-self: end; }
}
@media (max-width: 820px) {
  .pdv-terminal-header { padding: 13px 17px; }
  .pdv-terminal-header > div:first-child { font-size: 24px; }
  .pdv-terminal-grid { grid-template-columns: 1fr; }
  .pdv-payment-pane { grid-column: auto; }
  .pdv-product-grid { max-height: 430px; }
  .pdv-current-items { min-height: 300px; max-height: none; }
  .pdv-sale-item { grid-template-columns: minmax(130px, 1fr) auto auto; }
  .pdv-sale-item > strong { font-size: 19px; }
}
@media (max-width: 480px) {
  .pdv-sale-item { grid-template-columns: 1fr auto; gap: 8px; }
  .pdv-sale-item > strong { grid-column: 2; grid-row: 1; }
  .pdv-sale-quantity { grid-column: 1; align-items: flex-start; }
  .pdv-remove-item { grid-column: 2; grid-row: 2; }
}

/* Delivery operations */
.delivery-customer-toolbar { display:flex; gap:12px; align-items:center; margin-bottom:14px; }
.delivery-customer-toolbar .form-control { max-width:360px; }
.delivery-inline-status { color:var(--text-muted); font-size:12px; }
.delivery-customers-list { display:grid; gap:8px; }
.cash-refund-entry { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px; margin-bottom:18px; border:2px solid #b84343; background:#fff8f7; }
.cash-refund-entry h2 { margin:0 0 5px; font-size:19px; color:#842626; }
.cash-refund-entry p { margin:0; color:var(--text-muted); font-size:13px; max-width:680px; }
.cash-refund-entry .btn { flex-shrink:0; }
.refund-item-condition { display:grid; grid-column:1 / -1; gap:5px; min-width:190px; font-size:12px; font-weight:700; }
.refund-item-condition .form-control { width:100%; }
@media (max-width:760px) { .cash-refund-entry { align-items:stretch; flex-direction:column; } }
#deliverySalesList { grid-template-columns:minmax(0,1fr); min-width:0; max-width:100%; }
#deliverySalesList .table-responsive { min-width:0; max-width:100%; }
@media (max-width: 760px) {
  .delivery-head-actions { flex-wrap:wrap; min-width:0; }
  #section-delivery .delivery-mode-tabs {
    overflow-x:auto; flex-wrap:nowrap; max-width:100%; min-width:0;
    -webkit-overflow-scrolling:touch;
  }
  #section-delivery .delivery-mode-tabs button { flex:0 0 auto; }
}
.delivery-customers-panel { animation:fadeIn .18s ease; }
.delivery-customer-filters { display:grid; grid-template-columns:minmax(240px,1fr) minmax(190px,260px) auto; gap:10px; padding:14px; margin-bottom:14px; }
.delivery-customer-filter-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.delivery-customer-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:14px 0; }
.delivery-customer-metric { display:grid; align-content:start; gap:4px; min-height:112px; padding:14px; border:1px solid #cad8df; border-top:5px solid #266c9b; border-radius:12px; background:linear-gradient(160deg,#fff,#f1f6f8); color:#173b52; text-align:left; font:inherit; box-shadow:0 5px 0 rgba(9,43,87,.1),0 10px 20px rgba(9,43,87,.08); }
button.delivery-customer-metric { cursor:pointer; transition:transform .15s ease,box-shadow .15s ease; }
button.delivery-customer-metric:hover { transform:translateY(-2px); box-shadow:0 7px 0 rgba(9,43,87,.11),0 14px 23px rgba(9,43,87,.11); }
button.delivery-customer-metric:active { transform:translateY(3px); box-shadow:0 2px 0 rgba(9,43,87,.1); }
.delivery-customer-metric b { font-size:clamp(22px,2vw,30px); line-height:1.05; letter-spacing:-.03em; }
.delivery-customer-metric span { font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.delivery-customer-metric small { color:#748791; font-size:10px; }
.delivery-customer-metric.tone-green{border-top-color:#168957}.delivery-customer-metric.tone-green b{color:#117347}
.delivery-customer-metric.tone-gold{border-top-color:#d49a17}.delivery-customer-metric.tone-gold b{color:#a7730b}
.delivery-customer-metric.tone-purple{border-top-color:#7052a4}.delivery-customer-metric.tone-purple b{color:#60418f}
.delivery-customer-metric.tone-revenue{border-top-color:#0d7283}.delivery-customer-metric.tone-revenue b{color:#0b6877}
.delivery-customers-panel > .delivery-customers-list { padding:12px; }
.delivery-customer-row { width:100%; display:grid; grid-template-columns:minmax(210px,1.4fr) 105px 120px minmax(145px,1fr) 100px 135px auto; gap:12px; align-items:center; text-align:left; border:1px solid var(--border); border-left:5px solid #168957; border-radius:12px; background:#fff; padding:13px 14px; color:var(--text); cursor:pointer; box-shadow:0 3px 9px rgba(9,43,87,.06); }
.delivery-customer-row:hover { border-color:var(--blue); background:#f7fbff; }
.delivery-customer-row.is-inactive { border-left-color:#87959c; opacity:.72; }
.delivery-customer-main { display:flex; align-items:center; gap:10px; }
.delivery-customer-avatar { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:11px; background:linear-gradient(145deg,#168957,#0c6740); color:#fff; font-size:16px; font-weight:900; box-shadow:0 3px 0 #075436; }
.delivery-customer-consent { display:inline-flex; justify-content:center; padding:7px 9px; border-radius:999px; font-size:10px; font-weight:900; text-align:center; }
.delivery-customer-consent.is-authorized { background:#ddf4e7; color:#0d7042; }
.delivery-customer-consent.is-blocked { background:#eef1f3; color:#61737c; }
.delivery-customer-open { color:#0d628e; font-size:11px; font-weight:900; white-space:nowrap; }
.delivery-customer-row b { display:block; font-size:14px; }
.delivery-customer-row small { display:block; color:var(--text-muted); font-size:11px; margin-top:3px; }
.delivery-favorite-summary { color:var(--text-muted); font-size:12px; }
.customer-active { color:#19824b; font-weight:700; }
.customer-inactive { color:var(--red); font-weight:700; }
.delivery-empty-note { padding:20px; border:1px dashed var(--border); border-radius:12px; color:var(--text-muted); display:flex; flex-direction:column; gap:4px; text-align:center; }
.delivery-empty-note b { color:var(--text); }
.skeleton-line { height:44px; border-radius:10px; background:linear-gradient(90deg,#eef2f7,#f8fafc,#eef2f7); background-size:200% 100%; animation:skeletonShimmer 1.4s infinite; }
.skeleton-line.short { width:65%; }
@keyframes skeletonShimmer { from { background-position:200% 0; } to { background-position:-200% 0; } }
.delivery-customer-detail { display:grid; gap:16px; }
#deliveryCustomersList[aria-busy="true"] { cursor:progress; }
#deliveryCustomersList { overflow-anchor:none; }
.delivery-detail-heading { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.delivery-detail-heading h3 { margin:0 0 3px; font-size:20px; }
.delivery-detail-heading span, .muted { color:var(--text-muted); font-size:12px; }
.delivery-metric-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.delivery-metric-strip div { padding:12px; border-radius:10px; background:var(--bg); }
.delivery-metric-strip b { display:block; color:var(--green-dark); font-size:18px; }
.delivery-metric-strip span { display:block; color:var(--text-muted); font-size:10px; }
.delivery-habit-callout { padding:14px; border-radius:12px; background:var(--green-pale); color:var(--green-dark); font-size:15px; }
.delivery-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.delivery-detail-grid h4 { margin-bottom:8px; font-size:13px; }
.delivery-product-line, .delivery-order-line { display:flex; justify-content:space-between; gap:10px; padding:9px 0; border-bottom:1px solid var(--border); font-size:13px; }
.delivery-order-line small { display:block; color:var(--text-muted); font-size:11px; margin-top:2px; }
.delivery-order-card { margin-bottom:10px; padding:0 10px 8px; border:1px solid var(--border); border-radius:10px; background:#fff; }
.delivery-order-items { padding-left:8px; }
.delivery-order-item { display:flex; justify-content:space-between; gap:10px; padding:7px 0; border-top:1px solid #edf1f3; font-size:12px; }
.delivery-order-item small { display:block; margin-top:2px; color:var(--text-muted); font-size:11px; }
.delivery-detail-actions { display:flex; gap:8px; flex-wrap:wrap; }
.delivery-customer-edit { display:grid; gap:12px; }
.delivery-check { display:flex; gap:8px; align-items:center; font-size:13px; }
.delivery-conference-note{margin:-4px 0 16px;padding:20px;border:1px solid #e8c56d;border-left:6px solid #d59a1b;border-radius:16px;background:linear-gradient(135deg,#fffdf5,#fff8e8);box-shadow:0 10px 24px rgba(118,82,10,.1)}
.delivery-conference-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid #eadfbf}
.delivery-conference-kicker{color:#9a6a08;font-size:10px;font-weight:900;letter-spacing:.14em}
.delivery-conference-head h3{margin:3px 0;color:#4d3510;font-size:22px}.delivery-conference-head p{color:#76684e;font-size:13px}.delivery-address{margin-top:3px}
.delivery-paid-stamp{flex:0 0 auto;padding:9px 12px;border:1px solid #a6d8bb;border-radius:10px;background:#effaf2;color:#167042;font-size:12px;font-weight:900;text-align:right}.delivery-paid-stamp span{display:block;margin-top:3px;color:#4d755f;font-size:10px;font-weight:600}
.delivery-conference-items{margin-top:16px;overflow-x:auto}.delivery-conference-columns,.delivery-conference-line{display:grid;grid-template-columns:minmax(180px,1fr) 105px 78px 110px auto;gap:12px;align-items:center;min-width:650px}.delivery-conference-columns{padding:0 10px 7px;color:#8c7957;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.delivery-conference-line{padding:10px;border-top:1px solid #eadfbf}
.delivery-conference-product b{display:block;color:#473516;font-size:13px}.delivery-conference-product small{display:block;margin-top:2px;color:#927f60;font-size:11px}.delivery-conference-price,.delivery-conference-subtotal{color:#5b4827;font-size:13px}.delivery-conference-subtotal{font-weight:800}.delivery-conference-qty{max-width:78px;padding:8px 9px}
.delivery-conference-add{display:flex;gap:8px;max-width:580px;margin-top:12px}.delivery-conference-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:18px}.delivery-conference-totals>div{padding:11px 12px;border-radius:10px;background:#fffaf0;border:1px solid #efe3c5}.delivery-conference-totals span{display:block;color:#8c7957;font-size:11px}.delivery-conference-totals b{display:block;margin-top:3px;color:#4d3510;font-size:17px}.delivery-conference-total{background:#fff0c8!important;border-color:#e7c362!important}
.delivery-conference-difference{margin-top:12px;padding:11px 13px;border-radius:10px;font-size:13px;font-weight:800}.delivery-conference-difference.is-even{color:#176d42;background:#edf9f1;border:1px solid #b7dfc4}.delivery-conference-difference.is-different{color:#9b3d24;background:#fff0e8;border:1px solid #f1c2aa}.delivery-conference-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:14px}
@media (max-width:760px){.delivery-conference-note{padding:15px}.delivery-conference-head{flex-direction:column}.delivery-paid-stamp{text-align:left}.delivery-conference-add{flex-direction:column}.delivery-conference-totals{grid-template-columns:1fr}.delivery-conference-actions .btn{width:100%;justify-content:center}}

/* ── Delivery operations monitor ── */
.delivery-monitor { max-width: 1500px; margin: -4px auto 0; }
.delivery-monitor-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:18px; }
.delivery-monitor-head h1 { margin:3px 0 2px; font-family:'Barlow Condensed',sans-serif; font-size:36px; letter-spacing:-.02em; color:#092b57; }
.delivery-monitor-head p { color:var(--text-muted); font-size:12px; }
.delivery-kicker { color:#0d8b78; font-size:10px; font-weight:900; letter-spacing:.16em; }
.delivery-head-actions { display:flex; gap:8px; }
.delivery-counter-strip { display:grid; grid-template-columns:repeat(5,minmax(110px,1fr)); gap:8px; margin-bottom:12px; }
.delivery-counter { padding:11px 13px; background:#fff; border:1px solid var(--border); border-top:3px solid #8e9aaa; border-radius:10px; }
.delivery-counter b { display:block; font-family:'Barlow Condensed',sans-serif; font-size:25px; color:#092b57; line-height:1; }
.delivery-counter span { color:var(--text-muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.delivery-counter.green { border-top-color:#18a56d }.delivery-counter.yellow { border-top-color:#d39c23 }.delivery-counter.red { border-top-color:#c64b43 }
.delivery-toolbar { display:grid; grid-template-columns:minmax(230px,1.5fr) repeat(3,minmax(125px,.7fr)) auto; gap:8px; padding:10px; background:#e5edf1; border:1px solid #cfdae2; border-radius:11px; margin-bottom:10px; }
.delivery-search { position:relative }.delivery-search span { position:absolute; left:11px; top:7px; font-size:22px; color:#567080 }.delivery-search input { padding-left:34px; }
.delivery-whatsapp-action { border:1px solid #0b806e; background:#0b806e; color:#fff; border-radius:8px; padding:0 13px; font:inherit; font-size:12px; font-weight:800; cursor:pointer; white-space:nowrap; }
.delivery-queue-layout { display:grid; grid-template-columns:minmax(580px,1.45fr) minmax(360px,.8fr); gap:10px; align-items:start; }
.delivery-queue-panel { min-width:0; overflow:hidden; }
.delivery-queue-title { display:flex; align-items:center; justify-content:space-between; padding:13px 15px; border-bottom:1px solid var(--border); color:#092b57; }.delivery-queue-title span { color:var(--text-muted); font-size:11px; font-weight:600; }
.delivery-queue { display:grid; gap:1px; background:#dce5ea; }
.delivery-order-row { position:relative; display:grid; grid-template-columns:8px 55px minmax(140px,1.4fr) minmax(90px,.8fr) minmax(100px,.8fr) 85px 16px; gap:10px; align-items:center; min-height:66px; padding:8px 13px; border:0; border-bottom:1px solid #e3e9ed; background:#fff; color:var(--text); text-align:left; cursor:pointer; font:inherit; transition:background .15s, transform .15s; }
.delivery-order-row:hover,.delivery-order-row.is-selected { background:#f3f9f8; }.delivery-order-row:active { transform:scale(.998); }
.delivery-order-row.is-new-paid { animation:deliveryPulse 1.2s ease-in-out infinite alternate; background:#edf9f3; }
@keyframes deliveryPulse { from { transform:translateX(0); } to { transform:translateX(3px); } }
.delivery-state-mark { width:7px; height:43px; border-radius:5px; background:#9ca8b0; }.state-green .delivery-state-mark { background:#18a56d }.state-yellow .delivery-state-mark { background:#d39c23 }.state-red .delivery-state-mark { background:#c64b43 }.state-completed .delivery-state-mark { background:#87939d }
.delivery-order-number { font-family:'Barlow Condensed',sans-serif; font-size:23px; color:#092b57; }.delivery-order-main b,.delivery-order-type,.delivery-order-payment { display:block; font-size:12px; font-weight:800; }.delivery-order-main small,.delivery-order-type small,.delivery-order-payment small { display:block; color:var(--text-muted); font-size:10px; font-weight:500; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.delivery-order-total { font-family:'Barlow Condensed',sans-serif; font-size:20px; color:#0b806e; white-space:nowrap; }.delivery-row-chevron { color:#75909d; font-size:23px; }
.delivery-detail-panel { position:sticky; top:76px; min-height:450px; padding:17px; }.delivery-detail-empty { min-height:410px; display:grid; align-content:center; justify-items:center; gap:5px; color:var(--text-muted); text-align:center; }.delivery-detail-empty b { color:#092b57; font-size:16px; }.delivery-detail-head { display:flex; justify-content:space-between; gap:10px; border-bottom:1px solid var(--border); padding-bottom:12px; }.delivery-detail-head h2 { font-family:'Barlow Condensed',sans-serif; color:#092b57; font-size:28px; line-height:1; margin:4px 0; }.delivery-detail-head p { color:var(--text-muted); font-size:12px; }.delivery-detail-status { display:grid; grid-template-columns:10px 1fr auto; gap:8px; align-items:center; margin:12px 0; padding:10px; border-radius:8px; background:#f2f5f6; font-size:12px; }.delivery-detail-status span { width:9px; height:9px; border-radius:50%; background:#aab4ba; }.delivery-detail-status.state-green { background:#e8f7f0 }.delivery-detail-status.state-green span { background:#18a56d }.delivery-detail-status.state-yellow { background:#fff7df }.delivery-detail-status.state-yellow span { background:#d39c23 }.delivery-detail-status.state-red { background:#fff0ee }.delivery-detail-status.state-red span { background:#c64b43 }.delivery-detail-status small { color:var(--text-muted); }.delivery-detail-facts { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; margin-bottom:15px; }.delivery-detail-facts span { padding:8px; background:var(--bg); color:var(--text-muted); font-size:9px; text-transform:uppercase; }.delivery-detail-facts b { display:block; color:var(--text); font-size:12px; text-transform:none; margin-top:3px; }.delivery-detail-section { border-top:1px solid var(--border); padding-top:12px; margin-top:12px; }.delivery-detail-section-title { display:flex; justify-content:space-between; color:#092b57; font-size:12px; margin-bottom:5px; }.delivery-detail-section-title span { color:var(--text-muted); font-weight:500; }.delivery-edit-line { display:grid; grid-template-columns:minmax(90px,1fr) 58px 100px 72px 26px; gap:6px; align-items:center; padding:8px 0; border-bottom:1px solid #edf0f2; }.delivery-edit-line b { display:block; font-size:11px; }.delivery-edit-line small { display:block; color:var(--text-muted); font-size:10px; }.delivery-edit-line .form-control { padding:6px; font-size:11px; }.delivery-remove-item { border:0; background:transparent; color:#b54842; font-size:20px; cursor:pointer; }.delivery-add-line { display:grid; grid-template-columns:1fr auto; gap:6px; margin-top:10px; }.delivery-customer-block p { margin:4px 0; font-size:12px; }.delivery-customer-block small { color:var(--text-muted); font-size:10px; }.delivery-detail-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:16px; }.delivery-detail-actions .btn { flex:1; justify-content:center; font-size:11px; padding:8px 9px; }.delivery-secondary { margin-top:12px; }.delivery-secondary summary { cursor:pointer; color:#0b6585; font-size:12px; font-weight:800; padding:8px 0; }.delivery-secondary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.delivery-secondary-card .card-header { padding:11px 14px; font-size:12px; }.delivery-secondary-card .card-body { padding:13px; }.delivery-link-row,.delivery-secondary-form { display:flex; gap:7px; flex-wrap:wrap; }.delivery-link-row .form-control { flex:1; min-width:180px; }.delivery-secondary-form .form-control { flex:1; min-width:140px; }.delivery-secondary-note { color:var(--text-muted); font-size:11px; margin-top:8px; }.delivery-empty-queue { padding:45px 15px; display:grid; gap:5px; justify-items:center; background:#fff; color:var(--text-muted); font-size:12px; }.delivery-empty-queue b { color:#092b57; }
@media (max-width:980px){.delivery-toolbar{grid-template-columns:1fr 1fr}.delivery-search{grid-column:1/-1}.delivery-whatsapp-action{min-height:40px}.delivery-queue-layout{grid-template-columns:1fr}.delivery-detail-panel{position:relative;top:auto}.delivery-secondary-grid{grid-template-columns:1fr}}
@media (max-width:640px){.delivery-monitor-head{align-items:flex-start;flex-direction:column}.delivery-head-actions{width:100%}.delivery-head-actions .btn{flex:1;justify-content:center}.delivery-counter-strip{grid-template-columns:repeat(2,1fr)}.delivery-toolbar{grid-template-columns:1fr 1fr}.delivery-order-row{grid-template-columns:7px 45px minmax(130px,1fr) 75px 16px}.delivery-order-type{display:none}.delivery-order-payment{display:none}.delivery-order-total{font-size:18px}.delivery-detail-facts{grid-template-columns:repeat(2,1fr)}.delivery-edit-line{grid-template-columns:1fr 52px 80px 58px 22px}.delivery-edit-line strong{font-size:11px}}
@media (prefers-reduced-motion:reduce){.delivery-order-row{transition:none}.delivery-monitor *{animation:none!important}}
@media (max-width: 760px) {
  .delivery-customer-toolbar, .delivery-detail-heading { align-items:stretch; flex-direction:column; }
  .delivery-customer-toolbar .form-control { max-width:none; }
  .delivery-customer-row { grid-template-columns:1fr 1fr; }
  .delivery-favorite-summary { grid-column:1/-1; }
  .delivery-metric-strip { grid-template-columns:1fr 1fr; }
  .delivery-detail-grid { grid-template-columns:1fr; }
}

/* ── Dashboard executivo NB: leitura rápida, sem ruído ── */
.nb-dashboard-head { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:22px; }
.dashboard-head-tools { display:flex; align-items:flex-end; gap:10px; }
.dashboard-showcase { display:flex; gap:7px; padding:9px; border:1px solid #d5e0ec; border-radius:12px; background:#fff; box-shadow:0 6px 20px rgba(8,43,84,.06); }
.dashboard-eyebrow { display:block; color:#b12a31; font-size:10px; font-weight:900; letter-spacing:.16em; }
.nb-dashboard-head h1 { margin:4px 0 5px; color:#082b54; font-size:clamp(26px,3vw,38px); line-height:1.08; letter-spacing:-.04em; }
.nb-dashboard-head p { color:#65778c; font-size:13px; }
.dashboard-year { min-width:160px; padding:11px 12px; border:1px solid #d5e0ec; border-radius:12px; background:#fff; box-shadow:0 6px 20px rgba(8,43,84,.06); }
.dashboard-year label { display:block; color:#75879a; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.dashboard-year select { width:100%; margin-top:3px; border:0; outline:0; color:#082b54; font-size:18px; font-weight:900; background:transparent; cursor:pointer; }
.dashboard-year span { display:block; margin-top:2px; color:#91a0ae; font-size:10px; }
.dashboard-kpi-grid { display:grid; grid-template-columns:1.3fr repeat(3,1fr); gap:12px; margin-bottom:12px; }
.dashboard-kpi { min-height:128px; padding:18px; border:1px solid #dce5ee; border-radius:15px; background:#fff; box-shadow:0 7px 22px rgba(8,43,84,.055); transition:transform .2s ease,box-shadow .2s ease; }
.dashboard-kpi:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(8,43,84,.11); }
.dashboard-kpi span { color:#708298; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.dashboard-kpi strong { display:block; margin:10px 0 3px; color:#092e5a; font-size:clamp(24px,2.4vw,32px); letter-spacing:-.04em; }
.dashboard-kpi small { color:#8291a0; font-size:11px; }
.dashboard-kpi.kpi-primary { background:#092e5b; border-color:#092e5b; }
.dashboard-kpi.kpi-primary span,.dashboard-kpi.kpi-primary small { color:#aec3d9; }
.dashboard-kpi.kpi-primary strong { color:#ffcf3c; }
.dashboard-channel-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom:22px; }
.dashboard-channel { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:106px; padding:17px 18px; border-radius:15px; color:#fff; overflow:hidden; }
.dashboard-channel-link { cursor:pointer; transition:transform .16s ease, box-shadow .16s ease, filter .16s ease; }
.dashboard-channel-link:hover { transform:translateY(-2px); filter:brightness(1.04); box-shadow:0 12px 26px rgba(8,43,84,.18); }
.dashboard-channel-link:focus-visible { outline:3px solid #f2b705; outline-offset:3px; }
.dashboard-channel-action { display:block; margin-top:10px; font-size:12px; font-weight:900; text-decoration:underline; text-underline-offset:3px; }
.panel-dashboard-back { white-space:nowrap; }
.pdv-command-head-actions { display:flex; align-items:center; gap:10px; }
@media (max-width:760px) { .pdv-command-head-actions{align-items:flex-start;flex-direction:column-reverse}.delivery-head-actions{align-items:stretch}.panel-dashboard-back{order:-1} }

.delivery-operation-board { display:grid; grid-template-columns:repeat(3,minmax(225px,1fr)); gap:10px; padding:10px; overflow-x:auto; align-items:start; background:#e7edf0; }
.delivery-board-queue-rule { padding:7px 12px; color:#355363; font-size:12px; font-weight:700; }
.delivery-board-lane { min-width:225px; border-top:4px solid #748792; border-radius:11px; overflow:hidden; background:#f6f8f9; box-shadow:0 3px 12px rgba(9,43,87,.08); }
.delivery-board-lane.is-drop-target { outline:3px dashed #168957; outline-offset:-4px; background:#e8f7ed; }
.delivery-board-lane > header { display:grid; grid-template-columns:auto 1fr auto; align-items:start; gap:9px; min-height:67px; padding:12px; border-bottom:1px solid rgba(14,44,64,.09); background:#fff; }
.delivery-board-lane > header > span { font-size:10px; font-weight:900; letter-spacing:.08em; opacity:.65; }
.delivery-board-lane > header div { display:grid; gap:2px; }
.delivery-board-lane > header b { color:#173447; font-size:14px; }
.delivery-board-lane > header small { color:#687d89; font-size:10px; line-height:1.25; }
.delivery-board-lane > header > strong { display:grid; place-items:center; min-width:29px; height:29px; border-radius:999px; background:#e6ecef; color:#173447; font-size:14px; }
.delivery-board-lane-list { display:grid; gap:8px; padding:8px; min-height:116px; }
.delivery-board-card { display:grid; gap:7px; width:100%; padding:11px; border:1px solid #d9e2e6; border-left:4px solid #748792; border-radius:9px; background:#fff; color:#173447; text-align:left; font:inherit; cursor:pointer; box-shadow:0 2px 7px rgba(9,43,87,.06); transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease; }
.delivery-board-card:hover { transform:translateY(-2px); box-shadow:0 7px 17px rgba(9,43,87,.13); }
.delivery-board-card:focus-visible { outline:3px solid rgba(9,84,124,.3); outline-offset:2px; }
.delivery-board-card.is-selected { box-shadow:0 0 0 3px rgba(9,84,124,.2),0 7px 17px rgba(9,43,87,.14); }
.delivery-board-card-top,.delivery-board-meta,.delivery-board-card-bottom { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.delivery-board-card-top b { font-size:12px; letter-spacing:.03em; }
.delivery-board-card-top span,.delivery-board-meta,.delivery-board-card-bottom small { color:#6b7f89; font-size:10px; }
.delivery-board-card > strong { font-size:14px; line-height:1.2; }
.delivery-board-status { font-size:11px; font-weight:800; }
.delivery-board-card-bottom { padding-top:7px; border-top:1px solid #edf1f3; }
.delivery-board-card-bottom b { font-size:14px; }
.delivery-board-ticket { display:grid; gap:5px; align-content:start; }
.delivery-board-ticket[draggable="true"] { cursor:grab; }
.delivery-board-move { display:flex; justify-content:flex-end; gap:5px; flex-wrap:wrap; }
.delivery-board-move button { border:1px solid #b4c5cc; border-radius:6px; background:#fff; color:#194b61; padding:6px 9px; font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.delivery-board-move button:hover:not(:disabled),.delivery-board-move button:focus-visible { background:#e6f2f4; outline:2px solid #267595; }
.delivery-board-move button:disabled { opacity:.52; cursor:not-allowed; }
.delivery-board-move .delivery-board-cancel { color:#aa2935; border-color:#d9a9ad; margin-right:auto; }
.delivery-board-move span { color:#117045; font-size:11px; font-weight:800; }
.lane-red { border-top-color:#c84242; background:#fff3f2; }.lane-red > header > strong{background:#fee1de;color:#9f2929}.lane-red .delivery-board-card{border-left-color:#c84242}.lane-red .delivery-board-status{color:#ad2f2f}
.lane-orange { border-top-color:#e27a22; background:#fff5ec; }.lane-orange > header > strong{background:#ffe3ca;color:#a84e0c}.lane-orange .delivery-board-card{border-left-color:#e27a22}.lane-orange .delivery-board-status{color:#b55911}
.lane-yellow { border-top-color:#d4a41f; background:#fff9e8; }.lane-yellow > header > strong{background:#ffedb2;color:#80620d}.lane-yellow .delivery-board-card{border-left-color:#d4a41f}.lane-yellow .delivery-board-status{color:#8a6811}
.lane-green { border-top-color:#168957; background:#edf8f2; }.lane-green > header > strong{background:#d4f1e1;color:#0d6b41}.lane-green .delivery-board-card{border-left-color:#168957}.lane-green .delivery-board-status{color:#117045}
.delivery-board-empty { display:grid; place-items:center; min-height:92px; padding:14px; border:1px dashed #c5d0d5; border-radius:8px; color:#768993; background:rgba(255,255,255,.5); font-size:11px; text-align:center; }
.delivery-board-archive { margin:0 10px 10px; border:1px solid #cbd6db; border-radius:10px; background:#f7f9fa; }
.delivery-board-archive summary { display:flex; justify-content:space-between; gap:12px; padding:11px 13px; cursor:pointer; color:#506671; font-size:12px; }
.delivery-board-archive summary span { font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.delivery-board-archive summary b { font-weight:700; }
.delivery-board-archive > div { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:8px; padding:0 10px 10px; }
.delivery-board-archive .delivery-board-card { opacity:.78; }
@media (max-width:900px) { .delivery-operation-board{grid-template-columns:repeat(3,240px)} }

.delivery-monitor-head { position:relative; overflow:hidden; border:1px solid #c4d8df; border-radius:16px; background:linear-gradient(135deg,#f8fcfd 0%,#edf6f4 60%,#fff6df 100%); box-shadow:0 10px 28px rgba(9,43,87,.11),inset 0 1px 0 #fff; }
.delivery-monitor-head::after { content:""; position:absolute; right:-54px; bottom:-74px; width:210px; height:210px; border-radius:50%; background:radial-gradient(circle,rgba(215,163,0,.18),rgba(215,163,0,0) 68%); pointer-events:none; }
.delivery-monitor-head > * { position:relative; z-index:1; }
.delivery-counter-strip { grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; padding:0; margin:14px 0; background:transparent; border:0; }
.delivery-counter { position:relative; display:grid; align-content:start; gap:6px; min-height:126px; padding:16px; overflow:hidden; border:1px solid #c8d8de; border-top:5px solid #245c78; border-radius:13px; background:linear-gradient(160deg,#fff 0%,#f3f7f8 100%); box-shadow:0 6px 0 rgba(9,43,87,.12),0 13px 24px rgba(9,43,87,.09),inset 0 1px 0 #fff; text-align:left; }
.delivery-counter::after { content:""; position:absolute; right:-24px; bottom:-37px; width:95px; height:95px; border-radius:50%; background:rgba(36,92,120,.08); }
.delivery-counter > * { position:relative; z-index:1; }
.delivery-counter span { color:#526d7a; font-size:10px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.delivery-counter b { color:#173b52; font-size:clamp(25px,2.2vw,34px); line-height:1.05; letter-spacing:-.035em; }
.delivery-counter small { color:#71848d; font-size:10px; font-weight:700; line-height:1.3; }
.delivery-counter.kpi-revenue { border-top-color:#186ca3; }.delivery-counter.kpi-revenue b{color:#115f94}
.delivery-counter.kpi-active { border-top-color:#df861e; }.delivery-counter.kpi-active b{color:#b96313}.delivery-counter.kpi-active::after{background:rgba(223,134,30,.11)}
.delivery-counter.kpi-ready { border-top-color:#168957; }.delivery-counter.kpi-ready b{color:#117347}.delivery-counter.kpi-ready::after{background:rgba(22,137,87,.1)}
.delivery-counter.kpi-pending { border-top-color:#c84242; }.delivery-counter.kpi-pending b{color:#ad3030}.delivery-counter.kpi-pending::after{background:rgba(200,66,66,.1)}
@media (max-width:1100px) { .delivery-counter-strip{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:1100px) { .delivery-customer-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.delivery-customer-row{grid-template-columns:minmax(210px,1.4fr) 100px 115px minmax(135px,1fr)}.delivery-customer-row>span:nth-child(5),.delivery-customer-consent,.delivery-customer-open{display:none} }
@media (max-width:700px) { .delivery-counter-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.delivery-counter{min-height:116px}.delivery-counter.kpi-revenue{grid-column:span 2}.delivery-monitor-head{border-radius:13px}.delivery-customer-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.delivery-customer-metric{min-height:104px}.delivery-customer-metric.tone-revenue{grid-column:span 2}.delivery-customer-row{grid-template-columns:1fr 1fr}.delivery-customer-main{grid-column:1/-1} }
.dashboard-channel h2 { margin:5px 0 1px; font-size:24px; letter-spacing:-.04em; }
.dashboard-channel small { opacity:.75; font-size:11px; }
.channel-label { font-size:10px; font-weight:900; letter-spacing:.14em; }
.channel-mark { display:grid; place-items:center; width:52px; height:52px; border:1px solid rgba(255,255,255,.25); border-radius:50%; color:rgba(255,255,255,.75); font-size:10px; font-weight:900; letter-spacing:.1em; }
.channel-pdv { background:#1669a9; }.channel-delivery { background:#b32d35; }.channel-legacy { background:#5e7184; }
.dashboard-analysis-card { margin-bottom:18px; padding:20px; border:1px solid #dce5ee; border-radius:17px; background:#fff; box-shadow:0 8px 26px rgba(8,43,84,.055); }
.dashboard-section-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:17px; }
.dashboard-section-head h2 { margin:4px 0 2px; color:#092e5a; font-size:19px; letter-spacing:-.025em; }
.dashboard-section-head p { color:#526a7d; font-size:13px; }
.dashboard-total-pill { padding:7px 10px; border-radius:99px; background:#edf4fa; color:#1669a9; font-size:11px; font-weight:800; white-space:nowrap; }
.dashboard-trend-insights { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; margin:-3px 0 22px; }
.dashboard-trend-insights article { min-height:118px; padding:18px 19px; border:1px solid #d5e4f1; border-top:5px solid #1776d3; border-radius:14px; background:linear-gradient(150deg,#fff,#eaf4ff); box-shadow:0 5px 0 #d7e6f3,0 12px 22px rgba(8,43,84,.09); }
.dashboard-trend-insights article:nth-child(2) { border-top-color:#008eaa; background:linear-gradient(150deg,#fff,#e5f8fa); box-shadow:0 5px 0 #ccecf0,0 12px 22px rgba(8,43,84,.09); }
.dashboard-trend-insights article:nth-child(3) { border-top-color:#df8a15; background:linear-gradient(150deg,#fff,#fff3db); box-shadow:0 5px 0 #f4e5c8,0 12px 22px rgba(8,43,84,.09); }
.dashboard-trend-insights article:nth-child(4) { border-top-color:#ba3967; background:linear-gradient(150deg,#fff,#fff0f5); box-shadow:0 5px 0 #f2d9e2,0 12px 22px rgba(8,43,84,.09); }
.dashboard-trend-insights span,.dashboard-trend-insights small { display:block; color:#54687c; font-size:12px; line-height:1.35; }
.dashboard-trend-insights span { font-weight:900; text-transform:uppercase; letter-spacing:.055em; }
.dashboard-trend-insights strong { display:block; margin:10px 0 5px; color:#092e5a; font-size:clamp(21px,2vw,26px); line-height:1.1; overflow-wrap:anywhere; }
.dashboard-trend-insights .is-positive strong { color:#168150; }.dashboard-trend-insights .is-negative strong { color:#b52d36; }
.dashboard-trend { position:relative; min-height:342px; padding:43px 0 20px; border:1px solid #cbdceb; border-radius:14px; background:linear-gradient(180deg,#f9fcff,#eff6fd); box-shadow:inset 0 2px 10px rgba(24,106,212,.06); }
.trend-canvas { margin-left:85px; padding-right:16px; background:repeating-linear-gradient(to bottom, transparent 0, transparent 70px, #dbe7f2 71px); }
.trend-plot { position:relative; }
.dashboard-trend svg { display:block; width:100%; height:280px; overflow:visible; }
.trend-dot { position:absolute; width:12px; height:12px; border:2px solid #fff; border-radius:50%; background:#2753bd; box-shadow:0 2px 6px rgba(15,53,121,.38); transform:translate(-50%,-50%); cursor:help; }
.trend-month-labels { display:grid; grid-template-columns:repeat(12,1fr); margin-top:5px; color:#435e78; font-size:11px; font-weight:800; text-align:center; text-transform:uppercase; }
.trend-line,.trend-shadow { fill:none; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.trend-line { stroke-width:8; filter:drop-shadow(0 2px 1px rgba(12,43,93,.18)); }
.trend-shadow { stroke-width:12; opacity:.22; transform:translateY(3px); }
.trend-total-shadow { stroke:#10296f; }.trend-pdv-shadow { stroke:#884000; }.trend-delivery-shadow { stroke:#863251; }
.trend-total { stroke:url(#trendTotalGradient); }.trend-pdv { stroke:url(#trendPdvGradient); }.trend-delivery { stroke:url(#trendDeliveryGradient); }
.trend-area { fill:url(#trendAreaGradient); stroke:none; }
.trend-zero { stroke:#8d9cab; stroke-width:1.1; stroke-dasharray:4 4; vector-effect:non-scaling-stroke; }
.trend-legend { position:absolute; right:15px; top:12px; display:flex; gap:16px; color:#364f66; font-size:12px; font-weight:800; }
.trend-legend i { display:inline-block; width:27px; height:8px; margin:0 5px 1px 0; border-radius:4px; background:#2753bd; box-shadow:0 2px 0 #15357d; }.trend-legend .legend-pdv{background:#ad5700;box-shadow:0 2px 0 #884000}.trend-legend .legend-delivery{background:#c53557;box-shadow:0 2px 0 #903052}
.trend-scale { position:absolute; left:13px; top:60px; bottom:42px; display:flex; flex-direction:column; justify-content:space-between; color:#405b73; font-size:11px; font-weight:800; }
.dashboard-trend-table { display:none; }
.dashboard-analysis-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; }
.dashboard-rank-list,.payment-list { display:grid; gap:14px; }.dashboard-rank { display:grid; grid-template-columns:29px 1fr auto; align-items:center; gap:10px; }.rank-number { color:#788ca1; font-size:14px; }.rank-main { min-width:0; }.rank-main strong { display:block; overflow:hidden; color:#1b3955; font-size:15px; text-overflow:ellipsis; white-space:nowrap; }.rank-main span { display:block; margin-top:3px; color:#536c80; font-size:12px; line-height:1.4; }.dashboard-rank > strong { color:#092e5a; font-size:15px; }.rank-bar { display:block; height:5px; margin-top:7px; overflow:hidden; border-radius:99px; background:#e8eff5; }.rank-bar i,.payment-bar i { display:block; height:100%; border-radius:inherit; background:#2486c5; transition:width .45s ease; }
.payment-row { display:grid; grid-template-columns:1fr auto; gap:4px 10px; align-items:center; }.payment-row div:first-child strong { display:block; color:#1b3955; font-size:13px; }.payment-row div:first-child span { display:block; color:#83919e; font-size:10px; }.payment-row > b { color:#092e5a; font-size:13px; }.payment-row small { color:#8796a3; font-size:10px; text-align:right; }.payment-bar { grid-column:1/-1; height:5px; overflow:hidden; border-radius:99px; background:#e8eff5; }.payment-bar i { background:#b32d35; }
.dashboard-product-table { overflow-x:auto; -webkit-overflow-scrolling:touch; }.product-head,.product-row { display:grid; grid-template-columns:28px minmax(185px,2fr) minmax(75px,.7fr) minmax(65px,.6fr) minmax(95px,.9fr) minmax(125px,1.2fr) minmax(125px,1.2fr); gap:10px; align-items:center; min-width:820px; padding:15px 10px; line-height:1.4; }.product-head { color:#485f78; border-bottom:2px solid #d4e0eb; font-size:13px; font-weight:900; text-transform:uppercase; letter-spacing:.035em; }.product-row { border-bottom:1px solid #e1eaf2; color:#415c72; font-size:16px; }.product-row:nth-child(2n) { background:#f6faff; }.product-row > b { color:#a32435; }.product-row strong { color:#143858; }.product-row em { display:block; color:#153f65; font-size:14px; font-style:normal; font-weight:700; }.product-row .rank-bar { margin-top:6px; }.product-row .rank-bar small { display:block; height:100%; border-radius:inherit; background:#b32d35; transition:width .45s ease; }
@media (max-width:1100px) { .dashboard-trend-insights { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.dashboard-empty { display:grid; place-items:center; min-height:100px; color:#8695a3; text-align:center; }.dashboard-empty strong { color:#49647e; font-size:13px; }.dashboard-empty span { margin-top:3px; font-size:11px; }.dashboard-lower-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.dashboard-robot { margin-top:4px; }
@media (max-width:820px) { .nb-dashboard-head{align-items:stretch; flex-direction:column}.dashboard-head-tools{align-items:stretch;flex-wrap:wrap}.dashboard-showcase{width:max-content}.dashboard-year{max-width:180px}.dashboard-kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-kpi.kpi-primary{grid-column:span 2}.dashboard-analysis-grid{grid-template-columns:1fr}.dashboard-lower-grid{grid-template-columns:1fr}.dashboard-trend-insights{grid-template-columns:repeat(2,1fr)} }
@media (max-width:520px) { .nb-dashboard-head h1{font-size:27px}.dashboard-channel-grid{grid-template-columns:1fr}.dashboard-kpi{min-height:112px;padding:14px}.dashboard-kpi strong{font-size:23px}.dashboard-analysis-card{padding:15px}.dashboard-section-head{flex-direction:column}.dashboard-total-pill{align-self:flex-start}.dashboard-trend-insights{grid-template-columns:1fr 1fr}.dashboard-trend-insights article{padding:10px}.trend-legend{position:static;margin:0 12px 8px}.dashboard-trend{padding-top:10px}.trend-canvas{margin-left:0;padding:0 8px}.trend-scale{display:none}.dashboard-trend svg{height:180px}.dashboard-trend-table{display:block;overflow:auto;margin-top:9px}.dashboard-trend-table table{width:100%;border-collapse:collapse;min-width:420px;font-size:11px}.dashboard-trend-table caption{text-align:left;margin-bottom:5px;color:#718294;font-weight:800}.dashboard-trend-table th,.dashboard-trend-table td{padding:7px;border-bottom:1px solid #edf1f4;text-align:right}.dashboard-trend-table th:first-child,.dashboard-trend-table td:first-child{text-align:left}.product-head,.product-row{gap:9px} }

/* Venda presencial dentro da central Delivery */
.delivery-mode-tabs { display:flex; gap:4px; margin:0 0 18px; padding:4px; width:max-content; max-width:100%; border:1px solid #c9dce8; border-radius:12px; background:#eaf3f7; }
.delivery-mode-tabs button { border:0; border-radius:9px; padding:10px 16px; background:transparent; color:#4b667b; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.delivery-mode-tabs button.active { background:#087f77; color:#fff; box-shadow:0 3px 8px rgba(8,127,119,.22); }
.delivery-counter-sale { animation:fadeIn .18s ease; }
.delivery-counter-head { display:flex; justify-content:space-between; gap:20px; align-items:start; margin-bottom:16px; padding:20px; border-radius:16px; background:linear-gradient(120deg,#073b69,#087f77); color:#fff; }
.delivery-counter-head h2 { margin:4px 0; font-size:24px; }
.delivery-counter-head p { color:rgba(255,255,255,.78); font-size:12px; }
.delivery-station-chip { padding:8px 11px; border-radius:9px; background:rgba(255,255,255,.14); font-size:11px; font-weight:800; white-space:nowrap; }
.delivery-counter-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr); gap:16px; }
.delivery-counter-tools { display:grid; grid-template-columns:1fr 1fr; gap:9px; padding:16px; border-bottom:1px solid var(--border); }
.delivery-counter-tools input:first-child { border:2px solid #159db6; }
.delivery-counter-categories { display:flex; gap:7px; overflow:auto; padding:12px 16px 2px; }
.delivery-counter-categories button { border:1px solid #bfd3df; border-radius:999px; padding:7px 11px; background:#fff; color:#426279; font:inherit; font-size:11px; font-weight:800; cursor:pointer; white-space:nowrap; }
.delivery-counter-categories button.active { background:#e0f3f0; border-color:#087f77; color:#087f77; }
.delivery-counter-catalog { display:grid; grid-template-columns:repeat(auto-fill,minmax(155px,1fr)); gap:9px; padding:14px 16px 18px; }
.delivery-counter-product { display:flex; min-height:116px; flex-direction:column; align-items:start; justify-content:space-between; padding:13px; border:1px solid #d7e4eb; border-radius:12px; background:#f9fcfd; color:var(--text); text-align:left; cursor:pointer; transition:transform .15s, border-color .15s; }
.delivery-counter-product:hover { transform:translateY(-2px); border-color:#087f77; }
.delivery-counter-product small { color:var(--text-muted); font-size:10px; }
.delivery-counter-product strong { color:#087f77; font-size:16px; }
.delivery-counter-cart { display:flex; flex-direction:column; min-height:390px; padding-bottom:16px; }
.delivery-counter-cart-items { flex:1; padding:5px 16px; }
.delivery-counter-cart textarea { width:calc(100% - 32px); margin:8px 16px; resize:vertical; }
.delivery-counter-cart-item { display:flex; justify-content:space-between; gap:10px; padding:12px 0; border-bottom:1px solid #e8eef2; }
.delivery-counter-cart-item small { display:block; color:var(--text-muted); font-size:10px; margin-top:3px; }
.delivery-counter-qty { display:flex; align-items:center; gap:6px; }
.delivery-counter-qty button { width:27px; height:27px; border:1px solid #bdd2dd; border-radius:7px; background:#fff; color:#087f77; font-weight:900; cursor:pointer; }
.delivery-counter-qty button.remove { width:auto; padding:0 7px; color:#a52d35; font-size:10px; }
.delivery-counter-total { display:flex; justify-content:space-between; align-items:center; margin:5px 16px 14px; padding:14px 0; border-top:2px solid #d8e8e8; font-weight:800; }
.delivery-counter-total strong { color:#087f77; font-size:23px; }
.delivery-counter-help { display:block; margin:8px 16px 0; color:var(--text-muted); font-size:10px; text-align:center; }
.delivery-counter-empty { grid-column:1/-1; padding:34px 10px; color:var(--text-muted); text-align:center; font-size:12px; }
.delivery-counter-blocked { margin-bottom:16px; padding:15px 17px; border:1px solid #efc7a2; border-radius:12px; background:#fff5e9; color:#7a4b1d; }
.delivery-counter-blocked b,.delivery-counter-blocked span { display:block; }.delivery-counter-blocked span { margin-top:3px; font-size:12px; }
.delivery-counter-layout.is-blocked { opacity:.58; pointer-events:none; }
@media (max-width:760px) { .delivery-counter-layout{grid-template-columns:1fr}.delivery-counter-tools{grid-template-columns:1fr}.delivery-counter-head{flex-direction:column}.delivery-counter-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.delivery-mode-tabs{width:100%}.delivery-mode-tabs button{flex:1;padding-inline:8px} }
@media (max-width:760px) { .delivery-customer-filters{grid-template-columns:1fr}.delivery-customer-row{grid-template-columns:1fr 1fr}.delivery-customer-main,.delivery-favorite-summary{grid-column:1/-1} }

/* ── Delivery monitor / caixa: leitura de operação em monitor grande ──
   A fila é uma ferramenta de trabalho contínuo: números dominam, estados
   têm contraste próprio e a conferência permanece aberta ao lado da fila. */
.delivery-monitor {
  width: 100%;
  max-width: 1720px;
  margin: 0 auto;
}
.delivery-monitor-head {
  min-height: 78px;
  margin-bottom: 20px;
  padding: 4px 2px 0;
}
.delivery-monitor-head h1 {
  font-size: clamp(42px, 3.25vw, 58px);
  line-height: .98;
  letter-spacing: -.035em;
}
.delivery-monitor-head p {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.4;
}
.delivery-kicker {
  font-size: 12px;
  letter-spacing: .18em;
}
.delivery-head-actions { gap: 10px; }
.delivery-head-actions .btn {
  min-height: 46px;
  padding-inline: 18px;
  font-size: 14px;
}
.delivery-mode-tabs {
  gap: 6px;
  margin-bottom: 20px;
  padding: 5px;
  border-radius: 14px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.delivery-mode-tabs button {
  min-height: 48px;
  padding: 11px 22px;
  font-size: 15px;
  flex: 0 0 auto;
}
.delivery-counter-strip {
  gap: 12px;
  margin-bottom: 16px;
}
.delivery-counter {
  min-height: 82px;
  padding: 14px 17px;
  border-radius: 12px;
}
.delivery-counter b { font-size: 34px; }
.delivery-counter span { font-size: 11px; }
.delivery-toolbar {
  gap: 10px;
  padding: 12px;
  margin-bottom: 14px;
  border-radius: 13px;
}
.delivery-toolbar .form-control,
.delivery-search .form-control {
  min-height: 48px;
  font-size: 14px;
}
.delivery-search span { top: 9px; }
.delivery-whatsapp-action {
  min-height: 48px;
  padding-inline: 17px;
  font-size: 13px;
}
.delivery-queue-layout {
  grid-template-columns: minmax(650px, 1.55fr) minmax(430px, .9fr);
  gap: 16px;
}
.delivery-queue-title {
  min-height: 62px;
  padding: 16px 20px;
}
.delivery-queue-title b { font-size: 18px; }
.delivery-queue-title span { font-size: 13px; }
.delivery-queue { gap: 2px; }
.delivery-order-row {
  grid-template-columns: 10px 72px minmax(180px, 1.55fr) minmax(112px, .85fr) minmax(125px, .9fr) 112px 20px;
  gap: 14px;
  min-height: 88px;
  padding: 12px 18px;
}
.delivery-state-mark { width: 9px; height: 60px; }
.delivery-order-number { font-size: 34px; line-height: 1; }
.delivery-order-main b,
.delivery-order-type,
.delivery-order-payment {
  font-size: 14px;
}
.delivery-order-main small,
.delivery-order-type small,
.delivery-order-payment small {
  margin-top: 4px;
  font-size: 11px;
}
.delivery-order-total { font-size: 29px; }
.delivery-row-chevron { font-size: 28px; }
.delivery-order-row.is-new-paid {
  box-shadow: inset 5px 0 0 #18a56d;
}
.delivery-detail-panel {
  min-height: 610px;
  padding: 23px;
  border: 1px solid #d4e0e6;
  box-shadow: 0 12px 30px rgba(7,29,61,.10);
}
.delivery-detail-empty { min-height: 555px; }
.delivery-detail-empty b { font-size: 19px; }
.delivery-detail-empty span { font-size: 13px; }
.delivery-detail-head {
  padding-bottom: 17px;
}
.delivery-detail-head h2 {
  font-size: 38px;
  margin: 6px 0;
}
.delivery-detail-head p { font-size: 14px; }
.delivery-detail-status {
  min-height: 58px;
  grid-template-columns: 13px 1fr auto;
  gap: 11px;
  margin: 17px 0;
  padding: 13px 15px;
  font-size: 15px;
}
.delivery-detail-status span { width: 12px; height: 12px; }
.delivery-detail-status small { font-size: 12px; }
.delivery-detail-facts {
  gap: 8px;
  margin-bottom: 20px;
}
.delivery-detail-facts span {
  min-height: 66px;
  padding: 11px 12px;
  font-size: 10px;
}
.delivery-detail-facts b {
  margin-top: 5px;
  font-size: 16px;
}
.delivery-detail-section {
  padding-top: 17px;
  margin-top: 17px;
}
.delivery-detail-section-title {
  margin-bottom: 8px;
  font-size: 15px;
}
.delivery-edit-line {
  grid-template-columns: minmax(150px, 1fr) 65px 118px 92px 28px;
  gap: 9px;
  min-height: 67px;
  padding: 10px 0;
}
.delivery-edit-line b { font-size: 13px; }
.delivery-edit-line small { font-size: 11px; }
.delivery-edit-line .form-control {
  min-height: 43px;
  padding: 8px;
  font-size: 13px;
}
.delivery-edit-line strong { font-size: 15px; }
.delivery-add-line { gap: 9px; margin-top: 13px; }
.delivery-customer-block p { font-size: 14px; }
.delivery-customer-block small { font-size: 11px; }
.delivery-detail-actions {
  gap: 9px;
  margin-top: 22px;
}
.delivery-detail-actions .btn {
  min-height: 48px;
  padding: 11px 13px;
  font-size: 13px;
}

/* Nota de conferência: leitura rápida no balcão, com hierarquia de cupom. */
.delivery-detail-panel {
  background: #f7fafb;
  border-top: 6px solid #087b77;
}
.delivery-detail-head h2 { letter-spacing: -.02em; }
.delivery-detail-section.delivery-customer-block {
  padding: 14px 16px;
  border: 1px solid #d8e5e8;
  border-radius: 12px;
  background: #fff;
}
.delivery-detail-table-head {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) 58px 88px 92px;
  gap: 9px;
  padding: 8px 0 5px;
  color: #62718a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.delivery-edit-line em {
  display: block;
  margin-top: 3px;
  color: #9a5c1b;
  font-size: 10px;
  font-style: normal;
}
.delivery-detail-totals {
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid #cddfe0;
  border-radius: 13px;
  background: #eff8f5;
}
.delivery-detail-totals > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 4px 0;
  color: #456176;
  font-size: 13px;
}
.delivery-detail-totals > div b { color: #173f55; }
.delivery-detail-totals .delivery-detail-grand-total {
  margin: 9px -7px -7px;
  padding: 12px 9px;
  border-radius: 9px;
  background: #087b71;
  color: #fff;
  font-size: 15px;
  font-weight: 900;
}
.delivery-detail-totals .delivery-detail-grand-total b {
  color: #ffdf28;
  font-size: 22px;
}
.delivery-detail-note {
  margin-top: 12px;
  padding: 11px 13px;
  border-left: 4px solid #e0a02b;
  background: #fff7e6;
  color: #67491c;
  font-size: 12px;
}
.delivery-detail-note p { margin-top: 4px; }

/* Balcão: catálogo e carrinho com alvos confortáveis, sem perder densidade. */
.delivery-counter-head {
  min-height: 108px;
  margin-bottom: 18px;
  padding: 24px 26px;
}
.delivery-counter-head h2 { font-size: 32px; }
.delivery-counter-head p { font-size: 14px; }
.delivery-station-chip {
  padding: 11px 14px;
  font-size: 13px;
}
.delivery-counter-layout {
  grid-template-columns: minmax(0, 1.5fr) minmax(380px, .78fr);
  gap: 18px;
}
.delivery-counter-tools {
  gap: 12px;
  padding: 20px;
}
.delivery-counter-tools .form-control {
  min-height: 54px;
  font-size: 16px;
}
.delivery-counter-categories { padding: 15px 20px 3px; }
.delivery-counter-categories button {
  min-height: 42px;
  padding: 9px 15px;
  font-size: 13px;
}
.delivery-counter-catalog {
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 12px;
  padding: 18px 20px 22px;
}
.delivery-counter-product {
  min-height: 148px;
  padding: 16px;
  border-radius: 14px;
}
.delivery-counter-product b { font-size: 15px; line-height: 1.25; }
.delivery-counter-product small { font-size: 12px; }
.delivery-counter-product strong { font-size: 21px; }
.delivery-counter-cart { min-height: 560px; padding-bottom: 20px; }
.delivery-counter-cart .card-header {
  min-height: 62px;
  padding: 17px 20px;
  font-size: 17px;
}
.delivery-counter-cart-items { padding: 8px 20px; }
.delivery-counter-cart-item { min-height: 66px; padding: 15px 0; }
.delivery-counter-cart-item b { font-size: 14px; }
.delivery-counter-cart-item small { font-size: 11px; }
.delivery-counter-qty { gap: 8px; }
.delivery-counter-qty button { width: 36px; height: 36px; font-size: 16px; }
.delivery-counter-qty button.remove { width: auto; padding-inline: 10px; font-size: 11px; }
.delivery-counter-cart textarea {
  width: calc(100% - 40px);
  min-height: 76px;
  margin: 10px 20px;
  padding: 12px;
  font-size: 14px;
}
.delivery-counter-total {
  margin: 8px 20px 16px;
  padding: 18px 0;
  font-size: 17px;
}
.delivery-counter-total strong { font-size: 34px; }
.delivery-counter-cart > .btn {
  min-height: 56px;
  margin-inline: 20px;
  width: calc(100% - 40px);
  font-size: 16px;
}
.delivery-counter-help {
  margin: 10px 20px 0;
  font-size: 12px;
}

@media (max-width:1200px) {
  .delivery-queue-layout { grid-template-columns: minmax(560px, 1.35fr) minmax(370px, .85fr); }
  .delivery-order-row { grid-template-columns: 9px 62px minmax(150px,1.4fr) 100px 105px 100px 18px; gap: 10px; }
  .delivery-order-number { font-size: 30px; }
}
@media (max-width:980px) {
  .delivery-queue-layout { grid-template-columns: 1fr; }
  .delivery-detail-panel { position: relative; top: auto; }
  .delivery-detail-empty { min-height: 300px; }
}
@media (max-width:640px) {
  .delivery-monitor-head h1 { font-size: 42px; }
  .delivery-monitor-head p { font-size: 13px; }
  .delivery-counter-strip { grid-template-columns: repeat(2, 1fr); }
  .delivery-counter { min-height: 74px; padding: 12px; }
  .delivery-counter b { font-size: 29px; }
  .delivery-counter span { font-size: 10px; }
  .delivery-toolbar { grid-template-columns: 1fr; }
  .delivery-search { grid-column: auto; }
  .delivery-order-row {
    grid-template-columns: 7px 48px minmax(120px, 1fr) 82px 18px;
    min-height: 78px;
    padding: 10px 12px;
    gap: 8px;
  }
  .delivery-order-number { font-size: 27px; }
  .delivery-order-main b { font-size: 13px; }
  .delivery-order-total { font-size: 22px; }
  .delivery-detail-panel { padding: 17px; }
  .delivery-detail-head h2 { font-size: 33px; }
  .delivery-edit-line { grid-template-columns: 1fr 55px 82px 70px 22px; gap: 5px; }
  .delivery-detail-table-head { grid-template-columns: 1fr 52px 72px 70px; gap: 5px; font-size: 9px; }
  .delivery-edit-line b { font-size: 12px; }
  .delivery-counter-head { padding: 20px; }
  .delivery-counter-head h2 { font-size: 28px; }
  .delivery-counter-layout { grid-template-columns: 1fr; }
  .delivery-counter-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-inline: 14px; }
  .delivery-counter-tools { padding: 14px; }
  .delivery-counter-cart { min-height: 430px; }
}
@media (prefers-reduced-motion: reduce) {
  .delivery-monitor *,
  .delivery-counter-sale * { animation: none !important; transition: none !important; }
}

/* Grade de estoque do balcão: leitura rápida, alto contraste e toque seguro. */
.delivery-counter-categories {
  scrollbar-width: thin;
  background: #f6fafb;
  border-bottom: 1px solid #e2edf0;
}
.delivery-counter-categories button {
  min-width: 92px;
  min-height: 46px;
  border-radius: 10px;
  box-shadow: 0 1px 0 rgba(15, 60, 73, .06);
}
.delivery-counter-catalog {
  align-items: stretch;
  background: #f3f7f8;
}
.delivery-counter-product {
  position: relative;
  min-height: 158px;
  gap: 9px;
  border: 1px solid #b9dec9;
  border-top: 5px solid #25a866;
  background: #fbfffc;
  box-shadow: 0 3px 0 rgba(27, 109, 70, .08);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.delivery-counter-product:hover,
.delivery-counter-product:focus-visible {
  transform: translateY(-2px);
  border-color: #16884f;
  box-shadow: 0 8px 18px rgba(21, 108, 71, .14);
  outline: 3px solid rgba(37, 168, 102, .2);
  outline-offset: 1px;
}
.delivery-counter-product:active { transform: translateY(0); }
.delivery-counter-product.is-low {
  border-color: #e4c26f;
  border-top-color: #d99b18;
  background: #fffdf6;
}
.delivery-counter-product.is-unavailable {
  border-color: #e4b7b7;
  border-top-color: #c84343;
  background: #fff8f8;
  color: #7c4b4b;
  cursor: not-allowed;
  box-shadow: none;
}
.delivery-counter-product.is-unavailable b { color: #814b4b; }
.delivery-counter-product.is-unavailable .delivery-product-stock { color: #c13e3e; }
.delivery-product-top,
.delivery-product-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 8px;
}
.delivery-product-code {
  overflow: hidden;
  color: #667e88;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.delivery-product-top i {
  flex: 0 0 auto;
  padding: 3px 6px;
  border-radius: 5px;
  background: #dff5e7;
  color: #167347;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}
.is-low .delivery-product-top i { background: #fff0c8; color: #95650b; }
.is-unavailable .delivery-product-top i { background: #f9dede; color: #b33a3a; }
.delivery-counter-product b {
  display: -webkit-box;
  min-height: 38px;
  overflow: hidden;
  color: #183d4b;
  font-size: 15px;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.delivery-product-bottom { align-items: end; margin-top: auto; }
.delivery-counter-product strong { color: #087f55; font-size: 20px; }
.is-low .delivery-counter-product strong { color: #a66b08; }
.delivery-product-stock {
  color: #16824f;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  text-align: right;
}
.delivery-counter-product.is-unavailable strong {
  color: #956b6b;
  text-decoration: line-through;
}
@media (max-width: 760px) {
  .delivery-counter-product { min-height: 150px; padding: 14px 12px; }
  .delivery-counter-product b { font-size: 14px; }
  .delivery-counter-product strong { font-size: 17px; }
}

/* Premium operational controls
   Shared finish: a substantial touch target, a quiet highlight edge, and a
   real pressed plane. Compact row actions opt into .btn-sm below. */
:root {
  --control-navy: #092b57;
  --control-teal: #087f77;
  --control-green: #16834f;
  --control-yellow: #d7a300;
  --control-red: #b93636;
  --control-shadow: 0 5px 0 rgba(4, 36, 67, .22), 0 10px 22px rgba(9, 43, 87, .14);
}
.btn {
  min-height: 46px;
  padding: 11px 19px;
  border: 1px solid transparent;
  border-radius: 11px;
  font-weight: 800;
  letter-spacing: .005em;
  box-shadow: var(--control-shadow), inset 0 1px 0 rgba(255,255,255,.34);
  transition: transform .14s ease, background-color .14s ease, border-color .14s ease, box-shadow .14s ease, filter .14s ease;
}
.btn:hover:not(:disabled) {
  transform: translateY(-2px);
  filter: saturate(1.08) brightness(1.03);
  box-shadow: 0 7px 0 rgba(4, 36, 67, .22), 0 14px 26px rgba(9, 43, 87, .18), inset 0 1px 0 rgba(255,255,255,.42);
}
.btn:active:not(:disabled) {
  transform: translateY(4px);
  box-shadow: 0 1px 0 rgba(4, 36, 67, .22), 0 3px 8px rgba(9, 43, 87, .12), inset 0 2px 4px rgba(0,0,0,.13);
  filter: saturate(.98);
}
.btn:focus-visible,
.dashboard-robot-actions button:focus-visible,
.pdv-action:focus-visible,
.pdv-shortcut-config:focus-visible,
.pm-btn:focus-visible,
.delivery-mode-tabs button:focus-visible,
.delivery-counter-categories button:focus-visible,
.delivery-whatsapp-action:focus-visible {
  outline: 3px solid rgba(215, 163, 0, .72);
  outline-offset: 3px;
}
.btn-primary {
  background: linear-gradient(180deg, #15915d 0%, var(--control-green) 100%);
  border-color: #0d6840;
  color: #fff;
}
.btn-primary:hover:not(:disabled) { background: linear-gradient(180deg, #1ba968, #117747); }
.btn-secondary {
  background: linear-gradient(180deg, #fff 0%, #e9f0f3 100%);
  border-color: #b9cbd5;
  color: var(--control-navy);
  box-shadow: 0 5px 0 rgba(73, 100, 117, .18), 0 9px 18px rgba(9,43,87,.1), inset 0 1px 0 #fff;
}
.btn-secondary:hover:not(:disabled) { background: linear-gradient(180deg, #fff, #dce8ed); }
.btn-danger {
  background: linear-gradient(180deg, #d54c4c 0%, var(--control-red) 100%);
  border-color: #942d31;
}
.btn-gold {
  background: linear-gradient(180deg, #f3c52a 0%, #d7a300 100%);
  border-color: #ac7f00;
  color: #263b4d;
}
.btn-sm {
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 8px;
  font-size: 12px;
  box-shadow: 0 3px 0 rgba(4,36,67,.18), 0 6px 12px rgba(9,43,87,.1), inset 0 1px 0 rgba(255,255,255,.35);
}
.btn-sm:hover:not(:disabled) { box-shadow: 0 4px 0 rgba(4,36,67,.18), 0 9px 15px rgba(9,43,87,.14), inset 0 1px 0 rgba(255,255,255,.4); }
.btn-sm:active:not(:disabled) { transform: translateY(2px); box-shadow: 0 1px 0 rgba(4,36,67,.16), 0 3px 6px rgba(9,43,87,.1); }
.btn-lg { min-height: 54px; padding: 14px 28px; border-radius: 13px; }
.btn:disabled, .btn[aria-disabled="true"] {
  filter: grayscale(.25);
  box-shadow: none;
}
.modal-footer {
  background: #f3f7f8;
  border-top-color: #cbd9df;
}
.modal-footer .btn { min-width: 112px; }

/* Dashboard quick actions */
.dashboard-robot-actions button {
  min-height: 50px;
  border: 1px solid rgba(255,255,255,.35);
  border-bottom-color: rgba(0,25,51,.55);
  border-radius: 11px;
  background: linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,.08));
  box-shadow: 0 4px 0 rgba(1,18,40,.5), 0 9px 16px rgba(1,18,40,.16), inset 0 1px 0 rgba(255,255,255,.26);
  font-weight: 900;
  transition: transform .14s ease, background-color .14s ease, box-shadow .14s ease;
}
.dashboard-robot-actions button:hover { transform: translateY(-2px); background: linear-gradient(180deg, rgba(255,255,255,.3), rgba(255,255,255,.12)); box-shadow: 0 6px 0 rgba(1,18,40,.5), 0 12px 20px rgba(1,18,40,.2), inset 0 1px 0 rgba(255,255,255,.3); }
.dashboard-robot-actions button:active { transform: translateY(3px); box-shadow: 0 1px 0 rgba(1,18,40,.5), inset 0 2px 4px rgba(0,0,0,.15); }

/* Delivery controls */
.delivery-head-actions .btn,
.delivery-whatsapp-action {
  min-height: 48px;
  border-radius: 10px;
}
.delivery-whatsapp-action {
  border: 1px solid #086456;
  background: linear-gradient(180deg, #129b86, #087f77);
  box-shadow: 0 5px 0 #07564f, 0 10px 19px rgba(8,127,119,.2), inset 0 1px 0 rgba(255,255,255,.28);
  font-weight: 900;
  transition: transform .14s ease, filter .14s ease, box-shadow .14s ease;
}
.delivery-whatsapp-action:hover { transform: translateY(-2px); filter: brightness(1.06); box-shadow: 0 7px 0 #07564f, 0 14px 22px rgba(8,127,119,.24), inset 0 1px 0 rgba(255,255,255,.35); }
.delivery-whatsapp-action:active { transform: translateY(3px); box-shadow: 0 1px 0 #07564f, inset 0 2px 4px rgba(0,0,0,.13); }
.delivery-mode-tabs button {
  min-height: 50px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-weight: 900;
  transition: transform .14s ease, background-color .14s ease, box-shadow .14s ease, color .14s ease;
}
.delivery-mode-bar { margin-bottom:18px; min-width:0; }
.delivery-fee-config { margin:0 0 14px; min-width:0; overflow:hidden; border:1px solid #b9d8d2; background:#f5fbf8; }
.delivery-fee-config > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 16px; cursor:pointer; list-style:none; }
.delivery-fee-config > summary::-webkit-details-marker { display:none; }
.delivery-fee-config > summary span { display:grid; gap:3px; }
.delivery-fee-config > summary b { color:#155445; font-size:15px; }
.delivery-fee-config > summary small { color:#526e67; font-size:12px; line-height:1.4; }
.delivery-fee-config > summary strong { color:#087b71; font-size:12px; white-space:nowrap; }
.delivery-fee-config > summary:focus-visible { outline:3px solid #087b71; outline-offset:-3px; }
.delivery-fee-config-body { padding:0 16px 16px; }
.delivery-fee-actions { display:flex; justify-content:flex-end; gap:9px; flex-wrap:wrap; margin-top:12px; }
.delivery-fee-bulk-toolbar { display:flex; align-items:center; gap:9px; flex-wrap:wrap; padding:10px 12px; margin:0 0 10px; border:1px solid #d7e9e3; border-radius:10px; background:#fff; }
.delivery-fee-save-reminder { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin:0 0 12px; padding:12px 14px; border:1px solid #e0b748; border-left:4px solid #d99800; border-radius:10px; background:#fff9e7; color:#674700; font-size:12px; }
.delivery-fee-save-reminder b { display:block; font-size:14px; }
.delivery-fee-save-reminder .btn { white-space:normal; text-align:center; }
.delivery-fee-bulk-toolbar > span { margin-right:auto; color:#536a62; font-size:12px; font-weight:700; }
.delivery-fee-select-all, .delivery-fee-coverage-toggle { display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:800; white-space:nowrap; }
.delivery-fee-select-cell { width:76px; text-align:center !important; }
.delivery-fee-select-cell input, .delivery-fee-coverage-toggle input { width:18px; height:18px; accent-color:#087b71; cursor:pointer; }
.delivery-fee-rules-table { min-width:940px; }
.delivery-fee-rules-table td { vertical-align:middle; }
.delivery-fee-rules-table td small { display:block; margin-top:3px; color:#718078; font-size:11px; }
.delivery-fee-cep-fields { display:grid; gap:6px; min-width:180px; }
.delivery-fee-neighborhoods { min-width:180px; resize:vertical; }
.delivery-fee-fee-input { display:flex; align-items:center; gap:5px; min-width:90px; font-weight:800; }
.delivery-fee-fee-input input { min-width:90px; }
.delivery-fee-coverage-toggle { border:1px solid #d5e4dd; border-radius:8px; padding:7px; background:#fff; }
.delivery-fee-coverage { display:inline-flex; border-radius:99px; padding:5px 9px; font-size:11px; font-weight:800; white-space:nowrap; }
.delivery-fee-coverage.is-covered { color:#145c3b; background:#e3f5e9; }
.delivery-fee-coverage.is-uncovered { color:#8d3131; background:#ffe7e3; }
.delivery-fee-uncovered td { background:#fff8f7; }
.delivery-fee-row-actions { display:flex; align-items:center; gap:5px; min-width:185px; }
.delivery-fee-lookup-note { margin:8px 2px 0; color:#586d64; font-size:12px; line-height:1.5; }
.delivery-fee-config-body > #deliveryFeeOwnerNotice { margin-top:12px; padding:10px 12px; border-radius:8px; color:#31554a; background:#e8f5ef; font-size:13px; }
.delivery-countdown { display:inline-flex; width:max-content; max-width:100%; padding:4px 8px; border-radius:6px; color:#704d0a; background:#fff2ca; font-size:12px; font-weight:800; font-variant-numeric:tabular-nums; }
.delivery-countdown.is-overdue { color:#8e2727; background:#ffe6e2; }
@media (max-width:600px) {
  .delivery-fee-config > summary { align-items:flex-start; flex-wrap:wrap; }
  .delivery-fee-actions .btn { flex:1 1 150px; }
  .delivery-fee-bulk-toolbar { align-items:flex-start; }
  .delivery-fee-bulk-toolbar .btn { flex:1 1 145px; }
  .delivery-fee-row-actions { flex-wrap:wrap; }
}
#section-delivery .delivery-mode-tabs {
  display:grid; grid-template-columns:repeat(6,minmax(0,1fr));
  width:100%; margin:0; gap:10px;
  padding:4px 3px 11px;
  border:0; background:transparent; border-radius:0;
}
#section-delivery .delivery-mode-tabs button {
  width:100%; min-width:0; min-height:56px; padding:9px 7px;
  white-space:normal; line-height:1.2; font-size:13px;
  border:2px solid #bbd0dd;
  border-bottom-color:#91aaba;
  border-radius:12px;
  background:linear-gradient(180deg,#fff 0%,#e8f2f7 100%);
  color:#194963;
  box-shadow:0 4px 0 #a9becb, 0 8px 14px rgba(19,55,78,.12), inset 0 1px 0 #fff;
}
#section-delivery .delivery-mode-tabs button.active {
  border-color:#096e69;
  border-bottom-color:#075650;
  background:linear-gradient(180deg,#118f86,#076f6a);
  color:#fff;
  box-shadow:0 4px 0 #07564f,0 9px 18px rgba(8,87,82,.23),inset 0 1px 0 rgba(255,255,255,.28);
}
#section-delivery .delivery-mode-tabs button:hover:not(.active) {
  transform:translateY(-2px); background:linear-gradient(180deg,#138d84,#087f77); border-color:#07645e; color:#fff;
  box-shadow:0 4px 0 #07564f, 0 8px 16px rgba(8,127,119,.2);
}
#section-delivery .delivery-mode-tabs button:active { transform:translateY(3px); box-shadow:0 1px 0 #07564f; }
#section-delivery .delivery-mode-tabs button:focus-visible { outline:3px solid #d99800; outline-offset:3px; }
@media (max-width:900px) {
  #section-delivery .delivery-mode-tabs {
    display:flex; overflow-x:auto; flex-wrap:nowrap; max-width:100%;
    -webkit-overflow-scrolling:touch; padding-bottom:9px;
  }
  #section-delivery .delivery-mode-tabs button { flex:0 0 156px; width:156px; min-width:156px; }
}
.audit-results { display:grid; gap:24px; min-width:0; }
.audit-session, .audit-other-events {
  min-width:0; overflow:hidden; border:1px solid #cbd9e7; border-radius:20px; background:#fff;
  box-shadow:0 5px 0 #d8e3ec, 0 17px 32px rgba(13,39,65,.12);
}
.audit-session-head {
  display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap;
  padding:22px 26px; background:linear-gradient(120deg,#102e51 0%,#174b69 68%,#126c70 100%);
  color:#fff; border-bottom:3px solid #2fa396;
}
.audit-eyebrow { display:block; margin-bottom:6px; color:#9ee0d4; font-size:11px; font-weight:900; letter-spacing:.14em; }
.audit-session-head h3 { margin:0; font-size:22px; line-height:1.3; color:#fff; overflow-wrap:anywhere; }
.audit-session-status {
  display:inline-flex; align-items:center; border-radius:999px; padding:7px 12px;
  font-size:12px; font-weight:800; letter-spacing:.04em; white-space:nowrap;
}
.audit-session-status.is-open { background:#c6f7df; color:#07563b; }
.audit-session-status.is-closed { background:#dce5f0; color:#294158; }
.audit-session-summary {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px;
  padding:20px 24px; background:#f2f7fb; border-bottom:1px solid #dde7ef;
}
.audit-summary-cell {
  display:flex; flex-direction:column; gap:7px; min-width:0; padding:14px 16px;
  background:#fff; border:1px solid #dce6ef; border-radius:12px;
  box-shadow:0 3px 0 #e1eaf0, 0 6px 12px rgba(13,39,65,.04);
}
.audit-summary-cell > span, .audit-entry-facts span, .audit-products-label {
  color:#577184; font-size:11px; font-weight:800; letter-spacing:.065em; text-transform:uppercase;
}
.audit-summary-cell strong { color:#183a55; font-size:15px; line-height:1.4; overflow-wrap:anywhere; }
.audit-session-content { padding:24px; }
.audit-content-title { display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap; margin:0 0 18px; }
.audit-content-title h3, .audit-content-title h4 { margin:0; color:#143653; font-size:20px; }
.audit-content-title > span { color:#5a7488; font-size:13px; font-weight:700; }
.audit-group {
  --audit-accent:#147e72; --audit-soft:#e8f6f1; --audit-ink:#116152;
  overflow:hidden; min-width:0; border:1px solid #d7e4e9; border-radius:15px;
  background:#f9fbfd; box-shadow:0 4px 0 #e5edf2, 0 9px 16px rgba(14,46,71,.05);
}
.audit-group + .audit-group { margin-top:18px; }
.audit-group-withdrawal { --audit-accent:#b15c42; --audit-soft:#fff0e8; --audit-ink:#914531; }
.audit-group-supply { --audit-accent:#3576ad; --audit-soft:#eaf3ff; --audit-ink:#245d92; }
.audit-group-other { --audit-accent:#6c678d; --audit-soft:#f0eef8; --audit-ink:#565077; }
.audit-group-header {
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px;
  padding:13px 18px; background:var(--audit-soft); border-bottom:1px solid #dce6ed;
  border-left:5px solid var(--audit-accent);
}
.audit-group-header h5 { margin:0; color:var(--audit-ink); font-size:17px; }
.audit-group-header span { display:block; margin-top:3px; color:#526c7e; font-size:12px; }
.audit-group-header > strong { color:var(--audit-ink); font-size:17px; }
.audit-entries { display:grid; gap:12px; padding:16px; }
.audit-entry {
  min-width:0; overflow:hidden; border:1px solid #d8e3eb; border-left:5px solid var(--audit-accent);
  border-radius:12px; background:#fff; box-shadow:0 3px 0 #e3ebf0, 0 8px 16px rgba(13,39,65,.055);
}
.audit-entry-heading {
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  padding:13px 16px; border-bottom:1px solid #e6edf3;
}
.audit-entry-identity { display:flex; align-items:center; flex-wrap:wrap; gap:7px 12px; min-width:0; }
.audit-entry-identity > strong { color:#163c57; font-size:16px; }
.audit-type-label {
  display:inline-block; padding:5px 9px; border-radius:7px;
  background:var(--audit-soft); color:var(--audit-ink); font-size:11px; font-weight:900;
  letter-spacing:.05em; text-transform:uppercase; overflow-wrap:anywhere;
}
.audit-amount { color:var(--audit-ink); font-size:20px; white-space:nowrap; }
.audit-entry-facts {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px; padding:14px 16px;
}
.audit-entry-facts > div { display:flex; flex-direction:column; gap:4px; min-width:0; }
.audit-entry-facts b { color:#1d4059; font-size:14px; line-height:1.4; overflow-wrap:anywhere; }
.audit-products { padding:12px 16px 15px; background:#f5f9fc; border-top:1px solid #e4edf3; }
.audit-products-label { display:block; margin-bottom:9px; }
.audit-product-list { display:flex; flex-wrap:wrap; gap:7px; }
.audit-product-chip {
  display:inline-block; padding:6px 10px; border:1px solid #d5e4ec; border-radius:8px;
  background:#fff; color:#29495e; font-size:13px; line-height:1.35; overflow-wrap:anywhere;
}
.audit-product-chip b { color:var(--audit-ink); }
.audit-no-entries { margin:0; padding:18px; border-radius:10px; background:#f3f7fa; color:#50697e; }
.audit-other-events { padding:24px; }
.audit-event-time { color:#42647b; font-size:13px; }
.audit-event-detail { margin:0; padding:0 16px 14px; color:#294a60; line-height:1.55; overflow-wrap:anywhere; }
.audit-event-path { padding:10px 16px; border-top:1px solid #e5edf3; color:#61798b; font-size:12px; overflow-wrap:anywhere; }
@media (max-width:1050px) {
  .audit-session-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .audit-session-head { padding:19px; }
  .audit-session-head h3 { font-size:19px; }
  .audit-session-summary { padding:14px; gap:9px; }
  .audit-summary-cell { padding:11px; }
  .audit-session-content, .audit-other-events { padding:16px; }
  .audit-entries { padding:11px; }
  .audit-entry-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .audit-entry-facts > div:last-child { grid-column:1/-1; }
}
.delivery-mode-tabs button:hover:not(.active) { transform: translateY(-1px); background: #fff; color: var(--control-navy); box-shadow: 0 4px 9px rgba(9,43,87,.1); }
.delivery-mode-tabs button.active {
  background: linear-gradient(180deg, #109287, #087f77);
  border-color: #07645e;
  box-shadow: 0 4px 0 #07564f, 0 8px 16px rgba(8,127,119,.2), inset 0 1px 0 rgba(255,255,255,.25);
}
.delivery-counter-categories button {
  min-height: 38px;
  border-width: 1px;
  box-shadow: 0 3px 0 rgba(9,43,87,.12), inset 0 1px 0 #fff;
  transition: transform .14s ease, background-color .14s ease, box-shadow .14s ease;
}
.delivery-counter-categories button:hover { transform: translateY(-1px); box-shadow: 0 4px 0 rgba(9,43,87,.14), 0 7px 12px rgba(9,43,87,.1), inset 0 1px 0 #fff; }
.delivery-counter-categories button:active { transform: translateY(2px); box-shadow: 0 1px 0 rgba(9,43,87,.12); }
.delivery-counter-qty button {
  min-width: 36px;
  min-height: 36px;
  box-shadow: 0 3px 0 rgba(9,43,87,.14), inset 0 1px 0 #fff;
  transition: transform .12s ease, box-shadow .12s ease;
}
.delivery-counter-qty button:active { transform: translateY(2px); box-shadow: 0 1px 0 rgba(9,43,87,.12); }

/* PDV terminal */
.pdv-barcode-entry button,
.pdv-category-tabs button,
.pdv-shortcut-config {
  min-height: 44px;
  border-width: 1px;
  box-shadow: 0 4px 0 rgba(4,36,67,.18), 0 8px 14px rgba(9,43,87,.1), inset 0 1px 0 rgba(255,255,255,.3);
  transition: transform .14s ease, filter .14s ease, box-shadow .14s ease;
}
.pdv-barcode-entry button { background: linear-gradient(180deg, #12978d, #087f77); border-color: #06645e; }
.pdv-barcode-entry button:hover, .pdv-category-tabs button:hover, .pdv-shortcut-config:hover { transform: translateY(-2px); filter: brightness(1.05); }
.pdv-barcode-entry button:active, .pdv-category-tabs button:active, .pdv-shortcut-config:active { transform: translateY(3px); box-shadow: 0 1px 0 rgba(4,36,67,.18); }
.pdv-category-tabs button.active { background: linear-gradient(180deg, #238fd0, #0979bd); border-color: #075a8f; }
.pdv-action {
  border: 1px solid rgba(0,0,0,.18);
  box-shadow: 0 6px 0 rgba(0,0,0,.25), 0 12px 22px rgba(9,43,87,.13), inset 0 1px 0 rgba(255,255,255,.4);
  transition: transform .14s ease, filter .14s ease, box-shadow .14s ease;
}
.pdv-action:hover:not(:disabled) { transform: translateY(-2px); filter: brightness(1.04) saturate(1.06); box-shadow: 0 8px 0 rgba(0,0,0,.25), 0 16px 27px rgba(9,43,87,.18), inset 0 1px 0 rgba(255,255,255,.45); }
.pdv-action:active:not(:disabled) { transform: translateY(4px); box-shadow: 0 1px 0 rgba(0,0,0,.25), inset 0 2px 5px rgba(0,0,0,.14); }
.pdv-action.primary { background: linear-gradient(180deg, #ffe637, #ffd000); border-color: #bd9700; }
.pdv-action.fiscal { background: linear-gradient(180deg, #12978d, #087f77); }
.pdv-action.secondary { background: linear-gradient(180deg, #16b6d0, #09a6c6); }
.pdv-action.danger { background: linear-gradient(180deg, #ee5a55, #e34a45); }
.pdv-action.no-fiscal { background: linear-gradient(180deg, #4d657b, #394f65); }

/* Payment method tiles */
.pm-btn {
  min-height: 78px;
  border-width: 2px;
  border-color: #c5d4dc;
  background: linear-gradient(180deg, #fff, #eef4f6);
  box-shadow: 0 4px 0 rgba(9,43,87,.14), 0 8px 16px rgba(9,43,87,.08), inset 0 1px 0 #fff;
  transition: transform .14s ease, border-color .14s ease, background-color .14s ease, box-shadow .14s ease;
}
.pm-btn:hover { transform: translateY(-2px); border-color: #1b967d; box-shadow: 0 6px 0 rgba(9,43,87,.14), 0 12px 20px rgba(9,43,87,.12), inset 0 1px 0 #fff; }
.pm-btn:active { transform: translateY(3px); box-shadow: 0 1px 0 rgba(9,43,87,.14), inset 0 2px 4px rgba(0,0,0,.1); }
.pm-btn.selected { border-color: var(--control-green); background: linear-gradient(180deg, #effbf4, #d8f1e3); box-shadow: 0 5px 0 #0d6840, 0 10px 18px rgba(22,131,79,.16), inset 0 1px 0 #fff; }

@media (max-width: 640px) {
  .btn { min-height: 48px; }
  .btn-sm { min-height: 36px; padding-inline: 10px; }
  .modal-footer { flex-wrap: wrap; }
  .modal-footer .btn { flex: 1 1 140px; }
  .delivery-head-actions .btn { flex: 1 1 auto; }
  .delivery-mode-tabs button { min-height: 48px; padding-inline: 9px; }
  .payment-methods { gap: 8px; }
  .pm-btn { min-height: 72px; }
}

/* Central de despacho */
.delivery-dispatch {
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid #c8d9df;
  box-shadow: 0 10px 24px rgba(9,43,87,.09);
}
.delivery-dispatch-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  background: linear-gradient(115deg, #092b57, #126b78);
  color: #fff;
}
.delivery-dispatch-head h2 { margin: 2px 0 3px; font-size: 24px; letter-spacing: -.02em; }
.delivery-dispatch-head p { color: rgba(255,255,255,.76); font-size: 12px; }
.delivery-dispatch-head .delivery-kicker { color: #a8e7c6; }
.delivery-dispatch-live {
  flex: 0 0 auto;
  padding: 8px 11px;
  border: 1px solid rgba(176,240,204,.42);
  border-radius: 999px;
  background: rgba(16,160,99,.2);
  color: #b7f2ce;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.delivery-pending-fee {
  display: grid;
  gap: 8px;
  padding: 12px;
  background: #fff8e9;
  border-bottom: 1px solid #efd79b;
}
.delivery-fee-card, .delivery-active-card {
  padding: 16px;
  background: #fff;
  border: 1px solid #d5e0e4;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(9,43,87,.07);
}
.delivery-fee-card { border-left: 5px solid #d29a16; background: #fffdf7; }
.delivery-dispatch-order-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.delivery-dispatch-order-head > div { min-width: 0; }
.delivery-dispatch-order-id {
  display: block;
  color: #627985;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .03em;
}
.delivery-dispatch-order-head strong {
  display: block;
  margin-top: 2px;
  overflow: hidden;
  color: #183d4b;
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.delivery-dispatch-order-head small { display: block; margin-top: 2px; color: #6d818a; font-size: 11px; }
.delivery-stage-pill {
  flex: 0 0 auto;
  padding: 6px 9px;
  border-radius: 7px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.delivery-stage-pill.stage-fee { background: #ffedbf; color: #8a5b00; }
.delivery-stage-pill.stage-active { background: #dff4e8; color: #147345; }
.delivery-dispatch-address {
  margin-top: 11px;
  padding: 9px 10px;
  border-radius: 8px;
  background: #f1f6f7;
  color: #42606d;
  font-size: 12px;
  font-weight: 700;
}
.delivery-dispatch-items {
  margin-top: 9px;
  color: #647983;
  font-size: 11px;
  line-height: 1.4;
}
.delivery-fee-footer, .delivery-active-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 13px;
}
.delivery-fee-footer > span { color: #687b84; font-size: 11px; }
.delivery-fee-footer > span b { display: block; margin-top: 2px; color: #183d4b; font-size: 16px; }
.delivery-fee-footer .btn { min-height: 44px; }
.delivery-fee-note { display: block; margin-top: 8px; color: #90754a; font-size: 10px; }
.delivery-active {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  gap: 12px;
  padding: 14px;
  background: #eef4f5;
}
.delivery-active-card { border-top: 4px solid #16834f; }
.delivery-dispatch-grid {
  display: grid;
  grid-template-columns: 1.6fr .7fr .8fr .8fr;
  gap: 8px;
  margin-top: 12px;
}
.delivery-dispatch-grid > div {
  min-width: 0;
  padding: 9px;
  border-radius: 8px;
  background: #f5f8f8;
}
.delivery-dispatch-grid span { display: block; color: #71858d; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.delivery-dispatch-grid b { display: block; margin-top: 3px; overflow: hidden; color: #1b4d4b; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.delivery-progress {
  height: 7px;
  margin-top: 14px;
  overflow: hidden;
  border-radius: 99px;
  background: #d9e5e7;
}
.delivery-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #1fa56a, #087f77); transition: width .25s ease; }
.delivery-active-footer small { color: #71858d; font-size: 10px; font-weight: 800; }
.delivery-next-action {
  min-width: 170px;
  min-height: 48px;
  justify-content: center;
  padding-inline: 16px;
  font-size: 13px;
}
.delivery-stage-complete { color: #6a7c83; font-size: 11px; font-weight: 800; }
.delivery-dispatch-empty {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 58px;
  padding: 10px 14px;
  border: 1px dashed #c3d3d8;
  border-radius: 9px;
  background: #f8fbfb;
  color: #6b7d85;
  font-size: 11px;
}
.delivery-dispatch-empty b { color: #274e5a; font-size: 12px; }
@media (max-width: 760px) {
  .delivery-dispatch-head { align-items: flex-start; flex-direction: column; padding: 15px; }
  .delivery-dispatch-live { align-self: flex-start; }
  .delivery-active { grid-template-columns: 1fr; padding: 10px; }
  .delivery-dispatch-grid { grid-template-columns: 1fr 1fr; }
  .delivery-fee-footer, .delivery-active-footer { align-items: stretch; flex-direction: column; }
  .delivery-fee-footer .btn, .delivery-next-action { width: 100%; }
}

/* Delivery monitor: operational triage layer */
.delivery-monitor {
  --delivery-ink: #092b57;
  --delivery-green: #16834f;
  --delivery-green-soft: #e7f6ed;
  --delivery-yellow: #b57608;
  --delivery-yellow-soft: #fff4d6;
  --delivery-red: #b93636;
  --delivery-red-soft: #fde9e7;
}
.delivery-monitor-head {
  margin-bottom: 18px;
  padding: 18px 20px;
  border: 1px solid #cbd9df;
  border-left: 5px solid var(--delivery-green);
  border-radius: 14px;
  background: linear-gradient(110deg, #f8fcfb 0%, #eef6f8 100%);
}
.delivery-monitor-head h1 { color: var(--delivery-ink); letter-spacing: -.03em; }
.delivery-monitor-head p { color: #516a78; }
.delivery-kicker { color: #17734c; letter-spacing: .14em; font-weight: 900; }
.delivery-mode-tabs { border-bottom-color: #c9d9df; }
.delivery-summary-strip, .delivery-counter-strip { margin-bottom: 14px; }
.delivery-counter {
  position: relative;
  border: 1px solid #d6e0e5;
  border-top-width: 4px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(9,43,87,.06);
  transition: transform .16s ease, box-shadow .16s ease;
}
.delivery-counter:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(9,43,87,.1); }
.delivery-counter.green { border-top-color: var(--delivery-green); background: linear-gradient(#f3fcf6, #fff 65%); }
.delivery-counter.yellow { border-top-color: var(--delivery-yellow); background: linear-gradient(#fffaf0, #fff 65%); }
.delivery-counter.red { border-top-color: var(--delivery-red); background: linear-gradient(#fff4f2, #fff 65%); }
.delivery-counter.green b { color: var(--delivery-green); }
.delivery-counter.yellow b { color: var(--delivery-yellow); }
.delivery-counter.red b { color: var(--delivery-red); }
.delivery-toolbar {
  background: #e8f0f2;
  border-color: #cad9df;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.delivery-toolbar .form-control:focus, .delivery-search .form-control:focus {
  border-color: var(--delivery-green);
  box-shadow: 0 0 0 3px rgba(22,131,79,.14);
}
.delivery-queue-panel { border: 1px solid #cbd9df; box-shadow: 0 8px 22px rgba(9,43,87,.08); }
.delivery-queue-title {
  background: #f6fafb;
  color: var(--delivery-ink);
  border-bottom: 1px solid #cbd9df;
}
.delivery-queue-section { background: #d8e2e6; }
.delivery-queue-section + .delivery-queue-section { margin-top: 10px; }
.delivery-queue-section-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  min-height: 38px;
  padding: 10px 18px 8px;
  background: #eef4f5;
  border-bottom: 1px solid #d0dde1;
  color: var(--delivery-ink);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 11px;
}
.delivery-queue-section-heading span { color: #667c87; font-size: 10px; font-weight: 700; letter-spacing: .02em; text-transform: none; }
.delivery-queue-section-closed .delivery-queue-section-heading { background: #eef1f2; color: #53646c; }
.delivery-order-row {
  min-height: 82px;
  background: #fff;
  border-bottom: 1px solid #dce5e8;
  transition: background .16s ease, transform .16s ease, box-shadow .16s ease;
}
.delivery-order-row:hover, .delivery-order-row:focus-visible { z-index: 1; background: #f5fbf8; box-shadow: inset 4px 0 0 var(--delivery-green), 0 3px 10px rgba(9,43,87,.09); outline: none; }
.delivery-order-row:focus-visible { outline: 3px solid rgba(22,131,79,.28); outline-offset: -3px; }
.delivery-order-row.state-yellow:hover, .delivery-order-row.state-yellow:focus-visible { background: #fffaf0; box-shadow: inset 4px 0 0 var(--delivery-yellow), 0 3px 10px rgba(181,118,8,.1); }
.delivery-order-row.state-red:hover, .delivery-order-row.state-red:focus-visible { background: #fff6f5; box-shadow: inset 4px 0 0 var(--delivery-red), 0 3px 10px rgba(185,54,54,.1); }
.delivery-order-row.is-selected { background: #eef9f3; box-shadow: inset 5px 0 0 var(--delivery-green); }
.delivery-order-row.is-closed { opacity: .78; }
.delivery-order-row.is-closed:hover, .delivery-order-row.is-closed:focus-visible { opacity: 1; background: #f6f8f8; box-shadow: inset 4px 0 0 #80909a, 0 3px 10px rgba(9,43,87,.07); }
.delivery-order-number { color: var(--delivery-ink); }
.delivery-order-main b { color: #183d4b; }
.delivery-order-payment { color: #2a5b52; }
.state-yellow .delivery-order-payment { color: var(--delivery-yellow); }
.state-red .delivery-order-payment { color: var(--delivery-red); }
.state-completed .delivery-order-payment { color: #68767d; }
.delivery-order-total { color: var(--delivery-green); }
.state-red .delivery-order-total { color: var(--delivery-red); }
.state-yellow .delivery-order-total { color: var(--delivery-yellow); }
.delivery-empty-queue {
  min-height: 170px;
  display: grid;
  place-content: center;
  gap: 5px;
  padding: 30px;
  background: #fff;
  color: #657985;
  text-align: center;
}
.delivery-empty-queue b { color: var(--delivery-ink); }
@media (max-width: 760px) {
  .delivery-monitor-head { padding: 15px; }
  .delivery-queue-section-heading { padding-inline: 12px; }
  .delivery-order-row {
    grid-template-columns: 8px 48px minmax(0,1fr) 86px 16px;
    gap: 8px;
    min-height: 74px;
    padding: 9px 11px;
  }
  .delivery-order-row .delivery-order-type { display: none; }
  .delivery-order-number { font-size: 25px; }
  .delivery-order-main b, .delivery-order-payment { font-size: 12px; }
  .delivery-order-main small, .delivery-order-payment small { font-size: 10px; }
  .delivery-order-total { font-size: 19px; }
}

/* Delivery monitor hardening
   Keep the board and the conference note in one predictable flow.  The
   previous minimums assumed a wide desktop canvas and could force the two
   panels into each other on notebook viewports. */
.delivery-queue-layout {
  min-width: 0;
  grid-template-columns: minmax(0, 1.55fr) minmax(340px, .9fr);
}
.delivery-queue-panel,
.delivery-detail-panel { min-width: 0; }
.delivery-operation-board {
  min-width: 0;
  grid-template-columns: repeat(4, minmax(205px, 1fr));
}
.delivery-board-lane { min-width: 0; }
.delivery-board-card { min-width: 0; }
.delivery-board-card > strong,
.delivery-board-status,
.delivery-board-meta span,
.delivery-board-card-bottom small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.delivery-board-card.is-selected {
  position: relative;
  z-index: 2;
  border-color: #087b71;
  background: #f0fbf6;
  box-shadow: 0 0 0 3px #087b71, 0 9px 20px rgba(9,43,87,.18);
}
.delivery-board-card.is-selected::after {
  content: "ABERTO";
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 3px 5px;
  border-radius: 4px;
  background: #087b71;
  color: #fff;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .08em;
}
.delivery-board-card.is-selected .delivery-board-card-top span {
  padding-right: 50px;
}
.delivery-detail-panel {
  overflow: hidden;
  scroll-margin-top: 78px;
  animation: deliveryDetailEnter .18s ease-out;
}
.delivery-detail-panel:has(.delivery-detail-head) {
  border-top-color: #087b71;
}
@keyframes deliveryDetailEnter {
  from { opacity: .65; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 1280px) {
  .delivery-queue-layout {
    grid-template-columns: 1fr;
  }
  .delivery-detail-panel {
    position: relative;
    top: auto;
  }
  .delivery-detail-empty { min-height: 180px; }
}
@media (max-width: 760px) {
  .delivery-operation-board {
    grid-template-columns: repeat(4, minmax(205px, 1fr));
  }
  .delivery-queue-panel { overflow: hidden; }
  .delivery-board-archive > div {
    display: grid;
    gap: 8px;
  }
  .delivery-detail-panel { padding: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .delivery-detail-panel { animation: none; }
}

/* Central Local: a high-trust operations surface for hybrid connectivity */
.central-connectivity-indicator{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:5px 9px;border:1px solid #d8e3ed;border-radius:999px;background:#f7fafc;color:#294861;font:600 11px/1.1 'Plus Jakarta Sans',sans-serif;cursor:pointer;white-space:nowrap}
.central-connectivity-indicator.is-checking i,.central-connectivity-indicator.is-unknown i{background:#7a8793;box-shadow:0 0 0 3px rgba(122,135,147,.14)}
.central-connectivity-indicator.is-unknown{border-color:#cdd5dc;background:#f1f4f6;color:#445464}
.central-connectivity-indicator b:empty,.central-connectivity-indicator b[hidden]{display:none!important}
.central-connectivity-indicator i{width:8px;height:8px;border-radius:50%;background:#18a66b;box-shadow:0 0 0 3px rgba(24,166,107,.14)}.central-connectivity-indicator.is-local{border-color:#ecd78a;background:#fff9df;color:#71530a}.central-connectivity-indicator.is-local i{background:#e2ad16}.central-connectivity-indicator.is-offline{border-color:#efc4c7;background:#fff2f2;color:#9d2028}.central-connectivity-indicator.is-offline i{background:#d71920}.central-connectivity-indicator b{min-width:17px;padding:2px 5px;border-radius:99px;background:#d71920;color:#fff;font-size:10px;text-align:center}
.central-local-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;padding:20px 22px;border-radius:16px;background:linear-gradient(125deg,#071d3d,#0b4f91 70%,#087b71);color:#fff;box-shadow:0 14px 30px rgba(7,29,61,.18)}.central-local-head h1{margin:2px 0 3px;font-size:28px;letter-spacing:-.03em}.central-local-head p{color:rgba(255,255,255,.75);font-size:12px}.central-local-kicker{display:block;color:#ffda3e;font-size:10px;font-weight:900;letter-spacing:.15em}.central-local-head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.central-local-head-actions .btn-secondary{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);color:#fff}.central-local-updated{color:rgba(255,255,255,.7);font-size:11px}
.central-local-notice{min-height:44px;margin-bottom:14px;padding:12px 14px;border-left:4px solid #e2ad16;border-radius:10px;background:#fff8dc;color:#5e4c12;font-size:12px}.central-local-notice:empty{display:none}.central-local-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(210px,1.6fr);gap:10px;margin-bottom:16px}.central-local-kpi,.central-local-last{min-height:86px;padding:13px 14px;border:1px solid #dbe4ec;border-radius:12px;background:#fff;box-shadow:0 5px 15px rgba(7,29,61,.05)}.central-local-kpi span,.central-local-last span{display:block;color:#62718a;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.central-local-kpi strong{display:block;margin-top:7px;color:#071d3d;font:800 27px/1 'Barlow Condensed',sans-serif}.central-local-kpi.is-conflict{border-top:3px solid #d71920}.central-local-kpi.is-failed{border-top:3px solid #f05a28}.central-local-kpi.is-pending{border-top:3px solid #e2ad16}.central-local-kpi.is-syncing{border-top:3px solid #0b75c9}.central-local-last strong{display:block;margin-top:7px;color:#0b4f91;font-size:14px}.central-local-last small{display:block;margin-top:5px;color:#62718a;font-size:11px}
.central-local-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:16px;align-items:start}.central-local-card .card-header{gap:10px}.central-local-filters{display:flex;gap:4px}.central-local-filter{border:0;border-radius:6px;padding:5px 7px;background:#eef3f7;color:#62718a;font-size:10px;font-weight:800;cursor:pointer}.central-local-filter.active{background:#0b4f91;color:#fff}.central-local-node-list,.central-local-operation-list{display:grid;gap:8px}.central-local-node,.central-local-operation{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #dce5ed;border-radius:11px;background:#fcfdfd}.central-local-node.is-revoked{opacity:.68}.central-local-node-mark{display:grid;place-items:center;flex:0 0 37px;height:37px;border-radius:10px;background:#e7f1fb;color:#0b4f91;font-size:11px;font-weight:900}.central-local-node-main{min-width:0;flex:1}.central-local-node-main>div{display:flex;align-items:center;gap:7px}.central-local-node-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.central-local-node-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#62718a;font-size:10px}.central-local-node-main a{color:#0b75c9;font-weight:700}.central-local-live,.central-local-revoked{padding:2px 6px;border-radius:99px;font-size:9px;font-weight:800}.central-local-live{background:#e4f6ed;color:#147847}.central-local-revoked{background:#f2e7e7;color:#8f3d3d}
.central-local-operation{display:block}.central-local-operation-top,.central-local-operation footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.central-local-operation-top strong{color:#102442;font-size:12px}.central-local-operation-top small{color:#62718a;font-weight:500}.central-local-operation p{margin:7px 0;color:#62718a;font-size:11px}.central-local-operation footer{color:#7b8998;font-size:10px}.central-local-status{padding:3px 7px;border-radius:99px;background:#e6f3ec;color:#147847;font-size:9px;font-weight:900;text-transform:uppercase}.central-local-status.is-conflict{background:#fde8e6;color:#b62228}.central-local-status.is-failed{background:#fff0e2;color:#a05e00}.central-local-status.is-pending{background:#fff6d9;color:#806400}.central-local-status.is-syncing{background:#e3f0fc;color:#0b5b9d}
.central-local-demo-tag{padding:3px 7px;border-radius:99px;background:#ede8ff;color:#5a3f9b;font-size:9px;font-weight:900;text-transform:uppercase}
.central-local-empty{display:grid;place-items:center;gap:7px;min-height:150px;padding:20px;color:#62718a;text-align:center;font-size:12px}.central-local-empty strong{color:#294861}.central-local-skeleton{height:52px;margin-bottom:8px;border-radius:10px;background:#eef3f7;animation:centralShimmer 1.4s ease-in-out infinite}@keyframes centralShimmer{0%,100%{opacity:.55}50%{opacity:1}}.central-local-pairing-modal{max-width:500px}.central-local-modal-copy{margin-bottom:16px;color:#62718a;font-size:12px}.central-local-pairing-result{display:grid;gap:9px;text-align:center}.central-local-pairing-result>strong{color:#0b4f91;font:800 46px/1 'Barlow Condensed',sans-serif;letter-spacing:.12em}.central-local-pairing-result p{color:#62718a;font-size:12px}.central-local-copy-row{display:flex;gap:7px}.central-local-copy-row input{min-width:0;font-size:11px}
@media(max-width:820px){.central-local-grid{grid-template-columns:1fr}.central-local-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.central-local-last{grid-column:span 2}}@media(max-width:640px){.central-local-head{align-items:flex-start;flex-direction:column}.central-local-head-actions{justify-content:flex-start}.central-local-card .card-header{align-items:flex-start;flex-direction:column}.central-local-filters{width:100%}.central-local-filter{flex:1}.central-local-node{align-items:flex-start;flex-wrap:wrap}.central-local-node>.btn{margin-left:47px}.central-local-operation footer{align-items:flex-start;flex-direction:column}.topbar-actions #centralConnectivityIndicator{max-width:115px;overflow:hidden}.central-connectivity-indicator span{overflow:hidden;text-overflow:ellipsis}}

/* WhatsApp inbox — shared operational workspace */
.whatsapp-inbox-nav { position:relative; }
.whatsapp-nav-icon,.whatsapp-topbar-button > span { display:grid; place-items:center; width:23px; height:23px; border:1px solid currentColor; border-radius:7px; font-size:9px; font-weight:900; letter-spacing:-.05em; }
.whatsapp-nav-badge,.whatsapp-topbar-button b { min-width:19px; padding:2px 5px; border-radius:999px; background:#d71920; color:#fff; text-align:center; font-size:10px; line-height:1.2; }
.whatsapp-nav-badge { margin-left:auto; }
.whatsapp-topbar-button { position:relative; display:flex; align-items:center; gap:4px; padding:4px; border:0; background:transparent; color:var(--green-dark); cursor:pointer; }
.whatsapp-topbar-button b { position:absolute; top:-3px; right:-6px; }
.whatsapp-inbox-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:16px; }
.whatsapp-inbox-head h2 { margin:3px 0 4px; color:var(--green-dark); font-size:29px; }
.whatsapp-inbox-head p { color:var(--text-muted); font-size:13px; }
.whatsapp-eyebrow { color:var(--blue); font-size:10px; font-weight:900; letter-spacing:.14em; }
.whatsapp-inbox-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.whatsapp-connection-state { padding:7px 10px; border-radius:999px; background:#fff4df; color:#8a6300; font-size:11px; font-weight:800; }
.whatsapp-connection-state.connected { background:#e5f6ec; color:#167345; }
.whatsapp-connection-state.disconnected { background:#ffebe8; color:#b62228; }
.whatsapp-inbox-status { min-height:0; margin-bottom:10px; color:var(--text-muted); font-size:12px; }
.whatsapp-inbox-status.warning,.whatsapp-inbox-status.error { padding:10px 12px; border-radius:9px; background:#fff5df; color:#785900; }
.whatsapp-inbox-status.error { background:#fff0ee; color:#a93226; }
.whatsapp-inbox-layout { display:grid; grid-template-columns:minmax(280px,360px) minmax(0,1fr); gap:16px; align-items:start; }
.whatsapp-thread-list-card,.whatsapp-conversation-card { min-height:590px; }
.whatsapp-total { color:var(--text-muted); font-size:11px; font-weight:600; }
.whatsapp-thread-list { display:flex; flex-direction:column; max-height:650px; overflow:auto; }
.whatsapp-thread { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:10px; align-items:center; width:100%; padding:13px 15px; border:0; border-bottom:1px solid #edf0f4; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.whatsapp-thread:hover,.whatsapp-thread.selected { background:#edf5fb; }
.whatsapp-thread-avatar { display:grid; place-items:center; width:36px; height:36px; border-radius:11px; background:#dcecf5; color:#16608b; font-size:14px; font-weight:900; }
.whatsapp-thread-copy { min-width:0; }
.whatsapp-thread-copy strong,.whatsapp-thread-copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.whatsapp-thread-copy strong { font-size:13px; }
.whatsapp-thread-copy small { margin-top:3px; color:var(--text-muted); font-size:11px; }
.whatsapp-thread-meta { display:flex; flex-direction:column; align-items:flex-end; gap:5px; color:var(--text-muted); font-size:10px; white-space:nowrap; }
.whatsapp-thread-meta b { padding:2px 6px; border-radius:999px; background:var(--green-main); color:#fff; font-size:10px; }
.whatsapp-empty,.whatsapp-empty-list { display:grid; place-items:center; align-content:center; min-height:260px; gap:6px; padding:25px; color:var(--text-muted); text-align:center; font-size:12px; }
.whatsapp-empty strong,.whatsapp-empty-list strong { color:var(--green-dark); font-size:15px; }
.whatsapp-conversation-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 20px; border-bottom:1px solid var(--border); }
.whatsapp-conversation-head > div { display:flex; align-items:center; gap:10px; min-width:0; }
.whatsapp-conversation-head h3 { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--green-dark); font-size:17px; }
.whatsapp-conversation-head small { color:var(--text-muted); font-size:11px; }
.whatsapp-reply-window { margin:12px 16px 0; padding:9px 11px; border-radius:8px; font-size:11px; }
.whatsapp-reply-window.open { background:#eaf7ef; color:#167345; }
.whatsapp-reply-window.closed { background:#fff0ee; color:#a93226; }
.whatsapp-uncertain-warning { display:flex; align-items:center; flex-wrap:wrap; gap:7px 10px; margin:12px 16px 0; padding:11px 12px; border:1px solid #e6c56e; border-left:4px solid #c58b00; border-radius:9px; background:#fff8df; color:#6f5200; font-size:12px; }
.whatsapp-uncertain-warning strong { font-size:12px; }
.whatsapp-uncertain-warning span { flex:1 1 260px; }
.whatsapp-identity-warning { margin-top:7px; padding:8px 10px; border-radius:8px; background:#fff8df; color:#785900; font-size:11px; }
.whatsapp-disconnect-note { max-width:720px; margin-top:10px; color:#8a3c2f; font-size:11px; line-height:1.45; }
.whatsapp-message-list { display:flex; flex-direction:column; gap:9px; height:390px; overflow-y:auto; padding:16px 20px; background:#f3f6f8; }
.whatsapp-message { max-width:min(78%,620px); padding:10px 12px; border-radius:10px; box-shadow:0 1px 2px rgba(7,29,61,.06); }
.whatsapp-message.inbound { align-self:flex-start; background:#fff; }
.whatsapp-message.outbound { align-self:flex-end; background:#dff2e8; }
.whatsapp-message > div { white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; }
.whatsapp-message-order { display:block; margin-bottom:4px; color:#27634f; font-size:10px; }
.whatsapp-message small { display:block; margin-top:5px; color:var(--text-muted); font-size:10px; }
.whatsapp-reply-form { display:grid; grid-template-columns:1fr auto; gap:9px; padding:14px 16px; border-top:1px solid var(--border); }
.whatsapp-reply-order-label { grid-column:1 / -1; color:#27634f; font-size:12px; font-weight:700; }
.whatsapp-reply-form textarea { min-height:48px; resize:vertical; }
.whatsapp-skeleton { display:grid; gap:12px; padding:18px; }
.whatsapp-skeleton i { display:block; height:52px; border-radius:10px; background:linear-gradient(90deg,#edf2f5 25%,#f8fafb 50%,#edf2f5 75%); background-size:200% 100%; animation:whatsappShimmer 1.2s infinite; }
@keyframes whatsappShimmer { to { background-position:-200% 0; } }
@media (max-width:760px) {
  .whatsapp-inbox-head { align-items:stretch; flex-direction:column; }
  .whatsapp-inbox-actions { justify-content:flex-start; }
  .whatsapp-inbox-layout { grid-template-columns:1fr; }
  .whatsapp-thread-list-card,.whatsapp-conversation-card { min-height:0; }
  .whatsapp-thread-list { max-height:300px; }
  .whatsapp-message-list { height:48vh; min-height:280px; }
  .whatsapp-message { max-width:88%; }
}

/* Delivery monitor — receipt wall treatment */
.delivery-operation-board {
  --board-ink: #102b3d;
  --board-paper: #fffef9;
  --board-line: #d7e0e2;
  display: grid;
  grid-template-columns: repeat(4, minmax(225px, 1fr));
  gap: 12px;
  padding: 12px;
  background: #dce6e8;
  border: 1px solid #c6d3d7;
  border-radius: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 8px 22px rgba(16,43,61,.08);
}
.delivery-board-lane {
  min-width: 225px;
  overflow: hidden;
  border: 1px solid rgba(16,43,61,.16);
  border-top: 7px solid #607b87;
  border-radius: 10px;
  background: #edf3f4;
  box-shadow: 0 5px 14px rgba(16,43,61,.10);
}
.delivery-board-lane > header {
  min-height: 71px;
  padding: 13px 12px 11px;
  border-bottom: 1px solid rgba(16,43,61,.15);
  background: rgba(255,255,255,.84);
}
.delivery-board-lane > header > span {
  color: #46616e;
  font: 800 11px/1 'Barlow Condensed', sans-serif;
  letter-spacing: .12em;
}
.delivery-board-lane > header b {
  color: var(--board-ink);
  font-size: 15px;
  letter-spacing: -.02em;
}
.delivery-board-lane > header small {
  color: #58717c;
  font-size: 10px;
}
.delivery-board-lane > header > strong {
  min-width: 31px;
  height: 31px;
  border: 2px solid rgba(16,43,61,.12);
  box-shadow: 0 2px 0 rgba(16,43,61,.10);
}
.delivery-board-lane-list {
  gap: 9px;
  padding: 10px;
  min-height: 145px;
}
.delivery-board-card {
  position: relative;
  gap: 8px;
  min-height: 156px;
  padding: 12px 12px 10px;
  border: 1px solid var(--board-line);
  border-left: 5px solid #607b87;
  border-radius: 5px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.78), transparent 42%),
    var(--board-paper);
  color: var(--board-ink);
  box-shadow: 0 3px 0 rgba(16,43,61,.10), 0 7px 13px rgba(16,43,61,.08);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.delivery-board-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 12px;
  left: 12px;
  border-top: 1px dashed rgba(16,43,61,.16);
}
.delivery-board-card:hover {
  transform: translateY(-3px) rotate(-.2deg);
  box-shadow: 0 5px 0 rgba(16,43,61,.11), 0 12px 20px rgba(16,43,61,.14);
}
.delivery-board-card:focus-visible {
  outline: 3px solid #102b3d;
  outline-offset: 3px;
}
.delivery-board-card.is-selected {
  border-color: #102b3d;
  background: #fffdf0;
  box-shadow: 0 0 0 3px #102b3d, 0 8px 20px rgba(16,43,61,.20);
}
.delivery-board-card-top {
  padding-top: 3px;
}
.delivery-board-card-top b {
  color: #102b3d;
  font: 800 17px/1 'Barlow Condensed', sans-serif;
  letter-spacing: .04em;
}
.delivery-board-card-top span,
.delivery-board-meta,
.delivery-board-card-bottom small {
  color: #5d737c;
  font-size: 10px;
  font-weight: 700;
}
.delivery-board-card > strong {
  color: #102b3d;
  font-size: 14px;
  line-height: 1.2;
}
.delivery-board-status {
  display: inline-flex;
  align-self: start;
  padding: 3px 7px;
  border-radius: 3px;
  background: rgba(16,43,61,.08);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.delivery-board-meta {
  padding-top: 2px;
}
.delivery-board-card-bottom {
  margin-top: auto;
  padding-top: 9px;
  border-top: 1px dashed #cbd7d9;
}
.delivery-board-card-bottom b {
  color: #102b3d;
  font: 800 19px/1 'Barlow Condensed', sans-serif;
}
.delivery-ticket-products {
  display: grid;
  gap: 4px;
  margin: 2px 0 1px;
  padding: 7px 0;
  border-top: 1px solid #e4eaeb;
  border-bottom: 1px solid #e4eaeb;
  color: #405a65;
  font-size: 10px;
  line-height: 1.25;
}
.delivery-ticket-products > * {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}
.delivery-ticket-products strong {
  color: #173847;
  font-weight: 800;
}
.delivery-ticket-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #5d737c;
  font-size: 10px;
  font-weight: 800;
}
.delivery-ticket-time {
  color: #173847;
  font: 800 11px/1 'Barlow Condensed', sans-serif;
  letter-spacing: .04em;
}
.delivery-ticket-notice {
  margin: 1px 0 0;
  padding: 6px 7px;
  border-left: 3px solid #d4a41f;
  border-radius: 2px;
  background: #fff4c7;
  color: #695313;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.3;
}
.lane-red { border-top-color: #c84242; background: #fff0ef; }
.lane-orange { border-top-color: #e27a22; background: #fff2e6; }
.lane-yellow { border-top-color: #d4a41f; background: #fff8df; }
.lane-green { border-top-color: #168957; background: #e8f7ef; }
.lane-red .delivery-board-card { border-left-color: #c84242; }
.lane-orange .delivery-board-card { border-left-color: #e27a22; }
.lane-yellow .delivery-board-card { border-left-color: #d4a41f; }
.lane-green .delivery-board-card { border-left-color: #168957; }
.lane-red .delivery-board-status { background: #fee1de; color: #9f2929; }
.lane-orange .delivery-board-status { background: #ffe3ca; color: #a84e0c; }
.lane-yellow .delivery-board-status { background: #ffedb2; color: #80620d; }
.lane-green .delivery-board-status { background: #d4f1e1; color: #0d6b41; }
@media (max-width: 760px) {
  .delivery-operation-board {
    grid-template-columns: repeat(4, minmax(205px, 1fr));
    gap: 10px;
    padding: 9px;
  }
  .delivery-board-lane { min-width: 205px; }
  .delivery-board-card { min-height: 148px; }
}
.delivery-bell-notice {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 10px 14px;
  margin: 0 0 12px;
  border: 2px solid #bd4c34;
  border-radius: 8px;
  background: #fff0e6;
  color: #78321e;
  font-size: 12px;
}
.delivery-bell-notice[hidden] { display: none; }
.delivery-bell-notice b { font-weight: 900; }
.delivery-bell-notice .btn { margin-left: auto; }
.delivery-alert-settings {
  display: grid;
  gap: 9px;
  padding: 11px 14px;
  margin: 0 0 12px;
  border: 1px solid #e3a313;
  border-left: 5px solid #ed9e00;
  border-radius: 10px;
  background: linear-gradient(110deg, #fff8df, #fff 68%);
  color: #23374e;
}
.delivery-alert-settings-title { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.delivery-alert-settings-title strong { color: #704800; font-size: 13px; }
.delivery-alert-settings-title span { color: #5a6a7c; font-size: 12px; }
.delivery-alert-settings-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.delivery-alert-settings-controls .btn { min-height: 36px; }
.delivery-alert-settings-controls label {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 0 8px;
  color: #344a60;
  font-size: 12px;
  font-weight: 800;
}
.delivery-alert-settings-controls label output { color: #855500; }
.delivery-alert-settings-controls input[type="range"] { grid-column: 1 / -1; width: 150px; accent-color: #ed9e00; }
.delivery-alert-settings > small { color: #627285; font-size: 11px; }
.delivery-wholesale-control { margin:0 0 12px; padding:15px 18px; border:1px solid #afd2c7; border-left:5px solid #087f77; border-radius:12px; background:linear-gradient(115deg,#f0fbf8,#fff 72%); box-shadow:0 3px 0 #c9e1d9,0 9px 18px rgba(16,75,69,.08); }
.delivery-wholesale-control[hidden] { display:none; }
.delivery-wholesale-control label { display:flex; justify-content:space-between; align-items:center; gap:18px; cursor:pointer; }
.delivery-wholesale-copy { display:grid; gap:5px; min-width:0; }
.delivery-wholesale-copy strong { font-size:18px; line-height:1.2; color:#0a514d; }
.delivery-wholesale-copy small { font-size:12px; line-height:1.4; color:#4a6567; }
.delivery-wholesale-switch { display:flex; align-items:center; gap:10px; flex:none; position:relative; color:#21564f; font-size:14px; }
.delivery-wholesale-switch input { position:absolute; width:52px; height:30px; opacity:0; cursor:pointer; }
.delivery-wholesale-track { display:inline-block; width:52px; height:30px; border-radius:20px; background:#9aabb4; border:1px solid #728b97; box-shadow:inset 0 2px 5px rgba(0,0,0,.18); transition:background .16s ease; }
.delivery-wholesale-track::before { content:''; display:block; width:22px; height:22px; border-radius:50%; background:#fff; margin:3px; box-shadow:0 2px 4px rgba(0,0,0,.25); transition:transform .16s ease; }
.delivery-wholesale-switch input:checked + .delivery-wholesale-track { background:#087f77; border-color:#07645e; }
.delivery-wholesale-switch input:checked + .delivery-wholesale-track::before { transform:translateX(22px); }
.delivery-wholesale-switch input:focus-visible + .delivery-wholesale-track { outline:3px solid #cc8b00; outline-offset:3px; }
.delivery-wholesale-switch input:disabled + .delivery-wholesale-track { opacity:.55; cursor:wait; }
.delivery-wholesale-control .delivery-secondary-note { margin:7px 0 0; }
.delivery-store-more { margin:18px 0 8px; padding:0; border:1px solid #cddde4; border-radius:12px; background:#f8fbfc; }
.delivery-store-more > summary { cursor:pointer; padding:13px 16px; font-size:13px; font-weight:800; color:#28536b; }
.delivery-store-more > summary span { font-size:11px; font-weight:500; color:#667f8c; }
.delivery-store-more > summary:focus-visible { outline:3px solid #087f77; outline-offset:2px; }
.delivery-store-more .delivery-secondary-grid { padding:0 15px 15px; }
.delivery-board-card.is-new-paid { animation: deliveryTicketPulse 1.4s ease-in-out infinite alternate; }
.delivery-board-card.is-new-pending {
  position: relative;
  border: 3px solid #f08a00 !important;
  background: #fff9e4 !important;
  box-shadow: 0 0 0 4px rgba(255, 179, 0, .22), 0 10px 26px rgba(169, 85, 0, .23);
  animation: deliveryPendingAttention .72s ease-in-out infinite alternate;
  z-index: 2;
}
@keyframes deliveryTicketPulse {
  to { box-shadow: 0 0 0 3px #e38a37, 0 9px 17px rgba(167,75,12,.24); }
}
@keyframes deliveryPendingAttention {
  0% { transform: translateX(-2px) rotate(-.25deg); box-shadow: 0 0 0 3px rgba(255,179,0,.2), 0 8px 18px rgba(169,85,0,.18); }
  100% { transform: translateX(2px) rotate(.25deg); box-shadow: 0 0 0 6px rgba(255,179,0,.38), 0 12px 26px rgba(169,85,0,.3); }
}
.delivery-ticket-products > span strong { white-space: normal; text-align: left; }
.delivery-ticket-products > span > span { white-space: nowrap; flex: 0 0 auto; }
.delivery-ticket-products > small { display: block; text-align: left; }
.delivery-ticket-footer > span:first-child { overflow-wrap: anywhere; text-align: left; }
.delivery-supplement { display: grid; gap: 9px; padding: 12px; border-radius: 8px; background: #fff7e5; }
.delivery-supplement .delivery-add-line { display: flex; flex-wrap: wrap; gap: 6px; }
.delivery-supplement #deliveryExtraProduct { flex: 1 1 180px; }
.delivery-supplement #deliveryExtraQuantity { width: 76px; }
.delivery-supplement #deliveryExtraItemNote { flex: 1 1 150px; }
.delivery-extra-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 6px 0; border-bottom: 1px dashed #d4a41f; font-size: 12px; }
.pdv-live-tile.is-focused {
  border-color: #087b71;
  box-shadow: 0 0 0 3px #087b71, 0 12px 24px rgba(8, 79, 72, .18);
}
.pdv-live-tile.is-focused .pdv-supervision-hint { color: #087b71; }
.pdv-screen-foot #pdvFocusedDetails { margin-left: auto; white-space: nowrap; }
@media (prefers-reduced-motion: reduce) {
  .delivery-board-card.is-new-paid { animation: none; box-shadow: 0 0 0 3px #e38a37; }
  .delivery-board-card.is-new-pending { animation: none; transform: none; box-shadow: 0 0 0 5px rgba(255,179,0,.55), 0 10px 26px rgba(169,85,0,.23); }
}
@media (max-width: 640px) {
  .delivery-alert-settings-controls { align-items: flex-start; }
  .delivery-alert-settings-controls label { min-width: 150px; }
  .delivery-wholesale-control label { align-items:flex-start; flex-direction:column; }
}

/* Estoque central: busca combinável e atalhos pessoais */
.stock-dashboard-head { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; margin:4px 0 18px; }
.stock-eyebrow { color:#0b4f91; font-size:10px; font-weight:900; letter-spacing:.13em; }
.stock-dashboard-head h2 { margin:5px 0 4px; color:#071d3d; font-size:25px; line-height:1.2; }
.stock-dashboard-head p { margin:0; color:var(--text-muted); font-size:13px; }
.stock-dashboard-head .inventory-actions { display:flex; flex-wrap:wrap; gap:8px; }
.stock-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.stock-summary > div { padding:17px 19px; background:#fff; border:1px solid #dce7f2; border-radius:14px; box-shadow:0 5px 16px rgba(7,29,61,.045); display:grid; gap:3px; }
.stock-summary > div:nth-child(2) { border-left:4px solid #e4a11a; }
.stock-summary > div:nth-child(3) { border-left:4px solid #d71920; }
.stock-summary > div:nth-child(4) { border-left:4px solid #0b4f91; }
.stock-summary span { font-size:12px; font-weight:700; color:#536781; }
.stock-summary strong { color:#071d3d; font-size:29px; letter-spacing:-.04em; }
.stock-summary small { color:#77879a; font-size:11px; }
.stock-category-margins { margin:0 0 18px; padding:16px 18px; border:1px solid #dce7f2; border-radius:14px; background:#fff; box-shadow:0 5px 16px rgba(7,29,61,.045); }
.stock-category-margins-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:12px; }
.stock-category-margins-heading h3 { margin:0; color:#071d3d; font-size:17px; }
.stock-category-margins-heading p { margin:5px 0 0; color:#62758b; font-size:12px; line-height:1.45; }
.stock-category-margins-table-wrap { max-width:100%; overflow-x:auto; }
.stock-category-margins-table { min-width:900px; }
.stock-category-margins-table td small { display:block; margin-top:3px; color:#77879a; font-size:10px; }
.incoming-product-cost-heading { display:grid; gap:3px; margin:9px 0 4px; }
.incoming-product-cost-heading small { color:#64768a; font-size:11px; line-height:1.4; }
.stock-source-cleanup { margin:0 0 16px; padding:16px 18px; border:1px solid #e3b6a9; border-left:5px solid #b94734; border-radius:12px; background:#fff8f4; color:#63352d; }
.stock-source-cleanup[hidden],.stock-source-cleanup [hidden] { display:none !important; }
.stock-source-cleanup-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.stock-source-cleanup-heading strong { color:#71382d; font-size:15px; }
.stock-source-cleanup-heading p { margin:4px 0 0; color:#77584f; font-size:12px; line-height:1.45; }
.stock-source-cleanup-names { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px 20px; margin:12px 0; padding-left:19px; color:#523e39; font-size:12px; overflow-wrap:anywhere; }
.stock-source-cleanup-note { display:block; color:#765e57; font-size:11px; line-height:1.45; }
.stock-source-cleanup-result { margin-top:13px; padding-top:12px; border-top:1px solid #ead5cf; color:#4e4a43; font-size:12px; }
.stock-source-cleanup-result > strong { color:#324f43; }
.stock-source-cleanup-result p { margin:5px 0; }
.stock-source-cleanup-result ul { display:grid; gap:4px; margin:8px 0 0; padding:0; list-style:none; }
.stock-source-cleanup-result li { display:flex; flex-wrap:wrap; gap:6px; justify-content:space-between; padding:5px 8px; border-radius:6px; background:rgba(255,255,255,.72); }
.stock-source-cleanup-result li strong { overflow-wrap:anywhere; }
.stock-source-cleanup-result li span { color:#587064; }
.stock-source-cleanup-result li.is-failed span { color:#8c3328; font-weight:700; }
.stock-source-cleanup-result li.is-archived span { color:#765b28; }
.stock-source-cleanup-refresh-error { color:#8c3328; font-weight:700; }
.stock-filters { background:#fff; border:1px solid #dce7f2; border-radius:16px; box-shadow:0 9px 26px rgba(7,29,61,.055); padding:17px 19px 12px; margin-bottom:16px; }
.stock-filters-head { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.stock-filters-head strong { display:block; color:#071d3d; font-size:16px; }
.stock-filters-head small { display:block; margin-top:2px; color:var(--text-muted); font-size:12px; }
.stock-search { width:min(100%,370px); min-width:220px; }
.stock-preset-row,.stock-saved-list { display:flex; flex-wrap:wrap; gap:7px; }
.stock-preset-row { margin:15px 0; }
.stock-expiry-quick {
  display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin:0 0 13px;
  padding:9px 11px; border:1px solid #dce7f2; border-radius:10px; background:#f7faff;
}
.stock-expiry-quick label { color:#345673; font-size:11px; font-weight:900; }
.stock-expiry-quick .form-control { width:auto; min-width:190px; padding:8px 10px; font-size:12px; }
.stock-expiry-quick-status { color:#5f7890; font-size:11px; font-weight:700; }
.stock-expiry-preset-form { display:inline-flex; align-items:center; gap:5px; }
.stock-expiry-preset-form > span { color:#0b4f91; font-size:17px; font-weight:800; }
.stock-expiry-preset-form input { width:92px; min-width:0; }
.stock-expiry-preset-form select { min-width:78px; }
.sr-only {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.stock-pill { border:1px solid #d9e4ef; color:#233e60; background:#f7faff; padding:8px 11px; border-radius:9px; font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.stock-pill span { margin-left:5px; color:#69829e; font-size:11px; }
.stock-pill:hover,.stock-pill:focus-visible,.stock-pill.is-active { background:#0b4f91; border-color:#0b4f91; color:white; }
.stock-pill.is-active span,.stock-pill:hover span { color:#deebff; }
.stock-saved-row { display:flex; flex-wrap:wrap; align-items:center; gap:9px; border-top:1px solid #edf2f7; padding-top:12px; }
.stock-saved-row > span { font-size:10px; font-weight:900; color:#70859b; letter-spacing:.08em; }
.stock-saved-list small { color:#8190a1; font-size:12px; align-self:center; }
.stock-saved-chip { display:inline-flex; border:1px solid #b4cced; border-radius:8px; overflow:hidden; background:#eff5ff; }
.stock-saved-chip button,.stock-create-filter { border:0; background:transparent; color:#0b4f91; font:inherit; font-weight:700; font-size:12px; cursor:pointer; padding:7px 10px; }
.stock-saved-chip button.is-active { background:#0b4f91; color:#fff; }
.stock-saved-chip .stock-chip-remove { border-left:1px solid #cbdcf2; padding:5px 8px; font-size:17px; line-height:1; }
.stock-create-filter { border:1px dashed #0b4f91; border-radius:8px; }
.stock-saved-chip button:hover,.stock-create-filter:hover { background:#dcecff; color:#073660; }
.stock-results-count { border-top:1px solid #edf2f7; padding-top:11px; margin-top:12px; color:#667c91; font-size:12px; font-weight:700; }
.stock-filter-builder { margin-top:15px; padding:17px; border:1px solid #d6e6f5; border-radius:12px; background:#f7faff; }
.stock-filter-builder[hidden],.inventory-column-mapping[hidden] { display:none!important; }
.stock-builder-title { display:grid; gap:2px; color:#071d3d; }
.stock-builder-title small,.stock-filter-builder > small { color:#6a7c91; font-size:11px; }
.stock-builder-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin:15px 0; }
.stock-builder-grid label,.stock-builder-actions label,.inventory-column-grid label { display:grid; gap:5px; font-size:11px; font-weight:800; color:#445b73; }
.stock-builder-actions { display:flex; gap:10px; align-items:end; flex-wrap:wrap; margin-bottom:12px; }
.stock-builder-actions label { flex:1 1 180px; }
.stock-rare-filters {
  margin:4px 0 15px; border:1px solid #d8e5f0; border-radius:10px; background:#fff;
}
.stock-rare-filters[hidden] { display:none !important; }
.stock-rare-filters > summary {
  display:flex; align-items:center; gap:8px; padding:11px 12px; color:#214867;
  cursor:pointer; list-style:none; font-size:12px; font-weight:800;
}
.stock-rare-filters > summary::-webkit-details-marker { display:none; }
.stock-rare-filters > summary::before { content:"＋"; color:var(--blue); font-size:16px; }
.stock-rare-filters[open] > summary::before { content:"−"; }
.stock-rare-filters > summary span { margin-left:auto; color:#71869a; font-size:11px; font-weight:600; }
.stock-rare-filters > summary:focus-visible { outline:3px solid rgba(11,117,201,.25); outline-offset:-3px; }
.stock-rare-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px;
  padding:14px 13px 3px; border-top:1px solid #e5edf4;
}
.stock-rare-grid label { display:grid; gap:5px; color:#445b73; font-size:11px; font-weight:800; }
.stock-rare-grid small { color:#71869a; font-size:10px; font-weight:500; line-height:1.3; }
.stock-table td { vertical-align:middle; }
.stock-product-cell { display:flex; align-items:center; gap:10px; min-width:0; }
.stock-product-cell > img { flex:0 0 48px; width:48px; height:48px; object-fit:contain; border-radius:9px; background:#f2f6fa; }
.stock-product-cell > div { flex:1 1 auto; min-width:0; }
.stock-product-cell b { display:block; color:#071d3d; font-weight:750; line-height:1.35; overflow-wrap:break-word; word-break:normal; hyphens:auto; }
.stock-product-cell small { display:block; max-width:100%; color:#789; overflow-wrap:anywhere; }
.stock-product-photo-actions { display:flex; flex-wrap:wrap; margin-top:7px; }
.stock-add-photo-button { min-height:34px; padding:7px 12px; border:1px solid #0b4f91; border-radius:8px; background:linear-gradient(145deg,#1769b4,#0b4f91); box-shadow:0 2px 0 #073a6e; color:#fff; font-family:inherit; font-size:12px; font-weight:800; line-height:1.2; text-align:center; cursor:pointer; }
.stock-add-photo-button:hover { background:linear-gradient(145deg,#2478c8,#0b4f91); }
.stock-add-photo-button:focus-visible { outline:3px solid rgba(11,117,201,.3); outline-offset:2px; }
.stock-product-photo-modal { width:min(100%,680px); max-height:min(92vh,900px); overflow:auto; }
.stock-product-photo-modal .modal-header { gap:12px; }
.stock-product-photo-modal .modal-header h3 { margin:0; }
.stock-photo-product-name { margin:4px 0 0; color:#52697f; font-size:13px; font-weight:700; overflow-wrap:anywhere; }
.stock-photo-instructions { margin:0 0 14px; color:#52697f; font-size:13px; line-height:1.5; }
.stock-photo-search { margin:0 0 14px; padding:12px; border:1px solid #cfdeec; border-radius:11px; background:#f5f9fd; }
.stock-photo-search-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.stock-photo-search-heading > div { display:grid; gap:4px; min-width:0; }
.stock-photo-search-heading strong { color:#173650; font-size:13px; }
.stock-photo-search-heading span { color:#687d90; font-size:11px; line-height:1.45; }
.stock-photo-search-heading .btn { flex:0 0 auto; min-height:38px; }
.stock-photo-candidates { display:grid; grid-template-columns:repeat(auto-fill,minmax(155px,1fr)); gap:10px; margin-top:12px; }
.stock-photo-candidate { display:grid; grid-template-rows:auto 1fr; min-width:0; overflow:hidden; border:1px solid #d7e2ec; border-radius:9px; background:#fff; }
.stock-photo-candidate-pick { display:grid; gap:6px; width:100%; padding:8px; border:0; background:#fff; color:#0b4f91; font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.stock-photo-candidate-pick:hover,.stock-photo-candidate-pick:focus-visible { background:#edf5fc; outline:2px solid #8eb7d7; outline-offset:-2px; }
.stock-photo-candidate-pick:disabled { opacity:.55; cursor:wait; }
.stock-photo-candidate-pick img { width:100%; height:112px; object-fit:contain; border-radius:6px; background:#f2f6fa; }
.stock-photo-candidate-credit { display:grid; align-content:start; gap:4px; padding:0 9px 9px; color:#52697f; font-size:10px; line-height:1.35; overflow-wrap:anywhere; }
.stock-photo-candidate-credit strong { color:#173650; font-size:11px; }
.stock-photo-candidate-credit a { color:#0b4f91; font-weight:700; }
.stock-photo-search-message { grid-column:1/-1; margin:0; color:#52697f; font-size:12px; line-height:1.45; }
.stock-photo-methods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.stock-photo-method { display:grid; align-content:start; gap:8px; min-width:0; padding:12px; border:1px solid #d7e2ec; border-radius:10px; background:#f8fafc; }
.stock-photo-method > strong,.stock-photo-method label strong { display:block; color:#173650; font-size:12px; }
.stock-photo-method label span { display:block; margin-top:4px; color:#687d90; font-size:11px; line-height:1.4; }
.stock-photo-method .btn { display:inline-flex; align-items:center; justify-content:center; min-height:38px; white-space:normal; text-align:center; }
.stock-photo-file-input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; clip-path:inset(50%); }
.stock-photo-method:focus-within .btn { outline:3px solid rgba(11,117,201,.3); outline-offset:2px; }
.stock-photo-method .form-control { width:100%; min-width:0; }
.stock-photo-preview-wrap { display:grid; place-items:center; min-height:110px; margin:12px 0; padding:10px; border:1px dashed #bdcbd9; border-radius:10px; background:#f5f8fb; color:#687d90; text-align:center; }
.stock-photo-preview-wrap img { display:block; max-width:100%; max-height:220px; object-fit:contain; border-radius:7px; }
.stock-photo-confirmation { display:grid; gap:11px; margin:0; padding:13px; border:1px solid #d7e2ec; border-radius:10px; }
.stock-photo-confirmation legend { padding:0 6px; color:#173650; font-size:12px; font-weight:800; }
.stock-photo-confirmation > label:not(.stock-photo-check) { display:grid; gap:6px; color:#52697f; font-size:12px; font-weight:700; }
.stock-photo-check { display:flex; align-items:flex-start; gap:9px; color:#173650; font-size:12px; line-height:1.45; }
.stock-photo-check input { flex:0 0 auto; margin-top:2px; }
.stock-photo-status { min-height:20px; margin:10px 0 0; color:#52697f; font-size:12px; line-height:1.4; }
.stock-product-photo-modal .modal-footer { flex-wrap:wrap; }
.stock-product-photo-modal .modal-footer .btn { min-height:40px; }
@media (max-width:600px) {
  .stock-photo-search-heading { align-items:stretch; flex-direction:column; }
  .stock-photo-search-heading .btn { width:100%; }
  .stock-photo-candidates { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stock-photo-candidate-pick img { height:100px; }
  .stock-photo-methods { grid-template-columns:1fr; }
  .stock-product-photo-modal { width:calc(100vw - 20px); max-height:92dvh; }
  .stock-product-photo-modal .modal-header,.stock-product-photo-modal .modal-body,.stock-product-photo-modal .modal-footer { padding-left:14px; padding-right:14px; }
  .stock-product-photo-modal .modal-footer .btn { flex:1 1 130px; min-width:0; }
}
.stock-detail-toggle { display:block; margin-top:4px; padding:0; border:0; background:transparent; color:#0b4f91; font:inherit; font-size:11px; font-weight:800; text-align:left; cursor:pointer; }
.stock-detail-toggle:hover,.stock-detail-toggle:focus-visible { text-decoration:underline; outline:2px solid #8eb7d7; outline-offset:2px; border-radius:3px; }
.stock-detail-row td { padding:0 !important; background:#f5f9fd !important; border-bottom:1px solid #cbdceb !important; }
.stock-detail-content { padding:15px 18px 17px; border-left:3px solid #0b4f91; }
.stock-detail-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.stock-detail-grid > div { display:grid; gap:3px; min-width:0; }
.stock-detail-grid small,.stock-detail-purchase small { color:#6a7d91; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.stock-detail-grid strong { color:#102f50; font-size:13px; }
.stock-detail-grid em { color:#8b9aaa; font-style:normal; font-weight:400; }
.stock-detail-pdv-state { font-size:12px !important; }
.stock-pdv-state.is-available { color:#147344; }
.stock-pdv-state.is-unavailable { color:#a32435; }
.stock-pdv-state.is-unknown,.stock-detail-muted { color:#718294; }
.stock-detail-purchase { margin-top:13px; padding-top:12px; border-top:1px solid #dce7f2; }
.stock-detail-label { margin-bottom:7px; color:#284b6a; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.stock-detail-purchase-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.stock-detail-purchase-grid span { display:grid; gap:2px; }
.stock-detail-purchase-grid b { color:#193b5b; font-size:12px; overflow-wrap:anywhere; }
.stock-detail-history-warning { display:inline-block; padding:7px 9px; border-radius:7px; color:#785600; background:#fff4d1; font-size:12px; font-weight:800; }
.stock-detail-margin { margin-top:10px; color:#0b4f91; font-size:12px; font-weight:800; }
.stock-detail-links { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.stock-expiry-inline { display:block; margin-top:4px; color:#87621d; font-size:10px; line-height:1.25; }
.stock-money { color:#0b4f91; font-weight:800; white-space:nowrap; }
.stock-wholesale-min { display:block; font-size:10px; color:#657b91; white-space:normal; overflow-wrap:break-word; }
.stock-muted { color:#a1adba; }
.stock-row-actions { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.stock-table { width:100%; min-width:1620px; table-layout:fixed; }
#productsContainer .stock-table-scroll { width:100%; max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; }
.stock-table th,.stock-table td { padding:10px 8px !important; }
.stock-table th:first-child,.stock-table td:first-child { width:48px; min-width:48px; text-align:center; }
.stock-table th:nth-child(2),.stock-table td:nth-child(2) { width:160px; min-width:160px; }
.stock-table th:nth-child(3),.stock-table td:nth-child(3) { width:270px; min-width:270px; }
.stock-table th:nth-child(4),.stock-table td:nth-child(4) { width:250px; min-width:250px; }
.stock-table th:nth-child(5),.stock-table td:nth-child(5) { width:125px; min-width:125px; }
.stock-table th:nth-child(6),.stock-table td:nth-child(6) { width:100px; min-width:100px; text-align:right; }
.stock-table th:nth-child(7),.stock-table td:nth-child(7) { width:120px; min-width:120px; text-align:right; }
.stock-table th:nth-child(8),.stock-table td:nth-child(8) { width:125px; min-width:125px; text-align:right; }
.stock-table th:nth-child(9),.stock-table td:nth-child(9) { width:190px; min-width:190px; }
.stock-table th:nth-child(10),.stock-table td:nth-child(10) { width:220px; min-width:220px; }
.stock-table th { white-space:normal; }
.stock-table .stock-row-actions .btn { font-size:11px; padding:6px 8px; }
.stock-table tr[hidden] { display:none !important; }
.stock-table .stock-detail-row td { padding:0 !important; }
/* Em telas com a barra lateral, a tabela larga escondia produto e ações.
   Cartões compactos mantêm todos os campos visíveis sem rolagem horizontal. */
@media (max-width:1600px) {
  .stock-table { min-width:0; width:100%; table-layout:auto; border-collapse:separate; }
  .stock-table thead { display:none; }
  .stock-table tbody { display:block; }
  .stock-table tbody > tr:not(.stock-detail-row) {
    display:grid;
    grid-template-columns:minmax(200px,2fr) repeat(3,minmax(88px,1fr));
    gap:2px 10px;
    padding:8px 10px;
    margin:0 0 7px;
    border:1px solid #dce7f0;
    border-radius:9px;
    background:#fff;
  }
  .stock-table tbody > tr:not(.stock-detail-row) > td {
    display:block;
    width:auto !important;
    min-width:0 !important;
    padding:3px 4px !important;
    text-align:left !important;
    border:0 !important;
    overflow-wrap:anywhere;
  }
  .stock-table tbody > tr:not(.stock-detail-row) > td:not(:nth-child(-n+3))::before {
    content:attr(data-label);
    display:block;
    margin-bottom:2px;
    color:#667b90;
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
  }
  .stock-table tbody > tr:not(.stock-detail-row) > td:nth-child(-n+3)::before { content:none; }
  .stock-table tbody > tr:not(.stock-detail-row) > td:nth-child(1) { grid-column:1; grid-row:1; }
  .stock-table tbody > tr:not(.stock-detail-row) > td:nth-child(2) { grid-column:2 / 5; grid-row:1; }
  .stock-table tbody > tr:not(.stock-detail-row) > td:nth-child(3) { grid-column:1 / 3; grid-row:2 / 4; }
  .stock-table tbody > tr:not(.stock-detail-row) > td:nth-child(4) { grid-column:3 / 5; grid-row:2 / 4; }
  .stock-table tbody > tr:not(.stock-detail-row) > td:nth-child(5) { grid-column:1 / 3; grid-row:4; }
  .stock-table tbody > tr:not(.stock-detail-row) > td:nth-child(6) { grid-column:3; grid-row:4; }
  .stock-table tbody > tr:not(.stock-detail-row) > td:nth-child(7) { grid-column:4; grid-row:4; }
  .stock-table tbody > tr:not(.stock-detail-row) > td:nth-child(8) { grid-column:1 / 3; grid-row:5; }
  .stock-table tbody > tr:not(.stock-detail-row) > td:nth-child(9) { grid-column:3 / 5; grid-row:5; }
  .stock-table tbody > tr:not(.stock-detail-row) > td:nth-child(10) { grid-column:1 / 5; grid-row:6; }
  .stock-table .stock-product-cell > img { width:38px; height:38px; flex-basis:38px; }
  .stock-table .stock-row-actions .btn { padding:4px 6px; }
  .stock-table tbody > tr.stock-detail-row { display:block; margin:-7px 0 7px; }
  .stock-table tbody > tr.stock-detail-row > td { display:block; width:100%; }
}
@media (max-width:900px) {
  .stock-table tbody > tr:not(.stock-detail-row) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stock-table tbody > tr:not(.stock-detail-row) > td { grid-column:auto !important; grid-row:auto !important; }
  .stock-table tbody > tr:not(.stock-detail-row) > td:nth-child(2),
  .stock-table tbody > tr:not(.stock-detail-row) > td:nth-child(3),
  .stock-table tbody > tr:not(.stock-detail-row) > td:nth-child(4),
  .stock-table tbody > tr:not(.stock-detail-row) > td:nth-child(10) { grid-column:1 / -1 !important; }
}
.stock-fiscal-cell { color:#405a70; font-size:11px; line-height:1.35; text-align:left !important; }
.stock-fiscal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 10px; }
.stock-fiscal-grid > span { display:grid; grid-template-columns:auto minmax(0,1fr); gap:5px; min-width:0; }
.stock-fiscal-grid b { color:#294861; font-size:10px; letter-spacing:.02em; }
.stock-fiscal-grid span span { min-width:0; overflow-wrap:anywhere; color:#193b5b; font-weight:700; }
.stock-fiscal-meta,.stock-fiscal-missing,.stock-fiscal-disclaimer { display:block; margin-top:5px; overflow-wrap:anywhere; color:#667b90; font-size:10px; line-height:1.4; }
.stock-fiscal-missing { color:#765b28; }
.stock-fiscal-disclaimer { color:#7b8791; font-style:italic; }
.wholesale-bulk-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-top:10px; }
.wholesale-bulk-toolbar label { display:flex; align-items:center; gap:7px; margin-right:auto; color:#294861; font-size:12px; font-weight:700; }
.wholesale-bulk-toolbar input[type="checkbox"],.stock-table input[type="checkbox"] { width:17px; height:17px; accent-color:var(--green-main); cursor:pointer; }
.wholesale-bulk-toolbar > span { color:var(--text-muted); font-size:11px; font-weight:700; }
.wholesale-bulk-modal { max-width:900px; }
.wholesale-bulk-caveat { margin-bottom:12px; padding:10px 12px; border-left:3px solid var(--blue); border-radius:7px; background:#eef6ff; color:#294861; font-size:12px; }
.wholesale-bulk-list { display:grid; gap:9px; max-height:55vh; overflow:auto; padding-right:3px; }
.wholesale-bulk-row { display:grid; grid-template-columns:minmax(150px,1fr) minmax(150px,.8fr) minmax(150px,.8fr); gap:10px; align-items:center; padding:10px; border:1px solid var(--border); border-radius:10px; background:#fbfdff; }
.wholesale-bulk-row > strong { color:#102f50; font-size:12px; }
.wholesale-bulk-row > strong small { display:block; color:var(--text-muted); font-weight:500; }
.wholesale-bulk-row > label { display:grid; gap:4px; color:var(--text-muted); font-size:10px; font-weight:700; }
.wholesale-bulk-row .form-control { min-width:0; padding:7px 9px; font-size:12px; }
@media (max-width:640px) {
  .wholesale-bulk-row { grid-template-columns:1fr 1fr; }
  .wholesale-bulk-row > strong { grid-column:1/-1; }
}
.stock-price-options { padding:13px 15px; margin-bottom:13px; background:#f3f8fe; border:1px solid #d3e4f5; border-radius:10px; }
.stock-price-options strong { color:#071d3d; }
.stock-price-options p { margin:5px 0 10px; font-size:12px; color:#57708a; }
.inventory-mode-explain { margin:0 0 13px; padding:10px 13px; border-radius:9px; border-left:3px solid #0b4f91; background:#eef5ff; color:#284c71; line-height:1.5; font-size:12px; }
.inventory-column-mapping { margin:12px 0; padding:15px; background:#f7faff; border:1px solid #cfdeef; border-radius:11px; }
.inventory-column-mapping strong { display:block; color:#071d3d; }
.inventory-column-mapping small { display:block; color:#687c90; font-size:11px; margin:3px 0 10px; }
.inventory-column-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.stock-source-details { margin:14px 0; padding:14px; border:1px solid #dce7f2; border-radius:12px; background:#f8fbff; }
.stock-source-details[hidden] { display:none; }
.stock-source-details strong { display:block; margin-bottom:10px; }
.stock-source-details strong small { font-weight:400; color:var(--text-muted); }
.stock-source-details > small { display:block; margin-top:10px; color:var(--text-muted); }
.stock-source-grid,.stock-history-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.stock-source-grid label,.stock-history-filters label { display:grid; gap:5px; font-size:12px; font-weight:600; color:var(--text-secondary,#52647b); }
.sale-offer-editor { margin-top:18px; padding:16px; border:1px solid #cbddec; border-left:4px solid #0b4f91; border-radius:12px; background:#f6faff; }
.sale-offer-heading { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; margin-bottom:13px; }
.sale-offer-heading h4 { margin:3px 0; color:#102f50; font-size:15px; }
.sale-offer-heading p { color:#61778c; font-size:11px; }
.sale-offer-heading [role="status"] { color:#147344; font-size:11px; font-weight:800; text-align:right; }
.sale-offer-active { display:flex; align-items:center; gap:7px; color:#284b6a; font-size:12px; font-weight:700; }
.sale-offer-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:13px; }
.stock-entry-preview { margin-top:12px; padding:11px 13px; border:1px solid #c9ddec; border-radius:10px; background:#f1f7fc; color:#284c71; font-size:12px; line-height:1.45; }
.stock-entry-preview b { color:#102f50; }
.incoming-mapping { display:grid; grid-template-columns:1fr 1.5fr 1fr 1fr; gap:10px; align-items:end; margin:13px 0 8px; padding:12px; border:1px solid #c7dbea; border-radius:10px; background:#f2f8fd; }
.incoming-price-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:9px; margin:12px 0; }
.incoming-price-option { display:flex; align-items:end; gap:8px; min-width:0; padding:10px; background:#f2f8fd; border:1px solid #c7dbea; border-radius:9px; }
.incoming-price-option label { display:grid; gap:5px; min-width:0; flex:1; color:#526b82; font-size:11px; font-weight:800; }
.incoming-price-option .btn { flex-shrink:0; }
.incoming-price-add { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:12px 0; }
.incoming-price-add select { width:min(100%,300px); }
.incoming-wholesale-min-wrap { max-width:320px; margin-bottom:12px; }
.incoming-wholesale-min-wrap label { display:grid; gap:5px; color:#526b82; font-size:11px; font-weight:800; }
.incoming-mapping > div { display:grid; gap:3px; min-width:0; }
.incoming-mapping > div > small { color:#6a7d91; font-size:10px; font-weight:800; text-transform:uppercase; }
.incoming-mapping > div > strong { color:#173a5c; font-size:12px; }
.incoming-mapping label { display:grid; gap:5px; color:#526b82; font-size:11px; font-weight:800; }
.incoming-mapping-actions { grid-column:1/-1; display:flex !important; align-items:center; gap:9px; }
.incoming-mapping-actions span { color:#6d7f91; font-size:11px; }
.incoming-item.is-pending .incoming-mapping { border-color:#e2c26d; }
.incoming-fiscal-details { margin:12px 0; padding:10px 12px; border:1px solid #dce7f2; border-radius:8px; background:#f8fbfe; font-size:12px; }
.incoming-fiscal-details summary { cursor:pointer; color:#193b5b; font-weight:800; }
.incoming-fiscal-details p { color:#657b91; margin:8px 0; }
.incoming-fiscal-group { margin-top:12px; }
.incoming-fiscal-group > b { display:block; margin-bottom:6px; color:#193b5b; }
.incoming-fiscal-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:7px 12px; margin:8px 0 0; }
.incoming-fiscal-grid > div { min-width:0; padding:6px 8px; border-radius:5px; background:#fff; overflow-wrap:anywhere; }
.incoming-fiscal-grid dt { color:#657b91; font-size:11px; }
.incoming-fiscal-grid dd { margin:2px 0 0; font-weight:700; }
.stock-history-modal { max-width:1080px; width:min(96vw,1080px); max-height:90vh; overflow:auto; }
.stock-purchase-search { display:grid; gap:7px; padding:15px; margin:0 0 15px; background:#f1f7fc; border:1px solid #c9ddec; border-radius:11px; }
.stock-purchase-search label { color:#173a5c; font-weight:800; font-size:15px; }
.stock-purchase-search small { color:#526b82; line-height:1.4; }
.stock-history-advanced { margin-bottom:14px; }
.stock-history-advanced summary { cursor:pointer; color:#17446c; font-size:13px; font-weight:700; }
.stock-history-filters { grid-template-columns:repeat(3,minmax(0,1fr)); margin:16px 0; }
.stock-history-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.stock-history-actions span { color:var(--text-muted); font-size:13px; }
.stock-history-table { min-width:780px; }
.stock-history-table td small { display:block; font-size:11px; color:var(--text-muted); margin-top:3px; }
@media (max-width:620px) {
  .stock-source-cleanup-heading { align-items:stretch; flex-direction:column; }
  .stock-source-cleanup-heading .btn { width:100%; }
  .stock-source-cleanup-names { grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 14px; }
  .stock-source-cleanup-result li { align-items:flex-start; flex-direction:column; }
  #stockEntryHistoryModal { align-items:flex-start; padding:12px; }
  .stock-history-modal { width:calc(100vw - 40px); max-height:calc(100dvh - 80px); }
  .stock-history-table { display:block; min-width:0; }
  .stock-history-table thead { display:none; }
  .stock-history-table tbody { display:grid; gap:12px; }
  .stock-history-table tr { display:flex; flex-direction:column; padding:12px; border:1px solid #c9ddec; border-radius:10px; background:#fff; }
  .stock-history-table td { display:block; padding:5px 0; border:0; overflow-wrap:anywhere; }
  .stock-history-table td::before { content:attr(data-label); display:block; color:#526b82; font-size:10px; font-weight:800; text-transform:uppercase; margin-bottom:3px; }
  .stock-history-table td:nth-child(3) { order:1; }
  .stock-history-table td:nth-child(6) { order:2; color:#0b5d3d; font-size:16px; }
  .stock-history-table td:nth-child(2) { order:3; }
  .stock-history-table td:nth-child(1) { order:4; }
  .stock-history-table td:nth-child(5) { order:5; }
  .stock-history-table td:nth-child(7) { order:6; }
  .stock-history-table td:nth-child(4) { order:7; }
}
.stock-reset-warning { padding:13px 15px; margin-bottom:15px; border:1px solid #efb9b9; border-radius:10px; background:#fff2f2; color:#7c2727; line-height:1.5; font-size:13px; }

/* Cadastro de produto: caminho curto para o estoque, detalhes sem ruído. */
#productModal .modal {
  display:flex; flex-direction:column; max-width:720px; max-height:90dvh;
  overflow:hidden; overscroll-behavior:contain;
}
#productModal .modal-body {
  flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain;
  padding:20px 24px 14px;
}
#productModal .modal-footer {
  position:sticky; bottom:0; z-index:2; background:#fff;
  box-shadow:0 -5px 15px rgba(7,29,61,.06);
}
.product-form-intro {
  display:flex; align-items:baseline; justify-content:space-between; gap:12px;
  margin:-2px 0 16px; padding:10px 12px; border-left:3px solid var(--blue);
  border-radius:8px; background:#f1f7fc;
}
.product-form-intro p { color:#49627b; font-size:12px; }
#productModal .stock-price-options {
  margin:0 0 14px; padding:12px 13px; border:1px solid #d7e5ef;
  border-radius:11px; background:#f7fbfd;
}
#productModal .stock-price-options > strong { display:block; margin-bottom:8px; color:#193b5b; font-size:13px; }
#productModal .stock-price-options .form-row { display:flex; gap:18px; }
#productModal .stock-price-options p { margin:7px 0 0; color:#63778b; font-size:11px; }
.product-cost-editor {
  margin:12px 0 16px; padding:13px 15px;
  border:1px solid #d9e7d8; border-left:4px solid #25825b;
  border-radius:10px; background:#f5fbf6;
}
.product-cost-editor h4 { margin:0 0 5px; color:#225b3f; font-size:14px; }
.product-cost-editor > p,.product-cost-editor > small {
  display:block; color:#526b5c; font-size:11px; line-height:1.45;
}
.product-cost-editor > p { margin:0 0 10px; }
.product-cost-editor .form-row { margin-bottom:0; }
.product-cost-editor .form-group { margin-bottom:8px; }
.product-cost-result {
  display:grid; gap:4px; padding:9px 11px; border-radius:8px;
  background:#e9f4eb; color:#245b3a; font-size:12px;
}
.product-cost-result small { color:#577260; }
.product-margin-preview {
  display:grid; gap:4px; margin-top:8px; color:#334c3b; font-size:11px;
}
.product-margin-preview:empty { display:none; }
.cold-price-editor {
  margin:0 0 13px; padding:13px 15px;
  border:1px solid #b9d9ee; border-left:4px solid #1684b8;
  border-radius:10px; background:#f1f9fd;
}
.cold-price-editor h4 { margin:0 0 4px; color:#16496b; font-size:13px; }
.cold-price-editor p,.cold-price-editor > small { display:block; color:#526f82; font-size:11px; line-height:1.45; }
.cold-price-editor p { margin:0 0 11px; }
.cold-price-editor .form-row { margin-bottom:0; }
.cold-price-editor .form-group { margin-bottom:8px; }
.cold-price-editor #coldPriceStatus { min-height:16px; margin-top:6px; color:#526f82; font-size:11px; }
#productModal .product-advanced {
  margin:12px 0 16px; border:1px solid #dce7f2; border-radius:11px;
  background:#fbfdff;
}
#productModal .product-advanced > summary {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:12px 14px; color:#183e5f; cursor:pointer; font-size:13px;
  font-weight:800; list-style:none;
}
#productModal .product-advanced > summary::-webkit-details-marker { display:none; }
#productModal .product-advanced > summary::before { content:"＋"; color:var(--blue); font-size:17px; }
#productModal .product-advanced[open] > summary::before { content:"−"; }
#productModal .product-advanced > summary span { margin-left:auto; color:#71869a; font-size:11px; font-weight:500; }
#productModal .product-advanced-body { padding:0 14px 2px; border-top:1px solid #e5edf4; }
#productModal .field-hint { color:#7a8b9a; font-size:11px; font-weight:500; }
#productModal .product-status-options { display:flex; flex-wrap:wrap; gap:18px; padding:2px 0 12px; }
#productModal .product-status-options label {
  display:flex; align-items:center; gap:8px; color:#294861; font-size:13px; cursor:pointer;
}
#productModal .product-shelf-life-field { margin-bottom:14px; }
#productModal .product-shelf-life-field small {
  display:block; margin-top:5px; color:#71869a; font-size:11px; line-height:1.35;
}
#productModal input:focus-visible, #productModal select:focus-visible,
#productModal textarea:focus-visible, #productModal summary:focus-visible {
  outline:3px solid rgba(11,117,201,.25); outline-offset:2px;
}
@media (max-width:950px) {
  .stock-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stock-builder-grid,.inventory-column-grid,.stock-history-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .stock-category-margins { padding:13px 11px; }
  .stock-category-margins-heading { align-items:stretch; flex-direction:column; }
  .stock-dashboard-head,.stock-filters-head { align-items:stretch; flex-direction:column; }
  .stock-dashboard-head .inventory-actions { width:100%; }
  .stock-search { width:100%; }
  .stock-expiry-quick { align-items:stretch; }
  .stock-expiry-quick .form-control { flex:1 1 190px; min-width:0; }
  .stock-expiry-preset-form { flex:1 1 100%; }
  .stock-expiry-preset-form input { flex:1 1 90px; }
  .stock-summary { gap:7px; }
  .stock-summary > div { padding:12px; }
  .stock-summary strong { font-size:23px; }
  .stock-filters { padding:13px; }
  .stock-builder-grid,.inventory-column-grid,.stock-history-filters,.stock-source-grid { grid-template-columns:1fr; }
  .stock-rare-grid { grid-template-columns:1fr; padding:12px; }
  .stock-detail-grid,.stock-detail-purchase-grid { grid-template-columns:1fr 1fr; }
  .stock-detail-content { padding:13px 12px; }
  #productModal .modal-body { padding:16px 14px 10px; }
  #productModal .product-form-intro { display:block; }
  #productModal .product-form-intro p { margin-top:3px; }
  #productModal .form-row { grid-template-columns:1fr; gap:0; }
  #productModal .stock-price-options .form-row { display:flex; }
  #productModal .product-advanced > summary { align-items:flex-start; }
  #productModal .product-advanced > summary span { text-align:right; }
  .sale-offer-heading { flex-direction:column; }
  .incoming-mapping { grid-template-columns:1fr; }
  .incoming-mapping-actions { grid-column:auto; align-items:flex-start; flex-direction:column; }
}

/* Estoque: ações mais vivas e busca fácil de encontrar, sem afetar outros painéis. */
#section-produtos .inventory-actions .btn {
  border:1px solid #c4d6f7;
  color:#163c82;
  background:#edf4ff;
  font-weight:800;
  box-shadow:0 2px 5px rgba(20,55,120,.10);
  transition:background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
#section-produtos .inventory-actions .btn-primary,
#section-produtos .stock-builder-actions .btn-primary {
  border-color:#1749d1;
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#1749d1);
  box-shadow:0 4px 11px rgba(37,99,235,.25);
}
#section-produtos .inventory-actions .btn-danger {
  border-color:#c5263d;
  color:#fff;
  background:linear-gradient(135deg,#ef465b,#c5263d);
}
#section-produtos .inventory-actions .btn:hover,
#section-produtos .stock-builder-actions .btn:hover {
  filter:brightness(1.06);
  box-shadow:0 5px 13px rgba(20,55,120,.2);
  transform:translateY(-1px);
}
#section-produtos .inventory-actions .btn:focus-visible,
#section-produtos .stock-filters button:focus-visible {
  outline:3px solid #f0a51b;
  outline-offset:2px;
}
#section-produtos .inventory-actions .btn:disabled,
#section-produtos .stock-filters button:disabled {
  cursor:not-allowed;
  opacity:.52;
  filter:saturate(.45);
  box-shadow:none;
  transform:none;
}
#section-produtos .stock-search-controls {
  display:flex;
  align-items:stretch;
  gap:8px;
  width:min(100%,500px);
  margin:0;
}
#section-produtos .stock-search {
  width:100%;
  min-width:0;
  min-height:44px;
  border:2px solid #7598ed;
  border-radius:10px;
  background:#fff;
  color:#102b50;
  font-size:14px;
  font-weight:600;
  box-shadow:0 2px 7px rgba(37,99,235,.10);
}
#section-produtos .stock-search::placeholder { color:#536985; opacity:1; font-weight:500; }
#section-produtos .stock-search:focus {
  border-color:#1749d1;
  outline:3px solid rgba(37,99,235,.2);
  outline-offset:1px;
  box-shadow:0 0 0 4px rgba(37,99,235,.11);
}
#section-produtos .stock-search-button {
  flex:0 0 auto;
  min-width:112px;
  min-height:44px;
  border:1px solid #087a68;
  border-radius:10px;
  color:#fff;
  background:linear-gradient(135deg,#079b78,#087a68);
  font-size:14px;
  font-weight:900;
  box-shadow:0 4px 10px rgba(8,122,104,.23);
}
#section-produtos .stock-search-button:hover {
  border-color:#056453;
  color:#fff;
  background:#056f5e;
}
#section-produtos .stock-search-icon {
  width:16px;
  height:16px;
  margin-right:5px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  vertical-align:-3px;
}
#section-produtos .stock-preset-row { gap:8px; }
#section-produtos .stock-pill {
  border:1px solid #9db9ee;
  border-radius:999px;
  padding:8px 13px;
  color:#173d78;
  background:#eaf1ff;
  font-weight:800;
  box-shadow:0 2px 4px rgba(27,67,140,.08);
  transition:background-color .15s ease, border-color .15s ease, transform .15s ease;
}
#section-produtos .stock-pill span { color:#294f91; font-weight:900; }
#section-produtos .stock-pill:hover {
  border-color:#1749d1;
  color:#fff;
  background:#2563eb;
  transform:translateY(-1px);
}
#section-produtos .stock-pill:hover span { color:#fff; }
#section-produtos .stock-pill.is-active,
#section-produtos .stock-pill[aria-pressed="true"] {
  border-color:#123cae;
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#123cae);
  box-shadow:0 4px 10px rgba(29,78,216,.27);
}
#section-produtos .stock-pill.is-active span,
#section-produtos .stock-pill[aria-pressed="true"] span { color:#e2edff; }
#section-produtos .stock-saved-chip {
  border:1px solid #5a8de0;
  background:#eaf2ff;
  box-shadow:0 2px 5px rgba(29,78,216,.10);
}
#section-produtos .stock-saved-chip button,
#section-produtos .stock-create-filter {
  color:#143f9d;
  font-weight:800;
}
#section-produtos .stock-saved-chip button.is-active {
  color:#fff;
  background:#1749d1;
}
#section-produtos .stock-saved-chip button:hover,
#section-produtos .stock-create-filter:hover {
  color:#fff;
  background:#087f6b;
}
#section-produtos .stock-create-filter {
  border:1px solid #087f6b;
  border-radius:9px;
  padding:8px 12px;
  background:#e6fbf4;
}
#section-produtos .stock-expiry-quick {
  border-color:#f0cf83;
  background:#fff9e9;
}
#section-produtos .stock-expiry-quick label { color:#724700; }
#section-produtos .stock-expiry-preset-form > span { color:#c27608; }
#section-produtos .stock-expiry-quick .btn {
  border:1px solid #a86500;
  color:#fff;
  background:#bd7400;
  font-weight:800;
}
#section-produtos .stock-rare-filters > summary { color:#1749a4; }
#section-produtos .stock-builder-grid .form-control,
#section-produtos .stock-rare-grid .form-control,
#section-produtos .stock-expiry-quick .form-control,
#section-produtos .stock-builder-actions .form-control {
  border-color:#8ba8d0;
  color:#183454;
  background-color:#fff;
}
#section-produtos .stock-builder-grid .form-control:focus,
#section-produtos .stock-rare-grid .form-control:focus,
#section-produtos .stock-expiry-quick .form-control:focus,
#section-produtos .stock-builder-actions .form-control:focus {
  border-color:#1749d1;
  outline:3px solid rgba(37,99,235,.16);
}
#section-produtos .stock-builder-actions .btn-secondary {
  border-color:#406caf;
  color:#1749a4;
  background:#edf4ff;
  font-weight:800;
}
#section-produtos .stock-builder-actions .btn-primary { color:#fff; }
#section-produtos .stock-table .badge-green { color:#075c3b; background:#c9f4dc; }
#section-produtos .stock-table .badge-red { color:#8c1728; background:#ffe0e4; }
#section-produtos .stock-table .badge-orange { color:#784400; background:#ffedc2; }

@media (max-width:620px) {
  #section-produtos .stock-search-controls { width:100%; }
  #section-produtos .stock-search-button { min-width:100px; }
  #section-produtos .stock-pill { padding:8px 11px; }
}
@media (max-width:390px) {
  #section-produtos .stock-search-controls { flex-direction:column; }
  #section-produtos .stock-search-button { width:100%; }
}
#section-produtos .stock-photo-backfill-button {
  border-color:#087a68;
  color:#fff;
  background:linear-gradient(135deg,#079b78,#087a68);
  font-weight:900;
  box-shadow:0 4px 10px rgba(8,122,104,.2);
}
#section-produtos .stock-photo-backfill-button:hover {
  color:#fff;
  background:#056f5e;
}
#section-produtos .stock-photo-backfill-button[aria-busy="true"] {
  cursor:progress;
  opacity:.82;
}
#section-produtos .stock-image-credit {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 12px;
  margin-top:13px;
  padding:11px 13px;
  border:1px solid #cbdcf2;
  border-radius:10px;
  background:#f2f7ff;
  color:#344c68;
  font-size:12px;
  line-height:1.5;
}
#section-produtos .stock-image-credit strong {
  flex:0 0 100%;
  color:#18385f;
  font-size:12px;
}
#section-produtos .stock-image-credit a {
  color:#1749a4;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:2px;
}
#section-produtos .stock-image-credit a:focus-visible {
  outline:3px solid #f0a51b;
  outline-offset:2px;
  border-radius:2px;
}
#section-produtos .stock-image-illustrative {
  display:inline-flex;
  align-items:center;
  padding:3px 8px;
  border-radius:999px;
  color:#69420a;
  background:#ffedc2;
  font-size:11px;
  font-weight:900;
}
#section-produtos .stock-image-retry-row {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:7px;
}
#section-produtos .stock-image-lookup-status {
  color:#5c6f86;
  font-size:12px;
}
#section-produtos .stock-image-retry {
  border-color:#087a68;
  color:#075c4f;
  background:#e6fbf4;
  font-weight:800;
}
#section-produtos .stock-image-retry:hover {
  color:#fff;
  background:#087a68;
}

/* Delivery receipt/monitor additions; isolated from shared PDV styling. */
.delivery-dispatch-group > summary { cursor:pointer; list-style:none; }
.delivery-dispatch-group > summary::-webkit-details-marker { display:none; }
.delivery-dispatch-group > summary::after { content:"＋"; margin-left:12px; font-size:18px; }
.delivery-dispatch-group[open] > summary::after { content:"−"; }
.delivery-dispatch-body { padding:0 18px 18px; }
.delivery-document-merchant { display:block; margin-top:5px; opacity:.78; }
.delivery-nonfiscal { display:block; margin-top:6px; color:#8f1c23; font-size:10px; font-weight:900; }
.delivery-detail-unit-price { color:#425663; font-size:11px; text-align:right; white-space:nowrap; }
.delivery-payment-state { display:inline-flex; margin:8px 0; padding:5px 10px; border-radius:999px; font-size:12px; font-weight:800; letter-spacing:.04em; }
.delivery-payment-state.is-paid { color:#126b37; background:#e2f5e9; }
.delivery-payment-state.is-unpaid { color:#a8202b; background:#fde8e9; }
.delivery-paid-stamp.is-unpaid { color:#a8202b; border-color:#a8202b; background:#fff1f1; }

/* Labels: a precise thermal-label workbench, intentionally separate from catalog pricing. */
.labels-page-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:14px; }
.labels-page-head h2 { margin:3px 0 4px; font-size:27px; color:#071d3d; }
.labels-page-head p { color:var(--text-muted); font-size:13px; }
.labels-eyebrow { color:#0b4f91; font-size:10px; font-weight:900; letter-spacing:.14em; }
.labels-access-badge { padding:7px 10px; border:1px solid #c4d8e9; border-radius:999px; background:#edf5fb; color:#214c70; font-size:11px; font-weight:800; white-space:nowrap; }
.labels-sample-banner { margin-bottom:16px; padding:11px 14px; border-left:4px solid #c69800; background:#fff7ce; color:#654e00; font-size:12px; font-weight:800; text-transform:lowercase; }
.labels-workspace { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr); gap:16px; align-items:start; }
.labels-editor-card .card-header small { color:var(--text-muted); font-size:11px; font-weight:500; }
.labels-source-box { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:13px; margin-bottom:16px; border:1px solid #cbddec; border-radius:11px; background:#f3f8fc; }
.labels-source-box label,.labels-form-grid label,.labels-settings-grid label { display:grid; gap:5px; color:#526b82; font-size:11px; font-weight:800; }
.labels-source-box small { grid-column:1/-1; color:#667f93; font-size:11px; }
.labels-source-box .labels-promotion-choice { grid-column:1/-1; }
.labels-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.labels-settings-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:12px; }
.labels-barcode-status { min-height:21px; margin-top:8px; color:#657b91; font-size:11px; font-weight:700; }
.labels-barcode-status.valid { color:#147344; }.labels-barcode-status.invalid { color:#ad2d2d; }
.labels-actions,.labels-print-confirm { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:16px; }
.labels-print-confirm { justify-content:space-between; padding-top:14px; border-top:1px solid var(--border); }
.labels-print-confirm span { color:#274963; font-size:12px; font-weight:700; max-width:310px; }
.labels-print-confirm input { margin-top:2px; accent-color:var(--green-main); }
.labels-print-hint,.labels-preview-note { margin-top:12px; color:var(--text-muted); font-size:11px; line-height:1.45; }
.labels-preview-card { position:sticky; top:78px; }
.labels-preview-card .card-header span:last-child { color:var(--text-muted); font-size:11px; font-weight:500; }
.label-preview-stage { min-height:255px; display:grid; place-items:center; padding:28px 12px; background:#e8edf0; border-radius:10px; }
.physical-label { position:relative; width:100%; aspect-ratio:80/25; container-type:inline-size; background:#F8E84C; color:#111; overflow:hidden; padding:1.7% 3.4% 1.2%; display:flex; box-shadow:0 10px 24px rgba(25,48,64,.18); }
.physical-label.has-side { padding-left:10%; }
.physical-label-side { position:absolute; left:1.6%; top:50%; writing-mode:vertical-rl; transform:translateY(-50%) rotate(180deg); font-size:clamp(11px,3.7cqw,15px); font-weight:800; white-space:nowrap; max-height:92%; overflow:hidden; }
.physical-label.has-long-side .physical-label-side { font-size:clamp(8px,2.3cqw,10px); }
.physical-label:not(.has-side) .physical-label-side { display:none; }
.physical-label.is-promotion { background:#d6202e; color:#fff; }
.physical-label.is-promotion .physical-label-code { background:#fff; color:#111; }
.physical-label-main { flex:1 1 0; width:68%; display:flex; flex-direction:column; justify-content:space-between; min-width:0; overflow:hidden; }
.physical-label-title { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; min-width:0; }
.physical-label-main strong { font-size:clamp(12px,4.4cqw,19px); line-height:1.08; max-width:100%; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.physical-label-main b { font-size:clamp(9px,3.2cqw,14px); line-height:1.08; max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.physical-label-price { display:flex; flex-direction:column; align-items:center; justify-content:flex-end; min-width:0; }
.physical-label-price span { font-size:clamp(8px,2.6cqw,12px); font-weight:900; line-height:1.15; text-transform:uppercase; }
.physical-label-price em { font-style:normal; font-size:clamp(23px,10.3cqw,43px); font-weight:900; letter-spacing:-.04em; line-height:.93; white-space:nowrap; }
.physical-label-price em.long-price { font-size:clamp(20px,8cqw,34px); }
.physical-label-code { flex:0 0 29%; width:29%; display:flex; flex-direction:column; align-items:center; font-size:clamp(8px,3.3cqw,12px); min-width:0; }
.label-code-head { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:45%; width:100%; white-space:nowrap; }
.label-app-logo { width:65%; height:72%; object-fit:contain; }
.label-code-head span { font-size:clamp(7px,2.4cqw,9px); }
.label-ean { width:100%; height:50%; max-height:92px; min-height:38px; }
.label-ean rect { fill:#111; }.label-ean text { font-size:6px; text-anchor:middle; }
@media (max-width:850px) {
  .labels-workspace { grid-template-columns:1fr; }.labels-preview-card { position:static; }
}
@media (max-width:560px) {
  .labels-page-head { flex-direction:column; }.labels-source-box,.labels-form-grid,.labels-settings-grid { grid-template-columns:1fr; }
  .labels-source-box small { grid-column:auto; }.label-preview-stage { min-height:190px; padding:20px 6px; }
}
@media print {
  .physical-label { box-shadow:none; page-break-after:always; }
}

/* Delivery: separate pickup/home routes and show payment as an independent state. */
.delivery-destination-group {
  margin: 12px 10px;
  overflow: hidden;
  border: 1px solid #d1dce6;
  border-radius: 15px;
  background: #f7f9fc;
}
.delivery-destination-group.destination-delivery { border-top: 4px solid #0b75c9; }
.delivery-destination-group.destination-pickup { border-top: 4px solid #6941a5; }
.delivery-destination-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  background: #fff;
  border-bottom: 1px solid #dbe3ee;
}
.delivery-destination-heading h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #102442;
  font-size: 15px;
}
.delivery-destination-heading > b {
  padding: 4px 9px;
  border-radius: 999px;
  background: #e8f2ff;
  color: #174f82;
  font-size: 11px;
}
.delivery-destination-group.destination-pickup .delivery-destination-heading > b {
  background: #f1ebfa;
  color: #553581;
}
.delivery-destination-group .delivery-operation-board {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.delivery-order-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.delivery-board-order-heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.delivery-destination-tag,
.delivery-payment-tag {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 5px 9px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .025em;
  line-height: 1.25;
}
.delivery-destination-tag.is-home-delivery {
  border-color: #07558b;
  background: #07558b;
  color: #fff;
}
.delivery-destination-tag.is-pickup {
  border-color: #573a83;
  background: #573a83;
  color: #fff;
}
.delivery-detail-type {
  display: flex;
  width: fit-content;
  margin-bottom: 10px;
  font-size: 13px;
  padding: 7px 12px;
}
.delivery-payment-tag.is-paid {
  border-color: #9bdfb5;
  background: #e6f7ec;
  color: #12613b;
}
.delivery-payment-tag.is-unpaid {
  border-color: #f0c077;
  background: #fff4df;
  color: #7a4600;
}
.delivery-payment-state.is-paid {
  border: 1px solid #9bdfb5;
  background: #e6f7ec;
  color: #12613b;
}
.delivery-payment-state.is-unpaid {
  border: 1px solid #f0c077;
  background: #fff4df;
  color: #7a4600;
}
.delivery-cash-receipt-action {
  flex-basis: 100%;
  min-height: 46px;
  white-space: normal;
  background: #167346;
}
.delivery-cash-receipt-action:hover { background: #105b37; }
.delivery-cash-receipt-action:focus-visible {
  outline: 3px solid #f2b705;
  outline-offset: 3px;
}
@media (max-width:760px) {
  .delivery-destination-group { margin: 10px 6px; }
  .delivery-destination-group .delivery-operation-board { grid-template-columns: repeat(4, minmax(225px,1fr)); }
  .delivery-destination-heading { align-items: flex-start; }
}

/* Fila operacional: três situações visíveis e envios separados. */
#section-delivery #deliverySummary { display:none; }
#section-delivery .delivery-panel-back {
  display:inline-flex; align-items:center; min-height:42px; margin:0 0 12px;
  padding:9px 16px; font-weight:800; box-shadow:0 2px 8px rgba(9,43,87,.12);
}
#section-delivery .delivery-panel-back:focus-visible {
  outline:3px solid #d7a300; outline-offset:3px;
}
#section-delivery .delivery-monitor-head { padding:15px 18px; margin-bottom:12px; }
#section-delivery .delivery-monitor-head h1 { font-size:clamp(25px,2.7vw,34px); }
#section-delivery .delivery-toolbar {
  display:flex; align-items:center; gap:10px; margin-bottom:12px;
}
#section-delivery .delivery-search { flex:1 1 290px; min-width:0; }
#section-delivery .delivery-whatsapp-action { flex:0 1 auto; }
#section-delivery .delivery-queue-layout {
  grid-template-columns:minmax(0,1fr) minmax(300px,330px); gap:14px;
}
#section-delivery .delivery-side-stack { display:grid; align-content:start; gap:14px; min-width:0; }
#section-delivery .delivery-dispatch { margin:0; }
#section-delivery .delivery-dispatch-head { padding:13px 15px; align-items:center; }
#section-delivery .delivery-dispatch-head h2 { font-size:21px; }
#section-delivery .delivery-dispatch-head p { font-size:11px; }
#section-delivery .delivery-dispatch-live { padding:6px 8px; white-space:nowrap; }
#section-delivery .delivery-dispatch-body { padding:0; }
#section-delivery .delivery-active { grid-template-columns:minmax(0,1fr); padding:10px; }
#section-delivery .delivery-dispatch-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
#section-delivery .delivery-dispatch-order-head { flex-wrap:wrap; }
#section-delivery .delivery-detail-panel { position:relative; top:auto; }
#section-delivery .delivery-operation-board {
  grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px;
  overflow:visible; padding:10px; background:#eef3f6;
}
#section-delivery .delivery-board-lane { min-width:0; border-top-width:7px; }
#section-delivery .delivery-board-lane > header { grid-template-columns:minmax(0,1fr) auto; min-height:65px; }
#section-delivery .delivery-board-lane-list { min-height:76px; padding:8px; }
#section-delivery .lane-red { border-top-color:#db3249; background:#fff0f2; }
#section-delivery .lane-red > header { background:#ffbfc9; }
#section-delivery .lane-yellow { border-top-color:#ed9b00; background:#fff1c8; }
#section-delivery .lane-yellow > header { background:#ffd773; }
#section-delivery .lane-green { border-top-color:#0b9c54; background:#d4f7e0; }
#section-delivery .lane-green > header { background:#a5e8bd; }
#section-delivery .delivery-board-lane > header b { font-size:17px; }
#section-delivery .delivery-board-lane > header small { color:#294957; font-size:12px; }
#section-delivery .delivery-board-lane > header > strong { background:#fff; color:#153d32; }
#section-delivery .delivery-ticket-time { display:inline-flex; padding:5px 8px; border-radius:8px; background:#133c52; color:#fff; font:800 15px/1 sans-serif; letter-spacing:0; white-space:nowrap; }
#section-delivery .delivery-board-move button:not(.delivery-board-cancel):not(:disabled) { background:#087c43; border:2px solid #075f37; color:#fff; font-size:13px; padding:9px 12px; }
#section-delivery .delivery-board-move button:not(.delivery-board-cancel):not(:disabled):hover { background:#075f37; color:#fff; }
#section-delivery .delivery-board-move button:disabled { background:#e1e8e9; color:#475d66; opacity:1; }
#section-delivery .delivery-board-move .delivery-board-cancel,
#section-delivery .delivery-board-move .delivery-board-cancel:not(:disabled) {
  margin-right:auto; padding:9px 12px; border:2px solid #aa2035; border-radius:9px;
  background:linear-gradient(145deg,#e53751,#b91937); color:#fff; font-size:13px;
  box-shadow:0 4px 0 #86172c,0 7px 12px rgba(142,22,44,.18);
}
#section-delivery .delivery-board-move .delivery-board-cancel:hover {
  background:linear-gradient(145deg,#fa4961,#c5203d); color:#fff;
}
#section-delivery .delivery-board-move button:not(.delivery-board-cancel):not(:disabled) {
  border-radius:9px; box-shadow:0 4px 0 #064e2e,0 7px 12px rgba(7,95,55,.15);
}
#section-delivery .delivery-board-move button:not(:disabled):active { transform:translateY(3px); box-shadow:0 1px 0 rgba(10,40,65,.4); }
#section-delivery .delivery-board-move button:focus-visible { outline:3px solid #173447; outline-offset:3px; }
#section-delivery .delivery-countdown { font-size:15px; padding:6px 10px; }
#section-delivery .delivery-driver-picker,
#section-delivery .delivery-pickup-receipt { border:2px solid #0c9252; border-radius:12px; background:#e1f8e9; }
#section-delivery .delivery-driver-picker > b,
#section-delivery .delivery-pickup-receipt > b { display:block; color:#075638; font-size:17px; margin-bottom:8px; }
#section-delivery .delivery-driver-picker p,
#section-delivery .delivery-pickup-receipt p { color:#254d3a; font-size:13px; }
#section-delivery .delivery-driver-controls { display:flex; flex-wrap:wrap; gap:9px; margin-top:12px; }
#section-delivery .delivery-driver-controls select { flex:1 1 190px; }
#section-delivery .delivery-driver-controls .delivery-driver-clear { flex:none; width:auto; min-width:42px; }
#section-delivery .delivery-driver-controls .delivery-driver-clear[hidden] { display:none; }
#section-delivery .delivery-pickup-receipt label { display:block; margin:10px 0 4px; font-weight:700; }
#section-delivery .delivery-pickup-receipt input { max-width:420px; }
#section-delivery .delivery-pickup-receipt button { margin-top:12px; }
#section-delivery .delivery-board-card { min-height:0; gap:5px; padding:11px; border-radius:9px; }
#section-delivery .lane-red .delivery-board-card { background:#fffafb; border-left-color:#db3249; }
#section-delivery .lane-yellow .delivery-board-card { background:#fffdf4; border-left-color:#d99a00; }
#section-delivery .lane-green .delivery-board-card { background:#f9fffb; border-left-color:#168f53; }
#section-delivery .delivery-board-card:hover { transform:translateY(-2px); }
#section-delivery .delivery-board-status { white-space:normal; }
#section-delivery .delivery-board-meta span { white-space:normal; }
#section-delivery .delivery-card-preview {
  display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
  font-size:11px; color:#425d68;
}
#section-delivery .delivery-board-card-bottom { padding-top:7px; }
#section-delivery .delivery-board-card-bottom > span { font-size:11px; color:#215a66; font-weight:800; }
@media (max-width:1280px) {
  #section-delivery .delivery-queue-layout { grid-template-columns:minmax(0,1fr); }
  #section-delivery .delivery-side-stack { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  #section-delivery .delivery-operation-board { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  #section-delivery .delivery-operation-board, #section-delivery .delivery-side-stack { grid-template-columns:minmax(0,1fr); }
  #section-delivery .delivery-toolbar { flex-wrap:wrap; }
  #section-delivery .delivery-whatsapp-action { width:100%; }
}

/* Caixa/Delivery usa a mesma organização em três áreas do PDV. */
#section-delivery.is-counter-mode .delivery-monitor-head { display:none; }
#section-delivery #deliveryCounterSale[hidden], #section-delivery #deliveryMonitorContent[hidden] { display:none; }
#section-delivery #deliveryCounterSale .pdv-terminal-shell { min-height:0; overflow:hidden; border-radius:13px; }
#section-delivery #deliveryCounterSale .pdv-terminal-grid { min-height:0; }
#section-delivery #deliveryCounterSale .pdv-terminal-grid.is-blocked { opacity:.55; pointer-events:none; }
#section-delivery #deliveryCounterSale .pdv-catalog-pane,
#section-delivery #deliveryCounterSale .pdv-consumption-pane,
#section-delivery #deliveryCounterSale .pdv-payment-pane { padding:15px; }
#section-delivery #deliveryCounterSale .pdv-barcode-entry input,
#section-delivery #deliveryCounterSale .pdv-product-search { min-height:46px; font-size:14px; }
#section-delivery #deliveryCounterSale .pdv-category-tabs {
  flex-wrap:nowrap; overflow-x:auto; margin:8px 0; padding-bottom:7px;
}
#section-delivery #deliveryCounterSale .pdv-category-tabs button { min-height:34px; padding:6px 10px; font-size:12px; }
#section-delivery #deliveryCounterSale .pdv-product-grid {
  grid-template-columns:repeat(2,minmax(0,1fr)); max-height:365px; gap:8px;
  overflow:auto; overscroll-behavior:contain;
}
#section-delivery #deliveryCounterSale .pdv-product-tile { min-height:94px; padding:10px; gap:4px; }
#section-delivery #deliveryCounterSale .pdv-product-tile span { font-size:13px; }
#section-delivery #deliveryCounterSale .pdv-product-tile b { font-size:19px; }
#section-delivery #deliveryCounterSale .pdv-product-tile b em,
#section-delivery #deliveryCounterSale .pdv-product-tile small { font-size:10px; }
#section-delivery #deliveryCounterSale .pdv-current-items { min-height:190px; max-height:365px; }
#section-delivery #deliveryCounterSale .delivery-counter-note-label {
  display:block; margin:8px 0 5px; font-size:12px; font-weight:800; color:#34526b;
}
#section-delivery #deliveryCounterSale .pdv-sale-item {
  grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:10px 0;
}
#section-delivery #deliveryCounterSale .pdv-sale-item > strong { grid-column:2; }
#section-delivery #deliveryCounterSale .pdv-remove-item { grid-column:2; justify-self:end; }
#section-delivery #deliveryCounterSale .pdv-item-controls button { width:32px; height:32px; font-size:19px; }
#section-delivery #deliveryCounterSale .pdv-big-total { padding:16px; }
#section-delivery #deliveryCounterSale .pdv-big-total strong { font-size:clamp(32px,3.3vw,48px); }
#section-delivery #deliveryCounterSale .pdv-action { min-height:60px; font-size:15px; }
#section-delivery #deliveryCounterSale .delivery-counter-help { display:block; margin-top:14px; color:#3f6271; line-height:1.4; }
#section-delivery #deliveryCounterMetrics { grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:14px; }
@media (max-width:1100px) {
  #section-delivery #deliveryCounterMetrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  #section-delivery #deliveryCounterSale .pdv-terminal-header { grid-template-columns:1fr auto; gap:7px; }
  #section-delivery #deliveryCounterSale .pdv-terminal-header > strong { display:block; grid-column:1 / -1; grid-row:2; font-size:18px; }
  #section-delivery #deliveryCounterSale .pdv-terminal-grid { grid-template-columns:minmax(0,1fr); }
  #section-delivery #deliveryCounterSale .pdv-payment-pane { grid-column:auto; }
}

/* ── Checkout console refinement: clear scan → basket → total hierarchy ── */
.pdv-terminal-shell {
  --checkout-navy:#17334a;
  --checkout-blue:#176b78;
  --checkout-teal:#14765f;
  --checkout-yellow:#f2c94c;
  --checkout-paper:#f5f4ef;
  --checkout-line:#d7dfdc;
  background:var(--checkout-paper);
  color:#193448;
}
.pdv-terminal-shell,
#section-delivery #deliveryCounterSale .pdv-terminal-shell {
  border:1px solid #d5dedb;
  box-shadow:0 14px 38px rgba(19,49,67,.09);
}
.pdv-terminal-header {
  min-height:72px;
  padding:12px clamp(16px,2.4vw,32px);
  background:#17334a;
  border-bottom:4px solid #d5a936;
  box-shadow:none;
}
.pdv-terminal-header > div:first-child { font-size:25px; letter-spacing:.025em; }
.pdv-terminal-header > div:first-child span { color:#f2c94c; }
.pdv-terminal-header > strong { font-size:15px; letter-spacing:.16em; color:#d4e7e7; }
.pdv-terminal-operator span {
  padding:7px 10px;
  background:#d8e9e3;
  color:#194538;
  font-size:11px;
  letter-spacing:.04em;
}
.pdv-terminal-grid {
  grid-template-columns:minmax(300px,.98fr) minmax(370px,1.2fr) minmax(285px,.78fr);
  min-height:calc(100vh - 72px);
}
.pdv-catalog-pane,.pdv-consumption-pane,.pdv-payment-pane { padding:clamp(15px,1.65vw,24px); }
.pdv-catalog-pane { background:#f1f5f2; border-color:var(--checkout-line); }
.pdv-consumption-pane { background:#fffefa; border-color:var(--checkout-line); }
.pdv-payment-pane { background:#e8f0eb; }
.pdv-pane-title {
  align-items:center;
  margin-bottom:14px;
  padding-bottom:11px;
  border-bottom:1px solid var(--checkout-line);
}
.pdv-pane-title span { color:#176b78; font-size:11px; letter-spacing:.13em; }
.pdv-pane-title b { color:#193448; font-size:14px; }
.pdv-barcode-entry { grid-template-columns:minmax(0,1fr) auto; gap:8px; margin-bottom:9px; }
.pdv-barcode-entry input,
.pdv-product-search {
  min-width:0;
  min-height:54px;
  border:1px solid #b9cac7;
  border-radius:10px;
  background:#fff;
  color:#193448;
  font-size:15px;
  font-weight:650;
}
.pdv-barcode-entry input {
  min-height:60px;
  padding-inline:15px;
  border:2px solid #176b78;
  box-shadow:inset 4px 0 #d5a936;
  font-size:17px;
}
.pdv-barcode-entry input::placeholder,.pdv-product-search::placeholder { color:#75878a; font-weight:500; }
.pdv-barcode-entry button {
  min-height:54px;
  border:1px solid #125d67;
  border-radius:10px;
  padding:0 16px;
  background:#176b78;
  color:#fff;
  font-size:13px;
  font-weight:850;
}
.pdv-product-search { padding-inline:13px; }
.pdv-category-tabs { gap:7px; margin:11px 0; }
.pdv-category-tabs button {
  min-height:36px;
  padding:7px 11px;
  border-color:#cad7d3;
  border-radius:8px;
  background:#fff;
  color:#345760;
  font-size:12px;
}
.pdv-category-tabs button.active { background:#176b78; border-color:#176b78; color:#fff; }
.pdv-product-grid { gap:9px; max-height:calc(100vh - 255px); padding:2px 3px 6px 1px; }
.pdv-product-tile {
  min-height:104px;
  padding:12px;
  border:1px solid #284a5a;
  border-radius:10px;
  background:#244659;
  box-shadow:0 2px 0 #173448,0 5px 11px rgba(23,52,72,.10);
}
.pdv-product-tile:hover { background:#315b6d; transform:translateY(-1px); }
.pdv-product-tile span { font-size:14px; line-height:1.25; }
.pdv-product-tile b { color:#f4d36b; font-size:21px; }
.pdv-product-tile small { color:#c9dbdb; font-size:11px; }
.pdv-current-items {
  min-height:clamp(300px,48vh,570px);
  max-height:calc(100vh - 220px);
  padding:0 3px 4px 0;
  overscroll-behavior:contain;
}
.pdv-sale-item {
  grid-template-columns:minmax(120px,1fr) auto auto auto;
  gap:clamp(7px,1vw,14px);
  min-height:78px;
  padding:12px 8px;
  border-bottom:1px solid #e5ebe7;
}
.pdv-sale-item:nth-child(even) { background:#fbfcf9; }
.pdv-sale-item-info b { color:#193448; font-size:15px; line-height:1.25; }
.pdv-sale-item-info small { color:#657b7d; font-size:11px; }
.pdv-sale-item > strong { color:#14765f; font-size:17px; }
.pdv-quantity-caption { color:#667d7d; font-size:9px; }
.pdv-item-controls { gap:4px; }
.pdv-item-controls button {
  width:36px;
  height:36px;
  border-radius:8px;
  background:#176b78;
  font-size:20px;
}
.pdv-quantity-value { min-width:40px; font-size:17px; }
.pdv-quantity-input {
  width:78px;
  min-height:40px;
  border:1px solid #176b78;
  background:#f8fcfa;
  color:#173448;
  font-size:18px;
}
.pdv-unit-label { color:#176b78; }
.pdv-remove-item { min-height:34px; }
.pdv-terminal-empty { min-height:220px; color:#728583; }
.pdv-terminal-empty b { color:#345760; font-size:16px; }
.pdv-customer-line { border-color:#dce5e0; }
.pdv-customer-line label { color:#365963; font-size:13px; }
.pdv-customer-line input { min-height:42px; font-size:14px; }
.pdv-big-total {
  padding:19px 17px;
  border:1px solid #294a55;
  border-radius:12px;
  background:#17394a;
  text-align:left;
}
.pdv-big-total small { color:#b8d6cf; font-size:10px; letter-spacing:.14em; }
.pdv-big-total strong {
  margin-top:8px;
  color:#f4d36b;
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(48px,5vw,70px);
  line-height:1;
  font-variant-numeric:tabular-nums;
  letter-spacing:0;
  overflow-wrap:anywhere;
}
.pdv-total-lines { border:1px solid #d7e1dc; border-radius:10px; }
.pdv-total-lines > div { padding:11px 13px; color:#4c6267; font-size:13px; }
.pdv-total-lines > div b { color:#203e4a; font-variant-numeric:tabular-nums; }
.pdv-total-lines .pdv-due { background:#dcece4; color:#204e3f; font-size:16px; }
.pdv-total-lines .pdv-due b { color:#14553e; }
.pdv-action {
  min-height:58px;
  margin-top:8px;
  border-radius:9px;
  padding:10px 12px;
  box-shadow:0 2px 0 rgba(18,43,51,.14);
  font-size:15px;
}
.pdv-action small { font-size:10px; }
.pdv-action.primary { background:#e8c34d; color:#243a43; }
.pdv-action.fiscal { background:#176b61; }
.pdv-action.no-fiscal { background:#405765; }
.pdv-action.secondary { background:#287e91; }
.pdv-action.danger { background:#ae5048; }
.pdv-shortcuts {
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:6px 10px;
  margin-top:11px;
  color:#4e686a;
  font-size:10px;
}
.pdv-shortcuts kbd,.pdv-shortcuts [class*="key"] {
  padding:2px 6px;
  border:1px solid #bdcbc7;
  border-bottom-width:2px;
  border-radius:5px;
  background:#fff;
  color:#244654;
  font:700 10px 'Plus Jakarta Sans',sans-serif;
}
.pdv-shortcut-config {
  border-color:#aabfba;
  color:#315d61;
  font-size:12px;
}
.pdv-terminal-shell :is(button,input,textarea,select,[tabindex]):focus-visible {
  outline:3px solid #bf8b14;
  outline-offset:2px;
  box-shadow:0 0 0 2px #fff;
}
.pdv-terminal-shell button:disabled { opacity:.55; cursor:not-allowed; }

/* Delivery counter: same fast workflow, scaled for its embedded panel. */
#section-delivery #deliveryCounterSale .pdv-terminal-shell {
  --checkout-paper:#f5f4ef;
  border-radius:12px;
  background:var(--checkout-paper);
}
#section-delivery #deliveryCounterSale .pdv-terminal-header {
  min-height:64px;
  padding:10px 18px;
  border-bottom-width:3px;
}
#section-delivery #deliveryCounterSale .pdv-terminal-header > div:first-child { font-size:22px; }
#section-delivery #deliveryCounterSale .pdv-terminal-header > strong { font-size:13px; }
#section-delivery #deliveryCounterSale .pdv-terminal-grid {
  grid-template-columns:minmax(230px,.98fr) minmax(270px,1.15fr) minmax(230px,.82fr);
}
#section-delivery #deliveryCounterSale .pdv-catalog-pane,
#section-delivery #deliveryCounterSale .pdv-consumption-pane,
#section-delivery #deliveryCounterSale .pdv-payment-pane { padding:14px; }
#section-delivery #deliveryCounterSale .pdv-barcode-entry input,
#section-delivery #deliveryCounterSale .pdv-product-search { min-height:46px; font-size:14px; }
#section-delivery #deliveryCounterSale .pdv-barcode-entry input { min-height:50px; font-size:15px; }
#section-delivery #deliveryCounterSale .pdv-barcode-entry button { min-height:46px; padding:0 12px; font-size:12px; }
#section-delivery #deliveryCounterSale .pdv-product-grid { max-height:350px; }
#section-delivery #deliveryCounterSale .pdv-product-tile { min-height:88px; }
#section-delivery #deliveryCounterSale .pdv-current-items { min-height:190px; max-height:350px; }
#section-delivery #deliveryCounterSale .pdv-big-total { padding:15px; }
#section-delivery #deliveryCounterSale .pdv-big-total strong { font-size:clamp(40px,3.8vw,54px); }
#section-delivery #deliveryCounterSale .pdv-action { min-height:52px; font-size:14px; }
#section-delivery #deliveryCounterSale .delivery-counter-help { color:#4b6567; font-size:11px; }
#section-delivery #deliveryCounterSale .delivery-counter-note-label { color:#365963; }

@media (max-width:1120px) {
  .pdv-terminal-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); }
  .pdv-payment-pane { grid-column:1 / -1; }
  .pdv-payment-pane .pdv-total-lines { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pdv-payment-pane .pdv-total-lines > div { min-width:0; justify-content:space-between; gap:8px; }
  .pdv-payment-pane .pdv-action { width:calc(50% - 5px); margin-right:6px; vertical-align:top; }
  .pdv-payment-pane .pdv-shortcut-config,.pdv-payment-pane .pdv-shortcuts { max-width:calc(50% - 5px); }
  #section-delivery #deliveryCounterSale .pdv-terminal-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  #section-delivery #deliveryCounterSale .pdv-payment-pane { grid-column:1 / -1; }
}
@media (max-width:760px) {
  .pdv-terminal-shell { min-height:0; }
  .pdv-terminal-header { grid-template-columns:1fr auto; gap:6px 12px; min-height:0; }
  .pdv-terminal-header > strong { display:block; grid-column:1 / -1; grid-row:2; font-size:12px; }
  .pdv-terminal-operator { grid-column:2; grid-row:1; }
  .pdv-terminal-grid,#section-delivery #deliveryCounterSale .pdv-terminal-grid {
    grid-template-columns:minmax(0,1fr);
    min-height:0;
  }
  .pdv-catalog-pane,.pdv-consumption-pane,.pdv-payment-pane { border-right:0; border-bottom:1px solid var(--checkout-line); }
  .pdv-catalog-pane,.pdv-consumption-pane,.pdv-payment-pane,
  #section-delivery #deliveryCounterSale .pdv-catalog-pane,
  #section-delivery #deliveryCounterSale .pdv-consumption-pane,
  #section-delivery #deliveryCounterSale .pdv-payment-pane { padding:14px; }
  .pdv-product-grid,#section-delivery #deliveryCounterSale .pdv-product-grid { max-height:340px; }
  .pdv-current-items,#section-delivery #deliveryCounterSale .pdv-current-items { min-height:190px; max-height:340px; }
  .pdv-payment-pane { grid-column:auto; }
  .pdv-payment-pane .pdv-action { width:100%; margin-right:0; }
  .pdv-payment-pane .pdv-shortcut-config,.pdv-payment-pane .pdv-shortcuts { max-width:none; }
  #section-delivery #deliveryCounterSale .pdv-payment-pane { grid-column:auto; }
}
@media (max-width:480px) {
  .pdv-terminal-header { padding:10px 12px; }
  .pdv-terminal-header > div:first-child { font-size:20px; }
  .pdv-terminal-header > strong { font-size:10px; letter-spacing:.1em; }
  .pdv-terminal-operator small { font-size:8px; }
  .pdv-terminal-operator b { max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
  .pdv-terminal-operator span { padding:6px 7px; font-size:9px; }
  .pdv-barcode-entry { grid-template-columns:minmax(0,1fr) auto; }
  .pdv-barcode-entry input { padding-inline:10px; font-size:14px; }
  .pdv-barcode-entry button { padding:0 10px; font-size:11px; }
  .pdv-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pdv-sale-item,#section-delivery #deliveryCounterSale .pdv-sale-item { grid-template-columns:minmax(0,1fr) auto; gap:7px; }
  .pdv-sale-item-info b { font-size:14px; }
  .pdv-sale-item > strong { grid-column:2; grid-row:1; font-size:16px; }
  .pdv-sale-quantity { grid-column:1; align-items:flex-start; }
  .pdv-remove-item { grid-column:2; grid-row:2; }
  .pdv-item-controls button { width:34px; height:34px; }
  .pdv-quantity-input { width:68px; min-height:36px; }
  .pdv-payment-pane .pdv-total-lines { grid-template-columns:1fr; }
  .pdv-big-total strong { font-size:48px; }
  .pdv-shortcuts { justify-content:flex-start; }
}
@media (prefers-reduced-motion:reduce) {
  .pdv-terminal-shell *,#section-delivery #deliveryCounterSale .pdv-terminal-shell * { scroll-behavior:auto !important; transition-duration:.01ms !important; }
}

/* ── TOTEM - INSIGHT SYSTEMS checkout: legible at a glance, built for a long shift ── */
#section-pdv-terminal .pdv-terminal-shell,
#section-delivery #deliveryCounterSale .pdv-terminal-shell {
  --checkout-navy:#071d3d;
  --checkout-blue:#0b4f91;
  --checkout-teal:#2478c8;
  --checkout-yellow:#ffc400;
  --checkout-paper:#f3f6f9;
  --checkout-line:#cfdae7;
}
#section-pdv-terminal .pdv-terminal-grid,
#section-delivery #deliveryCounterSale .pdv-terminal-grid {
  grid-template-columns:minmax(0,1fr) minmax(0,1.14fr) minmax(290px,.82fr);
}
#section-pdv-terminal .pdv-catalog-pane,
#section-delivery #deliveryCounterSale .pdv-catalog-pane { background:#edf4fa; }
#section-pdv-terminal .pdv-consumption-pane,
#section-delivery #deliveryCounterSale .pdv-consumption-pane { background:#fffdf8; }
#section-pdv-terminal .pdv-payment-pane,
#section-delivery #deliveryCounterSale .pdv-payment-pane {
  background:#e8f0f8;
  border-left:1px solid #d3dfeb;
}
#section-pdv-terminal .pdv-pane-title,
#section-delivery #deliveryCounterSale .pdv-pane-title { border-bottom-color:#cbd8e4; }
#section-pdv-terminal .pdv-pane-title span,
#section-delivery #deliveryCounterSale .pdv-pane-title span { color:#0b4f91; }
#section-pdv-terminal .pdv-sale-item,
#section-delivery #deliveryCounterSale .pdv-sale-item {
  min-width:0;
  border-bottom:1px solid #dce5eb;
}
#section-pdv-terminal .pdv-sale-item-info,
#section-delivery #deliveryCounterSale .pdv-sale-item-info { min-width:0; }
#section-pdv-terminal .pdv-sale-item-info b,
#section-delivery #deliveryCounterSale .pdv-sale-item-info b {
  color:#102442;
  overflow-wrap:anywhere;
}
#section-pdv-terminal .pdv-sale-item > strong,
#section-delivery #deliveryCounterSale .pdv-sale-item > strong {
  color:#0b4f91;
  font-variant-numeric:tabular-nums;
}
#section-pdv-terminal .pdv-sale-equation,
#section-delivery #deliveryCounterSale .pdv-sale-equation {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 7px;
  min-width:0;
  margin-top:5px;
  color:#586c7f;
  font-size:12px;
  line-height:1.35;
  font-variant-numeric:tabular-nums;
}
#section-pdv-terminal .pdv-sale-equation > *,
#section-delivery #deliveryCounterSale .pdv-sale-equation > * { min-width:0; }
#section-pdv-terminal .pdv-sale-equation :is(b,strong),
#section-delivery #deliveryCounterSale .pdv-sale-equation :is(b,strong) {
  color:#193c5d;
  font-weight:800;
}
#section-pdv-terminal .pdv-sale-equation :is(small,span),
#section-delivery #deliveryCounterSale .pdv-sale-equation :is(small,span) { overflow-wrap:anywhere; }
#section-pdv-terminal .pdv-big-total,
#section-delivery #deliveryCounterSale .pdv-big-total {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  min-height:152px;
  padding:20px 19px;
  border:1px solid #082b58;
  border-left:6px solid #ffc400;
  border-radius:12px;
  background:#071d3d;
  box-shadow:0 8px 18px rgba(7,29,61,.16);
  text-align:left;
}
#section-pdv-terminal .pdv-total-kicker,
#section-delivery #deliveryCounterSale .pdv-total-kicker {
  display:block;
  margin-bottom:6px;
  color:#d9e7f4;
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  line-height:1.25;
}
#section-pdv-terminal .pdv-big-total small,
#section-delivery #deliveryCounterSale .pdv-big-total small {
  color:#d9e7f4;
  font-size:11px;
  font-weight:850;
  letter-spacing:.15em;
}
#section-pdv-terminal .pdv-big-total strong,
#section-delivery #deliveryCounterSale .pdv-big-total strong {
  display:block;
  max-width:100%;
  margin-top:7px;
  color:#ffc400;
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(54px,5.1vw,78px);
  font-weight:800;
  line-height:.98;
  letter-spacing:-.015em;
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
}
#section-pdv-terminal .pdv-total-lines,
#section-delivery #deliveryCounterSale .pdv-total-lines {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  margin:12px 0 13px;
  border:1px solid #cbd8e4;
  border-radius:10px;
  background:#fffdf8;
  overflow:hidden;
}
#section-pdv-terminal .pdv-total-lines > div,
#section-delivery #deliveryCounterSale .pdv-total-lines > div {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:9px 12px;
  border-bottom:1px solid #e2e9ef;
  color:#52677c;
  font-size:13px;
}
#section-pdv-terminal .pdv-total-lines > div:last-child,
#section-delivery #deliveryCounterSale .pdv-total-lines > div:last-child { border-bottom:0; }
#section-pdv-terminal .pdv-total-lines > div b,
#section-delivery #deliveryCounterSale .pdv-total-lines > div b {
  min-width:0;
  color:#102442;
  font-size:14px;
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
  text-align:right;
}
#section-pdv-terminal .pdv-total-lines .pdv-due,
#section-delivery #deliveryCounterSale .pdv-total-lines .pdv-due {
  padding-block:12px;
  background:#dceafa;
  color:#071d3d;
  font-size:15px;
  font-weight:900;
}
#section-pdv-terminal .pdv-total-lines .pdv-due b,
#section-delivery #deliveryCounterSale .pdv-total-lines .pdv-due b {
  color:#0b4f91;
  font-size:18px;
}
#section-pdv-terminal .pdv-tender-preview,
#section-delivery #deliveryCounterSale .pdv-tender-preview {
  display:grid;
  gap:0;
  min-width:0;
  margin:0 0 13px;
  padding:4px 12px;
  border:1px solid #cbd8e4;
  border-radius:10px;
  background:#fffdf8;
}
#section-pdv-terminal .pdv-tender-row,
#section-delivery #deliveryCounterSale .pdv-tender-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:8px 0;
  border-bottom:1px solid #e3eaf0;
  color:#52677c;
  font-size:12px;
  line-height:1.35;
}
#section-pdv-terminal .pdv-tender-row:last-child,
#section-delivery #deliveryCounterSale .pdv-tender-row:last-child { border-bottom:0; }
#section-pdv-terminal .pdv-tender-row > *,
#section-delivery #deliveryCounterSale .pdv-tender-row > * { min-width:0; }
#section-pdv-terminal .pdv-tender-row :is(b,strong),
#section-delivery #deliveryCounterSale .pdv-tender-row :is(b,strong) {
  color:#102442;
  font-size:14px;
  font-variant-numeric:tabular-nums;
  text-align:right;
  overflow-wrap:anywhere;
}
#section-pdv-terminal .pdv-tender-row:last-child :is(b,strong),
#section-delivery #deliveryCounterSale .pdv-tender-row:last-child :is(b,strong) { color:#0b4f91; }
#section-pdv-terminal .pdv-payment-pane .pdv-action,
#section-delivery #deliveryCounterSale .pdv-payment-pane .pdv-action {
  width:100%;
  min-height:54px;
  margin:7px 0 0;
  border-radius:9px;
  font-size:14px;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action.primary,
#section-delivery #deliveryCounterSale .pdv-payment-pane .pdv-action.primary {
  min-height:62px;
  background:#ffc400;
  color:#071d3d;
  box-shadow:0 3px 0 #bd9000;
  font-weight:900;
}
#section-pdv-terminal .pdv-action small,
#section-delivery #deliveryCounterSale .pdv-action small { line-height:1.35; }
#section-pdv-terminal .pdv-shortcut-config,
#section-delivery #deliveryCounterSale .pdv-shortcut-config {
  min-height:40px;
  border-color:#a9bed1;
  background:#f8fbfe;
  color:#0b4f91;
}
#section-pdv-terminal .pdv-shortcuts,
#section-delivery #deliveryCounterSale .pdv-shortcuts {
  gap:7px 10px;
  color:#435d75;
  line-height:1.5;
}
#section-pdv-terminal .pdv-shortcuts kbd,
#section-pdv-terminal .pdv-shortcuts [class*="key"],
#section-delivery #deliveryCounterSale .pdv-shortcuts kbd,
#section-delivery #deliveryCounterSale .pdv-shortcuts [class*="key"] {
  border-color:#b7c9d8;
  background:#fffdf8;
  color:#071d3d;
}
#section-pdv-terminal .pdv-terminal-shell :is(button,input,textarea,select,[tabindex]):focus-visible,
#section-delivery #deliveryCounterSale .pdv-terminal-shell :is(button,input,textarea,select,[tabindex]):focus-visible {
  outline:3px solid #0b75c9;
  outline-offset:2px;
  box-shadow:0 0 0 2px #fffdf8;
}

/* Payment confirmation keeps total, tender and change in one visual sequence. */
#paymentModal .payment-modal {
  width:min(100%,1020px);
  border:1px solid #c9d8e5;
  background:#f5f7f9;
}
#paymentModal .payment-modal .modal-header,
#paymentModal .payment-modal .modal-footer {
  background:#edf3f8;
  border-color:#d5e0e9;
}
#paymentModal .payment-modal .modal-header h3 { color:#071d3d; }
#paymentModal .payment-modal .modal-body { padding:clamp(14px,2vw,24px); }
#paymentModal .payment-modal .payment-receipt-wrap {
  border-color:#c9d9e5;
  background:#edf4fa;
}
#paymentModal .payment-modal .payment-total-card {
  margin:0 0 14px;
  padding:16px;
  border:1px solid #0a3566;
  border-left:6px solid #ffc400;
  border-radius:12px;
  background:#071d3d;
  color:#fff;
}
#paymentModal .payment-modal .payment-total-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
#paymentModal .payment-modal .payment-kicker { color:#d8e6f3; }
#paymentModal .payment-modal .payment-total-heading h4 { color:#fff; }
#paymentModal .payment-modal .payment-final-total {
  display:block;
  flex:0 1 auto;
  min-width:0;
  margin:0;
  padding:0;
  border-radius:0;
  background:transparent;
  color:#ffc400;
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(44px,6vw,68px);
  font-weight:800;
  line-height:1;
  font-variant-numeric:tabular-nums;
  text-align:right;
  overflow-wrap:anywhere;
}
#paymentModal .payment-modal .payment-breakdown { margin-top:12px; }
#paymentModal .payment-modal .payment-breakdown > summary {
  color:#e3edf6;
  cursor:pointer;
}
#paymentModal .payment-modal .payment-total-lines {
  margin-top:9px;
  border-color:#cbd8e4;
  background:#fffdf8;
}
#paymentModal .payment-modal .payment-total-lines > div {
  min-width:0;
  color:#52677c;
  overflow-wrap:anywhere;
}
#paymentModal .payment-modal .payment-total-lines > div b { color:#102442; }
#paymentModal .payment-modal .payment-total-lines .payment-total-row {
  background:#dceafa;
  color:#071d3d;
}
#paymentModal .payment-modal .payment-total-lines .payment-total-row b {
  color:#0b4f91;
  font-size:19px;
}
#paymentModal .payment-modal .payment-adjustment-notice { color:#eaf3fa; }
#paymentModal .payment-modal .payment-cash-panel {
  border-color:#a9c7e0;
  background:#edf5fb;
}
#paymentModal .payment-modal .payment-cash-change {
  padding-top:8px;
  border-top:1px solid #d0e0ec;
  color:#0b4f91;
  font-size:23px;
  font-variant-numeric:tabular-nums;
}
#paymentModal .payment-modal .payment-cash-change.is-short { color:#d71920; }
#paymentModal .payment-modal .payment-remaining {
  background:#0b4f91;
  font-variant-numeric:tabular-nums;
}
#paymentModal .payment-modal .payment-remaining strong { color:#ffc400; }
#paymentModal .payment-modal .pm-btn:focus-visible,
#paymentModal .payment-modal :is(button,input,textarea,select,summary):focus-visible {
  outline:3px solid #0b75c9;
  outline-offset:2px;
}
@media (max-width:1120px) {
  #section-pdv-terminal .pdv-terminal-grid,
  #section-delivery #deliveryCounterSale .pdv-terminal-grid {
    grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
  }
  #section-pdv-terminal .pdv-payment-pane,
  #section-delivery #deliveryCounterSale .pdv-payment-pane {
    grid-column:1/-1;
    border-top:1px solid #d3dfeb;
    border-left:0;
  }
  #section-pdv-terminal .pdv-payment-pane .pdv-total-lines,
  #section-delivery #deliveryCounterSale .pdv-payment-pane .pdv-total-lines {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:760px) {
  #section-pdv-terminal .pdv-terminal-grid,
  #section-delivery #deliveryCounterSale .pdv-terminal-grid {
    grid-template-columns:minmax(0,1fr);
  }
  #section-pdv-terminal .pdv-payment-pane,
  #section-delivery #deliveryCounterSale .pdv-payment-pane {
    grid-column:auto;
    border-top:1px solid #d3dfeb;
  }
  #section-pdv-terminal .pdv-payment-pane .pdv-total-lines,
  #section-delivery #deliveryCounterSale .pdv-payment-pane .pdv-total-lines {
    grid-template-columns:minmax(0,1fr);
  }
  #section-pdv-terminal .pdv-big-total,
  #section-delivery #deliveryCounterSale .pdv-big-total { min-height:132px; }
  #section-pdv-terminal .pdv-big-total strong,
  #section-delivery #deliveryCounterSale .pdv-big-total strong { font-size:clamp(52px,13vw,70px); }
  #paymentModal .payment-modal .payment-total-heading { align-items:flex-start; flex-direction:column; }
  #paymentModal .payment-modal .payment-final-total {
    max-width:100%;
    font-size:clamp(44px,12vw,62px);
    text-align:left;
  }
}
@media (max-width:480px) {
  #section-pdv-terminal .pdv-catalog-pane,
  #section-pdv-terminal .pdv-consumption-pane,
  #section-pdv-terminal .pdv-payment-pane,
  #section-delivery #deliveryCounterSale .pdv-catalog-pane,
  #section-delivery #deliveryCounterSale .pdv-consumption-pane,
  #section-delivery #deliveryCounterSale .pdv-payment-pane { padding:12px; }
  #section-pdv-terminal .pdv-total-lines > div,
  #section-delivery #deliveryCounterSale .pdv-total-lines > div { padding-inline:10px; }
  #section-pdv-terminal .pdv-sale-equation,
  #section-delivery #deliveryCounterSale .pdv-sale-equation { font-size:11px; }
  #paymentModal.modal-backdrop { padding:6px; }
  #paymentModal .payment-modal { max-height:calc(100dvh - 12px); }
}

/* ── Checkout floor: clear scan → receipt → tender rhythm ── */
#section-pdv-terminal .pdv-terminal-shell,
#section-delivery #deliveryCounterSale .pdv-terminal-shell,
#deliveryCounterSale .pdv-terminal-shell {
  --floor-ink:#172e45;
  --floor-navy:#123858;
  --floor-blue:#17649a;
  --floor-paper:#f4f6f7;
  --floor-white:#fffefa;
  --floor-line:#d5dee4;
  --floor-muted:#5b6d7b;
  --floor-accent:#e9b931;
  color:var(--floor-ink);
  background:var(--floor-paper);
  border:1px solid #cbd6dd;
  box-shadow:0 5px 18px rgba(26,54,75,.10),0 1px 2px rgba(26,54,75,.08);
}
#section-pdv-terminal .pdv-terminal-header,
#deliveryCounterSale .pdv-terminal-header {
  position:relative;
  min-height:68px;
  padding:10px 22px;
  color:#f6f8f9;
  background:var(--floor-navy);
  border-bottom:3px solid var(--floor-accent);
  box-shadow:0 2px 6px rgba(15,43,64,.15);
}
#section-pdv-terminal .pdv-terminal-header > div:first-child,
#deliveryCounterSale .pdv-terminal-header > div:first-child {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:20px;
  letter-spacing:.035em;
}
#section-pdv-terminal .pdv-terminal-header > div:first-child img,
#deliveryCounterSale .pdv-terminal-header > div:first-child img {
  display:block;
  width:62px;
  height:38px;
  object-fit:contain;
  border-radius:4px;
}
#section-pdv-terminal .pdv-terminal-header > div:first-child span,
#deliveryCounterSale .pdv-terminal-header > div:first-child span { color:var(--floor-accent); }
#section-pdv-terminal .pdv-terminal-header > strong,
#deliveryCounterSale .pdv-terminal-header > strong {
  color:#f4f7f9;
  font-size:16px;
  letter-spacing:.12em;
}
#section-pdv-terminal .pdv-terminal-operator span,
#deliveryCounterSale .pdv-terminal-operator span {
  background:var(--floor-accent);
  color:#24374a;
}
#section-pdv-terminal .pdv-offline-readiness {
  padding:8px 18px !important;
  background:#eaf0f4 !important;
  color:#405a6e !important;
  border-bottom:1px solid var(--floor-line);
}
#section-pdv-terminal .pdv-offline-readiness small {
  color:#627585;
  line-height:1.4;
}
#section-pdv-terminal .pdv-offline-readiness .btn { min-height:34px; }
#section-pdv-terminal .pdv-terminal-grid {
  grid-template-columns:minmax(0,1.02fr) minmax(0,1.18fr) minmax(280px,.84fr);
  min-height:calc(100vh - 144px);
}
#section-pdv-terminal .pdv-catalog-pane,
#deliveryCounterSale .pdv-catalog-pane {
  background:#edf3f6;
  border-right:1px solid var(--floor-line);
}
#section-pdv-terminal .pdv-consumption-pane,
#deliveryCounterSale .pdv-consumption-pane {
  background:var(--floor-white);
  border-right:1px solid var(--floor-line);
}
#section-pdv-terminal .pdv-payment-pane,
#deliveryCounterSale .pdv-payment-pane {
  background:#e8eff4;
  border-left:0;
}
#section-pdv-terminal .pdv-pane-title,
#deliveryCounterSale .pdv-pane-title {
  align-items:center;
  margin-bottom:12px;
  padding-bottom:10px;
  border-bottom:1px solid var(--floor-line);
}
#section-pdv-terminal .pdv-pane-title span,
#deliveryCounterSale .pdv-pane-title span {
  color:var(--floor-blue);
  font-size:11px;
  letter-spacing:.12em;
}
#section-pdv-terminal .pdv-pane-title b,
#deliveryCounterSale .pdv-pane-title b { color:var(--floor-ink); }
#section-pdv-terminal .pdv-barcode-entry input,
#section-pdv-terminal .pdv-product-search,
#deliveryCounterSale .pdv-barcode-entry input,
#deliveryCounterSale .pdv-product-search {
  border-color:#b8c8d3;
  border-radius:7px;
  background:#fff;
  color:var(--floor-ink);
}
#section-pdv-terminal .pdv-barcode-entry input,
#deliveryCounterSale .pdv-barcode-entry input {
  border:2px solid #8eabbc;
  font-weight:700;
}
#section-pdv-terminal .pdv-barcode-entry input:focus,
#section-pdv-terminal .pdv-product-search:focus,
#deliveryCounterSale .pdv-barcode-entry input:focus,
#deliveryCounterSale .pdv-product-search:focus { border-color:var(--floor-blue); }
#section-pdv-terminal .pdv-barcode-entry button,
#deliveryCounterSale .pdv-barcode-entry button {
  border-radius:7px;
  background:var(--floor-navy);
  box-shadow:0 2px 0 #0b2b44;
}
#section-pdv-terminal .pdv-category-tabs button,
#deliveryCounterSale .pdv-category-tabs button {
  border-color:#c1d0d9;
  border-radius:7px;
  background:#f9fbfc;
  color:#35556c;
}
#section-pdv-terminal .pdv-category-tabs button.active,
#deliveryCounterSale .pdv-category-tabs button.active {
  border-color:var(--floor-blue);
  background:var(--floor-blue);
}
#section-pdv-terminal .pdv-product-tile,
#deliveryCounterSale .pdv-product-tile {
  border:1px solid #d0dbe1;
  border-radius:9px;
  background:#fffefa;
  color:var(--floor-ink);
  box-shadow:0 2px 5px rgba(24,54,76,.08);
}
#section-pdv-terminal .pdv-product-tile:hover,
#deliveryCounterSale .pdv-product-tile:hover {
  border-color:#8daabb;
  box-shadow:0 4px 10px rgba(24,54,76,.12);
}
#section-pdv-terminal .pdv-quick-controls,
#deliveryCounterSale .pdv-quick-controls { color:var(--floor-muted); }
#section-pdv-terminal .pdv-quick-controls .form-control,
#deliveryCounterSale .pdv-quick-controls .form-control { background:#fff; }
#section-pdv-terminal .pdv-receipt-preview,
#deliveryCounterSale .pdv-receipt-preview {
  border-color:#d5dfe4;
  border-radius:8px;
  background:#f7f8f6;
}
#section-pdv-terminal .pdv-current-items,
#deliveryCounterSale .pdv-current-items {
  border-color:#d5dfe4;
  border-radius:8px;
  background:#fffefa;
}
#section-pdv-terminal .pdv-sale-item,
#deliveryCounterSale .pdv-sale-item {
  padding:12px 10px;
  border-bottom:1px solid #e2e8eb;
}
#section-pdv-terminal .pdv-sale-equation,
#deliveryCounterSale .pdv-sale-equation {
  color:#5d6d78;
  font-size:12px;
}
#section-pdv-terminal .pdv-sale-equation :is(b,strong),
#deliveryCounterSale .pdv-sale-equation :is(b,strong) { color:#294d68; }
#section-pdv-terminal .pdv-customer-line label,
#deliveryCounterSale .pdv-customer-line label { color:#526a7a; }
#section-pdv-terminal .pdv-customer-line .form-control,
#deliveryCounterSale .pdv-customer-line .form-control {
  border-color:#c8d4dc;
  background:#fff;
}
#section-pdv-terminal .pdv-big-total,
#deliveryCounterSale .pdv-big-total {
  border:1px solid #183f60;
  border-left:5px solid var(--floor-accent);
  border-radius:9px;
  background:var(--floor-navy);
  box-shadow:0 4px 10px rgba(18,56,88,.13);
}
#section-pdv-terminal .pdv-big-total strong,
#deliveryCounterSale .pdv-big-total strong { color:#f3c84a; }
#section-pdv-terminal .pdv-total-lines,
#deliveryCounterSale .pdv-total-lines,
#section-pdv-terminal .pdv-tender-preview,
#deliveryCounterSale .pdv-tender-preview {
  border-color:#d3dde3;
  border-radius:8px;
  background:#fffefa;
}
#section-pdv-terminal .pdv-total-lines .pdv-due,
#deliveryCounterSale .pdv-total-lines .pdv-due { background:#e9f0f5; }
#section-pdv-terminal .pdv-total-lines .pdv-due b,
#deliveryCounterSale .pdv-total-lines .pdv-due b { color:var(--floor-blue); }
#section-pdv-terminal .pdv-payment-pane .pdv-action,
#deliveryCounterSale .pdv-payment-pane .pdv-action {
  border-radius:8px;
  box-shadow:0 2px 0 rgba(20,43,59,.16);
}
#section-pdv-terminal .pdv-payment-pane .pdv-action.primary,
#deliveryCounterSale .pdv-payment-pane .pdv-action.primary {
  background:var(--floor-accent);
  color:#26394a;
  box-shadow:0 3px 0 #bd941f;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action.fiscal,
#deliveryCounterSale .pdv-payment-pane .pdv-action.fiscal { background:#286c63; }
#section-pdv-terminal .pdv-payment-pane .pdv-action.secondary,
#deliveryCounterSale .pdv-payment-pane .pdv-action.secondary { background:#326f83; }
#section-pdv-terminal .pdv-payment-pane .pdv-action.no-fiscal,
#deliveryCounterSale .pdv-payment-pane .pdv-action.no-fiscal { background:#506679; }
#section-pdv-terminal .pdv-shortcut-config,
#deliveryCounterSale .pdv-shortcut-config {
  border-color:#bdcbd3;
  border-radius:7px;
  background:#f9fbfc;
  color:#35556c;
}
#section-pdv-terminal .pdv-terminal-shell :is(button,input,textarea,select,[tabindex]):focus-visible,
#deliveryCounterSale .pdv-terminal-shell :is(button,input,textarea,select,[tabindex]):focus-visible {
  outline:3px solid #b47d00;
  outline-offset:2px;
  box-shadow:0 0 0 2px #fffefa;
}

/* Attendant counter is deliberately quieter and denser in the delivery iframe. */
#deliveryCounterSale .pdv-terminal-shell {
  min-height:0;
  overflow:hidden;
  border-radius:9px;
  box-shadow:0 2px 8px rgba(26,54,75,.08);
}
#deliveryCounterSale .pdv-terminal-header {
  min-height:52px;
  padding:7px 12px;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  border-bottom-width:2px;
}
#deliveryCounterSale .pdv-terminal-header > div:first-child { font-size:16px; }
#deliveryCounterSale .pdv-terminal-header > div:first-child img { width:48px; height:30px; }
#deliveryCounterSale .pdv-terminal-header > strong { font-size:12px; letter-spacing:.08em; }
#deliveryCounterSale .pdv-terminal-operator small { font-size:8px; }
#deliveryCounterSale .pdv-terminal-operator b { font-size:12px; }
#deliveryCounterSale .pdv-terminal-operator span { padding:6px 8px; font-size:10px; }
#section-delivery #deliveryCounterSale .pdv-terminal-grid {
  grid-template-columns:minmax(0,.98fr) minmax(0,1.08fr) minmax(0,.84fr);
  min-height:0;
}
#deliveryCounterSale .pdv-catalog-pane,
#deliveryCounterSale .pdv-consumption-pane,
#deliveryCounterSale .pdv-payment-pane { padding:10px; }
#deliveryCounterSale .pdv-pane-title { margin-bottom:8px; padding-bottom:7px; }
#deliveryCounterSale .pdv-pane-title span { font-size:10px; }
#deliveryCounterSale .pdv-barcode-entry { gap:5px; }
#deliveryCounterSale .pdv-barcode-entry input,
#deliveryCounterSale .pdv-product-search { min-height:40px; font-size:12px; }
#deliveryCounterSale .pdv-barcode-entry button { min-height:40px; padding:0 9px; font-size:11px; }
#deliveryCounterSale .pdv-category-tabs { gap:4px; margin:7px 0; }
#deliveryCounterSale .pdv-category-tabs button { min-height:30px; padding:5px 8px; font-size:10px; }
#deliveryCounterSale .pdv-product-grid { max-height:245px; gap:6px; }
#deliveryCounterSale .pdv-product-tile { min-height:68px; padding:9px; }
#deliveryCounterSale .pdv-current-items { min-height:118px; max-height:230px; }
#deliveryCounterSale .pdv-sale-item { padding:8px 7px; }
#deliveryCounterSale .pdv-sale-equation { gap:3px 5px; font-size:10px; }
#deliveryCounterSale .pdv-customer-line { padding-top:9px; }
#deliveryCounterSale .pdv-customer-line input { min-height:38px; font-size:12px; }
#deliveryCounterSale .pdv-big-total { min-height:92px; padding:11px 12px; }
#deliveryCounterSale .pdv-big-total strong { font-size:clamp(34px,4vw,48px); }
#deliveryCounterSale .pdv-total-lines { margin:8px 0; }
#deliveryCounterSale .pdv-total-lines > div { padding:6px 8px; font-size:11px; }
#deliveryCounterSale .pdv-total-lines > div b { font-size:12px; }
#deliveryCounterSale .pdv-total-lines .pdv-due { padding-block:8px; font-size:13px; }
#deliveryCounterSale .pdv-total-lines .pdv-due b { font-size:15px; }
#deliveryCounterSale .pdv-tender-preview { margin-bottom:7px; padding-inline:8px; }
#deliveryCounterSale .pdv-tender-row { padding:5px 0; font-size:10px; }
#deliveryCounterSale .pdv-tender-row :is(b,strong) { font-size:11px; }
#deliveryCounterSale .pdv-payment-pane .pdv-action {
  min-height:42px;
  margin-top:5px;
  padding:8px 10px;
  font-size:12px;
}
#deliveryCounterSale .pdv-payment-pane .pdv-action.primary { min-height:48px; }
#deliveryCounterSale .pdv-action small { font-size:10px; }
#deliveryCounterSale .pdv-shortcut-config { min-height:34px; margin-top:6px; }
#deliveryCounterSale .pdv-shortcuts { margin-top:6px; font-size:9px; }

@media (max-width:1100px) and (min-width:761px) {
  #section-pdv-terminal .pdv-terminal-grid {
    grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
  }
  #section-pdv-terminal .pdv-payment-pane { grid-column:1/-1; }
}
@media (max-width:1120px) and (min-width:761px) {
  #section-delivery #deliveryCounterSale .pdv-terminal-grid {
    grid-template-columns:minmax(0,.98fr) minmax(0,1.08fr) minmax(0,.84fr);
  }
  #section-delivery #deliveryCounterSale .pdv-payment-pane { grid-column:auto; }
}
@media (max-width:760px) {
  #section-pdv-terminal .pdv-terminal-grid,
  #deliveryCounterSale .pdv-terminal-grid { grid-template-columns:minmax(0,1fr); }
  #section-pdv-terminal .pdv-terminal-grid { min-height:0; }
  #section-pdv-terminal .pdv-terminal-header,
  #deliveryCounterSale .pdv-terminal-header {
    grid-template-columns:minmax(0,1fr) auto;
    gap:5px 10px;
  }
  #section-pdv-terminal .pdv-terminal-header > strong,
  #deliveryCounterSale .pdv-terminal-header > strong {
    grid-column:1/-1;
    grid-row:2;
    justify-self:start;
  }
  #section-pdv-terminal .pdv-terminal-operator,
  #deliveryCounterSale .pdv-terminal-operator { grid-column:2; grid-row:1; }
  #section-pdv-terminal .pdv-catalog-pane,
  #section-pdv-terminal .pdv-consumption-pane,
  #section-pdv-terminal .pdv-payment-pane,
  #deliveryCounterSale .pdv-catalog-pane,
  #deliveryCounterSale .pdv-consumption-pane,
  #deliveryCounterSale .pdv-payment-pane {
    border-right:0;
    border-left:0;
    border-bottom:1px solid var(--floor-line);
  }
}
@media (max-width:480px) {
  #section-pdv-terminal .pdv-terminal-header,
  #deliveryCounterSale .pdv-terminal-header { padding:9px 11px; }
  #section-pdv-terminal .pdv-terminal-header > div:first-child,
  #deliveryCounterSale .pdv-terminal-header > div:first-child { font-size:15px; }
  #section-pdv-terminal .pdv-terminal-header > div:first-child img,
  #deliveryCounterSale .pdv-terminal-header > div:first-child img { width:42px; height:27px; }
  #section-pdv-terminal .pdv-terminal-header > strong,
  #deliveryCounterSale .pdv-terminal-header > strong { font-size:10px; }
  #section-pdv-terminal .pdv-payment-pane .pdv-total-lines { grid-template-columns:1fr; }
}

/* Relatórios: escolha, consulta e exportação são passos distintos. */
#section-relatorios .report-choice, #section-relatorios .report-actions {
  display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-bottom:15px;
}
#section-relatorios .report-actions { margin:2px 0 0; }
#section-relatorios .report-choice .btn, #section-relatorios .report-actions .btn {
  min-height:43px; font-weight:800;
}
#section-relatorios .report-actions .btn:disabled { opacity:.5; cursor:not-allowed; }
#section-relatorios .report-status { margin:10px 0 0; font-size:13px; color:#365366; }
@media (max-width:550px) {
  #section-relatorios .report-choice .btn, #section-relatorios .report-actions .btn { flex:1 1 100%; }
}

/* Contas a pagar — acompanha o painel administrativo existente. */
.payables-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:17px; }
.payables-heading h2 { margin:2px 0 3px; font-size:24px; }
.payables-heading p { color:var(--text-muted); font-size:13px; }
.payables-kicker { color:var(--blue); font-size:10px; font-weight:900; letter-spacing:.13em; }
.payables-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:10px; margin-bottom:14px; }
.payables-stat { display:flex; flex-direction:column; gap:3px; padding:13px 15px; border:1px solid var(--border); border-radius:12px; background:#fff; box-shadow:0 4px 14px rgba(7,29,61,.05); }
.payables-stat small { color:var(--text-muted); font-size:11px; text-transform:capitalize; }
.payables-stat b { color:var(--green-dark); font-size:19px; }
.payables-settings { display:flex; align-items:center; gap:10px; padding:13px 16px; margin-bottom:15px; }
.payables-settings > div { margin-right:auto; }
.payables-settings small { display:block; color:var(--text-muted); font-size:11px; }
.payables-settings > label { font-size:12px; font-weight:700; }
.payables-settings .form-control { width:82px; }
.payables-settings [role=status] { min-width:130px; color:var(--text-muted); font-size:11px; }
.payables-layout { display:grid; grid-template-columns:minmax(300px,.75fr) minmax(0,1.5fr); gap:15px; align-items:start; }
.payables-form .card-body,.payables-list-card .card-body { padding:16px; }
.payables-scan-row { display:grid; grid-template-columns:1fr auto; gap:7px; align-items:center; margin-bottom:13px; }
.payables-scan-row label { grid-column:1/-1; color:var(--text-muted); font-size:12px; font-weight:700; }
.payables-scan-row small { grid-column:1/-1; color:var(--text-muted); font-size:10px; }
.payables-scan-row input[type=file] { min-width:0; font-size:11px; }
.payables-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.payables-fields label,.payables-filters label { min-width:0; color:var(--text-muted); font-size:11px; font-weight:700; }
.payables-fields .form-control,.payables-filters .form-control { display:block; margin-top:4px; padding:9px 10px; font-size:13px; }
.payable-notes { grid-column:1/-1; }
.payable-review { display:flex; align-items:flex-start; gap:7px; margin-top:11px; color:#714f00; font-size:11px; line-height:1.45; }
.payable-review input { margin-top:2px; accent-color:var(--green-main); }
.payables-form-actions { display:flex; align-items:center; gap:10px; margin-top:13px; }
.payables-form-actions [role=status] { color:var(--text-muted); font-size:11px; overflow-wrap:anywhere; }
.payable-warning { margin-top:10px; padding:10px 12px; border:1px solid #ebcb79; border-radius:9px; background:#fff7dc; color:#705200; font-size:11px; line-height:1.45; overflow-wrap:anywhere; }
.payables-filters { display:grid; grid-template-columns:minmax(130px,1.4fr) repeat(3,minmax(110px,1fr)) auto; gap:8px; align-items:end; margin-bottom:12px; }
.payables-list { display:grid; gap:8px; }
.payable-row { display:grid; grid-template-columns:minmax(130px,1fr) auto; gap:8px 14px; padding:12px; border:1px solid var(--border); border-radius:11px; background:#fff; }
.payable-main { display:flex; min-width:0; flex-direction:column; gap:2px; overflow-wrap:anywhere; }
.payable-main b { font-size:13px; }
.payable-main span { font-size:12px; }
.payable-main small { color:var(--text-muted); font-size:10px; }
.payable-value { display:flex; align-items:flex-end; flex-direction:column; gap:5px; white-space:nowrap; }
.payable-value strong { font-size:14px; }
.payable-status { display:inline-block; padding:3px 8px; border-radius:999px; background:#edf1f5; color:#526276; font-size:9px; font-weight:800; }
.payable-status.status-overdue,.payables-alert-row.is-overdue b { background:#ffebea; color:#b52025; }
.payable-status.status-open,.payable-status.status-pending { background:#e9f3ff; color:#175b91; }
.payable-status.status-paid { background:#e5f5ec; color:#187247; }
.payable-status.status-cancelled { background:#f0f0f0; color:#666; }
.payable-actions { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:6px; padding-top:6px; border-top:1px solid #eef1f4; }
.payables-pagination { display:flex; justify-content:space-between; align-items:center; gap:8px; padding-top:12px; color:var(--text-muted); font-size:11px; }
.payables-loading,.payables-error { padding:18px 8px; color:var(--text-muted); font-size:13px; }
.payables-error { color:var(--red); }
.payables-alert-modal { max-width:520px; }
.payables-alert-row { display:flex; width:100%; flex-direction:column; gap:4px; margin-bottom:8px; padding:11px; border:1px solid var(--border); border-left:4px solid var(--orange); border-radius:9px; background:#fff; text-align:left; cursor:pointer; }
.payables-alert-row.is-overdue { border-left-color:var(--red); }
.payables-alert-row b { width:max-content; color:#a05e00; font-size:10px; }
.payables-alert-row span { color:var(--text); font-size:12px; }
.payables-alert-row:focus-visible { outline:3px solid var(--blue); outline-offset:2px; }
@media (max-width:1050px) {
  .payables-layout { grid-template-columns:minmax(0,1fr); }
  .payables-form .card-body { display:grid; grid-template-columns:1fr 1fr; gap:0 15px; }
  .payables-form .card-body > * { align-self:start; }
  .payables-fields { grid-column:1/-1; }
  .payables-scan-row { align-content:start; }
}
@media (max-width:700px) {
  .payables-heading { align-items:stretch; flex-direction:column; }
  .payables-heading .btn { justify-content:center; }
  .payables-settings { align-items:stretch; flex-wrap:wrap; }
  .payables-settings > div { flex-basis:100%; }
  .payables-settings [role=status] { flex-basis:100%; }
  .payables-form .card-body { display:block; }
  .payables-filters { grid-template-columns:1fr 1fr; }
  .payables-filters label:first-child { grid-column:1/-1; }
  .payables-filters button { width:100%; justify-content:center; }
}
@media (max-width:450px) {
  .payables-fields { grid-template-columns:1fr; }
  .payable-notes { grid-column:auto; }
  .payables-filters { grid-template-columns:1fr; }
  .payables-filters label:first-child { grid-column:auto; }
  .payable-row { grid-template-columns:minmax(0,1fr); }
  .payable-value { align-items:flex-start; }
  .payable-actions .btn { flex:1 1 auto; justify-content:center; }
}

/* A remoção de itens ainda editáveis deve ser distinta do X neutro de fechar. */
.receipt-delete, .delivery-remove-item {
  min-width:32px; min-height:32px; border:0; border-radius:6px;
  background:#b42318; color:#fff; font:700 20px/30px sans-serif; cursor:pointer;
}
.receipt-delete:hover, .delivery-remove-item:hover { background:#8e1b13; }
.receipt-delete:focus-visible, .delivery-remove-item:focus-visible {
  outline:3px solid #225da8; outline-offset:2px;
}

/* The internal order messenger shares the conversation architecture without
   borrowing the external WhatsApp identity or its history. */
.first-party-inbox-nav { position:relative; }
.first-party-nav-icon { color:#0c766b; }
.order-inbox-topbar-button {
  position:relative; display:flex; align-items:center; justify-content:center;
  min-width:36px; min-height:36px; border:1px solid #d4e7e2; border-radius:11px;
  background:linear-gradient(145deg,#fff,#eaf6f2); color:#0c766b; font-size:18px;
  cursor:pointer; box-shadow:0 2px 0 #d4e5e1,0 5px 12px rgba(16,75,69,.08);
}
.order-inbox-topbar-button b {
  position:absolute; top:-7px; right:-7px; min-width:19px; height:19px; padding:0 5px;
  border:2px solid #fff; border-radius:999px; background:#c23b36; color:#fff;
  font-size:10px; line-height:15px; text-align:center; box-shadow:0 2px 5px rgba(80,20,20,.2);
}
.order-inbox-topbar-button b[hidden] { display:none; }
.first-party-inbox-nav.has-new-messages {
  border-radius:10px; background:linear-gradient(105deg,#e5f8f3 0%,#edf0ff 54%,#fff2f8 100%);
  color:#14374b; box-shadow:inset 4px 0 #128776,0 3px 12px rgba(89,77,176,.1);
  animation:orderMessageNavGlow 2.2s ease-in-out infinite;
}
.first-party-inbox-nav.has-new-messages .first-party-nav-icon { color:#6444a5; }
.first-party-inbox-nav.has-new-messages .whatsapp-nav-badge {
  background:#5d3c91; color:#fff; box-shadow:0 0 0 3px rgba(115,78,174,.15);
}
.order-inbox-topbar-button.has-new-messages { animation:orderMessageGlow 2.1s ease-in-out infinite; }
.whatsapp-thread.has-new-message {
  background:linear-gradient(105deg,#e5f8f2 0%,#eff2ff 57%,#fff5f8 100%);
  box-shadow:inset 4px 0 #108273;
  animation:orderMessageThreadGlow 2.2s ease-in-out infinite;
}
.whatsapp-thread.has-new-message:hover,
.whatsapp-thread.has-new-message.selected { background:linear-gradient(105deg,#d8f2e9,#e4e9ff 58%,#ffedf4); }
.whatsapp-thread.has-new-message .whatsapp-thread-copy strong { color:#183b55; }
.whatsapp-thread.has-new-message .whatsapp-thread-meta b {
  min-width:21px; padding:2px 6px; border-radius:999px;
  background:#d71920; color:#fff; box-shadow:0 2px 8px rgba(120,25,25,.24);
}
.first-party-alert-settings .order-message-alerting {
  padding:6px 10px; border-radius:999px; background:linear-gradient(100deg,#fff0d4,#f2eaff);
  color:#4f317f !important; box-shadow:inset 0 0 0 1px #e3d2ff,0 2px 8px rgba(90,57,133,.1);
  animation:orderMessageStatusGlow 2.2s ease-in-out infinite;
}
@keyframes orderMessageGlow {
  0%,100% { filter:saturate(1); box-shadow:0 3px 0 #372e68,0 8px 18px rgba(66,52,132,.22); }
  50% { filter:saturate(1.16); box-shadow:0 3px 0 #372e68,0 10px 27px rgba(78,61,162,.36),0 0 0 4px rgba(57,183,158,.12); }
}
@keyframes orderMessageNavGlow {
  0%,100% { box-shadow:inset 4px 0 #128776,0 2px 8px rgba(89,77,176,.07); }
  50% { box-shadow:inset 4px 0 #7446a6,0 3px 16px rgba(89,77,176,.18); }
}
@keyframes orderMessageThreadGlow {
  0%,100% { background-color:#e5f8f2; box-shadow:inset 4px 0 #108273,0 1px 4px rgba(50,82,117,.04); }
  50% { background-color:#f3eafe; box-shadow:inset 4px 0 #6949a3,0 3px 13px rgba(85,63,149,.12); }
}
@keyframes orderMessageStatusGlow {
  0%,100% { box-shadow:inset 0 0 0 1px #e3d2ff,0 2px 8px rgba(90,57,133,.08); }
  50% { box-shadow:inset 0 0 0 1px #cfb3fa,0 3px 13px rgba(90,57,133,.16); }
}
.first-party-inbox-nav:focus-visible.has-new-messages,
.order-inbox-topbar-button:focus-visible.has-new-messages { outline:3px solid #8dd3c6; outline-offset:3px; }
@media (prefers-reduced-motion:reduce) {
  .first-party-inbox-nav.has-new-messages,
  .order-inbox-topbar-button.has-new-messages,
  .admin-assistant-fab.has-pending-replies,
  .admin-assistant-fab.conversation-launcher-new-unread,
  .whatsapp-thread.has-new-message,
  .first-party-alert-settings .order-message-alerting { animation:none !important; }
}
.order-inbox-topbar-button:focus-visible { outline:3px solid #86c9bd; outline-offset:3px; }
.first-party-inbox-head h2 { color:#0a665e; }
.first-party-inbox-head .whatsapp-eyebrow { color:#168273; }
.order-inbox-tabs {
  display:flex; gap:8px; margin:0 0 16px; padding:5px;
  border:1px solid #d8e6e2; border-radius:13px; background:#f1f7f5;
}
.order-inbox-tabs button {
  min-height:40px; padding:8px 16px; border:0; border-radius:9px;
  background:transparent; color:#45645f; font:inherit; font-size:13px;
  font-weight:800; cursor:pointer;
}
.order-inbox-tabs button.active { background:#fff; color:#087367; box-shadow:0 2px 8px rgba(21,65,62,.12); }
.order-inbox-tabs button:focus-visible { outline:3px solid #0e8a7c; outline-offset:2px; }
.order-inbox-conversation-tabs {
  display:flex; gap:6px; width:fit-content; margin:0 0 12px; padding:4px;
  border:1px solid #d8e6e2; border-radius:11px; background:#f3f8f6;
}
.order-inbox-conversation-tabs button {
  min-height:36px; padding:7px 14px; border:0; border-radius:8px;
  background:transparent; color:#45645f; font:inherit; font-size:12px; font-weight:800; cursor:pointer;
}
.order-inbox-conversation-tabs button.active { background:#fff; color:#087367; box-shadow:0 2px 8px rgba(21,65,62,.12); }
.order-inbox-conversation-tabs button:focus-visible { outline:3px solid #0e8a7c; outline-offset:2px; }
.order-app-marketing-view[hidden] { display:none !important; }
.order-app-marketing-intro {
  margin-bottom:14px; padding:15px 17px; border:1px solid #cfe2dc;
  border-left:4px solid #108273; border-radius:12px; background:#f4fbf8; color:#184c47;
}
.order-app-marketing-intro b { font-size:14px; }
.order-app-marketing-intro p { margin:4px 0 0; color:#466c66; font-size:12px; line-height:1.5; }
.order-app-marketing-grid { display:grid; grid-template-columns:minmax(270px,.78fr) minmax(0,1.22fr); gap:14px; align-items:start; }
.order-app-broadcast-grid { grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr); }
.order-app-marketing-card { min-width:0; border:1px solid #dce8e5; box-shadow:0 2px 0 #e4eeeb,0 9px 24px rgba(21,65,62,.07); }
.order-app-marketing-form { display:grid; gap:9px; padding:16px; }
.order-app-marketing-form > label,.order-app-marketing-customer-search > label { color:#315d56; font-size:12px; font-weight:800; }
.order-app-marketing-form textarea { min-height:130px; resize:vertical; }
.order-app-marketing-form .btn { justify-content:center; min-height:42px; }
.order-app-marketing-list { display:grid; gap:7px; max-height:540px; overflow:auto; padding:0 13px 14px; }
.order-app-marketing-group {
  display:flex; width:100%; justify-content:space-between; gap:10px; align-items:center;
  padding:11px 12px; border:1px solid #dce8e5; border-radius:10px; background:#fff;
  color:#193f3a; text-align:left; cursor:pointer;
}
.order-app-marketing-group:hover,.order-app-marketing-group.selected { border-color:#64a99d; background:#eef8f4; }
.order-app-marketing-group b,.order-app-marketing-group small { display:block; }
.order-app-marketing-group small { margin-top:3px; color:#647b76; font-size:11px; }
.order-app-marketing-empty { display:grid; gap:4px; padding:14px; color:#627873; font-size:12px; }
.order-app-marketing-empty b { color:#244d47; }
.order-app-marketing-error { padding:13px; color:#a6292c; font-size:12px; }
.order-app-marketing-status { min-height:22px; margin:8px 2px 0; color:#516a65; font-size:12px; }
.order-app-marketing-status.success { color:#087347; }
.order-app-marketing-status.error { color:#b02b32; }
.order-app-marketing-status.warning { color:#9b5a00; }
.order-app-group-detail-head { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:17px; border-bottom:1px solid #e5eeeb; }
.order-app-group-detail-head h3 { margin:3px 0; color:#143f39; }
.order-app-group-detail-head p { margin:0; color:#627873; font-size:11px; }
.order-app-group-detail-head > b { flex:0 0 auto; color:#0a7568; font-size:12px; }
.order-app-marketing-members { display:grid; gap:6px; padding:12px 15px; border-bottom:1px solid #e5eeeb; }
.order-app-marketing-members h4 { margin:0 0 3px; color:#315d56; font-size:12px; }
.order-app-marketing-member { display:flex; justify-content:space-between; align-items:center; gap:9px; padding:8px 9px; border-radius:8px; background:#f6f9f8; }
.order-app-marketing-member b,.order-app-marketing-member small { display:block; overflow-wrap:anywhere; }
.order-app-marketing-member b { color:#294843; font-size:12px; }
.order-app-marketing-member small { margin-top:2px; color:#6a7f7a; font-size:10px; }
.order-app-invitation-status { flex:0 0 auto; padding:4px 7px; border-radius:999px; background:#fff3d8; color:#835811; font-size:10px; font-weight:800; }
.order-app-invitation-status.accepted { background:#e2f5ea; color:#147143; }
.order-app-invitation-status.declined { background:#ffebe8; color:#9f3025; }
.order-app-invitation-status.revoked { background:#edf0f4; color:#58677a; }
.order-app-marketing-customer-search { display:grid; gap:7px; padding:13px 15px 8px; }
.order-app-marketing-customer-search > div { display:flex; gap:7px; }
.order-app-marketing-customer-search .form-control { min-width:0; }
.order-app-marketing-customer-results { display:grid; gap:5px; max-height:300px; overflow:auto; padding:0 15px; }
.order-app-marketing-customer {
  display:flex; align-items:center; gap:9px; padding:8px; border:1px solid #e3ece9; border-radius:8px; cursor:pointer;
}
.order-app-marketing-customer input { accent-color:#108273; }
.order-app-marketing-customer span { min-width:0; flex:1; }
.order-app-marketing-customer b,.order-app-marketing-customer small { display:block; overflow-wrap:anywhere; }
.order-app-marketing-customer b { color:#284943; font-size:12px; }
.order-app-marketing-customer small { color:#71837e; font-size:10px; }
.order-app-marketing-customer em { color:#34806e; font-size:10px; font-style:normal; font-weight:700; text-align:right; }
.order-app-marketing-customer.is-invited { cursor:not-allowed; opacity:.65; }
.order-app-marketing-pagination,.order-app-marketing-selection { display:flex; justify-content:space-between; gap:9px; align-items:center; padding:10px 15px; color:#5b716c; font-size:11px; }
.order-app-marketing-pagination > div { display:flex; gap:6px; }
.order-app-marketing-selection { border-top:1px solid #e5eeeb; background:#f8fbfa; }
.order-app-broadcast-preview { padding:10px 11px; border:1px solid #d1e4df; border-radius:9px; background:#f2faf7; color:#245b50; font-size:12px; line-height:1.45; }
.order-app-broadcast-history-item { padding:12px; border:1px solid #e1ebe8; border-radius:10px; background:#fbfdfc; }
.order-app-broadcast-history-item > div { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.order-app-broadcast-history-item > div b { color:#284943; font-size:12px; }
.order-app-broadcast-history-item p { margin:8px 0; color:#465f59; font-size:12px; white-space:pre-wrap; overflow-wrap:anywhere; }
.order-app-broadcast-history-item small { color:#71837e; font-size:10px; line-height:1.5; }
.order-app-broadcast-status { padding:4px 7px; border-radius:999px; background:#e9f0f7; color:#3f5c75; font-size:10px; font-weight:800; }
.first-party-inbox-layout { grid-template-columns:minmax(275px,355px) minmax(0,1fr); }
.first-party-inbox-layout .whatsapp-thread-list-card,
.first-party-inbox-layout .whatsapp-conversation-card {
  overflow:hidden; border:1px solid #dce8e5; border-radius:15px; background:#fff;
  box-shadow:0 2px 0 #e4eeeb,0 9px 24px rgba(21,65,62,.08);
}
.first-party-inbox-layout .card-header {
  min-height:53px; border-bottom:1px solid #e5eeeb; background:linear-gradient(180deg,#fff,#f8fbfa);
}
.first-party-inbox-layout .whatsapp-thread:hover,
.first-party-inbox-layout .whatsapp-thread.selected { background:#eaf6f2; }
.first-party-inbox-layout .whatsapp-thread-avatar { background:#d8eee8; color:#087367; }
.first-party-inbox-layout .whatsapp-message-list { background:#eef5f3; }
.first-party-inbox-layout .whatsapp-message.outbound { background:#d9f1e9; }
.first-party-inbox-layout .whatsapp-reply-form { background:#fff; }
.order-customer-search { display:flex; gap:7px; padding:10px 12px; border-bottom:1px solid #e5eeeb; }
.order-customer-search .form-control { min-width:0; padding:8px 10px; font-size:12px; }
.order-customer-search .btn { flex:0 0 auto; }
.order-customer-inbox-pagination {
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:10px 12px; border-top:1px solid #e5eeeb; color:#5d707d; font-size:11px;
}
.order-customer-inbox-pagination > div { display:flex; gap:6px; }
.order-customer-inbox-pagination .btn { min-height:33px; padding:5px 8px; }
.customer-support-thread .whatsapp-thread-copy { min-width:0; }
.customer-support-thread .whatsapp-thread-copy small { overflow-wrap:anywhere; }
.order-customer-order-link {
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  margin:12px; padding:14px; border:1px solid #bad5ed; border-radius:11px;
  background:#eff7ff; color:#173c5b; font-size:12px;
}
.order-customer-order-link p { margin:5px 0; overflow-wrap:anywhere; }
.order-customer-order-link small { color:#4d6478; }
.order-customer-order-link .btn { flex-shrink:0; }
.order-customer-reply-locked {
  margin:12px; padding:12px 14px; border:1px solid #e6d7a8; border-radius:10px;
  background:#fff9e7; color:#66531e; font-size:12px; line-height:1.45;
}
.delivery-customer-app-link { margin-top:12px; white-space:normal; text-align:center; }
.delivery-customer-app-note { display:block; margin-top:7px; color:#52697a; font-size:11px; line-height:1.45; }
.first-party-reply-form textarea { min-width:0; width:100%; }
.first-party-inbox-head .whatsapp-connection-state.connected { background:#e3f5ee; color:#08734f; }
.whatsapp-history-shortcut {
  display:grid; gap:5px; margin-top:18px; padding:13px 15px;
  border:1px solid #dce6ee; border-left:4px solid #567996; border-radius:11px;
  background:linear-gradient(135deg,#f5f8fb,#fff 80%); box-shadow:0 2px 0 #e7edf2,0 5px 13px rgba(22,45,66,.06);
}
.whatsapp-history-shortcut b { color:#294b65; font-size:13px; }
.whatsapp-history-shortcut span { color:#596d7c; font-size:12px; line-height:1.45; }
.whatsapp-history-shortcut .btn { justify-self:start; margin-top:5px; }

/* Matching raised settings cards make both independent alert channels easy
   to scan while preserving their separate preferences and audio files. */
.delivery-alert-settings {
  position:relative; gap:11px; padding:15px 17px; margin-bottom:13px;
  border:1px solid #e1d7b4; border-left:5px solid #d59618; border-radius:14px;
  background:linear-gradient(145deg,#fffdf6 0%,#fff 72%);
  box-shadow:0 2px 0 #eee7d6,0 8px 20px rgba(89,68,23,.075);
}
.delivery-alert-settings-title { gap:8px 12px; }
.delivery-alert-settings-title strong { color:#5f4715; font-size:14px; }
.delivery-alert-settings-title span { line-height:1.4; }
.delivery-alert-settings-controls { gap:9px; }
.delivery-alert-settings-controls .btn {
  min-height:39px; border-radius:9px; box-shadow:0 2px 0 rgba(13,37,58,.08);
}
.delivery-alert-settings-controls .btn:active { transform:translateY(1px); box-shadow:none; }
.delivery-alert-settings-controls label {
  min-height:39px; padding:6px 10px; border:1px solid #e5e9ec; border-radius:9px;
  background:#fff; box-shadow:0 2px 0 rgba(18,39,59,.04);
}
.delivery-alert-settings-controls input[type="range"] { width:145px; }
.delivery-alert-settings > small { line-height:1.5; }
.first-party-alert-settings {
  border-color:#cfe1dd; border-left-color:#108273;
  background:linear-gradient(145deg,#f4fbf8 0%,#fff 72%);
  box-shadow:0 2px 0 #dcebe7,0 8px 20px rgba(16,75,69,.08);
}
.first-party-alert-settings .delivery-alert-settings-title strong { color:#075e55; }
.first-party-alert-settings .delivery-alert-settings-title span { color:#466c66; }
.first-party-alert-settings .delivery-alert-settings-controls input[type="range"] { accent-color:#108273; }
.first-party-alert-settings .delivery-alert-settings-controls label output { color:#0b6d61; }
.first-party-alert-settings .order-message-repeat {
  grid-template-columns:auto minmax(0,1fr); max-width:340px; color:#285c55;
}
.first-party-alert-settings .order-message-repeat input { accent-color:#108273; }
.first-party-alert-settings .order-message-output { grid-template-columns:1fr; min-width:210px; }
.first-party-alert-settings .order-message-output select { min-width:190px; min-height:33px; padding:4px 7px; }
.first-party-alert-settings .delivery-alert-settings-controls .btn-primary {
  background:linear-gradient(145deg,#168d7e,#087064); border-color:#087064;
  box-shadow:0 2px 0 #07594f,0 5px 10px rgba(8,94,82,.13);
}
.first-party-alert-settings .delivery-alert-settings-controls .btn-secondary {
  border-color:#cfdfdb; color:#285d56; background:#fff;
}
.order-message-alerting { color:#9c382e !important; font-weight:800; }
.delivery-driver-dispatch-action { min-height:43px; margin-top:7px; font-weight:850; }
.delivery-conference-driver { color:#134f59; font-weight:700; }
.delivery-conference-driver span { display:block; margin:3px 0 0 25px; font-size:12px; font-weight:600; }
.delivery-assigned-driver-phone { display:block; margin:4px 0 0 24px; color:#365f72; font-size:12px; font-weight:700; }
.delivery-driver-picker.is-assigned { border-left:4px solid #118276; background:linear-gradient(120deg,#f0fbf6,#fff 70%); }
.delivery-driver-replace-toggle { min-height:38px; }
.delivery-driver-replacement { margin-top:10px; padding:10px; border:1px dashed #b9c8dc; border-radius:10px; background:#f8faff; }
.delivery-driver-replacement > small { display:block; margin-bottom:7px; color:#53697c; }
.delivery-dispatch-readiness { display:grid; gap:7px; margin-top:9px; }
.delivery-dispatch-readiness p { margin:0; color:#6c5c33; font-size:12px; }
.delivery-dispatch-readiness .delivery-driver-dispatch-action:disabled { border-color:#9aa9b5; background:#738291; color:#fff; opacity:.86; cursor:not-allowed; }
.delivery-dispatch-courier small { display:block; margin-top:3px; color:#435e70; font-size:11px; font-weight:700; overflow-wrap:anywhere; }
.order-inbox-load-more {
  display:block; width:calc(100% - 24px); min-height:42px; margin:9px 12px 12px;
  padding:9px 12px; border:1px solid #c7d8e7; border-radius:10px;
  background:linear-gradient(145deg,#f4f8fc,#fff); color:#194d70; font-weight:800;
  box-shadow:0 2px 0 #e1e9f0; cursor:pointer;
}
.order-inbox-load-more[hidden] { display:none !important; }
.order-inbox-load-more:hover:not(:disabled) { background:#eaf3fb; }
.order-inbox-load-more:focus-visible { outline:3px solid #0e8a7c; outline-offset:2px; }
.order-inbox-load-more:disabled { opacity:.7; cursor:wait; }
.order-message-load-more { width:fit-content; max-width:calc(100% - 24px); margin:10px auto 0; }
@media (max-width:760px) {
  .order-app-marketing-grid,.order-app-broadcast-grid { grid-template-columns:minmax(0,1fr); }
  .order-app-marketing-group { min-height:50px; }
  .order-app-marketing-customer-search > div { flex-wrap:wrap; }
  .order-app-marketing-customer-search > div .form-control { flex:1 1 180px; }
  .order-app-marketing-customer-search > div .btn { flex:0 0 auto; }
  .order-app-marketing-pagination,.order-app-marketing-selection { align-items:flex-start; flex-direction:column; }
  .order-app-marketing-pagination > div { width:100%; }
  .order-app-marketing-pagination > div .btn { flex:1; justify-content:center; }
  .order-app-marketing-selection > .btn { width:100%; justify-content:center; }
  .order-app-marketing-member { align-items:flex-start; flex-direction:column; }
  .order-app-group-detail-head { align-items:flex-start; flex-direction:column; }
  .order-inbox-tabs { overflow-x:auto; }
  .order-inbox-tabs button { flex:1 0 auto; }
  .order-inbox-conversation-tabs { width:100%; }
  .order-inbox-conversation-tabs button { flex:1; }
  .order-customer-inbox-pagination { align-items:flex-start; flex-direction:column; }
  .order-customer-inbox-pagination > div { width:100%; }
  .order-customer-inbox-pagination .btn { flex:1; }
  .first-party-inbox-layout { grid-template-columns:minmax(0,1fr); }
  .first-party-inbox-layout .whatsapp-thread-list-card,
  .first-party-inbox-layout .whatsapp-conversation-card { min-height:0; }
  .first-party-inbox-layout .whatsapp-thread-list { max-height:300px; }
  .first-party-inbox-layout .whatsapp-conversation-head { align-items:flex-start; flex-wrap:wrap; padding:13px; }
  .first-party-inbox-layout .whatsapp-conversation-head > div { flex:1 1 100%; }
  .first-party-inbox-layout .whatsapp-message-list { height:48vh; min-height:260px; padding:12px; scroll-behavior:auto; }
  .first-party-inbox-layout .first-party-reply-form { grid-template-columns:minmax(0,1fr); padding:12px; }
  .first-party-inbox-layout .first-party-reply-form button { min-height:42px; }
}
@media (max-width:550px) {
  .admin-assistant-fab { right:12px; bottom:78px; min-height:47px; padding:8px 13px; font-size:12px; }
  .delivery-alert-settings { padding:13px; }
  .delivery-alert-settings-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .delivery-alert-settings-controls .btn { width:100%; min-width:0; padding-inline:8px; }
  .delivery-alert-settings-controls label { min-width:0; grid-column:span 2; }
  .delivery-alert-settings-controls input[type="range"] { width:100%; }
  .first-party-alert-settings .order-message-output { width:100%; }
  .first-party-alert-settings .order-message-output select { width:100%; }
  .whatsapp-history-shortcut .btn { width:100%; }
  .sidebar-nav { padding-inline:9px; }
  .nav-item-shell { grid-template-columns:minmax(0,1fr) 38px; gap:4px; }
  .sidebar-order-handle { width:38px; min-height:48px; }
  .delivery-driver-controls { align-items:stretch; }
  .delivery-driver-controls .btn,.delivery-dispatch-readiness .btn { width:100%; }
  .delivery-driver-replacement { padding:8px; }
  .order-inbox-load-more { width:calc(100% - 16px); margin-inline:8px; }
}

/* Avarias */
.damage-page-head {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin-bottom:18px; padding:21px 23px; border:1px solid #d6e4f0; border-radius:16px;
  background:linear-gradient(115deg,#fff 0%,#f0f7ff 100%); box-shadow:0 8px 22px rgba(9,43,87,.07);
}
.damage-page-head h2 { margin:3px 0 4px; color:#12365d; font-size:25px; }
.damage-page-head p { color:var(--text-muted); font-size:13px; }
.damage-eyebrow { color:#1873ae; font-size:10px; font-weight:900; letter-spacing:.13em; }
.damage-head-tag { flex:0 0 auto; padding:8px 11px; border:1px solid #c7def2; border-radius:999px; background:#e8f3fd; color:#205b87; font-size:11px; font-weight:800; }
.damage-layout { display:grid; grid-template-columns:minmax(300px,.82fr) minmax(0,1.4fr); gap:16px; align-items:start; }
.damage-entry-card,.damage-history-card { overflow:hidden; border:1px solid #e0e8ef; }
.damage-card-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 20px; border-bottom:1px solid #e8edf2; background:#fbfdff; }
.damage-card-heading h3 { margin-top:3px; color:#183b5c; font-size:17px; }
.damage-entry-card .card-body { padding:18px 20px; }
.damage-entry-card .form-group { margin-bottom:13px; }
.damage-entry-card .form-group label { color:#425b71; }
.damage-search-row { display:flex; gap:8px; }
.damage-search-row .form-control { min-width:0; }
.damage-field-hint { display:block; margin-top:5px; color:var(--text-muted); font-size:11px; }
.damage-lookup-results { margin:0 0 13px; }
.damage-empty { padding:12px; border:1px dashed #d7e1ea; border-radius:10px; background:#f8fafc; color:var(--text-muted); font-size:12px; text-align:center; }
.damage-match-list { display:grid; gap:7px; }
.damage-match {
  display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px; padding:11px 12px;
  border:1px solid #dbe5ee; border-radius:10px; background:#fff; color:var(--text); text-align:left; cursor:pointer;
  font:inherit; transition:border-color .15s,background .15s;
}
.damage-match:hover,.damage-match:focus-visible { border-color:#69a7d6; background:#f2f8fd; outline:2px solid rgba(36,120,200,.16); }
.damage-match strong,.damage-match small { display:block; }
.damage-match strong { font-size:12px; }
.damage-match small { margin-top:3px; color:var(--text-muted); font-size:10px; }
.damage-match-action { flex:0 0 auto; color:#176ca5; font-size:11px; font-weight:800; }
.damage-history-action { display:grid; justify-items:end; gap:7px; flex:0 0 auto; }
.damage-status-badge { display:inline-flex; align-items:center; padding:4px 8px; border-radius:999px; font-size:9px; font-weight:900; letter-spacing:.04em; white-space:nowrap; }
.damage-status-badge.is-pending { border:1px solid #f0c36b; background:#fff5d7; color:#845700; }
.damage-status-badge.is-completed { border:1px solid #9bceb0; background:#e8f6ed; color:#176b3c; }
.damage-selected-source { margin-top:13px; padding:13px; border:1px solid #cfe0ed; border-radius:12px; background:#f7fbff; }
.damage-selected-heading { display:flex; flex-direction:column; gap:3px; margin-bottom:13px; color:#61768a; font-size:10px; }
.damage-selected-heading strong { color:#193c5b; font-size:13px; }
.damage-form-row { display:grid; grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr); gap:10px; }
.damage-deduct-option { display:flex; gap:9px; align-items:flex-start; padding:11px; border:1px solid #c9deee; border-radius:10px; background:#edf6fd; cursor:pointer; }
.damage-deduct-option input { margin-top:3px; accent-color:var(--green-main); }
.damage-deduct-option strong,.damage-deduct-option small { display:block; }
.damage-deduct-option strong { color:#214764; font-size:12px; }
.damage-deduct-option small { margin-top:3px; color:#5b7184; font-size:10px; line-height:1.4; }
.damage-stock-hint,.damage-customer-note { margin-top:7px; color:#526b80; font-size:10px; }
.damage-save-button { width:100%; justify-content:center; margin-top:12px; }
.damage-notice { min-height:18px; margin-top:10px; color:#315d7a; font-size:11px; }
.damage-history-content { min-height:150px; }
.damage-history-content > .damage-empty { margin:16px; }
.damage-table-wrap { max-height:650px; }
.damage-table { min-width:860px; }
.damage-table th { white-space:nowrap; }
.damage-table td { vertical-align:top; font-size:12px; }
.damage-stock-badge { display:inline-block; padding:4px 7px; border-radius:999px; background:#edf1f5; color:#536578; font-size:10px; font-weight:800; white-space:nowrap; }
.damage-stock-badge.is-deducted { background:#e4f5eb; color:#187247; }
.damage-persisted-status { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.damage-pending-editor { display:grid; gap:8px; margin-top:12px; padding:13px; border:1px solid #efcf84; border-left:4px solid #d49a21; border-radius:10px; background:#fffaf0; }
.damage-pending-editor label { display:grid; gap:6px; color:#573f10; font-size:12px; font-weight:800; }
.damage-complete-reason { resize:vertical; min-height:68px; background:#fff; }
.damage-pending-prefill { color:#665a41; font-size:11px; line-height:1.45; }
.damage-complete-notice { min-height:17px; color:#8a5b00; font-size:11px; }
.damage-complete-button { justify-content:center; }
.refund-damage-pending-hint { display:block; color:#805700; font-size:11px; line-height:1.4; }
.refund-damage-pending-hint[hidden] { display:none; }
@media (max-width:900px) {
  .damage-layout { grid-template-columns:minmax(0,1fr); }
  .damage-history-content { min-height:0; }
}
@media (max-width:550px) {
  .damage-page-head { align-items:flex-start; flex-direction:column; padding:17px; }
  .damage-head-tag { align-self:flex-start; }
  .damage-card-heading { padding:14px; }
  .damage-entry-card .card-body { padding:14px; }
  .damage-search-row { flex-direction:column; }
  .damage-search-row .btn { width:100%; justify-content:center; }
  .damage-form-row { grid-template-columns:minmax(0,1fr); gap:0; }
}

/* Cashier view: reproduce the reference's simple item equation and payment ledger. */
#section-pdv-terminal .pdv-terminal-shell,
#section-delivery #deliveryCounterSale .pdv-terminal-shell,
#deliveryCounterSale .pdv-terminal-shell {
  --floor-red:#9f3038;
  --floor-red-dark:#78242c;
  --floor-yellow:#efd45a;
  --floor-paper:#f3f2ee;
  --floor-field:#fffefa;
  --floor-rule:#cbc9c1;
  border:0;
  border-radius:0;
  background:var(--floor-paper);
  box-shadow:none;
}
#section-pdv-terminal .pdv-terminal-header,
#section-delivery #deliveryCounterSale .pdv-terminal-header,
#deliveryCounterSale .pdv-terminal-header {
  min-height:64px;
  padding:8px 16px;
  background:var(--floor-red);
  border:0;
  border-bottom:2px solid var(--floor-red-dark);
  box-shadow:none;
}
#section-pdv-terminal .pdv-terminal-header > strong,
#section-delivery #deliveryCounterSale .pdv-terminal-header > strong,
#deliveryCounterSale .pdv-terminal-header > strong {
  color:#fff;
  font-size:15px;
  letter-spacing:.04em;
}
#section-pdv-terminal .pdv-terminal-header > div:first-child img,
#section-delivery #deliveryCounterSale .pdv-terminal-header > div:first-child img,
#deliveryCounterSale .pdv-terminal-header > div:first-child img {
  width:76px;
  height:44px;
  border-radius:0;
  background:transparent;
}
#section-pdv-terminal .pdv-terminal-operator span,
#section-delivery #deliveryCounterSale .pdv-terminal-operator span,
#deliveryCounterSale .pdv-terminal-operator span {
  background:var(--floor-yellow);
  color:#352d16;
}
#section-pdv-terminal .pdv-catalog-pane,
#section-delivery #deliveryCounterSale .pdv-catalog-pane,
#deliveryCounterSale .pdv-catalog-pane { background:#ecebe6; }
#section-pdv-terminal .pdv-consumption-pane,
#section-delivery #deliveryCounterSale .pdv-consumption-pane,
#deliveryCounterSale .pdv-consumption-pane { background:#f7f6f2; }
#section-pdv-terminal .pdv-payment-pane,
#section-delivery #deliveryCounterSale .pdv-payment-pane,
#deliveryCounterSale .pdv-payment-pane { background:#ecebe6; }
#section-pdv-terminal .pdv-pane-title,
#section-delivery #deliveryCounterSale .pdv-pane-title,
#deliveryCounterSale .pdv-pane-title {
  margin-bottom:10px;
  padding:0 0 7px;
  border-bottom:1px solid var(--floor-rule);
}
#section-pdv-terminal .pdv-pane-title span,
#section-delivery #deliveryCounterSale .pdv-pane-title span,
#deliveryCounterSale .pdv-pane-title span {
  color:var(--floor-red);
  font-size:11px;
  letter-spacing:.07em;
}
#section-pdv-terminal .pdv-pane-title b,
#section-delivery #deliveryCounterSale .pdv-pane-title b,
#deliveryCounterSale .pdv-pane-title b { color:#302f2b; }
#section-pdv-terminal .pdv-current-items,
#section-delivery #deliveryCounterSale .pdv-current-items,
#deliveryCounterSale .pdv-current-items {
  min-height:260px;
  border:1px solid var(--floor-rule);
  border-radius:0;
  background:var(--floor-field);
  box-shadow:none;
}
#section-pdv-terminal .pdv-sale-item,
#section-delivery #deliveryCounterSale .pdv-sale-item,
#deliveryCounterSale .pdv-sale-item {
  grid-template-columns:minmax(0,1fr) auto;
  gap:5px 10px;
  padding:9px 10px;
  border-bottom:1px solid #e4e2dc;
  background:transparent;
}
#section-pdv-terminal .pdv-sale-item-info,
#section-delivery #deliveryCounterSale .pdv-sale-item-info,
#deliveryCounterSale .pdv-sale-item-info { min-width:0; }
#section-pdv-terminal .pdv-sale-item-info b,
#section-delivery #deliveryCounterSale .pdv-sale-item-info b,
#deliveryCounterSale .pdv-sale-item-info b {
  color:#272925;
  font-size:14px;
  line-height:1.2;
}
#section-pdv-terminal .pdv-sale-item-info small,
#section-delivery #deliveryCounterSale .pdv-sale-item-info small,
#deliveryCounterSale .pdv-sale-item-info small { color:#655f57; font-size:11px; }
#section-pdv-terminal .pdv-sale-equation,
#section-delivery #deliveryCounterSale .pdv-sale-equation,
#deliveryCounterSale .pdv-sale-equation {
  margin-top:3px;
  color:#4d4a45;
  font-size:12px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
#section-pdv-terminal .pdv-sale-item > strong,
#section-delivery #deliveryCounterSale .pdv-sale-item > strong,
#deliveryCounterSale .pdv-sale-item > strong {
  grid-column:2;
  grid-row:1;
  align-self:start;
  color:#292a27;
  font-size:16px;
  font-variant-numeric:tabular-nums;
}
#section-pdv-terminal .pdv-sale-quantity,
#section-delivery #deliveryCounterSale .pdv-sale-quantity,
#deliveryCounterSale .pdv-sale-quantity {
  grid-column:1;
  grid-row:2;
  flex-direction:row;
  justify-content:flex-start;
  gap:7px;
}
#section-pdv-terminal .pdv-remove-item,
#section-delivery #deliveryCounterSale .pdv-remove-item,
#deliveryCounterSale .pdv-remove-item { grid-column:2; grid-row:2; }
#section-pdv-terminal .pdv-receipt-preview,
#section-delivery #deliveryCounterSale .pdv-receipt-preview,
#deliveryCounterSale .pdv-receipt-preview {
  max-height:170px;
  margin:0 0 8px;
  overflow:auto;
  border:1px solid var(--floor-rule);
  border-radius:0;
  background:var(--floor-field);
  box-shadow:none;
}
#section-pdv-terminal .receipt-paper,
#section-delivery #deliveryCounterSale .receipt-paper,
#deliveryCounterSale .receipt-paper {
  padding:9px 11px;
  border-radius:0;
  background:var(--floor-field);
  box-shadow:none;
}
#section-pdv-terminal .receipt-line,
#section-delivery #deliveryCounterSale .receipt-line,
#deliveryCounterSale .receipt-line { padding:5px 0; border-color:#e4e2dc; }
#section-pdv-terminal .receipt-total,
#section-delivery #deliveryCounterSale .receipt-total,
#deliveryCounterSale .receipt-total {
  margin-top:5px;
  padding:7px 8px;
  background:var(--floor-yellow);
  color:#332d1b;
}
#section-pdv-terminal .receipt-total b,
#section-delivery #deliveryCounterSale .receipt-total b,
#deliveryCounterSale .receipt-total b { color:#292820; }
#section-pdv-terminal .pdv-big-total,
#section-delivery #deliveryCounterSale .pdv-big-total,
#deliveryCounterSale .pdv-big-total {
  min-height:0;
  padding:12px 14px;
  border:0;
  border-radius:0;
  background:var(--floor-red);
  box-shadow:none;
  text-align:left;
}
#section-pdv-terminal .pdv-big-total strong,
#section-delivery #deliveryCounterSale .pdv-big-total strong,
#deliveryCounterSale .pdv-big-total strong { color:#fff; font-size:clamp(38px,4vw,56px); }
#section-pdv-terminal .pdv-total-lines,
#section-delivery #deliveryCounterSale .pdv-total-lines,
#deliveryCounterSale .pdv-total-lines,
#section-pdv-terminal .pdv-tender-preview,
#section-delivery #deliveryCounterSale .pdv-tender-preview,
#deliveryCounterSale .pdv-tender-preview {
  border:0;
  border-radius:0;
  background:var(--floor-field);
  box-shadow:none;
}
#section-pdv-terminal .pdv-total-lines > div,
#section-delivery #deliveryCounterSale .pdv-total-lines > div,
#deliveryCounterSale .pdv-total-lines > div,
#section-pdv-terminal .pdv-tender-row,
#section-delivery #deliveryCounterSale .pdv-tender-row,
#deliveryCounterSale .pdv-tender-row {
  min-height:34px;
  padding:6px 10px;
  border-bottom:1px solid #e3e0d9;
  color:#3e3c37;
}
#section-pdv-terminal .pdv-total-lines .pdv-due,
#section-delivery #deliveryCounterSale .pdv-total-lines .pdv-due,
#deliveryCounterSale .pdv-total-lines .pdv-due {
  background:var(--floor-yellow);
  color:#2c291e;
}
#section-pdv-terminal .pdv-total-lines .pdv-due b,
#section-delivery #deliveryCounterSale .pdv-total-lines .pdv-due b,
#deliveryCounterSale .pdv-total-lines .pdv-due b { color:#292820; }
/* Payment: simple ledger beside the existing real payment methods and inputs. */
#paymentModal .payment-modal {
  --floor-red:#9f3038;
  --floor-field:#fffefa;
  --floor-yellow:#efd45a;
  max-width:1040px;
  border:1px solid #aaa69c;
  border-radius:2px;
  background:#f4f3ee;
  box-shadow:0 8px 28px rgba(20,24,27,.22);
}
#paymentModal .payment-modal .modal-header,
#paymentModal .payment-modal .modal-footer {
  padding:12px 16px;
  background:#e9e7e0;
  border-color:#cbc8bf;
}
#paymentModal .payment-modal .modal-header h3 { color:#34322d; font-size:17px; }
#paymentModal .payment-modal .modal-body {
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);
  align-content:start;
  gap:0 16px;
  padding:14px 16px;
}
#paymentModal .payment-modal .payment-receipt-wrap { grid-column:1/-1; }
#paymentModal .payment-modal #paymentSingleMethodChoice { grid-column:1; grid-row:2; }
#paymentModal .payment-modal .payment-total-card { grid-column:2; grid-row:2; }
#paymentModal .payment-modal #paymentSingleFields,
#paymentModal .payment-modal #paymentMultipleForms,
#paymentModal .payment-modal #paymentRemainingWrap,
#paymentModal .payment-modal #payAdjustmentReasonWrap,
#paymentModal .payment-modal #payTerminalWrap,
#paymentModal .payment-modal #pixQrSection,
#paymentModal .payment-modal #cardProofSection,
#paymentModal .payment-modal .modal-body > p:last-child { grid-column:1/-1; }
#paymentModal .payment-modal .payment-receipt-wrap {
  padding:9px;
  border:1px solid #c9c6bd;
  border-radius:0;
  background:#ecebe6;
}
#paymentModal .payment-modal .payment-receipt-heading {
  margin-bottom:6px;
  color:#49463f;
  font-size:11px;
}
#paymentModal .payment-modal .payment-receipt-note { margin:6px 0 0; color:#57544d; font-size:11px; }
#paymentModal .payment-modal .payment-total-card {
  align-self:start;
  margin:0 0 12px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#302e29;
  box-shadow:none;
}
#paymentModal .payment-modal .payment-total-heading {
  display:block;
  padding:9px 11px;
  background:var(--floor-red);
}
#paymentModal .payment-modal .payment-kicker { color:#f4eee6; font-size:10px; }
#paymentModal .payment-modal .payment-total-heading h4 { color:#fff; font-size:13px; }
#paymentModal .payment-modal .payment-final-total {
  display:block;
  margin-top:5px;
  padding:7px 10px;
  border-radius:0;
  background:var(--floor-field);
  color:#292a27;
  font-size:clamp(30px,4vw,44px);
  text-align:right;
}
#paymentModal .payment-modal .payment-breakdown { margin-top:5px; }
#paymentModal .payment-modal .payment-breakdown > summary {
  padding:6px 8px;
  background:#e8e6df;
  color:#46433d;
  font-size:11px;
}
#paymentModal .payment-modal #paymentBreakdown > summary { display:none; }
#paymentModal .payment-modal #paymentBreakdown > #paymentSummary {
  display:grid !important;
  margin-top:4px;
}
#paymentModal .payment-modal .payment-total-lines {
  grid-template-columns:1fr;
  gap:0;
  border:1px solid #cfccc3;
  background:var(--floor-field);
}
#paymentModal .payment-modal .payment-total-lines > div {
  min-height:31px;
  padding:5px 9px;
  border-bottom:1px solid #e1dfd8;
  background:var(--floor-field);
  color:#37352f;
  font-size:12px;
}
#paymentModal .payment-modal .payment-total-lines > .payment-total-row {
  background:var(--floor-yellow);
  color:#292820;
  font-size:14px;
}
#paymentModal .payment-modal .payment-total-lines > .payment-total-row b { color:#292820; font-size:16px; }
#paymentModal .payment-modal #paymentSingleMethodChoice > label { margin-bottom:4px; color:#35332d; font-size:13px; }
#paymentModal .payment-modal .payment-simple-guide { margin:3px 0 8px; color:#5b574f; font-size:11px; }
#paymentModal .payment-modal .payment-methods { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
#paymentModal .payment-modal .payment-methods > div { gap:0 !important; }
#paymentModal .payment-modal .pm-btn {
  min-height:48px;
  padding:8px 10px;
  border:1px solid #bcb8ae;
  border-radius:0;
  background:var(--floor-field);
  box-shadow:none;
  color:#302f2a;
  font-size:13px;
  text-align:left;
}
#paymentModal .payment-modal .pm-btn .pm-icon { display:none; }
#paymentModal .payment-modal .pm-btn small { float:right; margin:0 0 0 6px; font-size:10px; }
#paymentModal .payment-modal .pm-btn.selected {
  border-color:var(--floor-red);
  background:#f4e5e3;
  box-shadow:inset 4px 0 var(--floor-red);
}
#paymentModal .payment-modal #paymentRemainingWrap {
  border-radius:0;
  background:#e6e4dd;
  color:#36342f;
}
#paymentModal .payment-modal #paymentRemainingWrap strong { color:#2b2a25; }
#paymentModal .payment-modal .payment-cash-panel,
#paymentModal .payment-modal #pixQrSection {
  border:1px solid #cbc8bf;
  border-radius:0;
  background:#eeede8;
}
#paymentModal .payment-modal .payment-cash-change { color:var(--floor-red); }
#paymentModal .payment-modal .payment-modal-shortcut,
#paymentModal .payment-modal button[data-shortcut-method],
#paymentModal .payment-modal button[data-shortcut-action] { display:none !important; }
#paymentModal .payment-modal .modal-footer .btn { border-radius:2px; }

/* Depth stays in the controls, never in the transaction's information. */
#section-pdv-terminal .pdv-terminal-shell,
#section-delivery #deliveryCounterSale .pdv-terminal-shell,
#deliveryCounterSale .pdv-terminal-shell {
  box-shadow:0 3px 0 #b5a3a0,0 12px 0 #d9d0c9,0 22px 34px rgba(43,25,25,.25);
}
#section-pdv-terminal :is(.pdv-catalog-pane,.pdv-consumption-pane,.pdv-payment-pane),
#section-delivery #deliveryCounterSale :is(.pdv-catalog-pane,.pdv-consumption-pane,.pdv-payment-pane),
#deliveryCounterSale :is(.pdv-catalog-pane,.pdv-consumption-pane,.pdv-payment-pane) {
  box-shadow:inset 2px 2px 0 rgba(255,255,255,.72),inset -3px -3px 9px rgba(64,35,35,.12);
}
#section-pdv-terminal :is(.pdv-barcode-entry input,.pdv-quick-controls input),
#section-delivery #deliveryCounterSale :is(.pdv-barcode-entry input,.pdv-quick-controls input),
#deliveryCounterSale :is(.pdv-barcode-entry input,.pdv-quick-controls input) {
  box-shadow:inset 0 3px 6px rgba(35,24,24,.15),0 1px 0 #fff;
}
#section-pdv-terminal .pdv-big-total,
#section-delivery #deliveryCounterSale .pdv-big-total,
#deliveryCounterSale .pdv-big-total {
  box-shadow:0 5px 0 #684438,0 11px 16px rgba(54,29,29,.26),inset 0 1px 0 rgba(255,255,255,.5);
}
#section-pdv-terminal .pdv-action.primary,
#section-delivery #deliveryCounterSale .pdv-action.primary,
#deliveryCounterSale .pdv-action.primary {
  box-shadow:0 4px 0 #753f34,0 8px 15px rgba(54,29,29,.2);
}

/* TOTEM - INSIGHT SYSTEMS counter till: compact, navy masthead + quick blue item picker.
   Deliberately scoped to the dedicated PDV; Delivery keeps its existing skin. */
#section-pdv-terminal .pdv-terminal-shell {
  --nb-forest:#176746;
  --nb-forest-deep:#104c35;
  --nb-blue:#176ac0;
  --nb-blue-deep:#10549e;
  --nb-paper:#f2f3ef;
  --nb-rule:#d7dcd5;
  min-height:100dvh;
  border:0;
  border-radius:0;
  background:var(--nb-paper);
  color:#202b26;
  box-shadow:none;
}
#section-pdv-terminal .pdv-terminal-header {
  grid-template-columns:150px minmax(0,1fr) auto;
  min-height:66px;
  padding:8px 18px;
  background:var(--nb-forest);
  border:0;
  border-bottom:3px solid var(--nb-forest-deep);
  box-shadow:none;
}
#section-pdv-terminal .pdv-terminal-brand { display:flex; align-items:center; }
#section-pdv-terminal .pdv-terminal-header .pdv-terminal-brand img {
  display:block;
  width:110px;
  height:48px;
  object-fit:contain;
  object-position:left center;
  border-radius:0;
  background:transparent;
}
#section-pdv-terminal .pdv-terminal-heading {
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}
#section-pdv-terminal .pdv-terminal-heading > strong {
  color:#fff;
  font-size:16px;
  letter-spacing:.07em;
}
#section-pdv-terminal .pdv-terminal-heading > span {
  padding-left:15px;
  border-left:1px solid rgba(255,255,255,.34);
  color:#d9eee2;
  font-size:10px;
  font-weight:850;
  letter-spacing:.12em;
}
#section-pdv-terminal .pdv-terminal-operator {
  align-items:center;
  color:#f2fff7;
}
#section-pdv-terminal .pdv-terminal-operator small { color:#d3e8db; opacity:1; }
#section-pdv-terminal .pdv-terminal-operator span {
  border-radius:3px;
  background:#e8c84e;
  color:#302b15;
}
#section-pdv-terminal .pdv-offline-readiness {
  min-height:36px;
  padding:5px 14px !important;
  border-bottom:1px solid #d9e2da;
  background:#e8f0e9 !important;
  color:#3d5749 !important;
  font-size:11px !important;
}
#section-pdv-terminal .pdv-offline-readiness small { flex-basis:auto !important; margin-left:auto; }
#section-pdv-terminal .pdv-offline-readiness .btn {
  min-height:27px;
  padding:4px 9px;
  border-color:#b5c8ba;
  border-radius:3px;
  background:#f8fbf8;
  color:#28533b;
  font-size:10px;
}
#section-pdv-terminal .pdv-terminal-grid {
  grid-template-columns:minmax(310px,1.02fr) minmax(300px,.92fr) minmax(275px,.78fr);
  min-height:calc(100dvh - 104px);
}
#section-pdv-terminal :is(.pdv-catalog-pane,.pdv-consumption-pane,.pdv-payment-pane) {
  min-width:0;
  padding:13px 14px;
  box-shadow:none;
}
#section-pdv-terminal .pdv-catalog-pane {
  background:#e9ece8;
  border-right:1px solid #c9d0ca;
}
#section-pdv-terminal .pdv-consumption-pane {
  display:flex;
  flex-direction:column;
  background:#fff;
  border-right:1px solid #d9ddd8;
}
#section-pdv-terminal .pdv-payment-pane {
  background:#f7f8f5;
  border-left:1px solid #d9ddd8;
}
#section-pdv-terminal .pdv-pane-title {
  align-items:center;
  margin:0 0 9px;
  padding:0 0 8px;
  border-bottom:1px solid var(--nb-rule);
}
#section-pdv-terminal .pdv-pane-title span {
  color:#41624f;
  font-size:10px;
  letter-spacing:.1em;
}
#section-pdv-terminal .pdv-pane-title b {
  color:#343c36;
  font-size:12px;
}
#section-pdv-terminal .pdv-barcode-entry {
  grid-template-columns:minmax(0,1fr) auto;
  gap:5px;
  margin-bottom:7px;
}
#section-pdv-terminal .pdv-barcode-entry input,
#section-pdv-terminal .pdv-product-search {
  min-height:39px;
  padding:7px 10px;
  border:1px solid #bbc8bf;
  border-radius:3px;
  background:#fff;
  color:#26342c;
  box-shadow:none;
  font-size:12px;
}
#section-pdv-terminal .pdv-barcode-entry input:focus,
#section-pdv-terminal .pdv-product-search:focus {
  border-color:#26784f;
  box-shadow:0 0 0 2px rgba(38,120,79,.14);
}
#section-pdv-terminal .pdv-barcode-entry button {
  min-height:39px;
  padding:0 12px;
  border:0;
  border-radius:3px;
  background:#286a47;
  color:#fff;
  font-size:11px;
  font-weight:850;
}
#section-pdv-terminal .pdv-quick-controls {
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 7px;
  color:#435348;
  font-size:11px;
}
#section-pdv-terminal .pdv-quick-controls input {
  width:58px;
  min-height:31px;
  padding:4px 7px;
  border:1px solid #bdc8bf;
  border-radius:3px;
  background:#fff;
  color:#28362e;
  box-shadow:none;
  font-size:12px;
  text-align:center;
}
#section-pdv-terminal .pdv-quick-controls .btn,
#section-pdv-terminal .pdv-search-row .btn {
  min-height:29px;
  padding:4px 8px;
  border:1px solid #bdc8bf;
  border-radius:3px;
  background:#f9fbf8;
  color:#45604f;
  font-size:10px;
}
#section-pdv-terminal .pdv-search-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:5px;
}
#section-pdv-terminal .pdv-catalog-caption {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin:10px 0 3px;
  color:#49564d;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
}
#section-pdv-terminal .pdv-catalog-caption small {
  color:#727c75;
  font-size:9px;
  font-weight:600;
  letter-spacing:0;
}
#section-pdv-terminal .pdv-category-tabs {
  display:flex;
  flex-wrap:nowrap;
  gap:5px;
  margin:4px 0 8px;
  padding:1px 0 5px;
  overflow-x:auto;
  scrollbar-width:thin;
}
#section-pdv-terminal .pdv-category-tabs button {
  min-height:29px;
  padding:5px 9px;
  border:1px solid #bbc9bf;
  border-radius:3px;
  background:#f8faf8;
  color:#334d3d;
  font-size:10px;
  font-weight:750;
}
#section-pdv-terminal .pdv-category-tabs button.active {
  border-color:#286847;
  background:#286847;
  color:#fff;
}
#section-pdv-terminal .pdv-product-grid {
  grid-template-columns:minmax(0,1fr);
  gap:3px;
  max-height:calc(100dvh - 294px);
  padding:0 3px 4px 0;
}
#section-pdv-terminal .pdv-product-tile {
  position:relative;
  display:grid;
  grid-template-columns:24px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-height:46px;
  padding:6px 10px;
  border:1px solid #1459a5;
  border-radius:2px;
  background:#1768bb;
  box-shadow:none;
  color:#fff;
}
#section-pdv-terminal .pdv-product-tile::before {
  content:"+";
  display:grid;
  place-items:center;
  width:21px;
  height:21px;
  border:1px solid rgba(255,255,255,.6);
  border-radius:50%;
  color:#fff;
  font-size:16px;
  font-weight:500;
  line-height:1;
}
#section-pdv-terminal .pdv-product-tile:hover {
  transform:none;
  background:#10569f;
}
#section-pdv-terminal .pdv-product-tile:active {
  transform:translateY(1px);
  box-shadow:none;
}
#section-pdv-terminal .pdv-product-tile span {
  overflow:hidden;
  color:#fff;
  font-size:11px;
  line-height:1.22;
  text-overflow:ellipsis;
}
#section-pdv-terminal .pdv-product-tile b {
  color:#fff;
  font-size:12px;
  white-space:nowrap;
}
#section-pdv-terminal .pdv-product-tile small { display:none; }
#section-pdv-terminal .pdv-sale-summary {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin:-1px 0 8px;
  padding:8px 10px;
  border:1px solid #d7ddd7;
  background:#f5f6f3;
}
#section-pdv-terminal .pdv-sale-summary span {
  color:#59645c;
  font-size:9px;
  font-weight:850;
  letter-spacing:.07em;
}
#section-pdv-terminal .pdv-sale-summary strong {
  color:#2b6042;
  font-size:17px;
  font-variant-numeric:tabular-nums;
}
#section-pdv-terminal .pdv-customer-line {
  grid-template-columns:auto minmax(0,1fr);
  gap:8px;
  margin-bottom:8px;
  padding:0;
  border:0;
}
#section-pdv-terminal .pdv-customer-line label {
  display:flex;
  align-items:center;
  gap:5px;
  color:#394a3e;
  font-size:11px;
}
#section-pdv-terminal .pdv-keycap {
  padding:3px 5px;
  border:1px solid #c1c9c1;
  border-bottom-width:2px;
  border-radius:2px;
  background:#f3f4f1;
  color:#34493a;
  font-size:9px;
  font-weight:850;
}
#section-pdv-terminal .pdv-customer-line input {
  min-height:34px;
  padding:6px 8px;
  border:1px solid #c5cdc6;
  border-radius:2px;
  background:#fff;
  color:#27332b;
  font-size:11px;
}
#section-pdv-terminal .pdv-customer-control { position:relative; min-width:0; }
#section-pdv-terminal .pdv-customer-entry { display:flex; align-items:center; gap:5px; }
#section-pdv-terminal .pdv-customer-entry input { flex:1; min-width:0; }
#section-pdv-terminal .pdv-customer-entry button { white-space:nowrap; min-height:34px; }
#section-pdv-terminal .pdv-customer-entry button[hidden] { display:none; }
#section-pdv-terminal .pdv-customer-selected { display:block; margin-top:4px; color:#356b51; font-weight:700; }
#section-pdv-terminal .pdv-customer-selected[hidden],
#section-pdv-terminal .pdv-customer-results[hidden],
#section-pdv-terminal .pdv-customer-modal[hidden] { display:none; }
#section-pdv-terminal .pdv-customer-results {
  position:absolute; z-index:80; top:100%; left:0; right:0; max-height:265px; overflow:auto;
  border:1px solid #c5cdc6; border-radius:6px; background:#fff;
  box-shadow:0 12px 28px rgba(20,40,30,.2);
}
#section-pdv-terminal .pdv-customer-option { display:flex; align-items:stretch; border-bottom:1px solid #e7ece9; }
#section-pdv-terminal .pdv-customer-option button:first-child {
  flex:1; min-width:0; padding:9px 12px; text-align:left; border:0; background:#fff; color:#24352e;
}
#section-pdv-terminal .pdv-customer-option button:hover,
#section-pdv-terminal .pdv-customer-option button:focus-visible { background:#e9f4ed; }
#section-pdv-terminal .pdv-customer-option small,
#section-pdv-terminal .pdv-customer-preview span { display:block; color:#526a60; }
#section-pdv-terminal .pdv-customer-pencil { padding:0 12px; border:0; background:#f4f7f5; font-size:18px; }
#section-pdv-terminal .pdv-customer-message { display:block; padding:12px; color:#526a60; }
#section-pdv-terminal .pdv-customer-preview { display:grid; gap:7px; padding:12px; }
#section-pdv-terminal .pdv-customer-preview div { display:flex; flex-wrap:wrap; gap:6px; }
#section-pdv-terminal .pdv-customer-modal {
  position:fixed; z-index:1100; inset:0; display:grid; place-items:center;
  padding:16px; background:rgba(18,32,25,.6);
}
#section-pdv-terminal .pdv-customer-form {
  width:min(680px,100%); max-height:90vh; overflow:auto;
  padding:20px; border-radius:10px; background:#fff; color:#24352e;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
}
#section-pdv-terminal .pdv-customer-form-head,
#section-pdv-terminal .pdv-customer-form-actions { display:flex; justify-content:space-between; align-items:center; gap:10px; }
#section-pdv-terminal .pdv-customer-form h3 { margin:0; }
#section-pdv-terminal .pdv-customer-form p { margin:8px 0 16px; color:#526a60; }
#section-pdv-terminal .pdv-customer-form .form-row { display:flex; flex-wrap:wrap; gap:10px; }
#section-pdv-terminal .pdv-customer-form .form-group { flex:1 1 160px; min-width:0; }
#section-pdv-terminal .pdv-customer-form .form-group input { width:100%; }
#section-pdv-terminal .pdv-customer-form-actions { justify-content:flex-end; margin-top:15px; }
#section-pdv-terminal .pdv-current-items {
  display:block !important;
  flex:1 1 auto;
  min-height:250px;
  max-height:none;
  padding:0 5px;
  overflow:auto;
  border:1px solid #d8ddd8;
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
#section-pdv-terminal .pdv-terminal-empty { min-height:180px; }
#section-pdv-terminal .pdv-terminal-empty b { color:#405247; font-size:14px; }
#section-pdv-terminal .pdv-terminal-empty span { font-size:11px; }
#section-pdv-terminal .pdv-sale-item {
  grid-template-columns:minmax(0,1fr) auto;
  gap:5px 9px;
  min-height:62px;
  padding:8px;
  border-bottom:1px solid #e0e4df;
  background:#fff;
}
#section-pdv-terminal .pdv-sale-item:nth-child(even) { background:#fafbf9; }
#section-pdv-terminal .pdv-sale-item-info b {
  color:#2c352e;
  font-size:12px;
  line-height:1.25;
}
#section-pdv-terminal .pdv-sale-item-info small { color:#68746c; font-size:10px; }
#section-pdv-terminal .pdv-sale-item > strong {
  grid-column:2;
  grid-row:1;
  color:#365941;
  font-size:13px;
  font-variant-numeric:tabular-nums;
}
#section-pdv-terminal .pdv-sale-equation { color:#58645b; font-size:10px; }
#section-pdv-terminal .pdv-sale-quantity {
  grid-column:1;
  grid-row:2;
  flex-direction:row;
  justify-content:flex-start;
  gap:6px;
}
#section-pdv-terminal .pdv-item-controls { gap:3px; }
#section-pdv-terminal .pdv-item-controls button {
  width:27px;
  height:27px;
  border-radius:2px;
  background:#286a47;
  font-size:16px;
}
#section-pdv-terminal .pdv-quantity-value { min-width:28px; font-size:12px; }
#section-pdv-terminal .pdv-quantity-input {
  width:58px;
  min-height:29px;
  border:1px solid #7d9f88;
  border-radius:2px;
  background:#fff;
  color:#25392d;
  font-size:13px;
}
#section-pdv-terminal .pdv-remove-item {
  grid-column:2;
  grid-row:2;
  min-height:27px;
  border-radius:2px;
  font-size:10px;
}
#section-pdv-terminal .pdv-consumption-footer {
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding:7px 2px 0;
  color:#5e6961;
  font-size:9px;
}
#section-pdv-terminal .pdv-consumption-footer span:first-child {
  font-weight:900;
  letter-spacing:.08em;
}
#section-pdv-terminal .pdv-payment-pane .pdv-pane-title { margin-bottom:10px; }
#section-pdv-terminal .pdv-big-total {
  min-height:0;
  padding:12px 13px;
  border:1px solid #d1dbd2;
  border-left:4px solid #2f7b50;
  border-radius:2px;
  background:#fff;
  box-shadow:none;
  text-align:left;
}
#section-pdv-terminal .pdv-big-total small,
#section-pdv-terminal .pdv-big-total .pdv-total-kicker {
  color:#69776c;
  font-size:9px;
  letter-spacing:.1em;
}
#section-pdv-terminal .pdv-big-total strong {
  margin-top:3px;
  color:#225d3e;
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(38px,4vw,52px);
  line-height:1;
}
#section-pdv-terminal .pdv-total-lines {
  margin:8px 0;
  border:1px solid #d5dad5;
  border-radius:0;
  background:#fff;
}
#section-pdv-terminal .pdv-total-lines > div {
  min-height:32px;
  padding:6px 9px;
  border-bottom:1px solid #e5e8e4;
  color:#4b554e;
  font-size:11px;
}
#section-pdv-terminal .pdv-total-lines > div b { color:#303a33; font-size:12px; }
#section-pdv-terminal .pdv-total-lines .pdv-due {
  background:#f4e9e7;
  color:#743b35;
  font-size:12px;
}
#section-pdv-terminal .pdv-total-lines .pdv-due b { color:#683630; font-size:15px; }
#section-pdv-terminal .pdv-tender-preview {
  margin:0 0 10px;
  padding:0 9px;
  border:1px solid #d5dad5;
  border-radius:0;
  background:#fff;
}
#section-pdv-terminal .pdv-tender-row {
  min-height:32px;
  padding:6px 0;
  border-color:#e5e8e4;
  color:#535e56;
  font-size:10px;
}
#section-pdv-terminal .pdv-tender-row strong { color:#303b33; font-size:10px; }
#section-pdv-terminal .pdv-tender-row:last-child strong { color:#365d43; }
#section-pdv-terminal .pdv-action-strip {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px;
  margin-top:8px;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-key-action {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:6px;
  min-width:0;
  min-height:62px;
  margin:0;
  padding:7px 8px;
  border:0;
  border-radius:2px;
  box-shadow:inset 0 -3px rgba(0,0,0,.13);
  color:#18231c;
  font-size:10px;
  line-height:1.1;
  text-align:left;
}
#section-pdv-terminal .pdv-key-action .pdv-action-key {
  font-size:9px;
  font-weight:900;
  letter-spacing:.07em;
  opacity:.82;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-back-action { background:#efd25b; }
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-finish-action {
  background:#4fc4af;
  color:#103c35;
  box-shadow:inset 0 -3px #239681;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-fiscal-action {
  background:#e99553;
  color:#382013;
  box-shadow:inset 0 -3px #bc6b30;
}
#section-pdv-terminal .pdv-action-help {
  margin:6px 0;
  color:#5c685f;
  font-size:9px;
  line-height:1.35;
}
#section-pdv-terminal .pdv-finalize-shortcut {
  min-height:28px;
  padding:4px 8px;
  border-radius:2px;
  color:#4c6253;
  font-size:9px;
}
#section-pdv-terminal .pdv-payment-pane > .pdv-action.no-fiscal,
#section-pdv-terminal .pdv-payment-pane > .pdv-action.danger {
  min-height:37px;
  margin:5px 0 0;
  padding:7px 9px;
  border-radius:2px;
  box-shadow:none;
  font-size:11px;
}
#section-pdv-terminal .pdv-payment-pane > .pdv-action.no-fiscal { background:#e2e6e1; color:#334138; }
#section-pdv-terminal .pdv-payment-pane > .pdv-action.danger { background:#f4e8e5; color:#7b3c35; }
#section-pdv-terminal .pdv-payment-pane .pdv-action small { margin-top:3px; font-size:9px; }
#section-pdv-terminal .pdv-shortcut-config {
  min-height:32px;
  margin-top:8px;
  border:1px solid #c7d0c8;
  border-radius:2px;
  background:#fff;
  color:#3d5e47;
  font-size:10px;
}
#section-pdv-terminal .pdv-shortcuts { gap:5px 8px; color:#58645b; font-size:10px; }
#section-pdv-terminal .pdv-shortcuts kbd,
#section-pdv-terminal .pdv-shortcuts [class*="key"] {
  border-color:#c5cec6;
  border-radius:2px;
  background:#fff;
  color:#304637;
}
#section-pdv-terminal .pdv-terminal-shell :is(button,input,textarea,select,[tabindex]):focus-visible {
  outline:3px solid #b27d08;
  outline-offset:2px;
  box-shadow:0 0 0 2px #fff;
}

@media (max-width:1050px) {
  #section-pdv-terminal .pdv-terminal-grid {
    grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);
  }
  #section-pdv-terminal .pdv-payment-pane {
    grid-column:1/-1;
    border-top:1px solid #d9ddd8;
    border-left:0;
  }
  #section-pdv-terminal .pdv-payment-pane .pdv-action-strip {
    grid-template-columns:repeat(3,minmax(120px,1fr));
    max-width:520px;
  }
  #section-pdv-terminal .pdv-payment-pane .pdv-total-lines {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:700px) {
  #section-pdv-terminal .pdv-terminal-header {
    grid-template-columns:1fr auto;
    gap:5px 12px;
    padding:8px 12px;
  }
  #section-pdv-terminal .pdv-terminal-brand { grid-column:1; grid-row:1; }
  #section-pdv-terminal .pdv-terminal-header .pdv-terminal-brand img { width:80px; height:38px; }
  #section-pdv-terminal .pdv-terminal-heading { grid-column:1/-1; grid-row:2; gap:8px; }
  #section-pdv-terminal .pdv-terminal-heading > strong { font-size:12px; }
  #section-pdv-terminal .pdv-terminal-heading > span { font-size:8px; }
  #section-pdv-terminal .pdv-terminal-operator { grid-column:2; grid-row:1; }
  #section-pdv-terminal .pdv-offline-readiness small { flex-basis:100% !important; margin-left:0; }
  #section-pdv-terminal .pdv-terminal-grid { grid-template-columns:minmax(0,1fr); min-height:0; }
  #section-pdv-terminal :is(.pdv-catalog-pane,.pdv-consumption-pane,.pdv-payment-pane) {
    padding:12px;
    border-right:0;
    border-left:0;
    border-bottom:1px solid #cfd7d0;
  }
  #section-pdv-terminal .pdv-product-grid { max-height:340px; }
  #section-pdv-terminal .pdv-current-items { min-height:230px; max-height:380px; flex:0 1 auto; }
  #section-pdv-terminal .pdv-payment-pane { grid-column:auto; }
  #section-pdv-terminal .pdv-payment-pane .pdv-total-lines { grid-template-columns:1fr; }
  #section-pdv-terminal .pdv-payment-pane .pdv-action-strip { max-width:none; }
}
@media (max-width:420px) {
  #section-pdv-terminal .pdv-terminal-heading { flex-wrap:wrap; }
  #section-pdv-terminal .pdv-search-row { grid-template-columns:minmax(0,1fr); }
  #section-pdv-terminal .pdv-search-row .btn { justify-self:start; }
  #section-pdv-terminal .pdv-action-strip { grid-template-columns:1fr; }
  #section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-key-action {
    min-height:46px;
    flex-direction:row;
    align-items:center;
    gap:12px;
  }
  #section-pdv-terminal .pdv-customer-line { grid-template-columns:1fr; gap:5px; }
}
#section-pdv-terminal .pdv-action.primary:active,
#section-delivery #deliveryCounterSale .pdv-action.primary:active,
#deliveryCounterSale .pdv-action.primary:active {
  transform:translateY(3px);
  box-shadow:0 1px 0 #753f34,0 3px 7px rgba(54,29,29,.2);
}
#paymentModal .payment-modal {
  box-shadow:0 5px 0 #9b8880,0 14px 0 #d9cec5,0 30px 40px rgba(22,18,18,.35);
}
#paymentModal .payment-modal .pm-btn {
  box-shadow:0 3px 0 #b2a8a0,0 5px 7px rgba(40,28,28,.13);
}
#paymentModal .payment-modal .pm-btn:active {
  transform:translateY(2px);
  box-shadow:0 1px 0 #b2a8a0;
}
#section-delivery #deliveryCounterSale .pdv-shortcuts,
#deliveryCounterSale .pdv-shortcuts {
  display:flex !important;
  flex-wrap:wrap;
  gap:4px;
  font-size:10px;
}
@media (max-width:720px) {
  #paymentModal .payment-modal .modal-body { grid-template-columns:minmax(0,1fr); }
  #paymentModal .payment-modal #paymentSingleMethodChoice,
  #paymentModal .payment-modal .payment-total-card { grid-column:1; grid-row:auto; }
  #paymentModal .payment-modal .payment-methods { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #paymentModal[data-shortcut-context="pdv"] .receipt-paper { padding:10px; }
  #paymentModal[data-shortcut-context="pdv"] .receipt-line {
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"name amount" "edit delete";
    gap:7px 6px;
  }
  #paymentModal[data-shortcut-context="pdv"] .receipt-line-name { grid-area:name; min-width:0; }
  #paymentModal[data-shortcut-context="pdv"] .receipt-line-name b {
    overflow-wrap:anywhere; white-space:normal; text-overflow:clip;
  }
  #paymentModal[data-shortcut-context="pdv"] .receipt-line-name small { overflow-wrap:anywhere; }
  #paymentModal[data-shortcut-context="pdv"] .receipt-line-edit { grid-area:edit; min-width:0; }
  #paymentModal[data-shortcut-context="pdv"] .receipt-line > strong {
    grid-area:amount; min-width:0; font-size:20px; white-space:nowrap;
  }
  #paymentModal[data-shortcut-context="pdv"] .receipt-delete { grid-area:delete; justify-self:end; }
}

/* Make the amount due the unmistakable cashier glance target. */
#pdvFiscalChoiceModal, #pdvReceiptPrintModal { background:rgba(5,22,40,.45); backdrop-filter:blur(2px); }
#pdvFiscalChoiceModal .pdv-fiscal-choice, #pdvReceiptPrintModal .pdv-fiscal-choice {
  width:min(440px,calc(100vw - 28px));
  padding:28px;
  border-radius:8px;
  background:#fff;
  text-align:center;
}
.pdv-fiscal-choice-icon {
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  margin:0 auto 14px;
  border:2px solid #5e95d7;
  border-radius:50%;
  color:#386da8;
  font-size:40px;
}
#pdvFiscalChoiceTitle, #pdvReceiptPrintTitle { margin:0 0 8px; color:#19395e; font-size:22px; }
#pdvFiscalChoiceDescription, #pdvReceiptPrintDescription { margin:0 0 12px; color:#38546d; }
.pdv-fiscal-choice-error { color:#9b2c27; font-size:13px; line-height:1.4; }
.pdv-fiscal-choice-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.pdv-fiscal-choice-actions .btn { min-height:42px; flex:1 1 155px; }
#section-pdv-terminal .pdv-big-total {
  min-height:122px;
  padding:15px 14px 13px;
  border:1px solid #174c34;
  border-left:6px solid #e2c64c;
  background:#16563a;
}
#section-pdv-terminal .pdv-big-total small,
#section-pdv-terminal .pdv-big-total .pdv-total-kicker { color:#dcefe3; }
#section-pdv-terminal .pdv-big-total strong {
  color:#f3d75c;
  font-size:clamp(52px,5.3vw,70px);
  font-weight:850;
  letter-spacing:-.025em;
  line-height:.94;
}
/* Atendente: azul do caixa de referência; a área de consumo conserva sua posição. */
#section-pdv-terminal .pdv-terminal-shell {
  --floor-red:#236bb0;
  --floor-red-dark:#163d71;
  --floor-yellow:#e9c7d7;
  --floor-paper:#eef3fa;
  --floor-field:#fff;
  --floor-rule:#c7d8e7;
  background:#eef3fa;
}
#section-pdv-terminal .pdv-terminal-header { background:#142e4e; border-bottom-color:#0c2746; }
#section-pdv-terminal .pdv-catalog-pane { background:#e9f1f9; }
#section-pdv-terminal .pdv-consumption-pane { background:#fff; }
#section-pdv-terminal .pdv-payment-pane { background:#f2f6fa; }
#section-pdv-terminal .pdv-pane-title span { color:#1f65a4; }
#section-pdv-terminal .pdv-big-total {
  border:1px solid #d2dfe9;
  border-left:6px solid #d982a3;
  background:#fff;
}
#section-pdv-terminal .pdv-big-total small,
#section-pdv-terminal .pdv-big-total .pdv-total-kicker { color:#54718e; }
#section-pdv-terminal .pdv-big-total strong { color:#164d80; }
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-back-action { background:#edda65; }
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-finish-action { background:#2589c9; }
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-fiscal-action { background:#db7ea0; }
#section-pdv-terminal .pdv-payment-pane > .pdv-action.pdv-new-sale-action {
  min-height:36px;
  margin:5px 0 0;
  padding:7px 9px;
  border:1px solid #c9d1ca;
  border-radius:2px;
  background:#fff;
  box-shadow:none;
  color:#394b3e;
  font-size:10px;
}
#section-pdv-terminal .pdv-new-sale-action small { color:#647168; }
@media (max-width:700px) {
  #section-pdv-terminal .pdv-big-total { min-height:112px; }
  #section-pdv-terminal .pdv-big-total strong { font-size:clamp(54px,12vw,70px); }
}
@media (max-width:420px) {
  #section-pdv-terminal .pdv-big-total { min-height:108px; }
  #section-pdv-terminal .pdv-big-total strong { font-size:56px; }
}
.pdv-payment-right { display:contents; }
.payment-pdv-label, .payment-method-filter, .pdv-payment-fiscal-button { display:none; }
#paymentModal:not([data-shortcut-context="pdv"]) .pdv-only-method { display:none !important; }
.pdv-expense-action {
  display:block; width:100%; min-height:36px; padding:8px 12px; border:1px solid #9a2e51;
  border-radius:2px; background:#af355b; color:#fff; font-size:12px;
  font-weight:700; text-align:center; cursor:pointer;
}
.pdv-expense-action:hover { background:#922645; }
.pdv-finance-panel {
  position:fixed; z-index:1001; top:82px; right:0; width:29%;
  height:calc(100dvh - 82px); padding:0 10px 12px;
  flex-direction:column; overflow-y:auto; border-left:1px solid #b8d1e4;
  background:#eaf3f9; color:#285373;
}
.pdv-finance-panel > header {
  margin:0 -10px 12px; padding:12px; background:#5a9dd0; color:#fff;
  font-size:15px; font-weight:700;
}
.pdv-finance-methods { background:#fff; border:1px solid #c6ddeb; }
.pdv-finance-method {
  display:flex; justify-content:space-between; align-items:center; gap:7px;
  min-height:43px; padding:8px 10px; border-bottom:1px solid #e1ecf4;
  font-size:12px;
}
.pdv-finance-method:last-child { border-bottom:0; }
.pdv-finance-method span { display:flex; align-items:center; gap:10px; min-width:0; }
.pdv-finance-method small {
  display:inline-flex; width:19px; height:19px; flex:none; align-items:center;
  justify-content:center; border-radius:2px; background:#7ebb83; color:#fff; font-weight:700;
}
.pdv-finance-method strong { white-space:nowrap; }
.pdv-finance-methods > small { display:block; padding:8px; font-size:10px; }
.pdv-finance-actions {
  display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-top:auto; padding-top:14px;
}
.pdv-finance-actions button {
  min-width:0; min-height:40px; padding:7px 4px; border:0; border-radius:2px;
  color:#fff; font-size:10px; font-weight:800; cursor:pointer;
}
.pdv-finance-actions .supply { background:#4d9d70; }
.pdv-finance-actions .expense { background:#ad3154; }
.pdv-finance-actions .close { background:#3982bd; }
.pdv-finance-actions .drawer { background:#c8804e; opacity:.65; cursor:not-allowed; }
.pdv-finance-actions .back { background:#486c9f; }
.pdv-finance-actions button:focus-visible { outline:3px solid #162c56; outline-offset:1px; }
.pdv-expense-dialog {
  display:flex; flex-direction:column; width:min(425px,calc(100vw - 30px));
  max-height:calc(100dvh - 30px); overflow:hidden; border-radius:2px;
}
.pdv-expense-dialog .modal-header { background:#5a9dd0; color:white; }
.pdv-expense-dialog .modal-body { display:block; min-height:0; overflow-y:auto; padding:12px; }
.pdv-expense-dialog .form-group { margin-bottom:8px; }
.pdv-expense-dialog .modal-footer { display:flex; flex:none; justify-content:flex-end; gap:7px; }

.pdv-quick-register-dialog {
  display:flex; flex-direction:column; max-width:420px;
  max-height:calc(100vh - 32px); overflow:hidden;
}
.pdv-quick-register-dialog .modal-header,
.pdv-quick-register-dialog .modal-footer { flex:none; }
.pdv-quick-register-dialog .modal-body { min-height:0; overflow-y:auto; padding:14px 20px; }
.pdv-quick-register-dialog .form-group { margin-bottom:10px; }
.pdv-quick-register-dialog .modal-footer { padding:12px 20px; }
.pdv-quick-register-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.pdv-quick-register-grid .form-group { min-width:0; }
.pdv-quick-register-locked {
  margin:12px 0 0; padding:10px 12px; border:1px solid var(--border);
  border-radius:8px; background:#f7f8fa;
}
.pdv-quick-register-locked legend { padding:0 5px; font-size:11px; font-weight:700; color:var(--text-muted); }
.pdv-quick-register-locked .form-group { margin-bottom:8px; }
.pdv-quick-register-locked .form-control { opacity:.75; }
.pdv-provisional-notice { padding:10px 12px; margin:10px 0; border:1px solid #d6e2ef; border-radius:8px; background:#f3f7fb; color:#334f69; font-size:12px; }
@media (min-width:900px) {
  #pdvExpenseModal { justify-content:flex-start; padding-left:clamp(25px,20vw,320px); }
}
#pdvExpenseModal, #transactionModal, #closeCashModal { z-index:1002; }
@media (max-width:899px) {
  .pdv-finance-panel { top:0; width:min(100%,440px); height:100dvh; }
}
@media (min-width:900px) {
  #paymentModal[data-shortcut-context="pdv"] {
    top:82px; padding:0; align-items:stretch;
    background:none; backdrop-filter:none; pointer-events:none;
  }
  #paymentModal[data-shortcut-context="pdv"] .payment-modal {
    display:contents; border:0; background:none; box-shadow:none;
    animation:none;
  }
  #paymentModal[data-shortcut-context="pdv"] .modal-header { display:none; }
  #paymentModal[data-shortcut-context="pdv"] .modal-body {
    display:grid; grid-template-columns:37.5% 33.5% 29%;
    width:100%; height:calc(100dvh - 82px); min-height:0;
    padding:0; gap:0; overflow:visible; pointer-events:none;
    background:none;
  }
  #paymentModal[data-shortcut-context="pdv"] .payment-receipt-wrap {
    grid-column:2; grid-row:1; min-width:0; min-height:0; height:100%;
    margin:0; overflow-y:auto; overscroll-behavior:contain; pointer-events:auto;
    border-right:1px solid #c7d8e7; border-radius:0;
  }
  #paymentModal[data-shortcut-context="pdv"] .pdv-receipt-preview-modal {
    max-height:none; overflow:visible;
  }
  #paymentModal[data-shortcut-context="pdv"] #paymentSingleMethodChoice {
    grid-column:1; grid-row:1; margin:0; padding:13px 14px;
    height:100%; overflow-y:auto; pointer-events:auto;
    border-right:1px solid #c7d8e7; background:#e9f1f9;
  }
  #paymentModal[data-shortcut-context="pdv"] #paymentSingleMethodChoice > label {
    color:#1764a7; font-size:12px; margin:0 0 12px;
  }
  #paymentModal[data-shortcut-context="pdv"] .payment-default-label { display:none; }
  #paymentModal[data-shortcut-context="pdv"] .payment-pdv-label { display:inline; }
  #paymentModal[data-shortcut-context="pdv"] .payment-method-filter {
    display:block; margin:0 0 8px; min-height:38px; border-radius:2px;
    border-color:#b8d2e7; background:#f9fcff; color:#164f7f;
  }
  #paymentModal[data-shortcut-context="pdv"] #paymentSingleMethodChoice > .payment-simple-guide { display:none; }
  #paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect {
    display:flex; flex-direction:column; gap:0;
    border:1px solid #125790; background:#125e9f;
  }
  #paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect > div { display:block !important; }
  #paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect > div[hidden] { display:none !important; }
  #paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect .pm-btn {
    width:100%; min-height:47px; display:flex; gap:14px; align-items:center;
    border:0; border-bottom:1px solid #4987b6; border-radius:0;
    padding:9px 15px; background:#418ec4; color:white; box-shadow:none;
    text-align:left; text-transform:uppercase; font-size:13px;
  }
  #paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect .pm-btn:hover,
  #paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect .pm-btn.active {
    background:#307db5; color:white;
  }
  #paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect .pm-btn:disabled {
    background:#88b2cf; opacity:1; color:#e9f2f9; cursor:not-allowed;
  }
  #paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect .pm-icon {
    width:20px; display:inline-block; color:transparent; font-size:0;
  }
  #paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect .pm-icon::after {
    content:attr(data-pdv-key); color:#acd3f4; font-size:17px; font-weight:800;
  }
  #paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect .pm-btn small { margin-left:auto; color:#c9e6fa; }
  #paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect .pm-btn small[id^="paymentMethodKey-"] { font-size:0; }
  #paymentModal[data-shortcut-context="pdv"] #paymentMethodKey-dinheiro::after { content:"D"; font-size:10px; }
  #paymentModal[data-shortcut-context="pdv"] #paymentMethodKey-cartao_credito::after { content:"C"; font-size:10px; }
  #paymentModal[data-shortcut-context="pdv"] #paymentMethodKey-cartao_debito::after { content:"V"; font-size:10px; }
  #paymentModal[data-shortcut-context="pdv"] #paymentMethodKey-pix::after { content:"P"; font-size:10px; }
  #paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect [data-shortcut-method] {
    display:none;
  }
  #paymentModal[data-shortcut-context="pdv"] #paymentFormCountHint { color:#385b78; margin-top:10px; }
  #paymentModal[data-shortcut-context="pdv"] .pdv-payment-right {
    display:flex; flex-direction:column; grid-column:3; grid-row:1; min-width:0; width:100%; height:calc(100dvh - 82px);
    padding:12px 10px 95px; overflow-y:auto; pointer-events:auto;
    border-left:1px solid #c7d8e7; background:#f2f6fa;
  }
  #paymentModal[data-shortcut-context="pdv"] .pdv-payment-right::before {
    content:"$   Pagamento"; display:block; margin:-12px -10px 12px; padding:12px;
    flex:none; background:#5a9dd0; color:#fff; font-size:15px; font-weight:700;
  }
  #paymentModal[data-shortcut-context="pdv"] .pdv-payment-right > * { max-width:none; }
  #paymentModal[data-shortcut-context="pdv"] .payment-total-card {
    min-width:0; margin:68px 0 0; padding:0; border:0; border-radius:0; background:#fff; box-shadow:none;
  }
  #paymentModal[data-shortcut-context="pdv"] .payment-modal .payment-total-heading {
    display:flex; gap:5px; align-items:center; flex-wrap:wrap;
    padding:9px; border-bottom:1px solid #d2e2ef; background:#fff;
  }
  #paymentModal[data-shortcut-context="pdv"] .payment-modal .payment-kicker { display:none; }
  #paymentModal[data-shortcut-context="pdv"] .payment-modal .payment-total-heading h4 {
    color:#3574a4; font-size:15px;
  }
  #paymentModal[data-shortcut-context="pdv"] .payment-modal .payment-final-total {
    margin:0 0 0 auto; padding:0; color:#164d80; background:none;
    font-size:clamp(23px,2.3vw,33px);
  }
  #paymentModal[data-shortcut-context="pdv"] .payment-breakdown { margin:0; }
  #paymentModal[data-shortcut-context="pdv"] .payment-breakdown > summary { display:none; }
  #paymentModal[data-shortcut-context="pdv"] .payment-modal .payment-total-lines {
    display:flex; flex-direction:column; gap:0; border:0; box-shadow:none; background:#fff;
  }
  #paymentModal[data-shortcut-context="pdv"] .payment-modal .payment-total-lines > div {
    min-height:31px; padding:7px 10px; border-bottom:1px solid #d7e5ee;
    background:#fff; color:#416a8a; font-size:12px;
  }
  #paymentModal[data-shortcut-context="pdv"] .payment-modal .payment-total-lines .payment-total-row { display:none; }
  #paymentModal[data-shortcut-context="pdv"] .payment-modal #paymentSingleFields,
  #paymentModal[data-shortcut-context="pdv"] .payment-modal #paymentMultipleForms { order:2; }
  #paymentModal[data-shortcut-context="pdv"] .payment-modal #paymentRemainingWrap {
    min-width:0; order:1; flex-wrap:wrap; gap:3px; margin:0 0 8px; padding:10px;
    border-radius:0; background:#e59bb3; color:#fff;
  }
  #paymentModal[data-shortcut-context="pdv"] .payment-modal #paymentRemainingWrap strong {
    min-width:0; margin-left:auto; color:#fff; font-size:clamp(18px,1.8vw,25px);
  }
  #paymentModal[data-shortcut-context="pdv"] .pdv-expense-action {
    order:3; flex:none; margin-top:10px; min-height:38px;
  }
  #paymentModal[data-shortcut-context="pdv"] .pdv-payment-right > p { order:4; }
  #paymentModal[data-shortcut-context="pdv"] .modal-footer {
    position:fixed; bottom:0; right:0; width:29%;
    display:grid; grid-template-columns:1fr 1fr;
    padding:8px 10px; gap:5px; pointer-events:auto;
    background:#f2f6fa; border-top:1px solid #c7d8e7;
  }
  #paymentModal[data-shortcut-context="pdv"] .modal-footer .btn {
    min-width:0; white-space:normal; justify-content:center; padding:8px; font-size:11px;
  }
  #paymentModal[data-shortcut-context="pdv"] .modal-footer .btn:first-child {
    grid-column:1/-1; background:#e9d86b; color:#263d55;
  }
  #paymentModal[data-shortcut-context="pdv"] #confirmPayBtn { background:#4b9fd0; font-size:0; }
  #paymentModal[data-shortcut-context="pdv"] #confirmPayBtn::after { content:"F8 · FINALIZAR"; font-size:11px; }
  #paymentModal[data-shortcut-context="pdv"] #confirmPayBtn.payment-confirm-armed { font-size:11px; }
  #paymentModal[data-shortcut-context="pdv"] #confirmPayBtn.payment-confirm-armed::after { content:none; }
  #paymentModal[data-shortcut-context="pdv"] .pdv-payment-fiscal-button {
    display:inline-flex; background:#e6a370; color:#263d55;
  }
  #paymentModal[data-shortcut-context="pdv"] .modal-footer [data-shortcut-action] { display:none; }
}

/* Atendente: keep the live cashier view aligned with the approved blue layout.
   Scope to the PDV so the Admin and Delivery panels retain their own styles. */
#section-pdv-terminal .pdv-terminal-shell {
  --nb-paper:#eff4f9;
  --nb-rule:#d5e0ea;
  background:#eff4f9;
}
#section-pdv-terminal .pdv-terminal-header {
  grid-template-columns:110px minmax(0,1fr) auto;
  min-height:54px;
  padding:6px 14px;
  border-bottom:0;
  background:#173756;
}
#section-pdv-terminal .pdv-terminal-header .pdv-terminal-brand img {
  width:68px;
  height:38px;
}
#section-pdv-terminal .pdv-terminal-heading > strong { color:#fff; font-size:15px; }
#section-pdv-terminal .pdv-terminal-heading > span { color:#d5e6f4; }
#section-pdv-terminal .pdv-terminal-operator,
#section-pdv-terminal .pdv-terminal-operator small { color:#e9f2fb; }
#section-pdv-terminal .pdv-terminal-operator span { background:#edca50; color:#25384b; }
#section-pdv-terminal .pdv-offline-readiness {
  border-bottom-color:#d5e0ea;
  background:#edf3f5 !important;
  color:#4f6473 !important;
}
#section-pdv-terminal .pdv-catalog-pane { background:#eaf2fb; border-right-color:#d1e0ed; }
#section-pdv-terminal .pdv-consumption-pane { border-right-color:#d5e0ea; }
#section-pdv-terminal .pdv-payment-pane { background:#edf3f8; border-left-color:#d5e0ea; }
#section-pdv-terminal .pdv-pane-title { border-bottom-color:#d5e0ea; }
#section-pdv-terminal .pdv-pane-title span { color:#325d7e; }
#section-pdv-terminal .pdv-pane-title b { color:#263e52; }
#section-pdv-terminal .pdv-barcode-entry button { background:#196944; }
#section-pdv-terminal .pdv-barcode-entry input:focus,
#section-pdv-terminal .pdv-product-search:focus { border-color:#176ac0; box-shadow:0 0 0 2px rgba(23,106,192,.14); }
#section-pdv-terminal .pdv-category-tabs button.active { border-color:#176ac0; background:#176ac0; }
#section-pdv-terminal .pdv-product-grid { align-content:start; }
#section-pdv-terminal .pdv-catalog-inventory-details {
  grid-column:1/-1;
  margin-top:7px;
  color:#3d5a71;
  font-size:11px;
}
#section-pdv-terminal .pdv-catalog-inventory-details summary { padding:6px 2px; cursor:pointer; }
#section-pdv-terminal .pdv-catalog-inventory-details .pdv-catalog-summary { margin:4px 0; }
#section-pdv-terminal .pdv-sale-summary strong { color:#286147; }
#section-pdv-terminal .pdv-big-total { border-left-color:#d67593; }
#section-pdv-terminal .pdv-big-total strong { color:#155083; }
#section-pdv-terminal .pdv-action-strip {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-back-action {
  grid-column:1/-1;
  min-height:40px;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip
  :is(.pdv-finish-action,.pdv-fiscal-action) { min-height:48px; }
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-finish-action {
  background:#3295ce;
  color:#12364e;
  box-shadow:inset 0 -3px #1978b0;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-fiscal-action {
  background:#ed9244;
  color:#3f2715;
  box-shadow:inset 0 -3px #bd661f;
}
@media (min-width:900px) and (max-width:1050px) {
  #section-pdv-terminal .pdv-terminal-grid {
    grid-template-columns:minmax(0,1.08fr) minmax(0,1fr) minmax(0,.84fr);
  }
  #section-pdv-terminal .pdv-payment-pane {
    grid-column:auto;
    border-top:0;
  }
  #section-pdv-terminal .pdv-payment-pane .pdv-total-lines { display:block; }
}
@media (max-width:700px) {
  #section-pdv-terminal .pdv-terminal-header { grid-template-columns:1fr auto; }
}

/* TOTEM - INSIGHT SYSTEMS · balcão legível à primeira vista
   Escopo intencionalmente restrito ao terminal do PDV. */
#section-pdv-terminal {
  --terminal-ink:#102b47;
  --terminal-blue:#075eaa;
  --terminal-blue-bright:#137bc5;
  --terminal-green:#126b49;
  --terminal-rule:#9db5ca;
  color:var(--terminal-ink);
  font-size:15px;
}
#section-pdv-terminal .pdv-terminal-shell {
  background:#e4eef7;
  border:1px solid #9bb4ca;
  box-shadow:0 12px 32px rgba(16,43,71,.13);
}
#section-pdv-terminal .pdv-terminal-header {
  min-height:70px;
  grid-template-columns:120px minmax(0,1fr) auto;
  padding:10px 20px;
  border-bottom:4px solid #ffd21c;
  background:#12385b;
}
#section-pdv-terminal .pdv-terminal-header .pdv-terminal-brand img {
  width:84px;
  height:46px;
}
#section-pdv-terminal .pdv-terminal-heading > strong {
  font-size:21px;
  letter-spacing:.08em;
}
#section-pdv-terminal .pdv-terminal-heading > span {
  font-size:12px;
  letter-spacing:.1em;
}
#section-pdv-terminal .pdv-terminal-operator small { font-size:11px; }
#section-pdv-terminal .pdv-terminal-operator b { font-size:17px; }
#section-pdv-terminal .pdv-terminal-operator span {
  padding:7px 11px;
  font-size:13px;
  font-weight:900;
}
#section-pdv-terminal .pdv-terminal-quick-actions {
  grid-column:1/-1;
  justify-self:end;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding-top:5px;
}
#section-pdv-terminal .pdv-terminal-quick-actions button {
  min-height:36px;
  padding:6px 11px;
  border:1px solid #b9d1e5;
  border-radius:7px;
  background:#edf6fd;
  color:#12385b;
  font:inherit;
  font-size:13px;
  font-weight:750;
  cursor:pointer;
}
#section-pdv-terminal #pdvOpenCashButton:not(:disabled) { background:#dbf4e4; border-color:#62bb84; color:#155c32; }
#section-pdv-terminal #pdvCloseCashButton:not(:disabled) { background:#ffeded; border-color:#db9696; color:#9c2c2c; }
#section-pdv-terminal .pdv-terminal-quick-actions button:disabled { opacity:.55; cursor:not-allowed; }
#section-pdv-terminal .pdv-terminal-quick-actions button[hidden] { display:none; }
#section-pdv-terminal.pdv-admin-terminal .pdv-terminal-header {
  min-height:0;
  padding:6px 10px;
}
#section-pdv-terminal.pdv-admin-terminal .pdv-terminal-header .pdv-terminal-brand img {
  width:70px;
  height:38px;
}
#section-pdv-terminal.pdv-admin-terminal .pdv-terminal-quick-actions {
  gap:4px;
  padding-top:0;
}
#section-pdv-terminal.pdv-admin-terminal .pdv-terminal-quick-actions > button {
  min-height:30px;
  padding:4px 6px;
  font-size:12px;
}
@media (max-width:700px) {
  #section-pdv-terminal .pdv-terminal-quick-actions { grid-row:3; justify-self:stretch; }
}
#section-pdv-terminal .pdv-offline-readiness {
  padding:11px 17px !important;
  border-bottom:1px solid #a5bdcf;
  background:#e9f6ef !important;
  color:#204b39 !important;
  font-size:13px !important;
  line-height:1.45;
}
#section-pdv-terminal .pdv-terminal-grid {
  grid-template-columns:minmax(320px,1fr) minmax(420px,1.3fr) minmax(340px,.98fr);
  min-height:calc(100vh - 88px);
}
#section-pdv-terminal .pdv-catalog-pane,
#section-pdv-terminal .pdv-consumption-pane,
#section-pdv-terminal .pdv-payment-pane {
  padding:22px;
}
#section-pdv-terminal .pdv-catalog-pane {
  background:#e8f2fc;
  border-right:2px solid #b8ccdc;
}
#section-pdv-terminal .pdv-consumption-pane {
  background:#fffefa;
  border-right:2px solid #b8ccdc;
}
#section-pdv-terminal .pdv-payment-pane {
  background:#eaf3fb;
  border-left:2px solid #b8ccdc;
}
#section-pdv-terminal .pdv-pane-title {
  min-height:40px;
  margin-bottom:17px;
  border-bottom:2px solid #c1d1df;
}
#section-pdv-terminal .pdv-pane-title span {
  color:#075eaa;
  font-size:13px;
  letter-spacing:.1em;
}
#section-pdv-terminal .pdv-pane-title b {
  color:#153b5c;
  font-size:17px;
}
#section-pdv-terminal .pdv-barcode-entry input,
#section-pdv-terminal .pdv-product-search {
  min-height:56px;
  border:2px solid #9db5ca;
  background:#fff;
  color:#102b47;
  font-size:16px;
}
#section-pdv-terminal .pdv-barcode-entry input::placeholder,
#section-pdv-terminal .pdv-product-search::placeholder,
#section-pdv-terminal .pdv-customer-line input::placeholder {
  color:#637c92;
  opacity:1;
}
#section-pdv-terminal .pdv-barcode-entry button {
  min-height:52px;
  border:2px solid #0d593e;
  border-radius:9px;
  background:#16724f;
  color:#fff;
  font-size:15px;
  font-weight:900;
}
#section-pdv-terminal .pdv-quick-controls,
#section-pdv-terminal .pdv-search-row { gap:9px; }
#section-pdv-terminal .pdv-quick-controls .form-control {
  min-height:44px;
  border:2px solid #9db5ca;
  font-size:15px;
}
#section-pdv-terminal .pdv-category-tabs button {
  min-height:42px;
  border:2px solid #a9bfd1;
  color:#244863;
  font-size:14px;
  font-weight:800;
}
#section-pdv-terminal .pdv-category-tabs button.active {
  border-color:#075eaa;
  background:#075eaa;
  color:#fff;
}
#section-pdv-terminal .pdv-product-grid {
  gap:11px;
  max-height:calc(100vh - 300px);
}
#section-pdv-terminal .pdv-product-row {
  position:relative;
  min-width:0;
}
#section-pdv-terminal .pdv-product-tile {
  width:100%;
  grid-template-columns:24px minmax(0,1fr);
  grid-template-rows:auto auto auto;
  align-content:center;
  column-gap:11px;
  row-gap:3px;
  min-height:98px;
  padding:10px 52px 10px 14px;
  text-align:left;
  border:2px solid #084f91;
  border-radius:12px;
  background:#0966ae;
  box-shadow:0 4px 0 #064679,0 8px 16px rgba(7,53,91,.17);
}
#section-pdv-terminal .pdv-product-tile::before {
  grid-column:1;
  grid-row:1 / 4;
}
#section-pdv-terminal .pdv-product-tile:hover {
  background:#0879c8;
}
#section-pdv-terminal .pdv-product-tile span {
  grid-column:2;
  grid-row:1;
  min-width:0;
  overflow-wrap:anywhere;
  text-overflow:clip;
  color:#fff;
  font-size:16px;
  line-height:1.25;
}
#section-pdv-terminal .pdv-product-tile b {
  grid-column:2;
  grid-row:3;
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
  color:#ffe15b;
  font-size:clamp(16px,1.5vw,19px);
  line-height:1.2;
}
#section-pdv-terminal .pdv-product-tile b em {
  color:#eef8ff;
  font-size:13px;
}
#section-pdv-terminal .pdv-product-tile small {
  display:block;
  grid-column:2;
  grid-row:2;
  min-width:0;
  overflow-wrap:anywhere;
  color:#d6eafb;
  font-size:12px;
  opacity:1;
}
#section-pdv-terminal .pdv-favorite-button {
  position:absolute;
  top:10px;
  right:10px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:8px;
  background:#0b4f91;
  color:#fff;
  font-size:23px;
  line-height:1;
  cursor:pointer;
}
#section-pdv-terminal .pdv-favorite-button.is-favorite {
  background:#fff0ab;
  border-color:#ffe15b;
  color:#795000;
}
#section-pdv-terminal .pdv-favorite-button:focus-visible {
  outline:3px solid #ffe15b;
  outline-offset:2px;
}
#pdvSplitAmountsModal {
  z-index:1110;
  background:rgba(5,22,40,.58);
  backdrop-filter:blur(3px);
}
#pdvSplitAmountsModal .pdv-split-amounts-dialog {
  width:min(580px,calc(100vw - 24px));
  max-height:calc(100dvh - 24px);
  overflow-y:auto;
  border-radius:12px;
}
#pdvSplitAmountsModal .pdv-split-total {
  display:block;
  margin:12px 0 16px;
  padding:14px 16px;
  border-radius:10px;
  background:#103a68;
  color:#fff;
  font-size:25px;
  font-variant-numeric:tabular-nums;
}
#pdvSplitAmountsModal #paymentMultipleRows {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
#pdvSplitAmountsModal .payment-simple-guide { display:none; }
#pdvSplitAmountsModal .payment-two-row {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:start;
  gap:8px;
  padding:14px;
  border:2px solid #2d68a1;
  border-radius:12px;
  background:#edf5fd;
}
#pdvSplitAmountsModal .payment-two-row:nth-child(2) {
  border-color:#15805d;
  background:#eaf8f1;
}
#pdvSplitAmountsModal .payment-two-row > strong {
  color:#103a68;
  font-size:16px;
}
#pdvSplitAmountsModal .payment-two-row:nth-child(2) > strong { color:#096646; }
#pdvSplitAmountsModal .payment-two-row > label { font-weight:700; }
#pdvSplitAmountsModal input[id^="paySplitAmount_"] {
  height:54px;
  margin-top:8px;
  border:2px solid #2d68a1;
  color:#103a68;
  font-size:25px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
#pdvSplitAmountsModal input[id^="paySplitAmount_"]:read-only {
  border-color:#15805d;
  background:#fff;
  color:#096646;
  opacity:1;
}
#pdvSplitAmountsModal .payment-next-balance { display:none; }
#pdvSplitAmountsModal .payment-split-details {
  margin-top:4px;
  padding-top:9px;
  border-top:1px solid #b7cbd9;
  font-size:13px;
}
#pdvSplitAmountsModal .payment-split-details summary {
  color:#175b91;
  font-weight:700;
  cursor:pointer;
}
#pdvSplitAmountsModal .pdv-split-balance {
  padding:14px;
  border-radius:8px;
  background:#e7f6ee;
  color:#105336;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
#pdvSplitAmountsModal .pdv-split-balance.is-error {
  background:#fff0e6;
  color:#8a3415;
}
.pdv-payment-review-parts {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:12px 0 4px;
}
.pdv-payment-review-parts[hidden] { display:none; }
.pdv-payment-review-parts > div {
  display:grid;
  gap:6px;
  padding:13px;
  border:2px solid #2d68a1;
  border-radius:10px;
  background:#edf5fd;
  color:#103a68;
}
.pdv-payment-review-parts > div:nth-child(even) {
  border-color:#15805d;
  background:#eaf8f1;
  color:#096646;
}
.pdv-payment-review-parts span { font-size:13px; font-weight:700; }
.pdv-payment-review-parts strong { font-size:23px; font-variant-numeric:tabular-nums; }
@media (max-width:560px) {
  #pdvSplitAmountsModal #paymentMultipleRows,
  .pdv-payment-review-parts { grid-template-columns:1fr; }
}
#section-pdv-terminal .pdv-sale-summary {
  min-height:66px;
  padding:14px 16px;
  border:2px solid #bdd0dd;
  border-radius:10px;
  background:#f1f6f8;
}
#section-pdv-terminal .pdv-sale-summary > span {
  color:#435e73;
  font-size:12px;
  font-weight:900;
}
#section-pdv-terminal .pdv-sale-summary strong {
  color:#126b49;
  font-size:24px;
}
#section-pdv-terminal .pdv-customer-line {
  margin:13px 0;
}
#section-pdv-terminal .pdv-customer-line label {
  color:#244863;
  font-size:14px;
  font-weight:800;
}
#section-pdv-terminal .pdv-customer-line input {
  min-height:48px;
  border:2px solid #a9bfd1;
  font-size:15px;
}
#section-pdv-terminal .pdv-current-items {
  min-height:440px;
  max-height:calc(100vh - 270px);
  padding:0 5px;
  border-top:2px solid #c4d2dc;
  border-bottom:2px solid #c4d2dc;
  background:#fffefa;
}
#section-pdv-terminal .pdv-terminal-empty {
  color:#465f73;
  font-size:15px;
}
#section-pdv-terminal .pdv-terminal-empty b { color:#193d5a; }
#section-pdv-terminal .pdv-sale-item {
  min-height:88px;
  grid-template-columns:minmax(135px,1fr) auto auto auto;
  gap:10px;
  padding:14px 8px;
  border-bottom:2px solid #d8e2e9;
}
#section-pdv-terminal .pdv-sale-item-info b {
  color:#173b59;
  font-size:17px;
}
#section-pdv-terminal .pdv-sale-item-info small {
  color:#526d82;
  font-size:13px;
}
#section-pdv-terminal .pdv-sale-item > strong {
  color:#126b49;
  font-size:19px;
}
#section-pdv-terminal .pdv-item-controls button {
  width:42px;
  height:42px;
  border:2px solid #0a5b42;
  background:#16724f;
  color:#fff;
}
#section-pdv-terminal .pdv-item-controls button.receipt-qty-edit {
  color:#fff;
  font-size:18px;
  font-weight:900;
}
#section-pdv-terminal .pdv-quantity-value { font-size:19px; }
#section-pdv-terminal .pdv-quantity-input {
  min-height:43px;
  border:2px solid #16724f;
  font-size:18px;
}
#section-pdv-terminal .pdv-consumption-footer {
  padding-top:12px;
  color:#31516a;
  font-size:12px;
  font-weight:800;
}
#section-pdv-terminal .pdv-big-total {
  min-height:160px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:24px 19px;
  border:2px solid #084f91;
  border-left:7px solid #ffd21c;
  border-radius:13px;
  background:#12385b;
  text-align:right;
  box-shadow:0 7px 0 #0a2945,0 12px 24px rgba(16,43,71,.17);
}
#section-pdv-terminal .pdv-big-total small,
#section-pdv-terminal .pdv-big-total .pdv-total-kicker {
  color:#cce8ff;
  font-size:13px;
}
#section-pdv-terminal .pdv-big-total strong {
  margin-top:8px;
  text-align:center;
  color:#ffdf36;
  font-size:clamp(54px,4.7vw,78px);
  line-height:.98;
  letter-spacing:-.035em;
  overflow-wrap:anywhere;
}
#section-pdv-terminal .pdv-total-lines {
  margin-top:13px;
  border:2px solid #a9bfd1;
  border-radius:10px;
  background:#fff;
}
#section-pdv-terminal .pdv-total-lines > div {
  min-height:46px;
  padding:11px 13px;
  color:#334f66;
  font-size:15px;
}
#section-pdv-terminal .pdv-total-lines > div + div {
  border-top:1px solid #c7d6e1;
}
#section-pdv-terminal .pdv-total-lines b {
  color:#163b5a;
  font-size:16px;
}
#section-pdv-terminal .pdv-total-lines .pdv-due {
  background:#fff2d1;
  color:#5f4513;
  font-weight:800;
}
#section-pdv-terminal .pdv-total-lines .pdv-due b {
  color:#9b4a13;
  font-size:19px;
}
#section-pdv-terminal .pdv-tender-preview {
  margin-top:10px;
  border:1px solid #afc3d2;
  border-radius:9px;
  background:#fff;
}
#section-pdv-terminal .pdv-tender-row {
  min-height:42px;
  padding:9px 11px;
  color:#526b80;
  font-size:13px;
}
#section-pdv-terminal .pdv-tender-row + .pdv-tender-row {
  border-top:1px solid #d6e0e7;
}
#section-pdv-terminal .pdv-tender-row strong {
  color:#254b65;
  font-size:13px;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:13px;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-back-action {
  grid-column:auto;
  min-height:72px;
  background:#ffda35;
  color:#263d51;
  border:2px solid #c49b00;
  box-shadow:inset 0 -4px #d3aa08;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-finish-action {
  min-height:72px;
  background:#1185c8;
  color:#fff;
  border:2px solid #075e98;
  box-shadow:inset 0 -4px #075c94;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-fiscal-action {
  min-height:72px;
  background:#df7c9e;
  color:#382234;
  border:2px solid #b54c72;
  box-shadow:inset 0 -4px #b54c72;
}
#section-pdv-terminal .pdv-action-strip .pdv-action-key {
  font-size:12px;
  font-weight:900;
}
#section-pdv-terminal .pdv-action-strip .pdv-action > span:last-child {
  font-size:14px;
  line-height:1.2;
}
#section-pdv-terminal .pdv-action-help {
  color:#405d73;
  font-size:12px;
  line-height:1.45;
}
#section-pdv-terminal .pdv-finalize-shortcut,
#section-pdv-terminal .pdv-payment-pane > .pdv-action {
  min-height:56px;
  border:2px solid #a1b6c7;
  border-radius:10px;
  font-size:15px;
  font-weight:900;
}
#section-pdv-terminal .pdv-payment-pane > .pdv-action.no-fiscal {
  background:#e3ebdf;
  border-color:#93aa95;
  color:#1d4936;
}
#section-pdv-terminal .pdv-payment-pane > .pdv-action.pdv-new-sale-action {
  background:#fff;
  border-color:#91a9bc;
  color:#234660;
}
#section-pdv-terminal .pdv-payment-pane > .pdv-action.danger {
  background:#fff0ec;
  border-color:#cf8879;
  color:#a23329;
}
#section-pdv-terminal .pdv-payment-pane > .pdv-action small {
  color:inherit;
  font-size:12px;
}
#section-pdv-terminal .pdv-shortcut-config {
  min-height:42px;
  border:1px solid #7897af;
  border-radius:8px;
  background:#d9e9f6;
  color:#18476a;
  font-size:13px;
  font-weight:800;
}
#section-pdv-terminal :is(button,input):focus-visible {
  outline:3px solid #e2a900;
  outline-offset:2px;
}
@media (min-width:701px) and (max-width:1100px) {
  #section-pdv-terminal .pdv-terminal-grid {
    grid-template-columns:minmax(260px,1fr) minmax(330px,1.15fr) minmax(280px,.95fr);
  }
  #section-pdv-terminal .pdv-catalog-pane,
  #section-pdv-terminal .pdv-consumption-pane,
  #section-pdv-terminal .pdv-payment-pane { padding:15px; }
  #section-pdv-terminal .pdv-big-total strong { font-size:clamp(46px,5vw,64px); }
  #section-pdv-terminal .pdv-payment-pane .pdv-action-strip { gap:5px; }
  #section-pdv-terminal .pdv-payment-pane .pdv-action-strip :is(.pdv-back-action,.pdv-finish-action,.pdv-fiscal-action) {
    min-height:64px;
    padding:9px 7px;
  }
  #section-pdv-terminal .pdv-action-strip .pdv-action > span:last-child { font-size:12px; }
}
@media (max-width:700px) {
  #section-pdv-terminal .pdv-terminal-header {
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    padding:10px 13px;
  }
  #section-pdv-terminal .pdv-terminal-header .pdv-terminal-brand img {
    width:64px;
    height:36px;
  }
  #section-pdv-terminal .pdv-terminal-heading > strong { font-size:17px; }
  #section-pdv-terminal .pdv-terminal-heading > span { font-size:10px; }
  #section-pdv-terminal .pdv-offline-readiness { padding:9px 12px !important; }
  #section-pdv-terminal .pdv-terminal-grid { grid-template-columns:minmax(0,1fr); }
  #section-pdv-terminal .pdv-catalog-pane,
  #section-pdv-terminal .pdv-consumption-pane,
  #section-pdv-terminal .pdv-payment-pane {
    padding:16px;
    border-right:0;
    border-left:0;
  }
  #section-pdv-terminal .pdv-catalog-pane,
  #section-pdv-terminal .pdv-consumption-pane { border-bottom:2px solid #b8ccdc; }
  #section-pdv-terminal .pdv-product-grid { max-height:430px; }
  #section-pdv-terminal .pdv-current-items {
    min-height:280px;
    max-height:none;
  }
  #section-pdv-terminal .pdv-sale-item {
    grid-template-columns:minmax(0,1fr) auto;
  }
  #section-pdv-terminal .pdv-sale-quantity,
  #section-pdv-terminal .pdv-item-controls { justify-self:start; }
  #section-pdv-terminal .pdv-big-total { min-height:130px; }
  #section-pdv-terminal .pdv-big-total strong { font-size:clamp(48px,13vw,70px); }
  #section-pdv-terminal .pdv-payment-pane .pdv-action-strip {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }
  #section-pdv-terminal .pdv-payment-pane .pdv-action-strip :is(.pdv-back-action,.pdv-finish-action,.pdv-fiscal-action) {
    min-height:62px;
    padding:8px 6px;
  }
  #section-pdv-terminal .pdv-action-strip .pdv-action > span:last-child { font-size:12px; }
}
@media (max-width:380px) {
  #section-pdv-terminal .pdv-payment-pane .pdv-action-strip {
    grid-template-columns:1fr;
  }
  #section-pdv-terminal .pdv-payment-pane .pdv-action-strip :is(.pdv-back-action,.pdv-finish-action,.pdv-fiscal-action) {
    min-height:52px;
  }
  #section-pdv-terminal .pdv-sale-item { gap:7px; }
  #section-pdv-terminal .pdv-item-controls button { width:38px; height:38px; }
}

/* Consumo: give the basket enough room to scan, compare and adjust at a glance. */
@media (min-width:701px) {
  #section-pdv-terminal .pdv-terminal-grid {
    grid-template-columns:minmax(270px,.84fr) minmax(460px,1.42fr) minmax(300px,.92fr);
  }
  #section-pdv-terminal .pdv-consumption-pane {
    min-width:0;
    padding:24px;
    background:#fffdf7;
    box-shadow:inset 1px 0 #fff,inset -1px 0 #fff;
  }
  #section-pdv-terminal .pdv-current-items {
    min-height:480px;
    max-height:calc(100vh - 250px);
    padding:0 10px;
    border:2px solid #aebfcd;
    border-radius:12px;
    background:#fff;
  }
  #section-pdv-terminal .pdv-sale-item {
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    column-gap:14px;
    row-gap:9px;
    min-height:100px;
    padding:16px 10px;
  }
  #section-pdv-terminal .pdv-sale-item-info { min-width:0; }
  #section-pdv-terminal .pdv-sale-item-info b {
    display:block;
    overflow-wrap:anywhere;
    white-space:normal;
    font-size:22px;
    line-height:1.25;
  }
  #section-pdv-terminal .pdv-sale-item-info small { font-size:14px; overflow-wrap:anywhere; }
  #section-pdv-terminal .cashier-item-pricing { gap:5px 12px; }
  #section-pdv-terminal .cashier-price-applied { font-size:19px; }
  #section-pdv-terminal .cashier-price-reference { font-size:16px; }
  #section-pdv-terminal .pdv-sale-item > strong {
    grid-column:2;
    grid-row:1;
    font-size:22px;
  }
  #section-pdv-terminal .pdv-sale-quantity {
    grid-column:1;
    grid-row:2;
    align-items:flex-start;
  }
  #section-pdv-terminal .pdv-item-controls {
    grid-column:2;
    grid-row:2;
    justify-content:flex-end;
    gap:9px;
  }
  #section-pdv-terminal .pdv-item-controls button {
    width:46px;
    height:46px;
    font-size:26px;
  }
  #section-pdv-terminal .pdv-quantity-input {
    width:94px;
    min-height:46px;
    font-size:20px;
  }
  #section-pdv-terminal .pdv-receipt-preview {
    margin:0 0 14px;
    padding:13px;
    border:2px solid #c1d0d9;
    border-radius:12px;
    background:#f2f6f8;
  }
}
@media (min-width:701px) and (max-width:1100px) {
  #section-pdv-terminal .pdv-terminal-grid {
    grid-template-columns:minmax(235px,.82fr) minmax(370px,1.4fr) minmax(265px,.9fr);
  }
  #section-pdv-terminal .pdv-consumption-pane { padding:17px; }
  #section-pdv-terminal .pdv-current-items {
    min-height:430px;
    max-height:calc(100vh - 235px);
  }
}
@media (max-width:700px) {
  #section-pdv-terminal .pdv-consumption-pane {
    padding:18px 16px;
    background:#fffdf7;
  }
  #section-pdv-terminal .pdv-current-items {
    min-height:300px;
    padding:0 8px;
    border:2px solid #aebfcd;
    border-radius:11px;
  }
  #section-pdv-terminal .pdv-sale-item {
    grid-template-columns:minmax(0,1fr) auto;
    column-gap:8px;
    row-gap:8px;
    padding:13px 6px;
  }
  #section-pdv-terminal .pdv-sale-item-info b { display:block; overflow-wrap:anywhere; white-space:normal; font-size:20px; }
  #section-pdv-terminal .cashier-price-applied { font-size:18px; }
  #section-pdv-terminal .cashier-price-reference { font-size:15px; }
  #section-pdv-terminal .pdv-sale-item > strong { font-size:20px; }
  #section-pdv-terminal .pdv-sale-quantity { grid-column:1; }
  #section-pdv-terminal .pdv-item-controls { grid-column:2; justify-content:flex-end; }
  #deliveryCounterSale .pdv-receipt-preview { overflow-x:hidden; }
  #deliveryCounterSale .receipt-line {
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"name amount" "edit delete";
    gap:8px 6px;
  }
  #deliveryCounterSale .receipt-line-name { grid-area:name; min-width:0; }
  #deliveryCounterSale .receipt-line-name b { overflow-wrap:anywhere; white-space:normal; }
  #deliveryCounterSale .receipt-line-edit { grid-area:edit; min-width:0; }
  #deliveryCounterSale .receipt-line > strong { grid-area:amount; min-width:0; font-size:19px; }
  #deliveryCounterSale .receipt-delete { grid-area:delete; justify-self:end; }
  .payment-modal .receipt-line {
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"name amount" "edit delete";
    gap:7px 6px;
  }
  .payment-modal .receipt-line-name { grid-area:name; min-width:0; }
  .payment-modal .receipt-line-edit { grid-area:edit; min-width:0; }
  .payment-modal .receipt-line > strong { grid-area:amount; min-width:0; font-size:20px; }
  .payment-modal .receipt-delete { grid-area:delete; justify-self:end; }
  .payment-modal .cashier-price-applied { font-size:17px; }
  .payment-modal .cashier-price-reference { font-size:15px; }
}

/* O catálogo só aparece quando o operador procura um produto. */
#section-pdv-terminal #pdvCategoryTabs[hidden],
#section-pdv-terminal #pdvProductGrid[hidden],
#section-pdv-terminal .pdv-shortcut-remove[hidden] { display:none !important; }
#section-pdv-terminal .pdv-barcode-entry {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(105px,auto);
  gap:8px;
}
#section-pdv-terminal .pdv-barcode-entry > input { min-width:0; }
#section-pdv-terminal .pdv-barcode-entry > button:nth-of-type(2) {
  grid-column:1 / -1;
  width:100%;
  min-height:48px;
  line-height:1.2;
}
#section-pdv-terminal .pdv-shortcut-remove {
  display:inline-flex;
  flex:none;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  padding:0;
  border:2px solid #b63c43;
  border-radius:8px;
  background:#fff4f4;
  color:#8e1a27;
  font-size:25px;
  font-weight:700;
  cursor:pointer;
}
#section-pdv-terminal .pdv-shortcut-remove:hover,
#section-pdv-terminal .pdv-shortcut-remove:focus-visible {
  background:#b52130;
  color:#fff;
}
#section-pdv-terminal .pdv-shortcuts span .pdv-shortcut-remove {
  width:28px;
  height:28px;
  margin-left:6px;
  font-size:20px;
}

#cashierQuantityModal .cashier-wholesale-hint:not([hidden]) {
  display:block;
  margin:0 0 16px;
  padding:12px 14px;
  border:2px solid #b42b41;
  border-radius:10px;
  background:#fff0f1;
  color:#9d1930;
  font-size:16px;
  font-weight:800;
  line-height:1.4;
}
#cashierQuantityModal .cashier-wholesale-hint > span,
#cashierQuantityModal .cashier-wholesale-hint > strong { display:block; }
#cashierQuantityModal .cashier-wholesale-hint > strong {
  margin-top:5px;
  font-size:21px;
  line-height:1.25;
}
#cashierQuantityModal .cashier-wholesale-hint.is-active {
  border-color:#13744e;
  background:#e9f8ef;
  color:#09643f;
}

/* Os três painéis só dividem a largura quando cabem sem se sobrepor. */
@media (min-width:701px) and (max-width:1199px) {
  #section-pdv-terminal .pdv-terminal-grid {
    grid-template-columns:minmax(0,1fr);
  }
  #section-pdv-terminal .pdv-catalog-pane,
  #section-pdv-terminal .pdv-consumption-pane,
  #section-pdv-terminal .pdv-payment-pane { min-width:0; }
}
#section-pdv-terminal .pdv-quick-controls { flex-wrap:wrap; }
#section-pdv-terminal .pdv-search-row {
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
}
#section-pdv-terminal .pdv-search-row input { min-width:0; }

/* Entrada e informações do caixa legíveis à distância. */
#section-pdv-terminal .pdv-barcode-entry {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
#section-pdv-terminal .pdv-barcode-entry > input,
#section-pdv-terminal .pdv-barcode-entry > button:first-of-type {
  grid-column:1 / -1;
  width:100%;
}
#section-pdv-terminal .pdv-pane-title span { font-size:15px; }
#section-pdv-terminal .pdv-barcode-entry input,
#section-pdv-terminal .pdv-product-search { font-size:17px; }
#section-pdv-terminal .pdv-sale-item-info small,
#section-pdv-terminal .pdv-sale-equation {
  font-size:13px;
  line-height:1.45;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action small { font-size:12px; }

/* Shared cashier rhythm: scan/search, basket, then receive. */
#section-pdv-terminal .pdv-terminal-grid,
#deliveryCounterSale .pdv-terminal-grid {
  align-items:stretch;
}
#section-pdv-terminal .pdv-catalog-pane,
#section-pdv-terminal .pdv-consumption-pane,
#section-pdv-terminal .pdv-payment-pane,
#deliveryCounterSale .pdv-catalog-pane,
#deliveryCounterSale .pdv-consumption-pane,
#deliveryCounterSale .pdv-payment-pane {
  min-width:0;
  box-sizing:border-box;
}
#section-pdv-terminal .pdv-quick-controls .btn,
#section-pdv-terminal .pdv-search-row .btn,
#deliveryCounterSale .pdv-quick-controls .btn,
#deliveryCounterSale .pdv-catalog-pane > .btn {
  min-height:34px;
  padding:5px 9px;
  border-color:#bdcbd3;
  background:#f7f9fa;
  color:#506575;
  font-size:12px;
}
#deliveryCounterSale .pdv-terminal-grid {
  grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(260px,.9fr);
  min-height:520px;
}
#deliveryCounterSale .pdv-catalog-pane,
#deliveryCounterSale .pdv-consumption-pane,
#deliveryCounterSale .pdv-payment-pane { padding:16px; }
#deliveryCounterSale .pdv-barcode-entry {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
}
#deliveryCounterSale .pdv-barcode-entry input { min-width:0; }
#deliveryCounterSale .pdv-product-search { width:100%; min-width:0; margin-top:9px; }
#deliveryCounterSale .pdv-catalog-pane > .btn { margin-top:5px; }
#deliveryCounterSale .pdv-quick-controls {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-top:9px;
}
#deliveryCounterSale .pdv-quick-controls input { width:86px; min-height:40px; }
#deliveryCounterSale .pdv-category-tabs { margin:10px 0; }
#deliveryCounterSale .pdv-product-grid { max-height:360px; }
#deliveryCounterSale .pdv-receipt-preview {
  min-width:0;
  max-height:390px;
  overflow-y:auto;
  overflow-x:hidden;
}
#deliveryCounterSale .delivery-counter-note-label { display:block; margin:12px 0 5px; }
#section-delivery #deliveryCounterSale .pdv-terminal-header {
  background:#153c60;
  border-bottom:3px solid #f1c52c;
}
#section-delivery #deliveryCounterSale .pdv-pane-title span { color:#17649a; }
#section-delivery #deliveryCounterSale .pdv-big-total {
  min-height:142px;
  padding:18px 14px;
  border-radius:10px;
  background:#153c60;
  text-align:center;
}
#section-delivery #deliveryCounterSale .pdv-big-total strong {
  color:#ffdf36;
  font-size:clamp(56px,4.6vw,70px);
  line-height:1;
  overflow-wrap:anywhere;
}
#deliveryCounterSale .pdv-payment-pane .pdv-action.primary {
  min-height:62px;
  background:#f1c52c;
  color:#26394a;
  font-size:16px;
}
#deliveryCounterSale .pdv-payment-pane .pdv-action.secondary {
  min-height:42px;
  background:#f8fafb;
  border:1px solid #bdcbd3;
  color:#526676;
  box-shadow:none;
}
#deliveryCounterSale .pdv-shortcut-config,
#deliveryCounterSale .pdv-shortcuts,
#deliveryCounterSale .delivery-counter-help { margin-top:9px; }
/* Keep the active sale in view; infrequent controls stay available on demand. */
#section-pdv-terminal .pdv-secondary-actions,
#deliveryCounterSale .pdv-secondary-actions {
  min-width:0;
  margin-top:14px;
  border:1px solid #b7cada;
  border-radius:10px;
  background:#fff;
}
#section-pdv-terminal .pdv-secondary-actions summary,
#deliveryCounterSale .pdv-secondary-actions summary {
  padding:12px 14px;
  color:#19496b;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
#section-pdv-terminal .pdv-secondary-actions summary span {
  display:block;
  margin:3px 0 0 20px;
  color:#587087;
  font-size:11px;
  font-weight:500;
}
#section-pdv-terminal .pdv-secondary-actions[open],
#deliveryCounterSale .pdv-secondary-actions[open] { padding-bottom:12px; }
#section-pdv-terminal .pdv-secondary-actions > :not(summary),
#deliveryCounterSale .pdv-secondary-actions > :not(summary) {
  width:calc(100% - 24px);
  max-width:none;
  margin:8px 12px 0;
}
#section-pdv-terminal .pdv-secondary-actions .pdv-action,
#deliveryCounterSale .pdv-secondary-actions .pdv-action {
  min-height:46px;
  box-shadow:none;
  font-size:13px;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-finish-action {
  background:#087a46;
  border-color:#075d36;
  box-shadow:inset 0 -4px #075d36;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-back-action,
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-fiscal-action {
  background:#e6edf2;
  border-color:#a9bfce;
  color:#214359;
  box-shadow:none;
}
@media (max-width:1050px) {
  #section-delivery #deliveryCounterSale .pdv-terminal-grid { grid-template-columns:minmax(0,1fr); }
  #deliveryCounterSale .pdv-product-grid { max-height:320px; }
  #deliveryCounterSale .pdv-receipt-preview { max-height:none; }
  #deliveryCounterSale .pdv-current-items { max-height:none; }
}
@media (max-width:700px) {
  #section-pdv-terminal .pdv-terminal-grid,
  #section-delivery #deliveryCounterSale .pdv-terminal-grid { grid-template-columns:minmax(0,1fr); }
  #section-pdv-terminal .pdv-big-total strong { font-size:clamp(56px,13vw,70px); }
  #section-pdv-terminal .pdv-catalog-pane,
  #section-pdv-terminal .pdv-consumption-pane,
  #section-pdv-terminal .pdv-payment-pane,
  #deliveryCounterSale .pdv-catalog-pane,
  #deliveryCounterSale .pdv-consumption-pane,
  #deliveryCounterSale .pdv-payment-pane { padding:14px; }
  #section-pdv-terminal .pdv-product-grid,
  #deliveryCounterSale .pdv-product-grid { max-height:340px; }
  #deliveryCounterSale .pdv-barcode-entry { grid-template-columns:minmax(0,1fr) auto; }
  #section-delivery #deliveryCounterSale .pdv-big-total { min-height:120px; }
  #section-delivery #deliveryCounterSale .pdv-big-total strong { font-size:clamp(56px,12vw,64px); }
  #deliveryCounterSale .pdv-sale-item { min-width:0; }
}

/* Dinheiro: valor devido visível, cédulas legíveis e controles amplos. */
#pdvCashModal .pdv-cash-dialog {
  width:min(96vw,550px);
  max-height:92dvh;
  border:2px solid #0e446b;
  border-radius:16px;
  background:#fff;
  box-shadow:0 24px 70px rgba(3,22,44,.4);
}
#pdvCashModal .pdv-cash-dialog-title {
  padding:17px 21px;
  background:#123d66;
  color:#fff;
  font-size:22px;
}
#pdvCashModal .pdv-cash-dialog-body { padding:17px 22px 12px; }
#pdvCashModal .pdv-cash-dialog-total {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
  padding:15px 17px;
  border:2px solid #b3d2bf;
  border-radius:11px;
  background:#ebf8ef;
  color:#123b2d;
  font-size:15px;
  font-weight:700;
}
#pdvCashModal .pdv-cash-dialog-total strong {
  color:#086b42;
  font-size:clamp(25px,5vw,36px);
  font-variant-numeric:tabular-nums;
}
#pdvCashModal .pdv-cash-dialog-body > label {
  margin:10px 0 7px;
  color:#163b5b;
  font-size:15px;
  font-weight:750;
}
#pdvCashModal #pdvCashDialogAmount {
  height:60px;
  padding:8px 14px;
  border:2px solid #276eac;
  border-radius:10px;
  background:#fff;
  color:#113e68;
  font-size:30px;
}
#pdvCashModal #pdvCashDialogNotes {
  min-height:60px;
  padding:10px;
  border:1px solid #aabed0;
  border-radius:9px;
  background:#fff;
  font-size:14px;
}
#pdvCashModal .pdv-cash-dialog-hint {
  display:block;
  margin:7px 0 14px;
  color:#3b5369;
  line-height:1.4;
}
#pdvCashModal .pdv-cash-notes-help { margin-bottom:13px; font-size:12px; }
#pdvCashModal .pdv-cash-bills { gap:9px; padding:0 0 13px; }
#pdvCashModal .pdv-cash-bills .bill {
  min-height:60px;
  padding:8px 12px;
  border:2px solid #527ca8;
  border-radius:9px;
  background:#e1efff !important;
  color:#124b82;
  box-shadow:0 2px 0 #9cb6cf;
}
#pdvCashModal .pdv-cash-bills .bill:nth-child(even) {
  background:#e9edff !important;
}
#pdvCashModal .pdv-cash-bills .bill b {
  margin:auto;
  padding:0;
  background:transparent;
  color:inherit;
  font-size:23px;
}
#pdvCashModal .pdv-cash-bills .bill b::before { content:"R$ "; font-size:14px; }
#pdvCashModal .pdv-cash-coins { gap:8px; }
#pdvCashModal .pdv-cash-coins button {
  min-height:56px;
  border:2px solid #8baeba;
  box-shadow:none;
  font-size:18px;
}
#pdvCashModal .pdv-cash-dialog-change {
  margin:16px 0 0;
  padding:15px 16px;
  border-radius:9px;
  background:#e5f6ed;
  color:#10643f;
  font-size:clamp(25px,6vw,38px);
  font-weight:900;
  line-height:1.2;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
#pdvCashModal .pdv-cash-dialog-change.is-short {
  background:#fff0ed;
  color:#aa2836;
  font-size:clamp(20px,5vw,29px);
}
#pdvCashModal .pdv-cash-dialog-footer {
  position:sticky;
  bottom:0;
  z-index:1;
  padding:13px 22px 18px;
  border-top:1px solid #d7e2eb;
  background:#fff;
}
#pdvCashModal .pdv-cash-dialog-footer button {
  min-height:48px;
  border-radius:9px;
  font-size:15px;
}
@media (min-width:850px) {
  .payment-modal #paymentMultipleRows {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
  }
  .payment-modal #paymentMultipleRows .payment-two-row {
    grid-template-columns:minmax(0,1fr);
  }
}

/* Keep the PDV remove action readable instead of inheriting the tiny stepper width. */
#section-pdv-terminal .pdv-remove-item {
  width:auto;
  min-width:78px;
  height:auto;
  min-height:36px;
  padding:6px 10px;
  font-size:12px;
  line-height:1.2;
  white-space:nowrap;
  justify-self:end;
}

/* Explicit, high-visibility product replenishment settings in the stock panel. */
.product-reorder-panel {
  margin:0 0 22px;
  padding:20px;
  border:1px solid #f0bd55;
  border-left:6px solid #e79a17;
  border-radius:15px;
  background:linear-gradient(135deg,#fff9e9 0%,#fff 72%);
  box-shadow:0 8px 24px rgba(111,72,10,.10);
}
.dashboard-reorder-notifications {
  margin:0 0 18px;
  padding:18px;
  border:2px solid #e65349;
  border-radius:15px;
  background:linear-gradient(120deg,#fff0ec,#fff9e9);
  box-shadow:0 10px 26px rgba(133,35,27,.16);
}
.dashboard-reorder-notifications[hidden] { display:none; }
.dashboard-reorder-head { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.dashboard-reorder-head span { color:#a02e24; font-size:11px; font-weight:900; letter-spacing:.12em; }
.dashboard-reorder-head h2 { margin:4px 0; color:#8f211b; font-size:20px; }
.dashboard-reorder-head p { margin:0; color:#76534d; font-size:13px; }
.dashboard-reorder-list { display:grid; gap:9px; margin-top:13px; }
.dashboard-reorder-item { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:12px; border:1px solid #efc1b7; border-radius:11px; background:rgba(255,255,255,.85); }
.dashboard-reorder-item>div:first-child { display:grid; gap:3px; }
.dashboard-reorder-item b { color:#57231d; }
.dashboard-reorder-item span,.dashboard-reorder-item small { color:#6c5a55; font-size:12px; }
.dashboard-reorder-actions { display:flex; flex-wrap:wrap; gap:7px; }
@media (max-width:650px) {
  .dashboard-reorder-head,.dashboard-reorder-item { align-items:stretch; flex-direction:column; }
  .dashboard-reorder-actions .btn { flex:1; }
}
.product-reorder-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.product-reorder-eyebrow {
  color:#9b5b00;
  font-size:11px;
  font-weight:850;
  letter-spacing:.12em;
}
.product-reorder-head h2 {
  margin:4px 0 5px;
  color:#36240a;
  font-size:21px;
}
.product-reorder-head p {
  max-width:700px;
  margin:0;
  color:#725b36;
  font-size:13px;
  line-height:1.5;
}
.product-reorder-counters {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.product-reorder-counters span {
  padding:8px 11px;
  border:1px solid #eadfc9;
  border-radius:10px;
  background:#fff;
  color:#65563e;
  font-size:12px;
  white-space:nowrap;
}
.product-reorder-counters b { color:#263b31; font-size:15px; }
.product-reorder-counters .is-alert { border-color:#efa9a4; background:#fff0ef; color:#a52c25; }
.product-reorder-counters .is-alert b { color:#a52c25; }
.product-reorder-counters .needs-setup { border-color:#e9b348; background:#fff5d9; color:#805100; }
.product-reorder-counters .needs-setup b { color:#805100; }
.product-reorder-invite,.product-reorder-alert {
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-top:14px;
  padding:12px 14px;
  border-radius:10px;
  font-size:13px;
}
.product-reorder-invite { border:1px solid #edc66d; background:#fff2cc; color:#714800; }
.product-reorder-alert { border:1px solid #e69b96; background:#fff0ef; color:#94231d; }
.product-reorder-invite strong,.product-reorder-alert strong { font-size:14px; }
.product-reorder-list { display:grid; gap:10px; margin-top:15px; }
.product-reorder-search { display:block; max-width:420px; margin-top:15px; color:#526156; font-size:12px; font-weight:750; }
.product-reorder-search .form-control { margin-top:5px; min-height:38px; }
.product-reorder-show-more { justify-self:start; }
.product-reorder-row {
  display:grid;
  grid-template-columns:minmax(140px,1.1fr) repeat(5,minmax(135px,.9fr)) auto;
  align-items:end;
  gap:10px;
  padding:13px;
  border:1px solid #e6e9e4;
  border-radius:12px;
  background:#fff;
}
.product-reorder-product { align-self:center; min-width:0; }
.product-reorder-product b,.product-reorder-product small { display:block; }
.product-reorder-product b { overflow-wrap:anywhere; color:#25372d; font-size:14px; }
.product-reorder-product small,.product-reorder-saved { margin-top:4px; color:#69776d; font-size:11px; }
.product-reorder-status { display:inline-block; margin-top:6px; color:#32704b; font-size:11px; font-weight:750; }
.product-reorder-row.low { border-color:#e9a5a0; background:#fff9f8; }
.product-reorder-row.low .product-reorder-status { color:#b32b25; }
.product-reorder-row.setup { border-color:#edcf88; }
.product-reorder-row.setup .product-reorder-status { color:#946000; }
.product-reorder-row.disabled .product-reorder-status { color:#777; }
.product-reorder-row.archived { border-color:#e3e5e2; background:#f7f8f7; }
.product-reorder-row.archived .product-reorder-status { color:#777; }
.product-reorder-row label { display:block; min-width:0; color:#526156; font-size:11px; font-weight:700; }
.product-reorder-row .form-control { width:100%; min-width:0; margin-top:5px; min-height:37px; font-size:12px; }
.product-reorder-fraction[hidden] { display:none; }
.product-reorder-actions { display:flex; flex-wrap:wrap; gap:6px; }
.product-reorder-actions .btn { white-space:nowrap; }
.product-reorder-saved { grid-column:2/-1; margin:0; }
.product-reorder-loading,.product-reorder-error { padding:12px; color:#765100; font-size:13px; }
.product-reorder-error { color:#a52c25; }
@media (max-width:1050px) {
  .product-reorder-row { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .product-reorder-product { grid-column:span 2; }
  .product-reorder-saved { grid-column:1/-1; }
}
@media (max-width:650px) {
  .product-reorder-panel { padding:14px; }
  .product-reorder-head { flex-direction:column; }
  .product-reorder-counters { justify-content:flex-start; }
  .product-reorder-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .product-reorder-product { grid-column:1/-1; }
  .product-reorder-actions { grid-column:1/-1; }
  .product-reorder-actions .btn { flex:1; }
}

/* TOTEM - INSIGHT SYSTEMS — brand-color presentation */
.btn-primary,
.btn-primary:hover:not(:disabled) {
  background: #173b79 !important;
  color: #fff !important;
  box-shadow: 0 4px 0 #102a58, 0 7px 12px rgba(16,42,88,.2);
}
.btn-gold,
.btn-gold:hover {
  background: #d9a83e;
  color: #172b4d;
}
.btn-danger,
.btn-danger:hover { background: #c9232b; color: #fff; }
.toast-success { background: #16834a; }
.toast-error { background: #c9232b; }

.sidebar-user .avatar { background: #ffdf00; color: #211900; }
.dashboard-robot {
  background:
    radial-gradient(circle at 88% 15%, rgba(255,223,0,.22), transparent 18rem),
    linear-gradient(135deg, #211f18, #3b3420 68%, #4a211d);
  box-shadow: 0 18px 38px rgba(33,31,24,.22), inset 0 1px 0 rgba(255,255,255,.18);
}
.dashboard-robot-kicker { color: #ffdf00; }
.dashboard-robot-answer { border-left-color: #ffdf00; color: #fff8d6; }

.login-page {
  background:
    radial-gradient(circle at 8% 12%, rgba(255,223,0,.32), transparent 19rem),
    radial-gradient(circle at 92% 85%, rgba(201,35,43,.30), transparent 21rem),
    linear-gradient(135deg, #171611, #29251a 58%, #4a211d);
}
.login-card {
  background: rgba(255,254,250,.98);
  border-color: rgba(255,255,255,.78);
  box-shadow: 0 28px 80px rgba(15,13,8,.42), 0 3px 0 rgba(255,223,0,.9);
}
.login-logo h1 { color: #211f18; }
.login-logo .brand-mark {
  background: linear-gradient(145deg, #d51f2a, #94161d);
  box-shadow: 0 10px 0 #78131a, 0 20px 34px rgba(33,31,24,.24);
}

.pdv-terminal-shell {
  --checkout-navy: #1558c4;
  --checkout-blue: #0a69c1;
  --checkout-yellow: #ffdf00;
  --checkout-paper: #f4f9ff;
  background: #f4f9ff;
  color: #15395d;
}
.pdv-terminal-header,
#section-pdv-terminal .pdv-terminal-header,
#section-delivery #deliveryCounterSale .pdv-terminal-header,
#deliveryCounterSale .pdv-terminal-header {
  background: #1558c4;
  border: 0;
  box-shadow: none;
  color: #fff;
}
.pdv-terminal-header > strong { color: #fff; }
.pdv-catalog-pane,
#section-pdv-terminal .pdv-catalog-pane,
#section-delivery #deliveryCounterSale .pdv-catalog-pane,
#deliveryCounterSale .pdv-catalog-pane {
  background: #e8f3ff;
  border: 0;
}
.pdv-consumption-pane,
#section-pdv-terminal .pdv-consumption-pane,
#section-delivery #deliveryCounterSale .pdv-consumption-pane,
#deliveryCounterSale .pdv-consumption-pane {
  background: #fff;
  border: 0;
}
.pdv-payment-pane,
#section-pdv-terminal .pdv-payment-pane,
#section-delivery #deliveryCounterSale .pdv-payment-pane,
#deliveryCounterSale .pdv-payment-pane {
  background: #dff6ed;
  border: 0;
}
.pdv-pane-title span,
.pdv-overview-label span,
.pdv-supervision-hint { color: #105bb1; }
.pdv-pane-title b,
.pdv-sale-item-info b { color: #15395d; }
.pdv-barcode-entry button { background: #087d57; color: #fff; }
.pdv-category-tabs button.active,
#section-pdv-terminal .pdv-category-tabs button.active {
  background: #1558c4;
  border-color: #1558c4;
  color: #fff;
}
.pdv-action.primary,
#section-pdv-terminal .pdv-action.primary,
#section-delivery #deliveryCounterSale .pdv-action.primary,
#deliveryCounterSale .pdv-action.primary {
  background: #ffdf00;
  border: 0;
  color: #19365c;
  box-shadow: none;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-back-action {
  background: #086fbc;
  color: #fff;
  border: 0;
  box-shadow: none;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-finish-action {
  background: #ffdf00;
  color: #19365c;
  border: 0;
  box-shadow: none;
}
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-fiscal-action {
  background: #c83555;
  color: #fff;
  border: 0;
  box-shadow: none;
}

/* Caixa: cores vivas em blocos planos, sem acabamentos decorativos. */
#section-pdv-terminal .pdv-terminal-shell,
#section-delivery #deliveryCounterSale .pdv-terminal-shell {
  border: 0;
  box-shadow: none;
}
#section-pdv-terminal .pdv-terminal-operator span,
#section-delivery #deliveryCounterSale .pdv-terminal-operator span {
  background: #ffdf00;
  color: #17365e;
  border-radius: 0;
}
#section-pdv-terminal .pdv-terminal-quick-actions button {
  background: #fff;
  color: #17478d;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
#section-pdv-terminal #pdvOpenCashButton:not(:disabled) {
  background: #087d57;
  color: #fff;
  border: 0;
}
#section-pdv-terminal #pdvCloseCashButton:not(:disabled) {
  background: #c83555;
  color: #fff;
  border: 0;
}
#section-pdv-terminal .pdv-terminal-shell :is(
  .pdv-sale-summary, .pdv-big-total, .pdv-total-lines, .pdv-tender-preview,
  .pdv-product-tile, .pdv-action, .pdv-barcode-entry button,
  .pdv-barcode-entry input, .pdv-product-search, .pdv-category-tabs button
),
#section-delivery #deliveryCounterSale .pdv-terminal-shell :is(
  .pdv-big-total, .pdv-total-lines, .pdv-tender-preview, .pdv-product-tile,
  .pdv-action, .pdv-barcode-entry button, .pdv-barcode-entry input,
  .pdv-product-search, .pdv-category-tabs button
) {
  border-radius: 0;
  box-shadow: none;
}
#section-pdv-terminal .pdv-product-tile,
#section-delivery #deliveryCounterSale .pdv-product-tile {
  background: #096fc5;
  border: 0;
}
#section-pdv-terminal .pdv-product-tile:hover,
#section-delivery #deliveryCounterSale .pdv-product-tile:hover { background: #1059a2; }
#section-pdv-terminal .pdv-sale-summary {
  background: #e3f4ff;
  border: 0;
}
#section-pdv-terminal .pdv-sale-summary > span { color: #1859a5; }
#section-pdv-terminal .pdv-sale-summary strong { color: #087b55; }
#section-pdv-terminal .pdv-big-total,
#section-delivery #deliveryCounterSale .pdv-big-total {
  background: #1558c4;
  border: 0;
  box-shadow: none;
}
#section-pdv-terminal .pdv-big-total strong,
#section-delivery #deliveryCounterSale .pdv-big-total strong { color: #ffe34b; }
#section-pdv-terminal .pdv-total-lines,
#section-delivery #deliveryCounterSale .pdv-total-lines,
#section-pdv-terminal .pdv-tender-preview,
#section-delivery #deliveryCounterSale .pdv-tender-preview { border: 0; }
#section-pdv-terminal .pdv-total-lines .pdv-due,
#section-delivery #deliveryCounterSale .pdv-total-lines .pdv-due {
  background: #bff1d9;
  color: #12503b;
}
#section-pdv-terminal .pdv-total-lines .pdv-due b,
#section-delivery #deliveryCounterSale .pdv-total-lines .pdv-due b { color: #08724f; }

/* TOTEM - INSIGHT SYSTEMS · vivid navy, high-visibility yellow navigation. */
.sidebar {
  background: linear-gradient(180deg,#173b79 0%,#102a58 100%);
  box-shadow: 4px 0 0 #ffdf00, 8px 0 18px rgba(16,42,88,.2);
}
.sidebar-logo { border-bottom-color:#ffdf00; }
.sidebar-logo .brand-mark { background:#fff; box-shadow:0 4px 0 #102a58,0 8px 14px rgba(8,26,58,.22); }
.sidebar-logo-text,.sidebar-user .info .name { color:#fff; }
.sidebar-logo-text .sub,.sidebar-user .info .role { color:#d8e5f8; }
.sidebar .nav-item {
  border-radius:7px;
  color:#102a58;
  background:linear-gradient(180deg,#ffed32,#ffd500);
  box-shadow:0 2px 0 #b88d00,0 4px 8px rgba(4,19,47,.2),inset 0 1px 0 rgba(255,255,255,.5);
}
.sidebar .nav-item:hover { color:#081d42; background:linear-gradient(180deg,#fff47a,#ffe43a); box-shadow:0 3px 0 #b88d00,0 6px 10px rgba(4,19,47,.24); }
.sidebar .nav-item.active { color:#081d42; background:linear-gradient(180deg,#fff36a,#ffc900); box-shadow:0 2px 0 #9f7900,0 5px 10px rgba(4,19,47,.3),inset 0 1px 0 rgba(255,255,255,.55); }
.sidebar .nav-item.active .icon,.sidebar .nav-item.active span { color:#081d42; }
.topbar { color:#fff; background:linear-gradient(180deg,#28559a,#173b79); box-shadow:inset 0 -3px 0 #102a58,0 3px 8px rgba(16,42,88,.2); }
.btn-primary,.btn-primary:hover:not(:disabled) {
  background:#173b79 !important; color:#fff !important;
  border:1px solid #102a58; border-radius:4px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 4px 0 #102a58 !important;
}
.btn-primary:active:not(:disabled) { transform:translateY(3px); box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 1px 0 #102a58 !important; }
.btn-secondary { border-radius:4px; box-shadow:0 3px 0 #cbd6e5; }
.btn-gold,.btn-gold:hover { background:#d9a83e;color:#172b4d;border-radius:4px;box-shadow:inset 0 1px 0 #fff1c9,0 4px 0 #9f7425; }
.login-page {
  background:radial-gradient(circle at 8% 12%,rgba(217,168,62,.2),transparent 19rem),
    radial-gradient(circle at 92% 85%,rgba(77,119,184,.22),transparent 21rem),
    linear-gradient(135deg,#10264e,#173b79 58%,#244f91) !important;
}
.login-card { border-radius:5px !important; box-shadow:0 28px 80px rgba(10,27,58,.42),0 4px 0 #d9a83e !important; }
.login-logo h1 { color:#173b79 !important; }
.brand-mark { border-radius:4px; }
.customer-header { background:#173b79 !important; box-shadow:0 4px 0 #d9a83e,0 7px 14px rgba(16,42,88,.16); }
.customer-header .logo-text,.customer-header h1 { color:#fff; }
.track-header,.track-chat-head,.track-chat-fab { background:#173b79 !important; }
.track-new-order a { background:#173b79 !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 4px 0 #102a58; }
.track-new-order a:hover { background:#28559a !important; }
.track-wrap .payment-choice button { border-color:#b8c8de;color:#173b79; }
.track-wrap .payment-choice button:hover,.track-wrap .payment-choice button:focus-visible { border-color:#28559a;background:#edf3fa; }
.draft-order-actions .draft-finalize { background:#173b79 !important;border-color:#102a58 !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 5px 0 #102a58 !important; }
.cart-fab { background:#173b79 !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 5px 0 #102a58,0 10px 20px rgba(16,42,88,.2) !important; }
.support-chat-head,.support-chat-fab { background:#173b79 !important; }
.cart-payment-choice button { color:#fff !important;background:#28559a !important;border:1px solid #173b79 !important;border-radius:4px !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 3px 0 #173b79; }
.cart-payment-choice button.selected { color:#172b4d !important;background:#d9a83e !important;border-color:#9f7425 !important;box-shadow:inset 0 1px 0 #fff1c9,0 3px 0 #9f7425; }
#customerInstallPushBtn { color:#172b4d !important;background:#d9a83e !important;border-color:#9f7425 !important;box-shadow:inset 0 1px 0 #fff1c9,0 3px 0 #9f7425; }
.pdv-terminal-shell {
  --checkout-navy:#173b79;
  --checkout-blue:#28559a;
  --checkout-yellow:#d9a83e;
  --checkout-paper:#edf3fa;
  background:#edf3fa;
  color:#172b4d;
}
.pdv-terminal-header,
#section-pdv-terminal .pdv-terminal-header,
#section-delivery #deliveryCounterSale .pdv-terminal-header,
#deliveryCounterSale .pdv-terminal-header {
  background:linear-gradient(180deg,#28559a,#173b79);
  border:0; box-shadow:inset 0 -4px 0 #102a58,0 3px 0 #d9a83e; color:#fff;
}
.pdv-catalog-pane,
#section-pdv-terminal .pdv-catalog-pane,
#section-delivery #deliveryCounterSale .pdv-catalog-pane,
#deliveryCounterSale .pdv-catalog-pane { background:#e2ebf7; border:0; }
.pdv-consumption-pane,
#section-pdv-terminal .pdv-consumption-pane,
#section-delivery #deliveryCounterSale .pdv-consumption-pane,
#deliveryCounterSale .pdv-consumption-pane { background:#fff; border:1px solid #d0dced; }
.pdv-payment-pane,
#section-pdv-terminal .pdv-payment-pane,
#section-delivery #deliveryCounterSale .pdv-payment-pane,
#deliveryCounterSale .pdv-payment-pane { background:#e6edf7; border:0; }
.pdv-action.primary,
#section-pdv-terminal .pdv-action.primary,
#section-delivery #deliveryCounterSale .pdv-action.primary,
#deliveryCounterSale .pdv-action.primary,
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-finish-action {
  background:#d9a83e; color:#172b4d; border:1px solid #9f7425;
  box-shadow:inset 0 1px 0 #fff1c9,0 4px 0 #9f7425;
}
#section-pdv-terminal .pdv-terminal-operator span,
#section-delivery #deliveryCounterSale .pdv-terminal-operator span {
  background:#d9a83e;color:#172b4d;border-radius:3px;box-shadow:0 2px 0 #9f7425;
}
#section-pdv-terminal .pdv-product-tile,
#section-delivery #deliveryCounterSale .pdv-product-tile {
  background:#28559a;border:1px solid #173b79;color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 3px 0 #173b79;
}
#section-pdv-terminal .pdv-product-tile:hover,
#section-delivery #deliveryCounterSale .pdv-product-tile:hover { background:#173b79; }
#section-pdv-terminal .pdv-big-total,
#section-delivery #deliveryCounterSale .pdv-big-total {
  background:linear-gradient(180deg,#28559a,#173b79);
  border:1px solid #102a58;box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 5px 0 #102a58;
}
#section-pdv-terminal .pdv-big-total strong,
#section-delivery #deliveryCounterSale .pdv-big-total strong { color:#f0c767; }
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-back-action {
  background:#28559a;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 4px 0 #173b79;
}
#section-pdv-terminal .pdv-terminal-quick-actions button {
  background:#fff;color:#173b79;border:1px solid #b9c9df;
  box-shadow:inset 0 1px 0 #fff,0 3px 0 #cbd6e5;
}
#section-pdv-terminal .pdv-terminal-shell .pdv-sale-summary,
#section-delivery #deliveryCounterSale .pdv-terminal-shell .pdv-sale-summary {
  box-shadow:inset 0 1px 0 #fff,0 4px 0 #cfdaea;
}
#section-pdv-terminal .pdv-terminal-shell .pdv-big-total,
#section-delivery #deliveryCounterSale .pdv-terminal-shell .pdv-big-total {
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 5px 0 #102a58;
}
#section-pdv-terminal .pdv-terminal-shell .pdv-product-tile,
#section-delivery #deliveryCounterSale .pdv-terminal-shell .pdv-product-tile {
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 3px 0 #173b79;
}
#section-pdv-terminal .pdv-terminal-shell .pdv-action,
#section-pdv-terminal .pdv-terminal-shell .pdv-barcode-entry button,
#section-pdv-terminal .pdv-terminal-shell .pdv-category-tabs button,
#section-delivery #deliveryCounterSale .pdv-terminal-shell .pdv-action {
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 3px 0 #102a58;
}
.mk-top,.mk-hero { border-color:#d9a83e; }
.mk-top { background:#173b79 !important;color:#fff !important; }
.mk-btn:not(.secondary) { background:#173b79 !important; }
@media(max-width:767px) {
  .sidebar { box-shadow:4px 0 0 #ffdf00,8px 0 18px rgba(16,42,88,.2); }
  .sidebar-nav { padding:10px 9px 14px; }
  .nav-item-shell { grid-template-columns:minmax(0,1fr) 38px; gap:4px; }
  .sidebar .nav-item { min-height:46px; }
  .sidebar-order-handle { width:38px; min-height:48px; }
}

/* Contrast and logo-container correction shipped as stylesheet v81. */
.brand-mark.brand-3d {
  background:#173b79;
  border-color:#d9a83e;
  box-shadow:0 4px 0 #102a58,0 8px 0 #d9a83e,0 14px 22px rgba(16,42,88,.3),inset 0 2px 0 rgba(255,255,255,.36);
}
.brand-mark:not(.brand-3d) {
  background:#173b79 !important;
  border-color:#d9a83e;
  box-shadow:0 4px 0 #102a58,0 8px 14px rgba(16,42,88,.24);
}
.login-logo .login-brand-mark {
  background:#173b79;
  border-color:#d9a83e;
  box-shadow:0 5px 0 #102a58,0 10px 18px rgba(16,42,88,.3),inset 0 2px 0 rgba(255,255,255,.28);
}
.sidebar-logo .sidebar-brand-mark {
  background:#fff;
  border-color:#ffdf00;
  box-shadow:0 4px 0 #102a58,0 8px 0 #ffdf00,0 14px 22px rgba(8,26,58,.28);
}
.cart-fab { color:#fff !important; }
.sidebar .nav-item.active { color:#081d42; }
.sidebar .nav-item.active .icon,.sidebar .nav-item.active span { color:#081d42; }

/* Cash actions — high-contrast controls with a firm, tactile press. */
.cash-action {
  --cash-face:#173b79;
  --cash-edge:#102a58;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:46px;
  padding:9px 14px;
  border:1px solid rgba(9,31,68,.4);
  border-radius:5px;
  background:var(--cash-face);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 4px 0 var(--cash-edge),0 6px 10px rgba(15,41,78,.12);
  font:inherit;
  font-size:13px;
  font-weight:850;
  line-height:1.15;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:transform .12s ease,filter .12s ease,box-shadow .12s ease;
  -webkit-tap-highlight-color:transparent;
}
.cash-action:hover:not(:disabled) { filter:brightness(1.08); }
.cash-action:active:not(:disabled) {
  transform:translateY(3px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 0 var(--cash-edge);
}
.cash-action:focus-visible {
  outline:3px solid #f0bd45;
  outline-offset:3px;
  position:relative;
  z-index:1;
}
.cash-action:disabled,
.cash-action[aria-disabled="true"] {
  --cash-face:#aab5c2;
  --cash-edge:#8996a5;
  color:#f5f7f9;
  border-color:#95a1ae;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 2px 0 var(--cash-edge);
  filter:saturate(.45);
  cursor:not-allowed;
  transform:none;
}
.cash-action--open { --cash-face:#16834a; --cash-edge:#0d6035; }
.cash-action--close { --cash-face:#c92835; --cash-edge:#941b28; }
.cash-action--withdraw { --cash-face:#ffdf00; --cash-edge:#a77d00; }
.cash-action--supply { --cash-face:#16834a; --cash-edge:#0d6035; }
.cash-action--expense { --cash-face:#dc641f; --cash-edge:#a74410; }
.cash-action--summary { --cash-face:#f5f7fa; --cash-edge:#9faebc; }
.pdv-cash-in { color:#126632; }
.pdv-cash-out { color:#a51d2d; }
.pdv-cash-difference { display:flex; flex-direction:column; gap:8px; margin-top:12px; padding:18px; border:2px solid #bcc8d4; border-radius:12px; background:#f4f7fa; color:#34485c; }
.pdv-cash-difference strong { font-size:18px; font-weight:800; }
.pdv-cash-difference b { font-size:clamp(32px,6vw,48px); line-height:1.1; font-weight:900; font-variant-numeric:tabular-nums; }
.pdv-cash-difference.is-surplus { background:#e8f6ed; border-color:#228247; color:#126632; }
.pdv-cash-difference.is-shortage { background:#fff0f1; border-color:#bd293b; color:#a51d2d; }
.pdv-cash-difference.is-even { background:#f1f5f8; border-color:#8296a8; color:#34485c; }
.cash-day-summary-stat.is-total { border:2px solid #8296a8; background:#f1f5f8; }
.cash-day-summary-stat.is-total span { font-size:24px; font-weight:900; }
.cash-day-summary-stat.is-in span { color:#126632; }
.cash-day-summary-stat.is-out span { color:#a51d2d; }
#section-pdv-terminal .pdv-terminal-quick-actions #pdvCashOperationsButton:not(:disabled) { background:#f5f7fa; color:#17385d; border-color:#9faebc; box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 4px 0 #9faebc; }
#section-pdv-terminal .pdv-terminal-quick-actions #pdvExpenseButton:not(:disabled) { --cash-face:#a74410; --cash-edge:#81320c; background:#a74410; color:#fff; border-color:#81320c; }
.cash-action--drawer { --cash-face:#aab5c2; --cash-edge:#8996a5; }
.cash-action:disabled,
.cash-action[aria-disabled="true"] { --cash-face:#aab5c2; --cash-edge:#8996a5; }
.cash-action--open:not(:disabled) {
  background:#16834a;
  border-color:#0d6035;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 4px 0 #0d6035;
}
.cash-action--close:not(:disabled) {
  background:#c92835;
  border-color:#941b28;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 4px 0 #941b28;
}
.cash-action--withdraw:not(:disabled) {
  background:#ffdf00;
  border-color:#a77d00;
  color:#10264b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 4px 0 #9f7425;
}
.cash-shortcut-key {
  display:inline-grid;
  min-width:24px;
  min-height:22px;
  place-items:center;
  padding:2px 5px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:3px;
  background:rgba(7,27,58,.22);
  color:inherit;
  font:800 10px/1 'Plus Jakarta Sans',sans-serif;
  letter-spacing:.02em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 0 rgba(5,21,49,.32);
}
.cash-action:disabled .cash-shortcut-key,
.cash-action[aria-disabled="true"] .cash-shortcut-key {
  border-color:rgba(255,255,255,.48);
  background:rgba(39,55,73,.18);
}

/* Quick actions beside the live sale total: retain the existing 3-pane layout. */
#section-pdv-terminal .pdv-terminal-quick-actions button {
  min-height:44px;
  padding:8px 12px;
  border:1px solid #102a58;
  border-radius:5px;
  background:#173b79;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 4px 0 #102a58;
  font-size:12px;
  font-weight:850;
}
#section-pdv-terminal .pdv-terminal-quick-actions button:hover:not(:disabled) { filter:brightness(1.1); }
#section-pdv-terminal .pdv-terminal-quick-actions button:active:not(:disabled) {
  transform:translateY(3px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 0 #102a58;
}
#section-pdv-terminal .pdv-terminal-quick-actions button:focus-visible {
  outline:3px solid #f0bd45;
  outline-offset:3px;
  position:relative;
  z-index:1;
}
#section-pdv-terminal #pdvOpenCashButton:not(:disabled) {
  background:#16834a;
  border-color:#0d6035;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 4px 0 #0d6035;
}
#section-pdv-terminal #pdvOpenCashButton:disabled {
  background:#dae9e0;
  border:2px dashed #85ad97;
  color:#315c46;
  opacity:1;
  box-shadow:none;
  cursor:not-allowed;
}
#section-pdv-terminal #pdvCashSummaryButton:not(:disabled) {
  background:#d9a83e;
  border-color:#9f7425;
  color:#172b4d;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 4px 0 #9f7425;
}
#section-pdv-terminal #pdvSangriaButton:not(:disabled) {
  background:#ffdf00;
  border-color:#b88d00;
  color:#102a58;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 4px 0 #b88d00;
}
#section-pdv-terminal #pdvCloseCashButton:not(:disabled) {
  background:#df273b;
  border-color:#941b28;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 4px 0 #941b28;
}
#section-pdv-terminal #pdvSuprimentoButton:not(:disabled) {
  background:#30d87b;
  border-color:#0d6035;
  color:#102a58;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 4px 0 #0d6035;
}
#section-pdv-terminal .pdv-terminal-quick-actions button:disabled {
  background:#aab5c2;
  border-color:#8996a5;
  color:#f5f7f9;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 2px 0 #8996a5;
  opacity:1;
}
/* Keep unavailable cash operations readable without changing their disabled state. */
#section-pdv-terminal #pdvSangriaButton:disabled {
  background:#f2ca21;
  border-color:#8c6c00;
}
#section-pdv-terminal #pdvSuprimentoButton:disabled {
  background:#35bf74;
  border-color:#116036;
}
#section-pdv-terminal #pdvCloseCashButton:disabled {
  background:#c83a4a;
  border-color:#801724;
}
#section-pdv-terminal #pdvSangriaButton:disabled,
#section-pdv-terminal #pdvSuprimentoButton:disabled {
  color:#102a58;
  border-style:dashed;
  filter:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 2px 0 rgba(5,21,49,.4);
}
#section-pdv-terminal #pdvCloseCashButton:disabled {
  color:#fff;
  border-style:dashed;
  filter:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 2px 0 rgba(5,21,49,.4);
}
#section-pdv-terminal .pdv-terminal-quick-actions button[hidden] { display:none; }
#section-pdv-terminal .pdv-terminal-quick-actions .cash-shortcut-key {
  min-width:22px;
  min-height:20px;
  padding:2px 4px;
  border-radius:3px;
  background:rgba(6,24,54,.24);
  color:inherit;
  font-size:10px;
}
#section-pdv-terminal #pdvCashSummaryButton .cash-shortcut-key {
  border-color:rgba(23,43,77,.35);
  background:rgba(23,43,77,.1);
}

/* Finance drawer uses the same semantic colors, not the old pastel controls. */
.pdv-finance-actions { gap:8px; }
.pdv-finance-actions button,
.pdv-finance-actions .cash-action {
  min-height:44px;
  padding:8px 6px;
  border:1px solid #102a58;
  border-radius:4px;
  background:#173b79;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 4px 0 #102a58;
  font-size:11px;
  font-weight:850;
}
.pdv-finance-actions .supply:not(:disabled),
.pdv-finance-actions .cash-action--supply:not(:disabled) { background:#16834a; border-color:#0d6035; box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 4px 0 #0d6035; }
.pdv-finance-actions .expense,
.pdv-finance-actions .cash-action--expense { background:#dc641f; border-color:#a74410; box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 4px 0 #a74410; }
.pdv-finance-actions .close:not(:disabled),
.pdv-finance-actions .cash-action--close:not(:disabled) { background:#c92835; border-color:#941b28; box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 4px 0 #941b28; }
.pdv-finance-actions .cash-action--withdraw:not(:disabled) { background:#ffdf00; border-color:#a77d00; color:#10264b; box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 4px 0 #9f7425; }
.pdv-finance-actions .drawer,
.pdv-finance-actions .cash-action--drawer {
  background:#aab5c2;
  border-color:#8996a5;
  color:#f5f7f9;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 2px 0 #8996a5;
  opacity:1;
  cursor:not-allowed;
}
.pdv-finance-actions .back { background:#173b79; border-color:#102a58; }
.pdv-finance-actions button:focus-visible,
.pdv-finance-actions .cash-action:focus-visible { outline:3px solid #f0bd45; outline-offset:3px; }
.pdv-finance-actions .cash-shortcut-key { min-width:22px; min-height:20px; padding:2px 4px; font-size:9px; }

/* The admin caixa area renders its action row dynamically. */
#section-caixa #caixaContent .cash-action { min-height:46px; }
#section-caixa #caixaContent .cash-action--open:not(:disabled) { background:#16834a; }
#section-caixa #caixaContent .cash-action--close:not(:disabled) { background:#c92835; }
#section-caixa #caixaContent .cash-action--withdraw:not(:disabled) { background:#ffdf00; border-color:#a77d00; color:#10264b; box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 4px 0 #9f7425; }
#section-caixa #caixaContent .cash-action--supply:not(:disabled) { background:#16834a; }
#section-caixa #caixaContent .cash-action--expense { background:#dc641f; }
#section-caixa #caixaContent > div[style*="flex-wrap:wrap"] > .btn:not(.cash-action) {
  min-height:44px;
  padding:9px 14px;
  border-radius:5px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 4px 0 #102a58;
  font-weight:850;
}
#section-caixa #caixaContent > div[style*="flex-wrap:wrap"] > .btn-gold:not(:disabled) {
  background:#ffdf00;
  border-color:#a77d00;
  color:#10264b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 3px 0 #9f7425;
}
#section-caixa #caixaContent > div[style*="flex-wrap:wrap"] > .btn-secondary:disabled {
  background:#aab5c2 !important;
  border-color:#8996a5;
  color:#f5f7f9 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 2px 0 #8996a5;
  cursor:not-allowed;
}
#section-caixa #caixaContent .cash-action:focus-visible,
#section-caixa #caixaContent > div[style*="flex-wrap:wrap"] > .btn:focus-visible {
  outline:3px solid #f0bd45;
  outline-offset:3px;
}

/* Delivery attendant selectors are deliberately scoped to the cash module. */
#attendantCash .cash-action-row { flex-wrap:wrap; gap:8px; }
#attendantCash .cash-action-row button,
#attendantCash .cash-action {
  min-height:44px;
  padding:9px 13px;
  border:1px solid #0d6035;
  border-radius:5px;
  background:#16834a;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 4px 0 #0d6035;
  font-size:12px;
  font-weight:850;
}
#attendantCash #cashCloseButton:not(:disabled),
#attendantCash .cash-action--close:not(:disabled) {
  background:#c92835;
  border-color:#941b28;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 4px 0 #941b28;
}
#attendantCash #cashWithdrawalButton:not(:disabled) {
  background:#ffdf00;
  border-color:#a77d00;
  color:#10264b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 4px 0 #9f7425;
}
#attendantCash .cash-action--expense { background:#dc641f; border-color:#a74410; }
#attendantCash .cash-action:disabled,
#attendantCash .cash-action-row button:disabled {
  background:#aab5c2;
  border-color:#8996a5;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 2px 0 #8996a5;
  color:#f5f7f9;
  opacity:1;
  cursor:not-allowed;
}
#attendantCash .cash-action-row button:focus-visible,
#attendantCash .cash-action:focus-visible { outline:3px solid #f0bd45; outline-offset:3px; }
#attendantCash .cash-shortcut-key { min-width:22px; min-height:20px; padding:2px 4px; font-size:9px; }
@media (max-width:700px) {
  #section-pdv-terminal .pdv-terminal-quick-actions { justify-self:stretch; gap:7px; }
  #section-pdv-terminal .pdv-terminal-quick-actions button { flex:1 1 128px; }
  .pdv-finance-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #attendantCash .cash-action-row button { flex:1 1 145px; }
  #section-caixa #caixaContent > div[style*="flex-wrap:wrap"] > .btn { flex:1 1 145px; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) {
  .cash-action,
  #section-pdv-terminal .pdv-terminal-quick-actions button { transition:none; }
}

/* Gold is the primary action color on blue surfaces; semantic cash colors stay intact. */
.btn-primary:not(.cash-action),
.btn-primary:not(.cash-action):hover:not(:disabled),
.sidebar-footer .btn:not(.btn-danger):not(.cash-action),
.sidebar-footer .btn:not(.btn-danger):not(.cash-action):hover:not(:disabled),
.mk-btn:not(.secondary):not(.cash-action),
.mk-btn:not(.secondary):not(.cash-action):hover:not(:disabled) {
  background:#ffdf00 !important;
  border-color:#a77d00 !important;
  color:#10264b !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 3px 0 #9f7425;
}
.btn-primary:not(.cash-action):disabled,
.sidebar-footer .btn:not(.btn-danger):not(.cash-action):disabled,
.mk-btn:not(.secondary):not(.cash-action):disabled {
  background:#e8d8a0 !important;
  border-color:#a77d00 !important;
  color:#10264b !important;
  opacity:1;
  cursor:not-allowed;
}
.btn-primary:not(.cash-action):focus-visible,
.sidebar-footer .btn:not(.cash-action):focus-visible,
.mk-btn:not(.secondary):not(.cash-action):focus-visible {
  outline:3px solid #ffdf00;
  outline-offset:3px;
}

#section-pdv-terminal .pdv-terminal-quick-actions button:not(.cash-action),
#section-pdv-terminal .pdv-terminal-quick-actions button:not(.cash-action):hover:not(:disabled),
#section-pdv-terminal #pdvCashOperationsButton:not(:disabled) {
  background:#ffdf00;
  border-color:#a77d00;
  color:#10264b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 4px 0 #9f7425;
  filter:none;
}
#section-pdv-terminal .pdv-terminal-quick-actions button:not(.cash-action):disabled {
  background:#e8d8a0;
  border-color:#a77d00;
  color:#10264b;
  opacity:1;
  cursor:not-allowed;
}
#section-pdv-terminal .pdv-terminal-quick-actions button:not(.cash-action):focus-visible,
#section-pdv-terminal #pdvCashOperationsButton:focus-visible,
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-back-action:focus-visible {
  outline:3px solid #ffdf00;
  outline-offset:3px;
}
#section-pdv-terminal #pdvCashOperationsButton:not(:disabled) {
  border-color:#a77d00;
  color:#10264b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 4px 0 #9f7425;
}

/* Keep the shared PDV header controls on one readable, horizontally scrollable strip. */
#section-pdv-terminal .pdv-terminal-quick-actions,
.pdv-terminal-header .pdv-terminal-quick-actions {
  grid-column:1 / -1;
  grid-row:auto;
  justify-self:stretch;
  display:flex;
  flex-flow:row nowrap;
  align-items:center;
  gap:8px;
  width:100%;
  min-width:0;
  padding:5px 0;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:auto;
}
#section-pdv-terminal.pdv-admin-terminal .pdv-terminal-quick-actions,
.pdv-terminal-header.pdv-admin-terminal .pdv-terminal-quick-actions {
  flex-wrap:nowrap;
}
#section-pdv-terminal .pdv-terminal-quick-actions > button,
.pdv-terminal-header .pdv-terminal-quick-actions > button {
  flex:0 0 auto;
  min-height:36px;
  padding:6px 11px;
  font-size:13px;
  white-space:nowrap;
}
#section-pdv-terminal .pdv-terminal-quick-actions > button {
  min-height:44px;
  padding:8px 12px;
  font-size:12px;
}
#section-pdv-terminal.pdv-admin-terminal .pdv-terminal-quick-actions > button {
  min-height:44px;
  padding:8px 12px;
  font-size:12px;
}
.pdv-terminal-header .pdv-terminal-quick-actions > label {
  display:inline-flex !important;
  flex:0 0 auto;
  align-items:center;
  gap:5px !important;
  margin:0;
  white-space:nowrap;
}
@media (max-width:700px) {
  #section-pdv-terminal .pdv-terminal-quick-actions,
  .pdv-terminal-header .pdv-terminal-quick-actions {
    grid-row:3;
    gap:8px;
  }
  #section-pdv-terminal .pdv-terminal-quick-actions > button,
  .pdv-terminal-header .pdv-terminal-quick-actions > button { flex:0 0 auto; }
}
#section-pdv-terminal .pdv-payment-pane .pdv-action-strip .pdv-back-action {
  background:#ffdf00;
  border-color:#a77d00;
  color:#10264b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 4px 0 #9f7425;
}
#section-pdv-terminal .pdv-category-tabs button.active {
  background:#ffdf00;
  border-color:#a77d00;
  color:#10264b;
}

/* Finance drawer's generic/back controls were blue; keep its green/red actions semantic. */
.pdv-finance-actions button:not(.supply):not(.cash-action--supply):not(.open):not(.cash-action--open):not(.expense):not(.cash-action--expense):not(.close):not(.cash-action--close):not(.withdraw):not(.cash-action--withdraw):not(.drawer):not(.cash-action--drawer),
.pdv-finance-actions .back {
  background:#ffdf00;
  border-color:#a77d00;
  color:#10264b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 4px 0 #9f7425;
}
.pdv-finance-actions button:not(.supply):not(.cash-action--supply):not(.open):not(.cash-action--open):not(.expense):not(.cash-action--expense):not(.close):not(.cash-action--close):not(.withdraw):not(.cash-action--withdraw):not(.drawer):not(.cash-action--drawer):disabled,
.pdv-finance-actions .back:disabled {
  background:#e8d8a0;
  border-color:#a77d00;
  color:#10264b;
  opacity:1;
  cursor:not-allowed;
}
.pdv-finance-actions button:focus-visible { outline:3px solid #ffdf00; outline-offset:3px; }

/* Blue-filled controls across checkout and public panels become brand-gold actions. */
#section-pdv-terminal .pdv-product-tile,
#section-delivery #deliveryCounterSale .pdv-product-tile {
  background:#ffdf00;
  border-color:#a77d00;
  color:#10264b;
  box-shadow:0 4px 0 #9f7425,0 8px 16px rgba(16,42,88,.12);
}
#section-pdv-terminal .pdv-product-tile:hover,
#section-delivery #deliveryCounterSale .pdv-product-tile:hover {
  background:#e8c900;
}
#section-pdv-terminal .pdv-product-tile span,
#section-pdv-terminal .pdv-product-tile small,
#section-pdv-terminal .pdv-product-tile b,
#section-pdv-terminal .pdv-product-tile b em,
#section-delivery #deliveryCounterSale .pdv-product-tile span,
#section-delivery #deliveryCounterSale .pdv-product-tile small,
#section-delivery #deliveryCounterSale .pdv-product-tile b,
#section-delivery #deliveryCounterSale .pdv-product-tile b em {
  color:#10264b;
}
#section-pdv-terminal .pdv-favorite-button:not(.is-favorite),
#section-delivery #deliveryCounterSale .pdv-favorite-button:not(.is-favorite) {
  background:#ffdf00;
  border-color:#a77d00;
  color:#10264b;
}
#section-pdv-terminal .pdv-favorite-button:focus-visible,
#section-delivery #deliveryCounterSale .pdv-favorite-button:focus-visible,
#section-pdv-terminal .pdv-product-tile:focus-visible,
#section-delivery #deliveryCounterSale .pdv-product-tile:focus-visible {
  outline:3px solid #10264b;
  outline-offset:3px;
}
#paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect .pm-btn,
#paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect .pm-btn:hover,
#paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect .pm-btn.active {
  background:#ffdf00;
  border-color:#a77d00;
  color:#10264b;
}
#paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect .pm-btn small,
#paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect .pm-btn small[id^="paymentMethodKey-"],
#paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect .pm-btn .pm-icon::after {
  color:#10264b;
}
#paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect .pm-btn:disabled {
  background:#e8d8a0;
  border-color:#a77d00;
  color:#10264b;
  opacity:1;
}
#paymentModal[data-shortcut-context="pdv"] #paymentMethodSelect .pm-btn:focus-visible {
  outline:3px solid #10264b;
  outline-offset:2px;
}
#paymentModal[data-shortcut-context="pdv"] #confirmPayBtn {
  background:#ffdf00;
  border-color:#a77d00;
  color:#10264b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 3px 0 #9f7425;
}
#paymentModal[data-shortcut-context="pdv"] #confirmPayBtn:hover:not(:disabled) {
  background:#e8c900;
}
#paymentModal[data-shortcut-context="pdv"] #confirmPayBtn:disabled {
  background:#e8d8a0;
  border-color:#a77d00;
  color:#10264b;
  opacity:1;
}
#paymentModal[data-shortcut-context="pdv"] #confirmPayBtn:focus-visible {
  outline:3px solid #10264b;
  outline-offset:2px;
}
.cart-payment-choice button,
.cart-payment-choice button:hover:not(:disabled),
.cart-fab,
.track-chat-fab,
.support-chat-fab {
  background:#ffdf00 !important;
  border-color:#a77d00 !important;
  color:#10264b !important;
}
.cart-payment-choice button:hover:not(:disabled),
.cart-fab:hover,
.track-chat-fab:hover,
.support-chat-fab:hover {
  background:#e8c900 !important;
}
.cart-payment-choice button:disabled {
  background:#e8d8a0 !important;
  border-color:#a77d00 !important;
  color:#10264b !important;
  opacity:1;
}
.cart-payment-choice button:focus-visible,
.cart-fab:focus-visible,
.track-chat-fab:focus-visible,
.support-chat-fab:focus-visible {
  outline:3px solid #10264b;
  outline-offset:3px;
}

/* PDV wholesale temperature choices — deliberately scoped to the quantity modal. */
#cashierQuantityModal .modal { max-width:620px !important; max-height:min(90vh, calc(100dvh - 24px)); }
#cashierQuantityModal #cashierWholesaleChoices[hidden] { display:none !important; }
#cashierQuantityModal #cashierWholesaleChoices:not([hidden]) {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin:4px 0 16px;
}
#cashierQuantityModal .cashier-wholesale-choice,
#cashierQuantityModal .cashier-wholesale-choice:hover,
#cashierQuantityModal .cashier-wholesale-choice:disabled {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  min-height:142px;
  padding:15px 16px;
  border:2px solid transparent !important;
  border-radius:13px;
  color:#fff !important;
  text-align:left;
  cursor:pointer;
  opacity:1 !important;
  box-shadow:0 4px 0 rgba(19,36,28,.2), inset 0 1px 0 rgba(255,255,255,.24);
  transition:transform .14s ease, box-shadow .14s ease, outline-color .14s ease;
}
#cashierQuantityModal .cashier-wholesale-choice--natural,
#cashierQuantityModal .cashier-wholesale-choice--natural:hover,
#cashierQuantityModal .cashier-wholesale-choice--natural:disabled {
  background:#d71920 !important;
  border-color:#a81017 !important;
}
#cashierQuantityModal .cashier-wholesale-choice--cold,
#cashierQuantityModal .cashier-wholesale-choice--cold:hover,
#cashierQuantityModal .cashier-wholesale-choice--cold:disabled {
  background:#16834a !important;
  border-color:#0d6638 !important;
}
#cashierQuantityModal .cashier-wholesale-choice:not(:disabled):hover { transform:translateY(-2px); }
#cashierQuantityModal .cashier-wholesale-choice:active { transform:translateY(1px); }
#cashierQuantityModal .cashier-wholesale-choice:focus-visible {
  outline:3px solid #173b79;
  outline-offset:3px;
}
#cashierQuantityModal .cashier-wholesale-choice[aria-pressed="true"] {
  border-color:#fff !important;
  outline:3px solid #172b4d;
  outline-offset:2px;
  box-shadow:0 4px 0 rgba(19,36,28,.2), inset 0 0 0 2px rgba(255,255,255,.82);
}
#cashierQuantityModal .cashier-wholesale-choice[aria-pressed="true"]::after {
  content:"SELECIONADA";
  position:absolute;
  right:9px;
  bottom:9px;
  padding:3px 6px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:4px;
  background:rgba(22,35,30,.28);
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.07em;
}
#cashierQuantityModal .cashier-wholesale-choice-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  font-family:'Barlow Condensed', sans-serif;
  font-size:25px;
  font-weight:800;
  line-height:1;
  text-transform:uppercase;
}
#cashierQuantityModal .cashier-wholesale-choice kbd {
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:7px;
  background:rgba(28,30,24,.2);
  color:#fff;
  font-family:inherit;
  font-size:17px;
  font-weight:800;
}
#cashierQuantityModal .cashier-wholesale-choice-math {
  min-height:20px;
  color:rgba(255,255,255,.94);
  font-size:12px;
  font-weight:700;
  line-height:1.35;
  overflow-wrap:anywhere;
}
#cashierQuantityModal .cashier-wholesale-choice-total {
  display:block;
  padding-top:7px;
  border-top:1px solid rgba(255,255,255,.42);
  color:#fff;
  font-family:'Barlow Condensed', sans-serif;
  font-size:clamp(28px, 6vw, 38px);
  font-weight:800;
  line-height:1;
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
}
@media (max-width:380px) {
  #cashierQuantityModal .modal-body { padding:18px; }
  #cashierQuantityModal #cashierWholesaleChoices:not([hidden]) { gap:8px; }
  #cashierQuantityModal .cashier-wholesale-choice { min-height:132px; padding:12px 11px; }
  #cashierQuantityModal .cashier-wholesale-choice-head { font-size:21px; }
  #cashierQuantityModal .cashier-wholesale-choice-total { font-size:27px; }
}
@media (prefers-reduced-motion:reduce) {
  #cashierQuantityModal .cashier-wholesale-choice { transition:none; }
}

/* PDV sign-in: keep the familiar login page, but put the genuine brand mark
   first and make the selected station unmistakable. */
.login-page.pdv-login {
  min-height:100dvh;
  padding:clamp(16px, 4vh, 36px) 18px;
}
.login-page.pdv-login .login-card {
  max-width:500px;
  padding:clamp(24px, 4vw, 38px);
}
.login-page.pdv-login .login-logo { margin-bottom:26px; }
.login-page.pdv-login .login-logo .login-brand-mark {
  width:clamp(176px, 21vw, 222px);
  height:clamp(176px, 21vw, 222px);
  margin-bottom:34px;
  border:6px solid #fff4bb;
  border-radius:46px;
  background:linear-gradient(145deg,#fff6ad 0%,#f3bd08 46%,#cc1721 100%);
  box-shadow:
    0 2px 0 rgba(255,255,255,.92),
    0 6px 0 #f1bd11,
    0 11px 0 #bb1721,
    0 16px 0 #073968,
    0 25px 35px rgba(3,19,43,.40),
    inset 0 2px 2px rgba(255,255,255,.92),
    inset 0 -3px 5px rgba(79,29,9,.22);
  transform:perspective(900px) rotateX(2deg);
  transform-origin:center 72%;
  animation:none;
}
.login-page.pdv-login .login-logo .login-brand-mark::before {
  display:block;
  inset:3px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:inherit;
  background:transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
  pointer-events:none;
}
.login-page.pdv-login .login-logo .login-brand-mark::after {
  display:block;
  z-index:-1;
  bottom:-29px;
  height:17%;
  background:rgba(3,19,43,.42);
  filter:blur(7px);
  pointer-events:none;
}
.login-page.pdv-login .login-logo .login-brand-mark .brand-logo {
  position:relative;
  z-index:1;
  border-radius:inherit;
  object-fit:contain;
}
.login-page.pdv-login .login-logo h1 { font-size:clamp(22px, 3vw, 27px); }
.login-page.pdv-login .pdv-login-station-code:not([hidden]) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:12px;
  padding:7px 13px;
  border:1px solid #d7c78e;
  border-radius:999px;
  background:#fff7dc;
  color:#634f1e;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
}
.login-page.pdv-login #loginForm { margin-top:0; }
.login-page.pdv-login #loginForm .form-group { margin-bottom:18px; }
.login-page.pdv-login #loginBtn { margin-top:2px; }
@media (max-width:520px) {
  .login-page.pdv-login { padding:16px 12px; }
  .login-page.pdv-login .login-card { max-width:440px; padding:24px 20px; }
  .login-page.pdv-login .login-logo .login-brand-mark {
    width:clamp(154px, 43vw, 184px);
    height:clamp(154px, 43vw, 184px);
    margin-bottom:30px;
    border-radius:39px;
  }
}
@media (max-height:700px) {
  .login-page.pdv-login { align-items:flex-start; }
}
@media (max-height:740px) {
  .login-page.pdv-login .login-logo .login-brand-mark {
    width:156px;
    height:156px;
    margin-bottom:24px;
    border-radius:36px;
  }
}
@media (max-height:620px) {
  .login-page.pdv-login { padding-top:12px; padding-bottom:12px; }
  .login-page.pdv-login .login-card { padding-top:18px; padding-bottom:18px; }
  .login-page.pdv-login .login-logo .login-brand-mark {
    width:128px;
    height:128px;
    margin-bottom:22px;
    border-radius:31px;
  }
  .login-page.pdv-login .login-logo { margin-bottom:17px; }
}
@media (prefers-reduced-motion:reduce) {
  .login-page.pdv-login .login-logo .login-brand-mark { animation:none; }
}

/* Central independente — estilos locais para não herdar conflitos dos painéis antigos. */
#section-central-local {
  --clx-ink:#102b49;
  --clx-blue:#23527a;
  --clx-gold:#d9a83e;
  --clx-paper:#f7f5ef;
  --clx-line:#d9e0e4;
  --clx-muted:#627387;
  color:var(--clx-ink);
}
#section-central-local [hidden] { display:none !important; }
#section-central-local .clx-masthead {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:150px;
  align-items:center;
  margin:0 0 18px;
  padding:25px 28px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:17px;
  background:linear-gradient(115deg,#102b49 0%,#173b60 73%,#294c64 100%);
  box-shadow:0 13px 28px rgba(16,43,73,.14);
}
#section-central-local .clx-masthead::after {
  position:absolute;
  z-index:-1;
  right:14%;
  top:-115px;
  width:310px;
  height:310px;
  border:1px solid rgba(227,190,104,.3);
  border-radius:50%;
  box-shadow:0 0 0 27px rgba(227,190,104,.055),0 0 0 55px rgba(227,190,104,.035);
  content:"";
}
#section-central-local .clx-heading { max-width:620px; }
#section-central-local .central-local-kicker {
  display:flex;
  align-items:center;
  gap:9px;
  color:#e7c56f;
  font-size:9px;
  letter-spacing:.17em;
}
#section-central-local .central-local-kicker i {
  display:block;
  width:22px;
  height:1px;
  background:#d9a83e;
}
#section-central-local .clx-masthead h1 {
  margin:7px 0 4px;
  color:#fffaf0;
  font:700 clamp(27px,3.5vw,38px)/1.04 'Barlow Condensed',sans-serif;
  letter-spacing:-.02em;
}
#section-central-local .clx-masthead p {
  max-width:470px;
  color:#d4dce1;
  font-size:12px;
  line-height:1.6;
}
#section-central-local .clx-head-actions {
  position:relative;
  z-index:1;
  display:grid;
  justify-items:end;
  gap:5px;
  min-width:150px;
}
#section-central-local .clx-update-caption {
  color:#abbac5;
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
#section-central-local .central-local-updated { color:#f4d991; font-size:11px; }
#section-central-local .clx-head-actions .btn {
  margin-top:4px;
  border-radius:8px;
  font-size:11px;
}
#section-central-local .clx-head-actions .clx-sync {
  border:1px solid #e4bd60;
  background:#d9a83e;
  color:#182d43;
}
#section-central-local .clx-head-actions .clx-sync:hover { background:#e7bf63; }
#section-central-local .clx-head-actions .clx-refresh {
  border:1px solid rgba(255,255,255,.32);
  background:rgba(255,255,255,.08);
  color:#fffaf0;
}
#section-central-local .clx-head-actions .clx-refresh:hover { background:rgba(255,255,255,.16); }
#section-central-local .clx-intro {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(220px,.7fr);
  margin-bottom:15px;
  overflow:hidden;
  border:1px solid #e0d9c7;
  border-radius:15px;
  background:#fffdf7;
  box-shadow:0 6px 18px rgba(29,53,70,.045);
}
#section-central-local .clx-intro-copy { padding:24px 27px 25px; }
#section-central-local .clx-eyebrow {
  display:block;
  color:#88691f;
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
}
#section-central-local .clx-intro h2,
#section-central-local .clx-section-title h2 {
  margin:7px 0 8px;
  color:#173752;
  font:700 clamp(22px,2.7vw,29px)/1.08 'Barlow Condensed',sans-serif;
  letter-spacing:-.015em;
}
#section-central-local .clx-intro-copy > p {
  max-width:670px;
  margin:0 0 17px;
  color:#52687a;
  font-size:12px;
  line-height:1.65;
}
#section-central-local .clx-install {
  min-height:42px;
  padding:10px 15px;
  border:1px solid #bc8d2b;
  border-radius:8px;
  background:#d9a83e;
  color:#172d43;
  font-size:12px;
  font-weight:800;
  box-shadow:0 3px 0 #b88a2f;
}
#section-central-local .clx-install:hover { background:#e8c267; }
#section-central-local .clx-install span { margin-left:6px; font-size:16px; }
#section-central-local .clx-intro-aside {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:21px 23px;
  border-left:1px solid #e5decd;
  background:linear-gradient(145deg,#f3f0e7,#ebe7dc);
}
#section-central-local .clx-aside-index {
  color:#8b7650;
  font-size:9px;
  font-weight:900;
  letter-spacing:.11em;
}
#section-central-local .clx-intro-aside p {
  margin:10px 0;
  color:#1b3b56;
  font:700 18px/1.23 'Barlow Condensed',sans-serif;
}
#section-central-local .clx-aside-rule { width:35px; height:2px; background:#d0a13e; }
#section-central-local .clx-intro-aside small {
  max-width:250px;
  margin-top:10px;
  color:#657282;
  font-size:10px;
  line-height:1.55;
}
#section-central-local .clx-notice {
  min-height:0;
  margin:0 0 16px;
  padding:11px 14px;
  border:1px solid #e6d7a8;
  border-left:3px solid #c69a37;
  border-radius:8px;
  background:#fff8e7;
  color:#65511f;
  font-size:11px;
  line-height:1.55;
}
#section-central-local .clx-notice:empty { display:none; }
#section-central-local .clx-notice strong { color:#493a17; }
#section-central-local .clx-notice small { color:#766a4b; }
#section-central-local .clx-conditions {
  margin:0 0 17px;
  padding:18px 20px 13px;
  border:1px solid var(--clx-line);
  border-radius:13px;
  background:#eef3f3;
}
#section-central-local .clx-section-title { margin-bottom:13px; }
#section-central-local .clx-section-title h2 { margin:5px 0 0; font-size:23px; }
#section-central-local .clx-condition-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
#section-central-local .clx-condition {
  display:flex;
  gap:10px;
  min-width:0;
  padding:12px 12px 11px;
  border:1px solid #dce4e3;
  border-radius:10px;
  background:#fbfcf8;
}
#section-central-local .clx-condition-number {
  display:grid;
  flex:0 0 25px;
  width:25px;
  height:25px;
  place-items:center;
  border-radius:7px;
  background:#e9dfc6;
  color:#684f1d;
  font:800 12px 'Barlow Condensed',sans-serif;
}
#section-central-local .clx-condition strong { color:#1a3b56; font-size:11px; }
#section-central-local .clx-condition p {
  margin:4px 0 0;
  color:#5d6e7d;
  font-size:10px;
  line-height:1.5;
}
#section-central-local .clx-condition-footnote {
  margin:10px 0 0;
  color:#647687;
  font-size:10px;
  line-height:1.5;
}
#section-central-local .central-local-summary {
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:9px;
  margin-bottom:14px;
}
#section-central-local .central-local-kpi,
#section-central-local .central-local-last {
  min-width:0;
  min-height:76px;
  padding:11px 12px;
  border:1px solid #dce3e6;
  border-radius:10px;
  background:#fffdf8;
  box-shadow:none;
}
#section-central-local .central-local-kpi span,
#section-central-local .central-local-last span {
  color:#687888;
  font-size:9px;
  letter-spacing:.07em;
}
#section-central-local .central-local-kpi strong {
  margin-top:6px;
  color:#193a55;
  font:700 26px/1 'Barlow Condensed',sans-serif;
}
#section-central-local .central-local-kpi.is-conflict { border-top:3px solid #bf514a; }
#section-central-local .central-local-kpi.is-failed { border-top:3px solid #cd7138; }
#section-central-local .central-local-kpi.is-pending { border-top:3px solid #c8a045; }
#section-central-local .central-local-kpi.is-syncing { border-top:3px solid #547b91; }
#section-central-local .central-local-last { grid-column:span 1; }
#section-central-local .central-local-last strong {
  overflow-wrap:anywhere;
  margin-top:6px;
  color:#295b69;
  font-size:12px;
}
#section-central-local .central-local-last small { color:#687888; font-size:9px; }
#section-central-local .clx-data-grid {
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:13px;
}
#section-central-local .clx-card {
  min-width:0;
  overflow:hidden;
  border:1px solid #dce3e6;
  border-radius:12px;
  background:#fffdf8;
  box-shadow:0 5px 15px rgba(16,43,73,.04);
}
#section-central-local .clx-card .card-header {
  align-items:center;
  min-height:65px;
  padding:12px 15px;
  border-bottom:1px solid #e5e8e6;
  background:#faf9f3;
}
#section-central-local .clx-card .card-header > div:first-child { display:grid; gap:3px; }
#section-central-local .clx-card .card-header > div:first-child strong {
  color:#1b3b56;
  font-size:13px;
}
#section-central-local .clx-card .card-body { min-width:0; padding:13px; }
#section-central-local .clx-filters { flex-wrap:wrap; justify-content:flex-end; }
#section-central-local .central-local-filter {
  border:1px solid transparent;
  border-radius:6px;
  background:#edf0ec;
  color:#536778;
  font-size:9px;
}
#section-central-local .central-local-filter:hover { border-color:#b8c5c7; background:#e4e9e5; }
#section-central-local .central-local-filter.active {
  border-color:#244a65;
  background:#244a65;
  color:#fff9e9;
}
#section-central-local .central-local-node-list,
#section-central-local .central-local-operation-list { gap:7px; }
#section-central-local .central-local-node,
#section-central-local .central-local-operation {
  min-width:0;
  border:1px solid #e0e6e5;
  border-radius:9px;
  background:#fffefa;
}
#section-central-local .central-local-node { flex-wrap:wrap; padding:10px; }
#section-central-local .central-local-node-mark {
  flex-basis:33px;
  height:33px;
  border-radius:8px;
  background:#e8eeec;
  color:#244e63;
}
#section-central-local .central-local-node-main { flex-basis:calc(100% - 55px); }
#section-central-local .central-local-node-main strong { color:#183a54; font-size:11px; }
#section-central-local .central-local-node-main small {
  color:#6a7a87;
  font-size:9px;
  white-space:normal;
  overflow-wrap:anywhere;
}
#section-central-local .central-local-live,
#section-central-local .central-local-revoked { font-size:8px; }
#section-central-local .central-local-live { background:#e9eee8; color:#49654f; }
#section-central-local .central-local-revoked { background:#f2e9e5; color:#8a5149; }
#section-central-local .central-local-modal-copy {
  margin:0 0 9px;
  color:#697987;
  font-size:10px;
  line-height:1.5;
}
#section-central-local .central-local-node .btn,
#section-central-local .central-update-panel .btn {
  border-color:#bdc9ca;
  background:#f2f3ec;
  color:#264a62;
  font-size:10px;
}
#section-central-local .central-local-node .btn:hover,
#section-central-local .central-update-panel .btn:hover { background:#e7ebe5; }
#section-central-local .central-update-panel {
  flex:1 0 100%;
  margin:2px 0 0;
  padding:10px 11px;
  border:1px solid #dbe2df;
  border-radius:8px;
  background:#f5f6f0;
  color:#53697a;
  font-size:10px;
  line-height:1.5;
}
#section-central-local .central-update-panel > strong { color:#193c56; font-size:11px; }
#section-central-local .central-update-panel p { margin:5px 0; }
#section-central-local .central-update-state { background:#e8eee8; color:#4c6851; font-size:8px; }
#section-central-local .central-update-state.is-offline,
#section-central-local .central-update-state.is-failed { background:#f5e8e1; color:#8d4837; }
#section-central-local .central-update-state.is-progress { background:#e7edef; color:#426374; }
#section-central-local .central-update-warning { color:#80652b; }
#section-central-local .central-update-error { color:#9a443b; }
#section-central-local .central-local-operation { padding:10px; }
#section-central-local .central-local-operation-top strong { color:#183a54; font-size:11px; overflow-wrap:anywhere; }
#section-central-local .central-local-operation-top small { color:#71808a; font-size:9px; }
#section-central-local .central-local-operation p {
  overflow-wrap:anywhere;
  margin:6px 0;
  color:#627381;
  font-size:10px;
  line-height:1.5;
}
#section-central-local .central-local-operation footer { color:#75828b; font-size:9px; }
#section-central-local .central-local-status { background:#e8eee8; color:#526951; font-size:8px; }
#section-central-local .central-local-status.is-conflict { background:#f5e8e4; color:#984b43; }
#section-central-local .central-local-status.is-failed { background:#f6ece1; color:#8a5b2e; }
#section-central-local .central-local-status.is-pending { background:#f5efdc; color:#77632d; }
#section-central-local .central-local-status.is-syncing { background:#e8edef; color:#476271; }
#section-central-local .central-local-demo-tag { display:none !important; }
#section-central-local .central-local-empty {
  min-height:125px;
  padding:18px 14px;
  color:#687987;
  font-size:10px;
  line-height:1.5;
}
#section-central-local .central-local-empty strong { color:#294a61; font-size:12px; }
#section-central-local .central-local-empty .btn { display:none !important; }
#section-central-local .central-local-skeleton {
  height:47px;
  border:1px solid #e6ebe8;
  background:linear-gradient(90deg,#f1f3ed,#e8ede8,#f1f3ed);
  background-size:200% 100%;
}
@media (max-width:900px) {
  #section-central-local .central-local-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #section-central-local .central-local-last { grid-column:span 1; }
  #section-central-local .clx-condition-grid { grid-template-columns:1fr; }
  #section-central-local .clx-data-grid { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  #section-central-local .clx-masthead { align-items:flex-start; flex-direction:column; gap:16px; padding:20px; }
  #section-central-local .clx-head-actions { justify-items:start; grid-template-columns:1fr 1fr; width:100%; }
  #section-central-local .clx-update-caption { grid-column:1/-1; }
  #section-central-local .central-local-updated { grid-column:1/-1; }
  #section-central-local .clx-head-actions .btn { justify-content:center; width:100%; }
  #section-central-local .clx-intro { grid-template-columns:1fr; }
  #section-central-local .clx-intro-copy { padding:20px; }
  #section-central-local .clx-intro-aside { padding:15px 20px; border-top:1px solid #e5decd; border-left:0; }
  #section-central-local .clx-condition { padding:10px; }
  #section-central-local .central-local-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #section-central-local .central-local-last { grid-column:span 2; }
  #section-central-local .clx-card .card-header { align-items:flex-start; flex-direction:column; }
  #section-central-local .clx-filters { justify-content:flex-start; width:100%; }
  #section-central-local .central-local-filter { flex:1; }
}
@media (prefers-reduced-motion:reduce) {
  #section-central-local .central-local-skeleton { animation:none; }
}

/* Machine evidence belongs beside Balcão, never in an extra header grid row. */
#section-pdv-terminal .pdv-terminal-heading { min-width:0; }
#section-pdv-terminal .pdv-terminal-heading-meta {
  display:flex; align-items:center; gap:10px; min-width:0; white-space:nowrap;
}
#section-pdv-terminal .pdv-update-confirmation {
  display:inline-block; min-width:0; max-width: min(36vw, 420px);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  padding:0; margin:0; border:0; background:none; color:#d5e6f4;
  font-size:10px; font-weight:400; line-height:1.2; letter-spacing:0;
}
@media (max-width:640px) {
  #section-pdv-terminal .pdv-terminal-heading-meta { gap:6px; }
  #section-pdv-terminal .pdv-update-confirmation { max-width:30vw; font-size:9px; }
}

#section-pdv .totem-cancellation-queue { margin-top:16px; }
#section-pdv .totem-cancellation-queue .card-header { gap:12px; }
#section-pdv .totem-cancellation-queue .card-header small { display:block; margin-top:4px; color:var(--text-muted,#65758b); }
#section-pdv .totem-cancel-policy {
  border-left:3px solid var(--blue,#177ddc); padding:8px 10px; margin:0 0 12px;
  background:var(--surface-muted,#f3f6fa); color:var(--text-muted,#526176);
  font-size:12px; line-height:1.5;
}
#section-pdv .totem-cancel-request {
  border:1px solid var(--border,#d9e2ed); border-radius:12px; padding:14px;
  margin:0 0 12px; background:var(--card-bg,#fff); overflow-wrap:anywhere;
}
#section-pdv .totem-cancel-request:last-child { margin-bottom:0; }
#section-pdv .totem-cancel-request header { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 12px; }
#section-pdv .totem-cancel-request header span,
#section-pdv .totem-cancel-time,
#section-pdv .totem-cancel-key { color:var(--text-muted,#65758b); font-size:12px; }
#section-pdv .totem-cancel-reason { margin:10px 0; font-weight:700; }
#section-pdv .totem-cancel-facts { display:grid; gap:6px; font-size:12px; }
#section-pdv .totem-cancel-facts span { display:flex; justify-content:space-between; gap:12px; }
#section-pdv .totem-cancel-facts b { text-align:right; }
#section-pdv .totem-cancel-time,
#section-pdv .totem-cancel-key { display:block; margin-top:7px; }
#section-pdv .totem-cancel-request label { display:block; margin-top:12px; font-size:12px; font-weight:700; }
#section-pdv .totem-cancel-request textarea,
#section-pdv .totem-cancel-request input {
  display:block; width:100%; min-height:42px; margin-top:5px; padding:9px 10px;
  border:1px solid var(--border,#cbd5e1); border-radius:8px; background:var(--input-bg,#fff);
}
#section-pdv .totem-cancel-request textarea { min-height:68px; resize:vertical; }
#section-pdv .totem-cancel-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
#section-pdv .totem-cancel-actions .btn { min-height:40px; }
#section-pdv .totem-printer-card { margin-top:16px; }
#section-pdv .totem-printer-card .card-header { gap:12px; }
#section-pdv .totem-printer-card .card-header small { display:block; margin-top:4px; color:var(--text-muted,#65758b); }
#section-pdv .totem-printer-policy {
  border-left:3px solid var(--blue,#177ddc); padding:8px 10px; margin:0 0 12px;
  background:var(--surface-muted,#f3f6fa); color:var(--text-muted,#526176);
  font-size:12px; line-height:1.5;
}
#section-pdv .totem-printer-report {
  display:grid; gap:6px; border:1px solid var(--border,#d9e2ed); border-left:4px solid #c58a14;
  border-radius:10px; padding:12px; margin:0 0 10px; background:var(--card-bg,#fff);
  overflow-wrap:anywhere;
}
#section-pdv .totem-printer-report:last-child { margin-bottom:0; }
#section-pdv .totem-printer-report.is-ready { border-left-color:#16834a; }
#section-pdv .totem-printer-report.is-stale { border-left-color:#bb7b00; background:#fff9e8; }
#section-pdv .totem-printer-report.has-alert { border-left-color:#b5473b; }
#section-pdv .totem-printer-report header { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 10px; }
#section-pdv .totem-printer-report header span,
#section-pdv .totem-printer-report small { color:var(--text-muted,#65758b); font-size:12px; line-height:1.45; }
#section-pdv .totem-printer-state { font-size:13px; }
#section-pdv .totem-printer-name { font-size:12px; font-weight:700; }
