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

:root {
  --green-dark:  #08452f;
  --green-main:  #0b8a5a;
  --green-light: #2bb979;
  --green-pale:  #e4f5ec;
  --gold:        #ffc400;
  --gold-light:  #fff5c7;
  --red:         #15915e;
  --orange:      #4b9d68;
  --blue:        #197d61;
  --bg:          #f3f8f5;
  --white:       #fffdf8;
  --text:        #173a2d;
  --text-muted:  #647a6e;
  --border:      #d8e8de;
  --shadow:      0 12px 30px rgba(8,69,47,.10), 0 2px 5px rgba(8,69,47,.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, #0b6b49 0%, #08452f 72%, #052c1f 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; }
.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 { font-size: 18px; font-weight: 700; }
.panel-history { display:flex; gap:4px; }
.panel-history button {
  width:32px; height:32px; 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; 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-test-data-card { margin-bottom: 22px; border: 1px solid #ead69a; }
.dashboard-test-data-card p { color: var(--text-muted); font-size: 13px; margin-bottom: 12px; }
.dashboard-test-data-actions { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.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-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-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; }
  .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; }

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

/* ═══════════════════════════════════════════════════════════════════════
   LM FRIOS / NOVA CAMADA VISUAL
   Direção: operação premium de alto contraste — verde institucional,
   amarelo de comando e verde de destaque. Superfícies elevadas, tipografia
   larga e controles pensados primeiro para o polegar.
   ═══════════════════════════════════════════════════════════════════════ */
:root {
  --green-dark: #08452f;
  --green-main: #0b8a5a;
  --green-light: #2bb979;
  --green-pale: #e4f5ec;
  --gold: #f2b705;
  --gold-light: #fff4ce;
  --red: #15915e;
  --orange: #4b9d68;
  --blue: #197d61;
  --bg: #eef7f2;
  --white: #fffefa;
  --text: #173a2d;
  --text-muted: #687c71;
  --border: #d5e6dc;
  --shadow: 0 16px 36px rgba(8, 69, 47, .10), 0 3px 8px rgba(8, 69, 47, .06);
  --shadow-hover: 0 22px 42px rgba(8, 69, 47, .16), 0 5px 12px rgba(8, 69, 47, .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(43, 185, 121, .08), 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, #0b6b49 0%, #08452f 57%, #052c1f 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, #08452f, #0b8a5a);
  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, #2bb979, #08452f);
  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, #052c1f, #08452f 58%, #0b8a5a);
}
.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: 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: 138px;
  height: 138px;
  margin: 0 auto 28px;
  border-radius: 38px;
  animation: brandFloat 4s ease-in-out infinite;
}
.sidebar-logo { gap: 17px; }
.sidebar-logo .sidebar-brand-mark {
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  margin: -3px 0 7px;
  border-radius: 19px;
  box-shadow:
    0 4px 0 #f1b600,
    0 8px 0 #b51620,
    0 12px 0 #052d59,
    0 18px 24px rgba(0,0,0,.4);
}
.sidebar-logo .sidebar-brand-mark .brand-logo {
  width: 100%;
  height: 100%;
  border-radius: inherit;
}
.store-hero {
  min-height: 154px;
  padding: 24px 28px;
  background:
    radial-gradient(circle at 12% 20%, rgba(255,224,34,.24), transparent 24%),
    linear-gradient(135deg, #052c1f, #0b8a5a 64%, #2bb979);
  overflow: visible;
}
.store-hero-brand { display: flex; align-items: center; gap: 30px; }
.dashboard-brand-mark {
  flex: 0 0 auto;
  width: 112px;
  height: 112px;
  margin: -8px 0 4px;
  border-radius: 31px;
}
.store-hero-kicker {
  display: block;
  margin-bottom: 7px;
  color: #ffe022;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
}
@keyframes brandFloat {
  0%, 100% { transform: perspective(700px) rotateX(4deg) rotateY(-4deg) translateY(0); }
  50% { transform: perspective(700px) rotateX(2deg) rotateY(3deg) translateY(-5px); }
}
@media (max-width: 760px) {
  .store-hero { align-items: flex-start; }
  .store-hero-brand { gap: 18px; }
  .dashboard-brand-mark { width: 82px; height: 82px; border-radius: 24px; }
}
@media (max-width: 520px) {
  .login-logo .login-brand-mark { width: 118px; height: 118px; border-radius: 32px; }
  .store-hero { padding: 20px; }
  .store-hero-brand { align-items: flex-start; }
  .dashboard-brand-mark { width: 68px; height: 68px; border-width: 3px; border-radius: 20px; }
  .store-hero h2 { font-size: 20px; }
  .store-hero .hero-chip { display: none; }
}
.stat-card { border-top: 4px solid var(--green-main); position: relative; }
.stat-card.gold { border-top-color: var(--gold); }
.stat-card.red { border-top-color: var(--red); }
.stat-card.blue { border-top-color: var(--blue); }
.stat-card .stat-icon { color: var(--red); }
.btn-primary { background: linear-gradient(145deg, #2bb979, #0b8a5a); box-shadow: 0 5px 0 #07633f, 0 8px 15px rgba(11,138,90,.18); }
.btn-primary:hover { background: linear-gradient(145deg, #39c989, #08784e); 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,#08452f 0%,#0b8a5a 62%,#2bb979 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; }
@media (max-width:820px) { .pdv-admin-layout { grid-template-columns:1fr; }.pdv-feature-strip { grid-template-columns:1fr; }.pdv-feature-strip > div { min-height:54px; }.pdv-admin-side { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.pdv-ops-note { margin-top:0; } }
@media (max-width:560px) { .pdv-command-header { padding:20px; align-items:flex-start; flex-direction:column; }.pdv-command-header h2 { font-size:27px; }.pdv-live-status { align-self:stretch; }.pdv-summary { grid-template-columns:1fr; }.pdv-kpi { min-height:94px; }.pdv-kpi strong { font-size:39px; }.pdv-screen-body { grid-template-columns:1fr; }.screen-products { border-right:0; border-bottom:1px solid #ded7bd; }.screen-payment { min-height:230px; }.screen-empty { height:120px; }.pdv-screen-top { gap:8px; }.screen-title { display:none; }.pdv-screen-foot { flex-wrap:wrap; }.pdv-screen-foot b { margin-right:0; }.pdv-admin-side { grid-template-columns:1fr; }.pdv-operators-heading { align-items:flex-start; flex-direction:column; gap:6px; } }

/* Checkout floor mode: dense, high-contrast and readable at arm's length. */
.pdv-terminal-shell {
  --checkout-navy: #102b47;
  --checkout-blue: #0b638f;
  --checkout-teal: #087f77;
  --checkout-yellow: #ffd531;
  background: #e8f0f3;
}
.pdv-terminal-header {
  min-height: 84px;
  padding: 14px 28px;
  background: var(--checkout-navy);
  border-bottom: 5px solid var(--checkout-yellow);
}
.pdv-terminal-header > div:first-child { font-size: 29px; }
.pdv-terminal-header > strong { font-size: 24px; letter-spacing: .12em; }
.pdv-terminal-grid { grid-template-columns: minmax(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-customer-row { width:100%; display:grid; grid-template-columns:minmax(190px,1.3fr) 130px 130px minmax(180px,1.5fr); gap:14px; align-items:center; text-align:left; border:1px solid var(--border); border-radius:12px; background:#fff; padding:13px 14px; color:var(--text); cursor:pointer; }
.delivery-customer-row:hover { border-color:var(--blue); background:#f7fbff; }
.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-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 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 { position:relative; min-height:245px; padding:28px 0 20px; background:repeating-linear-gradient(to bottom, transparent 0, transparent 48px, #edf1f5 49px); }
.dashboard-trend svg { display:block; width:100%; height:205px; overflow:visible; }
.trend-dot { fill:#092e5a; stroke:#fff; stroke-width:.55; vector-effect:non-scaling-stroke; }
.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:1.5; vector-effect:non-scaling-stroke; }
.trend-total { stroke:#092e5a; stroke-width:2.5; }.trend-pdv { stroke:#2486c5; }.trend-delivery { stroke:#c43a43; }
.trend-area { fill:rgba(9,46,90,.07); stroke:none; }
.trend-zero { stroke:#9eacb9; stroke-width:.7; stroke-dasharray:2 2; vector-effect:non-scaling-stroke; }
.trend-legend { position:absolute; right:0; top:4px; display:flex; gap:12px; color:#718294; font-size:10px; font-weight:800; }
.trend-legend i { display:inline-block; width:18px; height:3px; margin:0 4px 3px 0; border-radius:2px; background:#092e5a; }.trend-legend .legend-pdv{background:#2486c5}.trend-legend .legend-delivery{background:#c43a43}
.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-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} }
@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}.trend-legend{position:static;margin-bottom:6px}.dashboard-trend{padding-top:0}.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-customers-panel { display:grid; gap:16px; }
.delivery-customers-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.delivery-customers-head h2 { margin:3px 0; color:var(--green-dark); }
.delivery-customers-head p { color:var(--text-muted); font-size:12px; }
.delivery-customer-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.delivery-customer-summary-card { padding:14px; border-radius:12px; background:#fff; border:1px solid var(--border); box-shadow:0 5px 15px rgba(8,69,47,.06); }
.delivery-customer-summary-card b { display:block; color:var(--green-dark); font-size:20px; }
.delivery-customer-summary-card span { color:var(--text-muted); font-size:11px; }
.delivery-customer-filters { padding:14px; }
.delivery-customer-filter-row { display:grid; grid-template-columns:2fr 1.4fr repeat(2,1fr) 1.25fr 1.25fr; gap:8px; align-items:end; }
.delivery-date-filter { display:grid; gap:4px; color:var(--text-muted); font-size:10px; font-weight:700; }
.delivery-customers-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.9fr); gap:14px; align-items:start; }
.delivery-customers-list-card .card-body { padding:12px; }
.delivery-customer-detail-panel { min-height:420px; padding:16px; position:sticky; top:76px; }
.delivery-consent-callout { display:grid; gap:2px; padding:11px 12px; border-radius:10px; background:#fff4e8; border:1px solid #f0d1a5; color:#805315; font-size:12px; }
.delivery-consent-callout.is-consented { background:#e8f7f0; border-color:#b9dec9; color:#176440; }
.track-navigation,.customer-header-navigation { display:flex; justify-content:center; align-items:center; gap:8px; margin-top:8px; }
.track-navigation a,.track-navigation button,.customer-header-navigation a,.customer-header-navigation button { color:inherit; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); border-radius:8px; padding:6px 10px; font:inherit; font-size:12px; font-weight:700; text-decoration:none; cursor:pointer; }
@media (max-width:980px) {
  .delivery-customer-filter-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .delivery-customers-layout { grid-template-columns:1fr; }
  .delivery-customer-detail-panel { position:relative; top:auto; }
}
@media (max-width:640px) {
  .delivery-customers-head { flex-direction:column; }
  .delivery-customer-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .delivery-customer-filter-row { grid-template-columns:1fr; }
  .dashboard-test-data-actions .btn { width:100%; justify-content:center; }
}
.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} }

/* ── 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; }
}
