:root{
  --pdv-bg:#eef0f3;
  --pdv-card:#ffffff;
  --pdv-orange:#ff6a00;
  --pdv-green:#00a651;
  --pdv-dark:#20242c;
  --pdv-border:#e0e2e7;
  --pdv-text:#20242c;
  --pdv-text-dim:#767b85;
  --pdv-danger:#e5393f;
  --pdv-blue:#2f6fed;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;height:100%;background:var(--pdv-bg);color:var(--pdv-text);
  font-family:"Source Sans Pro","Segoe UI",Arial,sans-serif;}
button,input,textarea,select{font-family:inherit;}
button{cursor:pointer;}
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-thumb{background:#cfd2d8;border-radius:4px;}

/* ---------- login ---------- */
.pdv-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--pdv-dark);}
.pdv-login-card{background:var(--pdv-card);border-radius:14px;padding:36px 32px;width:340px;max-width:90vw;box-shadow:0 20px 60px rgba(0,0,0,.35);}
.pdv-login-card h1{font-size:20px;margin:0 0 6px;}
.pdv-login-card p{font-size:13px;color:var(--pdv-text-dim);margin:0 0 20px;}
.pdv-login-card input{width:100%;padding:11px 12px;border:1px solid var(--pdv-border);border-radius:8px;font-size:14px;margin-bottom:14px;}
.pdv-login-card button{width:100%;padding:12px;border:none;border-radius:8px;background:var(--pdv-orange);color:#fff;font-weight:700;font-size:14px;}
.pdv-login-error{color:var(--pdv-danger);font-size:13px;margin-top:8px;min-height:16px;}

/* ---------- shell ---------- */
#pdvApp{height:100vh;width:100%;}
.pdv-shell{display:flex;height:100vh;width:100%;}
.pdv-sidebar{position:fixed;left:0;top:0;bottom:0;width:84px;background:var(--pdv-dark);border-right:1px solid #2a2f3a;box-shadow:2px 0 8px rgba(0,0,0,.2);display:flex;flex-direction:column;align-items:center;padding:18px 0;gap:10px;z-index:100;overflow:hidden;transition:width .18s ease;}
.pdv-sidebar.expanded{width:300px;align-items:stretch;padding:20px 14px;box-shadow:6px 0 28px rgba(0,0,0,.4);overflow-y:auto;}
.pdv-sidebar-toggle{width:44px;height:44px;flex-shrink:0;background:transparent;border:none;border-radius:10px;font-size:19px;color:#e4e6ea;align-self:center;}
.pdv-sidebar.expanded .pdv-sidebar-toggle{align-self:flex-start;}
.pdv-sidebar-toggle:hover{background:#2a2f3a;}
.pdv-sidebar-brand{display:none;align-items:center;gap:10px;width:100%;padding-bottom:14px;margin-bottom:4px;border-bottom:1px solid #333c4d;}
.pdv-sidebar.expanded .pdv-sidebar-brand{display:flex;}
.pdv-sidebar-brand-icon{width:40px;height:40px;object-fit:contain;flex-shrink:0;}
.pdv-sidebar-brand-name{font-weight:800;font-size:14px;color:#fff;}
.pdv-sidebar-status{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;padding:4px 8px;border-radius:20px;background:#262c38;color:var(--pdv-green);border:1px solid var(--pdv-green);white-space:nowrap;flex-shrink:0;}
.pdv-sidebar-status.fechado{background:#262c38;color:#8891a0;border-color:#4a5262;}
.pdv-sidebar.expanded .pdv-sidebar-status{align-self:flex-start;font-size:10.5px;padding:5px 14px;margin-bottom:4px;}
.pdv-sidebar-tabs{display:flex;flex-direction:column;gap:10px;width:100%;align-items:center;}
.pdv-sidebar.expanded .pdv-sidebar-tabs{align-items:stretch;gap:8px;}
.pdv-nav-row{display:flex;align-items:center;justify-content:center;gap:0;background:transparent;border:none;border-left:4px solid transparent;border-radius:14px;padding:4px;text-decoration:none;transition:background .15s;width:100%;}
.pdv-sidebar.expanded .pdv-nav-row{justify-content:center;gap:12px;padding:12px 10px;background:#262c38;border-left-color:var(--pdv-orange);margin-bottom:2px;}
.pdv-nav-row:hover{background:#262c38;}
.pdv-nav-row.active{border-left-color:var(--pdv-orange);background:#262c38;}
.pdv-sidebar.expanded .pdv-nav-row.active{background:linear-gradient(160deg,var(--pdv-orange),#ff8c3d);border-left-color:var(--pdv-orange);box-shadow:0 6px 16px rgba(255,106,0,.35);}
.pdv-row-circle{width:60px;height:60px;border-radius:14px;background:transparent;border:none;box-shadow:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;}
.pdv-row-circle img{width:58px;height:58px;object-fit:contain;}
.pdv-row-label{display:none;font-weight:700;font-size:17px;line-height:1.2;color:#e4e6ea;min-width:0;}
.pdv-sidebar.expanded .pdv-row-label{display:block;}
.pdv-sidebar.expanded .pdv-nav-row.active .pdv-row-label{color:#fff;}
.pdv-sidebar-spacer{flex:1;}
.pdv-sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(20,22,28,.4);z-index:90;}
.pdv-sidebar-backdrop.show{display:block;}
.pdv-main-col{margin-left:84px;flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;}
.pdv-topbar{height:56px;flex-shrink:0;background:var(--pdv-dark);border-bottom:1px solid #2a2f3a;box-shadow:0 2px 8px rgba(0,0,0,.2);}
@media (max-width:640px){
  .pdv-sidebar{width:64px;}
  .pdv-sidebar.expanded{width:240px;}
  .pdv-main-col{margin-left:64px;}
  .pdv-row-circle{width:40px;height:40px;}
  .pdv-row-circle img{width:24px;height:24px;}
  .pdv-sidebar-status{font-size:0;padding:0;width:10px;height:10px;border-radius:50%;}
  .pdv-sidebar.expanded .pdv-sidebar-status{font-size:10px;padding:5px 12px;width:auto;height:auto;border-radius:20px;}
}
#pdvMain{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0;}

/* ---------- hub grids (mesas/balcao/entrega) ---------- */
.pdv-hub{display:flex;gap:18px;padding:18px;height:100%;overflow:hidden;}
.pdv-hub-left{flex:1;overflow-y:auto;}
.pdv-hub-right{width:280px;flex:0 0 280px;background:var(--pdv-card);border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:center;}
.hist-panel{width:440px;flex:0 0 440px;background:var(--pdv-card);border-radius:12px;padding:16px;display:flex;flex-direction:column;min-height:0;}
.hist-title{font-weight:800;font-size:14px;margin-bottom:12px;flex:0 0 auto;}
.hist-list{overflow-y:auto;flex:1;min-height:0;}
.hist-row{border:1px solid var(--pdv-border);border-left:4px solid var(--pdv-green);border-radius:8px;padding:10px 12px;margin-bottom:8px;cursor:pointer;transition:background .12s;}
.hist-row:hover{background:#f5f6f8;}
.hist-row.cancelada{border-left-color:var(--pdv-danger);}
.hist-row-top{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.hist-mesa{font-weight:800;font-size:12.5px;}
.hist-badge{font-size:10px;font-weight:800;text-transform:uppercase;padding:2px 8px;border-radius:10px;background:#eaf7ee;color:var(--pdv-green);white-space:nowrap;}
.hist-row.cancelada .hist-badge{background:#fdeaea;color:var(--pdv-danger);}
.hist-row-mid{font-size:11.5px;color:var(--pdv-text-dim);margin-top:2px;}
.hist-row-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:6px;}
.hist-total{font-weight:800;font-size:13px;color:var(--pdv-text);}
.hist-row.cancelada .hist-total{color:var(--pdv-text-dim);text-decoration:line-through;}
.hist-methods{font-size:11px;color:var(--pdv-text-dim);}
.hist-time{font-size:10px;color:var(--pdv-text-dim);margin-top:4px;text-align:right;}
.hist-detail-section{margin-top:14px;}
.hist-detail-title{font-weight:800;font-size:12.5px;color:var(--pdv-text-dim);text-transform:uppercase;margin-bottom:6px;}
.hist-detail-item{display:flex;justify-content:space-between;font-size:13.5px;padding:5px 0;border-bottom:1px solid var(--pdv-border);}
.hist-detail-item:last-child{border-bottom:none;}
.hist-detail-total{margin-top:14px;font-weight:800;font-size:16px;text-align:right;color:var(--pdv-text);}
.pdv-filtertabs{display:flex;gap:6px;margin-bottom:14px;}
.pdv-filtertabs button{background:#e9eaee;border:none;padding:7px 14px;border-radius:20px;font-size:12px;font-weight:700;color:var(--pdv-text-dim);}
.pdv-filtertabs button.active{background:var(--pdv-orange);color:#fff;}
.tiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;}
.tile{background:var(--pdv-card);border-radius:12px;padding:16px 12px;text-align:center;border:2px solid transparent;position:relative;min-height:120px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;}
.tile.livre{border-color:var(--pdv-border);}
.tile.ocupada{border-color:var(--pdv-orange);background:#fff6ee;}
.tile.ocupada.time-blue{border-color:#5b9bd5;background:#eaf3fc;}
.tile.ocupada.time-orange{border-color:var(--pdv-orange);background:#fff1e0;}
.tile.ocupada.time-red{border-color:var(--pdv-danger);background:#fdeaea;}
.tile-icon{font-size:28px;}
.tile-name{font-weight:800;font-size:14px;margin-top:4px;}
.tile-meta{display:flex;gap:10px;font-size:12px;color:var(--pdv-text-dim);margin-top:4px;}
.tile-total{font-size:13px;font-weight:800;color:var(--pdv-green);margin-top:2px;}
.tile-del{position:absolute;top:6px;right:8px;background:none;border:none;color:var(--pdv-text-dim);font-size:16px;line-height:1;}
.tile-add{border:2px dashed var(--pdv-border);background:transparent;color:var(--pdv-text-dim);font-weight:700;font-size:14px;}
.tile-add .tile-icon{color:var(--pdv-orange);}
/* ---------- rodape do pedido: cliente / tipo ---------- */
.atd-tipo-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 12px 0;}
.atd-tipo-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 6px;border:2px solid var(--pdv-border);border-radius:10px;background:var(--pdv-card);text-align:center;min-height:84px;}
.atd-tipo-card.selected{border-color:var(--pdv-orange);background:#fff6ee;}
.atd-tipo-card .atd-tipo-ico{font-size:18px;line-height:1;}
.atd-tipo-card strong{font-size:12.5px;font-weight:800;color:var(--pdv-text);}
.atd-tipo-card span{font-size:10.5px;color:var(--pdv-text-dim);line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.order-cart-totals.atd-finalizar{cursor:pointer;background:var(--pdv-green);color:#fff;}
.order-cart-totals.atd-finalizar.is-disabled{opacity:.5;pointer-events:none;}

/* ---------- modal de identificacao ---------- */
.pdv-opcional{font-weight:400;font-size:11px;color:var(--pdv-text-dim);}
.pdv-erro{color:var(--pdv-danger);font-size:12px;font-weight:600;min-height:16px;margin-top:3px;}
.pdv-contador{text-align:right;font-size:11px;color:var(--pdv-text-dim);margin-top:3px;}
.pdv-collapse{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:none;border:none;border-top:1px solid var(--pdv-border);padding:12px 0;font-size:14px;font-weight:800;color:var(--pdv-text);}
.pdv-id-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:16px;}
.pdv-id-actions button{padding:12px;border:none;border-radius:8px;font-weight:700;font-size:13.5px;}
.pdv-btn-cancelar{background:var(--pdv-danger);color:#fff;}
.pdv-btn-voltar{background:#eceef1;color:var(--pdv-text);}
.pdv-btn-salvar{background:var(--pdv-green);color:#fff;}

/* ---------- kanban entrega ---------- */
.kanban-board{display:flex;gap:14px;height:100%;padding:16px;overflow-x:auto;overflow-y:hidden;position:relative;}
.kanban-col{flex:1 0 240px;max-width:280px;display:flex;flex-direction:column;background:#f0f1f3;border-radius:12px;overflow:hidden;}
.kanban-col-head{display:flex;align-items:center;gap:8px;padding:12px 14px;color:#fff;font-weight:800;font-size:13px;letter-spacing:.3px;}
.kanban-col-icon{font-size:15px;}
.kanban-col-body{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:10px;}
.kanban-empty{color:var(--pdv-text-dim);text-align:center;font-size:12.5px;padding:24px 8px;}
.kanban-card{background:#fff;border-radius:10px;padding:12px;border-left:5px solid var(--pdv-border);box-shadow:0 1px 3px rgba(0,0,0,.08);cursor:pointer;}
.kanban-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;}
.kanban-card-id{font-size:11px;color:var(--pdv-text-dim);font-weight:700;}
.kanban-card-name{font-weight:800;font-size:13.5px;color:var(--pdv-text);}
.kanban-advance{flex-shrink:0;width:34px;height:34px;border-radius:8px;border:none;color:#fff;font-size:15px;font-weight:900;}
.kanban-card-timer{font-size:12px;color:var(--pdv-text-dim);margin-top:8px;}
.kanban-card-price{font-weight:800;font-size:14px;margin-top:2px;}
.kanban-card-pay{font-size:10.5px;font-weight:700;color:var(--pdv-text-dim);text-transform:uppercase;letter-spacing:.3px;margin-top:2px;}
.kanban-card-addr{font-size:12px;color:var(--pdv-text-dim);margin-top:6px;}
.kanban-card-entregador{font-size:12.5px;font-weight:700;margin-top:8px;}
.kanban-entregador-btn{width:100%;margin-top:6px;background:#f0f1f3;border:none;border-radius:6px;padding:7px;font-size:11.5px;font-weight:700;color:var(--pdv-text);}
.kanban-entregador-btn:hover{background:#e2e4e8;}
.kanban-add-fab{position:absolute;bottom:24px;right:24px;width:52px;height:52px;border-radius:50%;background:var(--pdv-orange);color:#fff;font-size:26px;font-weight:700;border:none;box-shadow:0 4px 14px rgba(0,0,0,.25);}

.pdv-keypad-title{font-weight:800;font-size:13px;color:var(--pdv-text-dim);margin-bottom:8px;text-align:center;}
.pdv-keypad-input{width:100%;text-align:center;font-size:20px;padding:10px;border:2px solid var(--pdv-border);border-radius:8px;margin-bottom:12px;}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;}
.keypad button{padding:14px 0;border:none;border-radius:8px;background:#eef0f3;font-size:16px;font-weight:700;color:var(--pdv-text);}
.keypad button.kp-action{background:var(--pdv-dark);color:#fff;}
.keypad button.kp-enter{background:var(--pdv-green);color:#fff;grid-column:span 1;}

/* ---------- modal (abrir mesa / nova entrega) ---------- */
.pdv-overlay{position:fixed;inset:0;background:rgba(20,22,28,.55);display:none;align-items:center;justify-content:center;z-index:200;}
.pdv-overlay.show{display:flex;}
.pdv-modal{background:var(--pdv-card);border-radius:14px;padding:24px;width:340px;max-width:92vw;position:relative;}
.pdv-modal h3{margin:0 0 16px;font-size:16px;}
.pdv-modal .close-x{position:absolute;top:12px;right:14px;background:none;border:none;font-size:20px;color:var(--pdv-text-dim);}
.pdv-field{margin-bottom:14px;}
.pdv-field label{display:block;font-size:12px;font-weight:700;color:var(--pdv-orange);margin-bottom:6px;text-transform:uppercase;}
.pdv-field input, .pdv-field textarea{width:100%;padding:10px;border:1px solid var(--pdv-border);border-radius:8px;font-size:14px;}
.pin-input{width:100%;text-align:center;font-size:24px;letter-spacing:8px;padding:12px;border:2px solid var(--pdv-orange);border-radius:8px;margin:14px 0 6px;}
.pin-error{color:var(--pdv-danger);font-size:12px;text-align:center;min-height:16px;margin-bottom:8px;font-weight:700;}
.pin-keypad{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.pin-keypad button{padding:14px 0;border-radius:8px;border:none;background:#eef0f3;font-size:14px;font-weight:700;color:var(--pdv-text);}
.pin-keypad button.pin-enter{grid-row:3/5;background:var(--pdv-green);color:#fff;}
.pin-keypad button.pin-zero{grid-column:1/4;}

/* ---------- comanda list (mesa aberta) ---------- */
.comanda-row{display:flex;align-items:center;gap:14px;background:var(--pdv-card);border-radius:10px;padding:14px 16px;margin-bottom:10px;}
.comanda-row .num{font-weight:800;font-size:14px;width:110px;}
.comanda-row .name{flex:1;color:var(--pdv-text-dim);font-size:13px;}
.comanda-row .total{font-weight:800;color:var(--pdv-green);width:90px;text-align:right;}
.comanda-row .time{width:70px;text-align:right;color:var(--pdv-text-dim);font-size:12px;}
.comanda-row .abrir-btn{background:var(--pdv-green);color:#fff;border:none;padding:8px 18px;border-radius:8px;font-weight:700;font-size:13px;margin-left:8px;white-space:nowrap;}
.comanda-row .pay-btn{background:var(--pdv-orange);}
.comanda-row .precon-btn{background:var(--pdv-blue);}
.comanda-row .pay-btn:disabled, .comanda-row .precon-btn:disabled{background:#d8dade;color:#9aa0ab;}
.add-comanda-btn{width:100%;border:2px dashed var(--pdv-border);background:transparent;color:var(--pdv-text-dim);font-weight:700;padding:14px;border-radius:10px;}

/* ---------- order screen ---------- */
.order-screen{display:flex;height:100%;overflow:hidden;background:var(--pdv-bg);gap:16px;padding:16px;}
.order-catalog{flex:1;display:flex;flex-direction:column;padding:16px 20px 0;min-width:0;overflow:hidden;min-height:0;background:#F8F9FA;max-width:1300px;margin:0 auto;border-radius:16px;box-shadow:0 1px 4px rgba(0,0,0,.05);}
.order-searchbar{display:flex;align-items:center;gap:8px;background:var(--pdv-card);border:1px solid var(--pdv-border);border-radius:10px;padding:10px 14px;margin-bottom:12px;}
.order-searchbar input{flex:1;border:none;outline:none;font-size:14px;background:transparent;}
.order-back{background:none;border:none;color:var(--pdv-dark);font-weight:700;font-size:14px;padding:6px 0;text-align:left;}
.order-cats{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;}
.order-cats .chip{flex:0 0 auto;background:var(--pdv-card);border:1px solid #E5E7EB;padding:10px 18px;border-radius:20px;font-size:13px;font-weight:600;color:#4B5563;white-space:nowrap;transition:background .15s,color .15s;}
.order-cats .chip.active{background:var(--pdv-orange);color:#fff;font-weight:700;border-color:var(--pdv-orange);}
.order-cats-bottom{flex:0 0 auto;justify-content:center;gap:12px;padding:14px 0 12px;margin-top:24px;margin-bottom:0;background:transparent;}
.order-cats-bottom .chip{text-transform:uppercase;height:42px;padding:0 32px;border-radius:24px;letter-spacing:.2px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;}
.order-products{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(6,1fr);gap:12px;align-content:start;padding-bottom:14px;}
.order-products::-webkit-scrollbar{width:10px;}
.order-products::-webkit-scrollbar-track{background:#eceef1;border-radius:5px;}
.order-products::-webkit-scrollbar-thumb{background:var(--pdv-orange);border-radius:5px;}
.order-product{background:#FFFFFF;border-radius:12px;overflow:hidden;text-align:left;border:none;padding:0;box-shadow:0 2px 8px rgba(0,0,0,.07);transition:transform .12s,box-shadow .12s;}
.order-product:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.10);}
.order-product img{width:100%;height:105px;object-fit:cover;display:block;background:#e9eaee;}
.order-product .op-body{padding:10px 12px 14px;}
.order-product .op-title{font-size:14.5px;font-weight:600;line-height:1.25;margin-bottom:6px;min-height:37px;color:#1F2937;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.order-product .op-price{font-size:14px;font-weight:800;color:var(--pdv-green);}

.order-cart{width:520px;flex:0 0 520px;background:var(--pdv-card);display:flex;flex-direction:column;border-radius:16px;box-shadow:0 1px 4px rgba(0,0,0,.05);overflow:hidden;}
.order-cart-head{padding:14px 16px;border-bottom:1px solid var(--pdv-border);font-weight:800;font-size:14px;}
.order-cart-items{flex:1;overflow-y:auto;padding:8px 12px;}
.cart-card{border:1px solid var(--pdv-border);border-radius:12px;padding:12px;margin-bottom:10px;transition:box-shadow .12s;}
.cart-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.06);}
.cart-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.cart-card-img{width:48px;height:48px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#eee;}
.cart-card-info{flex:1;min-width:0;}
.cart-card-title{font-weight:700;font-size:13px;}
.cart-card-sub{font-size:11.5px;color:var(--pdv-text-dim);margin-top:2px;}
.cart-card-price{font-weight:800;font-size:13px;white-space:nowrap;}
.cart-subitem{font-size:11.5px;color:var(--pdv-text-dim);margin-top:6px;padding-left:8px;}
.cart-card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:8px;}
.cart-qty{display:flex;align-items:center;gap:8px;}
.cart-qty button{width:24px;height:24px;border-radius:6px;border:1px solid var(--pdv-border);background:#f5f6f8;font-weight:700;}
.cart-remove-x{background:none;border:none;color:var(--pdv-danger);font-size:12px;font-weight:700;}
.cart-qty-mini{display:flex;align-items:center;gap:8px;}
.cart-qty-mini button{width:24px;height:24px;border-radius:50%;border:none;color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;line-height:1;}
.cart-qty-mini button.minus{background:var(--pdv-danger);}
.cart-qty-mini button.plus{background:var(--pdv-green);}
.cart-qty-mini span{min-width:16px;text-align:center;font-weight:700;font-size:13px;}
.cart-item-menu-wrap{position:relative;}
.cart-menu-btn{background:none;border:none;font-size:18px;font-weight:900;color:var(--pdv-text-dim);padding:2px 10px;line-height:1;border-radius:6px;}
.cart-menu-btn:hover{background:#f0f1f3;}
.cart-item-menu{display:none;position:fixed;background:#fff;border:1px solid var(--pdv-border);border-radius:8px;box-shadow:0 8px 22px rgba(0,0,0,.15);z-index:500;overflow:hidden;min-width:160px;}
.cart-item-menu.show{display:block;}
.cart-item-menu button{display:block;width:100%;text-align:left;padding:10px 14px;background:none;border:none;font-size:12.5px;font-weight:700;color:var(--pdv-text);white-space:nowrap;}
.cart-item-menu button:hover{background:#f5f6f8;}
.cart-item-menu button[data-removeitem]{color:var(--pdv-danger);}
.transfer-list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto;}
.transfer-option{padding:12px 14px;border-radius:8px;border:1px solid var(--pdv-border);background:#f7f8fa;text-align:left;font-weight:700;font-size:13px;color:var(--pdv-text);}
.transfer-option:hover{background:#eef0f3;}
.order-cart-empty{color:var(--pdv-text-dim);text-align:center;padding:40px 20px;font-size:13px;}
.order-cart-totals{padding:10px 16px;border-top:1px solid var(--pdv-border);font-size:13px;display:flex;justify-content:space-between;font-weight:700;}
.order-cart-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:8px 12px;}
.order-cart-actions button{background:var(--pdv-orange);color:#fff;border:none;border-radius:8px;padding:9px 4px;font-size:11px;font-weight:700;}
.order-cart-actions button.danger{background:var(--pdv-danger);}
.order-cart-actions.atd-actions{grid-template-columns:1fr 1fr;padding:12px;}
.order-cart-actions.atd-actions button{padding:14px 4px;font-size:13px;border-radius:10px;}
.order-cart-actions.atd-actions button:disabled{opacity:.5;}
.order-cat-banner{background:var(--pdv-orange);color:#fff;font-weight:700;font-size:14px;letter-spacing:.3px;text-transform:uppercase;height:42px;display:flex;align-items:center;padding:0 20px;border-radius:20px;margin-top:8px;margin-bottom:20px;}
.order-product .op-from{font-size:10.5px;color:#8C939F;font-weight:400;margin-top:8px;margin-bottom:1px;}
.order-cta{padding:12px;}
.order-cta button{width:100%;background:var(--pdv-green);color:#fff;border:none;padding:16px;border-radius:10px;font-weight:800;font-size:15px;display:flex;justify-content:space-between;padding-left:18px;padding-right:18px;}
.order-cta button:disabled{background:#c5c8cf;}

/* ---------- item picker (multi-column) ---------- */
.picker-overlay{position:fixed;inset:0;background:rgba(20,22,28,.6);display:none;z-index:250;align-items:center;justify-content:center;}
.picker-overlay.show{display:flex;}
.picker-modal{background:#f4f5f7;border-radius:14px;width:min(1200px,95vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;}
.picker-head{display:flex;align-items:center;gap:14px;padding:14px 20px;background:#fff;border-bottom:1px solid var(--pdv-border);}
.picker-head img{width:46px;height:46px;border-radius:8px;object-fit:cover;background:#e9eaee;}
.picker-head h3{margin:0;font-size:15px;}
.picker-head .desc{font-size:12px;color:var(--pdv-text-dim);margin-top:2px;}
.picker-head .close-x{margin-left:auto;background:none;border:none;font-size:22px;color:var(--pdv-text-dim);}
.picker-columns{flex:1;overflow-x:auto;overflow-y:hidden;display:flex;gap:16px;padding:16px;align-items:flex-start;}
.picker-col{flex:0 0 270px;background:#fff;border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,.08);display:flex;flex-direction:column;max-height:100%;overflow:hidden;}
.picker-col-head{padding:14px 16px;position:sticky;top:0;background:#fff;border-bottom:1px solid #f0f1f3;flex:0 0 auto;}
.picker-col-title{font-weight:800;font-size:12.5px;text-transform:uppercase;color:#20242c;}
.picker-col-sub{font-size:11px;color:var(--pdv-orange);font-weight:700;margin-top:3px;}
.picker-col-list{overflow-y:auto;flex:1;min-height:0;}
.picker-opt{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #f0f1f3;}
.picker-opt-icon{width:34px;height:34px;border-radius:8px;background:#f5f6f8;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;overflow:hidden;}
.picker-opt-icon img{width:100%;height:100%;object-fit:cover;}
.picker-opt-name{font-size:12.5px;font-weight:600;flex:1;color:#4a4f58;}
.picker-opt-price{font-size:11px;color:var(--pdv-text-dim);}
.picker-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--pdv-border);flex:0 0 auto;}
.picker-radio.checked{border-color:var(--pdv-orange);background:radial-gradient(circle,var(--pdv-orange) 0 45%,transparent 46%);}
.picker-stepper{display:flex;align-items:center;gap:8px;}
.picker-stepper button{width:22px;height:22px;border-radius:6px;border:none;background:var(--pdv-green);color:#fff;font-weight:700;font-size:13px;}
.picker-stepper button:disabled{background:#d7dae0;}
.picker-stepper span{min-width:14px;text-align:center;font-size:12.5px;font-weight:700;}
.picker-foot{display:flex;align-items:center;gap:14px;padding:14px 20px;background:#fff;border-top:1px solid var(--pdv-border);flex:0 0 auto;}
.picker-foot img{width:44px;height:44px;border-radius:8px;object-fit:cover;background:#e9eaee;}
.picker-foot-info{flex:1;min-width:0;}
.picker-foot .pname{font-weight:700;font-size:13px;}
.picker-foot .pfrom{font-size:10px;color:var(--pdv-text-dim);}
.picker-foot .pprice{font-weight:800;color:var(--pdv-green);font-size:14px;}
.picker-foot button.cancel{background:var(--pdv-danger);color:#fff;border:none;padding:12px 18px;border-radius:8px;font-weight:700;}
.picker-foot button.incluir{background:var(--pdv-green);color:#fff;border:none;padding:12px 22px;border-radius:8px;font-weight:800;}
.picker-foot button.incluir:disabled{background:#c5c8cf;}

/* ---------- checkout ---------- */
.checkout-screen{display:flex;height:100%;overflow:hidden;}
.checkout-head{padding:14px 20px;border-bottom:1px solid var(--pdv-border);background:var(--pdv-card);display:flex;align-items:center;gap:12px;}
.checkout-body{flex:1;display:flex;overflow:hidden;}
.checkout-left{flex:1;padding:18px;overflow-y:auto;}
.pay-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.pay-tile{background:var(--pdv-card);border-radius:12px;padding:24px 10px;text-align:center;border:none;font-weight:800;font-size:13px;color:var(--pdv-text);}
.pay-tile .pt-icon{font-size:26px;display:block;margin-bottom:8px;}
.checkout-right{width:320px;flex:0 0 320px;background:var(--pdv-card);border-left:1px solid var(--pdv-border);padding:18px;display:flex;flex-direction:column;}
.summary-line{display:flex;justify-content:space-between;font-size:13px;padding:8px 10px;border-radius:6px;margin-bottom:6px;color:#fff;font-weight:700;}
.summary-line.produtos{background:#12897a;}
.summary-line.pago{background:#2f4f8f;}
.summary-line.restante{background:#3a7bd5;}
.summary-line.desconto{background:#2c8f4d;}
.summary-line.taxa{background:#e8a300;}
.summary-line.total{background:var(--pdv-orange);font-size:15px;}
.checkout-restbtn{margin-top:auto;background:var(--pdv-green);color:#fff;border:none;padding:16px;border-radius:10px;font-weight:800;font-size:15px;width:100%;}
.checkout-restbtn:disabled{background:#c5c8cf;}
.closed-summary-wrap{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.closed-summary-card{background:var(--pdv-card);border-radius:16px;padding:40px;text-align:center;width:360px;max-width:90vw;box-shadow:0 10px 30px rgba(0,0,0,.08);}
.closed-summary-icon{font-size:48px;margin-bottom:12px;}
.closed-summary-card h2{margin:0 0 6px;font-size:20px;}
.closed-summary-total{font-size:22px;font-weight:800;color:var(--pdv-green);margin:18px 0 22px;}
.closed-summary-card .checkout-restbtn{margin-top:0;}
.pay-amount-box{background:#f7f8fa;border-radius:10px;padding:16px;margin-top:14px;}
.pay-amount-box input{width:100%;padding:10px;border:1px solid var(--pdv-border);border-radius:8px;font-size:15px;text-align:center;margin-bottom:10px;}
.pay-amount-box button{width:100%;background:var(--pdv-green);color:#fff;border:none;padding:10px;border-radius:8px;font-weight:700;}
.split-bill-btn{width:100%;margin-top:14px;background:var(--pdv-blue);color:#fff;border:none;padding:14px;border-radius:10px;font-weight:800;font-size:13px;}
.split-people-row{display:flex;align-items:center;justify-content:center;gap:24px;margin:20px 0;}
.split-people-row button{width:44px;height:44px;border-radius:10px;border:none;background:#eef0f3;font-size:20px;font-weight:700;color:var(--pdv-text);}
.split-people-row button:disabled{opacity:.4;}
.split-people-count{text-align:center;min-width:70px;}
.split-people-count span{display:block;font-size:28px;font-weight:800;}
.split-people-count small{font-size:11px;color:var(--pdv-text-dim);text-transform:uppercase;font-weight:700;}
.split-result{background:#f7f8fa;border-radius:10px;padding:16px;display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;}
.split-result strong{font-size:20px;color:var(--pdv-green);}
.split-confirm-btn{width:100%;margin-top:16px;background:var(--pdv-green);color:#fff;border:none;padding:14px;border-radius:10px;font-weight:800;font-size:14px;}
.split-banner{background:#eaf1ff;border:1px solid #c7dcff;color:var(--pdv-blue);border-radius:10px;padding:12px 14px;font-size:13px;font-weight:700;margin-bottom:14px;}
.split-banner strong{color:var(--pdv-text);}
.cash-label{display:block;font-size:11px;font-weight:800;color:var(--pdv-text-dim);text-transform:uppercase;margin:8px 0 4px;}
.cash-label small{text-transform:none;font-weight:600;letter-spacing:0;}
.cash-readonly{background:#e9eaee;color:var(--pdv-text-dim);}
.cash-result{text-align:center;font-size:15px;font-weight:800;margin:8px 0;min-height:22px;}
.cash-result .cash-ok{color:var(--pdv-text-dim);}
.cash-result .cash-troco{color:var(--pdv-green);}
.cash-result .cash-falta{color:var(--pdv-danger);}

/* ---------- caixa ---------- */
.caixa-wrap{padding:24px;max-width:720px;margin:0 auto;width:100%;overflow-y:auto;}
.caixa-card{background:var(--pdv-card);border-radius:12px;padding:22px;margin-bottom:14px;}
.caixa-card h3{margin:0 0 12px;font-size:15px;}
.caixa-summary-row{display:flex;justify-content:space-between;font-size:13px;padding:8px 0;border-bottom:1px solid #f0f1f3;}
.caixa-summary-row.total{font-weight:800;font-size:15px;border-bottom:none;margin-top:6px;}
.caixa-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:6px;}
.caixa-report-subtitle{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:var(--pdv-text-dim);margin-bottom:6px;}
@media (max-width:560px){.caixa-report-grid{grid-template-columns:1fr;gap:14px;}}

/* ---------- generic ---------- */
.panel-sub{color:var(--pdv-text-dim);font-size:13px;}
.pdv-empty{color:var(--pdv-text-dim);text-align:center;padding:40px;}

@media (max-width:900px){
  .order-cart{width:300px;flex:0 0 300px;}
  .order-products{grid-template-columns:repeat(4,1fr);}
  .picker-col{flex:0 0 220px;}
  .pdv-hub{flex-direction:column;}
  .pdv-hub-right{width:100%;flex:0 0 auto;}
  .hist-panel{width:100%;flex:0 0 auto;max-height:340px;}
}
@media (max-width:760px){
  .order-screen{flex-direction:column;overflow-y:auto;overflow-x:hidden;}
  .order-catalog{padding:10px 10px 0;}
  .order-products{overflow-y:visible;grid-template-columns:repeat(2,1fr);}
  .order-cart{width:100%;flex:0 0 auto;border-left:none;border-top:1px solid var(--pdv-border);}
  .checkout-body{flex-direction:column;overflow-y:auto;overflow-x:hidden;}
  .checkout-left{overflow-y:visible;}
  .pay-tiles{grid-template-columns:repeat(2,1fr);}
  .checkout-right{width:100%;flex:0 0 auto;border-left:none;border-top:1px solid var(--pdv-border);}
  .picker-modal{max-height:96vh;}
}

/* ---------- clientes (base de cadastro) ---------- */
.pdv-id-actions.duas{grid-template-columns:1fr 1fr;}
.cli-toolbar{display:flex;gap:8px;margin-top:4px;}
.cli-toolbar button{flex:1;padding:12px;border:none;border-radius:8px;font-weight:700;font-size:13.5px;cursor:pointer;}
.cli-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #f0f1f3;}
.cli-row:last-child{border-bottom:none;}
.cli-row-info{display:flex;flex-direction:column;gap:2px;min-width:0;}
.cli-row-info strong{font-size:14px;font-weight:800;color:var(--pdv-text);}
.cli-row-info span{font-size:12.5px;color:var(--pdv-text-dim);}
.cli-row-end{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cli-row-acoes{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.cli-row-pedidos{font-size:11.5px;color:var(--pdv-text-dim);white-space:nowrap;}
.cli-row-acoes button{padding:7px 12px;border:none;border-radius:8px;font-weight:700;font-size:12.5px;cursor:pointer;}

/* icone da aba Clientes no mesmo padrao de mascara usado nas demais abas */
.pdv-nav-row[data-sec="clientes"]{--menu-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%223.2%22%2F%3E%3Cpath%20d%3D%22M2.5%2020v-1.4c0-2.3%202.9-3.6%206.5-3.6s6.5%201.3%206.5%203.6V20%22%2F%3E%3Cpath%20d%3D%22M16.6%205.4a3.1%203.1%200%20010%205.9M18.2%2014.6c1.9.6%203.3%201.8%203.3%203.5V20%22%2F%3E%3C%2Fsvg%3E")}

/* ---------- lista de enderecos do cliente ---------- */
.end-secao{margin-top:6px;}
.end-titulo{font-size:15px;font-weight:800;color:var(--pdv-text);letter-spacing:.3px;margin:14px 0 8px;}
.end-lista{display:flex;flex-direction:column;gap:8px;margin-bottom:6px;}
.end-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--pdv-border);border-radius:8px;background:var(--pdv-card);}
.end-card.selected{border-color:#b9bcc2;box-shadow:0 0 0 1px #b9bcc2 inset;}
.end-radio{width:15px;height:15px;border-radius:50%;border:2px solid #c3c6cc;flex-shrink:0;}
.end-radio.on{border-color:var(--pdv-orange);box-shadow:0 0 0 3px var(--pdv-orange) inset;background:#fff;}
.end-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1;}
.end-rua{font-size:12.5px;color:var(--pdv-text);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.end-cidade{font-size:12px;color:var(--pdv-text-dim);}
.end-meta{display:flex;gap:14px;font-size:12.5px;color:var(--pdv-text);white-space:nowrap;}
.end-meta i{font-style:normal;color:var(--pdv-text-dim);}
.end-acoes{display:flex;gap:6px;flex-shrink:0;}
.end-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:54px;padding:7px 4px;border:1px solid var(--pdv-border);border-radius:6px;background:#fafafa;color:var(--pdv-text);font-size:11px;cursor:pointer;}
.end-btn b{font-size:14px;font-weight:400;line-height:1;}
.end-form-acoes{display:flex;gap:8px;margin:8px 0 4px;}
.end-form-acoes button{flex:1;padding:11px;border:none;border-radius:8px;font-weight:700;font-size:13px;cursor:pointer;}
.atd-tipo-card.atd-card-voltar .atd-tipo-ico{font-size:22px;}

/* ---------- tela de pagamento (forma de pagamento) ---------- */
body.pdv-em-checkout .pdv-topbar{display:none;}
.checkout-screen{flex-direction:column;}
.checkout-titles{display:flex;flex:0 0 auto;background:#ececec;border-bottom:1px solid var(--pdv-border);}
.checkout-title{font-size:21px;font-weight:500;color:#2b2b2b;text-align:center;padding:15px 10px;letter-spacing:.4px;}
.checkout-title:first-child{flex:1;}
.checkout-title:last-child{width:320px;flex:0 0 320px;}

.pay-blocks{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
.pay-block{grid-column:span 2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:140px;padding:18px 10px;background:#f1f1f1;border:1px solid #e4e4e4;border-radius:10px;color:var(--pdv-text);cursor:pointer;}
.pay-block:hover{background:#e9e9e9;}
.pay-block.full{grid-column:span 6;}
.pay-block.half{grid-column:span 3;}
.pay-block.third{grid-column:span 2;}
.pay-block-ico{font-size:32px;line-height:1;}
.pay-block-label{font-size:19px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;}

.paykeypad-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:8px;}
.paykeypad-display{width:min(340px,100%);border:2px solid #3a3a3a;border-radius:4px;padding:12px 16px;font-size:36px;line-height:1.15;background:#fff;color:#111;}
.paykeypad{width:min(340px,100%);display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.paykp{background:#e6e6e6;border:none;border-radius:4px;padding:17px 0;font-size:18px;font-weight:600;color:#333;cursor:pointer;}
.paykp:hover{background:#dadada;}
.paykp-enter{grid-row:span 2;}
.paykp-zero{grid-column:span 3;}
.paykeypad-method{display:flex;flex-direction:column;align-items:center;gap:5px;margin-top:4px;}
.paykeypad-method-ico{font-size:26px;line-height:1;}
.paykeypad-method-label{font-size:18px;color:#333;}
.paykeypad-back{background:#f2f2f2;border:1px solid var(--pdv-border);border-radius:6px;padding:13px 24px;font-size:13.5px;color:#8a8a8a;cursor:pointer;}

.pay-list{flex:1;min-height:50px;overflow-y:auto;margin-bottom:10px;}
.pay-row{position:relative;display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--pdv-green);border-radius:8px;margin-bottom:8px;background:#fff;}
.pay-row-ico{font-size:17px;line-height:1;}
.pay-row-label{flex:1;font-size:13.5px;color:var(--pdv-text);}
.pay-row-value{font-size:13.5px;font-weight:700;color:var(--pdv-text);}
.pay-row-menu{background:none;border:none;font-size:17px;line-height:1;color:#666;cursor:pointer;padding:0 3px;}
.pay-row-pop{position:absolute;right:6px;top:calc(100% - 4px);z-index:6;background:#fff;border:1px solid var(--pdv-border);border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.16);}
.pay-row-pop button{background:none;border:none;padding:10px 24px;font-size:13px;color:var(--pdv-text);cursor:pointer;white-space:nowrap;}
.pay-row-pop button:hover{background:#f4f4f4;}

.checkout-summary{flex:0 0 auto;}
.checkout-cancelar{width:100%;background:var(--pdv-danger);color:#fff;border:none;border-radius:6px;padding:11px;font-weight:700;font-size:13px;margin:4px 0 10px;cursor:pointer;}
.checkout-cards{display:flex;gap:8px;margin-bottom:10px;}
.checkout-cards > *{flex:1;min-width:0;min-height:74px;}
.atd-tipo-card.is-info{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;}
.checkout-cta{background:var(--pdv-green);color:#fff;border:none;border-radius:8px;padding:19px;font-weight:700;font-size:19px;width:100%;cursor:pointer;}
.checkout-cta:disabled{cursor:default;}

@media (max-width: 900px) {
  .checkout-title:last-child{width:auto;flex:1;}
  .pay-block.half,.pay-block.third{grid-column:span 3;}
}

.split-banner.caixa-fechado-banner{background:var(--pdv-danger);color:#fff;}
