.company-head select{background:#111b2d;color:white;border:1px solid #33455f;border-radius:7px;padding:7px 34px 7px 10px;font-weight:800;min-width:240px}.company-head small{display:block;margin-top:2px;color:var(--muted)}
.nav-icon{display:inline-block;width:29px;color:#44bdec}.table-wrap{overflow:auto}.btn.small{font-size:11px;padding:7px 9px}.btn.ghost{background:transparent;border:1px solid #52637b;color:#cbd7e8}.btn.full,.search.full{display:block;width:100%;margin-left:0}.gap{margin-top:8px}.green{color:var(--green)}.section-title{margin:24px 0 12px}.error-state b{color:#ff7380}.stock{float:right}.inline-label{display:block;color:var(--muted);font-size:12px;margin:10px 0 6px}.qty{display:flex;align-items:center;justify-content:center;gap:6px}.qty button{width:25px;height:25px;border:1px solid var(--line);background:#142036;color:white;border-radius:5px}.roles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:18px}.role-card{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:18px;background:var(--panel);border:1px solid #2d405b;border-radius:12px;padding:18px}.role-card h3{margin:0 0 3px}.role-card small{display:block;color:var(--muted)}.role-stat{text-align:center}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.permission-grid fieldset{border:1px solid var(--line);border-radius:9px;padding:12px}.permission-grid legend{color:#4bc2f0;font-weight:700;padding:0 7px}.check{display:flex;align-items:flex-start;gap:9px;padding:7px;border-radius:7px;color:#dce6f5}.check:hover{background:#273750}.check input{width:auto;margin-top:3px}.check small{display:block;color:var(--muted);font-size:10px}.check.compact{border:1px solid var(--line);background:#17243a}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.setting-card{padding:22px}.setting-card h3{color:#43bce9}.setting-card p{color:var(--muted)}.detail{display:block;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.error-toast{border-left-color:#ff4d5d!important}.field select{width:100%;background:#121b2b;color:white;border:1px solid var(--line);padding:11px;border-radius:7px}
@media(max-width:1150px){.roles-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.role-card{grid-template-columns:1fr auto auto auto}}
@media(max-width:720px){#sidebar{display:flex;transform:translateX(-100%);transition:.25s;z-index:20;box-shadow:20px 0 60px #0009}#sidebar.mobile-open{transform:translateX(0)}.permission-grid,.choice-grid{grid-template-columns:1fr}.role-card{grid-template-columns:1fr 1fr}.page-title{align-items:flex-start;gap:12px}.page-title .actions{flex-wrap:wrap;justify-content:flex-end}}

/* Identidad visual AMB POS: rojo, negro y gris grafito */
:root{--red:#ef233c;--red2:#b80f27;--dark:#09090c;--side:#111116;--panel:#18181f;--panel2:#22222b;--line:#34343f;--text:#f7f7f9;--muted:#9b9ba8;--blue:#ff536b}
body{background:radial-gradient(circle at 82% 0,#2a1018 0,#0b0b0f 32%,#070709 100%)}
aside{background:linear-gradient(180deg,#15151b,#0c0c10);border-color:#2e2025}.brand{height:76px;padding:10px 15px;border-color:#2e2025}.brand img{width:220px;max-height:58px;object-fit:contain}.profile{border-color:#2e2025}header{background:#121217eF;border-color:#30252a;backdrop-filter:blur(12px)}
nav button:hover,nav button.active{background:linear-gradient(90deg,#3a151f,#24141a);border-left-color:#ef233c}.nav-icon{color:#ff536b}.panel,.card,.role-card{background:linear-gradient(145deg,#1c1c23,#15151b);border-color:#342b30;box-shadow:0 12px 35px #0002}.panel-head,td{border-color:#343038}th{background:#272229;color:#f6dce1}.product{background:linear-gradient(145deg,#25252e,#1b1b22);border-color:#42343a}.product:hover{border-color:#ef233c;box-shadow:0 8px 24px #ef233c1f}.dashboard-banner{background:linear-gradient(120deg,#21171b,#18181f 60%,#35131d);border:1px solid #43252e;box-shadow:0 18px 45px #0004}.dashboard-banner .intro h1,.setting-card h3,.permission-grid legend{color:#ff536b}.btn{background:linear-gradient(135deg,#ef233c,#b80f27);box-shadow:0 7px 18px #ef233c24}.btn:hover{filter:brightness(1.1)}.btn.gray{background:#34343f}.search,.field input,.field select{background:#0f0f14;border-color:#40363b}.total{background:linear-gradient(90deg,#991126,#ef233c)}
.login-screen{background:radial-gradient(circle at 72% 20%,#3a111d,#0a0a0d 58%)}.login-card{box-shadow:0 28px 90px #000b;border:1px solid #3b252c}.login-info{background:linear-gradient(155deg,#1a1115,#09090c);border-right:1px solid #40222b}.login-contact img{width:270px;max-width:100%;filter:drop-shadow(0 10px 30px #ef233c33)}.login-logo img{width:250px;max-width:100%}.login-btn{background:linear-gradient(135deg,#ef233c,#b80f27);box-shadow:0 10px 25px #ef233c33}.login-form input:focus,.search:focus,.field input:focus,.field select:focus{outline:none;border-color:#ef233c;box-shadow:0 0 0 3px #ef233c20}
.payment-summary{padding:18px}.payment-summary h3{margin:0 0 12px}.payment-pill{display:inline-flex;gap:8px;margin:4px;padding:8px 12px;border:1px solid #493038;border-radius:20px;background:#27171d}.warning{color:#ffb24d}.mixed-payments{margin:12px 0;padding:12px;border:1px solid #46333a;border-radius:9px;background:#101015}.mixed-payments p{margin:0 0 9px;color:var(--muted)}.mixed-payments label{display:grid;grid-template-columns:1fr 120px;align-items:center;gap:8px;margin:6px 0;font-size:12px}.mixed-payments input{background:#0b0b0f;color:white;border:1px solid var(--line);padding:8px;border-radius:6px}.close-summary{display:flex;justify-content:space-between;align-items:center;padding:15px;margin-bottom:15px;border-radius:9px;background:#101015;border:1px solid #46333a}.close-summary strong{font-size:22px;color:#ff536b}.full-field{grid-column:1/-1}.cash-required h2{color:#ff536b}.muted{color:var(--muted)}
.brand{gap:11px}.brand .brand-emblem{width:51px;height:51px;object-fit:cover;border-radius:50%;border:2px solid #ef233c;box-shadow:0 0 18px #ef233c45}.brand div{min-width:0}.brand strong,.brand small{display:block;white-space:nowrap}.brand strong{font-size:15px;color:#fff;letter-spacing:.5px}.brand small{font-size:10px;color:#ff536b;letter-spacing:1px}.login-contact{text-align:center}.login-contact .brand-photo{width:330px;max-width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;border:4px solid #ef233c;box-shadow:0 18px 50px #0009,0 0 35px #ef233c35}.login-logo img{width:265px}
.modal-box{width:min(900px,94vw)}.purchase-head{display:flex;align-items:center;justify-content:space-between;margin:22px 0 10px}.purchase-head h3{margin:0}.purchase-table select,.purchase-table input{width:100%;min-width:90px;background:#0f0f14;color:white;border:1px solid #40363b;border-radius:6px;padding:8px}.purchase-table select{min-width:220px}.purchase-total{display:flex;justify-content:flex-end;gap:22px;align-items:center;margin:14px 0;padding:14px;border:1px solid #46333a;border-radius:9px;background:#101015}.purchase-total strong{font-size:19px;color:#ff536b}
@media(max-width:720px){.purchase-total{align-items:flex-end;flex-direction:column;gap:7px}.purchase-table select{min-width:180px}}
.transfer-line select,.transfer-line input,.count-line input{width:100%;min-width:90px;background:#0f0f14;color:white;border:1px solid #40363b;border-radius:6px;padding:8px}.transfer-line select{min-width:250px}.count-diff{font-weight:800;color:#ffb24d}

/* FASE 6 - navegación profesional y accesos rápidos */
nav{padding:8px 8px 18px}.nav-group{padding:16px 12px 6px;color:#777782;font-size:9px;font-weight:900;letter-spacing:1.5px}nav button{display:flex;align-items:center;gap:4px;min-height:39px}.nav-icon{font-size:16px}.quick-actions{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin:0 0 22px}.quick-actions button{border:1px solid #392c31;background:linear-gradient(145deg,#1d1d24,#131318);color:#f7f7f9;border-radius:12px;padding:15px 12px;display:flex;align-items:center;gap:12px;cursor:pointer;text-align:left;font-weight:800;box-shadow:0 10px 25px #0002}.quick-actions button:hover{border-color:#ef233c;transform:translateY(-1px)}.quick-actions b{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;background:#ef233c1f;color:#ff536b;font-size:18px}.product-meta{display:block;color:var(--muted);font-weight:400;margin-top:4px}.page-title{padding:4px 2px}.panel{box-shadow:0 14px 38px #0001}tbody tr{transition:.12s}.server-status{font-weight:600}.version small{color:#ff536b}.badge{white-space:nowrap}@media(max-width:1100px){.quick-actions{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.quick-actions{grid-template-columns:1fr 1fr}.quick-actions button{padding:12px 10px}.page-title{flex-direction:column}.page-title .actions{margin:12px 0 0;width:100%}.page-title .actions .btn{flex:1}}

/* ===== FASE 7: VENTANAS POR MÓDULOS ===== */
.nav-arrow{margin-left:auto;font-size:21px;opacity:.45;transition:.2s}
#nav button.active .nav-arrow{opacity:1;transform:translateX(3px)}
.module-window{margin:0 0 20px;background:linear-gradient(135deg,#141414,#080808);border:1px solid #2d2d2d;border-top:3px solid #c11122;border-radius:13px;box-shadow:0 12px 28px rgba(0,0,0,.18);overflow:hidden}
.module-window-head{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:15px 18px 12px;border-bottom:1px solid #2a2a2a}
.module-window-head h2{margin:2px 0 0;color:#fff;font-size:20px;letter-spacing:.2px}
.module-kicker{font-size:10px;letter-spacing:1.8px;color:#e44b58;font-weight:800}
.module-location{font-size:12px;color:#a9a9a9;text-align:right}
.module-tabs{display:flex;gap:7px;padding:10px 12px;overflow-x:auto;background:#101010;scrollbar-width:thin}
.module-tab{border:1px solid #343434;background:#1c1c1c;color:#d8d8d8;border-radius:8px;padding:10px 13px;white-space:nowrap;cursor:pointer;font-weight:700;font-size:12px;transition:.18s}
.module-tab span{margin-right:7px;color:#ef4c59}
.module-tab:hover{background:#282828;border-color:#555;color:#fff}
.module-tab.active{background:linear-gradient(135deg,#b60f1d,#760711);border-color:#d32a39;color:#fff;box-shadow:0 5px 14px rgba(182,15,29,.25)}
.module-tab.active span{color:#fff}
@media(max-width:800px){.module-window-head{align-items:flex-start;flex-direction:column}.module-location{text-align:left}.module-tabs{padding-bottom:12px}}

/* AMB: interfaz solicitada en MAYUSCULAS */
body, button, input, textarea, select, option { text-transform: uppercase; }
input[type="password"], input[type="email"] { text-transform: none; }

/* === R9 PRODUCTOS PROFESIONAL === */
.products-page{max-width:1600px;margin:0 auto}.products-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.products-head h1{font-size:34px;margin:2px 0 4px}.products-head p{margin:0;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.18em;color:#ff5d69;font-weight:800}.product-stats{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:14px;margin-bottom:16px}.stat-card{background:linear-gradient(135deg,#14233a,#101b2c);border:1px solid #2b405d;border-radius:14px;padding:17px;display:flex;align-items:center;gap:14px;box-shadow:0 10px 30px #0002}.stat-icon{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;font-size:24px;font-weight:900}.stat-card.blue .stat-icon{background:#168cff33;color:#55b6ff}.stat-card.green .stat-icon{background:#1aca7733;color:#45e29a}.stat-card.amber .stat-icon{background:#ff9c2033;color:#ffb241}.stat-card.purple .stat-icon{background:#8858ff33;color:#ae91ff}.stat-card small{display:block;color:#a8b6c9;font-size:11px}.stat-card strong{display:block;font-size:23px;margin-top:2px}.stat-card em{display:block;color:#70829b;font-style:normal;font-size:11px;margin-top:3px}.product-toolbar{display:grid;grid-template-columns:minmax(300px,1.6fr) minmax(150px,.55fr) minmax(150px,.55fr) auto;gap:10px;background:#111d2f;border:1px solid #293b55;padding:12px;border-radius:14px 14px 0 0}.search-box{display:flex;align-items:center;gap:9px;background:#0c1625;border:1px solid #324760;border-radius:9px;padding:0 12px;color:#90a3bc}.search-box input{flex:1;border:0;background:transparent;color:#fff;padding:11px 0;outline:0}.product-toolbar select{background:#0c1625;color:#dce6f5;border:1px solid #324760;border-radius:9px;padding:0 12px}.product-catalog{border-radius:0 0 14px 14px}.product-catalog table{min-width:1080px}.product-catalog th{font-size:11px;letter-spacing:.02em}.product-catalog td{vertical-align:middle}.product-thumb{width:46px;height:46px;object-fit:contain;border-radius:9px;background:#f5f6f8;padding:3px;display:block}.product-thumb.placeholder{display:grid;place-items:center;background:#23334b;color:#7890ad;font-size:20px;padding:0}.product-meta{display:block;color:#8294aa;font-size:10px;margin-top:3px}.stock-state{display:inline-flex;align-items:center;padding:6px 9px;border-radius:7px;font-size:11px;font-weight:800}.stock-state.activo{background:#11804955;border:1px solid #22b867;color:#70e5a7}.stock-state.bajo{background:#9b650044;border:1px solid #d8931f;color:#ffc158}.stock-state.agotado{background:#b9203144;border:1px solid #e24455;color:#ff8690}.warning{color:#ff6d78}.row-actions{display:flex;gap:6px}.row-actions button{width:34px;height:34px;border-radius:7px;border:1px solid #39516f;background:#17304d;color:#dcecff;cursor:pointer}.row-actions button:hover{border-color:#f33c50;color:#fff}.product-footer-help{margin-top:14px;padding:15px 18px;border:1px solid #2b405d;border-radius:12px;background:#111d2f;display:flex;align-items:center;gap:12px}.product-footer-help>span{font-size:28px}.product-footer-help div{display:flex;flex-direction:column}.product-footer-help small{color:#7f91aa;margin-top:2px}.product-footer-help .btn{margin-left:auto}.product-modal-box{width:min(900px,94vw)}.product-modal-grid{display:grid;grid-template-columns:250px 1fr;gap:20px}.product-image-column>label{display:block;font-size:11px;color:#aab8ca;font-weight:700;margin-bottom:8px}.product-image-drop{height:100%;min-height:330px;border:1px dashed #49617f;background:#101a2a;border-radius:13px;padding:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.product-image-drop img{width:180px;height:180px;object-fit:contain;border-radius:10px;background:#fff}.image-placeholder{width:180px;height:180px;border-radius:10px;background:#1c2c43;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#758aa7;font-size:45px}.image-placeholder span{font-size:11px;margin-top:7px}.upload-btn{cursor:pointer}.product-image-drop small{color:#7387a2;text-align:center}.product-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.barcode-field{grid-column:1/-1}.input-action{display:grid;grid-template-columns:1fr auto;gap:8px}.input-action .btn{white-space:nowrap}.pos-product-img{width:100%;height:105px;object-fit:contain;border-radius:8px;background:#fff;margin-bottom:8px}.pos-product-img.placeholder{display:grid;place-items:center;background:#1c2c43;color:#7387a2;font-size:30px}
@media(max-width:1000px){.product-stats{grid-template-columns:1fr 1fr}.product-toolbar{grid-template-columns:1fr 1fr}.product-toolbar .search-box{grid-column:1/-1}.product-modal-grid{grid-template-columns:1fr}.product-image-drop{min-height:230px}.product-image-drop img,.image-placeholder{width:140px;height:140px}}
@media(max-width:720px){.products-head{align-items:flex-start;flex-direction:column}.products-head .actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.products-head .actions .btn{width:100%}.product-stats{grid-template-columns:1fr 1fr;gap:8px}.stat-card{padding:12px}.stat-icon{width:42px;height:42px}.stat-card strong{font-size:18px}.product-toolbar{grid-template-columns:1fr}.product-toolbar .search-box{grid-column:auto}.product-modal-box{padding:16px}.product-fields{grid-template-columns:1fr}.barcode-field{grid-column:auto}.input-action{grid-template-columns:1fr}.product-footer-help{align-items:flex-start;flex-wrap:wrap}.product-footer-help .btn{margin-left:0;width:100%}}


/* === R10 FORCE PRODUCTOS: layout limpio, sin panel lateral resumen === */
.products-page{display:block;width:100%;max-width:none}.products-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.products-head h1{font-size:32px;margin:2px 0 4px}.products-head .actions{display:flex;gap:10px;flex-wrap:wrap}.product-stats{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin:0 0 16px}.stat-card{min-height:92px}.product-toolbar{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(170px,.6fr) minmax(170px,.6fr) auto;gap:10px;align-items:center;margin:0 0 14px;padding:12px;border:1px solid rgba(120,160,200,.18);border-radius:14px;background:rgba(10,25,42,.55)}.product-catalog{width:100%;overflow:hidden}.product-catalog .table-wrap{overflow:auto;max-height:calc(100vh - 390px);min-height:320px}.product-catalog table{width:100%;min-width:1050px;border-collapse:collapse}.product-catalog th{position:sticky;top:0;z-index:2}.product-catalog td,.product-catalog th{padding:12px 10px;vertical-align:middle}.product-thumb{width:44px;height:44px;object-fit:contain;border-radius:8px;background:#fff}.product-thumb.placeholder{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.07)}.product-meta{display:block;opacity:.65;font-size:11px;margin-top:3px}.row-actions{display:flex;gap:6px}.row-actions button{min-width:34px;height:34px;border-radius:8px}.product-footer-help{display:flex;align-items:center;gap:12px;margin-top:14px;padding:14px 16px;border:1px solid rgba(120,160,200,.18);border-radius:14px;background:rgba(10,25,42,.55)}.product-footer-help>div{flex:1}.product-footer-help small{display:block;opacity:.72;margin-top:3px}
@media(max-width:1050px){.product-stats{grid-template-columns:repeat(2,1fr)}.product-toolbar{grid-template-columns:1fr 1fr}.products-head{align-items:flex-start}.product-catalog .table-wrap{max-height:none}}
@media(max-width:680px){.products-head{display:block}.products-head .actions{margin-top:12px}.product-stats{grid-template-columns:1fr 1fr;gap:8px}.product-toolbar{grid-template-columns:1fr}.product-footer-help{align-items:flex-start;flex-wrap:wrap}.stat-card{min-height:78px}.products-head h1{font-size:26px}}

/* R11_PRODUCTOS_LIMPIO_SERVIDO */

/* ================= AMB R19 PROFESSIONAL UI ================= */
:root{--r19:#ef233c;--r19b:#b60024;--bg:#07111d;--panel:#0d1c2c;--panel2:#10263c;--line:#24415e;--text:#edf4fb;--muted:#8fa4ba}
body{background:#07111d!important;color:var(--text)!important}
main{background:radial-gradient(circle at 75% 0,#10263d,#07111d 48%)!important}
header{position:sticky!important;top:0!important;z-index:100000!important;height:66px!important;background:#081624f2!important;border-bottom:1px solid #203d59!important;backdrop-filter:blur(12px)}
#app{position:relative;z-index:1!important;padding:22px 24px 40px!important}
.panel,.card{background:linear-gradient(145deg,#0f2134,#0a1725)!important;border:1px solid #23415e!important;border-radius:14px!important;box-shadow:0 15px 35px #0002!important}
.btn{border-radius:10px!important;background:linear-gradient(135deg,#ff2845,#bf0026)!important;border:0!important;box-shadow:0 8px 20px #ef233c2d!important}
.btn.gray,.btn.ghost{background:#10243a!important;border:1px solid #2b4c6b!important;box-shadow:none!important}

/* compact premium login */
.r19-login{background:radial-gradient(circle at 18% 20%,#310711,#070b11 45%,#030609)!important;padding:20px!important}
.r19-login-shell{width:min(1040px,94vw);min-height:610px;display:grid;grid-template-columns:43% 57%;border-radius:24px;overflow:hidden;border:1px solid #3a2330;box-shadow:0 34px 100px #000b;background:#0a0f16}
.r19-login-brand{padding:28px;display:flex;flex-direction:column;gap:20px;background:linear-gradient(155deg,#0b1018,#0a0d13);position:relative}
.r19-brand-top{display:flex;align-items:center;gap:13px}
.r19-brand-top img{width:62px;height:62px;object-fit:contain}
.r19-brand-top div{display:flex;flex-direction:column}.r19-brand-top b{font-size:18px}.r19-brand-top span{font-size:11px;color:#ef5368;text-transform:uppercase;letter-spacing:.14em}
.r19-tech-card{height:260px;border-radius:18px;overflow:hidden;border:1px solid #86263a;background:#06090e}
.r19-tech-card img{width:100%;height:100%;object-fit:cover}
.r19-services{display:grid;grid-template-columns:1fr 1fr;gap:8px}.r19-services span{padding:11px;border-radius:10px;background:#101a27;border:1px solid #26394e;color:#dce5ef;font-size:12px}
.r19-contact{margin-top:auto;padding:12px;border-top:1px solid #2c3541;color:#aebccc;font-size:12px}.r19-contact b{color:#fff}
.r19-login-form{padding:54px 68px;background:#f7f9fc;color:#121927;display:flex;flex-direction:column;justify-content:center}
.r19-form-logo{text-align:center}.r19-form-logo img{width:92px;height:92px;object-fit:contain}.r19-login-form>small{text-align:center;letter-spacing:.14em;font-weight:900;color:#4b596b;margin-top:8px}
.r19-login-form h1{font-size:44px;text-align:center;margin:24px 0 4px;letter-spacing:-.04em}.r19-login-form>p{text-align:center;color:#778394;margin-bottom:25px}
.r19-login-form label{display:block;font-size:12px;font-weight:900;margin:13px 0 7px}
.r19-input{height:54px;border:1px solid #c9d2dd;border-radius:12px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;background:#fff;overflow:hidden}
.r19-input>span{color:#708197;text-align:center}.r19-input input{height:100%!important;border:0!important;outline:0!important;background:transparent!important;padding:0 8px!important}.r19-input button{height:100%;width:54px;border:0;border-left:1px solid #d7dee7;background:#fff}
.r19-enter{width:100%;height:58px;margin-top:22px;border:0;border-radius:12px;color:#fff;font-size:16px;font-weight:900;text-transform:uppercase;background:linear-gradient(135deg,#ff2442,#c10026);box-shadow:0 13px 30px #ef233c38;display:flex;justify-content:center;gap:24px;align-items:center}
.r19-server{text-align:center;margin-top:20px;color:#58687a;font-weight:800;font-size:12px}.r19-server i{display:inline-block;width:10px;height:10px;border-radius:50%;background:#00cc73;margin-right:7px}
.r19-version{text-align:center;margin-top:14px;color:#98a4b2;font-size:10px;letter-spacing:.18em;text-transform:uppercase}

/* Sidebar accordion */
#sidebar.r19-sidebar{width:268px!important;background:linear-gradient(180deg,#091927,#07131f 70%,#06101a)!important;border-right:1px solid #1f3b56!important}
main{margin-left:0!important;width:100%!important}
#sidebar .brand{height:86px!important;padding:13px 15px!important;background:#0d2033!important;border-bottom:1px solid #203b56!important}
#sidebar .brand-emblem{width:52px!important;height:52px!important;border-radius:14px!important;object-fit:cover!important}
#sidebar .profile{margin:11px 12px!important;padding:12px!important;background:#0c1e30!important;border:1px solid #203d59!important;border-radius:13px!important}
#sidebar nav{padding:2px 10px 14px!important}
.r19-nav-title{font-size:10px;font-weight:900;letter-spacing:.16em;color:#627c98;padding:12px 10px 8px}
.r19-nav-group{margin:4px 0;border-radius:11px;overflow:hidden}
.r19-nav-parent{width:100%!important;display:grid!important;grid-template-columns:28px 1fr 18px!important;gap:7px!important;align-items:center!important;border:0!important;background:transparent!important;color:#cbd7e4!important;padding:12px 13px!important;text-align:left!important}
.r19-nav-parent:hover,.r19-nav-group.current>.r19-nav-parent{background:linear-gradient(90deg,#ef233c34,#10243a)!important;color:#fff!important;box-shadow:inset 3px 0 #ef233c!important}
.r19-nav-icon{color:#ff536a;font-size:18px}.r19-nav-parent b{color:#6f87a1;transition:.2s}.r19-nav-group.open .r19-nav-parent b{transform:rotate(180deg)}
.r19-submenu{display:none;padding:2px 6px 8px 40px}.r19-nav-group.open .r19-submenu{display:block}
.r19-subitem{width:100%!important;display:flex!important;gap:8px!important;align-items:center!important;border:0!important;background:transparent!important;color:#8298b0!important;padding:8px!important;border-radius:8px!important;font-size:12px!important;text-align:left!important}
.r19-subitem:hover,.r19-subitem.active{background:#112b44!important;color:#fff!important}

/* reusable new headers/kpis */
.r19-page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;padding:17px 19px;background:linear-gradient(135deg,#0f2338,#0b1826);border:1px solid #23425f;border-radius:15px}
.r19-page-head span{font-size:10px;font-weight:900;letter-spacing:.15em;color:#ff5368}.r19-page-head h1{margin:3px 0;font-size:29px}.r19-page-head p{margin:0;color:#8fa4ba}
.r19-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}.r19-kpis article{min-height:84px;padding:14px;border-radius:14px;background:linear-gradient(145deg,#10243a,#0b1928);border:1px solid #244561;display:flex;gap:12px;align-items:center}.r19-kpis i{width:40px;height:40px;border-radius:11px;background:#ef233c20;color:#ff5368;display:grid;place-items:center;font-style:normal;font-size:18px}.r19-kpis small{display:block;color:#8da2b9}.r19-kpis strong{font-size:20px}
.r19-dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:14px}.r19-panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.r19-panel-title h3{margin:0}
.r19-week{padding:18px}.r19-week-bars{height:220px;display:grid;grid-template-columns:repeat(7,1fr);gap:12px;align-items:end}.r19-week-bars div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.r19-week-bars b{display:block;width:42%;min-height:8px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#ff4158,#b70023)}.r19-week-bars span{font-size:11px;color:#8298b0}
.r19-actions{padding:18px}.r19-actions>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:9px}.r19-actions button{min-height:72px;border:1px solid #284966;border-radius:12px;background:#0d2033;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.r19-actions button:hover{border-color:#ef334e;background:#102943}
.r19-section-title{display:flex;justify-content:space-between;align-items:center;margin:18px 0 9px}.r19-section-title h2{margin:0}.r19-section-title span{color:#ff596f;font-size:12px}

/* products */
.r19-product-kpis{grid-template-columns:repeat(4,1fr)}
.r19-product-panel{padding:10px!important}
.r19-product-toolbar{display:grid;grid-template-columns:minmax(300px,1fr) 190px 165px;gap:8px;margin-bottom:8px}.r19-product-toolbar .search-box{height:42px!important}.r19-product-toolbar select{height:42px;background:#0a1928;color:#e8f1f9;border:1px solid #2a4c6c;border-radius:9px;padding:0 10px}
.r19-action-row{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:10px}.r19-action-row button{height:40px;border:1px solid #2a4d6d;border-radius:9px;background:#10243a;color:#e8f1f8;font-weight:700}.r19-action-row button:hover{border-color:#ef334f;background:#132d46}
.r19-products-table{min-width:1040px!important}.r19-products-table th{position:sticky;top:0;background:#122a43!important;z-index:2}

/* companies */
.r19-company-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.r19-company-card{padding:18px;background:linear-gradient(145deg,#10243a,#0a1827);border:1px solid #244561;border-radius:15px;display:grid;grid-template-columns:58px 1fr;gap:14px}.r19-company-logo{width:58px;height:58px;border-radius:14px;background:linear-gradient(135deg,#ef233c,#9e001f);display:grid;place-items:center;font-weight:900}.r19-company-card h3{margin:3px 0}.r19-company-card p{color:#8399b2;margin:4px 0}.r19-company-card dl{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.r19-company-card dl div{padding:10px;background:#0b1928;border-radius:9px}.r19-company-card dt{font-size:10px;color:#758ca5}.r19-company-card dd{margin:3px 0 0}.r19-company-actions{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.r19-company-actions button{border:1px solid #2a4c6c;background:#10243a;color:#fff;border-radius:8px;padding:8px 14px}

/* settings */
.r19-settings-menu{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.r19-settings-menu button{display:grid;grid-template-columns:42px 1fr 18px;gap:10px;align-items:center;padding:14px;border-radius:13px;border:1px solid #244561;background:linear-gradient(145deg,#10243a,#0a1928);color:#fff;text-align:left}.r19-settings-menu button>b{font-size:20px;color:#ff5469}.r19-settings-menu strong,.r19-settings-menu small{display:block}.r19-settings-menu small{color:#7f96af;margin-top:3px}.r19-settings-menu i{font-style:normal;color:#7890a8}
.r19-settings-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:12px;margin-bottom:14px}.r19-settings-grid>.panel{padding:18px}.r19-online{color:#00d77b}.r19-info-list div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #1d3852}.r19-info-list span{color:#8299b2}.r19-checks p{margin:9px 0;color:#cbd6e3}

/* tables */
table{background:#0a1827!important}th{background:#112a43!important;color:#dce8f4!important;font-size:11px!important}td{border-color:#203a54!important}tbody tr:hover td{background:#0f2439!important}.table-wrap{border-radius:12px!important;overflow:auto!important}

/* responsive */
@media(max-width:1100px){
 .r19-kpis{grid-template-columns:repeat(3,1fr)}.r19-settings-menu{grid-template-columns:1fr 1fr}.r19-settings-grid{grid-template-columns:1fr}.r19-action-row{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1080px){
 #sidebar.r19-sidebar{transform:translateX(-100%);z-index:200000;transition:.25s}.r19-sidebar.mobile-open,body.amb-mobile-menu-open #sidebar.r19-sidebar{transform:translateX(0)!important;visibility:visible!important;pointer-events:auto!important}main{margin-left:0!important;width:100%!important}.hamb{display:block!important}
 .r19-login-shell{grid-template-columns:1fr;max-width:520px}.r19-login-brand{padding:18px;gap:12px}.r19-brand-top img{width:48px;height:48px}.r19-tech-card{height:165px}.r19-services{grid-template-columns:repeat(4,1fr)}.r19-services span{padding:8px 3px;text-align:center;font-size:10px}.r19-contact{display:none}.r19-login-form{padding:25px 24px 28px;background:#0a111c;color:#fff}.r19-form-logo img{width:68px;height:68px}.r19-login-form>small{color:#9fb0c3}.r19-login-form h1{font-size:34px;margin-top:12px}.r19-login-form>p{color:#93a7bd}.r19-input{background:#0d1c2b;border-color:#304f6c}.r19-input input,.r19-input button{color:#fff!important;background:#0d1c2b!important}.r19-server{color:#a9bacb}
}
@media(max-width:650px){
 #app{padding:12px 9px 30px!important}.r19-page-head{align-items:flex-start;flex-direction:column}.r19-kpis,.r19-product-kpis{grid-template-columns:1fr 1fr}.r19-dashboard-grid{grid-template-columns:1fr}.r19-product-toolbar,.r19-action-row{grid-template-columns:1fr}.r19-settings-menu{grid-template-columns:1fr}.r19-services{grid-template-columns:1fr 1fr}
}
/* AMB Punto de Venta profesional - 2026-09-21 */
.pos-pro{display:grid;grid-template-columns:minmax(560px,1.35fr) minmax(520px,.95fr);gap:12px}.pos-products,.sale-panel{margin:0}.pos-tools{display:flex;gap:8px;padding:12px;border-bottom:1px solid #293b55;align-items:center}.barcode-box{display:flex;flex:1;min-width:260px;background:#0c1625;border:1px solid #3b526f;border-radius:9px;align-items:center;padding-left:12px}.barcode-box input{flex:1;background:transparent;border:0;color:#fff;padding:12px;outline:0}.print-menu{position:relative}.print-pop{position:absolute;right:0;top:44px;background:#13233a;border:1px solid #3b526f;border-radius:8px;z-index:20;min-width:170px;box-shadow:0 12px 30px #0008}.print-pop button{display:block;width:100%;padding:12px;background:transparent;color:#fff;border:0;text-align:left;cursor:pointer}.print-pop button:hover{background:#243b59}.product-grid.compact{grid-template-columns:repeat(5,minmax(105px,1fr));gap:8px;padding:10px}.compact-card{padding:8px;position:relative;min-height:158px}.compact-card h4{font-size:12px;margin:4px 0 6px;white-space:normal;overflow:visible;text-overflow:unset;word-break:break-word;overflow-wrap:break-word;line-height:1.25;min-height:30px}.compact-card b{font-size:13px}.compact-card .stock{display:block;font-size:10px;color:#45df98}.compact-img{height:76px!important;margin-bottom:4px!important}.add-mini{position:absolute;right:7px;bottom:7px;background:#e21d2c;border-radius:6px;padding:3px 7px;font-weight:900}.sale-panel{display:flex;flex-direction:column;min-height:680px}.sale-head{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid #34445c}.sale-head h3{margin:0 auto 0 0}.sale-tabs{display:flex;gap:5px;flex-wrap:wrap}.sale-tab{background:#14233a;color:#cbd7e8;border:1px solid #39516f;border-radius:6px;padding:7px 9px;cursor:pointer}.sale-tab.active{background:#e21d2c;color:#fff}.sale-tab.new{border-color:#168cff}.client-top{padding:10px 12px;border-bottom:1px solid #34445c}.client-top label{display:block;font-size:11px;color:#ff5d69;font-weight:800;margin-bottom:5px}.client-top .search{margin:0;width:100%;max-width:none}.wide-cart{padding:0 12px 12px;display:flex;flex-direction:column;flex:1}.cart-table{flex:1}.cart-th,.cart-line{display:grid;grid-template-columns:minmax(170px,1.5fr) 95px 90px 120px;gap:7px;align-items:center}.cart-th{padding:10px 4px;color:#9eb0c8;font-size:10px;font-weight:800;border-bottom:1px solid #34445c}.cart-line{padding:10px 4px;border-bottom:1px solid #2b405d;font-size:12px}.cart-line small{display:block;color:#7f91aa}.cart-line>span:last-child{display:flex;justify-content:space-between;align-items:center}.trash{border:0;background:#e21d2c;color:white;border-radius:5px;cursor:pointer}.sale-bottom{margin-top:auto}.subtotal{display:flex;justify-content:space-between;padding:5px 2px}.sale-bottom .total{margin:8px 0;padding:14px;border-radius:7px}.bottom-actions{display:grid;grid-template-columns:130px 1fr;gap:8px}.charge{background:#12b85a;font-size:18px;min-height:54px}.preview-total,.checkout-total{display:flex;justify-content:space-between;background:#d7192d;color:white;padding:14px;margin-top:12px;font-size:22px;font-weight:800;border-radius:8px}.pay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pay-choice{padding:14px 8px;background:#13233a;color:#fff;border:1px solid #39516f;border-radius:8px;cursor:pointer}.pay-choice.active{background:#168cff;border-color:#65b7ff}.print-choice{display:flex;gap:22px;margin:18px 0;padding:12px;background:#101a2a;border-radius:8px}@media(max-width:1250px){.pos-pro{grid-template-columns:1fr}.product-grid.compact{grid-template-columns:repeat(4,1fr)}}
/* COBRO INTEGRADO R21 - sin ventana modal */
.inline-checkout{margin:10px 0 12px;padding:14px;background:#0b1728;border:1px solid #38516f;border-radius:10px;box-shadow:inset 0 0 0 1px #ffffff08}.inline-pay-title{font-weight:900;color:#fff;margin-bottom:9px}.compact-pay{grid-template-columns:repeat(5,1fr);gap:6px}.compact-pay .pay-choice{padding:10px 5px;font-size:11px}.cash-received{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;align-items:stretch}.cash-received label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800;color:#aebed3}.cash-received input{background:#07111f;color:#fff;border:1px solid #4b6688;border-radius:7px;padding:12px;font-size:20px;font-weight:900}.change-box{background:#10243a;border:1px solid #1c9a5b;border-radius:8px;padding:9px 13px;display:flex;flex-direction:column;justify-content:center}.change-box span{font-size:10px;color:#9fb4ca;font-weight:800}.change-box b{font-size:24px;color:#42e38b}.checkout-actions{display:grid;grid-template-columns:120px 1fr;gap:8px;margin-top:10px}.checkout-actions .charge{min-height:48px}.sale-bottom .total{font-size:25px;min-height:58px;display:flex;align-items:center;justify-content:space-between}.bottom-actions .charge{min-height:68px;font-size:21px}.hidden{display:none!important}@media(max-width:900px){.compact-pay{grid-template-columns:repeat(2,1fr)}.cash-received{grid-template-columns:1fr}}

/* AMB COBRO UNICO: un solo COBRAR VENTA y panel extendido hacia abajo */
.sale-panel{min-height:760px!important;height:calc(100vh - 120px);max-height:900px}
.wide-cart{min-height:0}.cart-table{min-height:210px;overflow:auto}.single-checkout{margin:8px 0!important;padding:10px!important}.single-checkout .cash-received{margin-top:7px}.bottom-actions{margin-top:8px}.bottom-actions .charge{min-height:72px!important;font-size:22px!important}
@media(max-height:820px){.sale-panel{height:auto;min-height:690px!important}}

/* AMB 2026-09-22: filtros y etiquetas */
.product-date-range{display:flex;align-items:end;gap:8px;min-width:310px}.product-date-range label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:800;text-transform:uppercase;color:#9fb0c8}.product-date-range label input{min-width:135px}.product-date-range>span{padding-bottom:10px;color:#7f90a8;font-size:12px}.label-manager{display:grid;gap:14px}.label-help{margin:0;color:#9fb0c8}.label-product-list{max-height:330px;overflow:auto;border:1px solid #30425c;border-radius:10px;padding:8px}.label-product-choice{display:flex;gap:10px;align-items:center;padding:9px;border-bottom:1px solid #26384f}.label-product-choice:last-child{border-bottom:0}.label-product-choice span{display:flex;flex-direction:column;gap:2px}.label-product-choice small{color:#9fb0c8}.label-preview-note{padding:10px;border-radius:8px;background:#101c2c;text-align:center;font-size:12px;font-weight:800;letter-spacing:.3px}
/* AMB Product Editor V4 - scoped, wide and stable */
.product-modal-v4{width:min(1450px,96vw)!important;max-width:none!important;padding:0!important;overflow:hidden!important;background:#071728!important;border:1px solid #2c5279!important}.product-modal-v4>h2{margin:0;padding:22px 28px;border-bottom:1px solid #28405c;font-size:30px;background:#0a1a2d}.product-modal-v4 #modalForm{max-height:calc(92vh - 82px);overflow:auto;padding:16px 20px 0}.product-editor-v4{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:14px}.pev4-main{display:grid;gap:12px}.pev4-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pev4-card{background:#0b1d31;border:1px solid #294766;border-radius:12px;padding:14px;min-width:0}.pev4-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:900;margin:-14px -14px 14px;padding:10px 14px;border-radius:11px 11px 0 0;background:#102844}.pev4-title span{display:flex;flex-direction:column}.pev4-title small{font-size:11px;font-weight:500;color:#9cb0c8;margin-top:2px}.pev4-title.blue{color:#32a7ff}.pev4-title.orange{color:#ff9b32}.pev4-title.green{color:#29dd91}.pev4-title.pink{color:#ff3d9b}.pev4-title.cyan{color:#38d9ff}.pev4-title.purple{color:#c477ff}.pev4-basic-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.pev4-name{grid-column:span 2}.pev4-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pev4-price-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;align-items:start}.pev4-profit{border:1px solid #b27b00;background:linear-gradient(135deg,#18270c,#10253a);border-radius:10px;padding:10px 12px;min-height:76px}.pev4-profit>span{display:block;color:#ffc52e;font-weight:900;font-size:12px}.pev4-profit>div{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-top:7px}.pev4-profit strong{font-size:22px;color:#42e67f}.pev4-profit b{font-size:21px;color:#39c9ff}.pev4-profit small{display:block;color:#9fb0c4;font-size:10px;margin-top:4px}.pev4-image .pev4-card{height:100%}.pev4-image .product-image-drop{min-height:440px}.pev4-image .product-image-drop img,.pev4-image .image-placeholder{width:100%;height:280px}.product-modal-v4 .field label{color:#d6e2f0;font-size:12px;font-weight:700}.product-modal-v4 .field input,.product-modal-v4 .field select{background:#081625;border:1px solid #385674;min-height:42px}.product-modal-v4 .form-actions{position:sticky;bottom:0;z-index:3;margin:16px -20px 0;padding:14px 20px;background:#081725;border-top:1px solid #294766;display:flex;justify-content:flex-end;gap:10px}.product-modal-v4 .form-actions button:first-child{margin-right:auto}.product-modal-v4 .form-actions .btn:last-child{background:#09b96f}.product-modal-v4 .input-action{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:1180px){.product-editor-v4{grid-template-columns:1fr}.pev4-image{grid-row:1}.pev4-image .product-image-drop{min-height:260px}.pev4-image .product-image-drop img,.pev4-image .image-placeholder{width:240px;height:180px}.pev4-price-grid{grid-template-columns:repeat(3,1fr)}.pev4-profit{grid-column:span 3}}
@media(max-width:760px){.product-modal-v4{width:98vw!important}.pev4-row,.pev4-basic-grid,.pev4-price-grid,.pev4-two{grid-template-columns:1fr}.pev4-name,.pev4-profit{grid-column:auto}.product-modal-v4>h2{font-size:23px;padding:17px 20px}}
/* PRODUCTOS REFERENCIA APROBADA - corrección estructural final */
.product-modal-v4{width:calc(100vw - 28px)!important;max-width:1540px!important;height:min(96vh,1020px)!important;max-height:96vh!important;margin:auto!important}
.product-modal-v4 #modalForm{height:calc(100% - 78px)!important;max-height:none!important;overflow:auto!important}
.product-editor-v4{width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;gap:14px!important;align-items:start!important}
.product-editor-v4 .pev4-main{width:100%!important;min-width:0!important}
.product-editor-v4 .pev4-image{position:static!important;inset:auto!important;transform:none!important;width:auto!important;height:auto!important;display:block!important;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;z-index:auto!important;overflow:visible!important}
.product-editor-v4 .pev4-image .pev4-card{width:auto!important;min-height:0!important}
.product-editor-v4 .pev4-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
.product-editor-v4 .pev4-basic-grid{grid-template-columns:minmax(280px,2fr) minmax(170px,1fr) minmax(150px,1fr)!important}
.product-editor-v4 .pev4-price-grid{grid-template-columns:repeat(4,minmax(130px,1fr))!important;align-items:start!important;gap:12px!important}
@media(max-width:1050px){.product-editor-v4{grid-template-columns:minmax(0,1fr) 285px!important}.product-editor-v4 .pev4-price-grid{grid-template-columns:repeat(3,minmax(110px,1fr))!important}.product-editor-v4 .pev4-profit{grid-column:span 3!important}}
@media(max-width:760px){.product-editor-v4{grid-template-columns:1fr!important}.product-editor-v4 .pev4-image{grid-row:auto!important}.product-editor-v4 .pev4-row,.product-editor-v4 .pev4-basic-grid,.product-editor-v4 .pev4-price-grid{grid-template-columns:1fr!important}.product-editor-v4 .pev4-profit{grid-column:auto!important}}
/* Mantener listado oscuro y controles visibles */
.r19-page-head{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:14px!important}.r19-page-head>.btn{white-space:nowrap!important;background:#0bb967!important}.r19-product-panel{background:#091827!important}.r19-products-table tbody tr{background:#0b1a2b!important}.r19-products-table tbody tr:nth-child(even){background:#0d2034!important}.r19-products-table td{background:transparent!important;color:#eef5ff!important}.r19-action-row{display:flex!important;flex-wrap:wrap!important;gap:8px!important}.r19-action-row button{min-height:40px!important}.label-product-choice{cursor:pointer}.label-product-choice:has(input:checked){background:#123b61;border-radius:8px}.label-product-choice input{width:18px;height:18px}

/* AMB Venta R23 - vista completa + formato de impresion */
.pos-pro{grid-template-columns:minmax(500px,1.15fr) minmax(540px,1fr)!important;align-items:start}
.sale-panel{height:calc(100vh - 112px)!important;min-height:620px!important;max-height:none!important;position:sticky;top:8px;overflow:hidden}
.wide-cart{overflow:hidden}.cart-table{min-height:120px!important;overflow:auto!important}.cart-line{padding:7px 4px!important}
.single-checkout{padding:8px!important;margin:6px 0!important}.compact-pay .pay-choice{padding:8px 4px!important}.cash-received input{padding:8px!important;font-size:17px!important}.change-box b{font-size:20px!important}.sale-bottom .total{min-height:48px!important;padding:9px 12px!important;font-size:22px!important}.bottom-actions .charge{min-height:54px!important;font-size:19px!important}
.sale-print-format{display:grid;grid-template-columns:1fr 110px 110px;gap:7px;align-items:center;margin-top:8px}.sale-print-format>span{font-size:11px;font-weight:900;color:#aebed3}.print-format{padding:9px;border:1px solid #3b526f;background:#13233a;color:#fff;border-radius:7px;font-weight:800;cursor:pointer}.print-format.active{background:#168cff;border-color:#70bdff;box-shadow:0 0 0 2px #168cff33}
@media(max-height:800px){.sale-panel{height:calc(100vh - 95px)!important;min-height:560px!important}.cart-line{padding:5px 3px!important}.client-top,.sale-head{padding:7px 10px!important}.single-checkout{padding:6px!important}.cash-received{margin-top:5px!important}.bottom-actions{margin-top:5px!important}}
@media(max-width:1250px){.sale-panel{position:relative;height:auto!important;min-height:650px!important}}

/* AMB PRODUCTOS AZUL EXACTO V1 - scoped only to products */
.products-blue-v1{display:grid;gap:12px;color:#edf6ff}.pb-head{display:grid;grid-template-columns:1fr minmax(500px,1.35fr);gap:14px;padding:14px 16px;border:1px solid #1768a7;border-radius:13px;background:linear-gradient(135deg,#073768,#061f3f)}.pb-title{display:flex;gap:14px;align-items:center}.pb-title h1{font-size:30px;margin:0}.pb-title p{margin:2px 0 0;color:#c2d5e8}.pb-cube{width:62px;height:62px;border-radius:11px;background:#0788ff;display:grid;place-items:center;font-size:32px}.pb-head-actions{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;align-items:center}.pb-top-search{grid-column:1/-1;height:42px;border:1px solid #2e628f;border-radius:8px;display:flex;align-items:center;gap:8px;padding:0 12px;background:#071b34}.pb-top-search input{border:0!important;background:transparent!important;color:#fff!important;width:100%;outline:0}.pb-btn{border:1px solid #315b81;border-radius:8px;padding:11px 15px;color:#fff;font-weight:800;background:#102a45;cursor:pointer;white-space:nowrap}.pb-btn.blue{background:#0788ff;border-color:#2ca0ff}.pb-btn.green{background:#06b96b;border-color:#20d786}.pb-btn.red{background:#ff293b;border-color:#ff5361}.pb-btn.dark{background:#102b49}.pb-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.pb-kpis article{min-height:94px;padding:13px;border:1px solid #1767a7;border-radius:11px;background:linear-gradient(145deg,#0a3968,#08264a);display:flex;align-items:center;gap:14px}.pb-kpis i{width:62px;height:62px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-size:30px;font-weight:900}.pb-kpis i.blue{background:#0788ff}.pb-kpis i.green{background:#06bd70}.pb-kpis i.orange{background:#ff9e0a}.pb-kpis i.red{background:#ff293b}.pb-kpis small{display:block;font-size:14px;font-weight:800}.pb-kpis strong{font-size:31px;line-height:1}.pb-kpis span{display:block;color:#70c2ff;margin-top:4px}.pb-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1.25fr;gap:12px;padding:13px;border:1px solid #1767a7;border-radius:11px;background:#08284a}.pb-filters label,.pb-date{display:grid;gap:6px}.pb-filters b{font-size:13px}.pb-filters input,.pb-filters select{height:42px!important;background:#0b3158!important;border:1px solid #376d9d!important;border-radius:7px!important;color:#fff!important;padding:0 11px!important}.pb-date>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pb-filter-actions{display:flex;gap:8px;align-items:end}.pb-export{grid-column:3/5;display:flex;gap:8px;justify-content:flex-end;align-items:end}.pb-table-wrap{overflow:auto;border:1px solid #1767a7;border-radius:10px;background:#061e39}.pb-table{width:100%;min-width:1160px;border-collapse:collapse}.pb-table th{background:#0c3b68;color:#fff;padding:11px 10px;text-align:left;font-size:12px;border-right:1px solid #1d5686}.pb-table td{padding:8px 10px;border-top:1px solid #174b78;border-right:1px solid #123f69;background:#082a4d;color:#f2f7fd}.pb-table tr:nth-child(even) td{background:#092f56}.pb-thumb{width:58px;height:42px;object-fit:contain;background:#fff;border-radius:5px}.pb-thumb.placeholder{display:grid;place-items:center;background:#113d67}.pb-stock{font-size:18px}.pb-stock.activo{color:#1ce37e}.pb-stock.bajo{color:#ffad17}.pb-stock.agotado{color:#ff384b}.pb-state{display:inline-block;padding:7px 13px;border-radius:7px;font-weight:900}.pb-state.activo{background:#08b968}.pb-state.bajo{background:#ff9f0a}.pb-state.agotado{background:#ff293b}.pb-actions{display:flex;gap:7px}.pb-actions button{width:38px;height:36px;border:0;border-radius:6px;color:#fff;background:#0788ff;font-size:18px}.pb-actions button+button{background:#274c72}.pb-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border:1px solid #1767a7;border-radius:10px;background:#08284a}.pb-pages b{display:inline-grid;place-items:center;min-width:34px;height:34px;margin:0 8px;border-radius:6px;background:#0788ff}@media(max-width:1100px){.pb-head{grid-template-columns:1fr}.pb-kpis{grid-template-columns:1fr 1fr}.pb-filters{grid-template-columns:1fr 1fr}.pb-export{grid-column:auto}.pb-head-actions{grid-template-columns:1fr 1fr}}@media(max-width:700px){.pb-kpis,.pb-filters{grid-template-columns:1fr}.pb-date>div{grid-template-columns:1fr}.pb-export{justify-content:stretch;flex-direction:column}.pb-head-actions{grid-template-columns:1fr}.pb-top-search{grid-column:auto}}

/* AMB CAJA V2 - 2026-09-22 */
.cash-v2{display:grid;gap:12px}.cash-kpis{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:10px}.cash-kpis article{min-height:108px;padding:16px;border:1px solid #1767a7;border-radius:12px;background:linear-gradient(145deg,#0a3968,#071f3c);box-shadow:0 8px 22px #0003}.cash-kpis article.expected{background:linear-gradient(145deg,#0b4b80,#08284a)}.cash-kpis small{display:block;color:#9fc7e9;font-weight:800;font-size:11px}.cash-kpis strong{display:block;font-size:25px;margin:8px 0 5px;color:#f4f9ff}.cash-kpis span{color:#8eacc7;font-size:11px}.cash-payments{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid #1767a7;border-radius:12px;background:#082744}.cash-payments h3{margin:0;color:#fff}.cash-payments p{margin:3px 0 0;color:#86a9c8}.cash-pay-list{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cash-pay-pill{display:grid;gap:3px;min-width:130px;padding:9px 12px;border:1px solid #2d6b9d;border-radius:9px;background:#0b3157}.cash-pay-pill b{font-size:10px;color:#9fc7e9}.cash-pay-pill strong{color:#fff}.cash-toolbar{display:grid;grid-template-columns:auto 135px 135px 160px minmax(180px,1fr) auto auto;gap:8px;align-items:end;padding:12px;border:1px solid #1767a7;border-radius:12px;background:#071f39}.cash-toolbar label{display:grid;gap:4px;font-size:10px;font-weight:800;color:#a8c5df}.cash-toolbar input,.cash-toolbar select{height:39px!important;border:1px solid #376d9d!important;border-radius:7px!important;background:#0b3158!important;color:#fff!important;padding:0 10px!important}.cash-quick{display:flex;gap:5px;flex-wrap:wrap}.cash-quick button,.cash-export{height:39px;border:1px solid #3577aa;border-radius:7px;background:#103a60;color:#fff;font-weight:800;padding:0 11px;cursor:pointer}.cash-export{background:#0788ff}.cash-table-panel{border:1px solid #1767a7;border-radius:12px;overflow:hidden;background:#061e39}.cash-panel-head{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;background:#0a3157}.cash-panel-head h3{margin:0;color:#fff}.cash-panel-head span{font-size:11px;color:#8eb1d0}.cash-panel-head b{color:#77c8ff}.cash-scroll{max-height:420px;overflow:auto}.cash-table{width:100%;border-collapse:collapse}.cash-table th{position:sticky;top:0;z-index:1;background:#0c477b!important;padding:11px!important}.cash-table td{padding:10px!important;background:#082744!important;border-top:1px solid #174b78!important}.cash-table tr:nth-child(even) td{background:#092e50!important}.cash-money{font-weight:900;color:#fff}.cash-kind{display:inline-block;min-width:82px;text-align:center;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900}.cash-kind.in{background:#087b4a;color:#d9ffec}.cash-kind.out{background:#8b2630;color:#ffe1e4}.cash-kind.other{background:#23567e}.cash-empty{text-align:center!important;padding:28px!important;color:#8ca8c1!important}@media(max-width:1350px){.cash-kpis{grid-template-columns:repeat(3,1fr)}.cash-toolbar{grid-template-columns:1fr 1fr 1fr}.cash-quick{grid-column:1/-1}}@media(max-width:800px){.cash-kpis{grid-template-columns:1fr 1fr}.cash-payments{display:block}.cash-pay-list{justify-content:flex-start;margin-top:10px}.cash-toolbar{grid-template-columns:1fr 1fr}.cash-toolbar #cashSearch{grid-column:1/-1}}@media(max-width:520px){.cash-kpis{grid-template-columns:1fr}.cash-toolbar{grid-template-columns:1fr}.cash-toolbar #cashSearch{grid-column:auto}}

/* AMB REPORTES V2 - 2026-09-22 */
.reports-v2{display:grid;gap:12px}.rp-actions{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap}.rp-btn{height:42px;border:0;border-radius:8px;padding:0 18px;color:#fff;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.rp-btn.excel{background:#08ad68}.rp-btn.pdf{background:#ef2b3d}.rp-btn.cols{background:linear-gradient(135deg,#0284c7,#0369a1);border:1px solid #38bdf8}.rp-btn.cols:hover{background:linear-gradient(135deg,#0369a1,#075985)}.rp-filter{display:grid;grid-template-columns:1.2fr .8fr .8fr 1.4fr;gap:10px;padding:14px;border:1px solid #1767a7;border-radius:12px;background:linear-gradient(145deg,#082b4e,#071e38)}.rp-filter label{display:grid;gap:5px;color:#a9c8e2;font-size:11px;font-weight:900}.rp-filter input,.rp-filter select{height:42px!important;border:1px solid #3977aa!important;border-radius:7px!important;background:#0a3158!important;color:#fff!important;padding:0 11px!important}.rp-quick{display:flex;gap:7px;flex-wrap:wrap}.rp-quick button{border:1px solid #3174aa;border-radius:7px;background:#103c65;color:#fff;font-weight:800;padding:9px 15px;cursor:pointer}.rp-quick button:first-child{background:#e32636;border-color:#ff5360}.rp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.rp-kpis article{padding:15px;border:1px solid #1767a7;border-radius:12px;background:linear-gradient(145deg,#0a3968,#071f3c);box-shadow:0 7px 20px #0003}.rp-kpis small{display:block;color:#91b9da;font-weight:900;font-size:10px}.rp-kpis strong{display:block;color:#fff;font-size:24px;margin:7px 0 4px}.rp-kpis span{color:#82a6c5;font-size:11px}.rp-note{text-align:right;color:#78bdf1;font-size:11px;font-weight:800}.rp-table-wrap{overflow:auto;max-height:540px;border:1px solid #1767a7;border-radius:11px;background:#061e39}.rp-table{width:100%;min-width:980px;border-collapse:collapse}.rp-table th{position:sticky;top:0;z-index:2;background:#0c477b;color:#fff;padding:11px 9px;text-align:left;text-transform:uppercase;font-size:10px;border-right:1px solid #226091}.rp-table td{padding:9px;background:#082744;color:#f3f8fd;border-top:1px solid #174b78;border-right:1px solid #123f69}.rp-table tr:nth-child(even) td{background:#092e50}.rp-footer{padding:10px 13px;border:1px solid #1767a7;border-top:0;border-radius:0 0 10px 10px;background:#082744;color:#9cc0dd;font-size:11px}.rp-vt-btn.rp-cols-trigger{background:#092c4e!important;border-color:#2b74b1!important;color:#7dd3fc!important;font-weight:800!important;margin-left:6px}.rp-vt-btn.rp-cols-trigger:hover{background:#0f4477!important;color:#fff!important}.rp-col-modal-wrap{display:flex;flex-direction:column;gap:14px}.rp-col-help{padding:10px 14px;background:#082644;border:1px solid #1a5180;border-radius:9px;color:#cce3f7;font-size:13px;line-height:1.4}.rp-col-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;background:#071c33;border:1px solid #174872;border-radius:10px}.rp-col-presets{display:flex;gap:8px;flex-wrap:wrap}.rp-col-presets button{height:34px;font-size:12px;padding:0 12px;font-weight:800;border-radius:6px}.rp-col-search-box input{height:36px!important;min-height:36px!important;font-size:13px!important;padding:0 12px!important;border-radius:7px!important;background:#0b3158!important;border:1px solid #3270a2!important;color:#fff!important;min-width:220px}.rp-col-count-info{display:flex;justify-content:space-between;align-items:center;color:#7dd3fc;font-size:12px;font-weight:700;padding:0 2px}.rp-col-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:9px;max-height:380px;overflow-y:auto;padding:6px;background:#05182c;border:1px solid #163e63;border-radius:10px}.rp-col-card{display:flex;align-items:center;gap:10px;padding:9px 12px;background:#0a2542;border:1px solid #1b4b75;border-radius:8px;cursor:pointer;user-select:none;transition:all .15s ease}.rp-col-card:hover{background:#0d325a;border-color:#38bdf8}.rp-col-card.selected{background:#0e3d6e;border-color:#0284c7;box-shadow:inset 0 0 0 1px #0284c7}.rp-col-card input[type="checkbox"]{width:18px!important;height:18px!important;min-height:18px!important;margin:0!important;cursor:pointer;accent-color:#0284c7}.rp-col-info{display:flex;flex-direction:column;overflow:hidden}.rp-col-info strong{font-size:12px;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-col-info small{font-size:10px;color:#64748b;font-family:monospace}.rp-col-card.selected .rp-col-info small{color:#7dd3fc}@media(max-width:1050px){.rp-filter{grid-template-columns:1fr 1fr}.rp-kpis{grid-template-columns:1fr 1fr}}@media(max-width:600px){.rp-filter,.rp-kpis{grid-template-columns:1fr}.rp-actions{justify-content:stretch}.rp-btn{flex:1}}

/* ADMIN BACKUPS V1 */
.backup-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 16px}.backup-kpis article{border:1px solid #1f6ea2;border-radius:16px;padding:18px;background:linear-gradient(145deg,#08283d,#0a3550);display:flex;flex-direction:column;gap:6px}.backup-kpis small{font-weight:800;color:#7fc9ff}.backup-kpis strong{font-size:22px}.backup-kpis span{color:#a9bfd0}.backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.backup-action{min-height:180px}.backup-action h3{font-size:20px;margin:0 0 10px}.backup-action p{line-height:1.6;color:#b9cad6;min-height:70px}.backup-warning{margin-top:15px;padding:15px 18px;border:1px solid #b98722;background:#35270b;border-radius:12px;display:flex;gap:12px;align-items:center}.backup-warning span{color:#f3d899}@media(max-width:900px){.backup-kpis,.backup-grid{grid-template-columns:1fr}}
/* BACKUPS V3 - ruta seleccionable y recuperación */
.backup-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.backup-path{margin:12px 0;padding:12px 14px;border:1px solid rgba(77,170,255,.35);border-radius:10px;background:#07182b;color:#d8ecff;word-break:break-all;font-weight:700}.backup-buttons{display:flex;gap:10px;flex-wrap:wrap}.backup-action .form-grid{margin:12px 0}.backup-action .field span{display:block;font-size:12px;font-weight:800;margin-bottom:6px;color:#bcd8f2}.backup-action input,.backup-action select{width:100%;box-sizing:border-box;background:#07182b;color:#fff;border:1px solid rgba(77,170,255,.35);border-radius:9px;padding:10px}@media(max-width:900px){.backup-grid-v2{grid-template-columns:1fr!important}}

/* ADMINISTRACION PROFESIONAL R20 */
.r19-company-logo img{width:100%;height:100%;object-fit:contain;border-radius:12px;background:#fff}.company-editor-pro{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start}.company-logo-editor{padding:16px;border:1px solid #294b6b;border-radius:14px;background:#0a1a2b;text-align:center}.company-logo-preview{height:160px;border:1px dashed #426789;border-radius:12px;background:#071522;display:grid;place-items:center;font-size:48px;margin-bottom:12px;overflow:hidden}.company-logo-preview img{width:100%;height:100%;object-fit:contain;background:#fff}.company-editor-pro .field.full{grid-column:1/-1}.roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-bottom:14px}.role-card{border:1px solid #294b6b;border-radius:14px;background:linear-gradient(145deg,#10243a,#0a1928);padding:15px}.backup-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.backup-kpis article{padding:15px;border:1px solid #294b6b;border-radius:14px;background:linear-gradient(145deg,#10243a,#0a1928)}.backup-kpis small,.backup-kpis span{display:block;color:#8ca2ba}.backup-kpis strong{display:block;font-size:19px;margin:6px 0}.backup-grid-v2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.backup-action{padding:18px}.backup-path{padding:11px;border:1px solid #315575;border-radius:9px;background:#071522;word-break:break-all;margin:12px 0}.backup-buttons{display:flex;gap:8px;flex-wrap:wrap}.backup-warning{display:flex;gap:12px;padding:14px;border:1px solid #75414a;border-radius:12px;background:#2b1420;color:#ffd7dc}.backup-warning span{color:#d7aeb5}@media(max-width:900px){.company-editor-pro,.backup-grid-v2{grid-template-columns:1fr}.backup-kpis{grid-template-columns:1fr 1fr}}

/* ADMINISTRACION PROFESIONAL R22 - 2026-09-23 */
.admin-pro-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;margin-bottom:12px;border:1px solid #1767a7;border-radius:14px;background:linear-gradient(135deg,#082b4e,#071a31);box-shadow:0 10px 30px #0003}.admin-pro-head span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#ff5366}.admin-pro-head h1{margin:3px 0 2px;font-size:27px;color:#fff}.admin-pro-head p{margin:0;color:#94b4cf}.admin-head-actions{display:flex;gap:8px}.admin-primary{background:linear-gradient(135deg,#0788ff,#0964c7)!important;border-color:#2d9cff!important}.admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.admin-kpis article{padding:15px 16px;border:1px solid #1767a7;border-radius:12px;background:linear-gradient(145deg,#0a3968,#071f3c);box-shadow:0 7px 20px #0003}.admin-kpis small{display:block;color:#92bfe1;font-size:10px;font-weight:900}.admin-kpis strong{display:block;margin:6px 0 3px;font-size:23px;color:#fff}.admin-kpis span{font-size:11px;color:#82a6c5}.admin-company-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:12px}.admin-company-card{padding:17px;border:1px solid #1767a7;border-radius:14px;background:linear-gradient(145deg,#092c4e,#071a31);box-shadow:0 10px 25px #0003}.admin-company-top{display:grid;grid-template-columns:68px 1fr auto;gap:13px;align-items:center}.admin-company-logo{width:68px;height:68px;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#ef233c,#9e001f);font-size:22px;font-weight:900}.admin-company-logo img{width:100%;height:100%;object-fit:contain;background:#fff}.admin-company-name small{color:#91b9da;font-weight:800}.admin-company-name h2{margin:4px 0 2px;color:#fff;font-size:20px}.admin-company-name p{margin:0;color:#789bb9}.admin-company-data{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.admin-company-data div{padding:10px 12px;border:1px solid #194c77;border-radius:9px;background:#071b31}.admin-company-data span{display:block;font-size:9px;font-weight:900;color:#6f9ec4}.admin-company-data b{display:block;margin-top:4px;color:#e8f4ff;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-card-actions{display:flex;gap:8px;justify-content:flex-end}.admin-section{margin-bottom:12px;padding:12px;border:1px solid #1767a7;border-radius:13px;background:#061d35}.admin-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.admin-section-head h3{margin:0;color:#fff}.admin-section-head p{margin:3px 0 0;color:#84a9c8;font-size:11px}.admin-search{min-width:260px;height:38px!important;padding:0 11px!important;border:1px solid #3478ad!important;border-radius:8px!important;background:#092e50!important;color:#fff!important}.admin-role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px;margin-bottom:12px}.admin-role-card{display:grid;grid-template-columns:44px 1fr;gap:9px;padding:14px;border:1px solid #1767a7;border-radius:12px;background:linear-gradient(145deg,#0a3157,#071d35)}.admin-role-icon{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#0b477b;color:#72c6ff;font-size:20px}.admin-role-card h3{margin:1px 0;color:#fff}.admin-role-card small{color:#7da6c7;font-size:9px}.admin-role-stats{grid-column:2;display:flex;gap:12px;color:#9abbd4;font-size:10px}.admin-role-stats b{color:#fff}.admin-role-card button{grid-column:1/-1}.admin-control-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:12px}.admin-control-grid button{display:grid;grid-template-columns:42px 1fr 18px;gap:10px;align-items:center;padding:14px;border:1px solid #1767a7;border-radius:12px;background:linear-gradient(145deg,#0a3157,#071d35);color:#fff;text-align:left;cursor:pointer}.admin-control-grid button:hover{transform:translateY(-1px);border-color:#47a7ed}.admin-control-grid button>b{font-size:20px;color:#ff5265}.admin-control-grid strong,.admin-control-grid small{display:block}.admin-control-grid small{margin-top:3px;color:#7fa5c4}.admin-control-grid i{font-style:normal;color:#78bdf1}.admin-settings-grid{display:grid;grid-template-columns:1.15fr 1fr .8fr;gap:10px}.admin-status-card{padding:16px;border:1px solid #1767a7;border-radius:13px;background:linear-gradient(145deg,#092b4b,#071a31)}.admin-online{color:#27df8a!important;font-weight:900}.admin-info div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #17466e}.admin-info span{color:#83a7c6}.admin-info b{color:#fff}.admin-checks p{margin:8px 0;color:#cce0f0}.admin-backup-count{display:flex;align-items:baseline;gap:8px;margin:20px 0}.admin-backup-count strong{font-size:36px;color:#fff}.admin-backup-count span{color:#8fb3cf}@media(max-width:1150px){.admin-kpis{grid-template-columns:1fr 1fr}.admin-control-grid{grid-template-columns:1fr 1fr}.admin-settings-grid{grid-template-columns:1fr}.admin-company-grid{grid-template-columns:1fr}}@media(max-width:650px){.admin-pro-head{align-items:flex-start;flex-direction:column}.admin-kpis,.admin-control-grid,.admin-company-data{grid-template-columns:1fr}.admin-company-top{grid-template-columns:58px 1fr}.admin-company-top>.badge{grid-column:1/-1;width:max-content}.admin-company-logo{width:58px;height:58px}.admin-section-head{align-items:stretch;flex-direction:column}.admin-search{min-width:0;width:100%}.admin-card-actions,.admin-head-actions{width:100%;flex-wrap:wrap}.admin-card-actions .btn,.admin-head-actions .btn{flex:1}}

/* AMB R26 - REDISEÑO ESTRUCTURAL EMPRESA + CONFIGURACION */
.amb-admin-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding:18px 20px;margin-bottom:14px;border:1px solid #1b5f93;border-radius:15px;background:linear-gradient(135deg,#061c34,#082b4d 60%,#071b30);box-shadow:0 12px 30px #0003}
.amb-admin-title h1{margin:5px 0 2px;font-size:30px}.amb-admin-title p{margin:0;color:#a9bfd2}.amb-crumb{font-size:11px;color:#77bff0}
.amb-summary-row{display:flex;gap:8px;align-items:stretch}.amb-summary-row>div{min-width:150px;padding:10px 13px;border:1px solid #1b5f93;border-radius:10px;background:#092743}.amb-summary-row small,.amb-summary-row span{display:block;font-size:10px;color:#91b1c9}.amb-summary-row b{display:block;margin:3px 0;color:#fff}
.amb-company-workspace{display:grid;grid-template-columns:300px 1fr;gap:12px}.amb-company-list,.amb-company-detail{border:1px solid #1b5f93;border-radius:14px;background:#061b30;padding:13px}.amb-company-list h3{margin:2px 0 12px}
.amb-company-search{display:flex;gap:8px;align-items:center;border:1px solid #286b9e;border-radius:9px;padding:0 10px;margin-bottom:12px}.amb-company-search input{width:100%;padding:10px;background:transparent;border:0;color:#fff;outline:0}
.amb-company-mini{width:100%;display:flex;gap:10px;text-align:left;align-items:center;padding:11px;margin:7px 0;border:1px solid #244c6c;border-radius:10px;background:#09233d;color:#fff}.amb-company-mini.selected{border-color:#159cff;box-shadow:inset 3px 0 #159cff;background:#0b3155}.mini-logo{width:54px;height:54px;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:#0e4f82;font-weight:800}.mini-logo img{width:100%;height:100%;object-fit:contain;background:white}.amb-company-mini span{display:grid;gap:2px}.amb-company-mini small{color:#48df87}.amb-company-mini em{font-style:normal;font-size:10px;color:#9eb7ca}
.amb-detail-head{display:flex;justify-content:space-between;align-items:center;padding:4px 3px 10px}.amb-detail-head b{font-size:18px}.amb-tabs{display:flex;overflow:auto;border:1px solid #24597f;border-radius:9px;background:#09243d}.amb-tabs>*{white-space:nowrap;padding:11px 14px;border-right:1px solid #24597f}.amb-tabs b{background:#087ce1}
.amb-company-formview{display:grid;grid-template-columns:300px 1fr;gap:16px;padding:16px 0}.amb-logo-panel label{display:block;margin-bottom:7px}.amb-logo-large{height:170px;border:1px solid #3275a8;border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden;margin-bottom:8px}.amb-logo-large img{width:100%;height:100%;object-fit:contain}.amb-logo-large strong{font-size:46px;color:#087cc8}.amb-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.amb-fields>div{min-height:59px;border:1px solid #285978;border-radius:9px;background:#09233c;padding:8px 11px}.amb-fields label{display:block;font-size:10px;color:#8fb1c9;margin-bottom:5px}.amb-fields b{font-size:13px}.amb-fields .wide{grid-column:span 2}
.amb-bottom-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.amb-bottom-cards article{min-height:190px;border:1px solid #225b83;border-radius:12px;background:#08243d;padding:13px;display:flex;flex-direction:column}.amb-bottom-cards h3{font-size:13px}.amb-bottom-cards p{font-size:11px;color:#a9c0d0}.amb-bottom-cards .btn{margin-top:auto}
.amb-settings-layout{display:grid;grid-template-columns:280px 1fr;gap:12px}.amb-settings-nav{border:1px solid #1b5f93;border-radius:14px;background:#061b30;padding:13px}.amb-settings-nav button{width:100%;display:flex;gap:10px;align-items:center;text-align:left;color:#fff;background:#09243d;border:1px solid #244f70;border-radius:10px;padding:12px;margin:7px 0}.amb-settings-nav button b{font-size:22px}.amb-settings-nav button span{display:grid}.amb-settings-nav small{color:#8eabc0}
.amb-settings-main{min-width:0}.amb-settings-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}.amb-settings-kpis article{border:1px solid #1b5f93;border-radius:12px;background:linear-gradient(135deg,#092743,#0b355a);padding:14px}.amb-settings-kpis small,.amb-settings-kpis span{display:block;color:#8fb2cc}.amb-settings-kpis b{display:block;font-size:20px;margin:4px 0}
.amb-settings-sections{display:grid;grid-template-columns:1fr 1fr;gap:10px}.amb-settings-sections>article{border:1px solid #1b5f93;border-radius:13px;background:#071f36;padding:15px}.amb-settings-sections header{display:flex;gap:10px;align-items:center}.amb-settings-sections header>span{font-size:28px}.amb-settings-sections h3,.amb-settings-sections p{margin:3px 0}.amb-setting-lines{margin:14px 0}.amb-setting-lines p{display:flex;justify-content:space-between;border-bottom:1px solid #173d59;padding:9px 0}.amb-setting-lines span{color:#65d990;font-size:11px}
@media(max-width:1000px){.amb-admin-title{align-items:flex-start;flex-direction:column}.amb-summary-row{width:100%;overflow:auto}.amb-company-workspace,.amb-settings-layout{grid-template-columns:1fr}.amb-company-list{max-height:330px;overflow:auto}.amb-bottom-cards{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.amb-company-formview,.amb-settings-sections,.amb-settings-kpis{grid-template-columns:1fr}.amb-fields{grid-template-columns:1fr}.amb-fields .wide{grid-column:auto}.amb-bottom-cards{grid-template-columns:1fr}.amb-summary-row>div{min-width:130px}}



/* AMB R27 - CORRECCION DE ANCHO / PROPORCIONES EMPRESA */
#app:has(.amb-company-workspace),#app:has(.amb-settings-layout){
  width:100%!important;max-width:none!important;margin:0!important;
  padding-left:14px!important;padding-right:14px!important;
  box-sizing:border-box!important;overflow:visible!important;
}
#app:has(.amb-company-workspace) .amb-admin-title,
#app:has(.amb-company-workspace) .amb-company-workspace,
#app:has(.amb-settings-layout) .amb-admin-title,
#app:has(.amb-settings-layout) .amb-settings-layout{
  width:100%!important;max-width:none!important;box-sizing:border-box!important;
}
.amb-company-workspace{
  grid-template-columns:minmax(280px,360px) minmax(680px,1fr)!important;
  align-items:start!important;
}
.amb-company-detail{min-width:0!important;width:100%!important}
.amb-company-formview{
  grid-template-columns:minmax(280px,32%) minmax(520px,1fr)!important;
  align-items:start!important;
}
.amb-logo-large{height:190px!important}
.amb-fields{grid-template-columns:repeat(2,minmax(220px,1fr))!important}
.amb-bottom-cards{grid-template-columns:repeat(4,minmax(190px,1fr))!important}
.amb-tabs{width:100%!important}
.amb-tabs>*{flex:1 0 auto;text-align:center}
.amb-summary-row{margin-left:auto}
@media(min-width:1200px){
  .amb-company-list{min-width:300px}
  .amb-company-detail{min-height:650px}
}
@media(max-width:1100px){
  .amb-company-workspace{grid-template-columns:280px minmax(600px,1fr)!important;overflow-x:auto}
  .amb-company-formview{grid-template-columns:270px minmax(480px,1fr)!important}
  .amb-bottom-cards{grid-template-columns:repeat(2,minmax(220px,1fr))!important}
}
@media(max-width:760px){
  #app:has(.amb-company-workspace){padding-left:8px!important;padding-right:8px!important}
  .amb-company-workspace{display:block!important;overflow:visible!important}
  .amb-company-list{margin-bottom:10px;max-height:260px}
  .amb-company-formview{grid-template-columns:1fr!important}
  .amb-fields{grid-template-columns:1fr!important}
  .amb-fields .wide{grid-column:auto!important}
  .amb-bottom-cards{grid-template-columns:1fr!important}
}

/* AMB R28 - DISEÑO NATIVO ADAPTADO AL SISTEMA */
.r28-page{width:100%!important;max-width:none!important;box-sizing:border-box;padding:8px 12px 24px}
.r28-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;border:1px solid #23628e;border-radius:14px;background:linear-gradient(135deg,#07213b,#0a3457);box-shadow:0 10px 28px #0003}
.r28-head h1{margin:4px 0;font-size:28px}.r28-head p{margin:0;color:#a9bfd0}.r28-crumb{font-size:11px;color:#6fc0f6}.r28-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.r28-kpis{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px;margin:12px 0}.r28-kpis article{min-height:76px;border:1px solid #245f89;border-radius:12px;background:#08243e;padding:12px}.r28-kpis small,.r28-kpis span{display:block;color:#91aec3;font-size:10px}.r28-kpis b{display:block;color:#fff;font-size:17px;margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.r28-company-switch{display:flex;gap:7px;align-items:center;overflow:auto;margin:10px 0;padding:9px;border:1px solid #1f5277;border-radius:10px}.r28-company-switch button{white-space:nowrap;border:1px solid #285d83;border-radius:8px;background:#092741;color:#fff;padding:8px 11px}.r28-company-switch button.active{background:#087ddd;border-color:#2ea9ff}
.r28-company-main{display:grid;grid-template-columns:minmax(300px,34%) 1fr;gap:12px}.r28-identity,.r28-data{border:1px solid #245f89;border-radius:14px;background:#071f36;padding:16px}.r28-identity{display:flex;gap:16px;align-items:center}.r28-logo{width:150px;height:150px;flex:0 0 150px;border-radius:14px;background:#fff;display:grid;place-items:center;overflow:hidden}.r28-logo img{width:100%;height:100%;object-fit:contain}.r28-logo strong{font-size:42px;color:#087dcc}.r28-identity h2{font-size:20px;margin:8px 0 2px}.r28-identity p{color:#9fb5c6}.r28-state{color:#50df86;font-size:11px}
.r28-data h3{margin:0 0 12px}.r28-data-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:9px}.r28-data-grid>div{min-height:55px;border:1px solid #285b7d;border-radius:9px;background:#092741;padding:9px 11px}.r28-data-grid small{display:block;color:#89a9c0;font-size:10px;margin-bottom:5px}.r28-data-grid b{font-size:13px}.r28-data-grid .wide{grid-column:span 2}
.r28-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.r28-actions button,.r28-settings-grid button{border:1px solid #245f89;border-radius:12px;background:#08243e;color:#fff;padding:15px;text-align:left;cursor:pointer}.r28-actions button{display:flex;gap:10px;align-items:center}.r28-actions button>b{font-size:26px}.r28-actions span{display:grid;font-weight:700}.r28-actions small{font-weight:400;color:#96b0c3;margin-top:3px}
.r28-settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.r28-settings-grid button{min-height:125px;display:grid;grid-template-columns:42px 1fr;gap:10px;position:relative}.r28-settings-grid button>b{font-size:28px}.r28-settings-grid span{display:grid;align-content:start}.r28-settings-grid strong{font-size:16px}.r28-settings-grid small{color:#9ab2c4;margin-top:6px;line-height:1.35}.r28-settings-grid em{grid-column:2;font-style:normal;color:#57baff;font-size:11px;align-self:end}
.r28-server{margin-top:12px;border:1px solid #245f89;border-radius:12px;background:#071f36;padding:14px}.r28-server h3{margin:0 0 10px}.r28-server>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.r28-server p{margin:0;border:1px solid #244f70;border-radius:8px;padding:9px;background:#09243d}.r28-server small,.r28-server b{display:block}.r28-server small{color:#8eabc0;margin-bottom:4px}
@media(max-width:1050px){.r28-company-main{grid-template-columns:1fr}.r28-kpis{grid-template-columns:repeat(2,1fr)}.r28-actions,.r28-settings-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.r28-head{align-items:flex-start;flex-direction:column}.r28-kpis,.r28-actions,.r28-settings-grid,.r28-server>div{grid-template-columns:1fr}.r28-identity{align-items:flex-start;flex-direction:column}.r28-data-grid{grid-template-columns:1fr}.r28-data-grid .wide{grid-column:auto}.r28-logo{width:120px;height:120px;flex-basis:120px}}

/* R34 - INICIO PROFESIONAL + CABECERA */
.r34-head-actions{margin-left:auto;display:flex;align-items:center;gap:8px;position:relative}.r34-head-btn{width:38px;height:38px;border:1px solid #25577e;border-radius:9px;background:#0a2844;color:#d9edff;font-weight:900;cursor:pointer;position:relative}.r34-dot{position:absolute;right:7px;top:7px;width:7px;height:7px;border-radius:50%;background:#ff394f}.r34-user-card{min-width:210px;height:46px;padding:5px 9px;display:flex;align-items:center;gap:9px;border:1px solid #285d86;border-radius:10px;background:linear-gradient(135deg,#0a3154,#08243f);cursor:pointer}.r34-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#087fe0;color:white;font-weight:900}.r34-user-card div:nth-child(2){display:grid;flex:1}.r34-user-card strong{font-size:11px}.r34-user-card small{font-size:9px;color:#8faec5}.r34-user-menu{position:absolute;right:0;top:54px;width:230px;z-index:99;border:1px solid #28648e;border-radius:10px;background:#071f37;padding:7px;box-shadow:0 16px 35px #0008}.r34-user-menu button{width:100%;text-align:left;border:0;border-radius:7px;background:transparent;color:#e9f5ff;padding:10px;cursor:pointer}.r34-user-menu button:hover{background:#0d3b64}.r34-dashboard{display:grid;gap:12px}.r34-welcome{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border:1px solid #1e5e91;border-radius:14px;background:linear-gradient(120deg,#08223d,#0a3459 70%,#08243e)}.r34-welcome span{font-size:10px;color:#52b9ff;font-weight:900}.r34-welcome h1{margin:3px 0;font-size:27px}.r34-welcome p{margin:0;color:#8fabc0}.r34-new-sale{border:0;border-radius:9px;background:linear-gradient(135deg,#0b8df0,#086bc0);color:#fff;font-weight:900;padding:12px 18px;cursor:pointer}.r34-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.r34-kpis article{min-height:96px;padding:14px;display:flex;align-items:center;gap:12px;border:1px solid #245c84;border-radius:12px;background:#08243f}.r34-kpis i{width:45px;height:45px;border-radius:10px;display:grid;place-items:center;font-size:22px;font-style:normal}.r34-kpis small,.r34-kpis span{display:block}.r34-kpis small{font-size:9px;color:#91aec3;font-weight:900}.r34-kpis strong{display:block;font-size:20px;margin:5px 0}.r34-kpis span{font-size:9px;color:#7e9bb1}.r34-kpis .blue i{background:#087fd033}.r34-kpis .purple i{background:#844dff33}.r34-kpis .orange i{background:#ff922b33}.r34-kpis .green i{background:#18c77a33}.r34-kpis .red i{background:#f1425633}.r34-main-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:12px}.r34-panel{border:1px solid #205c88;border-radius:13px;background:#071f37;overflow:hidden}.r34-panel>header{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border-bottom:1px solid #1a4c72}.r34-panel h3{margin:0}.r34-panel header p{margin:3px 0 0;color:#829fb5;font-size:10px}.r34-panel header>strong{color:#59c0ff;font-size:18px}.r34-bars{height:230px;display:flex;align-items:end;justify-content:space-around;gap:8px;padding:25px 20px 12px;background:linear-gradient(180deg,#082640,#061b31)}.r34-bars div{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px}.r34-bars b{width:min(34px,70%);min-height:12px;border-radius:5px 5px 0 0;background:linear-gradient(#17a5ff,#075ba8)}.r34-bars span{font-size:8px;color:#7fb9de}.r34-bars em{font-style:normal;font-size:9px;color:#9db3c4}.r34-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:13px}.r34-quick-grid button{min-height:86px;border:1px solid #285c82;border-radius:10px;background:#092944;color:#fff;display:grid;place-items:center;gap:3px;cursor:pointer}.r34-quick-grid button:hover{background:#0b3960;border-color:#159cff}.r34-quick-grid i{font-style:normal;font-size:24px}.r34-quick-grid b{font-size:10px}.r34-low{margin-bottom:15px}.r34-low .table-wrap{border:0!important;border-radius:0!important}.r34-low>header>span{font-size:10px;color:#ffb648;border:1px solid #815b20;border-radius:999px;padding:5px 9px}
@media(max-width:1150px){.r34-kpis{grid-template-columns:repeat(3,1fr)}.r34-main-grid{grid-template-columns:1fr}.r34-user-card{min-width:170px}.r34-quick-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:720px){.r34-user-card div:nth-child(2){display:none}.r34-user-card{min-width:auto}.r34-kpis{grid-template-columns:1fr 1fr}.r34-welcome{align-items:flex-start;flex-direction:column;gap:12px}.r34-quick-grid{grid-template-columns:1fr 1fr}}

/* R35 - SOLO FONDO Y MEJORIA VISUAL DE MODULOS SELECCIONADOS */
body.r35-module-skin #app{position:relative;isolation:isolate}
body.r35-module-skin #app:before{content:"";position:fixed;inset:0 0 0 var(--sidebar-w,230px);z-index:-2;pointer-events:none;background:
linear-gradient(135deg,rgba(4,18,36,.96),rgba(4,37,69,.91) 48%,rgba(3,18,36,.97)),
radial-gradient(circle at 82% 10%,rgba(0,136,255,.24),transparent 31%),
repeating-linear-gradient(145deg,rgba(0,119,255,.055) 0 2px,transparent 2px 46px)}
body.r35-module-skin #app:after{content:"";position:fixed;right:-10%;bottom:-22%;width:82%;height:62%;z-index:-1;pointer-events:none;opacity:.38;background:
linear-gradient(155deg,transparent 0 38%,rgba(0,114,255,.25) 39% 42%,transparent 43% 49%,rgba(0,84,190,.2) 50% 55%,transparent 56%),
linear-gradient(25deg,rgba(0,67,135,.18),transparent 55%);filter:blur(.2px)}
body.r35-module-skin #app>.card,body.r35-module-skin #app .card,body.r35-module-skin #app .panel,body.r35-module-skin #app .table-wrap{
background:linear-gradient(145deg,rgba(5,35,65,.94),rgba(4,23,44,.96))!important;border-color:rgba(20,137,240,.48)!important;box-shadow:0 10px 30px rgba(0,0,0,.18),inset 0 1px rgba(84,183,255,.08)}
body.r35-module-skin #app .card:hover{border-color:rgba(30,158,255,.68)!important}
body.r35-module-skin #app table thead th{background:linear-gradient(180deg,#0b66bf,#084d91)!important;color:#fff!important;border-color:#176fb7!important}
body.r35-module-skin #app table tbody tr:nth-child(even){background:rgba(4,39,71,.42)!important}
body.r35-module-skin #app table tbody tr:hover{background:rgba(8,91,157,.28)!important}
body.r35-module-skin #app input,body.r35-module-skin #app select,body.r35-module-skin #app textarea{
background:rgba(7,39,70,.92)!important;border-color:#285f8d!important;box-shadow:inset 0 1px 5px rgba(0,0,0,.18)}
body.r35-module-skin #app input:focus,body.r35-module-skin #app select:focus,body.r35-module-skin #app textarea:focus{border-color:#149cff!important;box-shadow:0 0 0 2px rgba(20,156,255,.13)!important}
body.r35-module-skin #app h1,body.r35-module-skin #app h2,body.r35-module-skin #app h3{text-shadow:0 2px 10px rgba(0,0,0,.25)}
body.r35-module-skin #app .badge{box-shadow:0 3px 10px rgba(0,0,0,.16)}
body.r35-module-skin #app button.primary,body.r35-module-skin #app .btn.primary{box-shadow:0 5px 16px rgba(0,108,224,.24)}
@media(max-width:800px){body.r35-module-skin #app:before{inset:0}}

/* R36 - Kardex / Movimientos de mercancía: solo presentación */
body.r35-module-skin #app table td{border-color:rgba(24,91,140,.42)!important}
body.r35-module-skin #app .section-title,body.r35-module-skin #app .card-title{
letter-spacing:.2px;text-shadow:0 2px 12px rgba(0,0,0,.32)}

/* R37 - Login profesional. Solo presentación; autenticación intacta. */
.login-shell{background:
radial-gradient(circle at 18% 20%,rgba(210,0,18,.13),transparent 26%),
linear-gradient(135deg,#05080d,#090f18 56%,#160509)!important}
.login-brand{position:relative;overflow:hidden;border:1px solid rgba(255,38,55,.22)!important;background:
linear-gradient(145deg,rgba(5,8,13,.94),rgba(14,17,24,.96))!important}
.login-brand:before{content:"";position:absolute;inset:0;pointer-events:none;background:
linear-gradient(135deg,transparent 35%,rgba(235,0,28,.10) 36% 37%,transparent 38%),
radial-gradient(circle at 50% 40%,rgba(255,0,32,.10),transparent 45%)}
.login-brand img{position:relative;z-index:1;border-radius:18px!important;box-shadow:0 15px 38px rgba(0,0,0,.48),0 0 0 1px rgba(255,35,50,.22)!important}
.login-card{border-radius:24px!important;box-shadow:0 28px 65px rgba(0,0,0,.48)!important;border:1px solid rgba(255,255,255,.75)!important}
.login-card .logo img,.login-card>img{object-fit:contain!important}

/* R38 LOGIN REAL - usa clases r19 existentes */
.r19-login{background:
radial-gradient(circle at 15% 18%,rgba(231,0,29,.20),transparent 28%),
radial-gradient(circle at 80% 78%,rgba(151,0,17,.12),transparent 32%),
linear-gradient(135deg,#05070b,#0a0d13 52%,#130408)!important}
.r19-login-shell{border:1px solid rgba(239,31,48,.34)!important;box-shadow:0 36px 110px #000d,0 0 55px rgba(194,0,23,.12)!important}
.r19-login-brand{background:
linear-gradient(155deg,rgba(8,12,18,.98),rgba(14,7,11,.98))!important}
.r19-brand-top{position:relative;z-index:2}
.r19-brand-top .r38-small-tech-logo{width:64px!important;height:64px!important;object-fit:cover!important;border-radius:14px!important;border:1px solid rgba(255,56,68,.40)!important;box-shadow:0 8px 24px #0008!important}
.r19-tech-card.r38-hero-logo{height:285px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;
background:radial-gradient(circle at 50% 42%,rgba(235,0,30,.20),transparent 48%),linear-gradient(145deg,#090d13,#111018)!important;
border:1px solid rgba(241,38,53,.28)!important;box-shadow:inset 0 0 45px rgba(210,0,25,.08),0 18px 40px #0006!important}
.r19-tech-card.r38-hero-logo img{width:min(330px,88%)!important;height:230px!important;object-fit:contain!important;filter:drop-shadow(0 16px 26px #000b)!important}
.r19-services span{border-color:rgba(233,38,54,.28)!important;background:linear-gradient(145deg,#111720,#0c1016)!important}
.r19-services span:hover{border-color:#e9283b!important}
.r19-contact{border-color:rgba(234,39,55,.26)!important;background:rgba(14,12,17,.76)!important}
.r19-login-form{background:linear-gradient(160deg,#fff,#f4f6f9)!important}
.r19-form-logo img{width:112px!important;height:82px!important;object-fit:cover!important;border-radius:14px!important;border:1px solid #d9dde4!important;box-shadow:0 9px 24px #18202b1c!important}
.r19-enter{background:linear-gradient(135deg,#ef2639,#ba0619)!important;box-shadow:0 10px 22px rgba(190,0,24,.22)!important}
.r19-enter:hover{filter:brightness(1.06)}
@media(max-width:700px){
 .r19-tech-card.r38-hero-logo{height:175px!important}
 .r19-tech-card.r38-hero-logo img{height:145px!important}
 .r19-form-logo img{width:92px!important;height:66px!important}
}

/* R39 - Logo exacto + adaptación móvil */
.r19-tech-card.r38-hero-logo{height:320px!important;padding:18px!important;overflow:hidden!important}
.r19-tech-card.r38-hero-logo img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;border-radius:18px!important}
.r19-form-logo{text-align:center!important;display:flex!important;justify-content:center!important;align-items:center!important;margin:0 auto 6px auto!important}
.r19-form-logo img{width:90px!important;height:90px!important;object-fit:contain!important;object-position:center!important;border-radius:16px!important;background:#08070c!important;border:1px solid #d9dde4!important;box-shadow:0 8px 22px rgba(18,25,38,.12)!important;padding:2px!important;display:inline-block!important}

/* ==========================================================================
   AISLAMIENTO TOTAL DEL LOGIN (PC, TABLET Y CELULAR)
   Cuando el login está activo, NADA del sistema (sidebar, header, main,
   mobile bottom nav) debe mostrarse bajo ninguna circunstancia.
   ========================================================================== */
body.login-active aside#sidebar,
body.login-active header,
body.login-active main,
body.login-active #mobileBottomNav,
body.login-active #mobileMenuBackdrop,
#loginScreen:not(.hidden) ~ aside,
#loginScreen:not(.hidden) ~ main,
#loginScreen:not(.hidden) ~ #mobileBottomNav,
#loginScreen:not(.hidden) ~ #mobileMenuBackdrop {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#loginScreen {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  z-index: 9999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  background: radial-gradient(circle at 18% 20%, #2a050d, #070b11 50%, #030609) !important;
  padding: 16px !important;
  box-sizing: border-box !important;
}

#loginScreen.hidden {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* LOGIN EN COMPUTADORA / ESCRITORIO (> 1080px) */
@media (min-width: 1081px) {
  .r19-login-shell {
    width: min(1040px, 94vw) !important;
    min-height: 590px !important;
    max-height: 90vh !important;
    display: grid !important;
    grid-template-columns: 44% 56% !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    border: 1px solid rgba(239,35,60,0.34) !important;
    box-shadow: 0 35px 120px rgba(0,0,0,0.85), 0 0 60px rgba(239,35,60,0.14) !important;
    margin: auto !important;
    background: #0a0f16 !important;
  }
  .r19-login-brand {
    padding: 28px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
  }
  .r19-login-form {
    padding: 44px 54px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    background: linear-gradient(160deg, #fff, #f4f6f9) !important;
  }
}

/* LOGIN EN TABLET (651px - 1080px - Landscape y Portrait) */
@media (min-width: 651px) and (max-width: 1080px) {
  .r19-login-shell {
    width: min(840px, 94vw) !important;
    min-height: auto !important;
    max-height: 92vh !important;
    display: grid !important;
    grid-template-columns: 44% 56% !important;
    border-radius: 20px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border: 1px solid rgba(239,35,60,0.3) !important;
    box-shadow: 0 25px 80px rgba(0,0,0,0.8) !important;
    margin: auto !important;
    background: #0a0f16 !important;
  }
  .r19-login-brand {
    padding: 20px 22px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
  }
  .r19-tech-card.r38-hero-logo {
    height: 180px !important;
    margin: 8px 0 !important;
    padding: 10px !important;
  }
  .r71-login-banner {
    padding: 10px !important;
    margin: 8px 0 !important;
  }
  .r71-title {
    font-size: 11.5px !important;
  }
  .r19-login-form {
    padding: 28px 32px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    background: linear-gradient(160deg, #fff, #f4f6f9) !important;
  }
  .r19-form-logo img {
    width: 76px !important;
    height: 76px !important;
  }
  .r19-login-form h1 {
    font-size: 30px !important;
    margin: 8px 0 2px !important;
  }
  .r19-login-form .r68-welcome {
    font-size: 12.5px !important;
    margin-bottom: 14px !important;
  }
  .r19-input {
    height: 48px !important;
  }
  .r19-enter {
    height: 50px !important;
    font-size: 15px !important;
    margin-top: 14px !important;
  }
}

/* LOGIN EN CELULAR (<= 650px) */
@media (max-width: 650px) {
  #loginScreen {
    padding: 10px !important;
    align-items: flex-start !important;
    padding-top: max(16px, env(safe-area-inset-top, 16px)) !important;
  }
  .r19-login-shell {
    width: 100% !important;
    max-width: 440px !important;
    border-radius: 18px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow: hidden !important;
    border: 1px solid rgba(239,35,60,0.3) !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.8) !important;
    margin: auto !important;
    background: #0a0f16 !important;
  }
  .r19-login-brand {
    padding: 14px 16px !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    text-align: center !important;
  }
  .r19-brand-top {
    justify-content: center !important;
  }
  .r19-brand-top .r38-small-tech-logo {
    width: 46px !important;
    height: 46px !important;
  }
  .r19-brand-top b {
    font-size: 15px !important;
  }
  .r19-brand-top span {
    font-size: 10px !important;
  }
  .r19-tech-card.r38-hero-logo,
  .r71-login-banner,
  .r19-contact {
    display: none !important; /* Limpia la pantalla en celular para no obligar a hacer scroll */
  }
  .r19-login-form {
    padding: 22px 18px 24px !important;
    background: linear-gradient(160deg, #fff, #f4f6f9) !important;
  }
  .r19-form-logo {
    display: flex !important;
    justify-content: center !important;
    margin: 0 auto 4px auto !important;
  }
  .r19-form-logo img {
    width: 60px !important;
    height: 60px !important;
  }
  .r19-login-form small {
    display: block !important;
    text-align: center !important;
    font-size: 10px !important;
    letter-spacing: .1em !important;
  }
  .r19-login-form h1 {
    font-size: 26px !important;
    margin: 4px 0 2px !important;
    text-align: center !important;
  }
  .r19-login-form .r68-welcome {
    font-size: 12px !important;
    text-align: center !important;
    margin-bottom: 14px !important;
  }
  .r19-input {
    height: 48px !important;
  }
  .r19-enter {
    height: 52px !important;
    font-size: 15px !important;
    margin-top: 16px !important;
  }
}


/* R40 - Gastos inteligentes */
.r40-smart-note{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px 16px;margin:0 0 14px;border:1px solid #dbe5ef;border-radius:14px;background:#f8fbff}.r40-smart-note b{white-space:nowrap}.r40-smart-note span{font-size:12px;color:#52606d}.r40-scan-btn{font-weight:800}.r40-receipt-preview{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:14px}.r40-receipt-preview img,.r40-proof-view img{max-width:100%;max-height:48vh;object-fit:contain;border-radius:12px;border:1px solid #dbe5ef;background:white}.r40-ocr{margin-top:12px}.r40-ocr pre{white-space:pre-wrap;max-height:180px;overflow:auto;font-size:11px;background:#f5f7fa;padding:10px;border-radius:10px}.r40-proof{margin-left:8px;border:0;background:transparent;cursor:pointer;font-size:16px}.r40-proof-view{text-align:center}.r40-proof-view div{padding:10px}
@media(max-width:768px){.r40-smart-note{align-items:flex-start;flex-direction:column}.r40-scan-btn{width:100%;min-height:46px}.r40-scan-review .form-grid{grid-template-columns:1fr!important}.r40-receipt-preview img{max-height:34vh}}


/* R44 - PUNTO DE VENTA Y LAYOUT ADAPTATIVO: PC, TABLET Y CELULAR */
@media (min-width: 1081px) {
  .pos-pro {
    display: grid !important;
    grid-template-columns: minmax(500px, 1.2fr) minmax(460px, 1fr) !important;
    gap: 14px !important;
    height: calc(100dvh - 195px) !important;
    min-height: 520px !important;
    max-height: calc(100dvh - 195px) !important;
    overflow: hidden !important;
    align-items: stretch !important;
  }
  .pos-pro>.pos-products, .pos-pro>.sale-panel {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
  }
  .pos-pro>.pos-products {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }
  .pos-pro>.pos-products .pos-tools {
    flex: 0 0 auto !important;
  }
  .pos-pro>.pos-products .product-grid.compact {
    flex: 1 1 auto !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)) !important;
    gap: 9px !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    align-content: start !important;
    padding: 8px !important;
  }
  .pos-pro>.sale-panel {
    position: relative !important;
    top: auto !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    border: 1px solid #1e3a5f !important;
    border-radius: 12px !important;
    background: #0b1a2d !important;
  }
  .pos-pro>.sale-panel .sale-head, .pos-pro>.sale-panel .client-top {
    flex: 0 0 auto !important;
  }
  .pos-pro>.sale-panel .wide-cart {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding-bottom: 6px !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .pos-pro>.sale-panel .cart-table {
    flex: 1 1 auto !important;
    min-height: 60px !important;
    overflow-y: auto !important;
  }
  .pos-pro>.sale-panel .sale-bottom {
    flex: 0 0 auto !important;
    margin-top: auto !important;
  }
  .pos-pro>.sale-panel .single-checkout {
    padding: 6px !important;
    margin: 4px 0 !important;
  }
  .pos-pro>.sale-panel .compact-pay .pay-choice {
    padding: 6px 4px !important;
  }
  .pos-pro>.sale-panel .cash-received {
    margin-top: 4px !important;
    gap: 6px !important;
  }
  .pos-pro>.sale-panel .cash-received input {
    padding: 6px !important;
    font-size: 16px !important;
  }
  .pos-pro>.sale-panel .sale-bottom .total {
    min-height: 42px !important;
    margin: 4px 0 !important;
    padding: 7px 10px !important;
    font-size: 20px !important;
  }
  .pos-pro>.sale-panel .bottom-actions {
    margin-top: 4px !important;
  }
  .pos-pro>.sale-panel .bottom-actions .charge {
    min-height: 48px !important;
    font-size: 18px !important;
  }
}

/* TABLET HORIZONTAL / LANDSCAPE (881px - 1080px): 2 Columnas Split, Cart fijo a la derecha */
@media (min-width: 881px) and (max-width: 1080px) {
  .pos-pro {
    display: grid !important;
    grid-template-columns: 1fr 360px !important;
    gap: 12px !important;
    height: calc(100dvh - 80px) !important;
    max-height: calc(100dvh - 80px) !important;
    overflow: hidden !important;
    align-items: stretch !important;
  }
  .pos-pro>.pos-products {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    min-width: 0 !important;
  }
  .pos-pro>.pos-products .pos-tools {
    flex: 0 0 auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    padding: 8px !important;
  }
  .pos-pro>.pos-products .product-grid.compact {
    flex: 1 1 auto !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)) !important;
    gap: 8px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 6px !important;
    align-content: start !important;
  }
  .compact-card {
    min-width: 0 !important;
    min-height: 160px !important;
    padding: 8px !important;
  }
  .compact-card h4 {
    white-space: normal !important;
    line-height: 1.2 !important;
    min-height: 28px !important;
    font-size: 12px !important;
  }
  .pos-pro>.sale-panel {
    width: 360px !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
    position: relative !important;
    top: auto !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 1px solid #1e3a5f !important;
    border-radius: 12px !important;
    background: #0b1a2d !important;
  }
  .pos-pro>.sale-panel .wide-cart {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 8px 6px !important;
  }
  .pos-pro>.sale-panel .cart-table {
    flex: 1 1 auto !important;
    min-height: 80px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .pos-pro>.sale-panel .sale-bottom {
    flex: 0 0 auto !important;
    margin-top: auto !important;
    padding: 6px 8px !important;
    background: #081322 !important;
    border-top: 1px solid #1a324e !important;
  }
  .pos-pro>.sale-panel .single-checkout {
    padding: 6px !important;
    margin: 4px 0 !important;
  }
  .pos-pro>.sale-panel .bottom-actions .charge {
    min-height: 52px !important;
    font-size: 19px !important;
    font-weight: 900 !important;
  }
}

/* TABLET VERTICAL / PORTRAIT (651px - 880px): Grid de 3-4 productos cómodos */
@media (min-width: 651px) and (max-width: 880px) {
  .pos-pro {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  .pos-products, .sale-panel {
    width: 100% !important;
    min-width: 0 !important;
    position: relative !important;
    top: auto !important;
  }
  .pos-tools {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  .barcode-box {
    flex: 1 !important;
    min-width: 220px !important;
  }
  .product-grid.compact {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(135px, 1fr)) !important;
    gap: 9px !important;
    padding: 8px !important;
  }
  .compact-card {
    min-width: 0 !important;
    min-height: 165px !important;
  }
  .sale-panel {
    border: 1px solid #1e3a5f !important;
    border-radius: 12px !important;
    background: #0b1a2d !important;
    margin-top: 12px !important;
    padding: 10px !important;
  }
  .cart-table {
    overflow-x: auto !important;
  }
  .bottom-actions .charge {
    min-height: 54px !important;
    font-size: 20px !important;
  }
}

/* CELULAR / SMARTPHONE (<= 650px): 2 Columnas táctiles optimizadas */
@media (max-width: 650px) {
  .pos-pro {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
  }
  .pos-products, .sale-panel {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    position: relative !important;
    top: auto !important;
  }
  .pos-tools {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
  }
  .barcode-box {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  .print-menu {
    min-width: 0 !important;
  }
  .pos-tools>.btn, .print-menu>.btn {
    width: 100% !important;
  }
  .product-grid.compact {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 6px !important;
    gap: 7px !important;
  }
  .compact-card {
    min-width: 0 !important;
    min-height: 155px !important;
    padding: 8px !important;
  }
  .compact-card h4 {
    white-space: normal !important;
    line-height: 1.2 !important;
    min-height: 28px !important;
    font-size: 11.5px !important;
  }
  .sale-panel {
    margin-top: 10px !important;
  }
  .wide-cart {
    padding: 0 6px 6px !important;
    overflow: visible !important;
  }
  .cart-table {
    overflow-x: auto !important;
  }
  .cart-th, .cart-line {
    grid-template-columns: minmax(130px, 1.4fr) 78px 74px 95px !important;
    min-width: 380px !important;
  }
  .bottom-actions {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 8 !important;
    background: #0b1c2e !important;
    padding: 7px 0 !important;
  }
}
@media (max-width: 380px) {
  .product-grid.compact {
    grid-template-columns: 1fr !important;
  }
}
/* R44 - revisión de factura cómoda en móvil */
@media(max-width:768px){.r40-scan-review .form-grid{grid-template-columns:1fr!important}.r40-receipt-preview img{max-height:30vh!important}.modal-box:has(.r40-scan-review){width:96vw!important;max-height:92dvh!important}.modal-box:has(.r40-scan-review) #modalForm{overflow-y:auto!important;max-height:calc(92dvh - 72px)!important}}

/* AMB_R68_LOGIN_PROFESIONAL */
.r19-services.r68-services{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin-top:12px!important}
.r19-services.r68-services span{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;min-height:57px!important;padding:10px 13px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:10px!important;background:rgba(255,255,255,.045)!important;color:#fff!important;line-height:1.1!important}
.r19-services.r68-services span b{font-size:11px!important;letter-spacing:.07em!important;color:#fff!important}
.r19-services.r68-services span small{display:block!important;margin-top:5px!important;font-size:9px!important;font-weight:500!important;letter-spacing:.01em!important;color:#9eb2c7!important;text-transform:none!important}
.r19-login-form .r68-welcome{max-width:430px!important;margin-left:auto!important;margin-right:auto!important;color:#6d7b8b!important;font-size:13px!important;line-height:1.5!important}
@media(max-width:760px){.r19-services.r68-services{grid-template-columns:1fr 1fr!important}.r19-services.r68-services span{min-height:52px!important;padding:8px 10px!important}.r19-services.r68-services span b{font-size:10px!important}.r19-services.r68-services span small{font-size:8px!important}}

/* AMB_R69_LOGIN_PREMIUM */
.r69-login-banner{position:relative;margin:16px 0 10px;padding:19px 18px 17px;text-align:center;border:1px solid rgba(239,49,67,.32);border-radius:14px;background:linear-gradient(145deg,rgba(6,20,38,.88),rgba(17,34,53,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 10px 28px rgba(0,0,0,.16);overflow:hidden}
.r69-login-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% -30%,rgba(238,42,61,.12),transparent 55%);pointer-events:none}
.r69-redline{position:relative;width:72px;height:3px;margin:0 auto 12px;border-radius:20px;background:linear-gradient(90deg,#8d1522,#ff3348,#8d1522);box-shadow:0 0 12px rgba(255,40,61,.28)}
.r69-title{position:relative;color:#fff;font-size:16px;font-weight:900;letter-spacing:.075em;line-height:1.2;text-shadow:0 1px 8px rgba(0,0,0,.25)}
.r69-title.r69-second{margin-top:3px}.r69-subtitle{position:relative;margin-top:9px;color:#9eafc0;font-size:10px;font-weight:500;letter-spacing:.025em}
.r69-brand{position:relative;margin-top:13px;padding-top:11px;border-top:1px solid rgba(255,255,255,.09);color:#d8e0e9;font-size:9px;font-weight:800;letter-spacing:.13em}.r69-brand span{color:#ef3045;padding:0 3px}
@media(max-width:760px){.r69-login-banner{padding:15px 12px}.r69-title{font-size:13px}.r69-subtitle{font-size:9px}.r69-brand{font-size:8px}}

/* AMB_R70_LOGIN_EJECUTIVO */
.r70-login-banner{position:relative;margin:15px 0 12px;padding:18px 18px 17px;text-align:center;border:1px solid rgba(231,46,61,.28);border-radius:13px;background:linear-gradient(180deg,rgba(8,22,38,.76),rgba(10,26,43,.54));box-shadow:inset 0 1px 0 rgba(255,255,255,.035);overflow:hidden}
.r70-kicker{color:#91a4b8;font-size:8px;font-weight:800;letter-spacing:.22em;margin-bottom:10px}
.r70-line{width:48px;height:2px;margin:0 auto 11px;border-radius:10px;background:#e92d40}
.r70-title{color:#fff;font-size:15px;font-weight:900;letter-spacing:.055em;line-height:1.28}
.r70-brand{margin-top:12px;color:#d52d3d;font-size:9px;font-weight:900;letter-spacing:.15em}
@media(max-width:760px){.r70-login-banner{padding:15px 12px}.r70-title{font-size:13px}.r70-kicker{font-size:7px}.r70-brand{font-size:8px}}

/* AMB_R71_LOGIN_CENTRADO */
.r71-login-banner{width:100%;box-sizing:border-box;margin:15px 0 13px;padding:17px 14px 15px;text-align:center;border:1px solid rgba(235,45,61,.24);border-radius:12px;background:rgba(7,20,34,.42)}
.r71-title{margin:0 auto;color:#fff;font-size:14px;font-weight:850;line-height:1.35;letter-spacing:.045em;text-align:center}
.r71-line{width:115px;height:2px;margin:11px auto 9px;border-radius:99px;background:linear-gradient(90deg,transparent,#ef3045,transparent)}
.r71-brand{color:#9faebd;font-size:8.5px;font-weight:750;letter-spacing:.11em;text-align:center;white-space:nowrap}
.r71-brand span{color:#ef3045;margin:0 5px}
@media(max-width:760px){.r71-login-banner{padding:14px 9px}.r71-title{font-size:12px}.r71-brand{font-size:7.5px;white-space:normal}}

/* R72 - Entrada/Salida de Mercancia + filtros imprimibles */
.pb-kpis article.pb-click{cursor:pointer;transition:transform .15s ease,border-color .15s ease}
.pb-kpis article.pb-click:hover{transform:translateY(-2px);border-color:#38bdf8}
.r72-move{padding:2px}.r72-move-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:14px 16px;border-radius:12px;background:#0d2740;border:1px solid #244865}.r72-move-head small{color:#8da7bd;font-weight:800;letter-spacing:.08em}.r72-move-head h3{margin:4px 0 0;color:#fff}.r72-type{padding:8px 12px;border-radius:999px;font-size:11px;font-weight:900}.r72-type.in{background:#063f32;color:#34d399}.r72-type.out{background:#4a1520;color:#fb7185}.r72-result{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding:13px 16px;border:1px solid #2b5575;border-radius:10px;background:#0a2034}.r72-result span{color:#9db1c4}.r72-result strong{font-size:22px;color:#38d996}.r72-result strong.bad{color:#fb7185}
@media(max-width:700px){.r72-move-head{align-items:flex-start}.r72-move-head h3{font-size:16px}.r72-result strong{font-size:18px}}

/* AMB R73 BUSCADOR MERCANCIA */
.r73-product-search{position:relative}.r73-product-search>input#moveProductSearch{font-size:15px;font-weight:700;border-color:#2f78a8}.r73-results{display:none;position:absolute;z-index:50;left:0;right:0;top:72px;max-height:290px;overflow:auto;background:#071827;border:1px solid #315a78;border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,.45);padding:6px}.r73-results.show{display:block}.r73-result-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid #17364e;background:transparent;color:#fff;cursor:pointer}.r73-result-item:hover{background:#10324c}.r73-result-item span{display:flex;flex-direction:column;gap:3px}.r73-result-item small{color:#91a9bb}.r73-result-item strong{white-space:nowrap;color:#39d99a}.r73-no-result{padding:15px;text-align:center;color:#fb7185}.r73-selected{margin-top:7px;padding:9px 11px;border-radius:8px;background:#0b2940;color:#9fb4c5;display:flex;justify-content:space-between;gap:12px}.r73-selected b{color:#fff}.r73-selected span{font-size:12px}@media(max-width:700px){.r73-selected{flex-direction:column}.r73-results{top:70px}}


/* AMB R99 - CELULAR SIN CAPA OSCURA */
@media (max-width:1080px){
  #mobileMenuBackdrop,
  #ambR83Shade,
  .mobile-menu-overlay,
  .sidebar-overlay,
  .drawer-overlay{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    filter:none !important;
  }
  body:not(.login-active) #sidebar,
  body:not(.login-active) #sidebar.r19-sidebar,
  body:not(.login-active) aside#sidebar{
    position:fixed !important;
    top:0 !important; bottom:0 !important; left:0 !important;
    width:min(88vw,360px) !important;
    max-width:360px !important;
    height:100vh !important; height:100dvh !important;
    z-index:2147483647 !important;
    background:#071a2b !important;
    opacity:1 !important;
    filter:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    isolation:isolate !important;
  }
  body:not(.login-active) #sidebar.mobile-open,
  body:not(.login-active).amb-mobile-menu-open #sidebar{
    transform:translate3d(0,0,0) !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
  #sidebar *, #sidebar.r19-sidebar *{
    filter:none !important;
    -webkit-filter:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
}

/* ================= AMB R100 · OPERACIÓN PROFESIONAL ================= */
.sale-tabs{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.sale-tab-wrap{display:inline-flex;align-items:stretch;border:1px solid #27425f;border-radius:10px;overflow:hidden;background:#0b1d31}
.sale-tab-wrap .sale-tab{border:0!important;border-radius:0!important}
.sale-tab-rename,.sale-tab-remove{border:0;border-left:1px solid #27425f;background:#102941;color:#cbd5e1;min-width:31px;cursor:pointer;font-weight:900}
.sale-tab-remove{color:#ff7180;background:#321622}
.sale-tab-rename:hover{background:#173b5c}.sale-tab-remove:hover{background:#5b1720}
.quick-client-btn{white-space:nowrap;margin-left:8px}
.inline-checkout{border:1px solid #244663!important;background:linear-gradient(180deg,#0b2036,#08192a)!important;border-radius:14px!important;padding:14px!important}
.inline-pay-title{font-size:12px;letter-spacing:.12em;color:#9fb5cb;font-weight:900;margin-bottom:8px}
.pay-grid.compact-pay{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:8px!important}
.pay-choice{min-height:48px!important;border-radius:10px!important;font-weight:900!important}
.cash-received{margin-top:12px!important;padding-top:12px!important;border-top:1px solid #25415e!important}
.cash-received input{font-size:24px!important;font-weight:900!important;text-align:right!important}
.change-box{border:1px solid #2b5a7d!important;border-radius:12px!important;padding:12px!important}
.change-box b{font-size:25px!important}
.r100-print-settings{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:16px 0!important}
.r100-print-settings h3{margin:0 0 4px}.r100-print-settings p{margin:0;color:#93a8bc}
.r100-print-choice{display:flex;gap:8px;flex-wrap:wrap}
.r100-print-choice button{padding:12px 16px;border:1px solid #2c4b68;background:#0d2237;color:#d9e5ef;border-radius:10px;font-weight:900;cursor:pointer}
.r100-print-choice button.active{background:#d7192d;color:white;border-color:#ff5361}
@media(max-width:650px){
 .pay-grid.compact-pay{grid-template-columns:1fr 1fr!important}
 .client-top{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
 .quick-client-btn{margin-left:0!important;width:100%}
 .sale-tab-wrap{max-width:100%}
}

/* AMB R101 */
.r101-pay-confirm{text-align:center;max-width:520px;margin:auto}.r101-pay-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;background:#073b2d;color:#2ce89c;font-size:36px;font-weight:900}
.r101-pay-confirm h2{margin:5px 0 18px}.r101-pay-row,.r101-pay-change{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border:1px solid #294762;border-radius:10px;margin:8px 0;background:#0a1d31}
.r101-pay-row b{font-size:20px}.r101-pay-change{border-color:#168b60}.r101-pay-change strong{font-size:30px;color:#26e696}.r101-pay-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin-top:18px}
.r101-return{background:#e31c3d!important;color:#fff!important}
.r101-datebar{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.r101-datebar label{display:flex;flex-direction:column;gap:4px;font-size:10px;color:#9bb5ce}.r101-datebar input{min-height:40px}
@media(max-width:700px){.r101-pay-actions{grid-template-columns:1fr}.r101-datebar>*{flex:1 1 140px}}

/* ================= AMB R102 · CENTRO DE CONFIGURACION ================= */
.r102-separation{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 18px}
.r102-separation>*{min-height:135px;padding:18px;border:1px solid #274965;border-radius:14px;background:linear-gradient(180deg,#102a44,#0a1c2f);color:#e9f3fb;text-align:left;display:flex;flex-direction:column;gap:8px}
.r102-separation button{cursor:pointer}.r102-separation strong{font-size:15px}.r102-separation span{color:#9eb4c8;line-height:1.45}.r102-separation em{margin-top:auto;color:#50b7ff;font-style:normal;font-weight:800}
.r102-config-section{margin:14px 0!important}.r102-section-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.r102-section-head h2{margin:0 0 5px;font-size:18px}.r102-section-head p{margin:0;color:#95abc0}
.r102-switch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.r102-switch-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 14px;border:1px solid #294964;border-radius:12px;background:#0b2034;cursor:pointer}
.r102-switch-row span{display:flex;flex-direction:column;gap:4px;padding-right:60px}.r102-switch-row b{font-size:13px}.r102-switch-row small{color:#91a8bc;line-height:1.35}
.r102-switch-row input{position:absolute;opacity:0}.r102-switch-row i{position:absolute;right:14px;width:46px;height:25px;border-radius:99px;background:#536373;transition:.2s}.r102-switch-row i:after{content:"";position:absolute;width:19px;height:19px;left:3px;top:3px;border-radius:50%;background:white;transition:.2s}
.r102-switch-row input:checked+i{background:#18a56c}.r102-switch-row input:checked+i:after{transform:translateX(21px)}
.r102-print-format{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:14px;border:1px solid #2b4d69;border-radius:12px}.r102-print-format div{display:flex;gap:10px;flex-wrap:wrap}.r102-print-format label{padding:10px 13px;background:#0b2034;border:1px solid #315777;border-radius:9px;cursor:pointer}
.r102-help{margin-top:12px;padding:12px 14px;border-left:4px solid #20b77a;background:#0b2b27;border-radius:8px;color:#d9fff0}
html[data-amb-returns="0"] .r101-return{display:none!important}
html[data-amb-quick-customer="0"] .quick-client-btn{display:none!important}
@media(max-width:900px){.r102-separation{grid-template-columns:1fr}.r102-switch-grid{grid-template-columns:1fr}.r102-print-format{align-items:flex-start;flex-direction:column}}

/* R105 CENTRO DGII */
.dgii-center .dgii-alert{padding:16px 18px;margin:0 0 18px;border:1px solid #d8ad39;border-radius:14px;background:rgba(216,173,57,.12)}
.dgii-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dgii-grid .panel{margin:0}.dgii-grid h2,.dgii-docs h2{margin-top:0}
.dgii-grid label{display:block;font-weight:700;margin:12px 0 6px}
.dgii-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.dgii-check,.dgii-pending{padding:10px 12px;border-radius:10px;margin:7px 0;background:rgba(40,160,95,.10)}
.dgii-pending{background:rgba(216,173,57,.10)}
.dgii-docs{margin-top:16px}
@media(max-width:850px){.dgii-grid{grid-template-columns:1fr}}

/* R106 DGII INTEGRADO */
.dgii-status{padding:16px 18px;border-radius:14px;margin:0 0 16px;border:1px solid #c99526;background:rgba(201,149,38,.12)}
.dgii-status.ready{border-color:#20a464;background:rgba(32,164,100,.12)}
.dgii-switch{display:block;padding:10px 0;font-weight:800}.dgii-switch input{transform:scale(1.2);margin-right:8px}
.r106-rnc-row{display:flex;gap:7px}.r106-rnc-row input{flex:1}.r106-rnc-btn{border:0;border-radius:9px;padding:0 10px;background:#145b96;color:#fff;font-weight:800;white-space:nowrap}
@media(max-width:620px){.r106-rnc-row{flex-direction:column}.r106-rnc-btn{height:40px}}

/* AMB R140 - CONFIGURACIÓN FISCAL Y FACTURACIÓN ELECTRÓNICA DGII (ESTILO PRO MODERNO) */
.fiscal-pro-wrap{max-width:1300px;margin:0 auto;padding:6px 0 30px}
.fiscal-pro-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.fiscal-pro-head h1{margin:4px 0 6px;font-size:24px;display:flex;align-items:center;gap:10px;color:#fff}
.fiscal-pro-head p{margin:0;color:#94a3b8;font-size:13px}
.fiscal-pro-nav-tabs{display:flex;gap:10px;margin-bottom:20px;background:transparent;padding:0;overflow-x:auto}
.fiscal-pro-nav-tab{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:9px;border:1px solid #cbd5e1;background:#ffffff;color:#334155;font-weight:700;font-size:13.5px;cursor:pointer;transition:all .18s ease;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.fiscal-pro-nav-tab:hover{background:#f8fafc;border-color:#94a3b8;color:#0f172a}
.fiscal-pro-nav-tab.active{background:#1877f2;color:#ffffff;border-color:#1877f2;box-shadow:0 4px 14px rgba(24,119,242,.35)}
.fiscal-pro-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;align-items:start}
@media(max-width:980px){.fiscal-pro-grid{grid-template-columns:1fr}}
.fiscal-pro-card{background:#ffffff!important;color:#1e293b!important;border:1px solid #e2e8f0!important;border-radius:14px!important;padding:24px!important;box-shadow:0 4px 20px rgba(0,0,0,.06)!important;margin-bottom:22px!important}
.fiscal-pro-card h3{margin:0 0 18px!important;font-size:16px!important;font-weight:700!important;color:#0f172a!important;display:flex;align-items:center;gap:8px;border-bottom:1px solid #f1f5f9;padding-bottom:12px}
.fiscal-pro-field{margin-bottom:15px}
.fiscal-pro-field label{display:block;font-size:12.5px;font-weight:600;color:#334155!important;margin-bottom:6px}
.fiscal-pro-field label .req{color:#ef4444;font-weight:700}
.fiscal-pro-input,.fiscal-pro-select,.fiscal-pro-card textarea{width:100%!important;box-sizing:border-box!important;padding:10px 14px!important;border-radius:8px!important;border:1px solid #cbd5e1!important;background:#ffffff!important;color:#0f172a!important;font-size:13.5px!important;outline:none!important;transition:border-color .15s,box-shadow .15s}
.fiscal-pro-input:focus,.fiscal-pro-select:focus,.fiscal-pro-card textarea:focus{border-color:#1877f2!important;background:#ffffff!important;box-shadow:0 0 0 3px rgba(24,119,242,.15)!important}
.fiscal-pro-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:600px){.fiscal-pro-row{grid-template-columns:1fr}}
.fiscal-pro-logo-area{display:flex;align-items:center;gap:16px;padding:14px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;margin-top:6px}
.fiscal-pro-logo-preview{width:130px;height:64px;display:flex;align-items:center;justify-content:center;background:#ffffff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;padding:4px}
.fiscal-pro-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}
.fiscal-pro-logo-btns{display:flex;gap:8px;flex-wrap:wrap}
.fiscal-pro-btn-upload{background:#1877f2;color:white;padding:8px 14px;border-radius:7px;font-size:12.5px;font-weight:600;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.fiscal-pro-btn-upload:hover{background:#1565d8}
.fiscal-pro-btn-del{background:#ffffff;color:#64748b;border:1px solid #cbd5e1;padding:8px 12px;border-radius:7px;font-size:12.5px;font-weight:600;cursor:pointer}
.fiscal-pro-btn-del:hover{background:#f1f5f9;color:#ef4444}
.fiscal-pro-toggle-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #f1f5f9;cursor:pointer}
.fiscal-pro-toggle-row:last-child{border-bottom:none}
.fiscal-pro-toggle-info{display:flex;flex-direction:column;gap:2px}
.fiscal-pro-toggle-info strong{font-size:13.5px;color:#1e293b!important}
.fiscal-pro-toggle-info small{font-size:11.5px;color:#64748b!important}
.fiscal-pro-switch{position:relative;display:inline-block;width:46px;height:25px;flex-shrink:0}
.fiscal-pro-switch input{opacity:0;width:0;height:0}
.fiscal-pro-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:.22s;border-radius:24px}
.fiscal-pro-slider:before{position:absolute;content:"";height:19px;width:19px;left:3px;bottom:3px;background-color:white;transition:.22s;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.fiscal-pro-switch input:checked+.fiscal-pro-slider{background-color:#1877f2}
.fiscal-pro-switch input:checked+.fiscal-pro-slider:before{transform:translateX(21px)}
.fiscal-pro-alert-info{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:10px;background:#f0f9ff!important;border:1px solid #bae6fd!important;color:#0369a1!important;font-size:13px;line-height:1.45;margin-top:18px}
.fiscal-pro-alert-info .info-icon{font-size:18px;flex-shrink:0}
.fiscal-pro-alert-success{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:10px;background:#f0fdf4!important;border:1px solid #bbf7d0!important;color:#15803d!important;font-size:13px;font-weight:600;margin-top:14px}
.fiscal-pro-bottom-bar{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);flex-wrap:wrap;gap:12px}
.fiscal-pro-btn-save{background:#1877f2!important;color:#ffffff!important;border:none!important;padding:12px 26px!important;border-radius:9px!important;font-size:14px!important;font-weight:700!important;cursor:pointer!important;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 14px rgba(24,119,242,.4)!important;transition:background .15s,transform .15s}
.fiscal-pro-btn-save:hover{background:#1565d8!important;transform:translateY(-1px)}
.fiscal-pro-btn-reset{background:#ffffff!important;color:#475569!important;border:1px solid #cbd5e1!important;padding:10px 18px!important;border-radius:8px!important;font-size:13px!important;font-weight:600!important;cursor:pointer!important;display:inline-flex;align-items:center;gap:6px}
.fiscal-pro-btn-reset:hover{background:#f8fafc!important;color:#0f172a!important}


/* AMB R110 - VISTA MOVIL AJUSTADA AL ANCHO */
@media (max-width:650px){
 html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;overscroll-behavior-x:none}
 *,*::before,*::after{box-sizing:border-box!important}
 #app,main,.main-content,.content,.r34-dashboard,.r34-dashboard>section,
 .r34-welcome,.r34-kpis,.r34-kpis article,.panel,.r28-page,
 .r19-main,.r19-content,.module-window,.module-tabs,.r34-week-chart,
 .r34-shortcuts,.r34-shortcuts-grid{max-width:100%!important;min-width:0!important}
 #app{width:100%!important;overflow-x:hidden!important;padding-left:10px!important;padding-right:10px!important}
 .r34-kpis{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 .r34-kpis article{padding:12px!important;min-width:0!important}
 .r34-kpis article strong{font-size:clamp(15px,4.5vw,22px)!important;overflow-wrap:anywhere!important}
 .r34-kpis article i{display:none!important}
 .r34-shortcuts-grid,.r34-quick-grid,.r34-shortcuts .grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 .r34-shortcuts a,.r34-shortcuts button,.r34-shortcuts-grid>*{min-width:0!important;width:100%!important;min-height:90px!important;padding:10px!important;font-size:12px!important;overflow-wrap:anywhere!important}
 .r34-week-chart,.r34-chart,.r34-chart-bars{width:100%!important;max-width:100%!important;overflow:hidden!important}
 .r34-chart-bars{display:flex!important;gap:4px!important;justify-content:space-around!important}
 .r34-chart-bars>*{min-width:0!important;flex:1 1 0!important}
 .r34-chart-bars small,.r34-chart-bars span{font-size:10px!important}
 .module-tabs{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
 .table-wrap,.table-responsive,.r28-table-wrap{max-width:100%!important;overflow-x:auto!important}
 input,select,textarea{max-width:100%!important;min-width:0!important;font-size:16px!important}
 #loginForm,#loginForm *, .login-card,.login-box,.login-panel{max-width:100%!important;min-width:0!important}
 .login-card,.login-box,.login-panel{width:calc(100vw - 24px)!important;margin-left:auto!important;margin-right:auto!important}
 #sidebar{max-width:min(86vw,320px)!important}
}

/* AMB R112 - MOBILE FIRST: no changes to desktop */
@media(max-width:767px){
 html,body{width:100%!important;max-width:100%!important;overflow-x:clip!important}
 body *{box-sizing:border-box}
 main,main>header,#app,#app>*,.panel,.r34-dashboard,.r34-panel,.products-blue-v1,.pb-head,.pb-head-actions,.r34-bars,.r34-quick-grid{min-width:0!important;max-width:100%!important}
 main{width:100%!important;margin:0!important;padding:0!important;overflow-x:clip!important}
 #app{width:100%!important;padding:10px!important;overflow-x:clip!important}
 .r34-quick-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .r34-quick-grid button{width:100%!important;min-width:0!important;min-height:100px!important;padding:12px 6px!important;overflow-wrap:anywhere!important}
 .r34-bars{display:flex!important;justify-content:space-around!important;gap:2px!important;overflow:hidden!important}
 .r34-bars>div{min-width:0!important;flex:1 1 0!important;text-align:center!important}
 .r34-bars span,.r34-bars em{font-size:clamp(9px,2.2vw,12px)!important;overflow-wrap:anywhere!important}
 .pb-head-actions,.pb-head,.page-title,.actions{flex-wrap:wrap!important;min-width:0!important}
 .pb-head-actions>*{min-width:0!important;max-width:100%!important;width:100%!important}
 .pb-top-search{max-width:100%!important;width:100%!important;overflow:hidden!important}
 input,select,textarea{font-size:16px!important;max-width:100%!important;min-width:0!important}
 .table-wrap,.r28-table-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
 .r34-user-card{max-width:45vw!important;min-width:0!important}
 .r34-user-card strong{display:block;max-width:30vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .r34-head-actions{min-width:0!important;gap:4px!important}
 /* mobileBottomNav active */
 #ambMobileBack{display:inline-flex!important;align-items:center;justify-content:center;background:#0b3963;color:white;border:1px solid #3784b3;border-radius:10px;padding:10px 12px;font-size:14px;font-weight:700;white-space:nowrap;min-width:80px}
 #nav .amb-mobile-nav-head{color:#9ebbd2;padding:18px 12px 10px;font-size:12px;font-weight:700;letter-spacing:.08em}
 #nav .amb-mobile-nav-item{display:block;width:100%;padding:15px 17px;background:transparent;border:0;border-bottom:1px solid #264761;color:#f0f7ff;text-align:left;font-size:16px;cursor:pointer}
 #nav .amb-mobile-nav-item.active{background:#174c78;border-left:4px solid #25a7ff}
 #modal:not(.hidden){padding:env(safe-area-inset-top) 8px env(safe-area-inset-bottom)!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
 #modal .modal-content,#modal .modal-card,#modal .modal-box,#modal .modal-dialog,#modal .modal-panel{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 28px)!important;overflow-y:auto!important;overscroll-behavior:contain!important}
 #modal form,#modalForm{max-width:100%!important;min-width:0!important}
 #modal .form-grid{grid-template-columns:minmax(0,1fr)!important;max-width:100%!important}
 #modal .form-actions{position:sticky!important;bottom:0!important;background:#1b2c45!important;padding:10px 4px!important;z-index:2!important;display:flex!important;gap:8px!important}
 #modal .form-actions button{flex:1!important;min-width:0!important}
 #modal .field{min-width:0!important}
}

/* ================= AMB POS: PANTALLA COMPLETA EN VENTAS (OCULTAR MENU LATERAL CON TOGGLE) ================= */
html body.amb-pos-fullscreen #sidebar,
html body.amb-pos-fullscreen #sidebar.r19-sidebar,
html body.amb-pos-fullscreen aside#sidebar,
html body.amb-r83-pos #sidebar,
html body.amb-r83-pos #sidebar.r19-sidebar,
html body.amb-r83-pos aside#sidebar {
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 290px !important;
  max-width: 88vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  z-index: 999999 !important;
  background: linear-gradient(180deg,#091927,#07131f 70%,#06101a) !important;
  transform: translateX(-100%) !important;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: none !important;
  display: flex !important;
}

html body.amb-pos-fullscreen #sidebar.open,
html body.amb-pos-fullscreen #sidebar.mobile-open,
html body.amb-pos-fullscreen.amb-mobile-menu-open #sidebar,
html body.amb-r83-pos #sidebar.open,
html body.amb-r83-pos #sidebar.mobile-open,
html body.amb-r83-pos.amb-mobile-menu-open #sidebar {
  transform: translateX(0) !important;
  box-shadow: 14px 0 55px rgba(0, 0, 0, 0.95) !important;
}

html body.amb-pos-fullscreen main,
html body.amb-r83-pos main {
  margin-left: 0 !important;
  width: 100% !important;
  max-width: 100vw !important;
}

html body.amb-pos-fullscreen header .hamb,
html body.amb-r83-pos header .hamb {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 8px 14px !important;
  background: linear-gradient(135deg, #1b2c45, #111e30) !important;
  border: 1px solid #2e4d73 !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25) !important;
}
html body.amb-pos-fullscreen header .hamb:hover,
html body.amb-r83-pos header .hamb:hover {
  background: #243c5e !important;
  border-color: #38bdf8 !important;
}

.pos-modules-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-weight: 800 !important;
  background: #1e2e42 !important;
  border: 1px solid #334d6e !important;
  color: #e2e8f0 !important;
  padding: 8px 14px !important;
  border-radius: 7px !important;
  cursor: pointer !important;
  font-size: 13px !important;
}
.pos-modules-btn:hover {
  background: #273b54 !important;
  border-color: #38bdf8 !important;
  color: #fff !important;
}

html body.amb-pos-fullscreen .mobile-close-sidebar,
html body.amb-r83-pos .mobile-close-sidebar {
  display: block !important;
}

.pos-menu-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(4, 11, 20, 0.7);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  z-index: 999990;
}
.pos-menu-backdrop.visible {
  display: block !important;
}

/* ================= AMB R139: PANEL DE USUARIO CON SELECTOR DE EMPRESA Y SUCURSAL ================= */
.r34-user-menu {
  position: absolute !important;
  right: 0 !important;
  top: 50px !important;
  width: 310px !important;
  max-width: calc(100vw - 16px) !important;
  max-height: calc(100vh - 65px) !important;
  max-height: calc(100dvh - 65px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  z-index: 100002 !important;
  border: 1px solid #28648e !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #09233d, #06192c 85%, #041220) !important;
  padding: 10px 12px !important;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.95), 0 0 0 1px rgba(56, 189, 248, 0.2) !important;
  scrollbar-width: thin !important;
  scrollbar-color: #28648e #06192c !important;
  box-sizing: border-box !important;
}

.r34-user-menu::-webkit-scrollbar {
  width: 6px !important;
}
.r34-user-menu::-webkit-scrollbar-track {
  background: #06192c !important;
  border-radius: 6px !important;
}
.r34-user-menu::-webkit-scrollbar-thumb {
  background: #28648e !important;
  border-radius: 6px !important;
}

.r34-menu-profile {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding-bottom: 6px !important;
}

.r34-menu-avatar {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, #087fe0, #045293) !important;
  color: #fff !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  border: 2px solid #38bdf8 !important;
  flex-shrink: 0 !important;
}

.r34-menu-user-meta strong {
  display: block !important;
  font-size: 14px !important;
  color: #fff !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.r34-menu-user-meta small {
  display: block !important;
  color: #7dd3fc !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  margin-top: 2px !important;
}

.r34-menu-divider {
  height: 1px !important;
  background: linear-gradient(90deg, rgba(40,100,142,0.1), #28648e 50%, rgba(40,100,142,0.1)) !important;
  margin: 6px 0 !important;
}

.r34-menu-company-box {
  background: rgba(11, 37, 64, 0.75) !important;
  border: 1px solid #1f507a !important;
  border-radius: 8px !important;
  padding: 8px 10px !important;
  margin: 4px 0 !important;
}

.r34-menu-box-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 5px !important;
}

.r34-menu-box-head label {
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  color: #93c5fd !important;
  text-transform: uppercase !important;
}

.r34-badge-active {
  background: rgba(16, 185, 129, 0.2) !important;
  color: #34d399 !important;
  border: 1px solid rgba(16, 185, 129, 0.4) !important;
  border-radius: 4px !important;
  font-size: 8.5px !important;
  font-weight: 800 !important;
  padding: 1px 5px !important;
  letter-spacing: .05em !important;
}

.r34-company-select {
  width: 100% !important;
  min-height: 36px !important;
  height: 36px !important;
  background: #061728 !important;
  color: #fff !important;
  border: 1px solid #2e6b9e !important;
  border-radius: 6px !important;
  padding: 0 8px !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  outline: none !important;
  cursor: pointer !important;
}

.r34-company-select:focus {
  border-color: #38bdf8 !important;
  box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.25) !important;
}

.r34-cash-indicator {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 5px !important;
  padding: 4px 8px !important;
  background: #061524 !important;
  border-radius: 5px !important;
  border: 1px solid #163653 !important;
}

.r34-cash-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #f59e0b !important;
  flex-shrink: 0 !important;
}

.r34-cash-indicator small {
  font-size: 10.5px !important;
  color: #94a3b8 !important;
  font-weight: 600 !important;
}

.r34-cash-indicator small.green {
  color: #34d399 !important;
}

.r34-company-links {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 5px !important;
  margin-top: 6px !important;
}

.r34-quick-link {
  background: #0f3050 !important;
  border: 1px solid #255885 !important;
  border-radius: 6px !important;
  color: #cce7ff !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  padding: 5px 4px !important;
  text-align: center !important;
  cursor: pointer !important;
  display: block !important;
  width: 100% !important;
}

.r34-quick-link:hover {
  background: #174878 !important;
  border-color: #38bdf8 !important;
  color: #fff !important;
}

.r34-menu-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.r34-menu-items button {
  width: 100% !important;
  text-align: left !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #e2e8f0 !important;
  padding: 7px 10px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  transition: background .15s !important;
}

.r34-menu-items button:hover {
  background: #0d3b64 !important;
  color: #fff !important;
}

.r34-menu-items button .r34-icon {
  font-size: 14px !important;
  width: 18px !important;
  text-align: center !important;
}

.r34-menu-items .r34-logout-action {
  background: linear-gradient(135deg, #ef4444, #b91c1c) !important;
  border: 1px solid #f87171 !important;
  color: #ffffff !important;
  font-weight: 850 !important;
  padding: 9px 12px !important;
  margin-top: 5px !important;
  border-radius: 8px !important;
  box-shadow: 0 3px 12px rgba(239, 68, 68, 0.4) !important;
}

.r34-menu-items .r34-logout-action:hover {
  background: linear-gradient(135deg, #dc2626, #991b1b) !important;
  color: #ffffff !important;
  border-color: #fca5a5 !important;
  box-shadow: 0 4px 16px rgba(239, 68, 68, 0.6) !important;
}

/* ==============================================================
   TECNOLOGÍA AMBIORIS · MÓDULO MÓVIL DE INVENTARIO Y FINANZAS
   ============================================================== */

/* Header principal y tabs para Inventario Físico */
.amb-inv-main-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 18px;
  padding: 16px 20px;
  background: linear-gradient(135deg, #0a192b, #0f243d);
  border: 1px solid #1e3a5f;
  border-radius: 14px;
}
.amb-inv-title-col {
  flex: 1;
  min-width: 250px;
}
.amb-inv-tabs {
  display: flex;
  gap: 8px;
}
.amb-inv-tab {
  background: #132438;
  color: #94a3b8;
  border: 1px solid #234168;
  padding: 10px 18px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all .2s;
}
.amb-inv-tab:hover {
  background: #1c3552;
  color: #fff;
}
.amb-inv-tab.active {
  background: linear-gradient(135deg, #0284c7, #0369a1);
  color: #fff;
  border-color: #38bdf8;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35);
}

.amb-inventory-app {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  position: relative;
  padding-bottom: 95px;
}

/* Encabezado del inventario */
.amb-inv-head-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  background: linear-gradient(135deg, #162a45, #0c1827);
  padding: 14px 18px;
  border-radius: 12px;
  border: 1px solid #234168;
}
.amb-inv-tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #38bdf8;
  margin-bottom: 2px;
}
.amb-inv-title {
  margin: 0;
  font-size: 20px;
  font-weight: 800;
  color: #fff;
}
.amb-inv-sub {
  color: #94a3b8;
  font-size: 12px;
}
.amb-cam-trigger {
  background: linear-gradient(135deg, #059669, #10b981) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  padding: 12px 20px !important;
  border: 0 !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.35) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: transform .15s, box-shadow .15s !important;
}
.amb-cam-trigger:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(16, 185, 129, 0.5) !important;
}

/* Selector de sucursal y notas */
.amb-inv-config-bar {
  display: flex;
  gap: 12px;
  background: #13233a;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid #1e3a5f;
}
.amb-inv-config-bar .field {
  margin: 0;
}
.amb-inv-config-bar label {
  color: #94a3b8;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 4px;
  display: block;
}
.amb-inv-config-bar select,
.amb-inv-config-bar input {
  background: #0b1523 !important;
  color: #fff !important;
  border: 1px solid #294870 !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  font-size: 14px !important;
  width: 100% !important;
}

/* Indicadores KPI */
.amb-inv-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.amb-inv-kpi {
  background: #14243b;
  border: 1px solid #213c60;
  border-radius: 10px;
  padding: 10px 14px;
  text-align: center;
}
.amb-inv-kpi small {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #8ba2be;
  margin-bottom: 3px;
}
.amb-inv-kpi b {
  font-size: 18px;
  font-weight: 800;
  color: #f1f5f9;
}
.amb-inv-kpi b.warn {
  color: #f59e0b;
}
.amb-inv-kpi b.bad {
  color: #ef4444;
}
.amb-inv-kpi b.good {
  color: #10b981;
}

/* Barra de herramientas / buscador / filtros */
.amb-inv-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  background: #111e30;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #1e3a5f;
}
.amb-inv-search-wrap {
  position: relative;
  flex: 1;
  min-width: 220px;
}
.amb-inv-search-ico {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #64748b;
  font-size: 14px;
}
.amb-inv-search-input {
  width: 100%;
  background: #0a1320 !important;
  border: 1px solid #27456d !important;
  color: #fff !important;
  padding: 8px 12px 8px 36px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
}
.amb-inv-search-input:focus {
  border-color: #38bdf8 !important;
  outline: none !important;
}
.amb-inv-filter-pills {
  display: flex;
  gap: 6px;
}
.inv-pill {
  background: #172a42;
  border: 1px solid #234168;
  color: #94a3b8;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
}
.inv-pill.active {
  background: #0284c7;
  border-color: #38bdf8;
  color: #fff;
  font-weight: 700;
}
.amb-inv-tools-right {
  display: flex;
  gap: 6px;
}

/* Contenedor desplazable de productos */
.amb-inv-items-container {
  width: 100%;
  min-height: 200px;
}

/* Tarjetas de Conteo */
.amb-count-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 12px;
}
.amb-count-card {
  background: #15273f;
  border: 1px solid #24436c;
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: border-color .15s, box-shadow .15s;
}
.amb-count-card:hover {
  border-color: #38bdf8;
}
.acc-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}
.acc-name {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
}
.acc-badge {
  background: #0d1a29;
  border: 1px solid #234168;
  padding: 2px 7px;
  border-radius: 6px;
  font-size: 11px;
  white-space: nowrap;
}
.acc-badge code {
  color: #38bdf8;
  font-weight: 700;
}
.acc-mid {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #0d1a29;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid #1a3352;
}
.acc-stock-info {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #94a3b8;
}
.acc-sys-val {
  color: #fff;
  font-size: 15px;
}
.acc-diff-pill {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  padding: 3px 8px;
  border-radius: 6px;
  font-weight: 700;
}
.acc-diff-pill.neutral {
  background: #1e293b;
  color: #94a3b8;
}
.acc-diff-pill.good {
  background: rgba(16, 185, 129, 0.2);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.4);
}
.acc-diff-pill.bad {
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.4);
}

.acc-bot {
  display: flex;
  gap: 8px;
  align-items: center;
}
.acc-counter {
  display: flex;
  align-items: center;
  flex: 1;
  background: #09131f;
  border: 1px solid #27456d;
  border-radius: 10px;
  overflow: hidden;
}
.acc-btn {
  background: #172c47;
  color: #fff;
  border: 0;
  width: 44px;
  height: 44px;
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  transition: background .12s;
}
.acc-btn:active {
  background: #0284c7;
}
.acc-input {
  flex: 1;
  text-align: center;
  background: transparent !important;
  border: 0 !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  width: 100% !important;
  padding: 6px !important;
}
.acc-sync-btn {
  background: #172c47;
  border: 1px solid #27456d;
  color: #cbd5e1;
  padding: 0 14px;
  height: 44px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: all .15s;
}
.acc-sync-btn:hover {
  background: #0284c7;
  color: #fff;
  border-color: #38bdf8;
}

/* Modo tabla en inventario */
.amb-count-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.amb-count-table th {
  background: #16273d;
  color: #94a3b8;
  padding: 10px 12px;
  border-bottom: 2px solid #234168;
}
.amb-count-table td {
  padding: 8px 12px;
  border-bottom: 1px solid #1a3352;
  color: #e2e8f0;
}
.acc-table-counter {
  display: inline-flex;
  align-items: center;
  background: #09131f;
  border: 1px solid #27456d;
  border-radius: 8px;
  overflow: hidden;
}
.btn-micro {
  background: #172c47;
  color: #fff;
  border: 0;
  width: 32px;
  height: 32px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
}
.btn-micro:active {
  background: #0284c7;
}
.acc-table-input {
  width: 70px !important;
  text-align: center !important;
  background: transparent !important;
  border: 0 !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}
.acc-diff-val.good { color: #34d399; font-weight: 800; }
.acc-diff-val.bad { color: #f87171; font-weight: 800; }
.acc-diff-val.neutral { color: #94a3b8; }

/* Destello verde cuando se escanea */
@keyframes ambFlashHighlight {
  0% { background: rgba(16, 185, 129, 0.45); transform: scale(1.02); }
  100% { background: #15273f; transform: scale(1); }
}
.amb-flash-highlight {
  animation: ambFlashHighlight 1.6s ease-out forwards;
  border-color: #10b981 !important;
}

/* Pie de acciones de inventario */
.amb-inv-footer-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  background: #111e30;
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid #1e3a5f;
  margin-top: auto;
}
.amb-inv-footer-info {
  font-size: 12px;
  color: #94a3b8;
}
.amb-inv-footer-actions {
  display: flex;
  gap: 10px;
}

/* Barra inferior fija (Sticky Bottom) de inventario */
.amb-inv-sticky-bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: #09131f;
  border-top: 2px solid #0284c7;
  padding: 14px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  box-shadow: 0 -8px 25px rgba(0, 0, 0, 0.8);
}
@media (min-width: 1081px) {
  body:not(.amb-pos-fullscreen) .amb-inv-sticky-bottom {
    left: 275px;
  }
}
.amb-inv-sticky-info {
  color: #cbd5e1;
  font-size: 14px;
}
.amb-inv-sticky-info b {
  color: #38bdf8;
}
.amb-inv-sticky-info b.good {
  color: #34d399;
}
.amb-inv-sticky-info b.bad {
  color: #f87171;
}
.amb-inv-submit-btn {
  font-weight: 800 !important;
  font-size: 15px !important;
  padding: 12px 24px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #10b981, #059669) !important;
  box-shadow: 0 4px 15px rgba(16, 185, 129, 0.4) !important;
  white-space: nowrap !important;
  border: 0 !important;
  color: #fff !important;
  cursor: pointer !important;
}
.amb-inv-submit-btn:hover {
  background: linear-gradient(135deg, #059669, #047857) !important;
}

/* Móvil: Ajustes de tarjetas táctiles y menú */
@media (max-width: 768px) {
  .amb-inv-main-header {
    padding: 12px 14px;
  }
  .amb-inv-tabs {
    width: 100%;
  }
  .amb-inv-tab {
    flex: 1;
    padding: 9px 8px;
    font-size: 13px;
    text-align: center;
  }
  .amb-inv-kpis {
    grid-template-columns: 1fr 1fr !important;
  }
  .amb-inv-toolbar {
    flex-direction: column;
  }
  .amb-inv-tools-right {
    width: 100%;
    justify-content: space-between;
  }
  .amb-inv-tools-right button {
    flex: 1;
  }
  .acc-bot {
    flex-direction: row;
  }
  .acc-counter {
    height: 48px;
  }
  .acc-btn {
    width: 48px;
    height: 48px;
    font-size: 22px;
  }
  .acc-input {
    font-size: 20px !important;
  }
  .acc-sync-btn {
    height: 48px;
    padding: 0 16px;
    font-size: 14px;
  }
  .amb-inv-sticky-bottom {
    padding: 10px 14px;
  }
  .amb-inv-sticky-info {
    font-size: 12px;
  }
  .amb-inv-submit-btn {
    padding: 10px 16px !important;
    font-size: 13px !important;
  }
  .r19-subitem {
    font-size: 14px !important;
    padding: 11px 12px !important;
    min-height: 44px !important;
  }
  .r19-nav-parent {
    font-size: 15px !important;
    padding: 13px 14px !important;
    min-height: 46px !important;
  }
}

/* ==============================================================
   MODAL DE ESCÁNER DE CÓDIGOS DE BARRAS POR CÁMARA
   ============================================================== */
.amb-barcode-scanner-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: rgba(0, 0, 0, 0.88);
  backdrop-filter: blur(8px);
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.amb-barcode-scanner-modal.visible {
  display: flex;
}
.amb-scanner-wrap {
  background: #0f1c2e;
  border: 1px solid #234168;
  border-radius: 18px;
  max-width: 500px;
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 25px 60px rgba(0,0,0,0.85);
}
.amb-scanner-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  background: #162a45;
  border-bottom: 1px solid #234168;
}
.amb-scanner-title {
  display: flex;
  align-items: center;
  gap: 10px;
}
.amb-scanner-cam-icon {
  font-size: 24px;
}
.amb-scanner-title strong {
  display: block;
  color: #fff;
  font-size: 16px;
}
.amb-scanner-title small {
  color: #94a3b8;
  font-size: 12px;
}
.amb-scanner-close-btn {
  background: #234168;
  border: 0;
  color: #fff;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.amb-scanner-close-btn:hover {
  background: #ef4444;
}

.amb-scanner-viewport {
  position: relative;
  width: 100%;
  height: 340px;
  background: #000;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
#ambBarcodeVideo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: #000;
}
.amb-scanner-reticle {
  position: absolute;
  width: 250px;
  height: 170px;
  border: 2px solid rgba(56, 189, 248, 0.8);
  border-radius: 14px;
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.45);
  pointer-events: none;
  overflow: hidden;
}
@keyframes ambLaserScan {
  0% { transform: translateY(0); }
  50% { transform: translateY(166px); }
  100% { transform: translateY(0); }
}
.amb-scanner-laser {
  width: 100%;
  height: 2px;
  background: #ef4444;
  box-shadow: 0 0 8px #ef4444;
  animation: ambLaserScan 2s linear infinite;
}

.amb-scanner-feedback {
  position: absolute;
  bottom: 14px;
  left: 14px;
  right: 14px;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  transition: opacity .2s;
  pointer-events: none;
}
.amb-scanner-feedback.good {
  background: rgba(16, 185, 129, 0.95);
  color: #fff;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.4);
}
.amb-viewport-snapshot {
  background: radial-gradient(circle at center, #1b3252 0%, #0d1827 100%) !important;
  cursor: pointer;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px 16px;
  user-select: none;
}
.amb-snapshot-prompt {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  color: #fff;
}
.amb-snapshot-icon-big {
  font-size: 64px;
  line-height: 1;
  filter: drop-shadow(0 4px 12px rgba(14, 165, 233, 0.4));
  animation: ambPulse 1.8s infinite ease-in-out;
}
@keyframes ambPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.08); }
}
.amb-snapshot-prompt strong {
  font-size: 18px;
  color: #38bdf8;
  font-weight: 800;
  letter-spacing: -0.3px;
}
.amb-snapshot-prompt small {
  font-size: 13px;
  color: #94a3b8;
  max-width: 280px;
  line-height: 1.4;
}
.amb-snapshot-badge {
  display: inline-block;
  background: rgba(14, 165, 233, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(14, 165, 233, 0.35);
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  margin-top: 4px;
}

.amb-scanner-controls {
  padding: 14px 18px;
  background: #111e30;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.amb-scanner-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #e2e8f0;
  cursor: pointer;
  user-select: none;
}
.amb-scanner-toggle input {
  width: 18px;
  height: 18px;
  accent-color: #10b981;
}
.amb-scanner-btn-row {
  display: flex;
  gap: 8px;
}
.amb-btn-tool {
  flex: 1;
  background: #1e3a5f;
  border: 1px solid #2d558a;
  color: #fff;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background .12s;
}
.amb-btn-tool:hover {
  background: #2b5082;
}
.amb-btn-tool.active {
  background: #f59e0b;
  color: #000;
  font-weight: 800;
}
.amb-scanner-manual-row {
  display: flex;
  gap: 8px;
}
.amb-scanner-manual-row input {
  flex: 1;
  background: #09131f !important;
  border: 1px solid #294870 !important;
  color: #fff !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
}

/* ==============================================================
   TARJETAS MÓVILES PARA GASTOS E INGRESOS (FINANZAS)
   ============================================================== */
.amb-finance-cards-list,
.amb-stock-cards-list,
.amb-inv-history-cards {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
}

.amb-finance-mobile-card {
  cursor: pointer;
  transition: transform .12s, border-color .12s;
}
.amb-finance-mobile-card:hover {
  border-color: #38bdf8 !important;
}

/* ==============================================================
   RESPONSIVIDAD CELULAR (PANTALLAS <= 768px)
   ============================================================== */
@media (max-width: 768px) {
  .modal-box:has(.amb-inventory-app) {
    width: 100vw !important;
    height: 100dvh !important;
    max-width: 100vw !important;
    max-height: 100dvh !important;
    border-radius: 0 !important;
    padding: 10px !important;
    margin: 0 !important;
  }
  .amb-inventory-app {
    gap: 8px;
  }
  .amb-inv-head-banner {
    flex-direction: column;
    align-items: stretch;
    padding: 10px 12px;
  }
  .amb-cam-trigger {
    width: 100% !important;
    justify-content: center !important;
    padding: 14px !important;
    font-size: 16px !important;
  }
  .amb-inv-config-bar {
    flex-direction: column;
    gap: 8px;
  }
  .amb-inv-kpis {
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
  }
  .amb-inv-kpi {
    padding: 8px;
  }
  .amb-inv-kpi b {
    font-size: 15px;
  }
  .amb-inv-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .amb-inv-filter-pills {
    overflow-x: auto;
    padding-bottom: 4px;
  }
  .amb-count-cards-grid {
    grid-template-columns: 1fr;
  }
  .amb-inv-footer-bar {
    flex-direction: column;
    align-items: stretch;
  }
  .amb-inv-footer-actions {
    flex-direction: column;
  }
  .amb-inv-footer-actions button {
    width: 100%;
  }
  .amb-scanner-wrap {
    max-width: 100vw;
    height: 94dvh;
    border-radius: 12px;
  }
  .amb-scanner-viewport {
    flex: 1;
    height: auto;
  }
}



/* ============================================================ */
/* AUTO-AJUSTE RESPONSIVO UNIVERSAL (PANTALLAS 14", 15", 17", 22", 24") */
/* ============================================================ */
/* AMB SISTEMAS POS - PANTALLA COMPLETA Y AJUSTE 100% HORIZONTAL */
/* Adaptado para pantallas de 14", 15", 17", 22", 24" o más     */
/* ============================================================ */
html, body {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

body:not(.login-active) main,
main {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

header {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 16px !important;
  display: flex !important;
  align-items: center !important;
}

header .hamb,
.hamb {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 7px 14px !important;
  background: linear-gradient(135deg, #1b2c45, #111e30) !important;
  border: 1px solid #2e4d73 !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25) !important;
}

header .hamb:hover,
.hamb:hover {
  background: #243c5e !important;
  border-color: #38bdf8 !important;
}

#app {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 10px 16px 20px 16px !important;
  box-sizing: border-box !important;
}

.r34-dashboard {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  gap: 8px !important;
  box-sizing: border-box !important;
}

.r34-welcome {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.r34-kpis {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.r34-kpis article {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.r34-main-grid {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) !important;
  gap: 8px !important;
}

.r34-panel {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.r34-quick-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 7px !important;
  box-sizing: border-box !important;
}

.r34-quick-grid button {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.r34-low {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.r34-low .table-wrap,
.table-wrap,
table {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Pantallas Medianas y Laptops (14", 15", 17" o monitores compactos) */
@media (max-height: 850px) {
  .r34-dashboard { gap: 6px !important; }
  .r34-welcome { padding: 8px 14px !important; border-radius: 9px !important; }
  .r34-welcome h1 { font-size: 19px !important; margin: 2px 0 !important; }
  .r34-welcome p { font-size: 10.5px !important; }
  .r34-welcome span { font-size: 9px !important; }
  .r34-new-sale { padding: 8px 14px !important; font-size: 12px !important; }

  .r34-kpis { gap: 6px !important; }
  .r34-kpis article { min-height: 60px !important; padding: 7px 11px !important; gap: 7px !important; border-radius: 8px !important; }
  .r34-kpis i { width: 34px !important; height: 34px !important; font-size: 17px !important; border-radius: 7px !important; }
  .r34-kpis strong { font-size: 15px !important; margin: 2px 0 !important; }
  .r34-kpis small { font-size: 8.5px !important; }
  .r34-kpis span { font-size: 8px !important; }

  .r34-main-grid { gap: 6px !important; }
  .r34-panel { border-radius: 9px !important; }
  .r34-panel>header { padding: 7px 11px !important; }
  .r34-panel h3 { font-size: 12.5px !important; }
  .r34-panel header p { font-size: 8.5px !important; }
  .r34-panel header>strong { font-size: 14px !important; }

  .r34-bars { height: 130px !important; padding: 10px 8px 4px !important; }
  .r34-bars b { width: min(24px, 55%) !important; }
  .r34-bars span { font-size: 7.5px !important; }
  .r34-bars em { font-size: 8px !important; }

  .r34-quick-grid { gap: 5px !important; padding: 6px !important; }
  .r34-quick-grid button { min-height: 52px !important; border-radius: 7px !important; padding: 3px !important; gap: 2px !important; }
  .r34-quick-grid i { font-size: 16px !important; }
  .r34-quick-grid b { font-size: 9px !important; }

  .r34-low { margin-bottom: 6px !important; }
  .r34-low .table-wrap { max-height: 175px !important; overflow-y: auto !important; }
}

/* Pantallas Compactas de Laptops de 14" (1366x768 o 1080p escalado 125%/150%) */
@media (max-height: 720px) {
  .r34-dashboard { gap: 5px !important; }
  .r34-welcome { padding: 6px 12px !important; }
  .r34-welcome h1 { font-size: 17px !important; }
  .r34-kpis article { min-height: 50px !important; padding: 5px 8px !important; }
  .r34-kpis strong { font-size: 13px !important; }
  .r34-bars { height: 105px !important; padding: 6px 6px 3px !important; }
  .r34-quick-grid button { min-height: 44px !important; }
  .r34-quick-grid i { font-size: 14px !important; }
  .r34-quick-grid b { font-size: 8px !important; }
  .r34-low .table-wrap { max-height: 120px !important; }
}

/* Monitores Grandes (22", 24", 27") */
@media (min-width: 1600px) and (min-height: 850px) {
  .r34-dashboard { gap: 14px !important; }
  .r34-kpis { gap: 12px !important; }
  .r34-kpis article { min-height: 90px !important; padding: 14px 18px !important; }
  .r34-bars { height: 210px !important; }
  .r34-quick-grid button { min-height: 80px !important; }
  .r34-low .table-wrap { max-height: 320px !important; overflow-y: auto !important; }
}

/* ==========================================================================
   AMB R146 - RESPONSIVIDAD INTEGRAL Y NAVEGACIÓN MÓVIL (CELULARES <= 768px)
   ========================================================================== */
@media (max-width: 768px) {
  /* Cabecera superior fija y visible en todo momento */
  body:not(.login-active) main > header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: calc(52px + env(safe-area-inset-top, 0px)) !important;
    padding-top: max(8px, env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 6px !important;
    padding-left: max(8px, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(8px, env(safe-area-inset-right, 0px)) !important;
    background: #081624f8 !important;
    border-bottom: 1px solid #1e3d5c !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    z-index: 99990 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.45) !important;
  }

  /* Espaciado del contenido para no quedar tapado por cabecera y barra inferior */
  body:not(.login-active) main {
    width: 100% !important;
    margin: 0 !important;
    padding-top: calc(58px + env(safe-area-inset-top, 0)) !important;
    padding-bottom: calc(66px + env(safe-area-inset-bottom, 0)) !important;
    overflow-x: hidden !important;
  }

  body:not(.login-active) #app {
    padding: 12px 10px 28px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* En celulares no mostrar panel de accesos rapidos en Inicio */
  .r34-quick,
  .r34-panel.r34-quick {
    display: none !important;
  }
  .r34-main-grid {
    grid-template-columns: 1fr !important;
  }

  /* Distintivo de marca en cabecera */
  .mobile-brand-pill {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    color: #38bdf8 !important;
    background: #0d2842 !important;
    padding: 4px 10px !important;
    border: 1px solid #1e4a70 !important;
    border-radius: 999px !important;
  }

  /* Botón directo de salir en cabecera móvil */
  .mobile-logout-quick-btn {
    display: none !important;
  }

  .amb-mobile-back-btn {
    display: none !important;
    align-items: center !important;
    background: #0f2c4a !important;
    border: 1px solid #255d8a !important;
    border-radius: 8px !important;
    color: #38bdf8 !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
  }
  .amb-mobile-back-btn.amb-visible {
    display: inline-flex !important;
  }

  header .hamb, .hamb, #topNavHamb, #ambNotifBellBtn, .amb-notif-menu {
    display: none !important;
  }

  .r34-head-actions {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
  }

  .r34-user-card {
    min-width: auto !important;
    max-width: none !important;
    height: 36px !important;
    padding: 2px 8px !important;
    gap: 6px !important;
  }

  .r34-user-card div:nth-child(2) {
    display: none !important;
  }

  .r34-avatar {
    width: 28px !important;
    height: 28px !important;
    font-size: 12px !important;
  }

  .r34-user-card b {
    font-size: 11px !important;
  }

  /* Barra de Navegación Inferior Fija */
  body:not(.login-active) #mobileBottomNav,
  body:not(.login-active) .mobile-bottom-nav {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: calc(58px + env(safe-area-inset-bottom, 0px)) !important;
    padding-top: 6px !important;
    padding-bottom: max(10px, env(safe-area-inset-bottom, 10px)) !important;
    padding-left: max(4px, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(4px, env(safe-area-inset-right, 0px)) !important;
    background: #081624fc !important;
    border-top: 1px solid #1f3f60 !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    z-index: 99980 !important;
    justify-content: space-around !important;
    align-items: center !important;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.45) !important;
    box-sizing: border-box !important;
  }

  .mb-nav-item {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: 0 !important;
    color: #8da7bd !important;
    padding: 3px 1px !important;
    font-size: 10px !important;
    font-weight: 750 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .mb-nav-item.active {
    color: #38bdf8 !important;
  }

  .mb-nav-item.active .mb-nav-icon {
    transform: scale(1.15) !important;
    filter: drop-shadow(0 0 6px rgba(56, 189, 248, 0.5)) !important;
  }

  .mb-nav-icon {
    font-size: 20px !important;
    line-height: 1.25 !important;
    height: 24px !important;
    min-width: 24px !important;
    margin-bottom: 2px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform .15s ease !important;
  }

  .mb-nav-label {
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: -0.2px !important;
    white-space: nowrap !important;
    text-transform: uppercase !important;
    line-height: 1.1 !important;
  }

  .mb-nav-item.mb-nav-logout {
    color: #ff5368 !important;
  }

  .mb-nav-item.mb-nav-logout .mb-nav-icon {
    filter: drop-shadow(0 0 4px rgba(239, 68, 68, 0.4)) !important;
  }

  /* Menú lateral Drawer deslizable en móvil */
  body:not(.login-active) #sidebar,
  body:not(.login-active) #sidebar.r19-sidebar,
  body:not(.login-active) aside#sidebar {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: min(86vw, 320px) !important;
    max-width: 320px !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 100000 !important;
    background: #07192b !important;
    transform: translateX(-100%) !important;
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
  }

  body:not(.login-active) #sidebar.open,
  body:not(.login-active) #sidebar.mobile-open,
  body:not(.login-active).amb-mobile-menu-open #sidebar {
    transform: translateX(0) !important;
    box-shadow: 18px 0 60px rgba(0, 0, 0, 0.85) !important;
  }

  #sidebar nav {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .r19-sidebar-logout-box {
    padding: 12px 14px !important;
    border-top: 1px solid #1a3854 !important;
    background: #061320 !important;
    margin-top: auto !important;
  }

  .r19-sidebar-logout-btn {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 12px 16px !important;
    border: 1px solid #ef4444 !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #b91c1c, #7f1d1d) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(185, 28, 28, 0.35) !important;
  }

  .r19-sidebar-logout-btn:active {
    transform: scale(0.98) !important;
  }
}

@media (min-width: 769px) {
  .mobile-brand-pill,
  .amb-mobile-back-btn,
  #mobileBottomNav,
  .mobile-bottom-nav {
    display: none !important;
  }
}

.r34-main-grid.r34-grid-no-quick {
  grid-template-columns: 1fr !important;
}

/* ==========================================================================
   AMB POS - SISTEMA MULTI-TEMA: MODO CLARO Y MODO OSCURO (TECNOLOGÍA AMBIORIS)
   ========================================================================== */

/* 1. ESTILOS DEL SELECTOR DE TEMA EN EL MENÚ DE USUARIO */
.r34-theme-box {
  background: rgba(11, 37, 64, 0.75) !important;
  border: 1px solid #1f507a !important;
  border-radius: 8px !important;
  padding: 6px 10px !important;
  margin: 4px 0 !important;
}
.r34-theme-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 5px !important;
}
.r34-theme-head span {
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  color: #93c5fd !important;
  text-transform: uppercase !important;
}
.r34-theme-head small {
  font-size: 9px !important;
  font-weight: 800 !important;
  color: #38bdf8 !important;
  background: rgba(56, 189, 248, 0.15) !important;
  padding: 1px 6px !important;
  border-radius: 4px !important;
  letter-spacing: .05em !important;
}
.r34-theme-toggle-group {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 5px !important;
  background: #061728 !important;
  padding: 3px !important;
  border-radius: 6px !important;
  border: 1px solid #1b476e !important;
}
.r34-theme-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 6px 8px !important;
  border: none !important;
  border-radius: 5px !important;
  background: transparent !important;
  color: #8faec5 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all .2s ease !important;
}
.r34-theme-btn:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.08) !important;
}
.r34-theme-btn.active {
  background: linear-gradient(135deg, #0284c7, #0369a1) !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(2, 132, 199, 0.45) !important;
}

/* 2. REGLAS COMPLETAS PARA MODO CLARO (html[data-theme="light"]) */
html[data-theme="light"] {
  color-scheme: light;
}
html[data-theme="light"] body {
  background: #f1f5f9 !important;
  color: #0f172a !important;
}
html[data-theme="light"] main {
  background: #f1f5f9 !important;
  color: #0f172a !important;
}
html[data-theme="light"] body.r35-module-skin #app:before,
html[data-theme="light"] body.r35-module-skin #app:after {
  display: none !important;
}

/* Sidebar en Modo Claro */
html[data-theme="light"] aside,
html[data-theme="light"] aside#sidebar {
  background: #ffffff !important;
  border-right: 1px solid #e2e8f0 !important;
  color: #1e293b !important;
  box-shadow: 2px 0 10px rgba(0, 0, 0, 0.03) !important;
}
html[data-theme="light"] aside .brand {
  border-bottom: 1px solid #e2e8f0 !important;
  color: #0f172a !important;
}
html[data-theme="light"] aside .brand strong {
  color: #0f172a !important;
}
html[data-theme="light"] aside .brand small {
  color: #ef4444 !important;
}
html[data-theme="light"] aside .profile {
  border-bottom: 1px solid #e2e8f0 !important;
  color: #0f172a !important;
}
html[data-theme="light"] aside .profile strong {
  color: #0f172a !important;
}
html[data-theme="light"] aside .profile small {
  color: #64748b !important;
}
html[data-theme="light"] aside nav button {
  color: #334155 !important;
}
html[data-theme="light"] aside nav button:hover {
  background: #f8fafc !important;
  color: #0284c7 !important;
}
html[data-theme="light"] aside nav button.active {
  background: #e0f2fe !important;
  color: #0369a1 !important;
  border-left: 3px solid #0284c7 !important;
  font-weight: 700 !important;
}
html[data-theme="light"] aside nav button.active .nav-icon {
  color: #0284c7 !important;
}
html[data-theme="light"] .nav-group {
  color: #94a3b8 !important;
}
html[data-theme="light"] aside .version {
  border-top: 1px solid #e2e8f0 !important;
  color: #64748b !important;
}

/* Encabezado en Modo Claro */
html[data-theme="light"] header {
  background: #ffffff !important;
  border-bottom: 1px solid #e2e8f0 !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05) !important;
  color: #0f172a !important;
}
html[data-theme="light"] .r34-user-card {
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  color: #0f172a !important;
}
html[data-theme="light"] .r34-user-card strong {
  color: #0f172a !important;
}
html[data-theme="light"] .r34-user-card small {
  color: #64748b !important;
}
html[data-theme="light"] .r34-head-btn {
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  color: #334155 !important;
}
html[data-theme="light"] .r34-head-btn:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}

/* Menú de Usuario desplegable en Modo Claro */
html[data-theme="light"] .r34-user-menu {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.15) !important;
  color: #0f172a !important;
}
html[data-theme="light"] .r34-menu-user-meta strong {
  color: #0f172a !important;
}
html[data-theme="light"] .r34-menu-user-meta small {
  color: #0284c7 !important;
}
html[data-theme="light"] .r34-menu-company-box {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
}
html[data-theme="light"] .r34-menu-box-head label {
  color: #0369a1 !important;
}
html[data-theme="light"] .r34-company-select {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #0f172a !important;
}
html[data-theme="light"] .r34-cash-indicator {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
}
html[data-theme="light"] .r34-cash-indicator small {
  color: #64748b !important;
}
html[data-theme="light"] .r34-quick-link {
  background: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  color: #0369a1 !important;
}
html[data-theme="light"] .r34-quick-link:hover {
  background: #e0f2fe !important;
  color: #0284c7 !important;
}
html[data-theme="light"] .r34-theme-box {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
}
html[data-theme="light"] .r34-theme-head span {
  color: #0369a1 !important;
}
html[data-theme="light"] .r34-theme-head small {
  color: #0284c7 !important;
  background: #e0f2fe !important;
}
html[data-theme="light"] .r34-theme-toggle-group {
  background: #e2e8f0 !important;
  border-color: #cbd5e1 !important;
}
html[data-theme="light"] .r34-theme-btn {
  color: #64748b !important;
}
html[data-theme="light"] .r34-theme-btn:hover {
  color: #0f172a !important;
  background: rgba(255, 255, 255, 0.6) !important;
}
html[data-theme="light"] .r34-theme-btn.active {
  background: #ffffff !important;
  color: #0284c7 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}
html[data-theme="light"] .r34-menu-divider {
  background: #e2e8f0 !important;
}
html[data-theme="light"] .r34-menu-items button {
  color: #1e293b !important;
}
html[data-theme="light"] .r34-menu-items button:hover {
  background: #f1f5f9 !important;
  color: #0284c7 !important;
}
html[data-theme="light"] .r34-logout-action {
  color: #ef4444 !important;
}
html[data-theme="light"] .r34-logout-action:hover {
  background: #fef2f2 !important;
  color: #dc2626 !important;
}

/* Paneles, Tarjetas y Módulos en Modo Claro */
html[data-theme="light"] .panel,
html[data-theme="light"] .card,
html[data-theme="light"] .r34-panel,
html[data-theme="light"] .role-card,
html[data-theme="light"] .table-wrap,
html[data-theme="light"] .module-window,
html[data-theme="light"] body.r35-module-skin #app>.card,
html[data-theme="light"] body.r35-module-skin #app .card,
html[data-theme="light"] body.r35-module-skin #app .panel,
html[data-theme="light"] body.r35-module-skin #app .table-wrap {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04) !important;
  color: #0f172a !important;
}
html[data-theme="light"] .panel-head,
html[data-theme="light"] .module-window-head,
html[data-theme="light"] .r34-panel>header {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  color: #0f172a !important;
}
html[data-theme="light"] .panel-head h3,
html[data-theme="light"] .r34-panel h3,
html[data-theme="light"] .page-title h1,
html[data-theme="light"] .r28-head h1 {
  color: #0f172a !important;
}
html[data-theme="light"] .page-title p,
html[data-theme="light"] .r28-head p,
html[data-theme="light"] .muted,
html[data-theme="light"] small {
  color: #64748b !important;
}

/* Tablas en Modo Claro */
html[data-theme="light"] table {
  color: #0f172a !important;
}
html[data-theme="light"] table th,
html[data-theme="light"] body.r35-module-skin #app table thead th {
  background: #f8fafc !important;
  color: #334155 !important;
  border-color: #e2e8f0 !important;
  font-weight: 700 !important;
}
html[data-theme="light"] table td {
  border-color: #e2e8f0 !important;
  color: #0f172a !important;
}
html[data-theme="light"] table tbody tr:hover td,
html[data-theme="light"] body.r35-module-skin #app table tbody tr:hover {
  background: #f1f5f9 !important;
}
html[data-theme="light"] table tbody tr:nth-child(even),
html[data-theme="light"] body.r35-module-skin #app table tbody tr:nth-child(even) {
  background: #fafbfc !important;
}

/* Inputs, Selects y Formularios en Modo Claro */
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea,
html[data-theme="light"] .search,
html[data-theme="light"] .field input,
html[data-theme="light"] .field select,
html[data-theme="light"] body.r35-module-skin #app input,
html[data-theme="light"] body.r35-module-skin #app select,
html[data-theme="light"] body.r35-module-skin #app textarea {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid #cbd5e1 !important;
}
html[data-theme="light"] input:focus,
html[data-theme="light"] select:focus,
html[data-theme="light"] textarea:focus,
html[data-theme="light"] .search:focus {
  border-color: #0284c7 !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15) !important;
}
html[data-theme="light"] .field label,
html[data-theme="light"] .inline-label {
  color: #475569 !important;
}

/* Punto de Venta (POS) en Modo Claro */
html[data-theme="light"] .sale-panel,
html[data-theme="light"] .pos,
html[data-theme="light"] .cart {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  color: #0f172a !important;
}
html[data-theme="light"] .cart-row {
  border-color: #f1f5f9 !important;
  color: #0f172a !important;
}
html[data-theme="light"] .product {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  color: #0f172a !important;
}
html[data-theme="light"] .product:hover {
  border-color: #0284c7 !important;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.15) !important;
}
html[data-theme="light"] .product h4 {
  color: #0f172a !important;
}
html[data-theme="light"] .product b {
  color: #0284c7 !important;
}
html[data-theme="light"] .client-top {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 9px !important;
}
html[data-theme="light"] .client-top label {
  color: #475569 !important;
}
html[data-theme="light"] .btn.gray {
  background: #e2e8f0 !important;
  color: #334155 !important;
}
html[data-theme="light"] .btn.gray:hover {
  background: #cbd5e1 !important;
  color: #0f172a !important;
}

/* Modales en Modo Claro */
html[data-theme="light"] .modal-box {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #0f172a !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22) !important;
}
html[data-theme="light"] .modal-box .x {
  color: #64748b !important;
}
html[data-theme="light"] .modal-box .x:hover {
  color: #ef4444 !important;
}

/* Dashboard & KPIs en Modo Claro */
html[data-theme="light"] .r34-welcome {
  background: linear-gradient(120deg, #ffffff, #f0f7ff 70%, #e0effe) !important;
  border: 1px solid #bae6fd !important;
  color: #0f172a !important;
}
html[data-theme="light"] .r34-welcome h1 {
  color: #0284c7 !important;
}
html[data-theme="light"] .r34-welcome p {
  color: #64748b !important;
}
html[data-theme="light"] .r34-kpis article {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  color: #0f172a !important;
}
html[data-theme="light"] .r34-kpis strong {
  color: #0f172a !important;
}
html[data-theme="light"] .r34-kpis small {
  color: #64748b !important;
}
html[data-theme="light"] .r34-quick-grid button {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  color: #1e293b !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
}
html[data-theme="light"] .r34-quick-grid button:hover {
  background: #f0f7ff !important;
  border-color: #0284c7 !important;
  color: #0284c7 !important;
}
html[data-theme="light"] .quick-actions button {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  color: #1e293b !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
}
html[data-theme="light"] .quick-actions button:hover {
  border-color: #0284c7 !important;
}
html[data-theme="light"] .module-tabs {
  background: #f1f5f9 !important;
}
html[data-theme="light"] .module-tab {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #334155 !important;
}
html[data-theme="light"] .module-tab:hover {
  background: #f8fafc !important;
  color: #0f172a !important;
}
html[data-theme="light"] .module-tab.active {
  background: linear-gradient(135deg, #0284c7, #0369a1) !important;
  color: #ffffff !important;
  border-color: #0284c7 !important;
}
html[data-theme="light"] .r102-switch-row {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
}
html[data-theme="light"] .r102-switch-row b {
  color: #0f172a !important;
}
html[data-theme="light"] .r102-switch-row small {
  color: #64748b !important;
}

/* Recargo por pago con tarjeta (Tecnología Ambioris) */
.card-surcharge-box {
  background: #09233c !important;
  border: 1px solid #1e5a8a !important;
  border-radius: 8px !important;
  padding: 9px 12px !important;
  margin: 8px 0 !important;
  transition: all .2s ease !important;
}
.card-surcharge-row {
  color: #38bdf8 !important;
  background: rgba(56, 189, 248, 0.1) !important;
  padding: 5px 10px !important;
  border-radius: 6px !important;
  border: 1px dashed #0284c7 !important;
  font-weight: 700 !important;
}
html[data-theme="light"] .card-surcharge-box {
  background: #f0f9ff !important;
  border: 1px solid #bae6fd !important;
  color: #0f172a !important;
}
html[data-theme="light"] .card-surcharge-box span b {
  color: #0369a1 !important;
}
html[data-theme="light"] .card-surcharge-box small {
  color: #0284c7 !important;
}
html[data-theme="light"] .card-surcharge-row {
  color: #0369a1 !important;
  background: #f0f9ff !important;
  border: 1px dashed #38bdf8 !important;
}

/* AMB_PWA_INSTALL_BUTTON */
.amb-pwa-install-box {
  margin: 14px 0 6px;
  width: 100%;
}
.amb-pwa-install-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 11px 16px;
  background: linear-gradient(135deg, #0284c7, #0369a1);
  color: #ffffff !important;
  border: 1px solid #38bdf8 !important;
  border-radius: 8px;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35);
  text-decoration: none;
}
.amb-pwa-install-btn:hover {
  background: linear-gradient(135deg, #0369a1, #075985);
  box-shadow: 0 6px 18px rgba(2, 132, 199, 0.5);
  transform: translateY(-1px);
}
.amb-pwa-install-btn .amb-pwa-icon {
  font-size: 18px;
  line-height: 1;
}
.amb-pwa-install-btn.ready {
  background: linear-gradient(135deg, #16a34a, #15803d) !important;
  border-color: #4ade80 !important;
  box-shadow: 0 4px 14px rgba(22, 163, 74, 0.4) !important;
}



/* AMB_R186_ALIGN_AND_SORT - Alineacion uniforme de precios y cabecera ordenable */
.pev4-price-grid, .product-editor-v4 .pev4-price-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(130px, 1fr)) !important;
  gap: 12px !important;
  align-items: start !important;
}
.pev4-price-grid .field,
.box-section .field {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  margin: 0 !important;
}
.pev4-price-grid .field label,
.box-section .field label {
  min-height: 38px !important;
  max-height: 38px !important;
  display: flex !important;
  align-items: flex-end !important;
  margin-bottom: 6px !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #d6e2f0 !important;
}
.pev4-price-grid .field input,
.box-section .field input {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  font-size: 14px !important;
}
.pev4-price-grid .field small,
.box-section .field small {
  margin-top: 5px !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  min-height: 28px !important;
  display: block !important;
}
.pb-table th.sortable-th {
  cursor: pointer !important;
  user-select: none !important;
  transition: all 0.2s ease !important;
}
.pb-table th.sortable-th:hover {
  background: #144e85 !important;
  color: #38bdf8 !important;
}
.pb-table th.sortable-th .th-content {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
}
.pb-table th.sortable-th .sort-icon {
  font-size: 11px !important;
  opacity: 0.65 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 15px !important;
  height: 15px !important;
  border-radius: 3px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  padding: 1px 3px !important;
}
.pb-table th.th-active-sort {
  background: #0d4a85 !important;
  color: #38bdf8 !important;
  box-shadow: inset 0 -3px 0 #38bdf8 !important;
}
.pb-table th.th-active-sort .sort-icon {
  opacity: 1 !important;
  color: #fff !important;
  background: #0284c7 !important;
  font-weight: 900 !important;
}


/* AMB_R188_POS_CATEGORY_FILTER - Filtro fijo interactivo de categorias en Punto de Venta */
#posCategoryBtn {
  transition: all 0.2s ease !important;
}
#posCategoryBtn:hover {
  background: #0284c7 !important;
  border-color: #38bdf8 !important;
  color: #fff !important;
  transform: translateY(-1px);
}
.pos-category-ribbon {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  overflow-x: auto !important;
  padding: 8px 4px 10px !important;
  margin-bottom: 4px !important;
  scrollbar-width: thin !important;
  scrollbar-color: #1e4770 transparent !important;
  white-space: nowrap !important;
}
.pos-category-ribbon::-webkit-scrollbar {
  height: 5px !important;
}
.pos-category-ribbon::-webkit-scrollbar-thumb {
  background: #1e4770 !important;
  border-radius: 4px !important;
}
.pos-cat-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 14px !important;
  border-radius: 20px !important;
  background: #07223e !important;
  color: #94a3b8 !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  border: 1px solid #1a4269 !important;
  cursor: pointer !important;
  user-select: none !important;
  transition: all 0.15s ease !important;
  white-space: nowrap !important;
}
.pos-cat-pill:hover {
  background: #0d345e !important;
  color: #38bdf8 !important;
  border-color: #0284c7 !important;
}
.pos-cat-pill.active {
  background: #0284c7 !important;
  color: #fff !important;
  border-color: #38bdf8 !important;
  box-shadow: 0 2px 10px rgba(2, 132, 199, 0.45) !important;
  font-weight: 800 !important;
}
.pos-cat-pill .cat-count {
  font-size: 10px !important;
  padding: 1px 6px !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.18) !important;
  color: inherit !important;
}
.pos-cat-modal-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(185px, 1fr)) !important;
  gap: 12px !important;
  max-height: 58vh !important;
  overflow-y: auto !important;
  padding: 6px !important;
}
.pos-cat-modal-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  padding: 14px 16px !important;
  background: #0a2544 !important;
  border: 1px solid #1e4975 !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  text-align: left !important;
  min-height: 82px !important;
}
.pos-cat-modal-card:hover {
  background: #0e3766 !important;
  border-color: #38bdf8 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35) !important;
}
.pos-cat-modal-card.active {
  background: linear-gradient(135deg, #0284c7, #0369a1) !important;
  border-color: #38bdf8 !important;
  box-shadow: 0 0 0 2px #38bdf8, 0 6px 16px rgba(2, 132, 199, 0.4) !important;
}
.pos-cat-modal-card strong {
  font-size: 14px !important;
  color: #fff !important;
  margin-bottom: 4px !important;
  text-transform: uppercase !important;
}
.pos-cat-modal-card small {
  color: #94a3b8 !important;
  font-size: 11.5px !important;
}
.pos-cat-modal-card.active small {
  color: #e0f2fe !important;
}


/* ==========================================================================
   AMB POS - NOMBRE DE PRODUCTO COMPLETO Y FILTRO DE CATEGORIA FIJA (R190)
   - Filtro de categoría fija persistente y ocultación garantizada
   - Visualización 100% completa de nombres largos sin cortes ni ellipsis
   ========================================================================== */
#productGrid .product.pos-filtered-out,
.product.compact-card.pos-filtered-out {
  display: none !important;
}

.product.compact-card:not(.pos-filtered-out) {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 175px !important;
  padding: 8px 8px 10px 8px !important;
  position: relative !important;
  box-sizing: border-box !important;
}

.product.compact-card h4,
.compact-card h4,
.pos-prod-name {
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  display: block !important;
  height: auto !important;
  min-height: 28px !important;
  max-height: none !important;
  margin: 5px 0 6px 0 !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  color: #f1f5f9 !important;
}

.product.compact-card .pos-card-bottom,
.product.compact-card > div:has(b),
.compact-card > div:has(b) {
  margin-top: auto !important;
  padding-bottom: 2px !important;
}

.product.compact-card .stock {
  margin-right: 36px !important;
}

/* ==========================================================================
   AMB R195: SOBRE-MENÚ SELECTOR DE SISTEMA (AMB VENTA vs AMB CRÉDITO)
   ========================================================================== */
.amb-sys-switcher {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(6, 20, 38, 0.85);
  border: 1px solid #1e426b;
  padding: 4px 6px;
  border-radius: 12px;
  margin-left: 10px;
  margin-right: auto;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28);
}

.amb-sys-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 9px;
  border: 1px solid transparent;
  background: transparent;
  color: #94a3b8;
  cursor: pointer;
  transition: all 0.18s ease;
  text-align: left;
  line-height: 1.15;
}

.amb-sys-pill:hover {
  background: rgba(14, 165, 233, 0.12);
  color: #f8fafc;
}

.amb-sys-pill .amb-sys-icon {
  font-size: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.amb-sys-pill .amb-sys-txt {
  display: flex;
  flex-direction: column;
}

.amb-sys-pill .amb-sys-txt b {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.3px;
  color: inherit;
}

.amb-sys-pill .amb-sys-txt small {
  font-size: 9.5px;
  opacity: 0.85;
  color: inherit;
}

.amb-sys-pill.active {
  background: linear-gradient(135deg, #0284c7, #0369a1);
  border-color: #38bdf8;
  color: #ffffff;
  box-shadow: 0 3px 12px rgba(2, 132, 199, 0.4);
}

.amb-sys-pill.credit-pill.active {
  background: linear-gradient(135deg, #7c3aed, #5b21b6);
  border-color: #a78bfa;
  color: #ffffff;
  box-shadow: 0 3px 12px rgba(124, 58, 237, 0.45);
}

.amb-sys-pill.perms-pill {
  background: rgba(245, 158, 11, 0.12);
  border: 1px dashed rgba(245, 158, 11, 0.55);
  color: #fcd34d;
}

.amb-sys-pill.perms-pill:hover {
  background: rgba(245, 158, 11, 0.25);
  border-color: #fbbf24;
  color: #ffffff;
}

/* Entorno Exclusivo AMB CRÉDITO */
.amb-credit-shell {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 6px 4px 36px;
}

.amb-credit-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  padding: 18px 22px;
  border-radius: 16px;
  background: linear-gradient(135deg, #1e1b4b 0%, #311068 55%, #0f172a 100%);
  border: 1px solid #6d28d9;
  box-shadow: 0 10px 26px rgba(49, 16, 104, 0.4);
}

.amb-credit-hero h1 {
  margin: 0;
  font-size: 21px;
  font-weight: 900;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 10px;
}

.amb-credit-hero p {
  margin: 4px 0 0;
  font-size: 12.5px;
  color: #ddd6fe;
}

.amb-credit-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  background: #09192f;
  border: 1px solid #1e3a5f;
  padding: 8px;
  border-radius: 14px;
}

.amb-credit-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: #0d2340;
  color: #cbd5e1;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
}

.amb-credit-tab:hover {
  background: #153259;
  color: #ffffff;
}

.amb-credit-tab.active {
  background: linear-gradient(135deg, #7c3aed, #4f46e5);
  border-color: #c4b5fd;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(124, 58, 237, 0.35);
}

.amb-credit-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
}

.amb-credit-kpi {
  background: linear-gradient(160deg, #0b213d, #071629);
  border: 1px solid #1e3a5f;
  border-radius: 14px;
  padding: 15px 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.amb-credit-kpi small {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  color: #94a3b8;
}

.amb-credit-kpi strong {
  font-size: 22px;
  font-weight: 900;
  color: #f8fafc;
}

.amb-credit-kpi span {
  font-size: 11.5px;
  color: #64748b;
}

.amb-semaforo-card {
  border-radius: 14px;
  padding: 16px 18px;
  border: 2px solid #334155;
  background: #0b1d35;
}

.amb-semaforo-card.green {
  border-color: #10b981;
  background: linear-gradient(145deg, rgba(6, 78, 59, 0.45), rgba(11, 29, 53, 0.95));
}

.amb-semaforo-card.yellow {
  border-color: #f59e0b;
  background: linear-gradient(145deg, rgba(120, 53, 15, 0.45), rgba(11, 29, 53, 0.95));
}

.amb-semaforo-card.red {
  border-color: #ef4444;
  background: linear-gradient(145deg, rgba(127, 29, 29, 0.45), rgba(11, 29, 53, 0.95));
}

.amb-sig-pad {
  background: #ffffff;
  border: 2px dashed #6366f1;
  border-radius: 12px;
  cursor: crosshair;
  touch-action: none;
  width: 100%;
  height: 155px;
  display: block;
}

@media (max-width: 820px) {
  .amb-sys-switcher {
    margin-left: 4px;
    gap: 4px;
    padding: 3px 4px;
  }
  .amb-sys-pill {
    padding: 5px 8px;
  }
  .amb-sys-pill .amb-sys-txt small {
    display: none;
  }
  .amb-sys-pill .amb-sys-txt b {
    font-size: 11px;
  }
}


/* ==========================================================================
   TECNOLOGÍA AMBIORIS - CENTRO DE NOTIFICACIONES Y ALERTAS (R140)
   ========================================================================== */
.amb-notif-badge {
  position: absolute;
  top: 2px;
  right: 2px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 999px;
  background: #ef4444;
  color: #ffffff;
  font-size: 10px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.85);
  pointer-events: none;
  border: 1.5px solid #071f37;
  line-height: 1;
  box-sizing: border-box;
}

.amb-notif-badge.pulse {
  animation: ambNotifPulse 2s infinite ease-in-out;
}

@keyframes ambNotifPulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 8px rgba(239, 68, 68, 0.7); }
  50% { transform: scale(1.18); box-shadow: 0 0 16px rgba(239, 68, 68, 1); }
}

.amb-notif-menu {
  position: absolute !important;
  right: 120px !important;
  top: 52px !important;
  width: 440px !important;
  max-width: calc(100vw - 20px) !important;
  max-height: calc(100vh - 70px) !important;
  max-height: calc(100dvh - 70px) !important;
  display: flex !important;
  flex-direction: column !important;
  z-index: 100003 !important;
  border: 1px solid #1e4d75 !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #071c30 0%, #041220 85%, #030d17 100%) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.95), 0 0 0 1px rgba(56, 189, 248, 0.25) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  color: #e2e8f0;
}

.amb-notif-menu.hidden {
  display: none !important;
}

@media (max-width: 768px) {
  .amb-notif-menu {
    right: 8px !important;
    left: 8px !important;
    width: auto !important;
    max-width: none !important;
  }
}

.amb-notif-head {
  padding: 12px 14px;
  background: linear-gradient(90deg, #092644, #06182c);
  border-bottom: 1px solid #163e63;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.amb-notif-head-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.amb-notif-head-title h3 {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  color: #38bdf8;
  letter-spacing: 0.3px;
}

.amb-notif-head-title small {
  display: block;
  font-size: 10px;
  color: #8da4be;
}

.amb-notif-head-btns {
  display: flex;
  align-items: center;
  gap: 6px;
}

.amb-notif-btn-icon {
  background: #0d3154;
  border: 1px solid #245781;
  color: #cfe6ff;
  border-radius: 7px;
  width: 28px;
  height: 28px;
  font-size: 13px;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: all 0.15s ease;
}

.amb-notif-btn-icon:hover {
  background: #18528c;
  color: #ffffff;
}

.amb-notif-tabs-bar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  padding: 8px 10px;
  background: #041424;
  border-bottom: 1px solid #12314e;
}

.amb-notif-tab {
  background: #092037;
  border: 1px solid #1a3f63;
  border-radius: 8px;
  padding: 6px 4px;
  color: #94a3b8;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  transition: all 0.15s ease;
}

.amb-notif-tab:hover {
  background: #0e3052;
  color: #f1f5f9;
}

.amb-notif-tab.active {
  background: #0c3d6c;
  border-color: #38bdf8;
  color: #ffffff;
  box-shadow: 0 2px 10px rgba(56, 189, 248, 0.25);
}

.amb-notif-tab.tab-out.active {
  background: linear-gradient(135deg, #450a0a, #7f1d1d);
  border-color: #ef4444;
  box-shadow: 0 2px 10px rgba(239, 68, 68, 0.35);
}

.amb-notif-tab.tab-low.active {
  background: linear-gradient(135deg, #451a03, #78350f);
  border-color: #f59e0b;
  box-shadow: 0 2px 10px rgba(245, 158, 11, 0.35);
}

.amb-notif-tab.tab-sales.active {
  background: linear-gradient(135deg, #064e3b, #047857);
  border-color: #10b981;
  box-shadow: 0 2px 10px rgba(16, 185, 129, 0.35);
}

.amb-notif-tab .count {
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
}

.amb-notif-tab .lbl {
  font-size: 9.5px;
  text-transform: uppercase;
  letter-spacing: 0.2px;
}

.amb-notif-search-row {
  padding: 7px 10px;
  background: #051829;
  border-bottom: 1px solid #133350;
  display: flex;
  align-items: center;
  gap: 6px;
}

.amb-notif-search-row input {
  flex: 1;
  background: #08223a;
  border: 1px solid #1f4a72;
  border-radius: 7px;
  padding: 6px 10px;
  color: #e2e8f0;
  font-size: 11.5px;
  outline: none;
}

.amb-notif-search-row input:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.25);
}

.amb-notif-body {
  flex: 1;
  overflow-y: auto;
  max-height: 360px;
  min-height: 140px;
  padding: 8px 10px;
  scrollbar-width: thin;
  scrollbar-color: #1e4d75 #06192c;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.amb-notif-body::-webkit-scrollbar {
  width: 6px;
}
.amb-notif-body::-webkit-scrollbar-track {
  background: #06192c;
}
.amb-notif-body::-webkit-scrollbar-thumb {
  background: #1e4d75;
  border-radius: 4px;
}

.amb-notif-item {
  background: #082138;
  border: 1px solid #1a4266;
  border-radius: 10px;
  padding: 9px 11px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.amb-notif-item:hover {
  background: #0b2b48;
  border-color: #2b6192;
}

.amb-notif-item-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.amb-notif-item-title {
  font-size: 12px;
  font-weight: 800;
  color: #f8fafc;
  line-height: 1.3;
}

.amb-notif-item-meta {
  font-size: 10px;
  color: #94a3b8;
  margin-top: 2px;
}

.amb-notif-badge-pill {
  font-size: 10px;
  font-weight: 800;
  padding: 3px 7px;
  border-radius: 6px;
  white-space: nowrap;
  line-height: 1;
}

.amb-notif-badge-pill.danger {
  background: #7f1d1d;
  color: #fecaca;
  border: 1px solid #dc2626;
}

.amb-notif-badge-pill.warning {
  background: #78350f;
  color: #fde68a;
  border: 1px solid #f59e0b;
}

.amb-notif-badge-pill.success {
  background: #064e3b;
  color: #a7f3d0;
  border: 1px solid #10b981;
}

.amb-notif-badge-pill.blue {
  background: #0c4a6e;
  color: #bae6fd;
  border: 1px solid #0284c7;
}

.amb-notif-item-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  border-top: 1px dashed #163e63;
  padding-top: 6px;
  margin-top: 2px;
}

.amb-notif-action-btn {
  background: #0e375e;
  border: 1px solid #235d8e;
  color: #bae6fd;
  font-size: 10.5px;
  font-weight: 700;
  border-radius: 6px;
  padding: 4px 8px;
  cursor: pointer;
  transition: all 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.amb-notif-action-btn:hover {
  background: #0284c7;
  color: #ffffff;
  border-color: #38bdf8;
}

.amb-notif-action-btn.secondary {
  background: #1e293b;
  border-color: #334155;
  color: #cbd5e1;
}

.amb-notif-action-btn.secondary:hover {
  background: #334155;
  color: #ffffff;
}

.amb-notif-empty {
  padding: 30px 15px;
  text-align: center;
  color: #94a3b8;
  font-size: 12px;
}

.amb-notif-empty .icon {
  font-size: 28px;
  display: block;
  margin-bottom: 6px;
}

.amb-notif-footer {
  padding: 9px 12px;
  background: #041220;
  border-top: 1px solid #12314e;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.amb-notif-footer-btn {
  flex: 1;
  background: #08243e;
  border: 1px solid #1c4b75;
  color: #7dd3fc;
  font-size: 10.5px;
  font-weight: 700;
  padding: 6px 4px;
  border-radius: 7px;
  cursor: pointer;
  text-align: center;
  white-space: nowrap;
  transition: all 0.15s ease;
}

.amb-notif-footer-btn:hover {
  background: #0284c7;
  color: #ffffff;
  border-color: #38bdf8;
}

/* Light mode support */
html[data-theme="light"] .amb-notif-menu {
  background: linear-gradient(180deg, #f8fafc, #edf2f7) !important;
  border-color: #cbd5e1 !important;
  color: #1e293b !important;
  box-shadow: 0 20px 50px rgba(0,0,0,0.2) !important;
}
html[data-theme="light"] .amb-notif-head {
  background: linear-gradient(90deg, #e2e8f0, #cbd5e1) !important;
  border-bottom-color: #cbd5e1 !important;
}
html[data-theme="light"] .amb-notif-head-title h3 {
  color: #0369a1 !important;
}
html[data-theme="light"] .amb-notif-head-title small {
  color: #64748b !important;
}
html[data-theme="light"] .amb-notif-tabs-bar {
  background: #f1f5f9 !important;
  border-bottom-color: #e2e8f0 !important;
}
html[data-theme="light"] .amb-notif-tab {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #475569 !important;
}
html[data-theme="light"] .amb-notif-tab.active {
  background: #0284c7 !important;
  color: #ffffff !important;
}
html[data-theme="light"] .amb-notif-item {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
}
html[data-theme="light"] .amb-notif-item-title {
  color: #0f172a !important;
}
html[data-theme="light"] .amb-notif-footer {
  background: #f1f5f9 !important;
  border-top-color: #e2e8f0 !important;
}
html[data-theme="light"] .amb-notif-footer-btn {
  background: #e2e8f0 !important;
  border-color: #cbd5e1 !important;
  color: #0369a1 !important;
}


/* ==========================================================================
   TECNOLOGÍA AMBIORIS - OPTIMIZACIÓN MÓVIL PROFESIONAL (R150)
   ========================================================================== */
@media (max-width: 768px) {
  /* 1. Cabecera móvil limpia y respetando safe-area (Notch / Isla Dinámica) */
  body:not(.login-active) main > header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: calc(52px + env(safe-area-inset-top, 0px)) !important;
    padding-top: max(10px, env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 7px !important;
    padding-left: max(10px, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(10px, env(safe-area-inset-right, 0px)) !important;
    background: #081624f8 !important;
    border-bottom: 1px solid #1e3d5c !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    z-index: 99990 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.45) !important;
    box-sizing: border-box !important;
  }

  /* Soporte específico para iOS (iPhone con Notch / Dynamic Island / Barra de Inicio) */
  @supports (-webkit-touch-callout: none) {
    body:not(.login-active) main > header {
      padding-top: max(46px, env(safe-area-inset-top, 46px)) !important;
      min-height: calc(52px + max(46px, env(safe-area-inset-top, 46px))) !important;
    }
    body:not(.login-active) main {
      padding-top: calc(58px + max(46px, env(safe-area-inset-top, 46px))) !important;
    }
    body:not(.login-active) #mobileBottomNav,
    body:not(.login-active) .mobile-bottom-nav {
      padding-bottom: max(20px, env(safe-area-inset-bottom, 20px)) !important;
      min-height: calc(58px + max(20px, env(safe-area-inset-bottom, 20px))) !important;
    }
  }

  body:not(.login-active) main {
    width: 100% !important;
    margin: 0 !important;
    padding-top: calc(66px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: calc(75px + env(safe-area-inset-bottom, 0px)) !important;
    overflow-x: hidden !important;
  }

  body:not(.login-active) #app {
    padding: 8px 8px 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Ocultar elementos sobrantes en cabecera móvil (Módulos, Salir y Campanita exclusivos de PC) */
  .mobile-brand-pill,
  .r34-user-card,
  .r34-head-btn[title*="Ayuda"],
  .r34-head-btn[title*="soporte"],
  .mobile-logout-quick-btn,
  header .hamb,
  .hamb,
  #topNavHamb,
  #ambNotifBellBtn,
  .amb-notif-menu {
    display: none !important;
  }

  /* Switcher de sistemas en móvil */
  .amb-sys-switcher {
    margin-left: 0 !important;
    margin-right: auto !important;
    gap: 4px !important;
    padding: 3px 5px !important;
    background: rgba(6, 20, 38, 0.95) !important;
    border: 1px solid #1e426b !important;
    border-radius: 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
  }

  .amb-sys-pill {
    padding: 5px 8px !important;
    border-radius: 7px !important;
    gap: 5px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  .amb-sys-pill .amb-sys-icon {
    font-size: 13px !important;
    line-height: 1 !important;
  }

  .amb-sys-pill .amb-sys-txt small {
    display: none !important;
  }

  .amb-sys-pill .amb-sys-txt b {
    font-size: 11px !important;
    letter-spacing: 0.2px !important;
    line-height: 1 !important;
  }

  .amb-mobile-back-btn {
    display: none !important;
    padding: 6px 11px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    border-radius: 8px !important;
    background: #0f2c4a !important;
    border: 1px solid #255d8a !important;
    color: #38bdf8 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }
  .amb-mobile-back-btn.amb-visible {
    display: inline-flex !important;
    align-items: center !important;
  }

  .r34-head-actions {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    flex-shrink: 0 !important;
  }

  .r34-head-btn {
    width: 36px !important;
    height: 36px !important;
    border-radius: 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 17px !important;
    line-height: 1 !important;
    padding: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  .amb-notif-badge {
    position: absolute !important;
    top: -3px !important;
    right: -3px !important;
    min-width: 17px !important;
    height: 17px !important;
    border-radius: 999px !important;
    background: #ef4444 !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 4px !important;
    border: 2px solid #081624 !important;
    box-shadow: 0 0 8px rgba(239, 68, 68, 0.8) !important;
    box-sizing: border-box !important;
  }

  /* 2. OPTIMIZACIÓN PANTALLA PRODUCTOS EN CELULAR */
  .pb-head {
    padding: 10px 12px !important;
    gap: 8px !important;
    border-radius: 10px !important;
  }

  .pb-title h1 {
    font-size: 20px !important;
  }

  .pb-title p {
    font-size: 11px !important;
  }

  .pb-cube {
    width: 42px !important;
    height: 42px !important;
    font-size: 20px !important;
    border-radius: 8px !important;
  }

  /* Ocultar botones de oficina de escritorio que saturan el celular */
  .pb-head-actions button[onclick*="excelProductInput"],
  .pb-head-actions button[onclick*="printBarcodeLabels"],
  .pb-export button[onclick*="printProductsPDF"],
  .pb-export button[onclick*="exportProductsExcel"] {
    display: none !important;
  }

  .pb-head-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    grid-template-columns: none !important;
  }

  .pb-head-actions .pb-top-search {
    width: 100% !important;
    height: 38px !important;
    order: -1 !important;
  }

  .pb-head-actions .pb-btn {
    flex: 1 1 calc(50% - 6px) !important;
    padding: 7px 8px !important;
    font-size: 11px !important;
    text-align: center !important;
    justify-content: center !important;
  }

  /* KPIs de productos compactos en cuadrícula 2x2 */
  .pb-kpis {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 6px !important;
  }

  .pb-kpis article {
    min-height: 52px !important;
    padding: 8px 10px !important;
    gap: 8px !important;
    border-radius: 9px !important;
  }

  .pb-kpis i {
    width: 34px !important;
    height: 34px !important;
    font-size: 16px !important;
    border-radius: 8px !important;
  }

  .pb-kpis small {
    font-size: 9.5px !important;
  }

  .pb-kpis strong {
    font-size: 17px !important;
    margin: 1px 0 !important;
  }

  .pb-kpis span {
    display: none !important;
  }

  /* 3. OPTIMIZACIÓN AMB CRÉDITO EN CELULAR */
  .amb-credit-shell {
    gap: 10px !important;
    padding: 4px 2px 24px !important;
  }

  .amb-credit-hero {
    padding: 12px 14px !important;
    border-radius: 12px !important;
    gap: 8px !important;
  }

  .amb-credit-hero h1 {
    font-size: 17px !important;
  }

  .amb-credit-hero p {
    font-size: 11.5px !important;
  }

  /* Barra de pestañas táctiles en móvil (Cobros, Contratos, Reporte) */
  .amb-credit-nav {
    display: flex !important;
    gap: 5px !important;
    padding: 4px !important;
    border-radius: 10px !important;
  }

  .amb-credit-tab {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 8px 4px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-align: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    border-radius: 8px !important;
  }

  .amb-credit-tab span {
    font-size: 13px !important;
  }

  /* Tarjetas KPI de crédito en celular (2x2) */
  .amb-credit-kpis {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 6px !important;
  }

  .amb-credit-kpi {
    padding: 9px 10px !important;
    border-radius: 10px !important;
  }

  .amb-credit-kpi small {
    font-size: 9px !important;
  }

  .amb-credit-kpi strong {
    font-size: 16px !important;
  }

  .amb-credit-kpi span {
    font-size: 9.5px !important;
  }

  /* Formato tarjeta táctil para contratos en móvil */
  .amb-credit-card-mobile {
    transition: transform 0.12s ease;
  }
  .amb-credit-card-mobile:active {
    transform: scale(0.99);
  }
}


/* =========================================================================
   TECNOLOGÍA AMBIORIS · CATÁLOGO MÓVIL ULTRA-COMPACTO DE PRODUCTOS (V3)
   ========================================================================= */

/* Por defecto en PC / Escritorio */
.products-desktop-bar {
  display: block !important;
}
.products-mobile-bar {
  display: none !important;
}

/* En teléfonos y pantallas móviles (<= 768px) */
@media (max-width: 768px) {
  /* Ocultar barra gigante de escritorio en celulares */
  .products-desktop-bar {
    display: none !important;
  }
  .pb-table-wrap {
    display: none !important;
  }
  .pb-totals-summary-bar {
    display: none !important;
  }

  /* Mostrar barra móvil compacta */
  .products-mobile-bar {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 6px !important;
    padding: 0 2px !important;
  }

  .amb-pmob-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 2px 2px 4px 2px !important;
  }
  .amb-pmob-title {
    font-size: 16px !important;
    font-weight: 900 !important;
    color: #f8fafc !important;
    margin: 0 !important;
    letter-spacing: 0.5px !important;
  }
  .amb-pmob-sub {
    font-size: 10px !important;
    color: #94a3b8 !important;
    margin: 1px 0 0 !important;
  }
  .amb-pmob-count {
    background: #0c2540 !important;
    border: 1px solid #1e4570 !important;
    color: #38bdf8 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    padding: 3px 8px !important;
    border-radius: 12px !important;
    white-space: nowrap !important;
  }

  /* Buscador móvil compacto */
  .amb-pmob-search-row {
    display: flex !important;
    gap: 6px !important;
    align-items: center !important;
    width: 100% !important;
  }
  .amb-pmob-search-box {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    background: #091c30 !important;
    border: 1px solid #1e3a5f !important;
    border-radius: 8px !important;
    padding: 0 8px !important;
    height: 38px !important;
    min-width: 0 !important;
  }
  .amb-pmob-search-icon {
    font-size: 13px !important;
    color: #94a3b8 !important;
    margin-right: 6px !important;
    flex-shrink: 0 !important;
  }
  .amb-pmob-input {
    flex: 1 !important;
    border: none !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 12.5px !important;
    outline: none !important;
    padding: 0 !important;
    min-width: 0 !important;
    height: 36px !important;
  }
  .amb-pmob-cam-btn {
    background: #0284c7 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 5px 8px !important;
    font-size: 13px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
  }
  .amb-pmob-new-btn {
    background: #16a34a !important;
    color: #fff !important;
    font-weight: 800 !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 0 12px !important;
    height: 38px !important;
    font-size: 12px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }

  /* Pestañas Activos / Desactivados & Categoría */
  .amb-pmob-tabs-row {
    display: flex !important;
    gap: 6px !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
  }
  .amb-pmob-tabs {
    display: flex !important;
    gap: 3px !important;
    background: #061426 !important;
    padding: 2px !important;
    border-radius: 7px !important;
    border: 1px solid #1e3a5f !important;
    flex-shrink: 0 !important;
  }
  .amb-pmob-tab {
    border: none !important;
    background: transparent !important;
    color: #94a3b8 !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    padding: 4px 7px !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
  }
  .amb-pmob-tab.active {
    background: #0284c7 !important;
    color: #fff !important;
    font-weight: 800 !important;
  }
  .amb-pmob-tab.danger.active {
    background: #ef4444 !important;
    color: #fff !important;
    font-weight: 800 !important;
  }
  .amb-pmob-select {
    flex: 1 !important;
    max-width: 140px !important;
    background: #091c30 !important;
    border: 1px solid #1e3a5f !important;
    color: #e2e8f0 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    border-radius: 7px !important;
    height: 30px !important;
    padding: 0 6px !important;
    outline: none !important;
  }

  /* Mini Chips KPIs en una sola fila (32px altura) */
  .amb-pmob-chips-row {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 5px !important;
    width: 100% !important;
  }
  .amb-pmob-chip {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 3px 2px !important;
    border-radius: 7px !important;
    border: 1px solid #1e3a5f !important;
    background: #081d33 !important;
    text-align: center !important;
    min-height: 32px !important;
  }
  .amb-pmob-chip.blue { border-color: #0369a1 !important; background: #08213b !important; }
  .amb-pmob-chip.green { border-color: #15803d !important; background: #07261a !important; }
  .amb-pmob-chip.orange { border-color: #b45309 !important; background: #291807 !important; }
  .amb-pmob-chip.red { border-color: #b91c1c !important; background: #2a0b0e !important; }

  .amb-pmob-chip-num {
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }
  .amb-pmob-chip.blue .amb-pmob-chip-num { color: #38bdf8 !important; }
  .amb-pmob-chip.green .amb-pmob-chip-num { color: #4ade80 !important; }
  .amb-pmob-chip.orange .amb-pmob-chip-num { color: #fbbf24 !important; }
  .amb-pmob-chip.red .amb-pmob-chip-num { color: #f87171 !important; }

  .amb-pmob-chip-lbl {
    font-size: 8.5px !important;
    color: #94a3b8 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    margin-top: 1px !important;
  }

  /* Tarjetas móviles de producto */
  .products-mobile-cards {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 2px !important;
  }
}


/* ==========================================================================
   ESTADO COMPACTO AKASIA STYLE - DASHBOARD INICIO (TECNOLOGIA AMBIORIS)
   ========================================================================== */
.amb-inicio-status-compact {
  display: flex;
  flex-direction: column;
  gap: 3px;
  background: rgba(6, 21, 38, 0.88);
  border: 1px solid rgba(56, 189, 248, 0.28);
  border-radius: 9px;
  padding: 7px 12px;
  font-size: 11px;
  line-height: 1.35;
  color: #cde1f3;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(8px);
  min-width: 260px;
}
.amb-inicio-status-compact .amb-sc-row {
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}
.amb-inicio-status-compact .amb-sc-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  min-width: 14px;
  border-radius: 50%;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
}
.amb-inicio-status-compact .amb-sc-dot.is-ok {
  background: rgba(34, 197, 94, 0.18);
  border: 1.5px solid #22c55e;
  color: #22c55e;
  font-weight: 900;
}
.amb-inicio-status-compact .amb-sc-dot.is-warn {
  background: #ef4444;
  border: 1px solid #dc2626;
  color: #ffffff;
  font-weight: 900;
  border-radius: 4px;
}
.amb-inicio-status-compact .amb-sc-dot.is-info {
  background: rgba(56, 189, 248, 0.22);
  border: 1px solid #38bdf8;
  color: #7dd3fc;
}
.amb-inicio-status-compact .amb-sc-txt {
  font-size: 11px;
  letter-spacing: 0.2px;
}
.amb-inicio-status-compact .amb-sc-txt strong {
  color: #ffffff;
  font-weight: 700;
  letter-spacing: 0.3px;
}
html[data-theme="light"] .amb-inicio-status-compact {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #bae6fd;
  color: #1e293b;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}
html[data-theme="light"] .amb-inicio-status-compact .amb-sc-txt strong {
  color: #0f172a;
}
@media (max-width: 720px) {
  .amb-inicio-status-compact {
    width: 100%;
    box-sizing: border-box;
    font-size: 10.5px;
    padding: 6px 10px;
    margin-top: 6px;
  }
  .amb-inicio-status-compact .amb-sc-row {
    white-space: normal;
  }
}

/* ==========================================================================
   AMBIORIS - NUEVO DASHBOARD MÓVIL ESTILO RENDIMIENTO DE VENTAS DIARIO (DARK BLUE)
   ========================================================================== */
.amb-phone-dashboard {
  background: #06182c !important;
  color: #e2e8f0 !important;
  min-height: calc(100vh - 60px);
  padding: 16px 14px 110px 14px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  box-sizing: border-box !important;
  margin: -10px -10px 0 -10px;
}

.amb-phone-head-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}

.amb-phone-branch-label {
  font-size: 12px;
  font-weight: 700;
  color: #8faec5;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.amb-phone-role-pill {
  font-size: 11px;
  font-weight: 700;
  color: #59c0ff;
  background: #0a3154;
  border: 1px solid #285d86;
  border-radius: 9999px;
  padding: 4px 12px;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

.amb-phone-branch-box {
  background: linear-gradient(135deg, #0a3154, #08243f) !important;
  border: 1px solid #285d86 !important;
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  margin-bottom: 12px;
  position: relative;
  cursor: pointer;
}

.amb-phone-branch-inner {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  color: #ffffff;
  font-size: 13.5px;
  text-transform: uppercase;
  flex: 1;
  min-width: 0;
  word-break: break-word;
}

.amb-phone-branch-inner #ambPhoneBranchTitle {
  line-height: 1.3;
  word-break: break-word;
  white-space: normal;
}

.amb-phone-branch-inner .globe-icon {
  font-size: 16px;
}

.amb-phone-branch-chevron {
  color: #59c0ff;
  font-size: 14px;
  font-weight: bold;
  margin-left: 8px;
}

.amb-phone-select-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  -webkit-appearance: menulist;
}

.amb-phone-status-compact {
  background: #071f37 !important;
  border: 1px solid #1a4c72 !important;
  border-radius: 10px;
  padding: 8px 12px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  color: #8faec5;
}

.amb-phone-status-dot {
  color: #10b981;
  font-weight: 900;
  font-size: 13px;
}

.amb-phone-status-meta {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.amb-phone-status-meta strong {
  color: #59c0ff;
}

.amb-phone-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.amb-phone-title-text {
  font-size: 14.5px;
  font-weight: 800;
  color: #ffffff !important;
  margin: 0;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

.amb-phone-sync-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #06382a !important;
  border: 1px solid #0d7050 !important;
  color: #34d399 !important;
  border-radius: 9999px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
}

.amb-phone-sync-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.35);
  animation: pulse-green 2s infinite;
}

.amb-phone-cards-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.amb-phone-perf-card {
  background: linear-gradient(135deg, #092c4e 0%, #07223b 100%) !important;
  border: 1px solid #1c4e78 !important;
  border-radius: 16px !important;
  padding: 16px 18px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25) !important;
  display: flex;
  flex-direction: column;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.amb-phone-perf-card:active {
  transform: scale(0.985);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
}

.amb-card-top {
  display: flex;
  align-items: center;
  font-size: 13px;
  line-height: 1.2;
}

.amb-card-tag {
  font-weight: 800;
  color: #59c0ff !important;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.amb-card-date {
  font-weight: 500;
  color: #8daec7 !important;
  margin-left: 4px;
}

.amb-card-amount {
  font-size: 28px;
  font-weight: 800;
  color: #ffffff !important;
  letter-spacing: -0.6px;
  margin: 8px 0 10px 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.1;
}

.amb-card-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.amb-card-profit-meta {
  font-size: 12.5px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.amb-card-profit-meta.is-up {
  color: #22c55e !important;
}

.amb-card-profit-meta.is-down {
  color: #ff5768 !important;
}

.amb-card-circle-btn {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 900;
  flex-shrink: 0;
}

.amb-card-circle-btn.is-up {
  background: #10b981 !important;
  box-shadow: 0 2px 6px rgba(16, 185, 129, 0.4);
}

.amb-card-circle-btn.is-down {
  background: #ef4444 !important;
  box-shadow: 0 2px 6px rgba(239, 68, 68, 0.4);
}


/* clean */


/* AMB STATUS CARD COMPLETA Y ORGANIZADA PARA MOVIL */
.amb-phone-server-card {
  background: linear-gradient(135deg, #092c4e 0%, #07223b 100%) !important;
  border: 1px solid #1c4e78 !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  margin-bottom: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25) !important;
}

.amb-srv-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(28, 78, 120, 0.7) !important;
}

.amb-srv-title-group {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 1 !important;
  min-width: 180px !important;
}

.amb-srv-check {
  color: #10b981 !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  flex-shrink: 0 !important;
}

.amb-srv-company {
  font-size: 13.5px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

.amb-srv-badge {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #59c0ff !important;
  background: #0a3154 !important;
  border: 1px solid #285d86 !important;
  border-radius: 6px !important;
  padding: 3px 8px !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
}

.amb-srv-info-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  font-size: 12px !important;
}

.amb-srv-info-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  line-height: 1.4 !important;
}

.amb-srv-icon {
  font-size: 12px !important;
  flex-shrink: 0 !important;
  margin-top: 1px !important;
}

.amb-srv-info-text {
  flex: 1 !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  color: #8faec5 !important;
}

.amb-srv-label {
  font-weight: 700 !important;
  color: #7296b3 !important;
  margin-right: 4px !important;
  font-size: 11px !important;
  letter-spacing: 0.3px !important;
}

.amb-srv-val {
  color: #ffffff !important;
  font-weight: 700 !important;
}

.amb-srv-tag {
  color: #59c0ff !important;
  font-weight: 600 !important;
  margin-left: 4px !important;
}

.amb-srv-val.txt-ok {
  color: #34d399 !important;
}

.amb-srv-val.txt-warn {
  color: #f87171 !important;
}
