@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');
/* BRAZ DISTRIBUIDORA — design system */

:root {
  --green-dark:  #071d3d;
  --green-main:  #0b4f91;
  --green-light: #2478c8;
  --green-pale:  #e8f2ff;
  --gold:        #ffc400;
  --gold-light:  #fff5c7;
  --red:         #d71920;
  --orange:      #f05a28;
  --blue:        #0b75c9;
  --bg:          #f4f6fa;
  --white:       #fffdf8;
  --text:        #102442;
  --text-muted:  #62718a;
  --border:      #dbe3ee;
  --shadow:      0 12px 30px rgba(7,29,61,.10), 0 2px 5px rgba(7,29,61,.06);
  --radius:      14px;
  --radius-sm:   9px;
  --sidebar-w:   252px;
  --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(--green-main); color: #fff; }
.btn-primary:hover { background: var(--green-dark); }
.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: #fff; }
.btn-gold:hover { background: #b8943d; }
.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; }
@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; }
}

/* ── 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: 12px; right: 12px; 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; align-items:center; gap:10px; min-width:0; flex:1; overflow:hidden; }
.panel-history { display:flex; flex:0 0 auto; gap:4px; }
.panel-history button {
  width:32px; min-width:32px; height:32px; padding:0; border:1px solid var(--border); border-radius:9px;
  background:#fff; color:var(--text); font-size:18px; cursor:pointer;
}
.panel-history button:disabled { opacity:.35; cursor:not-allowed; }
.topbar-actions { display:flex; flex:0 0 auto; align-items:center; gap:12px; }
.page-content { padding: 24px; flex: 1; }

/* Mobile sidebar toggle */
.menu-toggle {
  display: none; background: none; border: none; font-size: 22px; cursor: pointer;
  padding: 4px; color: var(--text);
}
.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-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-list { display:grid; gap:6px; max-height:170px; overflow:auto; }
.admin-alert-row { border:1px solid #dce6ef; border-left:4px solid #9caaba; border-radius:9px; padding:9px 10px; text-align:left; background:#fff; cursor:pointer; font:inherit; font-size:12px; }
.admin-alert-row.severity-critical { border-left-color:#d71920; }
.admin-alert-row.severity-high { 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-monitor-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.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-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); }
.payment-split-row { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:end; }
.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-operational-label { display:block; margin-top:3px; color:var(--orange); font-size:11px; font-weight:700; }
.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; } }

/* 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; gap:6px; overflow:auto; margin:10px 0; padding-bottom:3px; }
.pdv-category-tabs button { 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-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; }
@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: 1200;
  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;
}
.admin-assistant-fab span:first-child { font-size: 23px; }
.admin-assistant-panel {
  position: fixed; right: 16px; bottom: 84px; z-index: 1201;
  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-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);
}

/* ── Recebimento e rastreio de validade ── */
.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-head b { display:block; color:var(--green-dark); }
.incoming-item-head small { display:block; margin-top:4px; color:var(--text-muted); }
.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:1.2fr .8fr 1fr 1fr auto; gap:7px; align-items:center; }
.incoming-lot-row .form-control { min-width:0; padding:8px 9px; font-size:12px; }
.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; }
  .menu-toggle { display: block; }
  .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: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; }

.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(4,minmax(280px,1fr)); gap:14px;
  align-items:start; overflow-x:auto; padding:3px 2px 18px; scroll-snap-type:x proximity;
}
.orders-column {
  min-width:280px; min-height:420px; padding:10px; border:1px solid #d8e1e8;
  border-radius:18px; background:#edf3f7; scroll-snap-align:start; transition:box-shadow .2s ease, transform .2s ease;
}
.orders-column.is-highlighted { box-shadow:0 0 0 4px rgba(22,119,200,.25); transform:translateY(-2px); }
.orders-column-header {
  position:sticky; top:0; z-index:2; display:flex; align-items:center; gap:10px; margin:-10px -10px 10px;
  padding:14px; border-radius:17px 17px 11px 11px; background:linear-gradient(145deg,#1677c8,#092b57); color:#fff;
}
.orders-column-header h3 { margin:0; font-size:17px; color:#fff; }
.orders-column-header small { color:rgba(255,255,255,.72); }
.orders-column-list { display:grid; gap:10px; }
.orders-column-empty { padding:42px 15px; border:1px dashed #b8c8d4; border-radius:12px; color:var(--text-muted); text-align:center; font-size:12px; }
.panorama-order-card { margin:0; cursor:pointer; border:1px solid rgba(9,43,87,.1); box-shadow:0 5px 14px rgba(9,43,87,.09); transition:transform .15s ease,box-shadow .15s ease; }
.panorama-order-card:hover { transform:translateY(-2px); box-shadow:0 9px 20px rgba(9,43,87,.14); }
.panorama-order-card:focus-visible { outline:3px solid var(--blue); outline-offset:2px; }
.panorama-order-card .order-card-header { align-items:flex-start; gap:7px; padding:12px; }
.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:9px 12px; }
.panorama-order-card .order-item-row { font-size:12px; }
.panorama-order-card .order-total { padding:10px 12px; font-size:14px; }
.panorama-order-actions { display:flex; gap:6px; flex-wrap:wrap; padding:9px 12px; }
.panorama-order-actions .btn { padding:6px 8px; font-size:10px; }
@media (max-width:1180px) { .orders-panorama { grid-template-columns:repeat(4,minmax(270px,310px)); } }
@media (max-width:720px) { .orders-panorama { grid-template-columns:repeat(4,minmax(82vw,1fr)); }.orders-column { min-width:82vw; }.orders-toolbar { align-items:flex-start; } }

.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; }
.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; }

/* ═══════════════════════════════════════════════════════════════════════
   BRAZ DISTRIBUIDORA / 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: 268px;
  --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, rgba(255,255,255,.04), transparent 18%),
    linear-gradient(165deg, #0b3972 0%, #092b57 57%, #061d3b 100%);
  box-shadow: 12px 0 34px rgba(9,43,87,.13);
}
.sidebar-logo { padding: 21px 20px; min-height: 82px; }
.sidebar-logo .brand-mark { box-shadow: 0 8px 0 rgba(215,25,32,.75), 0 12px 22px rgba(0,0,0,.23); }
.sidebar-logo-text .brand { font-size: 18px; letter-spacing: .04em; }
.sidebar-nav { padding: 17px 10px; }
.nav-section { padding: 12px 13px 7px; color: rgba(255,255,255,.42); font-size: 10px; }
.nav-item {
  min-height: 47px;
  margin: 3px 0;
  padding: 12px 14px;
  border-left: 0;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  transition: transform .18s ease, background-color .18s ease, color .18s ease;
}
.nav-item:hover { transform: translateX(3px); background: rgba(255,255,255,.10); }
.nav-item.active {
  background: linear-gradient(90deg, rgba(242,183,5,.22), rgba(255,255,255,.12));
  border-left: 3px solid var(--gold);
  padding-left: 11px;
  box-shadow: inset 0 0 18px rgba(255,255,255,.04);
}
.nav-item .icon { width: 24px; font-size: 17px; }
.sidebar-footer { padding: 18px; background: rgba(0,0,0,.10); }
.sidebar-user .avatar { box-shadow: 0 0 0 3px rgba(255,255,255,.12); }
.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; background: #f5f8fb; }
.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: cover; 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::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: cover;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35);
}
.login-logo .login-brand-mark {
  width: 200px;
  height: 200px;
  margin: 0 auto 34px;
  border-radius: 50px;
  animation: brandFloat 4s ease-in-out infinite;
}
.sidebar-logo {
  gap: 18px;
  min-height: 126px;
  padding: 18px 15px 22px;
  align-items: center;
}
.sidebar-logo .sidebar-brand-mark {
  flex: 0 0 auto;
  width: 92px;
  height: 92px;
  margin: -3px 0 8px;
  border-radius: 25px;
  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: 194px;
  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: 156px;
  height: 156px;
  margin: -8px 0 4px;
  border-radius: 40px;
}
.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: 112px; height: 112px; border-radius: 30px; }
}

/* 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: 168px; height: 168px; border-radius: 44px; }
  .store-hero { padding: 20px; }
  .store-hero-brand { align-items: flex-start; }
  .dashboard-brand-mark { width: 96px; height: 96px; border-width: 3px; border-radius: 26px; }
  .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:25px 0 11px; }.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(250px,1fr)); }.pdv-operator-card { border-top-width:5px; }.pdv-operator-card h3 { font-size:17px; }
.pdv-live-tile.selected { border-color:#00a9c7; box-shadow:0 0 0 3px rgba(0,169,199,.2),0 14px 28px rgba(9,43,87,.18); transform:translateY(-2px); }
.pdv-live-screen-heading { display:flex; align-items:end; justify-content:space-between; gap:14px; }
.pdv-live-screen-heading > div { display:flex; flex-direction:column; gap:3px; }
.pdv-live-screen-heading select { width:min(310px,45%); min-height:38px; font-weight:700; color:var(--pdv-ink); }
@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; }.pdv-live-screen-heading { align-items:stretch; flex-direction:column; }.pdv-live-screen-heading select { width:100%; } }

/* 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(330px, .95fr) minmax(450px, 1.35fr) minmax(330px, .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; }
.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-receipt-preview {
  margin: 0 0 14px;
  padding: 10px;
  background: #d8e3e7;
  border: 1px solid #bfd0d7;
  border-radius: 12px;
}
.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:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:16px; line-height:1.1; }
.receipt-line-name small { display:block; margin-top:3px; color:#728087; font-size:12px; }
.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; }
.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:17px; 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; }
.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: minmax(290px, .9fr) minmax(390px, 1.2fr) minmax(290px, .82fr); }
  .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-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; }
.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-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; }
.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-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(4,minmax(225px,1fr)); gap:10px; padding:10px; overflow-x:auto; align-items:start; background:#e7edf0; }
.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 > 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; }
.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(4,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:#7d8c9b; font-size:11px; }
.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,1fr); gap:9px; margin:-3px 0 16px; }
.dashboard-trend-insights article { padding:12px 14px; border:1px solid #dfe8f0; border-radius:12px; background:#f8fbfd; }
.dashboard-trend-insights span,.dashboard-trend-insights small { display:block; color:#7c8c9b; font-size:10px; }
.dashboard-trend-insights span { font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.dashboard-trend-insights strong { display:block; margin:5px 0 2px; color:#092e5a; font-size:18px; }
.dashboard-trend-insights .is-positive strong { color:#168150; }.dashboard-trend-insights .is-negative strong { color:#b52d36; }
.dashboard-trend { position:relative; min-height:286px; padding:34px 0 18px; border:1px solid #e1e9f0; border-radius:14px; background:linear-gradient(180deg,#fbfdff,#f6f9fc); }
.trend-canvas { margin-left:72px; padding-right:15px; background:repeating-linear-gradient(to bottom, transparent 0, transparent 62px, #dfe7ee 63px); }
.dashboard-trend svg { display:block; width:100%; height:245px; overflow:visible; }
.trend-dot { fill:#092e5a; stroke:#fff; stroke-width:1.2; vector-effect:non-scaling-stroke; cursor:help; }
.trend-month-labels { display:grid; grid-template-columns:repeat(12,1fr); margin-top:-9px; color:#73859a; font-size:9px; font-weight:800; text-align:center; text-transform:uppercase; }
.trend-line { fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.trend-total { stroke:#092e5a; stroke-width:5; }.trend-pdv { stroke:#2486c5; }.trend-delivery { stroke:#c43a43; }
.trend-area { fill:rgba(22,105,169,.13); 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:10px; display:flex; gap:14px; color:#51667a; font-size:11px; font-weight:800; }
.trend-legend i { display:inline-block; width:24px; height:5px; margin:0 5px 2px 0; border-radius:4px; background:#092e5a; }.trend-legend .legend-pdv{background:#2486c5}.trend-legend .legend-delivery{background:#c43a43}
.trend-scale { position:absolute; left:13px; top:51px; bottom:35px; display:flex; flex-direction:column; justify-content:space-between; color:#687c90; font-size:9px; 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:#b2bdc8; font-size:13px; }.rank-main { min-width:0; }.rank-main strong { display:block; overflow:hidden; color:#1b3955; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }.rank-main span { display:block; margin-top:2px; color:#83919e; font-size:10px; }.dashboard-rank > strong { color:#092e5a; font-size:13px; }.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:auto; }.product-head,.product-row { display:grid; grid-template-columns:34px minmax(180px,1.7fr) .72fr .62fr .85fr 1fr 1fr; gap:14px; align-items:center; min-width:880px; padding:11px 8px; }.product-head { color:#8291a0; border-bottom:1px solid #e2e9f0; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }.product-row { border-bottom:1px solid #edf1f4; color:#6e7f90; font-size:12px; }.product-row > b { color:#b12a31; }.product-row strong { color:#1b3955; }.product-row em { display:block; color:#1b3955; font-size:11px; font-style:normal; }.product-row .rank-bar { margin-top:5px; }.product-row .rank-bar small { display:block; height:100%; border-radius:inherit; background:#b32d35; transition:width .45s ease; }
.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;
}
.delivery-mode-tabs button {
  min-height: 48px;
  padding: 11px 22px;
  font-size: 15px;
}
.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-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; }
}

/* 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 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-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}}
.central-local-demo-note{display:flex;align-items:center;gap:9px;margin-bottom:10px;padding:9px 11px;border:1px solid #ead28f;border-radius:9px;background:#fff9e7;color:#725817;font-size:10px}.central-local-demo-note b{flex:0 0 auto;font-size:9px;letter-spacing:.08em}.central-local-demo-list .is-demo{border-style:dashed;background:#f9fbfc}.central-local-demo-badge{padding:3px 7px;border-radius:99px;background:#e8edf2;color:#52657a;font-size:9px;font-weight:900;text-transform:uppercase}.central-local-demo-action{display:flex;align-items:center;gap:10px;margin-top:11px}.central-local-demo-action small{color:#62718a;font-size:10px}

/* Delivery monitor: dense two-pane workstation layout. The queue may scroll
   internally, but the detail pane always owns a real grid track. */
.delivery-monitor .delivery-queue-layout {
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.delivery-monitor .delivery-queue-panel,
.delivery-monitor .delivery-detail-panel { min-width: 0; width: 100%; }
.delivery-monitor .delivery-detail-panel {
  position: relative;
  top: auto;
  max-height: none;
  overflow: visible;
  border: 1px solid #c9d8e0;
  box-shadow: 0 12px 28px rgba(7,29,61,.10);
}
.delivery-monitor .delivery-operation-board { min-width: 0; grid-template-columns: repeat(4, minmax(150px, 1fr)); }
.delivery-add-product {
  margin-top: 12px;
  padding: 11px;
  border: 1px solid #c6dfe0;
  border-radius: 11px;
  background: #f1faf8;
}
.delivery-add-product-head { display:flex; justify-content:space-between; gap:8px; align-items:baseline; color:#075e59; font-size:12px; }
.delivery-add-product-head small { color:#5c7b80; font-size:10px; }
.delivery-add-line { grid-template-columns: minmax(110px, .9fr) minmax(130px, 1.15fr) auto; margin-top:8px; }
.delivery-add-line .form-control { min-width:0; padding:8px 9px; font-size:11px; }
.delivery-add-line .btn { min-height:36px; }
.delivery-add-product-hint, .delivery-catalog-empty { display:block; margin-top:7px; color:#62718a; font-size:10px; }
.delivery-catalog-empty { padding:11px; border:1px dashed #c5d5dc; border-radius:10px; background:#f7fafb; }
@media (max-width:1100px) {
  .delivery-monitor .delivery-queue-layout { grid-template-columns: minmax(0, 1fr); gap:10px; }
  .delivery-monitor .delivery-operation-board { grid-template-columns: repeat(4, minmax(135px, 1fr)); }
  .delivery-monitor .delivery-order-row { grid-template-columns: 8px 50px minmax(110px,1.3fr) 86px 90px 82px 14px; gap:7px; padding-inline:10px; }
}
@media (max-width:900px) {
  .delivery-monitor .delivery-queue-layout { grid-template-columns: 1fr; }
  .delivery-monitor .delivery-detail-panel { position: relative; top:auto; max-height:none; }
  .delivery-monitor .delivery-operation-board { grid-template-columns: repeat(4, 210px); }
}
@media (max-width:640px) {
  .delivery-add-line { grid-template-columns: 1fr; }
  .delivery-add-line .btn { width:100%; justify-content:center; }
}
