:root {
 --bg:#08111f;--panel:#13263a;--panel2:#1f3d43;--card:#102039;--line:rgba(255,255,255,.11);
 --text:#f8fbff;--muted:#a9b7d2;--green:#34d399;--green2:#9af7c8;--blue:#60a5fa;--red:#fb7185;--yellow:#fbbf24;
 --shadow:0 24px 70px rgba(0,0,0,.35);--radius:26px;
}
*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{
 min-height:100vh;background:
 radial-gradient(circle at 20% 0%,rgba(52,211,153,.16),transparent 30%),
 radial-gradient(circle at 92% 8%,rgba(96,165,250,.13),transparent 34%),
 linear-gradient(180deg,#133344 0%,#0b1424 54%,#060b14 100%);
 color:var(--text);padding:14px;overflow-x:hidden;
}
button,input,select{font-size:16px} button{border:0;cursor:pointer}
.hidden{display:none!important} .muted{color:var(--muted);line-height:1.45} .small{font-size:12px;color:var(--muted)}
.shell{width:min(980px,100%);margin:auto}
.top{
 display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
 padding:16px;border-radius:26px;background:rgba(7,16,31,.82);border:1px solid var(--line);
 box-shadow:var(--shadow);backdrop-filter:blur(18px);margin-bottom:14px;
}
.brand{display:flex;align-items:center;gap:12px;font-weight:950;font-size:22px;letter-spacing:-.8px}
.logo{width:50px;height:50px;border-radius:17px;background:linear-gradient(180deg,#8af5c6,#10b981);display:flex;align-items:center;justify-content:center;color:#06291a;font-size:24px;box-shadow:0 18px 40px rgba(52,211,153,.25)}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.btn,button{min-height:48px;border-radius:16px;padding:0 15px;font-weight:950;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn-green{background:linear-gradient(180deg,#8af5c6,#10b981);color:#052814;box-shadow:0 14px 34px rgba(52,211,153,.24)}
.btn-dark{background:linear-gradient(180deg,#30466c,#213554);border:1px solid rgba(148,163,184,.23);color:#eef4ff}
.btn-red{background:rgba(248,113,113,.15);border:1px solid rgba(248,113,113,.31);color:#fecaca}
.panel{
 background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
 border:1px solid rgba(255,255,255,.10);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(18px);padding:18px;margin-bottom:14px;
}
h1{font-size:clamp(30px,6vw,52px);line-height:1;letter-spacing:-1.8px} h2{font-size:30px;letter-spacing:-1px} h3{font-size:22px;letter-spacing:-.7px}
label{display:block;color:var(--muted);font-size:12px;font-weight:950;margin:12px 0 7px}
input,select{width:100%;min-height:54px;border:1px solid rgba(161,184,220,.22);background:#102039;color:#fff;border-radius:17px;padding:14px 15px;outline:none}
input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(52,211,153,.12)}
.badge{display:inline-flex;align-items:center;padding:8px 11px;border-radius:999px;background:rgba(52,211,153,.13);border:1px solid rgba(52,211,153,.25);color:#bbf7d0;font-size:12px;font-weight:950}
.mode-strip{padding:12px 14px;border-radius:20px;background:rgba(52,211,153,.10);border:1px solid rgba(52,211,153,.23);color:#bbf7d0;font-weight:850;line-height:1.4;margin-bottom:14px}
.pos-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:14px;align-items:start}
.sale-board{position:sticky;top:10px;z-index:15;background:linear-gradient(180deg,rgba(7,16,31,.96),rgba(10,20,34,.94));border:1px solid rgba(52,211,153,.22);border-radius:28px;padding:16px;box-shadow:var(--shadow)}
.sale-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
.sale-list{max-height:340px;overflow:auto;display:grid;gap:8px;scroll-behavior:smooth}
.empty{padding:18px;text-align:center;border:1px dashed rgba(255,255,255,.16);border-radius:19px;background:rgba(255,255,255,.04);color:var(--muted);font-weight:900}
.sale-line{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:11px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09)}
.sale-line.weight{border-color:rgba(251,191,36,.25);background:rgba(251,191,36,.055)}
.sale-line.just{animation:just .55s ease-out;border-color:rgba(52,211,153,.35);background:rgba(52,211,153,.10)}
@keyframes just{0%{transform:scale(.985)}45%{transform:scale(1.01)}100%{transform:scale(1)}}
.sale-line b{font-size:15px;display:block;line-height:1.25} .sale-line small{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.qty{display:flex;align-items:center;gap:6px} .qty button{min-width:35px;width:35px;height:35px;min-height:35px;padding:0;border-radius:12px}
.total{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:14px;border-radius:20px;background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.26)}
.total span{color:#bbf7d0;font-weight:950} .total strong{font-size:32px;letter-spacing:-1px}
.sale-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px} .sale-actions .main{grid-column:1/-1;min-height:58px;font-size:18px;border-radius:18px}
.add-panel{background:linear-gradient(180deg,rgba(255,255,255,.070),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.10);border-radius:28px;padding:16px;box-shadow:var(--shadow)}
.search-hint{margin:8px 0;padding:8px 10px;border-radius:14px;background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.18);color:#bbf7d0;font-size:11.5px;font-weight:850;line-height:1.35}
.product-list{display:grid;gap:8px;max-height:560px;overflow:auto}
.product-line{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:11px;border-radius:17px;background:rgba(7,16,31,.42);border:1px solid rgba(161,184,220,.13)}
.product-line b{display:block;font-size:15px;line-height:1.25} .product-line small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.35}
.product-line button{width:46px;min-width:46px;height:42px;min-height:42px;padding:0;border-radius:14px;font-size:22px}
.state{padding:14px;border-radius:17px;background:rgba(96,165,250,.11);border:1px solid rgba(96,165,250,.23);color:#bfdbfe;font-size:13px;font-weight:850;line-height:1.45}
.state.warn{background:rgba(251,191,36,.11);border-color:rgba(251,191,36,.25);color:#fde68a} .state.error{background:rgba(248,113,113,.11);border-color:rgba(248,113,113,.25);color:#fecaca}
.modal-backdrop{position:fixed;inset:0;z-index:10000;background:rgba(2,6,23,.78);backdrop-filter:blur(10px);display:none;align-items:flex-end;justify-content:center}
.modal-backdrop.show{display:flex} .modal{width:min(520px,100%);max-height:calc(100dvh - env(safe-area-inset-top,0px) - 12px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;background:linear-gradient(180deg,#17263f,#0b1424);border:1px solid rgba(255,255,255,.13);border-radius:26px 26px 0 0;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));box-shadow:0 -22px 80px rgba(0,0,0,.48)} .modal::-webkit-scrollbar{display:none}
.weight-box{margin:12px 0;padding:12px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)} .weight-box b{display:block;font-size:18px} .weight-box small{display:block;margin-top:4px;color:var(--muted)}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:9px} .quick-grid button{min-height:42px;padding:0;border-radius:13px;font-size:13px}
.pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}
.payment-reference-help{margin-top:7px;color:var(--muted);font-size:12px;line-height:1.4;font-weight:750}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:20000;background:#101827;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:12px 16px;display:none;box-shadow:0 18px 50px rgba(0,0,0,.45);font-weight:950} .toast.show{display:block}
.footer{text-align:center;color:var(--muted);font-size:12px;margin-top:24px;line-height:1.6}
@media(max-width:900px){.pos-grid{grid-template-columns:1fr}.sale-board{position:relative;top:auto}}
@media(max-width:760px){body{padding:10px}.panel,.sale-board,.add-panel{padding:14px;border-radius:24px}.sale-list{max-height:320px}.product-list{max-height:470px}.sale-actions,.pay-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}.top{border-radius:24px}}

/* === PocketPOS v3.7 - Role Based Inventory === */
.inventory-head{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:12px;
 flex-wrap:wrap;
 margin-bottom:12px;
}
.inventory-form{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:10px;
}
.inventory-actions{
 display:grid;
 grid-template-columns:1fr 1fr 1fr;
 gap:9px;
 margin:12px 0;
}
.inventory-list{
 display:grid;
 gap:8px;
 margin-top:10px;
 max-height:520px;
 overflow:auto;
}
.inventory-row{
 display:grid;
 grid-template-columns:1fr auto;
 gap:10px;
 align-items:center;
 padding:11px;
 border-radius:17px;
 background:rgba(7,16,31,.42);
 border:1px solid rgba(161,184,220,.13);
}
.inventory-row b{display:block;font-size:15px;line-height:1.25}
.inventory-row small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.35}
.inventory-row-actions{
 display:flex;
 gap:7px;
 flex-wrap:wrap;
 justify-content:flex-end;
}
.inventory-row-actions button{
 min-height:38px!important;
 border-radius:12px!important;
 padding:0 11px!important;
 font-size:12px!important;
}
.role-warning{
 padding:12px;
 border-radius:16px;
 background:rgba(251,191,36,.10);
 border:1px solid rgba(251,191,36,.25);
 color:#fde68a;
 font-size:13px;
 font-weight:850;
 line-height:1.4;
}
@media(max-width:900px){
 .inventory-form{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
 .inventory-form,.inventory-actions{grid-template-columns:1fr}
 .inventory-row{grid-template-columns:1fr}
 .inventory-row-actions{justify-content:stretch}
 .inventory-row-actions button{flex:1}
}


/* =========================================================
 PocketPOS.0 Extra Oficial - Premium Minimal UI
 Colores planos, menos brillo, más app SaaS premium.
 ========================================================= */
:root{
 --bg:#0B1220!important;
 --panel:#111827!important;
 --panel2:#151F2E!important;
 --card:#182235!important;
 --line:#263244!important;
 --text:#F8FAFC!important;
 --muted:#94A3B8!important;
 --green:#22C55E!important;
 --green2:#22C55E!important;
 --blue:#3B82F6!important;
 --red:#EF4444!important;
 --yellow:#F59E0B!important;
 --purple:#6366F1!important;
 --shadow:0 18px 50px rgba(0,0,0,.24)!important;
 --radius:20px!important;
}
*{
 letter-spacing:-.01em;
}
body{
 background:#0B1220!important;
 color:#F8FAFC!important;
}
body:before{
 content:"";
 position:fixed;
 inset:0;
 z-index:-1;
 background:
 linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
 linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
 background-size:44px 44px;
 mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 78%);
}
.card,
.panel,
.login-card,
.app-header,
.top,
.sites-card,
.master-bar,
.gestion-toggle,
.form-panel,
.sale-board,
.add-panel,
.modal,
.lr-admin-sites-card,
.admin-compact-bar,
.admin-gestion-toggle,
.master-stores-panel,
.stat,
.store-item,
.selected-store,
.product-line,
.sale-line,
.inventory-row{
 background:#111827!important;
 border:1px solid #263244!important;
 box-shadow:0 18px 50px rgba(0,0,0,.22)!important;
 backdrop-filter:none!important;
}
.card,
.panel,
.login-card,
.sites-card,
.master-bar,
.gestion-toggle,
.form-panel,
.sale-board,
.add-panel,
.modal,
.lr-admin-sites-card{
 border-radius:22px!important;
}
.logo,
.store-icon,
.lr-store-icon{
 background:#22C55E!important;
 color:#07111F!important;
 box-shadow:none!important;
}
h1,h2,h3,.brand,.master-title{
 letter-spacing:-.04em!important;
}
.muted,
.small,
small{
 color:#94A3B8!important;
}
input,
select,
textarea{
 background:#0B1220!important;
 border:1px solid #263244!important;
 color:#F8FAFC!important;
 box-shadow:none!important;
}
input:focus,
select:focus,
textarea:focus{
 border-color:#22C55E!important;
 box-shadow:0 0 0 3px rgba(34,197,94,.12)!important;
}
.btn,
button,
a.btn{
 border-radius:14px!important;
 box-shadow:none!important;
 text-shadow:none!important;
}
.btn-green,
button.btn-green,
a.btn-green,
.lr-new-project{
 background:#22C55E!important;
 color:#06130B!important;
 border:1px solid #22C55E!important;
}
.btn-dark,
button.btn-dark,
a.btn-dark{
 background:#182235!important;
 border:1px solid #263244!important;
 color:#F8FAFC!important;
}
.btn-red,
button.btn-red,
a.btn-red,
.danger-delete{
 background:#EF4444!important;
 border:1px solid #EF4444!important;
 color:#FFFFFF!important;
}
.btn-rainbow,
.lr-new-project{
 background:#22C55E!important;
 color:#06130B!important;
 text-transform:none!important;
 letter-spacing:-.01em!important;
}
.badge,
.status,
.mini-pill,
.lr-chip{
 background:#182235!important;
 border:1px solid #263244!important;
 color:#CBD5E1!important;
 box-shadow:none!important;
}
.badge.active,
.status.active,
.status.green,
.lr-status.green,
.mini-pill.green{
 background:rgba(34,197,94,.10)!important;
 border-color:rgba(34,197,94,.34)!important;
 color:#86EFAC!important;
}
.badge.hold,
.status.hold{
 background:rgba(245,158,11,.10)!important;
 border-color:rgba(245,158,11,.34)!important;
 color:#FCD34D!important;
}
.badge.suspended,
.badge.inactive,
.status.suspended,
.status.inactive,
.lr-status.red,
.mini-pill.red{
 background:rgba(239,68,68,.10)!important;
 border-color:rgba(239,68,68,.34)!important;
 color:#FCA5A5!important;
}
.notice,
.state,
.search-hint,
.mode-strip{
 background:#151F2E!important;
 border:1px solid #263244!important;
 color:#CBD5E1!important;
}
.error{
 background:rgba(239,68,68,.10)!important;
 border:1px solid rgba(239,68,68,.35)!important;
 color:#FCA5A5!important;
}
.total{
 background:#151F2E!important;
 border:1px solid #263244!important;
}
.total strong,
.total span{
 color:#F8FAFC!important;
}
.site-actions,
.form-actions,
.inventory-actions,
.sale-actions{
 gap:10px!important;
}
.store-list::-webkit-scrollbar,
.product-list::-webkit-scrollbar,
.sale-list::-webkit-scrollbar,
.inventory-list::-webkit-scrollbar{
 width:8px;
}
.store-list::-webkit-scrollbar-thumb,
.product-list::-webkit-scrollbar-thumb,
.sale-list::-webkit-scrollbar-thumb,
.inventory-list::-webkit-scrollbar-thumb{
 background:#263244;
 border-radius:999px;
}
.footer{
 color:#64748B!important;
}
@media(max-width:760px){
 body{padding:10px!important}
 .card,.panel,.login-card,.app-header,.top,.sites-card,.master-bar,.gestion-toggle,.form-panel,.sale-board,.add-panel{
 border-radius:18px!important;
 }
}

/* === PocketPOS v7.0.4 - Exorcismo definitivo del hueco del menú === */
#posHamburgerPanelV49.open{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:stretch!important;
  align-content:flex-start!important;
  gap:8px!important;
  height:auto!important;
  min-height:0!important;
  grid-template-rows:none!important;
  grid-auto-rows:auto!important;
}
#posHamburgerPanelV49.open>*{
  flex:0 0 auto!important;
  margin:0!important;
}
#posHamburgerPanelV49.open>button,
#posHamburgerPanelV49.open>a{
  position:static!important;
  inset:auto!important;
}
#posHamburgerPanelV49.open>div:empty,
#posHamburgerPanelV49.open>[aria-hidden="true"],
#posHamburgerPanelV49.open>.hidden{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}

/* === PocketPOS v7.0.6 - Header compacto + modal de peso centrado === */
#weightModal{
  align-items:center!important;
  justify-content:center!important;
  padding:16px!important;
  z-index:100000!important;
}
#weightModal>.modal{
  width:min(520px,calc(100vw - 32px))!important;
  max-height:calc(100dvh - 32px)!important;
  overflow:auto!important;
  border-radius:24px!important;
  box-shadow:0 28px 90px rgba(0,0,0,.58)!important;
}
@media(max-width:760px){
  .top{
    min-height:84px!important;
    padding:10px 68px 10px 10px!important;
    border-radius:18px!important;
    gap:4px!important;
    align-content:center!important;
    flex-wrap:nowrap!important;
  }
  .top .brand{gap:9px!important;font-size:18px!important;line-height:1.05!important;min-width:0!important}
  .top .brand .logo{width:40px!important;height:40px!important;min-width:40px!important;border-radius:13px!important;font-size:20px!important}
  .top .brand>div:last-child{min-width:0!important}
  #storeName{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #storeMode{font-size:10.5px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:260px!important}
  .top>.actions{position:static!important;display:flex!important;align-items:center!important;gap:10px!important;margin:4px 0 0 49px!important;flex-wrap:nowrap!important}
  #onlineBadge,#roleBadge{font-size:11px!important;line-height:1!important;white-space:nowrap!important}
  #onlineBadge:before,#roleBadge:before{font-size:14px!important;margin-right:4px!important}
  #posHamburgerWrapV49{top:50%!important;right:10px!important;transform:translateY(-50%)!important}
  .pos-hamburger-btn{width:46px!important;height:46px!important;min-height:46px!important;border-radius:15px!important}
  #weightModal{padding:12px 12px calc(76px + env(safe-area-inset-bottom,0px))!important}
  #weightModal>.modal{width:100%!important;max-height:calc(100dvh - 100px - env(safe-area-inset-bottom,0px))!important;padding:12px!important;border-radius:20px!important}
  #weightModal h2{font-size:20px!important}
  #weightModal p.muted{font-size:12px!important;margin-top:2px!important}
  #weightModal .weight-box{margin:8px 0!important;padding:10px!important}
  #weightModal label{margin:8px 0 5px!important}
  #weightModal input{min-height:46px!important}
  #weightModal .quick-grid{grid-template-columns:repeat(4,1fr)!important;gap:6px!important;margin-top:7px!important}
  #weightModal .quick-grid button{min-height:40px!important;padding:0 4px!important;font-size:12px!important}
  #weightModal .total{min-height:54px!important;margin-top:8px!important;padding:9px 11px!important}
  #weightModal .total strong{font-size:28px!important}
  #weightModal .pay-grid{grid-template-columns:1fr 1fr!important;gap:7px!important;margin-top:8px!important}
}


/* === PocketPOS.6 - POS Client Compact Dropdown === */
.pos-menu-wrap{
 position:relative;
 display:inline-flex;
}
.pos-menu-btn{
 min-height:48px!important;
 border-radius:16px!important;
}
.pos-menu-panel{
 position:absolute;
 top:calc(100% + 8px);
 right:0;
 width:min(260px,calc(100vw - 24px));
 display:none;
 padding:8px;
 background:#111827;
 border:1px solid #263244;
 border-radius:18px;
 box-shadow:0 24px 70px rgba(0,0,0,.42);
 z-index:999;
}
.pos-menu-panel.open{
 display:grid;
 gap:8px;
}
.pos-menu-panel button,
.pos-menu-panel a{
 min-height:44px!important;
 width:100%;
 border-radius:13px!important;
 justify-content:flex-start!important;
 text-align:left;
 padding:0 13px!important;
}
.pos-menu-panel .danger{
 background:rgba(239,68,68,.10)!important;
 border-color:rgba(239,68,68,.34)!important;
 color:#FCA5A5!important;
}
@media(max-width:760px){
 .top,
 .app-header,
 header{
 overflow:visible!important;
 }
 .pos-menu-wrap{
 width:100%;
 }
 .pos-menu-btn{
 width:100%!important;
 }
 .pos-menu-panel{
 left:0;
 right:auto;
 width:100%;
 }
 #inventoryBtn.pos-old-action,
 #refreshBtnV46.pos-old-action,
 #logoutBtnV46.pos-old-action{
 display:none!important;
 }
}


/* === PocketPOS.7 - Premium flat header badges === */
#roleBadge,
.badge,
.status-badge,
.online-badge,
[class*="online"],
[class*="role"]{
 box-shadow:none!important;
}
#roleBadge{
 background:transparent!important;
 border:0!important;
 color:#CBD5E1!important;
 padding:0!important;
 min-height:auto!important;
 font-size:15px!important;
 font-weight:900!important;
 display:inline-flex!important;
 align-items:center!important;
}
#roleBadge:before{
 content:"\2022";
 color:#22C55E;
 margin-right:8px;
 font-size:20px;
 line-height:1;
}
/* Status online plano sin caja */
#onlineBadge,
#statusBadge,
.online-badge,
.status-online,
.connection-status{
 background:transparent!important;
 border:0!important;
 color:#86EFAC!important;
 padding:0!important;
 min-height:auto!important;
 font-size:15px!important;
 font-weight:950!important;
 letter-spacing:.02em!important;
}
/* Si el online es un span genérico con clase badge, conservar solo este look dentro del header */
header .badge:first-of-type,
.app-header .badge:first-of-type,
.top .badge:first-of-type{
 background:transparent!important;
 border:0!important;
 padding:0!important;
 color:#86EFAC!important;
}
header .badge:first-of-type:before,
.app-header .badge:first-of-type:before,
.top .badge:first-of-type:before{
 content:"\2022";
 color:#22C55E;
 margin-right:8px;
 font-size:20px;
 line-height:1;
}
@media(max-width:760px){
 #roleBadge,
 #onlineBadge,
 #statusBadge,
 .online-badge,
 .status-online,
 .connection-status{
 font-size:14px!important;
 }
}


/* === PocketPOS.8 - Center POS Menu Button === */
#posMenuWrapV46{
 width:100%!important;
 display:flex!important;
 justify-content:center!important;
 align-items:center!important;
 margin-top:10px!important;
}
#posMenuWrapV46 .pos-menu-btn{
 width:min(100%, 470px)!important;
 margin:0 auto!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 text-align:center!important;
}
#posMenuPanelV46{
 left:50%!important;
 right:auto!important;
 transform:translateX(-50%)!important;
 width:min(470px, calc(100vw - 56px))!important;
}
@media(max-width:760px){
 #posMenuWrapV46{
 grid-column:1/-1!important;
 width:100%!important;
 justify-content:center!important;
 margin-top:8px!important;
 }
 #posMenuWrapV46 .pos-menu-btn{
 width:100%!important;
 max-width:100%!important;
 }
 #posMenuPanelV46{
 left:0!important;
 right:0!important;
 transform:none!important;
 width:100%!important;
 }
}
/* Si el header usa grid/flex, permitir que el menú baje centrado */
.app-header #posMenuWrapV46,
.top #posMenuWrapV46,
header #posMenuWrapV46{
 flex:1 0 100%!important;
}


/* === PocketPOS.9 - Right Hamburger Admin Menu === */

/* Ocultar el menú ancho anterior */
#posMenuWrapV46{
 display:none!important;
}

/* Header con hamburger premium a la derecha */
.pos-hamburger-wrap{
 position:absolute;
 top:18px;
 right:18px;
 z-index:1000;
}
.pos-hamburger-btn{
 width:54px!important;
 height:54px!important;
 min-height:54px!important;
 padding:0!important;
 border-radius:18px!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 background:#182235!important;
 border:1px solid #263244!important;
 color:#F8FAFC!important;
 font-size:24px!important;
 font-weight:950!important;
 box-shadow:0 14px 40px rgba(0,0,0,.25)!important;
}
.pos-hamburger-btn:active{
 transform:scale(.98);
}
.pos-hamburger-panel{
 position:absolute;
 top:62px;
 right:0;
 width:min(310px, calc(100vw - 34px));
 display:none;
 padding:10px;
 background:#111827;
 border:1px solid #263244;
 border-radius:22px;
 box-shadow:0 24px 80px rgba(0,0,0,.45);
 z-index:1001;
}
.pos-hamburger-panel.open{
 display:grid;
 gap:8px;
}
.pos-hamburger-title{
 padding:10px 12px 6px;
 color:#94A3B8;
 font-size:12px;
 font-weight:950;
 text-transform:uppercase;
 letter-spacing:.08em;
}
.pos-hamburger-panel button,
.pos-hamburger-panel a{
 min-height:48px!important;
 width:100%;
 border-radius:15px!important;
 display:flex!important;
 align-items:center!important;
 justify-content:flex-start!important;
 text-align:left!important;
 padding:0 14px!important;
 font-size:16px!important;
 gap:10px!important;
}
.pos-hamburger-panel .danger{
 background:rgba(239,68,68,.10)!important;
 border-color:rgba(239,68,68,.34)!important;
 color:#FCA5A5!important;
}
.pos-hamburger-panel .primary-action{
 background:#22C55E!important;
 border-color:#22C55E!important;
 color:#06130B!important;
}
.pos-hamburger-sep{
 display:none!important;
 height:0!important;
 margin:0!important;
 padding:0!important;
}

/* Asegurar que la tarjeta header permita posición absoluta */
.app-header,
.top,
header,
.panel:first-child{
 position:relative!important;
 overflow:visible!important;
}

/* Dar espacio al título para que no choque con hamburger */
@media(max-width:760px){
 .app-header,
 .top,
 header{
 padding-right:82px!important;
 }
 .pos-hamburger-wrap{
 top:16px;
 right:16px;
 }
 .pos-hamburger-btn{
 width:50px!important;
 height:50px!important;
 min-height:50px!important;
 border-radius:17px!important;
 }
 .pos-hamburger-panel{
 top:58px;
 right:0;
 }
}

/* Desktop también limpio */
@media(min-width:761px){
 .pos-hamburger-wrap{
 top:18px;
 right:18px;
 }
}


/* === PocketPOS v5.0 - Offline Pro === */
.offline-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#86EFAC;
  font-weight:950;
  font-size:14px;
}
.offline-pill:before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:#22C55E;
  box-shadow:0 0 0 4px rgba(34,197,94,.12);
}
.offline-pill.offline{
  color:#FCD34D;
}
.offline-pill.offline:before{
  background:#F59E0B;
  box-shadow:0 0 0 4px rgba(245,158,11,.12);
}
.offline-pill.syncing{
  color:#BFDBFE;
}
.offline-pill.syncing:before{
  background:#3B82F6;
  box-shadow:0 0 0 4px rgba(59,130,246,.12);
}
.offline-warning{
  margin:10px 0;
  padding:12px;
  border-radius:16px;
  background:rgba(245,158,11,.10);
  border:1px solid rgba(245,158,11,.30);
  color:#FDE68A;
  font-size:13px;
  line-height:1.45;
}
.offline-warning.hidden{display:none!important}
.offline-queue-box{
  display:none;
  margin:10px 0;
  padding:12px;
  border-radius:16px;
  background:#151F2E;
  border:1px solid #263244;
  color:#CBD5E1;
  font-size:13px;
  line-height:1.45;
}
.offline-queue-box.show{display:block}
.offline-queue-box b{color:#F8FAFC}
.offline-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}
.offline-actions button{
  min-height:38px!important;
  border-radius:12px!important;
  font-size:12px!important;
}
@media(max-width:760px){
  .offline-pill{font-size:13px}
}


/* === PocketPOS v5.5 - POS visual cleanup === */

/* 1) Evitar ONLINE duplicado: mantener solo el offlineStatusPill nuevo */
#offlineStatusPill{
  display:none!important;
}

/* 2) Hacer el contador de items premium plano, sin encapsulado */
#cartCount,
#itemCount,
.items-count,
.cart-count,
.sale-count,
.item-badge,
.count-badge,
[class*="items"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  min-height:auto!important;
  color:#CBD5E1!important;
}

/* Si el contador vive dentro de la venta actual como chip redondo */
.sale-board .badge,
.sale-board .pill,
.sale-board [class*="badge"],
.sale-board [class*="pill"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}

/* Reforzar que 0 items se vea como texto simple */
.sale-board .badge,
.sale-board .pill{
  font-size:15px!important;
  font-weight:950!important;
  color:#CBD5E1!important;
}

/* 3) Logo/icono carrito sin caja verde; solo carrito */
.logo,
.app-logo,
.store-logo,
.brand-logo,
.header-logo,
.pos-logo{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#22C55E!important;
}

/* Quitar cuadro verde específicamente en header del POS */
.app-header .logo,
.top .logo,
header .logo,
.panel:first-child .logo{
  width:auto!important;
  height:auto!important;
  min-width:auto!important;
  min-height:auto!important;
  padding:0!important;
  border-radius:0!important;
  font-size:42px!important;
  line-height:1!important;
}

/* Si hay imagen de carrito dentro de caja, dejarla limpia */
.app-header .logo img,
.top .logo img,
header .logo img{
  width:46px!important;
  height:46px!important;
  object-fit:contain!important;
  filter:none!important;
}

/* Evitar afectar botones verdes normales */
button.logo,
.btn.logo{
  background:#22C55E!important;
  border:1px solid #22C55E!important;
  color:#06130B!important;
}

/* Mobile ajustes */
@media(max-width:760px){
  .app-header .logo,
  .top .logo,
  header .logo,
  .panel:first-child .logo{
    font-size:38px!important;
  }
}


/* === PocketPOS v5.6 - iPhone Safe Area Header Fix === */

/* Soporte general para dispositivos con notch/dynamic island */
:root{
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
}

/* Solo WebKit/iOS: dar aire arriba para que no tape el nombre de la tienda */
@supports (-webkit-touch-callout: none){
  body{
    padding-top: calc(var(--safe-top) + 14px)!important;
  }

  .app-shell,
  .shell,
  main,
  #appView{
    padding-top: 0!important;
  }

  .app-header,
  .top,
  header,
  .panel:first-child{
    margin-top: max(10px, calc(var(--safe-top) * .45))!important;
  }
}

/* En modo PWA/fullscreen iOS se necesita más aire */
@media all and (display-mode: standalone){
  @supports (-webkit-touch-callout: none){
    body{
      padding-top: calc(var(--safe-top) + 26px)!important;
    }
    .app-header,
    .top,
    header,
    .panel:first-child{
      margin-top: 10px!important;
    }
  }
}

/* Ajuste extra para pantallas iPhone angostas */
@media(max-width:430px){
  @supports (-webkit-touch-callout: none){
    body{
      padding-top: calc(var(--safe-top) + 18px)!important;
    }
    .app-header,
    .top,
    header,
    .panel:first-child{
      padding-top: 20px!important;
    }
    .pos-hamburger-wrap{
      top: calc(18px + (var(--safe-top) * .15))!important;
    }
  }
}

/* Evitar que el título se pegue al borde superior */
.app-header h1,
.top h1,
header h1,
.panel:first-child h1{
  line-height:1.05!important;
}


/* === PocketPOS v5.24 - Client Desktop Exit Hide Fix === */

/* El botón Salir ya vive dentro del hamburger; evitar que quede detrás del menú */
.client-header-exit-hidden-v524{
  display:none!important;
}

/* Darle aire al hamburger en desktop para que no se monte con otros botones */
.pos-hamburger-wrap,
.pos-hamburger-wrap-v49,
#posHamburgerWrapV49{
  margin-left:8px!important;
  position:relative!important;
  z-index:20!important;
}

/* Si algún botón queda debajo del hamburger por layout, no debe asomarse */
.app-header,
.pos-header,
header,
.topbar{
  overflow:visible!important;
}

@media(min-width:761px){
  .pos-hamburger-btn,
  .pos-hamburger-btn-v49,
  #posHamburgerBtnV49{
    position:relative!important;
    z-index:30!important;
  }
}


/* === PocketPOS v5.25 - Inventory Margin Suggested Price === */
.margin-helper-v525{
  grid-column:1 / -1;
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:18px;
  background:#0B1220;
  border:1px solid #263244;
  margin-top:2px;
}
.margin-helper-v525 .margin-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.margin-helper-v525 h3{
  margin:0;
  color:#F8FAFC;
  font-size:16px;
  line-height:1.1;
}
.margin-helper-v525 p{
  margin:3px 0 0;
  color:#94A3B8;
  font-size:12px;
  line-height:1.35;
}
.margin-options-v525{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.margin-option-v525{
  min-height:40px!important;
  border-radius:14px!important;
  background:#182235!important;
  border:1px solid #263244!important;
  color:#F8FAFC!important;
  font-weight:950!important;
  padding:0!important;
}
.margin-option-v525.active{
  background:#22C55E!important;
  border-color:#22C55E!important;
  color:#06130B!important;
}
.margin-result-v525{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  padding:12px;
  border-radius:16px;
  background:#151F2E;
  border:1px solid #263244;
}
.margin-result-v525 small{
  display:block;
  color:#94A3B8;
  font-weight:850;
  margin-bottom:2px;
}
.margin-result-v525 strong{
  color:#F8FAFC;
  font-size:22px;
  line-height:1;
}
.margin-result-v525 button{
  min-height:40px!important;
  border-radius:14px!important;
  padding:0 12px!important;
}
.round-toggle-v525{
  display:flex;
  gap:10px;
  align-items:center;
  color:#CBD5E1;
  font-size:13px;
  font-weight:850;
  cursor:pointer;
}
.round-toggle-v525 input{
  width:18px!important;
  height:18px!important;
  accent-color:#22C55E;
}
.margin-warning-v525{
  display:none;
  color:#FCD34D;
  font-size:12px;
  font-weight:850;
}
.margin-warning-v525.show{
  display:block;
}
@media(max-width:760px){
  .margin-options-v525{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .margin-result-v525{
    grid-template-columns:1fr;
  }
  .margin-result-v525 button{
    width:100%;
  }
}


/* === PocketPOS v5.26 - Client Header Menu Only === */

/* Inventario / Actualizar / Salir ya viven dentro del hamburger */
.client-header-action-hidden-v526{
  display:none!important;
}

/* Header más limpio: solo estado + hamburger */
.app-header,
.pos-header,
.topbar,
header{
  overflow:visible!important;
}

.pos-hamburger-wrap,
.pos-hamburger-wrap-v49,
#posHamburgerWrapV49{
  margin-left:10px!important;
  position:relative!important;
  z-index:30!important;
}

/* En desktop, que el hamburger sea el acceso principal de acciones */
@media(min-width:761px){
  .pos-hamburger-btn,
  .pos-hamburger-btn-v49,
  #posHamburgerBtnV49{
    position:relative!important;
    z-index:40!important;
  }
}

/* En móvil también mantener limpio */
@media(max-width:760px){
  .pos-hamburger-wrap,
  .pos-hamburger-wrap-v49,
  #posHamburgerWrapV49{
    margin-left:auto!important;
  }
}


/* === PocketPOS v5.27 - Client Menu + Margin Fix === */

/* Header: hamburger absoluto para que no pelee con estado/botones */
.app-header,
.pos-header,
.topbar,
header,
.panel:first-child{
  position:relative!important;
  overflow:visible!important;
}

#posHamburgerWrapV49,
.pos-hamburger-wrap-v49,
.pos-hamburger-wrap{
  position:absolute!important;
  top:50%!important;
  right:18px!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  z-index:100!important;
}

#posHamburgerBtnV49,
.pos-hamburger-btn-v49,
.pos-hamburger-btn{
  width:56px!important;
  height:56px!important;
  min-height:56px!important;
  border-radius:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Dar espacio al header para que nada quede debajo del hamburger */
.app-header,
.pos-header,
.topbar,
header,
.panel:first-child{
  padding-right:94px!important;
}

/* En móvil se mantiene a la derecha sin tapar texto */
@media(max-width:760px){
  #posHamburgerWrapV49,
  .pos-hamburger-wrap-v49,
  .pos-hamburger-wrap{
    right:18px!important;
    top:50%!important;
  }
  .app-header,
  .pos-header,
  .topbar,
  header,
  .panel:first-child{
    padding-right:88px!important;
  }
}

/* Calculadora de margen en inventario */
.margin-helper-v527{
  grid-column:1 / -1;
  display:grid!important;
  gap:10px;
  padding:12px;
  border-radius:18px;
  background:#0B1220;
  border:1px solid #263244;
  margin:4px 0 2px;
}
.margin-helper-v527 .margin-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.margin-helper-v527 h3{
  margin:0;
  color:#F8FAFC;
  font-size:16px;
  line-height:1.1;
}
.margin-helper-v527 p{
  margin:3px 0 0;
  color:#94A3B8;
  font-size:12px;
  line-height:1.35;
}
.margin-options-v527{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.margin-option-v527{
  min-height:40px!important;
  border-radius:14px!important;
  background:#182235!important;
  border:1px solid #263244!important;
  color:#F8FAFC!important;
  font-weight:950!important;
  padding:0!important;
}
.margin-option-v527.active{
  background:#22C55E!important;
  border-color:#22C55E!important;
  color:#06130B!important;
}
.round-toggle-v527{
  display:flex;
  gap:10px;
  align-items:center;
  color:#CBD5E1;
  font-size:13px;
  font-weight:850;
  cursor:pointer;
}
.round-toggle-v527 input{
  width:18px!important;
  height:18px!important;
  accent-color:#22C55E;
}
.margin-result-v527{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  padding:12px;
  border-radius:16px;
  background:#151F2E;
  border:1px solid #263244;
}
.margin-result-v527 small{
  display:block;
  color:#94A3B8;
  font-weight:850;
  margin-bottom:2px;
}
.margin-result-v527 strong{
  color:#F8FAFC;
  font-size:22px;
  line-height:1;
}
.margin-result-v527 button{
  min-height:40px!important;
  border-radius:14px!important;
  padding:0 12px!important;
}
.margin-warning-v527{
  display:none;
  color:#FCD34D;
  font-size:12px;
  font-weight:850;
}
.margin-warning-v527.show{
  display:block;
}

@media(max-width:760px){
  .margin-options-v527{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .margin-result-v527{
    grid-template-columns:1fr;
  }
  .margin-result-v527 button{
    width:100%;
  }
}


/* === PocketPOS v5.28 - Inventory Margin Layout Fix === */

/* Ocultar Precio venta arriba: ahora se llena desde Precio sugerido */
.price-sale-hidden-v528{
  display:none!important;
}

/* Hacer que Producto y Categoría respiren mejor cuando se oculta precio venta */
.inventory-grid-clean-v528{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

/* El helper de margen debe ir debajo de costo / stock / unidad */
.margin-helper-v527,
.margin-helper-v528{
  grid-column:1 / -1!important;
  order:50!important;
  margin-top:8px!important;
}

/* Fila costo/stock/unidad antes del helper */
.inventory-cost-row-v528{
  order:40!important;
}

/* Botones Guardar/Limpiar/Recargar después del helper */
.inventory-buttons-row-v528,
.inventory-save-row-v528{
  order:70!important;
}

/* En móvil, todo una columna */
@media(max-width:760px){
  .inventory-grid-clean-v528{
    grid-template-columns:1fr!important;
  }
}

/* Ajuste visual premium del precio recomendado */
.margin-result-v527 strong,
.margin-result-v528 strong{
  font-size:26px!important;
}


/* === PocketPOS v5.29 - Client Reports Panel Fix === */
.reports-panel-v529{
  display:none;
  margin-top:18px;
  padding:18px;
  border-radius:24px;
  background:#111827;
  border:1px solid #263244;
  box-shadow:0 18px 60px rgba(0,0,0,.24);
}
.reports-panel-v529.open{
  display:block;
}
.reports-head-v529{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.reports-head-v529 h2{
  margin:0;
  color:#F8FAFC;
  font-size:28px;
  line-height:1.05;
  letter-spacing:-.04em;
}
.reports-head-v529 p{
  margin:4px 0 0;
  color:#94A3B8;
  line-height:1.35;
}
.reports-close-v529{
  min-height:46px!important;
  border-radius:15px!important;
  padding:0 16px!important;
}
.reports-grid-v529{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:12px 0;
}
.report-card-v529{
  padding:14px;
  border-radius:18px;
  background:#151F2E;
  border:1px solid #263244;
}
.report-card-v529 small{
  display:block;
  color:#94A3B8;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:11px;
  margin-bottom:8px;
}
.report-card-v529 strong{
  display:block;
  color:#F8FAFC;
  font-size:28px;
  line-height:1;
}
.report-list-v529{
  display:grid;
  gap:8px;
  margin-top:14px;
}
.report-sale-row-v529{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border-radius:16px;
  background:#0B1220;
  border:1px solid #263244;
}
.report-sale-row-v529 b{
  color:#F8FAFC;
}
.report-sale-row-v529 span{
  color:#94A3B8;
  font-size:13px;
  display:block;
  margin-top:2px;
}
.report-empty-v529{
  padding:14px;
  border-radius:18px;
  background:#0B1220;
  border:1px dashed #334155;
  color:#94A3B8;
  font-weight:850;
  text-align:center;
}
@media(max-width:760px){
  .reports-grid-v529{
    grid-template-columns:1fr;
  }
  .reports-head-v529{
    display:grid;
  }
  .reports-close-v529{
    width:100%;
  }
}


/* === PocketPOS v5.33 - Reports Diagnostics === */
.report-debug-v533{
  margin-top:12px;
  padding:12px;
  border-radius:16px;
  background:#0B1220;
  border:1px solid #263244;
  color:#94A3B8;
  font-size:12px;
  line-height:1.45;
  white-space:pre-wrap;
}
.report-debug-v533 b{
  color:#86EFAC;
}
.report-debug-v533.error b{
  color:#FCA5A5;
}
.report-debug-btn-v533{
  margin-top:10px;
  min-height:42px!important;
  border-radius:14px!important;
  width:100%;
}


/* === PocketPOS v5.37 - Reports Context + Footer Fix === */
.reports-panel-v529,
#reportsPanelV529{
  margin-bottom:18px!important;
}
footer,
.app-footer,
.site-footer{
  margin-top:18px!important;
}
.footer-after-reports-v537{
  order:9999!important;
}


/* === PocketPOS v5.38 - Reports Cache Breaker === */
.report-version-v538{
  display:inline-flex;
  margin-left:8px;
  padding:4px 8px;
  border-radius:999px;
  background:#14532D;
  border:1px solid #22C55E;
  color:#86EFAC;
  font-size:11px;
  font-weight:950;
  vertical-align:middle;
}
#reportsPanelV529{
  margin-bottom:24px!important;
}
body footer,
body .app-footer,
body .site-footer{
  margin-top:24px!important;
}


/* === PocketPOS v5.40 - Reports Range Filters === */
.report-filters-v540{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:12px 0;
}
.report-filter-btn-v540{
  min-height:42px!important;
  border-radius:14px!important;
  background:#182235!important;
  border:1px solid #263244!important;
  color:#F8FAFC!important;
  font-weight:950!important;
}
.report-filter-btn-v540.active{
  background:#22C55E!important;
  color:#06130B!important;
  border-color:#22C55E!important;
}
.report-range-label-v540{
  margin:6px 0 10px;
  color:#94A3B8;
  font-size:13px;
  font-weight:850;
}
@media(max-width:760px){
  .report-filters-v540{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* === PocketPOS v5.41 - Reports Total Raw JSON Fix === */
.report-version-v541{
  display:inline-flex;
  margin-left:8px;
  padding:4px 8px;
  border-radius:999px;
  background:#14532D;
  border:1px solid #22C55E;
  color:#86EFAC;
  font-size:11px;
  font-weight:950;
  vertical-align:middle;
}


/* === PocketPOS v5.42 - Reports Filters Total Final Fix CSS === */
.report-version-v542{
  display:inline-flex!important;
  margin-left:8px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:#14532D!important;
  border:1px solid #22C55E!important;
  color:#86EFAC!important;
  font-size:11px!important;
  font-weight:950!important;
  vertical-align:middle!important;
}
.report-filters-v542{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin:12px 0!important;
}
.report-filter-btn-v542{
  min-height:42px!important;
  border-radius:14px!important;
  background:#182235!important;
  border:1px solid #263244!important;
  color:#F8FAFC!important;
  font-weight:950!important;
}
.report-filter-btn-v542.active{
  background:#22C55E!important;
  color:#06130B!important;
  border-color:#22C55E!important;
}
.report-range-label-v542{
  margin:6px 0 10px!important;
  color:#94A3B8!important;
  font-size:13px!important;
  font-weight:850!important;
}
@media(max-width:760px){
  .report-filters-v542{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}


/* === PocketPOS v5.43 - Reports Dedupe Final CSS === */
.report-version-v543{
  display:inline-flex!important;
  margin-left:8px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:#14532D!important;
  border:1px solid #22C55E!important;
  color:#86EFAC!important;
  font-size:11px!important;
  font-weight:950!important;
  vertical-align:middle!important;
}


/* === PocketPOS v5.44 - Reports Print Export CSS === */
.report-actions-v544{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  margin:12px 0!important;
}
.report-action-btn-v544{
  min-height:42px!important;
  border-radius:14px!important;
  background:#182235!important;
  border:1px solid #263244!important;
  color:#F8FAFC!important;
  font-weight:950!important;
}
.report-action-btn-v544.primary{
  background:#22C55E!important;
  color:#06130B!important;
  border-color:#22C55E!important;
}
.report-print-title-v544{
  display:none;
}
@media(max-width:760px){
  .report-actions-v544{
    grid-template-columns:1fr!important;
  }
}
@media print{
  body{
    background:#fff!important;
    color:#111827!important;
  }
  body *{
    visibility:hidden!important;
  }
  #reportsPanelV529,
  #reportsPanelV529 *{
    visibility:visible!important;
  }
  #reportsPanelV529{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    margin:0!important;
    padding:24px!important;
    background:#fff!important;
    color:#111827!important;
    border:none!important;
    box-shadow:none!important;
  }
  #reportsPanelV529 .report-version-v543,
  #reportsPanelV529 .report-version-v544,
  #reportsPanelV529 .reports-close-v529,
  #reportsPanelV529 button,
  #reportsPanelV529 .report-actions-v544,
  #reportsPanelV529 #reportDebugV533{
    display:none!important;
  }
  #reportsPanelV529 h2,
  #reportsPanelV529 strong,
  #reportsPanelV529 b,
  #reportsPanelV529 small,
  #reportsPanelV529 p,
  #reportsPanelV529 span,
  #reportsPanelV529 div{
    color:#111827!important;
  }
  #reportsPanelV529 .report-card-v529,
  #reportsPanelV529 .report-sale-row-v529{
    background:#fff!important;
    border:1px solid #CBD5E1!important;
    break-inside:avoid!important;
  }
  #reportsPanelV529 .report-print-title-v544{
    display:block!important;
    margin-bottom:16px!important;
    padding-bottom:10px!important;
    border-bottom:2px solid #111827!important;
    color:#111827!important;
  }
}


/* === PocketPOS v5.45 - Reports Ghost Badge Fix CSS === */
.report-version-v545{
  display:inline-flex!important;
  margin-left:8px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:#14532D!important;
  border:1px solid #22C55E!important;
  color:#86EFAC!important;
  font-size:11px!important;
  font-weight:950!important;
  vertical-align:middle!important;
}


/* === PocketPOS v5.47 - Reports Safe Recovery CSS === */
.report-version-v547{
  display:inline-flex!important;
  margin-left:8px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:#14532D!important;
  border:1px solid #22C55E!important;
  color:#86EFAC!important;
  font-size:11px!important;
  font-weight:950!important;
  vertical-align:middle!important;
}


/* === PocketPOS v5.48 - Reports CSS Badge Final === */
/* Hide every JS-injected report version badge. Old scripts can keep injecting; user will not see them. */
#reportsPanelV529 h2 span[class*="report-version-v"],
#reportsPanelV529 .reports-head-v529 h2 span[class*="report-version-v"],
#reportsPanelV529 h2 span{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  max-width:0!important;
  height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

/* Draw the real version badge with CSS, not JS. Ghost scripts cannot duplicate this. */
#reportsPanelV529 h2::after,
#reportsPanelV529 .reports-head-v529 h2::after{
  content:"v5.48";
  display:inline-flex!important;
  margin-left:8px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:#14532D!important;
  border:1px solid #22C55E!important;
  color:#86EFAC!important;
  font-size:11px!important;
  font-weight:950!important;
  line-height:1!important;
  vertical-align:middle!important;
  transform:translateY(-2px);
}

/* Hide diagnostic in production-looking report if desired: keep visible only for now */


/* === PocketPOS v5.49 - Reports Production Clean CSS === */
/* Hide all report diagnostic/debug blocks in production view */
#reportDebugV533,
.report-debug-v533,
[id*="reportDebug"],
[class*="report-debug"]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}

/* Hide every JS-injected version badge; draw current version visually with CSS only */
#reportsPanelV529 h2 span[class*="report-version-v"],
#reportsPanelV529 .reports-head-v529 h2 span[class*="report-version-v"],
#reportsPanelV529 h2 span{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  max-width:0!important;
  height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
#reportsPanelV529 h2::after,
#reportsPanelV529 .reports-head-v529 h2::after{
  content:"v5.49";
  display:inline-flex!important;
  margin-left:8px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:#14532D!important;
  border:1px solid #22C55E!important;
  color:#86EFAC!important;
  font-size:11px!important;
  font-weight:950!important;
  line-height:1!important;
  vertical-align:middle!important;
  transform:translateY(-2px);
}

/* Production spacing after diagnostics removed */
#reportsPanelV529 .report-sale-row-v529:last-child{
  margin-bottom:0!important;
}

/* Keep print clean */
@media print{
  #reportDebugV533,
  .report-debug-v533,
  [id*="reportDebug"],
  [class*="report-debug"]{
    display:none!important;
  }
}


/* === PocketPOS v5.52 - Receipt Final Actions CSS === */
.receipt-actions-v552,
.receipt-actions,
.actions,
.receipt-buttons{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.receipt-actions-v552 .receipt-exit-v552,
.receipt-actions .receipt-exit-v552,
.actions .receipt-exit-v552,
.receipt-buttons .receipt-exit-v552{
  grid-column:1/-1!important;
}
#backToPosBtn,
#returnToPosBtn,
#volverPosBtn,
[data-action="back-pos"],
[data-action="return-pos"],
button[data-receipt-action="back-pos"],
a[data-receipt-action="back-pos"]{
  display:none!important;
}
@media(max-width:760px){
  .receipt-actions-v552,
  .receipt-actions,
  .actions,
  .receipt-buttons{
    grid-template-columns:1fr!important;
  }
}


/* === PocketPOS v5.53 - Receipt Print Clean CSS === */
@media print{
  @page{
    size:auto;
    margin:12mm;
  }

  html,
  body{
    background:#ffffff!important;
    color:#111827!important;
    margin:0!important;
    padding:0!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  /* Hide browser-app actions and navigation from printed/PDF receipt */
  button,
  a.btn,
  .btn,
  .receipt-actions-v552,
  .receipt-actions,
  .receipt-buttons,
  .actions,
  #backToPosBtn,
  #returnToPosBtn,
  #volverPosBtn,
  #shareBtn,
  #savePdfBtn,
  #printBtn,
  [data-action],
  [data-receipt-action],
  nav,
  header .btn,
  .top-actions,
  .screen-actions,
  .mobile-nav,
  .hamburger,
  .no-print{
    display:none!important;
    visibility:hidden!important;
  }

  /* Keep only useful receipt content visible and clean */
  .receipt-card,
  .digital-receipt,
  .receipt,
  #receiptCard,
  #receiptContent,
  main,
  section,
  .card{
    background:#ffffff!important;
    color:#111827!important;
    border:0!important;
    box-shadow:none!important;
    outline:none!important;
  }

  body *{
    color:#111827!important;
    text-shadow:none!important;
    box-shadow:none!important;
  }

  body::before{
    content:"PocketPOS | Recibo digital";
    display:block!important;
    color:#111827!important;
    font-size:15px!important;
    font-weight:800!important;
    margin:0 0 10px!important;
    padding:0 0 8px!important;
    border-bottom:1px solid #CBD5E1!important;
  }

  .receipt-card,
  #receiptCard,
  #receiptContent,
  .digital-receipt{
    width:100%!important;
    max-width:760px!important;
    margin:0 auto!important;
    padding:0!important;
  }

  h1,
  .receipt-title{
    font-size:28px!important;
    line-height:1.1!important;
    margin:0 0 12px!important;
    color:#111827!important;
  }

  h2,h3,b,strong{
    color:#111827!important;
  }

  p,
  span,
  small,
  div{
    color:#111827!important;
  }

  .muted,
  .subtle,
  .text-muted,
  small{
    color:#374151!important;
  }

  /* Product rows */
  .receipt-item,
  .item-row,
  .sale-row,
  .product-row{
    border-bottom:1px solid #E5E7EB!important;
    padding:8px 0!important;
    break-inside:avoid!important;
    background:#ffffff!important;
  }

  /* Total box clean */
  .total,
  .total-box,
  .receipt-total,
  .summary-total,
  .total-row{
    background:#ffffff!important;
    border:2px solid #111827!important;
    color:#111827!important;
    border-radius:8px!important;
    padding:10px 12px!important;
    margin-top:14px!important;
    break-inside:avoid!important;
  }

  footer,
  .footer,
  .app-footer,
  .site-footer{
    display:block!important;
    color:#6B7280!important;
    background:#ffffff!important;
    border:0!important;
    margin-top:18px!important;
    font-size:11px!important;
    text-align:center!important;
  }

  /* Remove decorative empty bars/backgrounds */
  .decor,
  .hero,
  .brand-strip,
  .receipt-decoration,
  .top-empty-bar,
  [class*="glow"],
  [class*="gradient"],
  [class*="blob"]{
    display:none!important;
  }

  /* Avoid splitting the receipt awkwardly */
  .receipt-card,
  #receiptCard,
  #receiptContent{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
}


/* === PocketPOS v5.57 - Receipt Safe Remove Attendant CSS === */
#receiptAttendantV554,
#receiptAttendantV555,
#receiptAttendantV556,
#receiptAttendantV557,
.receipt-attendant-v554,
.receipt-attendant-v555,
.receipt-attendant-v556,
.receipt-attendant-v557,
.receipt-attendant,
[class*="receipt-attendant"]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}

/* Keep the receipt page stable. Do not remove required empty render nodes. */


/* === PocketPOS v5.59 - Receipt PDF Click Fix CSS === */
@media print{
  button,
  a.btn,
  .btn,
  .receipt-actions-v552,
  .receipt-actions,
  .receipt-buttons,
  .actions,
  .no-print{
    display:none!important;
    visibility:hidden!important;
  }
}


/* === PocketPOS v5.61 - Reports Ranges Final CSS === */
.report-filters-v561{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;margin:12px 0!important}.report-filter-btn-v561{min-height:42px!important;border-radius:14px!important;background:#182235!important;border:1px solid #263244!important;color:#F8FAFC!important;font-weight:950!important}.report-filter-btn-v561.active{background:#22C55E!important;color:#06130B!important;border-color:#22C55E!important}.report-range-label-v561{margin:6px 0 10px!important;color:#94A3B8!important;font-size:13px!important;font-weight:850!important}#reportDebugV533,.report-debug-v533,[id*="reportDebug"],[class*="report-debug"]{display:none!important}.cash-drawer-v561{margin:12px 0!important;padding:14px!important;border-radius:18px!important;background:#101B2D!important;border:1px solid #263244!important}.cash-drawer-v561 h3{margin:0 0 5px!important;color:#F8FAFC!important}.cash-drawer-v561 p{margin:0 0 12px!important;color:#94A3B8!important;font-size:13px!important}.cash-grid-v561{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.cash-field-v561 label{display:block!important;margin-bottom:6px!important;color:#CBD5E1!important;font-size:12px!important;font-weight:950!important}.cash-field-v561 input{width:100%!important;min-height:44px!important;border-radius:14px!important;background:#08111F!important;border:1px solid #263244!important;color:#F8FAFC!important;padding:0 12px!important;font-weight:900!important}.cash-stat-v561{padding:12px!important;border-radius:16px!important;background:#0B1220!important;border:1px solid #263244!important}.cash-stat-v561 small{display:block!important;color:#94A3B8!important;font-size:11px!important;font-weight:950!important}.cash-stat-v561 b{display:block!important;margin-top:5px!important;color:#F8FAFC!important;font-size:22px!important}.cash-actions-v561{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:10px!important}.cash-btn-v561{min-height:42px!important;border-radius:14px!important;border:1px solid #263244!important;background:#182235!important;color:#F8FAFC!important;font-weight:950!important}.cash-btn-v561.primary{background:#22C55E!important;border-color:#22C55E!important;color:#06130B!important}#reportsPanelV529 h2::after,#reportsPanelV529 .reports-head-v529 h2::after{content:"v5.61"}@media(max-width:760px){.report-filters-v561{grid-template-columns:repeat(2,minmax(0,1fr))!important}.report-filters-v561 button:last-child{grid-column:1/-1!important}.cash-grid-v561,.cash-actions-v561{grid-template-columns:1fr!important}}


/* === PocketPOS v5.62 - Reports Single Filters + Cash Top CSS === */

/* Hide all old/fantasma report filters and labels */
#reportFiltersV560,
#reportFiltersV561,
#reportFiltersV543,
#reportFiltersV542,
#reportFiltersV540,
#reportRangeLabelV560,
#reportRangeLabelV561,
#reportRangeLabelV543,
#reportRangeLabelV542,
#reportRangeLabelV540,
.report-filters-v542:not(#reportFiltersV562),
.report-filters-v543:not(#reportFiltersV562),
.report-filters-v560:not(#reportFiltersV562),
.report-filters-v561:not(#reportFiltersV562),
.report-range-label-v542:not(#reportRangeLabelV562),
.report-range-label-v543:not(#reportRangeLabelV562),
.report-range-label-v560:not(#reportRangeLabelV562),
.report-range-label-v561:not(#reportRangeLabelV562){
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Hide older cash drawer versions so only the top one remains */
#cashDrawerV560,
#cashDrawerV561{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

.cash-drawer-v562{
  margin:14px 0 12px!important;
  padding:16px!important;
  border-radius:20px!important;
  background:#101B2D!important;
  border:1px solid #263244!important;
}
.cash-drawer-v562 h3{
  margin:0 0 4px!important;
  color:#F8FAFC!important;
  font-size:22px!important;
  letter-spacing:-.03em!important;
}
.cash-drawer-v562 p{
  margin:0 0 12px!important;
  color:#94A3B8!important;
  font-size:13px!important;
}
.cash-drawer-grid-v562{
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr!important;
  gap:10px!important;
}
.cash-drawer-field-v562,
.cash-drawer-stat-v562{
  padding:12px!important;
  border-radius:16px!important;
  background:#0B1220!important;
  border:1px solid #263244!important;
}
.cash-drawer-field-v562 label,
.cash-drawer-stat-v562 small{
  display:block!important;
  color:#94A3B8!important;
  font-size:11px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  margin-bottom:6px!important;
}
.cash-drawer-field-v562 input{
  width:100%!important;
  min-height:44px!important;
  border-radius:14px!important;
  background:#08111F!important;
  border:1px solid #263244!important;
  color:#F8FAFC!important;
  padding:0 12px!important;
  font-weight:900!important;
}
.cash-drawer-stat-v562 b{
  display:block!important;
  color:#F8FAFC!important;
  font-size:24px!important;
}
.cash-drawer-actions-v562{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:10px!important;
}
.cash-drawer-actions-v562 button{
  min-height:44px!important;
  border-radius:14px!important;
  border:1px solid #263244!important;
  background:#182235!important;
  color:#F8FAFC!important;
  font-weight:950!important;
}
.cash-drawer-actions-v562 button.primary{
  background:#22C55E!important;
  border-color:#22C55E!important;
  color:#06130B!important;
}

.report-range-label-v562{
  margin:10px 0 8px!important;
  color:#94A3B8!important;
  font-size:13px!important;
  font-weight:900!important;
}
.report-filters-v562{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
  margin:8px 0 12px!important;
}
.report-filter-btn-v562{
  min-height:42px!important;
  border-radius:14px!important;
  border:1px solid #263244!important;
  background:#182235!important;
  color:#F8FAFC!important;
  font-weight:950!important;
}
.report-filter-btn-v562.active{
  background:#22C55E!important;
  border-color:#22C55E!important;
  color:#06130B!important;
}
#reportsPanelV529 h2::after,
#reportsPanelV529 .reports-head-v529 h2::after{
  content:"v5.62"!important;
}

@media(max-width:760px){
  .cash-drawer-grid-v562{
    grid-template-columns:1fr!important;
  }
  .cash-drawer-actions-v562{
    grid-template-columns:1fr!important;
  }
  .report-filters-v562{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .report-filters-v562 button:last-child{
    grid-column:1/-1!important;
  }
}
@media print{
  .cash-drawer-v562,
  .cash-drawer-field-v562,
  .cash-drawer-stat-v562{
    background:#fff!important;
    border-color:#CBD5E1!important;
  }
  .cash-drawer-v562 h3,
  .cash-drawer-v562 p,
  .cash-drawer-field-v562 label,
  .cash-drawer-stat-v562 small,
  .cash-drawer-stat-v562 b{
    color:#111827!important;
  }
  .cash-drawer-field-v562 input,
  .cash-drawer-actions-v562{
    display:none!important;
  }
}


/* === PocketPOS v5.63 - Reports Dynamic Labels CSS === */
#reportsPanelV529 h2::after,
#reportsPanelV529 .reports-head-v529 h2::after{
  content:"v5.63"!important;
}



/* === PocketPOS v5.67 - Cash Drawer Clean No AutoRefresh CSS === */
#reportsPanelV529 #cashDrawerV560,
#reportsPanelV529 #cashDrawerV561,
#reportsPanelV529 #cashDrawerV562,
#reportsPanelV529 .cash-drawer-v560,
#reportsPanelV529 .cash-drawer-v562{
  display:none!important;
}

.pos-cash-drawer-v567{
  width:min(100%,1100px)!important;
  margin:12px auto!important;
  padding:14px!important;
  border-radius:22px!important;
  background:#101B2D!important;
  border:1px solid #263244!important;
  box-shadow:0 18px 45px rgba(0,0,0,.16)!important;
}
.pos-cash-top-v567{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:12px!important;
}
.pos-cash-drawer-v567 h3{
  margin:0!important;
  color:#F8FAFC!important;
  font-size:22px!important;
  letter-spacing:-.03em!important;
}
.pos-cash-drawer-v567 p{
  margin:4px 0 0!important;
  color:#94A3B8!important;
  font-size:13px!important;
  line-height:1.35!important;
}
.pos-cash-status-v567{
  display:inline-flex!important;
  min-height:30px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:#0B1220!important;
  border:1px solid #263244!important;
  color:#CBD5E1!important;
  font-size:12px!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.pos-cash-status-v567.saved{
  background:rgba(34,197,94,.12)!important;
  border-color:rgba(34,197,94,.48)!important;
  color:#86EFAC!important;
}
.pos-cash-grid-v567{
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr!important;
  gap:10px!important;
}
.pos-cash-field-v567,
.pos-cash-stat-v567{
  padding:12px!important;
  border-radius:17px!important;
  background:#0B1220!important;
  border:1px solid #263244!important;
}
.pos-cash-field-v567 label,
.pos-cash-stat-v567 small{
  display:block!important;
  margin:0 0 6px!important;
  color:#94A3B8!important;
  font-size:11px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.pos-cash-field-v567 input{
  width:100%!important;
  min-height:46px!important;
  border-radius:15px!important;
  background:#08111F!important;
  border:1px solid rgba(34,197,94,.55)!important;
  box-shadow:0 0 0 3px rgba(34,197,94,.08)!important;
  color:#F8FAFC!important;
  padding:0 12px!important;
  font-size:16px!important;
  font-weight:950!important;
}
.pos-cash-field-v567 input:disabled{
  opacity:.78!important;
  cursor:not-allowed!important;
  border-color:#263244!important;
  box-shadow:none!important;
}
.pos-cash-stat-v567 b{
  display:block!important;
  color:#F8FAFC!important;
  font-size:24px!important;
  letter-spacing:-.03em!important;
}
.pos-cash-actions-v567{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  margin-top:10px!important;
}
.pos-cash-actions-v567 button{
  min-height:46px!important;
  border:1px solid #22C55E!important;
  border-radius:15px!important;
  background:#22C55E!important;
  color:#06130B!important;
  font-weight:950!important;
  cursor:pointer!important;
}
.pos-cash-actions-v567 button:disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
}
.pos-cash-note-v567{
  margin-top:10px!important;
  padding:10px 12px!important;
  border-radius:15px!important;
  background:rgba(59,130,246,.08)!important;
  border:1px solid rgba(59,130,246,.25)!important;
  color:#BFDBFE!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.4!important;
}

.cash-confirm-overlay-v567{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  background:rgba(2,6,23,.72)!important;
  backdrop-filter:blur(12px)!important;
}
.cash-confirm-overlay-v567.open{
  display:flex!important;
}
.cash-confirm-card-v567{
  width:min(100%,430px)!important;
  padding:20px!important;
  border-radius:24px!important;
  background:#101B2D!important;
  border:1px solid #263244!important;
  box-shadow:0 28px 80px rgba(0,0,0,.45)!important;
}
.cash-confirm-card-v567 h3{
  margin:0 0 6px!important;
  color:#F8FAFC!important;
  font-size:24px!important;
  letter-spacing:-.03em!important;
}
.cash-confirm-card-v567 p{
  margin:0 0 14px!important;
  color:#CBD5E1!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.cash-confirm-amount-v567{
  padding:16px!important;
  border-radius:18px!important;
  background:#0B1220!important;
  border:1px solid #263244!important;
  color:#F8FAFC!important;
  font-size:30px!important;
  font-weight:950!important;
  text-align:center!important;
  margin:12px 0!important;
}
.cash-confirm-actions-v567{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:14px!important;
}
.cash-confirm-actions-v567 button{
  min-height:48px!important;
  border-radius:15px!important;
  border:1px solid #263244!important;
  background:#182235!important;
  color:#F8FAFC!important;
  font-weight:950!important;
  cursor:pointer!important;
}
.cash-confirm-actions-v567 button.primary{
  background:#22C55E!important;
  border-color:#22C55E!important;
  color:#06130B!important;
}

#reportsPanelV529 h2::after,
#reportsPanelV529 .reports-head-v529 h2::after{
  content:"v5.67"!important;
}

@media(max-width:760px){
  .pos-cash-drawer-v567{
    width:auto!important;
    margin:10px 14px!important;
  }
  .pos-cash-top-v567{
    display:grid!important;
  }
  .pos-cash-grid-v567{
    grid-template-columns:1fr!important;
  }
}
@media print{
  .pos-cash-drawer-v567,
  .cash-confirm-overlay-v567{
    display:none!important;
  }
}


/* === PocketPOS v5.71 - Fiado y Abonos CSS === */
.credit-card-v571{width:min(100%,1100px)!important;margin:12px auto!important;padding:14px!important;border-radius:22px!important;background:#101B2D!important;border:1px solid #263244!important;box-shadow:0 18px 45px rgba(0,0,0,.16)!important}
.credit-head-v571{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:12px!important;margin-bottom:12px!important}
.credit-head-v571 h3{margin:0!important;color:#F8FAFC!important;font-size:22px!important;letter-spacing:-.03em!important}
.credit-head-v571 p{margin:4px 0 0!important;color:#94A3B8!important;font-size:13px!important;line-height:1.35!important}
.credit-badge-v571{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:30px!important;padding:0 12px!important;border-radius:999px!important;background:rgba(245,158,11,.12)!important;border:1px solid rgba(245,158,11,.38)!important;color:#FDE68A!important;font-size:12px!important;font-weight:950!important;white-space:nowrap!important}
.credit-tabs-v571{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:10px!important;margin-bottom:12px!important}
.credit-tabs-v571 button,.credit-actions-v571 button{min-height:46px!important;border-radius:15px!important;border:1px solid #263244!important;background:#182235!important;color:#F8FAFC!important;font-weight:950!important;cursor:pointer!important}
.credit-tabs-v571 button.active,.credit-actions-v571 button.primary{background:#22C55E!important;border-color:#22C55E!important;color:#06130B!important}
.credit-panel-v571{display:none!important}.credit-panel-v571.active{display:block!important}
.credit-grid-v571{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.credit-grid-v571 .full{grid-column:1/-1!important}
.credit-field-v571 label{display:block!important;margin:0 0 6px!important;color:#94A3B8!important;font-size:11px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.credit-field-v571 input,.credit-field-v571 select,.credit-field-v571 textarea{width:100%!important;min-height:46px!important;border-radius:15px!important;background:#08111F!important;border:1px solid #263244!important;color:#F8FAFC!important;padding:0 12px!important;font-size:15px!important;font-weight:850!important;outline:none!important}
.credit-field-v571 textarea{min-height:84px!important;padding:12px!important;resize:vertical!important}
.credit-actions-v571{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:10px!important}
.credit-list-v571{display:grid!important;gap:10px!important;margin-top:10px!important}
.credit-row-v571{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;align-items:center!important;padding:12px!important;border-radius:17px!important;background:#0B1220!important;border:1px solid #263244!important}
.credit-row-v571 b{display:block!important;color:#F8FAFC!important;font-size:15px!important}.credit-row-v571 small{display:block!important;color:#94A3B8!important;font-size:12px!important;font-weight:800!important;margin-top:4px!important}
.credit-row-v571 .amount{color:#FDE68A!important;font-size:18px!important;font-weight:1000!important;white-space:nowrap!important}
.credit-note-v571{margin-top:10px!important;padding:10px 12px!important;border-radius:15px!important;background:rgba(245,158,11,.08)!important;border:1px solid rgba(245,158,11,.25)!important;color:#FDE68A!important;font-size:12px!important;font-weight:850!important;line-height:1.4!important}
.credit-mini-actions-v571{display:flex!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important}.credit-mini-actions-v571 button{min-height:36px!important;padding:0 12px!important;border-radius:12px!important;border:1px solid #263244!important;background:#182235!important;color:#F8FAFC!important;font-weight:950!important;cursor:pointer!important}
@media(max-width:760px){.credit-card-v571{width:auto!important;margin:10px 14px!important}.credit-head-v571,.credit-row-v571{display:grid!important}.credit-tabs-v571,.credit-grid-v571,.credit-actions-v571{grid-template-columns:1fr!important}.credit-mini-actions-v571{justify-content:stretch!important}.credit-mini-actions-v571 button{flex:1!important}}
@media print{.credit-card-v571{display:none!important}}


/* === PocketPOS v5.72 - Fiados Separate Page CSS === */
#creditModuleV571{display:none!important}
.fiados-pos-link-v572{width:min(100%,1100px)!important;margin:12px auto!important;padding:12px!important;border-radius:22px!important;background:#101B2D!important;border:1px solid #263244!important;display:grid!important;grid-template-columns:1fr auto!important;gap:12px!important;align-items:center!important}
.fiados-pos-link-v572 b{color:#F8FAFC!important;font-size:18px!important}.fiados-pos-link-v572 small{color:#94A3B8!important;display:block!important;margin-top:2px!important;font-weight:800!important}
.fiados-pos-link-v572 a{min-height:46px!important;border-radius:15px!important;background:#F59E0B!important;color:#111827!important;font-weight:1000!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 16px!important}
@media(max-width:760px){.fiados-pos-link-v572{width:auto!important;margin:10px 14px!important;grid-template-columns:1fr!important}.fiados-pos-link-v572 a{width:100%!important}}
@media print{.fiados-pos-link-v572{display:none!important}}


/* === PocketPOS v5.73 - Fiar desde Venta Actual CSS === */
.credit-sale-btn-v573{
  width:100%!important;
  min-height:58px!important;
  margin:10px 0!important;
  border:1px solid rgba(245,158,11,.55)!important;
  border-radius:18px!important;
  background:#F59E0B!important;
  color:#111827!important;
  font-weight:1000!important;
  font-size:17px!important;
  cursor:pointer!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
.credit-sale-btn-v573:active{transform:scale(.99)!important}
.credit-modal-v573{
  position:fixed!important;
  inset:0!important;
  background:rgba(2,6,23,.76)!important;
  backdrop-filter:blur(10px)!important;
  z-index:999999!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:16px!important;
}
.credit-modal-v573.open{display:flex!important}
.credit-modal-card-v573{
  width:min(560px,100%)!important;
  border-radius:26px!important;
  background:#101B2D!important;
  border:1px solid #263244!important;
  box-shadow:0 24px 80px rgba(0,0,0,.45)!important;
  padding:16px!important;
  color:#F8FAFC!important;
}
.credit-modal-card-v573 h2{
  margin:0!important;
  font-size:28px!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}
.credit-modal-card-v573 p{
  margin:6px 0 14px!important;
  color:#94A3B8!important;
  font-weight:850!important;
}
.credit-modal-grid-v573{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
}
.credit-modal-field-v573.full{grid-column:1/-1!important}
.credit-modal-field-v573 label{
  display:block!important;
  color:#CBD5E1!important;
  font-size:11px!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  margin-bottom:6px!important;
}
.credit-modal-field-v573 input,
.credit-modal-field-v573 textarea{
  width:100%!important;
  min-height:48px!important;
  border-radius:16px!important;
  background:#08111F!important;
  border:1px solid #263244!important;
  color:#F8FAFC!important;
  padding:0 12px!important;
  font-size:15px!important;
  font-weight:850!important;
  outline:none!important;
}
.credit-modal-field-v573 textarea{
  min-height:90px!important;
  padding:12px!important;
  resize:vertical!important;
}
.credit-modal-actions-v573{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:12px!important;
}
.credit-modal-actions-v573 button{
  min-height:50px!important;
  border-radius:16px!important;
  border:1px solid #263244!important;
  background:#182235!important;
  color:#F8FAFC!important;
  font-weight:1000!important;
  cursor:pointer!important;
}
.credit-modal-actions-v573 button.primary{
  background:#F59E0B!important;
  border-color:#F59E0B!important;
  color:#111827!important;
}
.credit-current-total-v573{
  padding:12px!important;
  margin:10px 0!important;
  border-radius:16px!important;
  background:rgba(245,158,11,.1)!important;
  border:1px solid rgba(245,158,11,.32)!important;
  color:#FDE68A!important;
  font-weight:1000!important;
}
@media(max-width:760px){
  .credit-modal-grid-v573,
  .credit-modal-actions-v573{
    grid-template-columns:1fr!important;
  }
}
@media print{
  .credit-sale-btn-v573,.credit-modal-v573{display:none!important}
}


/* === PocketPOS v5.76 - Reports Stable Fix CSS === */
.reports-v576{width:min(1100px,100%)!important;margin:14px auto!important;padding:16px!important;border-radius:24px!important;background:#101B2D!important;border:1px solid #263244!important;box-shadow:0 18px 48px rgba(0,0,0,.18)!important;color:#F8FAFC!important}
.reports-v576[hidden]{display:none!important}.reports-head-v576{display:grid!important;grid-template-columns:1fr auto!important;gap:12px!important;align-items:start!important;margin-bottom:12px!important}.reports-head-v576 h2{margin:0!important;font-size:28px!important;line-height:1!important;letter-spacing:-.04em!important}.reports-head-v576 p{margin:5px 0 0!important;color:#94A3B8!important;font-weight:850!important}.reports-head-v576 button{min-height:46px!important;border-radius:15px!important;border:1px solid #263244!important;background:#182235!important;color:#F8FAFC!important;font-weight:1000!important;padding:0 16px!important;cursor:pointer!important}
.reports-stats-v576{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin-bottom:12px!important}.reports-stat-v576{min-height:86px!important;border-radius:18px!important;background:#0B1220!important;border:1px solid #263244!important;padding:14px!important}.reports-stat-v576 small{display:block!important;color:#94A3B8!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.05em!important;font-weight:1000!important}.reports-stat-v576 b{display:block!important;margin-top:6px!important;font-size:30px!important;line-height:1!important;letter-spacing:-.04em!important}.reports-range-v576{margin:4px 0 10px!important;color:#CBD5E1!important;font-weight:950!important}
.reports-tabs-v576{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:9px!important;margin-bottom:10px!important}.reports-actions-v576{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;margin-bottom:12px!important}.reports-tabs-v576 button,.reports-actions-v576 button{min-height:46px!important;border-radius:15px!important;border:1px solid #263244!important;background:#182235!important;color:#F8FAFC!important;font-weight:1000!important;cursor:pointer!important}.reports-tabs-v576 button.active,.reports-actions-v576 button.primary{background:#22C55E!important;border-color:#22C55E!important;color:#06130B!important}
.reports-list-v576{display:grid!important;gap:9px!important}.reports-row-v576{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;align-items:center!important;padding:12px!important;border-radius:16px!important;background:#0B1220!important;border:1px solid #263244!important}.reports-row-v576 b{display:block!important;font-size:16px!important}.reports-row-v576 small{display:block!important;color:#94A3B8!important;font-weight:850!important;margin-top:3px!important}.reports-row-v576 .amount{font-size:18px!important;font-weight:1000!important;color:#F8FAFC!important;white-space:nowrap!important}.reports-empty-v576{padding:16px!important;border-radius:17px!important;background:#0B1220!important;border:1px dashed #334155!important;color:#94A3B8!important;font-weight:950!important;text-align:center!important}
@media(max-width:760px){.reports-v576{width:auto!important;margin:10px 14px!important}.reports-head-v576,.reports-row-v576{grid-template-columns:1fr!important}.reports-stats-v576,.reports-tabs-v576,.reports-actions-v576{grid-template-columns:1fr!important}.reports-row-v576 .amount{text-align:left!important}}
@media print{body *{visibility:hidden!important}.reports-v576,.reports-v576 *{visibility:visible!important}.reports-v576{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;background:#fff!important;color:#111827!important;border:0!important;box-shadow:none!important}.reports-head-v576 button,.reports-tabs-v576,.reports-actions-v576{display:none!important}.reports-row-v576,.reports-stat-v576{background:#fff!important;color:#111827!important;border-color:#d1d5db!important}.reports-row-v576 small,.reports-head-v576 p,.reports-range-v576{color:#374151!important}}


/* === PocketPOS v5.77 - Reports Pro CSS === */
#reportsPanelV576{display:none!important}
.reports-v577{
  width:min(1100px,100%)!important;
  margin:14px auto!important;
  padding:16px!important;
  border-radius:24px!important;
  background:#101B2D!important;
  border:1px solid #263244!important;
  box-shadow:0 18px 48px rgba(0,0,0,.18)!important;
  color:#F8FAFC!important;
}
.reports-v577[hidden]{display:none!important}
.reports-head-v577{display:grid!important;grid-template-columns:1fr auto!important;gap:12px!important;align-items:start!important;margin-bottom:12px!important}
.reports-head-v577 h2{margin:0!important;font-size:28px!important;line-height:1!important;letter-spacing:-.04em!important}
.reports-head-v577 p{margin:5px 0 0!important;color:#94A3B8!important;font-weight:850!important}
.reports-head-v577 button{min-height:46px!important;border-radius:15px!important;border:1px solid #263244!important;background:#182235!important;color:#F8FAFC!important;font-weight:1000!important;padding:0 16px!important;cursor:pointer!important}
.reports-stats-v577{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin-bottom:12px!important}
.reports-stat-v577{min-height:86px!important;border-radius:18px!important;background:#0B1220!important;border:1px solid #263244!important;padding:14px!important}
.reports-stat-v577 small{display:block!important;color:#94A3B8!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.05em!important;font-weight:1000!important}
.reports-stat-v577 b{display:block!important;margin-top:6px!important;font-size:30px!important;line-height:1!important;letter-spacing:-.04em!important}
.reports-range-v577{margin:4px 0 10px!important;color:#CBD5E1!important;font-weight:950!important}
.reports-tabs-v577{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:9px!important;margin-bottom:10px!important}
.reports-actions-v577{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important;margin-bottom:12px!important}
.reports-tabs-v577 button,.reports-actions-v577 button{min-height:46px!important;border-radius:15px!important;border:1px solid #263244!important;background:#182235!important;color:#F8FAFC!important;font-weight:1000!important;cursor:pointer!important;padding:0 10px!important}
.reports-tabs-v577 button.active,.reports-actions-v577 button.primary{background:#22C55E!important;border-color:#22C55E!important;color:#06130B!important}
.reports-list-v577{display:grid!important;gap:9px!important}
.reports-row-v577{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;align-items:center!important;padding:12px!important;border-radius:16px!important;background:#0B1220!important;border:1px solid #263244!important}
.reports-row-v577 b{display:block!important;font-size:16px!important}
.reports-row-v577 small{display:block!important;color:#94A3B8!important;font-weight:850!important;margin-top:3px!important}
.reports-row-right-v577{display:grid!important;gap:8px!important;justify-items:end!important}
.reports-row-v577 .amount{font-size:18px!important;font-weight:1000!important;color:#F8FAFC!important;white-space:nowrap!important}
.reports-open-v577{min-height:34px!important;border-radius:12px!important;border:1px solid #263244!important;background:#182235!important;color:#F8FAFC!important;font-weight:1000!important;cursor:pointer!important;padding:0 12px!important}
.reports-empty-v577{padding:16px!important;border-radius:17px!important;background:#0B1220!important;border:1px dashed #334155!important;color:#94A3B8!important;font-weight:950!important;text-align:center!important}
.report-modal-v577{position:fixed!important;inset:0!important;background:rgba(2,6,23,.75)!important;backdrop-filter:blur(10px)!important;display:none!important;align-items:center!important;justify-content:center!important;padding:16px!important;z-index:999999!important}
.report-modal-v577.open{display:flex!important}
.report-modal-card-v577{width:min(720px,100%)!important;max-height:88vh!important;overflow:auto!important;border-radius:24px!important;background:#101B2D!important;border:1px solid #263244!important;box-shadow:0 24px 80px rgba(0,0,0,.45)!important;padding:16px!important;color:#F8FAFC!important}
.report-modal-card-v577 h3{font-size:26px!important;margin:0 0 4px!important;letter-spacing:-.04em!important}
.report-modal-card-v577 p{color:#94A3B8!important;font-weight:850!important;margin:0 0 12px!important}
.report-detail-line-v577{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;padding:10px 0!important;border-bottom:1px solid #263244!important}
.report-detail-line-v577 b{font-size:15px!important}
.report-detail-line-v577 small{display:block!important;color:#94A3B8!important;font-weight:850!important;margin-top:3px!important}
.report-detail-line-v577 span{font-weight:1000!important}
.report-modal-actions-v577{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:12px!important}
.report-modal-actions-v577 button{min-height:46px!important;border-radius:15px!important;border:1px solid #263244!important;background:#182235!important;color:#F8FAFC!important;font-weight:1000!important;cursor:pointer!important}
.report-modal-actions-v577 button.primary{background:#22C55E!important;border-color:#22C55E!important;color:#06130B!important}
@media(max-width:760px){
  .reports-v577{width:auto!important;margin:10px 14px!important}
  .reports-head-v577,.reports-row-v577,.report-detail-line-v577{grid-template-columns:1fr!important}
  .reports-stats-v577,.reports-tabs-v577,.reports-actions-v577,.report-modal-actions-v577{grid-template-columns:1fr!important}
  .reports-row-right-v577{justify-items:start!important}
}
@media print{
  body *{visibility:hidden!important}
  .reports-v577,.reports-v577 *{visibility:visible!important}
  .reports-v577{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;background:#fff!important;color:#111827!important;border:0!important;box-shadow:none!important}
  .reports-head-v577 button,.reports-tabs-v577,.reports-actions-v577,.reports-open-v577,.report-modal-v577{display:none!important}
  .reports-row-v577,.reports-stat-v577{background:#fff!important;color:#111827!important;border-color:#d1d5db!important}
  .reports-row-v577 small,.reports-head-v577 p,.reports-range-v577{color:#374151!important}
}


/* === PocketPOS v5.78 - Reports Period Navigation CSS === */
#reportsPanelV529,#reportsPanelV538,#reportsPanelV539,#reportsPanelV542,#reportsPanelV543,#reportsPanelV544,#reportsPanelV545,#reportsPanelV560,#reportsPanelV562,#reportsPanelV567,#reportsPanelV576,#reportsPanelV577{
  display:none!important;
}
.reports-v578{
  width:min(1100px,100%)!important;margin:14px auto!important;padding:16px!important;border-radius:24px!important;background:#101B2D!important;border:1px solid #263244!important;box-shadow:0 18px 48px rgba(0,0,0,.18)!important;color:#F8FAFC!important
}
.reports-v578[hidden]{display:none!important}
.reports-head-v578{display:grid!important;grid-template-columns:1fr auto!important;gap:12px!important;align-items:start!important;margin-bottom:12px!important}
.reports-head-v578 h2{margin:0!important;font-size:28px!important;line-height:1!important;letter-spacing:-.04em!important}
.reports-head-v578 p{margin:5px 0 0!important;color:#94A3B8!important;font-weight:850!important}
.reports-head-v578 button{min-height:46px!important;border-radius:15px!important;border:1px solid #263244!important;background:#182235!important;color:#F8FAFC!important;font-weight:1000!important;padding:0 16px!important;cursor:pointer!important}
.reports-stats-v578{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin-bottom:12px!important}
.reports-stat-v578{min-height:86px!important;border-radius:18px!important;background:#0B1220!important;border:1px solid #263244!important;padding:14px!important}
.reports-stat-v578 small{display:block!important;color:#94A3B8!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.05em!important;font-weight:1000!important}
.reports-stat-v578 b{display:block!important;margin-top:6px!important;font-size:30px!important;line-height:1!important;letter-spacing:-.04em!important}
.reports-range-v578{margin:4px 0 10px!important;color:#CBD5E1!important;font-weight:950!important}
.reports-tabs-v578{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:9px!important;margin-bottom:10px!important}
.reports-nav-v578{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:9px!important;margin-bottom:10px!important}
.reports-actions-v578{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important;margin-bottom:12px!important}
.reports-tabs-v578 button,.reports-nav-v578 button,.reports-actions-v578 button{min-height:46px!important;border-radius:15px!important;border:1px solid #263244!important;background:#182235!important;color:#F8FAFC!important;font-weight:1000!important;cursor:pointer!important;padding:0 10px!important}
.reports-tabs-v578 button.active,.reports-actions-v578 button.primary,.reports-nav-v578 button.primary{background:#22C55E!important;border-color:#22C55E!important;color:#06130B!important}
.reports-list-v578{display:grid!important;gap:9px!important}
.reports-row-v578{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;align-items:center!important;padding:12px!important;border-radius:16px!important;background:#0B1220!important;border:1px solid #263244!important}
.reports-row-v578 b{display:block!important;font-size:16px!important}
.reports-row-v578 small{display:block!important;color:#94A3B8!important;font-weight:850!important;margin-top:3px!important}
.reports-row-right-v578{display:grid!important;gap:8px!important;justify-items:end!important}
.reports-row-v578 .amount{font-size:18px!important;font-weight:1000!important;color:#F8FAFC!important;white-space:nowrap!important}
.reports-open-v578{min-height:34px!important;border-radius:12px!important;border:1px solid #263244!important;background:#182235!important;color:#F8FAFC!important;font-weight:1000!important;cursor:pointer!important;padding:0 12px!important}
.reports-empty-v578{padding:16px!important;border-radius:17px!important;background:#0B1220!important;border:1px dashed #334155!important;color:#94A3B8!important;font-weight:950!important;text-align:center!important}
.report-modal-v578{position:fixed!important;inset:0!important;background:rgba(2,6,23,.75)!important;backdrop-filter:blur(10px)!important;display:none!important;align-items:center!important;justify-content:center!important;padding:16px!important;z-index:999999!important}
.report-modal-v578.open{display:flex!important}
.report-modal-card-v578{width:min(720px,100%)!important;max-height:88vh!important;overflow:auto!important;border-radius:24px!important;background:#101B2D!important;border:1px solid #263244!important;box-shadow:0 24px 80px rgba(0,0,0,.45)!important;padding:16px!important;color:#F8FAFC!important}
.report-modal-card-v578 h3{font-size:26px!important;margin:0 0 4px!important;letter-spacing:-.04em!important}
.report-modal-card-v578 p{color:#94A3B8!important;font-weight:850!important;margin:0 0 12px!important}
.report-detail-line-v578{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;padding:10px 0!important;border-bottom:1px solid #263244!important}
.report-detail-line-v578 b{font-size:15px!important}
.report-detail-line-v578 small{display:block!important;color:#94A3B8!important;font-weight:850!important;margin-top:3px!important}
.report-detail-line-v578 span{font-weight:1000!important}
.report-modal-actions-v578{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:12px!important}
.report-modal-actions-v578 button{min-height:46px!important;border-radius:15px!important;border:1px solid #263244!important;background:#182235!important;color:#F8FAFC!important;font-weight:1000!important;cursor:pointer!important}
.report-modal-actions-v578 button.primary{background:#22C55E!important;border-color:#22C55E!important;color:#06130B!important}
@media(max-width:760px){
  .reports-v578{width:auto!important;margin:10px 14px!important}
  .reports-head-v578,.reports-row-v578,.report-detail-line-v578{grid-template-columns:1fr!important}
  .reports-stats-v578,.reports-tabs-v578,.reports-nav-v578,.reports-actions-v578,.report-modal-actions-v578{grid-template-columns:1fr!important}
  .reports-row-right-v578{justify-items:start!important}
}
@media print{
  body *{visibility:hidden!important}
  .reports-v578,.reports-v578 *{visibility:visible!important}
  .reports-v578{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;background:#fff!important;color:#111827!important;border:0!important;box-shadow:none!important}
  .reports-head-v578 button,.reports-tabs-v578,.reports-nav-v578,.reports-actions-v578,.reports-open-v578,.report-modal-v578{display:none!important}
  .reports-row-v578,.reports-stat-v578{background:#fff!important;color:#111827!important;border-color:#d1d5db!important}
  .reports-row-v578 small,.reports-head-v578 p,.reports-range-v578{color:#374151!important}
}


/* === PocketPOS v5.79 - Reports Emergency Loader CSS === */
.reports-direct-v579{width:min(1100px,100%)!important;margin:12px auto!important;padding:12px!important;border-radius:22px!important;background:#101B2D!important;border:1px solid #263244!important;display:grid!important;grid-template-columns:1fr auto!important;gap:12px!important;align-items:center!important}
.reports-direct-v579 b{color:#F8FAFC!important;font-size:18px!important}.reports-direct-v579 small{display:block!important;margin-top:3px!important;color:#94A3B8!important;font-weight:850!important}
.reports-direct-v579 button{min-height:46px!important;border-radius:15px!important;border:1px solid #22C55E!important;background:#22C55E!important;color:#06130B!important;font-weight:1000!important;padding:0 16px!important;cursor:pointer!important}
#reportsPanelV578.reports-v578{display:block!important}
#reportsPanelV578.reports-v578[hidden]{display:none!important}
@media(max-width:760px){.reports-direct-v579{width:auto!important;margin:10px 14px!important;grid-template-columns:1fr!important}.reports-direct-v579 button{width:100%!important}}
@media print{.reports-direct-v579{display:none!important}}


/* === PocketPOS v5.80 - Reports RPC Restore CSS === */
#reportsPanelV529,#reportsPanelV538,#reportsPanelV539,#reportsPanelV542,#reportsPanelV543,#reportsPanelV544,#reportsPanelV545,#reportsPanelV560,#reportsPanelV562,#reportsPanelV567,#reportsPanelV576,#reportsPanelV577,#reportsPanelV578{
  display:none!important;
}
.reports-direct-v579{display:none!important}
.reports-v580{
  width:min(1100px,100%)!important;
  margin:14px auto!important;
  padding:16px!important;
  border-radius:24px!important;
  background:#101B2D!important;
  border:1px solid #263244!important;
  box-shadow:0 18px 48px rgba(0,0,0,.18)!important;
  color:#F8FAFC!important
}
.reports-v580[hidden]{display:none!important}
.reports-head-v580{display:grid!important;grid-template-columns:1fr auto!important;gap:12px!important;align-items:start!important;margin-bottom:12px!important}
.reports-head-v580 h2{margin:0!important;font-size:28px!important;line-height:1!important;letter-spacing:-.04em!important}
.reports-head-v580 p{margin:5px 0 0!important;color:#94A3B8!important;font-weight:850!important}
.reports-head-v580 button{min-height:46px!important;border-radius:15px!important;border:1px solid #263244!important;background:#182235!important;color:#F8FAFC!important;font-weight:1000!important;padding:0 16px!important;cursor:pointer!important}
.reports-stats-v580{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin-bottom:12px!important}
.reports-stat-v580{min-height:86px!important;border-radius:18px!important;background:#0B1220!important;border:1px solid #263244!important;padding:14px!important}
.reports-stat-v580 small{display:block!important;color:#94A3B8!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.05em!important;font-weight:1000!important}
.reports-stat-v580 b{display:block!important;margin-top:6px!important;font-size:30px!important;line-height:1!important;letter-spacing:-.04em!important}
.reports-range-v580{margin:4px 0 10px!important;color:#CBD5E1!important;font-weight:950!important}
.reports-tabs-v580{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:9px!important;margin-bottom:10px!important}
.reports-nav-v580{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:9px!important;margin-bottom:10px!important}
.reports-actions-v580{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important;margin-bottom:12px!important}
.reports-tabs-v580 button,.reports-nav-v580 button,.reports-actions-v580 button{min-height:46px!important;border-radius:15px!important;border:1px solid #263244!important;background:#182235!important;color:#F8FAFC!important;font-weight:1000!important;cursor:pointer!important;padding:0 10px!important}
.reports-tabs-v580 button.active,.reports-actions-v580 button.primary,.reports-nav-v580 button.primary{background:#22C55E!important;border-color:#22C55E!important;color:#06130B!important}
.reports-list-v580{display:grid!important;gap:9px!important}
.reports-row-v580{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;align-items:center!important;padding:12px!important;border-radius:16px!important;background:#0B1220!important;border:1px solid #263244!important}
.reports-row-v580 b{display:block!important;font-size:16px!important}
.reports-row-v580 small{display:block!important;color:#94A3B8!important;font-weight:850!important;margin-top:3px!important}
.reports-row-right-v580{display:grid!important;gap:8px!important;justify-items:end!important}
.reports-row-v580 .amount{font-size:18px!important;font-weight:1000!important;color:#F8FAFC!important;white-space:nowrap!important}
.reports-open-v580{min-height:34px!important;border-radius:12px!important;border:1px solid #263244!important;background:#182235!important;color:#F8FAFC!important;font-weight:1000!important;cursor:pointer!important;padding:0 12px!important}
.reports-empty-v580{padding:16px!important;border-radius:17px!important;background:#0B1220!important;border:1px dashed #334155!important;color:#94A3B8!important;font-weight:950!important;text-align:center!important}
.reports-rpc-note-v580{margin-top:10px!important;color:#64748B!important;font-size:11px!important;font-weight:850!important}
.report-modal-v580{position:fixed!important;inset:0!important;background:rgba(2,6,23,.75)!important;backdrop-filter:blur(10px)!important;display:none!important;align-items:center!important;justify-content:center!important;padding:16px!important;z-index:999999!important}
.report-modal-v580.open{display:flex!important}
.report-modal-card-v580{width:min(720px,100%)!important;max-height:88vh!important;overflow:auto!important;border-radius:24px!important;background:#101B2D!important;border:1px solid #263244!important;box-shadow:0 24px 80px rgba(0,0,0,.45)!important;padding:16px!important;color:#F8FAFC!important}
.report-modal-card-v580 h3{font-size:26px!important;margin:0 0 4px!important;letter-spacing:-.04em!important}
.report-modal-card-v580 p{color:#94A3B8!important;font-weight:850!important;margin:0 0 12px!important}
.report-detail-line-v580{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;padding:10px 0!important;border-bottom:1px solid #263244!important}
.report-detail-line-v580 b{font-size:15px!important}
.report-detail-line-v580 small{display:block!important;color:#94A3B8!important;font-weight:850!important;margin-top:3px!important}
.report-detail-line-v580 span{font-weight:1000!important}
.report-modal-actions-v580{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:12px!important}
.report-modal-actions-v580 button{min-height:46px!important;border-radius:15px!important;border:1px solid #263244!important;background:#182235!important;color:#F8FAFC!important;font-weight:1000!important;cursor:pointer!important}
.report-modal-actions-v580 button.primary{background:#22C55E!important;border-color:#22C55E!important;color:#06130B!important}
@media(max-width:760px){
  .reports-v580{width:auto!important;margin:10px 14px!important}
  .reports-head-v580,.reports-row-v580,.report-detail-line-v580{grid-template-columns:1fr!important}
  .reports-stats-v580,.reports-tabs-v580,.reports-nav-v580,.reports-actions-v580,.report-modal-actions-v580{grid-template-columns:1fr!important}
  .reports-row-right-v580{justify-items:start!important}
}
@media print{
  body *{visibility:hidden!important}
  .reports-v580,.reports-v580 *{visibility:visible!important}
  .reports-v580{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;background:#fff!important;color:#111827!important;border:0!important;box-shadow:none!important}
  .reports-head-v580 button,.reports-tabs-v580,.reports-nav-v580,.reports-actions-v580,.reports-open-v580,.report-modal-v580{display:none!important}
  .reports-row-v580,.reports-stat-v580{background:#fff!important;color:#111827!important;border-color:#d1d5db!important}
  .reports-row-v580 small,.reports-head-v580 p,.reports-range-v580{color:#374151!important}
}


/* === PocketPOS v5.81 - Force Reports Update CSS === */
#reportsPanelV529,#reportsPanelV538,#reportsPanelV539,#reportsPanelV542,#reportsPanelV543,#reportsPanelV544,#reportsPanelV545,#reportsPanelV560,#reportsPanelV562,#reportsPanelV567,#reportsPanelV576,#reportsPanelV577,#reportsPanelV578,#reportsPanelV579{
  display:none!important;
}
.reports-force-card-v581{
  width:min(1100px,100%)!important;
  margin:12px auto!important;
  padding:12px!important;
  border-radius:22px!important;
  background:#101B2D!important;
  border:1px solid #263244!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:12px!important;
  align-items:center!important;
}
.reports-force-card-v581 b{color:#F8FAFC!important;font-size:18px!important}
.reports-force-card-v581 small{display:block!important;color:#94A3B8!important;font-weight:850!important;margin-top:3px!important}
.reports-force-card-v581 button{
  min-height:46px!important;
  border-radius:15px!important;
  border:1px solid #22C55E!important;
  background:#22C55E!important;
  color:#06130B!important;
  font-weight:1000!important;
  padding:0 16px!important;
  cursor:pointer!important;
}
.reports-v580 h2 span::after{
  content:""!important;
}

/* PocketPOS: las versiones son internas y no forman parte de la interfaz pública. */
#reportsPanelV529 h2::after,
#reportsPanelV529 .reports-head-v529 h2::after,
[id^="reportsPanelV"] h2 span,
.reports-v580 h2 span::after{
  content:""!important;
  display:none!important;
}
@media(max-width:760px){
  .reports-force-card-v581{width:auto!important;margin:10px 14px!important;grid-template-columns:1fr!important}
  .reports-force-card-v581 button{width:100%!important}
}
@media print{.reports-force-card-v581{display:none!important}}


/* === PocketPOS v5.82 - Reportes page link CSS === */
.reports-page-link-v582{width:min(1100px,100%)!important;margin:12px auto!important;padding:12px!important;border-radius:22px!important;background:#101B2D!important;border:1px solid #263244!important;display:grid!important;grid-template-columns:1fr auto!important;gap:12px!important;align-items:center!important}
.reports-page-link-v582 b{color:#F8FAFC!important;font-size:18px!important}.reports-page-link-v582 small{display:block!important;margin-top:3px!important;color:#94A3B8!important;font-weight:850!important}.reports-page-link-v582 a{min-height:46px!important;border-radius:15px!important;background:#22C55E!important;color:#06130B!important;font-weight:1000!important;padding:0 18px!important;text-decoration:none!important;display:flex!important;align-items:center!important;justify-content:center!important}
@media(max-width:760px){.reports-page-link-v582{width:auto!important;margin:10px 14px!important;grid-template-columns:1fr!important}.reports-page-link-v582 a{width:100%!important}}@media print{.reports-page-link-v582{display:none!important}}


/* === PocketPOS v5.83 - Menu only links, no bottom cards === */
#fiadosPosLinkV572,#reportsPageLinkV582,#reportsForceCardV581,#reportsDirectV579,.fiados-pos-link-v572,.reports-page-link-v582,.reports-force-card-v581,.reports-direct-v579{display:none!important}


/* === PocketPOS v5.84 - POS limpio: reportes/fiados solo en menú === */
#reportsPanelV529,
#reportsPanelV538,
#reportsPanelV539,
#reportsPanelV542,
#reportsPanelV543,
#reportsPanelV544,
#reportsPanelV545,
#reportsPanelV560,
#reportsPanelV562,
#reportsPanelV567,
#reportsPanelV576,
#reportsPanelV577,
#reportsPanelV578,
#reportsPanelV579,
#reportsPanelV580,
#reportsPanelV581,
#reportsPanelV582,
#reportsPanelV583,
#reportsDirectV579,
#reportsForceCardV581,
#reportsPageLinkV582,
#reportsPageLinkV583,
#fiadosPosLinkV572,
#fiadosPageLinkV583,
.reports-v576,
.reports-v577,
.reports-v578,
.reports-v580,
.reports-force-card-v581,
.reports-direct-v579,
.reports-page-card,
.reports-page-link,
.fiados-page-card,
.fiados-page-link{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.menu-reportes-duplicate-v584,
.menu-fiados-duplicate-v584{
  display:none!important;
}


/* === PocketPOS v5.85 - limpiar POS: no paneles/tarjetas reportes/fiados === */
#reportsPanelV529,#reportsPanelV538,#reportsPanelV539,#reportsPanelV542,#reportsPanelV543,#reportsPanelV544,#reportsPanelV545,#reportsPanelV560,#reportsPanelV562,#reportsPanelV567,#reportsPanelV576,#reportsPanelV577,#reportsPanelV578,#reportsPanelV579,#reportsPanelV580,#reportsPanelV581,#reportsPanelV582,#reportsPanelV583,#reportsPanelV584,
#reportsDirectV579,#reportsForceCardV581,#reportsPageLinkV582,#reportsPageLinkV583,#fiadosPosLinkV572,#fiadosPageLinkV583,
.reports-v576,.reports-v577,.reports-v578,.reports-v580,.reports-force-card-v581,.reports-direct-v579,.reports-page-card,.reports-page-link,.fiados-page-card,.fiados-page-link{
  display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;max-height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;border:0!important;
}


/* === PocketPOS v5.86 - POS limpio: reportes solo en reportes.html === */
#reportsPanelV529,
#reportsPanelV538,
#reportsPanelV539,
#reportsPanelV542,
#reportsPanelV543,
#reportsPanelV544,
#reportsPanelV545,
#reportsPanelV560,
#reportsPanelV562,
#reportsPanelV567,
#reportsPanelV576,
#reportsPanelV577,
#reportsPanelV578,
#reportsPanelV579,
#reportsPanelV580,
#reportsPanelV581,
#reportsPanelV582,
#reportsPanelV583,
#reportsPanelV584,
#reportsPanelV585,
#reportsDirectV579,
#reportsForceCardV581,
#reportsPageLinkV582,
#reportsPageLinkV583,
#fiadosPosLinkV572,
#fiadosPageLinkV583,
.reports-v576,
.reports-v577,
.reports-v578,
.reports-v580,
.reports-force-card-v581,
.reports-direct-v579,
.reports-page-card,
.reports-page-link,
.fiados-page-card,
.fiados-page-link,
[data-inline-reports],
[data-reportes-card],
[data-fiados-card]{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.ppos-hide-v586{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}


/* === PocketPOS v5.90 FINAL menu limpio === */
.ppos-hide-v590{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  max-height:0!important;
  min-height:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
#reportsPanelV529,#reportsPanelV538,#reportsPanelV539,#reportsPanelV542,#reportsPanelV543,#reportsPanelV544,#reportsPanelV545,#reportsPanelV560,#reportsPanelV562,#reportsPanelV567,#reportsPanelV576,#reportsPanelV577,#reportsPanelV578,#reportsPanelV579,#reportsPanelV580,#reportsPanelV581,#reportsPanelV582,#reportsPanelV583,#reportsPanelV584,#reportsPanelV585,#reportsPanelV586,#reportsPanelV587,#reportsPanelV588,#reportsPanelV589,
#reportsDirectV579,#reportsForceCardV581,#reportsPageLinkV582,#reportsPageLinkV583,
.reports-v576,.reports-v577,.reports-v578,.reports-v580,.reports-force-card-v581,.reports-direct-v579,.reports-page-card,.reports-page-link{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  max-height:0!important;
  min-height:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}


/* === PocketPOS v5.91 - quitar hueco fantasma del menú === */
.ppos-kill-v591,
.ppos-kill-v591 *{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}


/* === PocketPOS v5.93 - Mobile Compact SAFE, no toca menú === */
@media (max-width: 760px){
  body{
    overflow-x:hidden!important;
  }

  /* Solo compactación general suave */
  main,
  .main,
  .container,
  .wrap,
  .app-shell,
  .client-shell{
    max-width:100%!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }

  /* Header compacto pero sin tocar botón hamburguesa/dropdown */
  header,
  .header,
  .topbar,
  .store-header,
  .client-header,
  .pos-header{
    margin:8px 8px 10px!important;
    padding:10px 12px!important;
    border-radius:18px!important;
  }

  header h1,
  .header h1,
  .store-header h1,
  .client-header h1,
  .pos-header h1,
  .brand-title,
  .store-title{
    font-size:22px!important;
    line-height:1.05!important;
    letter-spacing:-.04em!important;
  }

  .store-subtitle,
  .brand-subtitle,
  .client-subtitle,
  .pos-subtitle{
    font-size:11px!important;
    line-height:1.15!important;
  }

  .mode-banner,
  .notice,
  .hint,
  .info-banner{
    margin:8px!important;
    padding:10px 12px!important;
    border-radius:16px!important;
    font-size:13px!important;
    line-height:1.25!important;
  }

  /* Fondo de caja: compacto visual, sin esconder controles ni tocar listeners */
  .cashbox,
  .cash-box,
  #cashBox,
  #cashbox,
  [data-cashbox]{
    margin:8px!important;
    padding:12px!important;
    border-radius:18px!important;
  }

  .cashbox h2,
  .cash-box h2,
  #cashBox h2,
  #cashbox h2,
  [data-cashbox] h2{
    font-size:24px!important;
    line-height:1.05!important;
    margin-bottom:4px!important;
  }

  .cashbox p,
  .cash-box p,
  #cashBox p,
  #cashbox p,
  [data-cashbox] p{
    font-size:12px!important;
    line-height:1.25!important;
    margin:2px 0 8px!important;
  }

  .cashbox input,
  .cash-box input,
  #cashBox input,
  #cashbox input,
  [data-cashbox] input{
    min-height:46px!important;
    border-radius:14px!important;
    font-size:16px!important;
  }

  .cashbox button,
  .cash-box button,
  #cashBox button,
  #cashbox button,
  [data-cashbox] button{
    min-height:44px!important;
    border-radius:14px!important;
  }

  /* Venta actual / agregar producto */
  .pos-grid,
  .sale-grid,
  .main-grid,
  .client-grid{
    gap:10px!important;
    margin:8px!important;
  }

  .sale-current,
  .current-sale,
  .cart-card,
  .inventory-card,
  .add-product,
  .product-search{
    margin:8px!important;
    padding:12px!important;
    border-radius:18px!important;
  }

  .sale-current h2,
  .current-sale h2,
  .cart-card h2,
  .inventory-card h2,
  .add-product h2,
  .product-search h2{
    font-size:26px!important;
    line-height:1.05!important;
  }

  .sale-current p,
  .current-sale p,
  .cart-card p,
  .inventory-card p,
  .add-product p,
  .product-search p{
    font-size:14px!important;
    line-height:1.25!important;
  }

  input,
  select,
  textarea{
    font-size:16px!important;
  }

  input[type="text"],
  input[type="number"],
  input[type="search"],
  input[type="tel"]{
    min-height:50px!important;
    border-radius:15px!important;
  }

  /* No tocar botones del menú: solo botones dentro del contenido */
  main button,
  .main button,
  .sale-current button,
  .current-sale button,
  .cart-card button,
  .inventory-card button,
  .add-product button,
  .product-search button,
  .cashbox button,
  .cash-box button,
  #cashBox button,
  #cashbox button{
    min-height:48px!important;
    border-radius:15px!important;
  }

  .cart-empty,
  .empty-cart,
  .no-items{
    min-height:52px!important;
    padding:14px!important;
    border-radius:16px!important;
    font-size:14px!important;
  }

  .total-box,
  .cart-total,
  .sale-total{
    min-height:64px!important;
    border-radius:16px!important;
    padding:10px 14px!important;
  }

  footer,
  .footer{
    font-size:10px!important;
    line-height:1.35!important;
    padding:12px 8px 18px!important;
  }
}

/* v5.93: asegurar que menú/dropdown siga clickeable */
nav,
aside,
[class*="menu"],
[class*="dropdown"],
[class*="drawer"],
[id*="menu"],
[id*="dropdown"],
[id*="drawer"]{
  pointer-events:auto!important;
}


/* === PocketPOS v5.98 - Quitar Fondo de Caja del POS con selector exacto === */
#posCashDrawerV567,
#posCashDrawerV566,
#posCashDrawerV565,
#posCashDrawerV564,
.pos-cash-drawer-v567,
.pos-cash-drawer-v566,
.pos-cash-drawer-v565,
.pos-cash-drawer-v564{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}


/* === PocketPOS v6.00 - Botón Fondo de Caja visible en menú === */
.caja-menu-item-v600{
  width:100%!important;
  min-height:48px!important;
  border-radius:14px!important;
  border:1px solid rgba(148,163,184,.18)!important;
  background:#182235!important;
  color:#F8FAFC!important;
  font-weight:1000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  padding:0 14px!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  text-decoration:none!important;
  font-family:inherit!important;
  font-size:16px!important;
  margin:6px 0!important;
}
.caja-menu-item-v600:hover{
  background:#1f2d47!important;
}


/* === PocketPOS v6.07 Universal Real Scanner === */
.pp-scan-v607{display:none;background:#101B2D;border:1px solid #263244;border-radius:18px;padding:10px;margin:8px 0 10px}
.pp-scan-v607.show{display:block}
.pp-scan-v607 h3{margin:0 0 8px;color:#F8FAFC;font-size:17px;font-weight:1000}
.pp-scan-v607 p{margin:0 0 8px;color:#94A3B8;font-size:11.5px;font-weight:900}
.pp-scan-v607 .scan-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pp-scan-v607 button{min-height:44px;border-radius:14px;border:1px solid #263244;background:#182235;color:#F8FAFC;font-weight:1000;cursor:pointer}
.pp-scan-v607 button.primary{background:#22C55E;border-color:#22C55E;color:#06130B}
.pp-scan-modal-v607{display:none;position:fixed;inset:0;background:rgba(2,6,23,.96);z-index:999999;padding:10px;place-items:center}
.pp-scan-modal-v607.show{display:grid}
.pp-scan-card-v607{width:min(680px,100%);background:#101B2D;border:1px solid #263244;border-radius:22px;padding:12px}
.pp-scan-card-v607 video{width:100%;max-height:62vh;background:#000;border-radius:18px;object-fit:cover}
.pp-scan-line-v607{height:3px;background:#22C55E;border-radius:999px;box-shadow:0 0 22px rgba(34,197,94,.9);margin:-45px 24px 45px;position:relative}
.pp-scan-status-v607{color:#CBD5E1;font-size:12px;font-weight:900;margin:6px 0}.pp-scan-status-v607:empty{display:none}
.pp-scan-card-v607 .scan-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:760px){.pp-scan-v607 .scan-actions,.pp-scan-card-v607 .scan-actions{grid-template-columns:1fr}}

/* === PocketPOS v7.0.3 - POS móvil minimalista === */
@media(max-width:760px){
  #modeStrip,.add-panel>p.muted,.add-panel>label,.pp-scan-v607>h3,.search-hint,.sale-head p.muted{display:none!important}
  .pos-grid{gap:10px!important}
  .add-panel,.sale-board{padding:10px!important;border-radius:18px!important}
  .add-panel>h2{font-size:18px!important;margin:0 0 8px!important}
  .pp-scan-v607{padding:0!important;margin:0 0 8px!important;border:0!important;background:transparent!important}
  .pp-scan-v607 .scan-actions{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .pp-scan-v607 button{min-height:42px!important;font-size:13px!important;border-radius:12px!important}
  #productSearch{margin:0!important;min-height:44px!important}
  .product-list{margin-top:6px!important;max-height:280px!important}
  .product-list>.state{display:none!important}
  .sale-head{margin-bottom:8px!important}
  .sale-head h2{font-size:18px!important;margin:0!important}
  .sale-list{min-height:54px!important;max-height:230px!important}
  .sale-list .empty{padding:12px!important;min-height:0!important}
  .total{margin-top:8px!important;padding:10px 12px!important;min-height:58px!important}
  .sale-actions{gap:7px!important;margin-top:8px!important}
  .sale-actions button{min-height:44px!important}
}

/* v7.0.6 final cascade guard */
@media(max-width:760px){
  body .top{padding:10px 68px 10px 10px!important;min-height:84px!important}
  body .top>.actions{margin:4px 0 0 49px!important;gap:10px!important;flex-wrap:nowrap!important}
}

/* === PocketPOS v7.0.9 - Acciones secundarias parejas === */
.sale-actions>#creditSaleBtnV573,
.sale-actions>button:not(.main){
  height:58px!important;
  min-height:58px!important;
  margin:0!important;
  align-self:stretch!important;
  border-radius:18px!important;
}

/* === PocketPOS v7.1.2 - Header y acciones móviles compactas === */
@media(max-width:760px){
  body .top{
    min-height:70px!important;
    padding:8px 66px 8px 10px!important;
  }
  .top .brand{
    width:100%!important;
    max-width:100%!important;
  }
  #storeName{
    max-width:calc(100vw - 145px)!important;
  }
  #storeMode{
    max-width:calc(100vw - 145px)!important;
    font-size:0!important;
  }
  #storeMode::after{
    content:attr(data-mobile-label);
    display:block;
    overflow:hidden;
    color:#94A3B8;
    font-size:10.5px;
    line-height:1.25;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
  .sale-actions{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
  .sale-actions>.main,
  .sale-actions>#creditSaleBtnV573,
  .sale-actions>button:not(.main){
    grid-column:auto!important;
    width:100%!important;
    height:46px!important;
    min-height:46px!important;
    padding:0 12px!important;
    border-radius:14px!important;
    font-size:14px!important;
    line-height:1!important;
  }
}

/* === PocketPOS v7.0.7 - Cobro centrado y header móvil limpio === */
#checkoutModal{
  align-items:center!important;
  justify-content:center!important;
  padding:16px!important;
  z-index:100000!important;
}
#checkoutModal>.modal{
  width:min(560px,calc(100vw - 32px))!important;
  max-height:calc(100dvh - 32px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:none!important;
  border-radius:24px!important;
  box-shadow:0 28px 90px rgba(0,0,0,.58)!important;
}
#checkoutModal>.modal::-webkit-scrollbar{display:none!important;width:0!important}
#receiptModal{align-items:center!important;justify-content:center!important;padding:16px!important;z-index:100000!important}
#receiptModal>.modal{width:min(520px,calc(100vw - 32px))!important;max-height:calc(100dvh - 32px)!important;overflow:auto!important;scrollbar-width:none!important;border-radius:24px!important}
#receiptModal>.modal::-webkit-scrollbar{display:none!important;width:0!important}
@media(max-width:760px){
  body .top{min-height:66px!important;padding:9px 66px 9px 9px!important}
  body .top>.actions{position:absolute!important;inset:0!important;margin:0!important;pointer-events:none!important}
  #onlineBadge,#roleBadge,#offlineStatusPill{display:none!important}
  #posHamburgerWrapV49{pointer-events:auto!important;top:50%!important;right:9px!important}
  .top .brand .logo{width:38px!important;height:38px!important;min-width:38px!important}
  .top .brand{font-size:17px!important}
  #storeMode{max-width:calc(100vw - 145px)!important}
  #checkoutModal{padding:12px 12px calc(76px + env(safe-area-inset-bottom,0px))!important}
  #checkoutModal>.modal{width:100%!important;max-height:calc(100dvh - 100px - env(safe-area-inset-bottom,0px))!important;padding:12px!important;border-radius:20px!important}
  #checkoutModal h2{font-size:21px!important;margin-bottom:7px!important}
  #checkoutModal label{margin:8px 0 5px!important}
  #checkoutModal input,#checkoutModal select{min-height:46px!important}
  #checkoutModal .total{min-height:56px!important;margin:0 0 8px!important;padding:10px 12px!important}
  #checkoutModal .total strong{font-size:30px!important}
  #checkoutHelp{display:none!important}
  #checkoutModal .pay-grid{grid-template-columns:1fr 1fr!important;gap:7px!important;margin-top:8px!important;position:sticky!important;bottom:-12px!important;background:#111827!important;padding:8px 0 12px!important;z-index:2!important}
  body:has(.modal-backdrop.show) .pp-native-nav{display:none!important}
  #receiptModal{padding:12px!important}
  #receiptModal>.modal{width:100%!important;max-height:calc(100dvh - 24px)!important;padding:12px!important;border-radius:20px!important}
}


/* === PocketPOS V7.53 - Arranque POS atómico / sin flash de UI incompleta === */
.pp-pos-boot-v753{
  min-height:calc(100vh - 110px);
  display:grid;
  place-items:center;
  padding:24px 16px!important;
}
.pp-pos-boot-v753.hidden{display:none!important}
.pp-pos-boot-card-v753{
  width:min(430px,100%);
  border:1px solid #263244;
  background:#111b2d;
  border-radius:24px;
  padding:28px 22px;
  text-align:center;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.pp-pos-boot-brand-v753{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#f8fafc;
  font-size:20px;
  font-weight:1000;
  margin-bottom:22px;
}
.pp-pos-boot-spinner-v753{
  width:42px;
  height:42px;
  margin:0 auto 18px;
  border-radius:50%;
  border:4px solid rgba(148,163,184,.2);
  border-top-color:#22c55e;
  animation:ppSpinV753 .75s linear infinite;
}
.pp-pos-boot-card-v753 h2{margin:0 0 7px;color:#f8fafc;font-size:22px;font-weight:1000}
.pp-pos-boot-card-v753 p{margin:0;color:#94a3b8;font-weight:800;line-height:1.45}
@keyframes ppSpinV753{to{transform:rotate(360deg)}}
@media(max-width:760px){
  .pp-pos-boot-v753{min-height:calc(100dvh - 86px);padding:18px 14px!important}
  .pp-pos-boot-card-v753{border-radius:22px;padding:24px 18px}
}
