*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --sidebar-w:230px;
  --amber:#1b3a8f;--amber-d:#142a6b;--amber-l:#e6ebf7;/* cor da MARCA = azul del rey + branco (era ambar). Nome mantido p/ nao quebrar refs. */
  --green:#10b981;--red:#ef4444;--blue:#3b82f6;
  --bg-dark:#0d1117;--bg-sidebar:#111827;
  --bg-card:#1f2937;--bg-light:#f1f5f9;
  --text-p:#e2e8f0;--text-s:#94a3b8;--text-m:#64748b;
  --border-d:#1e293b;--border-l:#e2e8f0;
}
body{font-family:'Exo 2',system-ui,sans-serif;background:var(--bg-light);color:#1e293b;min-height:100vh;font-size:14px}

/* ---- LOGIN ---- */
.login-screen{min-height:100vh;background:linear-gradient(135deg,#0d1117 55%,#1a2535);display:flex;align-items:center;justify-content:center}
.login-box{background:#111827;border:1px solid #1e293b;border-radius:14px;padding:44px;width:400px;max-width:92vw}
.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:36px}
.login-logo-icon{width:44px;height:44px;background:var(--amber);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.login-logo h1{font-size:22px;font-weight:700;color:#e2e8f0;line-height:1.1}
.login-logo p{font-size:11px;color:#64748b;letter-spacing:.4px}
/* === LOGIN PREMIUM === */
.login-premium{position:fixed;inset:0;background:linear-gradient(135deg,#1d4f9c 0%,#2d6dc0 50%,#3aa8e0 100%);display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}
.login-premium::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,0.08) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(244,196,48,0.12) 0%,transparent 50%);pointer-events:none}
.login-card{position:relative;background:rgba(15,30,55,0.55);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.12);border-radius:20px;padding:42px 38px;width:100%;max-width:420px;box-shadow:0 20px 60px rgba(0,0,0,0.4),0 0 0 1px rgba(244,196,48,0.15)}
.login-logo-area{text-align:center;margin-bottom:32px}
.login-brand-img{max-width:240px;width:100%;height:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,0.3))}
.login-divider{height:2px;width:60px;background:linear-gradient(90deg,transparent,#f4c430,transparent);margin:18px auto 12px}
.login-tagline{font-size:11px;color:#f4c430;letter-spacing:4px;font-weight:600;text-transform:uppercase}
.login-form{margin-top:8px}
.form-group-dark label{color:#cbd5e1;font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:600;margin-bottom:8px;display:block}
.form-group-dark input{width:100%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);color:#fff;padding:13px 16px;border-radius:10px;font-size:14px;transition:all 0.2s;outline:none}
.form-group-dark input::placeholder{color:#94a3b8}
.form-group-dark input:focus{background:rgba(255,255,255,0.13);border-color:#f4c430;box-shadow:0 0 0 3px rgba(244,196,48,0.18)}
.form-group-dark{margin-bottom:18px}
.btn-login{width:100%;background:linear-gradient(135deg,#f4c430 0%,#e6b520 100%);color:#1d4f9c;font-weight:800;letter-spacing:2px;padding:14px;border:none;border-radius:10px;font-size:14px;cursor:pointer;margin-top:10px;transition:all 0.2s;box-shadow:0 4px 16px rgba(244,196,48,0.3)}
.btn-login:hover{transform:translateY(-1px);box-shadow:0 6px 22px rgba(244,196,48,0.45)}
.btn-login:active{transform:translateY(0)}
.login-footer{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:11px;color:rgba(255,255,255,0.5);letter-spacing:1px}

/* ---- FORMS DARK (login) ---- */
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}
.form-group input,.form-group select,.form-group textarea{width:100%;background:#0d1117;border:1px solid #1e293b;border-radius:7px;color:#e2e8f0;padding:10px 13px;font-size:14px;font-family:inherit;transition:border-color .15s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px rgba(27,58,143,.12)}
.form-group select option{background:#111827}
.form-group textarea{resize:vertical;min-height:72px}

/* ---- BUTTONS ---- */
.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:7px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;border:none;transition:all .15s}
.btn-primary{background:var(--amber);color:#fff}
.btn-primary:hover{background:var(--amber-d)}
.btn-primary:disabled{opacity:.5;cursor:not-allowed}
.btn-secondary{background:transparent;color:#94a3b8;border:1px solid #1e293b}
.btn-secondary:hover{background:#1f2937;color:#e2e8f0}
.btn-danger{background:transparent;color:#ef4444;border:1px solid #ef4444}
.btn-danger:hover{background:#ef4444;color:#fff}
.btn-sm{padding:6px 13px;font-size:12px}
.btn-full{width:100%;justify-content:center}
.error-msg{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:10px 13px;border-radius:7px;font-size:13px;margin-bottom:16px}
.demo-hint{color:#475569;font-size:11px;text-align:center;margin-top:20px;line-height:1.7}

/* ---- LAYOUT ---- */
.app-layout{display:flex;min-height:100vh}

/* ---- SIDEBAR ---- */
.sidebar{width:var(--sidebar-w);background:var(--bg-sidebar);border-right:1px solid var(--border-d);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100}
.sidebar-logo{padding:18px 16px;border-bottom:1px solid var(--border-d);display:flex;align-items:center;gap:10px}
.sidebar-logo-icon{width:36px;height:36px;background:var(--amber);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.sidebar-logo h2{font-size:15px;font-weight:700;color:#e2e8f0;line-height:1.2}
.sidebar-logo p{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.5px}
.sidebar-nav{flex:1;padding:10px 8px;overflow-y:auto}
.nav-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:#374151;padding:10px 8px 4px}
.nav-item{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:7px;cursor:pointer;color:#94a3b8;font-size:13px;font-weight:500;transition:all .12s;border:none;background:none;width:100%;text-align:left;font-family:inherit;position:relative;margin-bottom:2px}
.nav-item:hover{background:rgba(255,255,255,.04);color:#e2e8f0}
.nav-item.active{background:var(--amber);color:#fff}
.nav-item.active:hover{background:var(--amber-d);color:#fff}
.nav-item.active::before{display:none}
.nav-icon{font-size:16px;width:20px;text-align:center}
.nav-badge{margin-left:auto;background:#ef4444;color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;min-width:18px;text-align:center}
.sidebar-user{padding:12px 14px;border-top:1px solid var(--border-d);display:flex;align-items:center;gap:10px}
.user-avatar{width:32px;height:32px;background:rgba(27,58,143,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--amber);flex-shrink:0}
.user-info{flex:1;min-width:0}
.user-info .name{font-size:12px;font-weight:600;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-info .role{font-size:10px;color:#64748b}
.logout-btn{background:none;border:none;cursor:pointer;color:#64748b;font-size:18px;padding:4px;border-radius:5px;transition:color .15s;display:flex;align-items:center}
.logout-btn:hover{color:#ef4444}

/* ---- MAIN CONTENT ---- */
.main-content{margin-left:var(--sidebar-w);flex:1;background:var(--bg-light);min-height:100vh}
.page-header{background:#fff;border-bottom:1px solid var(--border-l);padding:15px 24px;display:flex;align-items:center;justify-content:space-between}
.page-header h1{font-size:18px;font-weight:700;color:#0f172a}
.page-header p{font-size:12px;color:#64748b;margin-top:2px}
.page-body{padding:22px 24px}

/* ---- CARDS ---- */
.card{background:#fff;border:1px solid var(--border-l);border-radius:11px;overflow:hidden}
.card-header{padding:13px 16px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;justify-content:space-between}
.card-header h3{font-size:14px;font-weight:700;color:#0f172a}
.card-body{padding:16px}

/* ---- METRIC CARDS ---- */
.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin-bottom:20px}
.metric-card{background:#fff;border:1px solid var(--border-l);border-radius:11px;padding:16px}
.metric-icon{width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:16px;margin-bottom:12px}
.metric-icon.amber{background:#fef3c7}
.metric-icon.green{background:#d1fae5}
.metric-icon.blue{background:#dbeafe}
.metric-icon.red{background:#fee2e2}
.metric-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:6px}
.metric-value{font-size:24px;font-weight:700;color:#0f172a;line-height:1}
.metric-sub{font-size:12px;color:#94a3b8;margin-top:5px}

/* ---- TABLE ---- */
.table-wrapper{overflow-x:auto}
table{width:100%;border-collapse:collapse}
thead th{background:#f8fafc;padding:10px 13px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#64748b;text-align:left;border-bottom:1px solid var(--border-l);white-space:nowrap}
tbody td{padding:10px 13px;font-size:13px;color:#1e293b;border-bottom:1px solid #f1f5f9}
tbody tr:hover{background:#fafafa}
tbody tr:last-child td{border-bottom:none}

/* ---- BADGES ---- */
.badge{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:20px;font-size:11px;font-weight:600}
.badge-green{background:#d1fae5;color:#065f46}
.badge-red{background:#fee2e2;color:#991b1b}
.badge-amber{background:#fef3c7;color:#92400e}
.badge-blue{background:#dbeafe;color:#1e40af}
.badge-gray{background:#f1f5f9;color:#475569}
.badge-own{background:#d1fae5;color:#065f46}
.badge-station{background:#dbeafe;color:#1e40af}

/* ---- ALERTS ---- */
.alert{padding:11px 14px;border-radius:8px;font-size:13px;margin-bottom:10px;display:flex;align-items:flex-start;gap:10px}
.alert-amber{background:#fffbeb;border:1px solid #fcd34d;color:#78350f}
.alert-red{background:#fef2f2;border:1px solid #fca5a5;color:#7f1d1d}
.alert-green{background:#f0fdf4;border:1px solid #86efac;color:#14532d}

/* ---- VEHICLE GRID ---- */
.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:16px}
.vehicle-card{background:#fff;border:1px solid var(--border-l);border-radius:11px;padding:16px;transition:border-color .15s,box-shadow .15s}
.vehicle-card:hover{border-color:var(--amber);box-shadow:0 3px 12px rgba(27,58,143,.12)}
.vehicle-icon{width:42px;height:42px;background:var(--amber-l);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:22px}
.vehicle-name{font-size:14px;font-weight:700;color:#0f172a}
.vehicle-plate{font-size:11px;color:#64748b;margin-top:2px}
.vehicle-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #f1f5f9}
.vehicle-stat{background:#f8fafc;border-radius:6px;padding:8px 10px}
.vs-label{font-size:10px;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;font-weight:600}
.vs-value{font-size:13px;font-weight:700;color:#0f172a;margin-top:2px}

/* ---- FILTERS ---- */
.filters-bar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:center}
.filter-select,.filter-input{padding:8px 12px;border:1px solid var(--border-l);border-radius:7px;font-size:13px;font-family:inherit;background:#fff;color:#0f172a}
.filter-select:focus,.filter-input:focus{outline:none;border-color:var(--amber)}

/* ---- MODAL ---- */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}
.modal{background:#fff;border-radius:13px;width:100%;max-width:580px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal-header{padding:16px 20px;border-bottom:1px solid var(--border-l);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;z-index:1}
.modal-header h3{font-size:16px;font-weight:700;color:#0f172a}
.modal-body{padding:20px}
.modal-footer{padding:14px 20px;border-top:1px solid var(--border-l);display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:0;background:#fff}
.close-btn{background:none;border:none;cursor:pointer;color:#94a3b8;font-size:18px;display:flex;align-items:center;padding:2px;border-radius:5px;transition:color .15s}
.close-btn:hover{color:#0f172a}

/* ---- MODAL LIGHT FORMS ---- */
.modal .form-group label{color:#64748b}
.modal .form-group input,.modal .form-group select,.modal .form-group textarea{background:#fff;border:1px solid #e2e8f0;color:#0f172a}
.modal .form-group input:focus,.modal .form-group select:focus,.modal .form-group textarea:focus{border-color:var(--amber)}
.modal .form-group select option{background:#fff;color:#0f172a}

/* ---- UTILITIES ---- */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.mb-4{margin-bottom:16px}
.mb-5{margin-bottom:20px}
.flex{display:flex}
.items-center{align-items:center}
.justify-between{justify-content:space-between}
.gap-2{gap:8px}
.gap-3{gap:12px}
.actions-col{display:flex;gap:6px;justify-content:flex-end}
.icon-btn{width:28px;height:28px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;color:#64748b;transition:all .12s}
.icon-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}
.empty-state{text-align:center;padding:48px 20px;color:#94a3b8}
.empty-state-icon{font-size:40px;margin-bottom:12px}
.empty-state p{font-size:13px}
.progress-bar{height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden;margin-top:6px}
.progress-fill{height:100%;border-radius:3px;transition:width .4s}
.pf-green{background:#10b981}.pf-amber{background:#f59e0b}.pf-red{background:#ef4444}
.info-box{background:#fffbeb;border:1px solid #fcd34d;border-radius:7px;padding:10px 13px;font-size:13px;color:#78350f;margin-bottom:12px}
.info-box-blue{background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px;padding:10px 13px;font-size:12px;color:#1e40af;margin-top:8px}

::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}

@media(max-width:900px){
  :root{--sidebar-w:60px}
  .sidebar-logo h2,.sidebar-logo p,.nav-item span:not(.nav-icon),.user-info,.nav-badge,.nav-label{display:none}
  .nav-item{justify-content:center;padding:10px}
  .sidebar-user{justify-content:center}
  .grid-2,.grid-3{grid-template-columns:1fr}
}
/* ===== Module picker ===== */
.picker-screen{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b);padding:26px 24px}
.picker-top{display:flex;justify-content:space-between;align-items:center;max-width:840px;margin:0 auto 26px;color:#fff}
.picker-top .login-logo-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--amber);border-radius:13px;font-size:28px}
/* logo "DI" em BRANCO sobre os fundos escuros (topo dos sistemas + sidebars do núcleo) — marca azul del rey + branco [[identidade-marca]] */
.picker-top img[alt="DI"], .sidebar-logo img[alt="DI"]{ filter:brightness(0) invert(1); }
.module-grid{max-width:840px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.module-card{min-width:0;background:#fff;border-radius:18px;padding:28px 22px 24px;text-align:center;cursor:pointer;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;align-items:center;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.module-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.26)}
.module-card.locked{opacity:.58;cursor:not-allowed}
.module-card.locked:hover{transform:none;box-shadow:0 10px 30px rgba(0,0,0,.22)}
.module-icon{width:66px;height:66px;display:flex;align-items:center;justify-content:center;background:var(--amber-l);border-radius:16px;font-size:34px;margin-bottom:14px}
.module-icon.gray{background:#f1f5f9}
.module-name{font-size:18px;font-weight:800;color:#0f172a;margin-bottom:7px;line-height:1.25}
.module-desc{font-size:13px;color:#64748b;line-height:1.45;margin-bottom:16px;flex:1}
.mtag{font-size:11px;font-weight:700;padding:5px 14px;border-radius:20px}
.mtag.green{background:#dcfce7;color:#16a34a}
.mtag.amber{background:#fef3c7;color:#d97706}
.mtag.gray{background:#e2e8f0;color:#64748b}
.back-modules{margin:0 16px 12px;padding:8px 12px;background:rgba(255,255,255,.08);color:#cbd5e1;border:none;border-radius:8px;cursor:pointer;font-size:12px;text-align:left;transition:background .15s}
.back-modules:hover{background:rgba(255,255,255,.16);color:#fff}
/* ===== Fuel multi-row (cards rotulados) ===== */
.frow-card{border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;margin-bottom:10px;background:#fafbfc}
.frow-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.frow-num{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase}
.frow-del{border:none;background:#fef2f2;color:#ef4444;border-radius:6px;cursor:pointer;font-size:11px;font-weight:600;padding:4px 9px}
.frow-del:hover{background:#fee2e2}
.frow-field{margin-bottom:8px}
.frow-field label{display:block;font-size:11px;color:#64748b;font-weight:600;margin-bottom:3px}
.frow-field select,.frow-field input{width:100%;height:38px;border:1px solid #cbd5e1;border-radius:8px;padding:0 10px;font-size:13px;background:#fff}
.frow-field select:focus,.frow-field input:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px rgba(27,58,143,.12)}
.frow-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.frow-grid3 .frow-field{margin-bottom:0}
@media(max-width:560px){.frow-grid3{grid-template-columns:1fr}}
.add-row{margin-top:4px;padding:10px;text-align:center;font-size:13px;font-weight:600;color:#2563eb;background:#eff6ff;border:1px dashed #93c5fd;border-radius:8px;cursor:pointer}
.add-row:hover{background:#dbeafe}
/* ===== Copiar itens entre veículos ===== */
.copy-veh-list{display:flex;flex-direction:column;gap:8px;max-height:340px;overflow:auto}
.copy-veh{border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center}
.copy-veh .ci{font-size:12px;color:#64748b}
.frow-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.frow-grid2 .frow-field{margin-bottom:0}
@media(max-width:560px){.frow-grid2{grid-template-columns:1fr}}
/* ===== Agregados — topo ===== */
.agg-top{display:grid;grid-template-columns:1.1fr 1.4fr;gap:16px;margin-bottom:18px}
@media(max-width:760px){.agg-top{grid-template-columns:1fr}}
.agg-stock-big{background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;border-radius:16px;padding:22px 24px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 8px 24px rgba(15,23,42,.25)}
.agg-stock-big.low{background:linear-gradient(135deg,#7f1d1d,#b91c1c)}
.asb-label{font-size:13px;color:#cbd5e1;font-weight:600;margin-bottom:6px}
.agg-stock-big.low .asb-label{color:#fecaca}
.asb-value{font-size:38px;font-weight:800;line-height:1}
.asb-value span{font-size:18px;font-weight:600;color:#94a3b8}
.agg-stock-big.low .asb-value span{color:#fecaca}
.asb-min{font-size:12px;color:#94a3b8;margin-top:8px}
.agg-stock-big.low .asb-min{color:#fee2e2}
.agg-io{display:flex;flex-direction:column;gap:10px}
.period-sel{display:flex;gap:6px;align-self:flex-end}
.period-btn{border:1px solid #cbd5e1;background:#fff;color:#64748b;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer}
.period-btn.active{background:var(--amber);border-color:var(--amber);color:#fff}
.agg-io-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1}
.agg-io-card{border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;justify-content:center;border:1px solid #e2e8f0}
.agg-io-card.in{background:#f0fdf4;border-color:#bbf7d0}
.agg-io-card.out{background:#fffbeb;border-color:#fde68a}
.aio-label{font-size:13px;font-weight:600;margin-bottom:6px}
.agg-io-card.in .aio-label{color:#16a34a}
.agg-io-card.out .aio-label{color:#d97706}
.aio-value{font-size:24px;font-weight:800;color:#0f172a}
/* ===== Chip de veículo selecionado (busca rápida) ===== */
.veh-chip{display:flex;align-items:center;gap:8px;background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;padding:9px 12px;font-size:13px;color:#1e3a8a;height:38px}
.veh-chip strong{color:#0f172a}
.veh-plate{background:#fff;border:1px solid #cbd5e1;border-radius:5px;padding:2px 7px;font-size:11px;font-weight:700;letter-spacing:.5px;color:#475569;font-family:'Courier New',monospace}
.veh-chip-x{margin-left:auto;background:transparent;border:none;color:#64748b;cursor:pointer;font-size:14px;padding:0 4px;line-height:1}
.veh-chip-x:hover{color:#ef4444}


/* ============ MÓDULO PDV (vendas) ============ */
.pdv-mod{font-family:"DM Sans",system-ui,sans-serif}
.pdv-mod{position:fixed;inset:0;background:#fff;z-index:100;overflow:auto}
/* Reset de conflitos com o CSS do DI Concreto (sidebar/main-content global) */
.pdv-mod .sidebar{position:static !important;left:auto !important;top:auto !important;bottom:auto !important;z-index:auto !important}
.pdv-mod .main-content{margin-left:0 !important}
.pdv-mod .main{margin-left:0 !important}
.pdv-mod .topbar{position:static !important}
/* Telas modais "fullscreen" do PDV: respeitar a sidebar (220px) ao invés de cobrir tudo */
.pdv-mod .pdv-overlay,
.pdv-mod .rel-screen,
.pdv-mod .opc-screen,
.pdv-mod .vt-screen{left:220px !important;width:auto !important;right:0 !important}
/* Nova Venda = tela cheia de verdade (cobre a sidebar do PDV).
   Nao usar z-index alto aqui: a sidebar teve o z-index zerado acima, entao o
   #pdv (z-index 60) ja cobre ela, e os modais (selc/cliente/pagamento, z 70-80)
   continuam aparecendo POR CIMA da tela cheia. */
.pdv-mod .pdv{left:0 !important;right:0 !important;width:100% !important}
.pdv-mod{ box-sizing: border-box; margin: 0; padding: 0; }.pdv-mod{
    --bg:#f4f5f7; --panel:#fff; --ink:#16181d; --muted:#6b7280;
    --line:#e8eaed; --brand:#1668ff; --brand-dark:#0f172a; --sel:#eaf3ff;
  }.pdv-mod{ background:var(--bg); font-family:'DM Sans',sans-serif; color:var(--ink); }.pdv-mod svg{ max-width:100%; }.pdv-mod .chev-inline{ display:inline-flex; vertical-align:middle; }.pdv-mod .chev-inline svg{ width:14px; height:14px; color:var(--muted); }.pdv-mod .app{ display:flex; height:100vh; overflow:hidden; }.pdv-mod .sidebar{ width:220px; background:#fff; border-right:1px solid var(--line);
    display:flex; flex-direction:column; flex-shrink:0; }.pdv-mod .sb-top{ height:60px; display:flex; align-items:center; padding:0 18px;
    border-bottom:1px solid var(--line); color:var(--muted); }.pdv-mod .sb-top > svg{ width:22px; height:22px; }.pdv-mod .sb-nav{ padding:12px 10px; overflow-y:auto; flex:1; }.pdv-mod .sb-item{ display:flex; align-items:center; gap:14px; padding:11px 14px;
    border-radius:12px; color:#3a3f47; cursor:pointer; font-size:15px;
    margin-bottom:2px; transition:.15s; font-weight:500; }.pdv-mod .sb-item:hover{ background:#f3f4f6; }.pdv-mod .sb-item.active{ background:var(--brand-dark); color:#fff; }.pdv-mod .sb-item.active .ic{ background:var(--brand); color:#fff; }.pdv-mod .ic{ width:34px; height:34px; border-radius:50%; background:#f0f1f3;
    color:#2a2e35; display:flex; align-items:center; justify-content:center;
    flex-shrink:0; transition:.15s; }.pdv-mod .ic svg{ width:18px; height:18px; }.pdv-mod .main{ flex:1; display:flex; flex-direction:column; min-width:0; }.pdv-mod .topbar{ height:60px; background:#fff; border-bottom:1px solid var(--line);
    display:flex; align-items:center; justify-content:space-between;
    padding:0 26px; flex-shrink:0; }.pdv-mod .title{ font-family:'Sora'; font-weight:800; font-size:27px; letter-spacing:-.5px; }.pdv-mod .topbar-right{ display:flex; align-items:center; gap:18px; color:var(--muted); }.pdv-mod .topbar-right svg{ width:20px; height:20px; }.pdv-mod .plano{ display:flex; align-items:center; gap:8px; font-size:14px; color:#2a2e35; font-weight:500; }.pdv-mod .av{ width:36px; height:36px; border-radius:50%; border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center; cursor:pointer; }.pdv-mod .content{ flex:1; overflow-y:auto; padding:22px 26px; }.pdv-mod .actions{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:22px; }.pdv-mod .btn{ border:none; border-radius:999px; padding:14px 28px; font-family:'DM Sans';
    font-size:15px; font-weight:700; cursor:pointer; transition:.15s; white-space:nowrap; }.pdv-mod .btn-primary{ background:var(--brand); color:#fff; }.pdv-mod .btn-primary:hover{ background:#0f54d6; }.pdv-mod .btn-dark{ background:var(--brand-dark); color:#fff; }.pdv-mod .btn-dark:hover{ background:#1e293b; }.pdv-mod .btn-grey{ background:#f1f2f4; color:#374151; }.pdv-mod .tabs{ display:flex; gap:30px; border-bottom:1px solid var(--line); margin-bottom:18px; }.pdv-mod .tab{ padding:10px 2px; font-size:16px; color:var(--muted); cursor:pointer;
    border-bottom:3px solid transparent; margin-bottom:-1px; font-weight:600; }.pdv-mod .tab.active{ color:var(--ink); border-color:var(--brand); }.pdv-mod .viz{ font-size:14px; color:var(--muted); margin-bottom:14px;
    display:flex; align-items:center; gap:6px; flex-wrap:wrap; }.pdv-mod .viz b{ color:var(--ink); }.pdv-mod .viz .sep{ color:var(--line); }.pdv-mod .stats{ display:flex; gap:14px; margin-bottom:16px; flex-wrap:wrap; }.pdv-mod .stat{ background:#fff; border:1px solid var(--line); border-radius:14px;
    padding:14px 20px; min-width:170px; }.pdv-mod .stat .lab{ font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.5px; }.pdv-mod .stat .val{ font-family:'Sora'; font-weight:700; font-size:22px; margin-top:4px; }.pdv-mod .searchbar{ display:flex; align-items:center; gap:10px; background:#fff;
    border:1px solid var(--line); border-radius:10px; padding:9px 14px;
    max-width:380px; margin-bottom:14px; }.pdv-mod .searchbar input{ border:none; outline:none; flex:1; font-size:13px; font-family:'DM Sans'; }.pdv-mod .searchbar svg{ width:18px; height:18px; color:#9aa1ab; }.pdv-mod .table-wrap{ background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; }.pdv-mod .drag-hint{ background:#9aa1ab; color:#fff; font-size:13px; padding:9px 18px; font-weight:500; }.pdv-mod .scroll{ overflow-x:auto; }.pdv-mod table{ width:100%; border-collapse:collapse; }.pdv-mod thead th{ text-align:left; font-size:12.5px; font-weight:700; color:#5b616b;
    padding:9px 14px; border-bottom:1px solid var(--line); background:#fafbfc; white-space:nowrap; }.pdv-mod tbody td{ padding:10px 14px; font-size:13px; border-bottom:1px solid #f1f2f4; white-space:nowrap; }.pdv-mod tbody tr{ cursor:pointer; transition:.1s; }.pdv-mod tbody tr:hover{ background:#f8fafc; }.pdv-mod tbody tr.sel{ background:var(--sel); box-shadow:inset 3px 0 0 var(--brand); }.pdv-mod .abrir{ background:none; border:1px solid transparent; color:#374151; font-weight:600;
    font-size:13px; cursor:pointer; padding:6px 11px; border-radius:8px; }.pdv-mod tbody tr.sel .abrir{ background:#fff; border-color:var(--line); box-shadow:0 1px 3px rgba(0,0,0,.06); }.pdv-mod .num{ font-weight:700; }.pdv-mod .resumo{ display:flex; align-items:center; gap:9px; font-weight:700; }.pdv-mod .pgicon{ width:26px; height:26px; border-radius:7px; display:flex; align-items:center; justify-content:center; }.pdv-mod .pgicon svg{ width:16px; height:16px; }.pdv-mod .cli{ font-weight:600; }.pdv-mod .muted-cell{ color:var(--muted); }.pdv-mod .overlay{ position:fixed; inset:0; background:rgba(15,23,42,.45);
    display:flex; align-items:center; justify-content:center; z-index:50; backdrop-filter:blur(2px); }.pdv-mod .overlay.hidden{ display:none; }.pdv-mod .modal{ background:#fff; border-radius:18px; width:560px; max-width:94vw; max-height:90vh;
    overflow:hidden; display:flex; flex-direction:column; box-shadow:0 30px 80px rgba(0,0,0,.35); }.pdv-mod .modal-head{ padding:20px 24px; border-bottom:1px solid var(--line);
    display:flex; justify-content:space-between; align-items:center; }.pdv-mod .modal-head h3{ font-family:'Sora'; font-size:20px; font-weight:700; }.pdv-mod .x{ cursor:pointer; }.pdv-mod .modal-body{ padding:20px 24px; overflow-y:auto; }.pdv-mod .modal-foot{ padding:16px 24px; border-top:1px solid var(--line);
    display:flex; justify-content:space-between; gap:12px; }.pdv-mod .field{ margin-bottom:16px; }.pdv-mod .field label{ display:block; font-size:13px; font-weight:600; color:#374151; margin-bottom:6px; }.pdv-mod .field input, .pdv-mod .field select{ width:100%; padding:11px 13px; border:1px solid var(--line);
    border-radius:10px; font-size:14px; font-family:'DM Sans'; outline:none; }.pdv-mod .field input:focus, .pdv-mod .field select:focus{ border-color:var(--brand); }.pdv-mod .row2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }.pdv-mod .pg-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }.pdv-mod .pg-opt{ border:1.5px solid var(--line); border-radius:12px; padding:14px 6px;
    display:flex; flex-direction:column; align-items:center; gap:6px; cursor:pointer;
    font-size:12.5px; font-weight:600; transition:.15s; text-align:center; }.pdv-mod .pg-opt.on{ border-color:var(--brand); background:var(--sel); }.pdv-mod .pg-opt svg{ width:22px; height:22px; }.pdv-mod .total-box{ background:var(--brand-dark); color:#fff; border-radius:12px; padding:16px 20px;
    display:flex; justify-content:space-between; align-items:center; }.pdv-mod .total-box .big{ font-family:'Sora'; font-size:26px; font-weight:800; }.pdv-mod .empty{ padding:60px; text-align:center; color:var(--muted); }.pdv-mod .empty h2{ font-family:'Sora'; color:var(--ink); margin-bottom:8px; }.pdv-mod .pdv{ position:fixed; inset:0; background:#fff; z-index:60; display:flex; flex-direction:column; }.pdv-mod .pdv.hidden{ display:none; }.pdv-mod .pdv-bar{ display:flex; align-items:center; gap:4px; height:48px; padding:0 8px;
    border-bottom:1px solid #d9dce1; background:#f8f9fb; }.pdv-mod .pdv-act{ display:flex; align-items:center; gap:7px; background:none; border:none;
    padding:0 14px; height:48px; font-family:'DM Sans'; font-size:15px; color:#374151;
    cursor:pointer; border-right:1px solid #eceef1; }.pdv-mod .pdv-act:hover{ background:#eef1f5; }.pdv-mod .pdv-act.primary{ font-weight:700; color:#16181d; }.pdv-mod .pdv-act b{ font-weight:600; }.pdv-mod .pdv-act svg{ width:18px; height:18px; color:#2563eb; }.pdv-mod .badge{ border:1px dashed #2563eb; color:#2563eb; border-radius:5px; font-size:12px;
    padding:1px 5px; font-weight:700; }.pdv-mod .ico-obs, .pdv-mod .ico-truck, .pdv-mod .ico-enter{ display:inline-block; width:18px; height:18px; }.pdv-mod .ico-obs{ background:#2563eb; -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/></svg>") center/contain no-repeat; }.pdv-mod .ico-truck{ background:#2563eb; -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='1' y='6' width='13' height='10'/><path d='M14 9h4l3 3v4h-7z'/><circle cx='6' cy='18' r='2'/><circle cx='17' cy='18' r='2'/></svg>") center/contain no-repeat; }.pdv-mod .ico-enter{ background:#9aa1ab; -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polyline points='9 10 4 15 9 20'/><path d='M20 4v7a4 4 0 0 1-4 4H4'/></svg>") center/contain no-repeat; }.pdv-mod .pdv-print{ display:flex; align-items:center; gap:7px; padding:0 14px; font-size:15px; color:#374151; cursor:pointer; }.pdv-mod .pdv-grid{ width:18px; height:18px; margin-left:8px;
    background:#2563eb; -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='3' y='3' width='8' height='8'/><rect x='13' y='3' width='8' height='8'/><rect x='3' y='13' width='8' height='8'/><rect x='13' y='13' width='8' height='8'/></svg>") center/contain no-repeat; }.pdv-mod .pdv-dots{ width:20px; height:20px; margin:0 6px;
    background:#2563eb; -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='5' cy='12' r='2'/><circle cx='12' cy='12' r='2'/><circle cx='19' cy='12' r='2'/></svg>") center/contain no-repeat; }.pdv-mod .pdv-close{ margin-left:auto; background:none; border:none; cursor:pointer; padding:6px; display:flex; }.pdv-mod .pdv-close svg{ width:20px; height:20px; }.pdv-mod .pdv-input-row{ display:flex; align-items:stretch; gap:0; border-bottom:1px solid #d9dce1; background:#f4f5f7; }.pdv-mod .pdv-search{ flex:1; position:relative; display:flex; align-items:center; padding:10px 12px; }.pdv-mod .pdv-search input{ width:100%; padding:11px 36px 11px 12px; border:1px solid #c7ccd3;
    border-radius:4px; font-size:15px; font-family:'DM Sans'; outline:none; background:#fff; }.pdv-mod .pdv-search input:focus{ border-color:var(--brand); }.pdv-mod .caret{ position:absolute; right:24px; width:0; height:0; border-left:5px solid transparent;
    border-right:5px solid transparent; border-top:6px solid #9aa1ab; pointer-events:none; }.pdv-mod .pdv-field{ display:flex; flex-direction:column; justify-content:center; padding:0 22px;
    border-left:1px solid #e0e3e7; min-width:90px; }.pdv-mod .pdv-field label{ font-size:13px; color:#6b7280; font-weight:700; }.pdv-mod .pdv-field input{ width:70px; border:none; border-bottom:1px solid #c7ccd3; font-size:18px;
    font-family:'Sora'; font-weight:700; outline:none; background:transparent; padding:2px 0; }.pdv-mod .pdv-field span{ font-size:18px; font-family:'Sora'; font-weight:700; color:#16181d; }.pdv-mod .pdv-lancar{ display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:2px; width:90px; border:none; border-left:1px solid #e0e3e7; background:#f4f5f7;
    cursor:pointer; color:#6b7280; }.pdv-mod .pdv-lancar:hover{ background:#e9ebef; }.pdv-mod .pdv-lancar small{ font-size:12px; }.pdv-mod .pdv-cart{ flex:1; overflow-y:auto; position:relative; }.pdv-mod .cart-table{ width:100%; border-collapse:collapse; }.pdv-mod .cart-table thead th{ position:sticky; top:0; background:#fafbfc; text-align:left;
    font-size:13px; color:#5b616b; padding:11px 16px; border-bottom:1px solid var(--line); }.pdv-mod .cart-table tbody td{ padding:13px 16px; font-size:15px; border-bottom:1px solid #f1f2f4; }.pdv-mod .cart-table tbody tr:hover{ background:#f8fafc; }.pdv-mod .cart-qtd{ width:64px; padding:6px 8px; border:1px solid var(--line); border-radius:6px; font-size:14px; outline:none; }.pdv-mod .cart-del{ background:none; border:none; color:#e11d48; cursor:pointer; font-size:13px; font-weight:600; }.pdv-mod .cart-empty{ padding:50px; text-align:center; color:#9aa1ab; font-size:15px; }.pdv-mod .cart-empty.hidden{ display:none; }.pdv-mod .pdv-foot{ border-top:1px solid #d9dce1; background:#f4f5f7; padding:18px 28px;
    display:flex; align-items:center; justify-content:space-between; }.pdv-mod .pdv-cliente-tag{ font-size:15px; color:#374151; font-weight:600; }.pdv-mod .pdv-total{ font-family:'Sora'; font-size:42px; font-weight:800; color:var(--brand); }.pdv-mod .pay-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.4); z-index:70;
    display:flex; align-items:center; justify-content:center; }.pdv-mod .pay-overlay.hidden{ display:none; }.pdv-mod .pay-modal{ background:#fff; border-radius:12px; width:460px; max-width:94vw; max-height:92vh;
    overflow-y:auto; box-shadow:0 30px 80px rgba(0,0,0,.35); position:relative; }.pdv-mod .pay-close{ position:absolute; top:12px; right:14px; cursor:pointer; color:#6b7280; }.pdv-mod .pay-close svg{ width:18px; height:18px; }.pdv-mod .pay-head{ text-align:center; padding:22px 20px 14px; }.pdv-mod .pay-head .lab{ font-size:13px; color:#374151; font-weight:600; }.pdv-mod .pay-head .big{ font-family:'Sora'; font-size:34px; font-weight:800; color:#16181d; margin:4px 0 2px; }.pdv-mod .pay-head .desc{ font-size:11px; color:#9aa1ab; letter-spacing:.5px; cursor:pointer; }.pdv-mod .pay-list{ padding:0 16px; }.pdv-mod .pay-opt{ display:flex; align-items:center; gap:12px; padding:11px 12px;
    border-bottom:1px solid #eef0f2; cursor:pointer; border-radius:8px; transition:.12s; }.pdv-mod .pay-opt:hover{ background:#fafbfc; }.pdv-mod .pay-opt.on{ background:#eaf3ff; border-bottom-color:transparent; }.pdv-mod .pay-ico{ width:36px; height:28px; border-radius:6px; display:flex; align-items:center;
    justify-content:center; flex-shrink:0; }.pdv-mod .pay-ico svg{ width:18px; height:18px; }.pdv-mod .pay-name{ flex:1; font-size:15px; color:#16181d; }.pdv-mod .pay-val{ font-family:'Sora'; font-size:15px; font-weight:700; color:#16181d; }.pdv-mod .pay-val-input{ width:96px; text-align:right; border:none; background:transparent;
    font-family:'Sora'; font-size:15px; font-weight:700; color:#16181d; outline:none; }.pdv-mod .pay-val-input::placeholder{ color:#c7ccd3; font-weight:400; }.pdv-mod .pay-resumo{ padding:4px 20px 0; text-align:right; font-family:'Sora'; font-size:17px; font-weight:700; }.pdv-mod .pay-resumo .troco{ color:#16a34a; }.pdv-mod .pay-resumo .falta{ color:#e11d48; }.pdv-mod .pay-resumo .lbl{ color:#374151; font-weight:600; font-size:14px; margin-right:5px; }.pdv-mod .pay-checks{ padding:10px 20px 2px; }.pdv-mod .pay-check{ display:flex; align-items:center; gap:8px; color:#374151; font-size:13px;
    padding:5px 0; cursor:pointer; }.pdv-mod .pay-foot{ padding:12px 20px 18px; position:relative; }.pdv-mod .pay-concluir{ width:100%; background:var(--brand); color:#fff; border:none; border-radius:6px;
    padding:13px; font-family:'DM Sans'; font-size:15px; font-weight:700; letter-spacing:.5px; cursor:pointer; }.pdv-mod .pay-concluir:hover{ background:#0f54d6; }.pdv-mod .pay-dots{ position:absolute; bottom:24px; right:24px; width:30px; height:24px;
    display:flex; align-items:center; justify-content:center; background:#f3f4f6; border-radius:5px;
    cursor:pointer; color:#374151; font-weight:700; letter-spacing:1px; user-select:none; }.pdv-mod .pay-dots:hover{ background:#e5e7eb; }.pdv-mod .pay-menu{ position:absolute; bottom:54px; right:24px; background:#fff; border:1px solid var(--line);
    border-radius:8px; box-shadow:0 10px 30px rgba(0,0,0,.18); padding:6px 0; min-width:220px; z-index:5; }.pdv-mod .pay-menu.hidden{ display:none; }.pdv-mod .pay-menu .mi{ padding:9px 16px; font-size:14px; cursor:pointer; display:flex; align-items:center; gap:8px; }.pdv-mod .pay-menu .mi:hover{ background:#f3f4f6; }.pdv-mod .pay-menu .mi.danger{ color:#e11d48; }.pdv-mod .pay-menu .sep{ height:1px; background:#eef0f2; margin:4px 0; }.pdv-mod .efp-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.4); z-index:80;
    display:flex; align-items:center; justify-content:center; }.pdv-mod .efp-overlay.hidden{ display:none; }.pdv-mod .efp-modal{ background:#fff; border-radius:12px; width:540px; max-width:94vw; max-height:88vh;
    overflow-y:auto; box-shadow:0 30px 80px rgba(0,0,0,.35); position:relative; padding:28px 32px 24px; }.pdv-mod .efp-close{ position:absolute; top:14px; right:18px; background:none; border:none; cursor:pointer; }.pdv-mod .efp-close svg{ width:22px; height:22px; }.pdv-mod .efp-modal h3{ font-family:'Sora'; font-size:18px; font-weight:700; margin-bottom:18px; }.pdv-mod .efp-list{ margin-bottom:14px; }.pdv-mod .efp-item{ display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--line);
    border-radius:8px; margin-bottom:8px; background:#fff; }.pdv-mod .efp-item.off{ opacity:.55; background:#fafbfc; }.pdv-mod .efp-ico{ width:34px; height:26px; border-radius:5px; display:flex; align-items:center;
    justify-content:center; flex-shrink:0; }.pdv-mod .efp-ico svg{ width:16px; height:16px; }.pdv-mod .efp-inp{ flex:1; padding:7px 10px; border:1px solid var(--line); border-radius:5px;
    font-size:14px; font-family:'DM Sans'; outline:none; }.pdv-mod .efp-inp:focus{ border-color:var(--brand); }.pdv-mod .efp-toggle{ width:38px; height:20px; background:#d1d5db; border-radius:10px; position:relative; cursor:pointer; transition:.15s; }.pdv-mod .efp-toggle.on{ background:var(--brand); }.pdv-mod .efp-toggle::after{ content:""; position:absolute; top:2px; left:2px; width:16px; height:16px;
    background:#fff; border-radius:50%; transition:.15s; }.pdv-mod .efp-toggle.on::after{ left:20px; }.pdv-mod .efp-del{ background:none; border:none; color:#e11d48; cursor:pointer; padding:4px 8px; font-size:13px; }.pdv-mod .efp-add{ display:flex; gap:8px; margin-top:10px; }.pdv-mod .efp-add input, .pdv-mod .efp-add select{ padding:9px 11px; border:1px solid var(--line); border-radius:6px;
    font-size:14px; font-family:'DM Sans'; outline:none; }.pdv-mod .efp-add input{ flex:1; }.pdv-mod .efp-add button{ background:var(--brand); color:#fff; border:none; border-radius:6px;
    padding:9px 16px; font-weight:600; cursor:pointer; }.pdv-mod .efp-foot{ display:flex; gap:10px; margin-top:18px; }.pdv-mod .efp-foot .btn{ flex:1; padding:12px; }.pdv-mod .selc-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.4); z-index:75;
    display:flex; align-items:center; justify-content:center; }.pdv-mod .selc-overlay.hidden{ display:none; }.pdv-mod .selc-modal{ background:#fff; border-radius:10px; width:1000px; max-width:96vw; height:82vh;
    display:flex; flex-direction:column; box-shadow:0 30px 80px rgba(0,0,0,.35); overflow:hidden; }.pdv-mod .selc-bar{ display:flex; align-items:center; gap:12px; padding:18px 20px; border-bottom:1px solid var(--line); }.pdv-mod .selc-bar input.q{ flex:1; padding:12px 14px; border:1px solid #c7ccd3; border-radius:6px;
    font-size:15px; font-family:'DM Sans'; outline:none; }.pdv-mod .selc-bar input.q:focus{ border-color:var(--brand); }.pdv-mod .selc-adv{ display:flex; align-items:center; gap:7px; font-size:14px; color:#374151; white-space:nowrap; }.pdv-mod .selc-btn{ border:1px solid #c7ccd3; background:#fff; border-radius:6px; padding:11px 18px;
    font-family:'DM Sans'; font-size:14px; font-weight:600; cursor:pointer; white-space:nowrap; }.pdv-mod .selc-btn:hover{ background:#f3f4f6; }.pdv-mod .selc-btn.ok{ background:var(--brand); color:#fff; border-color:var(--brand); }.pdv-mod .selc-btn.ok:hover{ background:#0f54d6; }.pdv-mod .selc-body{ flex:1; overflow-y:auto; }.pdv-mod .selc-table{ width:100%; border-collapse:collapse; }.pdv-mod .selc-table thead th{ position:sticky; top:0; background:#fafbfc; text-align:left;
    font-size:13px; color:#6b7280; font-weight:600; padding:11px 18px; border-bottom:1px solid var(--line); }.pdv-mod .selc-table tbody td{ padding:15px 18px; font-size:15px; border-bottom:1px solid #f1f2f4; }.pdv-mod .selc-table tbody tr{ cursor:pointer; }.pdv-mod .selc-table tbody tr:hover{ background:#eaf3ff; }.pdv-mod .selc-table tbody tr.sel{ background:#dcebff; box-shadow:inset 3px 0 0 var(--brand); }.pdv-mod .selc-nome{ font-weight:600; }.pdv-mod .selc-cod{ color:#374151; }.pdv-mod .desc-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.4); z-index:72;
    display:flex; align-items:center; justify-content:center; }.pdv-mod .desc-overlay.hidden{ display:none; }.pdv-mod .desc-modal{ background:#fff; border-radius:14px; width:680px; max-width:94vw;
    box-shadow:0 30px 80px rgba(0,0,0,.35); position:relative; padding:40px 48px 36px; }.pdv-mod .desc-close{ position:absolute; top:18px; right:20px; cursor:pointer; color:#16181d; }.pdv-mod .desc-close svg{ width:24px; height:24px; }.pdv-mod .desc-row{ display:flex; align-items:center; gap:18px; margin-bottom:22px; }.pdv-mod .desc-row label{ width:150px; font-size:16px; color:#374151; }.pdv-mod .desc-row label.inline{ width:auto; font-weight:700; }.pdv-mod .desc-inp{ padding:11px 13px; border:1px solid #c7ccd3; border-radius:6px; font-size:16px;
    font-family:'DM Sans'; outline:none; width:170px; }.pdv-mod .desc-inp:focus{ border-color:var(--brand); }.pdv-mod .desc-inp.ro{ background:#fff; color:#16181d; font-weight:600; }.pdv-mod .desc-save{ margin-top:30px; background:#1aa3ff; color:#fff; border:none; border-radius:6px;
    padding:14px 38px; font-family:'DM Sans'; font-size:15px; font-weight:700; letter-spacing:.5px; cursor:pointer; }.pdv-mod .desc-save:hover{ background:#0f8fe0; }.pdv-mod .cli-bar{ display:flex; align-items:center; gap:14px; margin-bottom:14px; }.pdv-mod .cli-add{ width:44px; height:44px; border-radius:50%; background:var(--brand); color:#fff; border:none;
    font-size:24px; cursor:pointer; box-shadow:0 4px 14px rgba(22,104,255,.35); }.pdv-mod .cli-search{ flex:1; max-width:520px; display:flex; align-items:center; gap:10px; background:#fff;
    border:1px solid var(--line); border-radius:999px; padding:8px 16px; }.pdv-mod .cli-search input{ flex:1; border:none; outline:none; font-family:'DM Sans'; font-size:14px; }.pdv-mod .cli-search svg{ width:18px; height:18px; color:#9aa1ab; }.pdv-mod .cli-icon{ width:44px; height:44px; border-radius:50%; background:#fff; border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center; cursor:pointer; }.pdv-mod .cli-icon svg{ width:18px; height:18px; color:#374151; }.pdv-mod .cli-table tbody tr{ height:60px; }.pdv-mod .cli-nome{ display:flex; align-items:center; gap:12px; }.pdv-mod .cli-av{ width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-weight:700; font-size:13px; color:#16181d; flex-shrink:0; }.pdv-mod .cli-full-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.45); z-index:80;
    display:flex; align-items:flex-start; justify-content:center; padding:30px; overflow-y:auto; }.pdv-mod .cli-full-overlay.hidden{ display:none; }.pdv-mod .cli-full-modal{ background:#fff; border-radius:12px; width:1100px; max-width:96vw;
    box-shadow:0 30px 80px rgba(0,0,0,.35); position:relative; padding-bottom:90px; }.pdv-mod .cli-full-close{ position:absolute; top:14px; right:18px; background:none; border:none; cursor:pointer; }.pdv-mod .cli-full-close svg{ width:22px; height:22px; color:#16181d; }.pdv-mod .cli-full-tabs{ display:flex; gap:34px; padding:24px 36px 0; border-bottom:1px solid var(--line); }.pdv-mod .cli-tab{ padding:8px 2px 14px; font-size:17px; color:var(--muted); cursor:pointer;
    border-bottom:3px solid transparent; margin-bottom:-1px; font-weight:600; }.pdv-mod .cli-tab.on{ color:#16181d; border-color:var(--brand); }.pdv-mod .cli-full-content{ padding:24px 36px; }.pdv-mod .cli-full-grid{ display:grid; grid-template-columns:280px 1fr; gap:36px; align-items:flex-start; }.pdv-mod .cli-side{ display:flex; flex-direction:column; align-items:center; gap:12px; padding-top:20px; }.pdv-mod .cli-av-big{ width:160px; height:160px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-size:62px; font-weight:700; color:#374151; }.pdv-mod .cli-side-nome{ font-family:'Sora'; font-size:22px; font-weight:700; text-align:center; }.pdv-mod .cli-side-vendas{ color:var(--muted); font-size:14px; }.pdv-mod .cli-conta-btn{ margin-top:10px; padding:12px 28px; border-radius:999px; border:1px solid var(--line);
    background:#fff; font-family:'DM Sans'; font-size:14px; font-weight:600; cursor:pointer; }.pdv-mod .cli-conta-btn:hover{ background:#f3f4f6; }.pdv-mod .cli-form{ display:flex; flex-direction:column; gap:14px; }.pdv-mod .cf-row{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }.pdv-mod .cf-row.top{ align-items:flex-start; }.pdv-mod .cf-row label{ width:130px; font-size:14px; color:#374151; flex-shrink:0; }.pdv-mod .cf-row label.cf-check{ width:auto; display:flex; align-items:center; gap:7px; }.pdv-mod .cf-inp{ padding:9px 11px; border:1px solid var(--line); border-radius:6px; font-size:14px;
    font-family:'DM Sans'; outline:none; min-width:180px; }.pdv-mod .cf-inp.lg{ flex:1; min-width:260px; }.pdv-mod .cf-inp.ro{ background:#eef0f2; color:#6b7280; }.pdv-mod .cf-inp.ta{ resize:vertical; min-height:80px; min-width:260px; }.pdv-mod .cf-ddi{ width:60px; min-width:60px; text-align:center; }.pdv-mod .cf-inp:focus{ border-color:var(--brand); }.pdv-mod .cf-end-links a{ color:var(--brand); cursor:pointer; font-size:14px; }.pdv-mod .cf-truck{ display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; }.pdv-mod .cf-truck svg{ width:24px; height:24px; }.pdv-mod .cf-mais{ padding:8px 12px; border:1px solid var(--line); background:#fff; border-radius:4px; cursor:pointer; }.pdv-mod .cli-full-foot{ position:absolute; bottom:0; left:0; right:0; padding:16px 36px; background:#fff;
    border-top:1px solid var(--line); display:flex; align-items:center; gap:14px; border-radius:0 0 12px 12px; }.pdv-mod .cli-full-foot-right{ margin-left:auto; display:flex; gap:24px; }.pdv-mod .link-btn{ background:none; border:none; color:#374151; cursor:pointer; font-size:15px; font-family:'DM Sans'; }.pdv-mod .link-btn.danger{ color:#e11d48; font-weight:600; }.pdv-mod .cli-fid{ min-height:300px; display:flex; align-items:center; justify-content:center; }.pdv-mod .trans-resumo{ font-size:18px; padding:10px 0 16px; display:flex; align-items:center; gap:10px; }.pdv-mod .caret-down{ color:var(--muted); }.pdv-mod .trans-actions{ display:flex; gap:8px; padding:10px 0 16px; align-items:center; border-bottom:1px solid var(--line); margin-bottom:14px; }.pdv-mod .trans-btn{ padding:9px 18px; border:1px solid var(--line); background:#fff; border-radius:6px; cursor:pointer;
    font-family:'DM Sans'; font-size:14px; font-weight:500; }.pdv-mod .trans-btn:hover{ background:#f3f4f6; }.pdv-mod .trans-btn.danger{ color:#e11d48; border-color:#fecaca; }.pdv-mod .trans-dots{ margin-left:auto; color:#9aa1ab; font-size:20px; cursor:pointer; }.pdv-mod .lim-overlay, .pdv-mod .cc-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.4); z-index:85;
    display:flex; align-items:center; justify-content:center; }.pdv-mod .lim-overlay.hidden, .pdv-mod .cc-overlay.hidden{ display:none; }.pdv-mod .lim-modal, .pdv-mod .cc-modal{ background:#fff; border-radius:12px; width:560px; max-width:94vw;
    padding:36px 38px 30px; position:relative; box-shadow:0 30px 80px rgba(0,0,0,.35); }.pdv-mod .lim-close, .pdv-mod .cc-close{ position:absolute; top:14px; right:18px; background:none; border:none; cursor:pointer; }.pdv-mod .lim-close svg, .pdv-mod .cc-close svg{ width:22px; height:22px; }.pdv-mod .lim-modal h3, .pdv-mod .cc-modal h3{ font-family:'Sora'; font-size:19px; font-weight:700; margin-bottom:18px; }.pdv-mod .lim-opt{ display:flex; align-items:center; gap:10px; padding:10px 0; font-size:15px; cursor:pointer; }.pdv-mod .lim-val{ margin:8px 0 18px 28px; padding:9px 12px; border:1px solid var(--line); border-radius:6px;
    width:200px; font-size:15px; }.pdv-mod .lim-foot{ display:flex; align-items:center; gap:16px; margin-top:10px; }.pdv-mod .lim-alterar{ color:var(--brand); cursor:pointer; font-size:14px; margin-left:auto; }.pdv-mod .lim-link{ color:var(--brand); cursor:pointer; font-size:14px; padding:8px 0; }.pdv-mod .cc-field{ margin-bottom:14px; }.pdv-mod .cc-field label{ display:block; font-size:14px; color:#374151; margin-bottom:6px; }.pdv-mod .cc-field input, .pdv-mod .cc-field textarea{ width:100%; padding:11px 13px; border:1px solid var(--line);
    border-radius:6px; font-size:15px; font-family:'DM Sans'; outline:none; }.pdv-mod .cc-field textarea{ min-height:80px; resize:vertical; }.pdv-mod .cc-save{ width:100%; background:#1aa3ff; color:#fff; border:none; border-radius:8px; padding:14px;
    font-size:15px; font-weight:700; cursor:pointer; margin-top:8px; letter-spacing:.5px; }.pdv-mod .prod-tabs{ display:flex; gap:30px; border-bottom:1px solid var(--line); margin-bottom:18px; }.pdv-mod .prod-tab{ padding:10px 2px; font-size:16px; color:var(--muted); cursor:pointer;
    border-bottom:3px solid transparent; margin-bottom:-1px; font-weight:600; }.pdv-mod .prod-tab.on{ color:var(--ink); border-color:var(--brand); }.pdv-mod .prod-layout{ display:grid; grid-template-columns:240px 1fr; gap:24px; }.pdv-mod .prod-cats{ display:flex; flex-direction:column; }.pdv-mod .prod-cat{ padding:11px 0; font-size:15px; color:#374151; cursor:pointer; display:flex; gap:6px; align-items:baseline; }.pdv-mod .prod-cat .ct{ color:#9aa1ab; }.pdv-mod .prod-cat.on{ color:var(--brand); }.pdv-mod .prod-cat.geren{ margin-top:14px; color:var(--brand); }.pdv-mod .prod-img-cell{ width:42px; height:42px; border-radius:6px; background:#f1f2f4; display:flex;
    align-items:center; justify-content:center; }.pdv-mod .prod-img-cell svg{ width:22px; height:22px; color:#9aa1ab; }.pdv-mod .caixa-top{ display:flex; gap:34px; padding:14px 0 22px; flex-wrap:wrap; }.pdv-mod .caixa-btn{ display:flex; align-items:center; gap:11px; background:none; border:none; cursor:pointer; }.pdv-mod .caixa-btn .ci{ width:38px; height:38px; border-radius:6px; display:flex; align-items:center; justify-content:center; }.pdv-mod .caixa-btn b{ font-size:14px; color:#16181d; font-weight:600; line-height:1.2; text-align:left; }.pdv-mod .caixa-tabs{ display:flex; gap:34px; border-bottom:1px solid var(--line); margin-bottom:18px; }.pdv-mod .caixa-tab{ padding:10px 2px 12px; color:var(--muted); cursor:pointer; font-weight:600; font-size:15px;
    border-bottom:3px solid transparent; margin-bottom:-1px; }.pdv-mod .caixa-tab.on{ color:#16181d; border-color:var(--brand); }.pdv-mod .caixa-actions{ display:flex; align-items:center; gap:22px; padding:6px 0 18px; font-size:14px; color:#374151; }.pdv-mod .caixa-actions .gr{ color:#9aa1ab; }.pdv-mod .caixa-actions .lnk{ cursor:pointer; }.pdv-mod .caixa-actions .lnk.on{ color:#16181d; font-weight:700; text-decoration:underline; }.pdv-mod .caixa-actions .ferr{ margin-left:auto; color:var(--brand); cursor:pointer; }.pdv-mod .ext-table{ width:100%; border-collapse:collapse; }.pdv-mod .ext-table th{ text-align:left; padding:12px 14px; font-size:12.5px; color:#5b616b; font-weight:600;
    background:#fafbfc; border-bottom:1px solid var(--line); }.pdv-mod .ext-table th .pgicon{ display:inline-flex; vertical-align:-7px; margin-right:6px; }.pdv-mod .ext-table td{ padding:14px; font-size:14px; border-bottom:1px solid #f1f2f4; }.pdv-mod .ext-total td{ background:#eef2f7; font-weight:700; }.pdv-mod .ext-sangria td.descr{ color:#e11d48; font-weight:600; }.pdv-mod .ext-sangria td.val{ color:#e11d48; }.pdv-mod .fch-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.4); z-index:75;
    display:flex; align-items:center; justify-content:center; }.pdv-mod .fch-overlay.hidden{ display:none; }.pdv-mod .fch-modal{ background:#fff; border-radius:12px; width:760px; max-width:94vw; padding:32px 36px 28px;
    position:relative; box-shadow:0 30px 80px rgba(0,0,0,.35); }.pdv-mod .fch-close{ position:absolute; top:16px; right:20px; background:none; border:none; cursor:pointer; }.pdv-mod .fch-close svg{ width:22px; height:22px; }.pdv-mod .fch-modal h3{ font-family:'Sora'; font-size:20px; font-weight:700; margin-bottom:18px;
    display:flex; justify-content:space-between; align-items:center; }.pdv-mod .fch-modal h3 a{ color:var(--brand); font-size:14px; font-weight:500; cursor:pointer; }.pdv-mod .fch-field{ margin-bottom:14px; }.pdv-mod .fch-field label{ display:block; font-size:14px; color:#374151; margin-bottom:6px; }.pdv-mod .fch-field input{ width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:6px;
    font-family:'DM Sans'; font-size:15px; outline:none; }.pdv-mod .fch-field input.ro{ background:#fff; font-weight:700; color:#16181d; }.pdv-mod .fch-obs-link{ color:var(--brand); cursor:pointer; font-size:14px; font-weight:600; }.pdv-mod .fch-foot{ display:flex; gap:14px; margin-top:18px; }.pdv-mod .fch-foot .btn{ flex:1; padding:14px; font-size:15px; }.pdv-mod .vt-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.4); z-index:75;
    display:flex; align-items:center; justify-content:center; }.pdv-mod .vt-overlay.hidden{ display:none; }.pdv-mod .vt-modal{ background:#fff; border:1px solid #d9dce1; border-radius:6px; width:1280px; max-width:96vw;
    height:88vh; display:flex; flex-direction:column; box-shadow:0 30px 80px rgba(0,0,0,.35); }.pdv-mod .vt-title{ display:flex; align-items:center; gap:8px; padding:8px 14px; background:#f3f4f6;
    border-bottom:1px solid #d9dce1; font-size:13px; font-weight:500; }.pdv-mod .vt-title .ttl-ic{ width:18px; height:18px; }.pdv-mod .vt-title .x{ margin-left:auto; cursor:pointer; color:#16181d; }.pdv-mod .vt-bar{ display:flex; gap:18px; padding:10px 18px; border-bottom:1px solid #e0e3e7; }.pdv-mod .vt-bar button{ display:flex; gap:8px; align-items:center; background:none; border:1px solid #e0e3e7;
    border-radius:6px; padding:8px 14px; font-family:'DM Sans'; font-size:13px; cursor:pointer; }.pdv-mod .vt-bar .vt-ico{ width:22px; height:22px; }.pdv-mod .vt-tabs{ display:flex; gap:0; padding:0 14px; border-bottom:1px solid #d9dce1; }.pdv-mod .vt-tab{ padding:9px 14px; font-size:13px; cursor:pointer; border:1px solid transparent;
    border-bottom:none; background:transparent; }.pdv-mod .vt-tab.on{ background:#fff; border-color:#d9dce1; border-bottom:1px solid #fff; margin-bottom:-1px; font-weight:600; }.pdv-mod .vt-body{ flex:1; overflow:auto; padding:14px; background:#fff; }.pdv-mod .vt-body pre{ font-family:'DM Sans'; font-size:14px; white-space:pre-wrap; }.pdv-mod .vt-grid{ width:100%; border-collapse:collapse; font-size:13px; }.pdv-mod .vt-grid th, .pdv-mod .vt-grid td{ border:1px solid #c7ccd3; padding:5px 9px; }.pdv-mod .vt-grid th{ background:#fafbfc; font-weight:600; text-align:left; }.pdv-mod .vt-grid td.num{ text-align:right; }.pdv-mod .vt-grid tr.total td{ font-weight:700; background:#fafbfc; }.pdv-mod .vt-foot{ border-top:1px solid #d9dce1; padding:6px 14px; font-size:13px; display:flex; gap:60px; }.pdv-mod .vt-resumo{ padding:18px 8px; font-size:14px; line-height:2; }.pdv-mod .vt-resumo b{ display:inline-block; min-width:240px; }.pdv-mod .vt-resumo .hdr{ font-weight:700; border-bottom:1px solid #c7ccd3; padding-bottom:2px; }.pdv-mod .vt-resumo .saldo-final{ color:var(--brand); font-weight:700; background:#dfe9ff; padding:2px 6px; }.pdv-mod .mov-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.4); z-index:78;
    display:flex; align-items:center; justify-content:center; }.pdv-mod .mov-overlay.hidden{ display:none; }.pdv-mod .mov-modal{ background:#fff; border-radius:12px; width:500px; max-width:94vw; padding:32px 36px;
    position:relative; box-shadow:0 30px 80px rgba(0,0,0,.35); }.pdv-mod .mov-close{ position:absolute; top:14px; right:18px; background:none; border:none; cursor:pointer; }.pdv-mod .mov-close svg{ width:22px; height:22px; }.pdv-mod .mov-modal h3{ font-family:'Sora'; font-size:19px; font-weight:700; margin-bottom:16px; }.pdv-mod .mov-hint{ background:#f1f5f9; border:1px solid var(--line); border-radius:6px; padding:9px 12px; font-size:14px; color:#374151; margin-bottom:6px; }.pdv-mod .mov-modal label{ display:block; font-size:14px; color:#374151; margin:10px 0 6px; }.pdv-mod .mov-modal input, .pdv-mod .mov-modal textarea, .pdv-mod .mov-modal select{ width:100%; padding:11px 13px; border:1px solid var(--line);
    border-radius:6px; font-family:'DM Sans'; font-size:15px; outline:none; }.pdv-mod .mov-modal textarea{ min-height:70px; resize:vertical; }.pdv-mod .mov-modal .btn{ margin-top:14px; width:100%; padding:13px; }.pdv-mod .rel-back{ font-size:15px; color:#16181d; padding:14px 0 8px; cursor:pointer; display:flex; align-items:center; gap:6px; }.pdv-mod .rel-back svg{ width:18px; height:18px; }.pdv-mod .rel-layout{ display:grid; grid-template-columns:280px 1fr; gap:0; height:calc(100vh - 60px); }.pdv-mod .rel-sidebar{ background:#fafbfc; border-right:1px solid var(--line); padding:18px 14px; overflow-y:auto; height:100%; }.pdv-mod .rel-group{ font-family:'Sora'; font-weight:700; font-size:17px; padding:14px 8px 8px; color:#16181d; }.pdv-mod .rel-item{ padding:8px 14px; font-size:14px; color:#374151; cursor:pointer; border-radius:6px; }.pdv-mod .rel-item:hover{ background:#eef2f7; }.pdv-mod .rel-item.on{ color:var(--brand); font-weight:600; }.pdv-mod .rel-main{ padding:18px 22px; overflow-y:auto; }.pdv-mod .rel-main .rel-titulo{ font-family:'Sora'; font-size:22px; font-weight:700; margin-bottom:18px;
    display:flex; align-items:center; gap:8px; }.pdv-mod .rel-filtros{ display:flex; gap:14px; margin-bottom:18px; flex-wrap:wrap; }.pdv-mod .rel-filtro{ display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--line);
    border-radius:999px; padding:10px 18px; font-size:14px; }.pdv-mod .rel-filtro svg{ width:18px; height:18px; color:#374151; }.pdv-mod .rel-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:22px; }.pdv-mod .rel-card{ border:1px solid var(--line); border-radius:14px; padding:18px 22px; cursor:pointer; transition:.15s; }.pdv-mod .rel-card .lab{ font-size:14px; color:#374151; }.pdv-mod .rel-card .val{ font-family:'Sora'; font-size:26px; font-weight:700; margin-top:6px; color:#16181d; }.pdv-mod .rel-card.on{ border-color:var(--brand); background:#f3f8ff; }.pdv-mod .rel-card.on .lab{ color:var(--brand); }.pdv-mod .rel-grafico{ border:1px solid var(--line); border-radius:14px; padding:20px; margin-bottom:18px; }.pdv-mod .rel-grafico svg{ width:100%; height:240px; display:block; }.pdv-mod .rel-tbl thead th{ font-weight:600; color:#5b616b; padding:14px 16px; font-size:13px;
    border-bottom:1px solid var(--line); }.pdv-mod .rel-tbl tbody td{ padding:18px 16px; font-size:15px; border-bottom:1px solid #f1f2f4; }.pdv-mod .rel-tbl tbody tr.sel{ background:#eaf3ff; }.pdv-mod .obs-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.4); z-index:72;
    display:flex; align-items:center; justify-content:center; }.pdv-mod .obs-overlay.hidden{ display:none; }.pdv-mod .obs-modal{ background:#fff; border-radius:14px; width:680px; max-width:94vw; padding:36px 42px 34px;
    position:relative; box-shadow:0 30px 80px rgba(0,0,0,.35); }.pdv-mod .obs-close{ position:absolute; top:18px; right:22px; background:none; border:none; cursor:pointer; }.pdv-mod .obs-close svg{ width:24px; height:24px; }.pdv-mod .obs-modal h3{ font-family:'Sora'; font-size:17px; font-weight:700; margin-bottom:14px; }.pdv-mod .obs-modal textarea{ width:100%; min-height:200px; padding:12px; border:1px solid var(--line);
    border-radius:8px; resize:vertical; font-family:'DM Sans'; font-size:15px; outline:none; }.pdv-mod .obs-save{ margin-top:24px; background:#1aa3ff; color:#fff; border:none; border-radius:6px;
    padding:14px 38px; font-size:15px; font-weight:700; cursor:pointer; }.pdv-mod .calc-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.4); z-index:73;
    display:flex; align-items:center; justify-content:center; }.pdv-mod .calc-overlay.hidden{ display:none; }.pdv-mod .calc-modal{ background:#fff; border-radius:14px; width:300px; padding:18px; box-shadow:0 30px 80px rgba(0,0,0,.35); }.pdv-mod .calc-display{ background:#f3f4f6; border-radius:8px; padding:18px; text-align:right; font-family:'Sora';
    font-size:28px; font-weight:700; margin-bottom:10px; min-height:64px; word-break:break-all; }.pdv-mod .calc-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }.pdv-mod .calc-btn{ padding:14px; border:none; border-radius:8px; background:#f3f4f6; font-size:18px;
    font-family:'DM Sans'; font-weight:600; cursor:pointer; }.pdv-mod .calc-btn:hover{ background:#e5e7eb; }.pdv-mod .calc-btn.op{ background:#dbeafe; color:var(--brand); }.pdv-mod .calc-btn.eq{ background:var(--brand); color:#fff; grid-column:span 2; }.pdv-mod .calc-btn.clr{ background:#fee2e2; color:#e11d48; }.pdv-mod .opc-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.5); z-index:90;
    display:flex; align-items:flex-start; justify-content:center; padding:24px; overflow-y:auto; }.pdv-mod .opc-overlay.hidden{ display:none; }.pdv-mod .opc-modal{ background:#fff; border-radius:6px; width:1100px; max-width:96vw;
    box-shadow:0 30px 80px rgba(0,0,0,.35); position:relative; padding-bottom:90px;
    border:1px solid #d9dce1; }.pdv-mod .opc-titlebar{ display:flex; align-items:center; gap:8px; padding:8px 14px; background:#f3f4f6;
    border-bottom:1px solid #d9dce1; font-size:13px; font-weight:500; }.pdv-mod .opc-titlebar svg{ width:18px; height:18px; }.pdv-mod .opc-titlebar .x{ margin-left:auto; cursor:pointer; }.pdv-mod .opc-section{ padding:24px 32px; border-bottom:1px solid #eaeaea; display:flex; gap:20px; }.pdv-mod .opc-section:last-of-type{ border-bottom:none; }.pdv-mod .opc-ico{ width:48px; height:48px; flex-shrink:0; display:flex; align-items:flex-start; justify-content:center; padding-top:4px; }.pdv-mod .opc-ico svg{ width:38px; height:38px; color:#2563eb; }.pdv-mod .opc-body{ flex:1; }.pdv-mod .opc-check{ display:flex; align-items:center; gap:10px; font-size:16px; font-weight:600; cursor:pointer; }.pdv-mod .opc-check input[type=checkbox]{ width:20px; height:20px; accent-color:var(--brand); cursor:pointer; }.pdv-mod .opc-check.sub{ font-weight:500; padding-left:28px; margin-top:8px; font-size:14px; }.pdv-mod .opc-radio{ display:flex; align-items:center; gap:8px; padding:6px 0 6px 28px; font-size:14px; cursor:pointer; }.pdv-mod .opc-radio input{ accent-color:var(--brand); }.pdv-mod .opc-info{ color:#9aa1ab; font-size:13px; padding:8px 0 0 28px; line-height:1.55; max-width:680px; }.pdv-mod .opc-info b{ color:#374151; }.pdv-mod .opc-field{ padding:12px 0 0 28px; }.pdv-mod .opc-field label{ display:block; font-size:14px; color:#374151; margin-bottom:4px; }.pdv-mod .opc-field select, .pdv-mod .opc-field input{ width:480px; max-width:100%; padding:9px 11px; border:1px solid #c7ccd3;
    border-radius:4px; font-family:'DM Sans'; font-size:14px; outline:none; background:#fff; }.pdv-mod .opc-field input:focus, .pdv-mod .opc-field select:focus{ border-color:var(--brand); }.pdv-mod .opc-field textarea{ width:480px; max-width:100%; min-height:80px; padding:9px 11px; border:1px solid #c7ccd3; border-radius:4px;
    font-family:'DM Sans'; font-size:14px; resize:vertical; outline:none; }.pdv-mod .opc-disabled .opc-check, .pdv-mod .opc-disabled .opc-field, .pdv-mod .opc-disabled .opc-radio, .pdv-mod .opc-disabled .opc-info{ opacity:.45; pointer-events:none; }.pdv-mod .opc-row{ display:flex; align-items:center; gap:14px; padding-left:28px; padding-top:4px; }.pdv-mod .opc-row label{ font-size:14px; }.pdv-mod .opc-row input.small{ width:80px; }.pdv-mod .opc-foot{ position:absolute; bottom:0; left:0; right:0; padding:16px 32px; background:#fff;
    border-top:1px solid var(--line); display:flex; gap:14px; border-radius:0 0 6px 6px; }.pdv-mod .meios-bar{ display:flex; gap:6px; align-items:center; padding-bottom:12px; }.pdv-mod .meios-bar h4{ font-size:16px; font-weight:600; margin-right:14px; }.pdv-mod .meios-bar .lnk{ color:var(--brand); cursor:pointer; padding:4px 8px; font-size:14px; }.pdv-mod .meios-bar .lnk:hover{ background:#eef2f7; border-radius:4px; }.pdv-mod .meios-tbl{ width:100%; border-collapse:collapse; border:1px solid #c7ccd3; }.pdv-mod .meios-tbl th, .pdv-mod .meios-tbl td{ border:1px solid #c7ccd3; padding:10px 12px; font-size:14px; vertical-align:middle; }.pdv-mod .meios-tbl th{ background:#fafbfc; font-weight:600; font-size:13px; color:#374151; }.pdv-mod .meios-tbl td.center{ text-align:center; }.pdv-mod .meios-tbl tr.inativo td{ color:#9aa1ab; text-decoration:line-through; }.pdv-mod .meios-tbl .pgicon-bg{ display:inline-flex; width:36px; height:28px; border-radius:6px; align-items:center; justify-content:center; }.pdv-mod .meios-tbl .pgicon-bg svg{ width:18px; height:18px; }.pdv-mod .meios-tbl tbody tr{ cursor:pointer; }.pdv-mod .meios-tbl tbody tr.sel{ background:#eaf3ff; }.pdv-mod .selmod-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.5); z-index:95;
    display:flex; align-items:center; justify-content:center; }.pdv-mod .selmod-overlay.hidden{ display:none; }.pdv-mod .selmod-modal{ background:#fff; border-radius:6px; width:1100px; max-width:96vw; height:78vh;
    display:flex; flex-direction:column; box-shadow:0 30px 80px rgba(0,0,0,.35); border:1px solid #d9dce1; }.pdv-mod .selmod-tb{ display:flex; align-items:center; gap:8px; padding:8px 14px; background:#f3f4f6;
    border-bottom:1px solid #d9dce1; font-size:13px; font-weight:500; }.pdv-mod .selmod-tb svg{ width:18px; height:18px; }.pdv-mod .selmod-tb .x{ margin-left:auto; cursor:pointer; }.pdv-mod .selmod-h{ padding:18px 24px 10px; font-size:16px; color:var(--brand); font-weight:600; }.pdv-mod .selmod-tabs{ padding:0 24px; border-bottom:1px solid var(--line); display:flex; gap:0; }.pdv-mod .selmod-tab{ padding:10px 18px; cursor:pointer; display:flex; align-items:center; gap:8px;
    border-bottom:3px solid transparent; margin-bottom:-1px; font-weight:500; }.pdv-mod .selmod-tab.on{ color:var(--brand); border-color:var(--brand); }.pdv-mod .selmod-search{ padding:14px 24px; display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--line); }.pdv-mod .selmod-search input{ flex:1; padding:8px 12px; border:1px solid #c7ccd3; border-radius:4px; }.pdv-mod .selmod-search label{ display:flex; align-items:center; gap:7px; font-size:14px; }.pdv-mod .selmod-body{ flex:1; display:grid; grid-template-columns:1fr 380px; overflow:hidden; }.pdv-mod .selmod-list{ overflow-y:auto; padding:14px 24px; }.pdv-mod .selmod-item{ padding:14px 6px; border-bottom:1px solid #f1f2f4; cursor:pointer; }.pdv-mod .selmod-item:hover{ background:#fafbfc; }.pdv-mod .selmod-item.on{ background:#eaf3ff; }.pdv-mod .selmod-item h4{ font-size:16px; font-weight:700; margin-bottom:4px; }.pdv-mod .selmod-item p{ color:#6b7280; font-size:13px; line-height:1.5; }.pdv-mod .selmod-preview{ border-left:1px solid var(--line); background:#fafbfc; padding:20px;
    display:flex; flex-direction:column; align-items:center; overflow-y:auto; }.pdv-mod .selmod-preview .ttl{ font-size:14px; color:#374151; margin-bottom:14px; font-weight:600; }.pdv-mod .selmod-cupom{ background:#fff; padding:14px 18px; font-family:'Courier New',monospace; font-size:11.5px;
    color:#16181d; width:280px; border:1px solid #e0e3e7; line-height:1.55; }.pdv-mod .selmod-cupom hr{ border:none; border-top:1px dashed #9aa1ab; margin:6px 0; }.pdv-mod .selmod-cupom .right{ text-align:right; }.pdv-mod .selmod-cupom .row{ display:flex; justify-content:space-between; }.pdv-mod .selmod-cupom b{ font-weight:700; }.pdv-mod .selmod-foot{ padding:12px 24px; border-top:1px solid var(--line); display:flex; align-items:center; gap:12px; }.pdv-mod .selmod-foot .btn-vlt{ padding:10px 20px; background:#fff; border:1px solid var(--line); border-radius:6px; cursor:pointer; opacity:.5; }.pdv-mod .selmod-foot .btn-adv{ padding:10px 24px; background:#fff; border:1px solid var(--line); border-radius:6px; cursor:pointer; font-weight:600; }.pdv-mod .selmod-foot .btn-adv.on{ border-color:var(--brand); color:var(--brand); }.pdv-mod .selmod-foot .cloud{ margin-left:auto; color:#9aa1ab; }.pdv-mod .sist-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.5); z-index:90;
    display:flex; align-items:flex-start; justify-content:center; padding:24px; overflow-y:auto; }.pdv-mod .sist-overlay.hidden{ display:none; }.pdv-mod .sist-modal{ background:#fff; border-radius:6px; width:900px; max-width:96vw;
    box-shadow:0 30px 80px rgba(0,0,0,.35); padding:24px 32px; border:1px solid #d9dce1; }.pdv-mod .sist-modal h3{ font-family:'Sora'; font-size:20px; font-weight:700; margin-bottom:14px; }.pdv-mod .sist-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }.pdv-mod .sist-grid.full{ grid-template-columns:1fr; }.pdv-mod .sist-grid .field{ margin:0; }.pdv-mod .vend-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.5); z-index:90;
    display:flex; align-items:flex-start; justify-content:center; padding:30px; overflow-y:auto; }.pdv-mod .vend-overlay.hidden{ display:none; }.pdv-mod .vend-modal{ background:#fff; border-radius:12px; width:1000px; max-width:96vw;
    box-shadow:0 30px 80px rgba(0,0,0,.35); padding:24px 32px 90px; position:relative;
    border:1px solid #d9dce1; }.pdv-mod .vend-modal h3{ font-family:'Sora'; font-size:20px; font-weight:700; margin-bottom:14px; }.pdv-mod .vend-tbl{ width:100%; border-collapse:collapse; }.pdv-mod .vend-tbl th{ text-align:left; padding:10px 12px; font-size:13px; color:#5b616b; border-bottom:1px solid var(--line); background:#fafbfc; }.pdv-mod .vend-tbl td{ padding:13px 12px; border-bottom:1px solid #f1f2f4; font-size:14px; }.pdv-mod .vend-tbl tr.sel{ background:#eaf3ff; }.pdv-mod .vend-add{ background:var(--brand); color:#fff; border:none; border-radius:6px; padding:10px 18px;
    margin-bottom:14px; font-weight:600; cursor:pointer; }.pdv-mod .vd-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.5); z-index:60;
    display:flex; align-items:center; justify-content:center; }.pdv-mod .vd-overlay.hidden{ display:none; }.pdv-mod .vd-modal{ background:#fff; border-radius:12px; width:780px; max-width:96vw; max-height:88vh;
    overflow-y:auto; box-shadow:0 30px 80px rgba(0,0,0,.35); padding:28px 32px; }.pdv-mod .vd-modal h3{ font-family:'Sora'; font-size:22px; font-weight:700; margin-bottom:6px; }.pdv-mod .vd-meta{ color:#6b7280; font-size:14px; margin-bottom:18px; display:flex; gap:20px; flex-wrap:wrap; }.pdv-mod .vd-meta span{ display:inline-flex; align-items:center; gap:6px; }.pdv-mod .vd-tbl{ width:100%; border-collapse:collapse; margin-bottom:18px; }.pdv-mod .vd-tbl th{ text-align:left; padding:10px 12px; font-size:12.5px; color:#5b616b; background:#fafbfc; border-bottom:1px solid var(--line); }.pdv-mod .vd-tbl td{ padding:13px 12px; border-bottom:1px solid #f1f2f4; }.pdv-mod .vd-totais{ background:#fafbfc; border-radius:8px; padding:16px 20px; }.pdv-mod .vd-row{ display:flex; justify-content:space-between; padding:4px 0; font-size:15px; }.pdv-mod .vd-row.tot{ font-family:'Sora'; font-size:20px; font-weight:700; color:var(--brand); padding-top:10px;
    border-top:1px solid #e0e3e7; margin-top:6px; }.pdv-mod .vd-pags{ margin-top:14px; }.pdv-mod .vd-pag{ display:flex; align-items:center; gap:10px; padding:6px 0; font-size:14px; }.pdv-mod .vd-pag .pgicon{ width:30px; height:22px; border-radius:5px; display:inline-flex; align-items:center; justify-content:center; }.pdv-mod .vd-pag .pgicon svg{ width:14px; height:14px; }.pdv-mod .vd-foot{ display:flex; gap:10px; margin-top:18px; }.pdv-mod .vd-foot .btn{ flex:1; padding:13px; }.pdv-mod .dots-cell{ padding:0 !important; text-align:center; }.pdv-mod .row-dots{ display:inline-flex; align-items:center; justify-content:center;
    width:24px; height:36px; cursor:pointer; color:#9aa1ab; font-size:18px;
    font-weight:700; user-select:none; border-radius:4px; }.pdv-mod .row-dots:hover{ background:#eef0f2; color:#374151; }.pdv-mod tr.cancelada td{ color:#9aa1ab; text-decoration:line-through; }.pdv-mod tr.cancelada td.dots-cell, .pdv-mod tr.cancelada td:first-child{ text-decoration:none; }.pdv-mod .row-menu{ position:fixed; background:#fff; border:1px solid var(--line);
    border-radius:8px; box-shadow:0 8px 30px rgba(0,0,0,.18); padding:6px 0;
    min-width:180px; z-index:100; }.pdv-mod .row-menu.hidden{ display:none; }.pdv-mod .row-menu .mi{ padding:10px 16px; font-size:14px; cursor:pointer; display:flex; align-items:center; gap:10px; }.pdv-mod .row-menu .mi:hover{ background:#f3f4f6; }.pdv-mod .row-menu .mi.danger{ color:#e11d48; }.pdv-mod .row-menu .mi .ico{ width:18px; height:18px; display:inline-flex; }.pdv-mod .row-menu .mi .ico svg{ width:16px; height:16px; }.pdv-mod .row-menu .sep{ height:1px; background:#eef0f2; margin:4px 0; }.pdv-mod .ent-tabs{ display:flex; gap:30px; border-bottom:1px solid var(--line); margin-bottom:18px; }.pdv-mod .ent-tab{ padding:10px 4px 12px; font-size:16px; color:var(--muted); cursor:pointer;
    border-bottom:3px solid transparent; margin-bottom:-1px; font-weight:600;
    display:flex; align-items:center; gap:8px; }.pdv-mod .ent-tab.on{ color:var(--ink); border-color:var(--brand); }.pdv-mod .ent-badge{ background:#fee2e2; color:#e11d48; font-size:12px; font-weight:700;
    padding:2px 8px; border-radius:10px; }.pdv-mod .ent-tab.on .ent-badge{ background:#dbeafe; color:var(--brand); }.pdv-mod .ent-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:20px; }.pdv-mod .ent-card{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px 22px;
    display:flex; align-items:center; gap:16px; }.pdv-mod .ent-card-ico{ width:48px; height:48px; border-radius:12px; display:flex; align-items:center;
    justify-content:center; flex-shrink:0; }.pdv-mod .ent-card-ico svg{ width:24px; height:24px; }.pdv-mod .ent-card .lab{ font-size:13px; color:var(--muted); text-transform:uppercase; letter-spacing:.5px; }.pdv-mod .ent-card .val{ font-family:'Sora'; font-size:24px; font-weight:700; margin-top:2px; }.pdv-mod .ent-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(380px,1fr)); gap:14px; }.pdv-mod .ent-cartao{ background:#fff; border:1px solid var(--line); border-radius:14px;
    padding:18px 20px; display:flex; flex-direction:column; gap:10px; transition:.15s; }.pdv-mod .ent-cartao:hover{ border-color:#c7ccd3; box-shadow:0 4px 18px rgba(0,0,0,.06); }.pdv-mod .ent-cartao.entregue{ background:#f0fdf4; border-color:#bbf7d0; }.pdv-mod .ent-cartao.entregue .ent-num, .pdv-mod .ent-cartao.entregue .ent-cli{ opacity:.75; }.pdv-mod .ent-cartao-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }.pdv-mod .ent-num{ font-family:'Sora'; font-size:22px; font-weight:700; color:#16181d; }.pdv-mod .ent-data{ font-size:13px; color:var(--muted); }.pdv-mod .ent-cli{ font-size:15px; font-weight:600; color:#16181d; }.pdv-mod .ent-cli.semcli{ color:var(--muted); font-style:italic; font-weight:500; }.pdv-mod .ent-itens{ font-size:14px; color:#374151; line-height:1.6; padding:8px 0;
    border-top:1px dashed #e0e3e7; border-bottom:1px dashed #e0e3e7; }.pdv-mod .ent-pag{ display:flex; align-items:center; gap:8px; font-size:14px; }.pdv-mod .ent-pag .pgicon-bg{ width:32px; height:24px; border-radius:5px; display:inline-flex;
    align-items:center; justify-content:center; }.pdv-mod .ent-pag .pgicon-bg svg{ width:14px; height:14px; }.pdv-mod .ent-valor{ font-family:'Sora'; font-size:20px; font-weight:700; color:var(--brand); margin-left:auto; }.pdv-mod .ent-cartao-foot{ display:flex; gap:8px; margin-top:6px; }.pdv-mod .ent-btn{ flex:1; padding:11px; border:none; border-radius:8px; font-family:'DM Sans';
    font-size:14px; font-weight:600; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; }.pdv-mod .ent-btn svg{ width:16px; height:16px; }.pdv-mod .ent-btn.ok{ background:#16a34a; color:#fff; }.pdv-mod .ent-btn.ok:hover{ background:#15803d; }.pdv-mod .ent-btn.desfazer{ background:#fff; color:#6b7280; border:1px solid var(--line); }.pdv-mod .ent-btn.desfazer:hover{ background:#f3f4f6; }.pdv-mod .ent-btn.detalhe{ background:#fff; color:#374151; border:1px solid var(--line); }.pdv-mod .ent-btn.detalhe:hover{ background:#f3f4f6; }.pdv-mod .ent-tag-ok{ display:inline-flex; align-items:center; gap:6px; background:#16a34a; color:#fff;
    padding:4px 10px; border-radius:999px; font-size:12px; font-weight:700; }.pdv-mod .ent-tag-ok svg{ width:14px; height:14px; }.pdv-mod .ent-endereco{ font-size:13px; color:#374151; background:#fafbfc; padding:8px 10px;
    border-radius:6px; line-height:1.4; }.pdv-mod .ent-endereco b{ color:#16181d; }.pdv-mod .fcx-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.5); z-index:90;
    display:flex; align-items:center; justify-content:center; }.pdv-mod .fcx-overlay.hidden{ display:none; }.pdv-mod .fcx-modal{ background:#fff; border-radius:12px; width:540px; max-width:96vw; max-height:92vh;
    overflow-y:auto; box-shadow:0 30px 80px rgba(0,0,0,.35); padding:28px 32px; }.pdv-mod .fcx-modal h3{ font-family:'Sora'; font-size:22px; font-weight:700; margin-bottom:6px; }.pdv-mod .fcx-sub{ color:#6b7280; font-size:14px; margin-bottom:20px; }.pdv-mod .fcx-grid{ display:grid; gap:8px; padding:14px 16px; background:#fafbfc; border-radius:8px; margin-bottom:16px; }.pdv-mod .fcx-row{ display:flex; justify-content:space-between; align-items:center; font-size:14px; }.pdv-mod .fcx-row b{ font-family:'Sora'; }.pdv-mod .fcx-row.sep{ border-top:1px solid #e0e3e7; padding-top:10px; margin-top:6px; }.pdv-mod .fcx-row.tot{ font-size:17px; padding-top:8px; }.pdv-mod .fcx-row.tot b{ color:var(--brand); font-size:19px; }.pdv-mod .fcx-input-grupo{ margin-bottom:14px; }.pdv-mod .fcx-input-grupo label{ display:block; font-size:14px; font-weight:600; color:#374151; margin-bottom:6px; }.pdv-mod .fcx-input-grupo input{ width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:6px;
    font-family:'Sora'; font-size:18px; font-weight:700; outline:none; }.pdv-mod .fcx-input-grupo input:focus{ border-color:var(--brand); }.pdv-mod .fcx-input-grupo .ajuda{ font-size:12px; color:var(--muted); margin-top:4px; }.pdv-mod .fcx-diff{ padding:12px 16px; border-radius:8px; margin-bottom:16px; display:flex;
    justify-content:space-between; align-items:center; font-size:15px; font-weight:600; }.pdv-mod .fcx-diff.zero{ background:#dcfce7; color:#15803d; }.pdv-mod .fcx-diff.sobra{ background:#dbeafe; color:#1d4ed8; }.pdv-mod .fcx-diff.falta{ background:#fee2e2; color:#b91c1c; }.pdv-mod .fcx-foot{ display:flex; gap:10px; margin-top:8px; }.pdv-mod .fcx-foot .btn{ flex:1; padding:13px; }
/* Item "voltar aos sistemas/cards" na sidebar do PDV */
/* botão "← Sistemas" PADRONIZADO (mesmo .back-modules dos outros módulos), adaptado à sidebar clara do PDV */
.pdv-mod .back-modules{ display:block; width:100%; box-sizing:border-box; margin:0 0 10px; background:#f1f5f9; color:#334155; border:1px solid var(--line); border-radius:8px; padding:10px 12px; font-weight:600; font-size:13px; text-align:left; }
.pdv-mod .back-modules:hover{ background:#e2e8f0; color:#0f172a; }
/* Barra do cliente no topo da venda */
.pdv-mod .pdv-cliente-topo{ display:flex; align-items:center; gap:10px; padding:10px 22px; border-bottom:1px solid #e0e3e7; background:#fbfcfe; color:#2563eb; font-size:16px; }
.pdv-mod .pdv-cliente-topo.hidden{ display:none; }
.pdv-mod .pdv-cliente-topo .pct-ico{ width:22px; height:22px; color:#2563eb; flex-shrink:0; }
.pdv-mod .pdv-cliente-topo b{ font-weight:700; color:#2563eb; }
.pdv-mod .pct-x{ width:20px; height:20px; border:none; background:#e5e7eb; color:#6b7280; border-radius:50%; cursor:pointer; font-size:11px; line-height:1; display:flex; align-items:center; justify-content:center; padding:0; }
.pdv-mod .pct-x:hover{ background:#ef4444; color:#fff; }
/* Menu de acoes (tres pontinhos) de cada cliente na lista */
.pdv-mod .cli-acao{ display:flex; align-items:center; gap:6px; }
.pdv-mod .cli-menu-btn{ border:none; background:none; cursor:pointer; font-size:20px; line-height:1; color:#6b7280; width:26px; height:26px; border-radius:6px; flex-shrink:0; }
.pdv-mod .cli-menu-btn:hover{ background:#eef1f5; color:#16181d; }
.cli-row-menu{ position:fixed; z-index:99999; background:#fff; border:1px solid #e0e3e7; border-radius:10px; box-shadow:0 12px 40px rgba(0,0,0,.18); min-width:250px; padding:6px; font-family:'DM Sans',sans-serif; }
.cli-row-menu .crm-item{ padding:11px 14px; font-size:14px; color:#16181d; cursor:pointer; border-radius:7px; white-space:nowrap; }
.cli-row-menu .crm-item:hover{ background:#f3f4f6; }
.cli-row-menu .crm-item.danger{ color:#dc2626; }
.cli-row-menu .crm-item.danger:hover{ background:#fef2f2; }
.cli-row-menu .crm-head{ padding:9px 14px 4px; font-size:14px; font-weight:700; color:#16181d; }
.cli-row-menu .crm-item.on{ color:#2563eb; font-weight:600; }
.pdv-mod .cli-icon.on{ border-color:#2563eb; color:#2563eb; }

/* ===== Barra de filtros da aba Vendas (estilo Nex): Buscar / Filtros / Período ===== */
.pdv-mod .vtoolbar{ display:flex; align-items:center; gap:18px; margin-bottom:14px; flex-wrap:wrap; }
.pdv-mod .vtool{ display:inline-flex; align-items:center; gap:7px; background:none; border:none; cursor:pointer;
  font-family:'DM Sans',sans-serif; font-size:13px; color:#16181d; padding:4px 2px; position:relative; }
.pdv-mod .vtool:hover{ color:var(--brand); }
.pdv-mod .vtool svg{ width:17px; height:17px; }
.pdv-mod .vtool .chev-inline svg{ width:13px; height:13px; }
.pdv-mod .vtool-per{ color:var(--brand); font-weight:600; }
.pdv-mod .vt-dot{ width:7px; height:7px; border-radius:50%; background:var(--brand); margin-left:5px; }
/* check de período selecionado no dropdown */
.cli-row-menu.per-menu{ min-width:240px; }
.cli-row-menu .crm-item.ativo{ color:#2563eb; font-weight:600; display:flex; justify-content:space-between; align-items:center; }
.cli-row-menu .crm-item .per-check{ color:#2563eb; }
/* modal Filtrar eventos / Escolher período */
.vfilt-ov{ position:fixed; inset:0; z-index:100000; background:rgba(15,18,25,.45); display:flex; align-items:center; justify-content:center; font-family:'DM Sans',sans-serif; }
.vfilt-box{ background:#fff; border-radius:16px; padding:22px 26px 26px; width:min(560px,92vw); box-shadow:0 24px 70px rgba(0,0,0,.3); position:relative; }
.vfilt-box h3{ text-align:center; font-family:'Sora',sans-serif; font-size:20px; font-weight:700; margin:2px 0 18px; color:#16181d; }
.vfilt-x{ position:absolute; top:16px; left:18px; background:none; border:none; font-size:20px; cursor:pointer; color:#16181d; line-height:1; }
.vfilt-grp{ font-weight:700; color:#16181d; font-size:15px; margin:14px 0 10px; }
.vfilt-cols{ display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; }
.vfilt-chk{ display:flex; align-items:center; gap:9px; font-size:14px; color:#16181d; cursor:pointer; }
.vfilt-chk input{ width:17px; height:17px; accent-color:#2563eb; cursor:pointer; }
.vfilt-all{ margin-bottom:10px; }
.vfilt-aplicar{ width:100%; margin-top:22px; background:#2563eb; color:#fff; border:none; border-radius:10px;
  padding:13px; font-size:15px; font-weight:700; letter-spacing:.5px; cursor:pointer; font-family:'DM Sans',sans-serif; }
.vfilt-aplicar:hover{ background:#1d4ed8; }
.per-cust-row{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.per-cust-row label{ width:44px; font-size:14px; color:#16181d; }
.per-cust-row input{ flex:1; padding:9px 11px; border:1px solid #d7dbe0; border-radius:8px; font-size:14px; font-family:'DM Sans',sans-serif; }

/* ===== Colunas redimensionáveis (arrastar borda do cabeçalho) ===== */
.pdv-mod table.resizable{ table-layout:fixed; }
.pdv-mod table.resizable thead th{ position:relative; overflow:hidden; text-overflow:ellipsis; cursor:move; }
.pdv-mod table.resizable thead th.th-dragover{ box-shadow:inset 3px 0 0 var(--brand); background:#eef2ff; }
.pdv-mod table.resizable tbody td{ overflow:hidden; text-overflow:ellipsis; }
.pdv-mod .col-resize{ position:absolute; top:0; right:0; width:8px; height:100%; cursor:col-resize; user-select:none; z-index:2; }
.pdv-mod .col-resize:hover{ background:var(--brand); opacity:.35; }
body.col-resizing{ cursor:col-resize !important; user-select:none; }
body.col-resizing *{ cursor:col-resize !important; }

/* ===== Form de Cadastro do Produto (estilo Nex) ===== */
.prod-form-ov{ --brand:#1668ff; position:fixed; inset:0; z-index:100000; background:#fff; display:flex; flex-direction:column; font-family:'DM Sans',sans-serif; }
.pf-head{ display:flex; align-items:center; gap:18px; padding:16px 26px; border-bottom:1px solid #eef0f3; }
.pf-back{ background:none; border:none; font-size:22px; cursor:pointer; color:#16181d; line-height:1; }
.pf-tabs{ display:flex; gap:26px; }
.pf-tab{ font-size:15px; color:#9aa1ab; padding-bottom:4px; }
.pf-tab.on{ color:#16181d; font-weight:700; border-bottom:2px solid var(--brand); }
.pf-scroll{ flex:1; overflow-y:auto; }
.pf-body{ display:grid; grid-template-columns:1fr 1fr 320px; gap:40px; max-width:1180px; margin:0 auto; padding:34px 26px; }
.pf-field{ margin-bottom:18px; }
.pf-field2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:18px; }
.pf-col label{ display:block; font-size:13px; color:#5b616b; margin-bottom:6px; }
.pf-col .req{ color:#e11d48; }
.pf-count{ float:right; color:#9aa1ab; font-size:12px; }
.pf-inp{ width:100%; padding:11px 13px; border:1px solid #d7dbe0; border-radius:9px; font-size:14px; font-family:'DM Sans',sans-serif; color:#16181d; outline:none; box-sizing:border-box; }
.pf-inp:focus{ border-color:var(--brand); }
.pf-inp:disabled{ background:#f3f4f6; color:#9aa1ab; }
.pf-area{ resize:vertical; min-height:46px; }
select.pf-inp{ appearance:none; background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239aa1ab' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right 12px center; padding-right:34px; }
.pf-codrow{ display:flex; align-items:stretch; gap:10px; }
.pf-codrow .pf-inp{ flex:1; }
.pf-toggle{ display:flex; align-items:center; gap:8px; white-space:nowrap; border:1px solid #d7dbe0; border-radius:9px; padding:0 12px; cursor:pointer; }
.pf-toggle span:first-child{ font-size:13px; color:#5b616b; margin:0; }
.pf-toggle input{ display:none; }
.pf-sw{ width:38px; height:21px; border-radius:11px; background:#cfd4da; position:relative; transition:.15s; flex:none; }
.pf-sw::after{ content:""; position:absolute; top:2px; left:2px; width:17px; height:17px; border-radius:50%; background:#fff; transition:.15s; }
.pf-toggle input:checked + .pf-sw{ background:var(--brand); }
.pf-toggle input:checked + .pf-sw::after{ left:19px; }
.pf-check{ display:flex; align-items:flex-start; gap:9px; font-size:14px; color:#16181d; margin:6px 0 18px; cursor:pointer; }
.pf-check input{ width:17px; height:17px; margin-top:1px; accent-color:var(--brand); }
.pf-imgcol{ align-items:center; }
.pf-body:not(.adv) .pf-adv{ display:none !important; }
.pf-more{ background:none; border:none; color:#0891b2; font-weight:600; font-size:14px; cursor:pointer; padding:6px 12px; }
.pf-more:hover{ text-decoration:underline; }
@media(min-width:981px){ .pf-body:not(.adv){ grid-template-columns:1fr 1fr; } }
.pf-img{ width:230px; height:200px; border-radius:12px; background:#f1f2f4; display:flex; align-items:center; justify-content:center; cursor:pointer; color:#9aa1ab; }
.pf-img svg{ width:46px; height:46px; }
.pf-img-clear{ display:block; margin:12px auto 0; background:none; border:none; color:#e11d48; font-size:13px; cursor:pointer; font-family:'DM Sans',sans-serif; }
.pf-foot{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:14px 26px; border-top:1px solid #eef0f3; }
.pf-foot-left{ justify-self:start; }
.pf-foot-center{ display:flex; align-items:center; gap:26px; justify-self:center; }
.pf-del{ background:none; border:none; color:#e11d48; font-size:14px; cursor:pointer; font-family:'DM Sans',sans-serif; }
.pf-cancel{ background:none; border:none; color:#16181d; font-weight:700; font-size:14px; cursor:pointer; font-family:'DM Sans',sans-serif; letter-spacing:.5px; }
.pf-save{ background:var(--brand); color:#fff; border:none; border-radius:10px; padding:12px 48px; font-size:14px; font-weight:700; letter-spacing:.5px; cursor:pointer; font-family:'DM Sans',sans-serif; transition:background .12s; }
.pf-save:hover{ background:#1d4ed8; }
.pf-save:disabled{ background:#aeb4bc; color:#f3f4f6; cursor:not-allowed; }
.pf-save:disabled:hover{ background:#aeb4bc; }
/* modal "Deseja salvar suas alterações?" */
.pf-confirm-ov{ position:fixed; inset:0; z-index:100001; background:rgba(15,18,25,.45); display:flex; align-items:center; justify-content:center; }
.pf-confirm{ position:relative; background:#fff; border-radius:16px; padding:30px 34px 26px; width:min(520px,92vw); text-align:center; box-shadow:0 24px 70px rgba(0,0,0,.3); }
.pf-confirm-x{ position:absolute; top:16px; left:18px; background:none; border:none; font-size:20px; cursor:pointer; color:#16181d; line-height:1; }
.pf-confirm h3{ font-family:'Sora',sans-serif; font-size:22px; font-weight:700; margin:6px 0 14px; color:#16181d; }
.pf-confirm p{ color:#5b616b; font-size:15px; line-height:1.5; margin-bottom:24px; }
.pf-confirm-save{ width:100%; background:#1668ff; color:#fff; border:none; border-radius:10px; padding:14px; font-size:15px; font-weight:700; letter-spacing:.5px; cursor:pointer; font-family:'DM Sans',sans-serif; }
.pf-confirm-save:hover{ background:#1d4ed8; }
.pf-confirm-exit{ display:block; margin:16px auto 0; background:none; border:none; color:#16181d; font-weight:700; font-size:14px; letter-spacing:.5px; cursor:pointer; font-family:'DM Sans',sans-serif; }

/* ===== Painel lateral Categorias (estilo Nex) ===== */
.cat-back{ position:fixed; inset:0; z-index:100000; background:rgba(15,18,25,.35); }
.cat-panel{ position:fixed; top:0; right:0; bottom:0; width:min(420px,94vw); z-index:100001; background:#fff; box-shadow:-12px 0 40px rgba(0,0,0,.18); transform:translateX(100%); transition:transform .18s ease; font-family:'DM Sans',sans-serif; display:flex; flex-direction:column; }
.cat-panel.open{ transform:translateX(0); }
.cat-head{ display:flex; align-items:center; justify-content:space-between; padding:16px 22px 0; }
.cat-x{ background:none; border:none; font-size:20px; cursor:pointer; color:#16181d; line-height:1; }
.cat-add{ background:none; border:none; font-size:26px; cursor:pointer; color:#1668ff; line-height:1; }
.cat-title{ text-align:center; font-family:'Sora',sans-serif; font-size:20px; font-weight:700; color:#16181d; margin:2px 0 18px; }
.cat-search{ display:flex; align-items:center; gap:10px; border:1px solid #d7dbe0; border-radius:24px; padding:10px 16px; margin:0 22px 14px; }
.cat-search svg{ width:18px; height:18px; color:#9aa1ab; }
.cat-search input{ border:none; outline:none; flex:1; font-size:14px; font-family:'DM Sans',sans-serif; }
.cat-list{ flex:1; overflow-y:auto; padding:0 12px 18px; }
.cat-item{ display:flex; align-items:center; justify-content:space-between; padding:15px 14px; border-bottom:1px solid #f1f2f4; cursor:pointer; font-size:15px; color:#16181d; }
.cat-item:hover{ background:#f8fafc; }
.cat-ct{ color:#9aa1ab; font-weight:400; }
.cat-chev{ color:#c2c7cd; font-size:20px; }
.cat-empty{ color:#9aa1ab; text-align:center; padding:24px; }
.cat-edit{ display:flex; align-items:center; gap:8px; padding:10px 12px; border-bottom:1px solid #f1f2f4; }
.cat-inp{ flex:1; min-width:0; padding:9px 11px; border:1px solid #1668ff; border-radius:8px; font-size:14px; font-family:'DM Sans',sans-serif; outline:none; text-transform:uppercase; }
.cat-ok{ background:#1668ff; color:#fff; border:none; border-radius:8px; padding:9px 14px; font-size:13px; font-weight:700; cursor:pointer; white-space:nowrap; }
.cat-del{ background:none; border:none; cursor:pointer; font-size:16px; }
.cat-cancel{ background:none; border:none; cursor:pointer; font-size:16px; color:#9aa1ab; }

/* ===== Relatórios: filtros clicáveis + botão imprimir ===== */
.pdv-mod .rel-filtro{ cursor:pointer; user-select:none; transition:background .1s; }
.pdv-mod .rel-filtro:hover{ background:#eef2ff; }
.pdv-mod .rel-titulo{ display:flex; align-items:center; gap:10px; }
.pdv-mod .rel-print{ margin-left:auto; background:#fff; border:1px solid var(--line); border-radius:9px; padding:8px 16px;
  font-size:13px; font-weight:600; color:#16181d; cursor:pointer; font-family:'DM Sans',sans-serif; }
.pdv-mod .rel-print:hover{ background:#f3f4f6; border-color:var(--brand); color:var(--brand); }
@media print{
  .pdv-mod .sidebar, .pdv-mod .topbar, .pdv-mod .rel-sidebar, .pdv-mod .rel-filtros, .pdv-mod .rel-print{ display:none !important; }
  .pdv-mod .rel-layout{ grid-template-columns:1fr !important; height:auto !important; }
  .pdv-mod .rel-main{ overflow:visible !important; }
}
@media(max-width:980px){ .pf-body{ grid-template-columns:1fr; } }

/* ============================================================
   RESPONSIVO MOBILE (≤780px) — Fase 1: sistema utilizável no celular.
   Só ativa em telas pequenas; NÃO altera o desktop.
   ============================================================ */
@media(max-width:780px){
  /* --- NÚCLEO (Frota/Agregados/Usuários): a @media(max-width:900px) acima JÁ deixa a
     sidebar como "icon-rail" (60px, só ícones). NÃO sobrescrever aqui (conflita e some o ícone).
     Só reduzo o padding do conteúdo no celular. --- */
  .main-content{ min-width:0; padding:14px !important; }
  .main-content .table-wrapper, .main-content .table-wrap{ max-width:100%; overflow-x:auto; }
  /* rodapé dos modais do núcleo no celular: contador numa linha, botões grandes embaixo (sem quebrar o texto do botão) */
  .modal-footer{ flex-wrap:wrap; }
  .modal-footer>div{ flex-basis:100%; }
  .modal-footer .btn{ flex:1 1 0; white-space:nowrap; padding:12px 8px; }

  /* --- PDV (Vendas): idem --- */
  .pdv-mod .app{ flex-direction:column; height:auto; min-height:100vh; }
  .pdv-mod .sidebar{
    width:100% !important; height:auto !important; flex-direction:row; align-items:center;
    overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch;
    border-right:none !important; border-bottom:1px solid var(--line); gap:4px;
    /* reserva a barra de status do iPhone (relógio/bateria) — env()=0 fora de aparelho com notch */
    padding:6px; padding-top:calc(6px + env(safe-area-inset-top, 0px));
  }
  .pdv-mod .sb-nav{ display:flex !important; flex-direction:row; overflow-x:auto; overflow-y:hidden; gap:2px; flex:1; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .pdv-mod .sb-nav::-webkit-scrollbar{ display:none; }
  .pdv-mod .sb-nav .sb-item{ white-space:nowrap; min-width:max-content; padding:10px 14px !important; margin:0 !important; font-size:13px; }
  .pdv-mod .sb-nav .sb-item .ic{ display:none !important; }
  .pdv-mod .sb-top{ flex-shrink:0; width:auto !important; padding:0 8px !important; }
  /* "← Sistemas" (voltar) no celular: vira chip no INÍCIO da barra horizontal (já é o 1º elemento) */
  .pdv-mod .sb-nav .back-modules{ width:auto !important; margin:0 6px 0 0 !important; padding:9px 13px !important; color:var(--brand); border:1px solid var(--line); font-weight:700; white-space:nowrap; flex-shrink:0; }
  .pdv-mod .main{ margin-left:0 !important; min-width:0; }
  .pdv-mod .content{ padding:12px !important; }
  .pdv-mod .topbar{ height:auto; min-height:50px; padding:8px 12px; flex-wrap:wrap; gap:8px; }

  /* --- tabelas rolam na horizontal (não estouram a tela) --- */
  .table-wrap, .table-wrapper, .scroll, .pdv-mod .table-wrap, .pdv-mod .scroll{
    overflow-x:auto !important; -webkit-overflow-scrolling:touch; max-width:100%;
  }

  /* --- toolbars / botões: quebram linha e ficam do tamanho do dedo --- */
  .actions, .pdv-mod .actions, .vtoolbar, .pdv-mod .vtoolbar,
  .caixa-actions, .pdv-mod .caixa-actions{ flex-wrap:wrap !important; gap:8px; }

  /* --- home: 1 card por linha --- */
  .module-grid{ grid-template-columns:1fr 1fr; gap:12px; }
  .module-card{ max-width:none; width:100%; min-width:0; padding:18px 14px 14px; }
  .picker-screen{ padding:18px 14px; }
}
/* ============================================================
   RESPONSIVO MOBILE — Fase 2/3 (≤780px): facilitar a visualização.
   TODA tabela vira CARD no celular (label: valor): as simples
   (Caixas Anteriores, Ver Detalhes, Conferência PIX, Relatórios = ext-table/
   rel-tbl/.pixc) E os grids complexos (Vendas=.resizable, Produtos/Clientes=
   .cli-table) — pra esses destravamos a altura fixa de linha, o overflow
   cortado e a largura inline do grid. Abas e modais ganham scroll/tela cheia.
   data-label + .mobcards são adicionados por mobAnnotateTables() no pdv.js.
   ============================================================ */
@media(max-width:780px){
  /* abas roláveis: modal Ver Detalhes/Ver Total + subtabs do Caixa/Produtos/Entregas */
  .pdv-mod .vt-tabs, .pdv-mod .caixa-tabs, .pdv-mod .prod-tabs, .pdv-mod .ent-tabs{ display:flex; flex-wrap:nowrap !important; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .pdv-mod .vt-tabs::-webkit-scrollbar, .pdv-mod .caixa-tabs::-webkit-scrollbar, .pdv-mod .prod-tabs::-webkit-scrollbar, .pdv-mod .ent-tabs::-webkit-scrollbar{ display:none; }
  .pdv-mod .vt-tab, .pdv-mod .caixa-tab, .pdv-mod .prod-tab, .pdv-mod .ent-tab{ white-space:nowrap !important; flex:0 0 auto; }

  /* modais Ver Detalhes / Ver Total em TELA CHEIA no celular */
  .pdv-mod .vd-overlay, .pdv-mod .vt-overlay{ align-items:stretch !important; }
  .pdv-mod .vd-modal, .pdv-mod .vt-modal{ width:100% !important; max-width:100vw !important; max-height:100vh !important; height:100vh !important; border-radius:0 !important; display:flex; flex-direction:column; }
  .pdv-mod .vd-modal #vdContent, .pdv-mod .vt-modal #vtBody{ overflow-y:auto; flex:1 1 auto; }

  /* TODA tabela marcada vira CARDS (label: valor) */
  .pdv-mod table.mobcards thead{ display:none; }
  .pdv-mod table.mobcards, .pdv-mod table.mobcards tbody{ display:block; width:100% !important; }
  .pdv-mod table.mobcards{ min-width:0 !important; table-layout:auto !important; }
  .pdv-mod table.mobcards tr{ display:block; width:auto !important; height:auto !important; border:1px solid #e5e7eb; border-radius:10px; margin:0 0 10px; padding:4px 12px; background:#fff; }
  .pdv-mod table.mobcards tbody tr{ height:auto !important; }
  .pdv-mod table.mobcards td{ display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:7px 0; border:none !important; text-align:right !important; font-size:14px; height:auto !important; width:auto !important; max-width:100% !important; overflow:visible !important; text-overflow:clip !important; white-space:normal; }
  .pdv-mod table.mobcards td::before{ content:attr(data-label); font-weight:600; color:#6b7280; text-align:left; flex:0 0 auto; }
  .pdv-mod table.mobcards tr.ext-total{ background:#f1f5f9; }
  .pdv-mod table.mobcards tr.done{ background:#ecfdf5; }
  /* esconde o painel "arraste o cabeçalho" dos grids (sem uso no celular) */
  .pdv-mod .drag-hint{ display:none !important; }

  /* Produtos: categorias em cima (full width) + tabela embaixo */
  .pdv-mod .prod-layout{ display:block !important; }
  .pdv-mod .prod-cats{ width:auto !important; max-width:none !important; border-right:none !important; border-bottom:1px solid var(--line); margin-bottom:10px; }

  /* Entregas: cards de estatística em 2 colunas (minmax(0): sem isso o conteúdo estica a coluna e corta na direita) */
  .pdv-mod .ent-stats{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .pdv-mod .ent-stats .stat-card, .pdv-mod .ent-stats>div{ min-width:0; }

  /* Relatórios: empilha o menu (rolável) e o conteúdo */
  .pdv-mod .rel-layout{ grid-template-columns:1fr !important; height:auto !important; }
  .pdv-mod .rel-sidebar{ height:auto !important; max-height:190px; border-right:none !important; border-bottom:1px solid var(--line); }
  .pdv-mod .rel-main{ overflow:visible !important; padding:14px !important; }

  /* Tela de Venda (Nova Venda): barra quebra em linhas (✕ acessível),
     busca em cima sozinha (full width), carrinho rola se precisar */
  .pdv-mod .pdv-bar{ flex-wrap:wrap !important; height:auto !important; row-gap:4px; }
  .pdv-mod .pdv-input-row{ flex-wrap:wrap !important; height:auto !important; gap:8px; }
  .pdv-mod .pdv-input-row .pdv-search{ flex:1 1 100% !important; width:100% !important; }
  .pdv-mod .pdv-cart{ overflow-x:auto; }
}
/* lista de produtos: imagem e inativos */
.pdv-mod .prod-img-cell{ width:42px; height:42px; border-radius:8px; }
.pdv-mod tr.prod-inativo{ opacity:.55; }
.pdv-mod .prod-inativo-tag{ font-size:11px; color:#9aa1ab; border:1px solid #d7dbe0; border-radius:5px; padding:1px 6px; margin-left:6px; }
/* Linha de debito/credito no detalhe do cliente (embaixo do avatar) */
.pdv-mod .cli-side-debito{ color:#dc2626; font-weight:700; font-size:15px; margin-top:2px; }
.pdv-mod .cli-side-credito{ color:#16a34a; font-weight:700; font-size:15px; margin-top:2px; }
/* Pagar débito do cliente */
.pgd-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.45); z-index:99998; display:flex; align-items:flex-start; justify-content:center; padding:40px; font-family:'DM Sans',sans-serif; overflow:auto; }
.pgd-modal{ background:#fff; border-radius:14px; width:760px; max-width:96vw; padding:26px 30px; position:relative; box-shadow:0 30px 80px rgba(0,0,0,.35); display:flex; flex-direction:column; max-height:calc(100vh - 80px); }
.pgd-modal>h3,.pgd-modal>.pgd-deb,.pgd-modal>.pgd-pay,.pgd-modal>.pgd-foot{ flex:0 0 auto; }
.pgd-tablewrap{ flex:1 1 auto; overflow:auto; min-height:90px; margin-bottom:18px; }
.pgd-close{ position:absolute; top:14px; right:16px; border:none; background:none; font-size:20px; cursor:pointer; color:#16181d; }
.pgd-modal h3{ font-family:'Sora',sans-serif; font-size:22px; font-weight:800; margin-bottom:4px; }
.pgd-deb{ color:#6b7280; font-size:14px; margin-bottom:16px; }
.pgd-deb b{ color:#dc2626; }
.pgd-table{ width:100%; border-collapse:collapse; margin-bottom:0; }
.pgd-table th{ text-align:left; font-size:12px; color:#6b7280; text-transform:uppercase; padding:8px 10px; border-bottom:1px solid #e5e7eb; position:sticky; top:0; background:#fff; z-index:1; }
.pgd-table td{ padding:11px 10px; font-size:14px; border-bottom:1px solid #f1f2f4; }
.pgd-table .r{ text-align:right; }
.pgd-pay{ display:flex; flex-direction:column; gap:10px; align-items:flex-end; margin-bottom:18px; }
.pgd-opt{ display:flex; align-items:center; gap:8px; font-size:15px; }
.pgd-val{ width:140px; text-align:right; padding:8px 10px; border:1px solid #d9dce1; border-radius:8px; font-size:15px; }
.pgd-foot{ display:flex; gap:12px; }
.pgd-foot .btn{ padding:12px 26px; border:none; border-radius:999px; font-family:'DM Sans',sans-serif; font-size:15px; font-weight:700; cursor:pointer; }
.pgd-foot .btn-primary{ background:#2563eb; color:#fff; }
.pgd-foot .btn-grey{ background:#e5e7eb; color:#374151; }
/* Painel lateral de resumo da venda (desliza da direita) */
.rv-back{ position:fixed; inset:0; background:rgba(15,23,42,.35); z-index:99997; }
.rv-panel{ position:fixed; top:0; right:0; bottom:0; width:430px; max-width:94vw; background:#fff; z-index:99998; box-shadow:-12px 0 44px rgba(0,0,0,.22); padding:18px 26px 26px; overflow-y:auto; font-family:'DM Sans',sans-serif; color:#16181d; display:flex; flex-direction:column; transform:translateX(100%); transition:transform .22s ease; }
.rv-panel.open{ transform:translateX(0); }
.rv-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.rv-x{ border:none; background:none; font-size:20px; cursor:pointer; color:#16181d; }
.rv-actions{ display:flex; align-items:center; gap:18px; }
.rv-dots{ cursor:pointer; font-size:22px; color:#6b7280; line-height:1; }
.rv-act{ color:#2563eb; cursor:pointer; font-weight:600; font-size:14px; }
.rv-valor{ font-family:'Sora',sans-serif; font-size:34px; font-weight:800; line-height:1.1; }
.rv-num{ color:#6b7280; font-size:14px; margin:4px 0 20px; }
.rv-meta{ display:flex; flex-direction:column; gap:11px; margin-bottom:18px; }
.rv-meta-row{ display:flex; gap:10px; font-size:14px; align-items:baseline; }
.rv-meta-row span{ color:#6b7280; min-width:90px; }
.rv-meta-row b{ font-weight:600; }
.rv-itens{ display:flex; flex-direction:column; }
.rv-item{ display:flex; justify-content:space-between; font-size:15px; padding:8px 0; }
.rv-sep{ border-top:1px solid #e5e7eb; margin:10px 0 14px; }
.rv-tot{ display:flex; justify-content:flex-end; gap:12px; font-size:17px; font-weight:800; font-family:'Sora',sans-serif; }
.rv-pag{ display:flex; justify-content:flex-end; gap:12px; font-size:14px; color:#374151; margin-top:6px; }
.rv-foot{ margin-top:auto; padding-top:24px; display:flex; flex-direction:column; gap:14px; align-items:flex-start; }
.rv-cancelar{ color:#dc2626; cursor:pointer; font-size:14px; }
.rv-pagbtn{ background:#2563eb; color:#fff; border:none; border-radius:10px; padding:15px; font-family:'DM Sans',sans-serif; font-size:15px; font-weight:700; cursor:pointer; width:100%; }
.rv-pagbtn:hover{ background:#1d4ed8; }

/* ============================================================
   PWA iOS INSTALADO (tela cheia): reserva o espaço do relógio/
   status bar (safe area) pro conteúdo não ficar cortado em cima.
   Fora do app instalado env() = 0 e nada muda.
   ============================================================ */
@media all and (display-mode: standalone){
  body{ padding-top: env(safe-area-inset-top, 0px); }
  .sidebar{ padding-top: env(safe-area-inset-top, 0px); }               /* sidebar fixa do núcleo (Frota/Agregados/Pesagem/Usuários) */
  .picker-screen{ padding-top: calc(26px + env(safe-area-inset-top, 0px)); }  /* tela de módulos */
  .modal-overlay, .pgd-overlay{ padding-top: env(safe-area-inset-top, 0px); } /* modais em tela cheia */
  .pdv-mod .sidebar{ padding-top:6px; }  /* instalado: o body já reservou a área segura — evita gap dobrado no PDV */
}
