.ba-icon{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:middle}.sidebar-logo{width:155px;height:auto;display:block}.brand{margin-left:3px}nav button{display:flex;align-items:center;gap:11px}nav button>span[data-icon]{display:inline-flex;align-items:center;justify-content:center;width:23px}nav button .ba-icon{width:21px;height:21px}.store-icon .ba-icon{width:23px;height:23px}.sidebar .store{padding-left:8px}.sidebar .store small>span{font-size:10px}.outline .ba-icon,.primary .ba-icon{width:16px;height:16px}button:has(>.ba-icon),button:has(>[data-icon]),a.back-home{display:inline-flex;align-items:center;justify-content:center;gap:8px}.header-right #phone-reader,.header-right #fullscreen{display:inline-flex;gap:7px;align-items:center}#phone-reader>[data-icon],#fullscreen>[data-icon]{display:inline-flex!important}.mode-pos .search-wrap>[data-icon]{display:inline-flex;align-items:center}.empty-symbol .ba-icon{width:38px;height:38px}.pair-qr{background:#fff;border-radius:10px;margin:auto;width:max-content;max-width:100%}
body.mode-home{background:#17192b;color:#f0eafa;color-scheme:dark}.mode-home #launcher{width:min(100%,1040px);max-width:1040px;min-height:100vh;min-height:100dvh;margin:0 auto;padding:clamp(20px,4vh,42px) 32px;display:grid;grid-template-rows:auto auto minmax(195px,1fr) auto auto;gap:clamp(15px,2.6vh,28px);font-family:Inter,'Segoe UI',system-ui,sans-serif}.home-top{display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:0}.home-logo{width:205px;height:60px;object-fit:contain;object-position:left center}.home-user{display:flex;align-items:center;gap:10px;padding:10px 11px;background:#22253c;border:1px solid #3b3654;border-radius:12px;max-width:48%}.user-avatar{display:grid;place-items:center;background:#3c3258;color:#e2d3ff;border-radius:9px;width:35px;height:35px;font-size:12px;font-weight:600;flex-shrink:0}.home-user>span:nth-child(2){min-width:0}.home-user strong{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}.home-user small{color:#aaa0bc;font-size:10px;margin-top:3px;overflow-wrap:anywhere}.home-user button{background:transparent;color:#bcaed5;padding:7px;margin-left:8px}.home-welcome>.eyebrow{font-size:10px;letter-spacing:1.7px;color:#b7a8cd}.home-welcome h1{font-size:clamp(26px,3.2vw,39px);line-height:1.2;font-weight:650;letter-spacing:-1.4px;margin:10px 0}.home-welcome p{font-size:13px;line-height:1.7;color:#b6acc8;margin:0}.mode-home .launch-options{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0;align-items:stretch}.mode-home .launch-card{padding:25px 28px;background:#23263d;border:1px solid #423b58;color:#eae2f8;border-radius:16px;box-shadow:none;text-decoration:none;display:flex;flex-direction:column;min-height:0}.mode-home .launch-card:hover{border-color:#a798ed;box-shadow:0 12px 35px #090c2026}.launch-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.mode-home .launch-icon{width:48px;height:48px;background:#35304e;color:#d9c9ff;border-radius:12px;margin:0}.mode-home .launch-icon .ba-icon{width:26px;height:26px}.home-role-label{font-size:9px;letter-spacing:1.8px;color:#aa9bbf}.mode-home .launch-card h2{font-size:26px;font-weight:650;letter-spacing:-.8px;margin:22px 0 11px}.mode-home .launch-card p{font-size:12px;line-height:1.8;color:#b7aacb;margin:0 0 24px}.mode-home .launch-card>strong{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:#d8c8fb;border-top:1px solid #453a5b;padding-top:17px;margin-top:auto}.mode-home .launch-card>strong .ba-icon{width:18px;height:18px}.mode-home .checkout-choice{background:#a798ed;border-color:#a798ed;color:#211a36}.mode-home .checkout-choice .launch-icon{background:#221c3830;color:#211a36}.mode-home .checkout-choice .home-role-label{color:#44345e}.mode-home .checkout-choice p{color:#3d3155}.mode-home .checkout-choice>strong{color:#211a36;border-color:#74618f}.mode-home #cloud-actions{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:10px;margin:0}.mode-home #cloud-actions button{background:#23243a;color:#bdb1d0;border:1px solid #3f3753;border-radius:8px;padding:10px 13px;font-size:11px;font-weight:500}.mode-home #cloud-actions .ba-icon{width:15px;height:15px}.home-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;color:#9c90b0;border-top:1px solid #353048;padding-top:17px;flex-wrap:wrap}.connection-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#a798ed;margin-right:7px;vertical-align:middle}.access-heading>img{border-radius:12px;flex-shrink:0}.access-top button{white-space:normal}#access-gate .business-card{border-radius:14px}.mode-panel .toolbar .primary,.mode-panel .employee-toolbar .primary{background:#5f5193;color:#fff}.mode-panel .toolbar button{display:inline-flex;align-items:center;gap:8px}.employee-toolbar{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.employee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:17px}.employee-card{background:#fff;border:1px solid #e0e2e8;border-radius:14px;padding:21px;min-width:0}.employee-card-head{display:flex;align-items:center;gap:11px;margin-bottom:20px}.employee-avatar{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;background:#ede8f8;color:#67538d;font-size:12px;font-weight:650;flex-shrink:0}.employee-card-head>div{flex:1;min-width:0}.employee-card h3{font-size:15px;letter-spacing:-.3px;overflow-wrap:anywhere}.employee-card-head p{font-size:11px;color:#8b8396;margin-top:4px}.employee-card-head .badge{font-size:9px;white-space:nowrap;background:#e7f1e9;color:#437151}.badge.neutral{background:#ececf2;color:#858095}.employee-box{display:flex;align-items:center;gap:10px;background:#f6f4fa;padding:13px;border-radius:9px;color:#746189}.employee-box strong{font-size:12px;color:#544363;font-weight:600}.employee-box small{font-size:10px;color:#92859e;margin-top:5px;overflow-wrap:anywhere}.employee-values{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.employee-values span{display:block;font-size:10px;color:#8d8198;margin-bottom:8px}.employee-values strong{font-size:18px;color:#41314f;font-weight:650;letter-spacing:-.5px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.employee-card-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #eeebf2;padding-top:15px}.employee-card-actions button{display:inline-flex;align-items:center;gap:7px;font-size:11px;padding:9px 11px;background:#ede7f6;color:#66537e;border-radius:8px}.employee-card-actions .outline{background:transparent;border:1px solid #ded6e8}.employee-card-actions .ba-icon{width:15px;height:15px}.employee-disabled{font-size:10px;color:#ad705e;margin:12px 0}.employee-modal-values{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.employee-modal-values .stat{padding:14px}.employee-modal-values .stat strong{font-size:20px}.employee-close-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #e6e0ed;font-size:12px}.employee-close-row small{font-size:10px;color:#968ba0;margin-top:5px}.employee-close-row strong{font-size:15px;font-variant-numeric:tabular-nums}#employee-feedback{font-size:11px;color:#8c7c98;margin-top:17px}
@media(max-height:760px) and (min-width:701px){.mode-home #launcher{padding:22px 32px;gap:17px;grid-template-rows:auto auto minmax(180px,1fr) auto auto}.home-logo{width:175px;height:49px}.home-welcome h1{font-size:31px;margin:7px 0}.mode-home .launch-card{padding:21px 25px}.mode-home .launch-card h2{margin-top:15px;font-size:25px}.mode-home .launch-card p{margin-bottom:18px}.mode-home .launch-icon{width:39px;height:39px}.mode-home .launch-card>strong{padding-top:13px}.home-bottom{padding-top:12px}.mode-home #cloud-actions button{padding:8px 12px}}
@media(max-height:600px) and (min-width:701px){.mode-home #launcher{padding:15px 25px;gap:12px;grid-template-rows:auto auto minmax(145px,1fr) auto auto}.home-logo{width:160px;height:42px}.home-welcome h1{font-size:25px;margin:5px 0}.home-welcome p{font-size:11px}.home-welcome .eyebrow{display:none}.mode-home .launch-card{padding:17px 23px}.mode-home .launch-card h2{font-size:22px;margin:11px 0 7px}.mode-home .launch-card p{font-size:11px;margin-bottom:12px}.mode-home .launch-card p br{display:none}.mode-home .launch-icon{width:30px;height:30px}.mode-home .launch-icon .ba-icon{width:20px;height:20px}.mode-home .launch-card>strong{font-size:11px;padding-top:10px}.home-user{padding:6px 8px}.home-bottom{padding-top:9px;font-size:9px}}
@media(max-width:850px){.sidebar-logo{width:124px}.mode-panel .sidebar .store{display:none}.mode-panel nav button{gap:6px}.mode-panel nav button>span[data-icon]{display:inline-flex;width:17px}.mode-panel nav button .ba-icon{width:17px;height:17px}.employee-toolbar button{font-size:10px}.employee-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.mode-home #launcher{padding-left:24px;padding-right:24px}.mode-home .launch-card{padding:23px}.mode-home .launch-card h2{font-size:23px}.home-user strong{font-size:11px}.home-logo{width:177px}.employee-card{padding:17px}}
@media(max-width:700px){.mode-home #launcher{padding:22px 19px;display:flex;flex-direction:column;gap:22px;min-height:100dvh}.home-logo{width:153px;height:45px}.home-top{gap:12px}.home-user{padding:5px 6px;gap:7px;max-width:50%}.home-user strong{font-size:10px}.home-user small{font-size:9px}.user-avatar{display:none}.home-user button{padding:6px;margin-left:0}.home-user .ba-icon{width:17px;height:17px}.home-welcome h1{font-size:29px;max-width:340px;letter-spacing:-1.1px}.home-welcome p{font-size:12px}.mode-home .launch-options{grid-template-columns:1fr;gap:14px}.mode-home .launch-card{padding:21px;min-height:185px}.mode-home .launch-card h2{font-size:23px;margin:12px 0 6px}.mode-home .launch-card p{font-size:12px;line-height:1.6;margin-bottom:16px}.mode-home .launch-card p br{display:none}.mode-home .launch-icon{width:35px;height:35px;border-radius:9px}.mode-home .launch-icon .ba-icon{width:22px;height:22px}.mode-home .launch-card>strong{padding-top:13px;font-size:12px}.mode-home #cloud-actions{gap:7px;display:grid;grid-template-columns:1fr 1fr}.mode-home #cloud-actions button{font-size:10px;padding:9px;justify-content:flex-start}.home-bottom{margin-top:auto;gap:10px;padding-top:15px;font-size:9px}.employee-toolbar{justify-content:flex-start}.mode-panel #employees .toolbar{flex-wrap:wrap}.employee-grid{grid-template-columns:1fr}.employee-card-head .badge{font-size:9px}.mode-panel .sidebar{padding:12px;gap:10px}.mode-panel nav{width:100%;justify-content:space-between}.mode-panel nav button{font-size:10px;padding:9px 5px;gap:4px;flex:1}.mode-panel nav button>span[data-icon]{display:none}.employee-values strong{font-size:20px}}
@media print{.home-top,.home-bottom,.employee-toolbar{display:none!important}}

.fiscal-card{max-width:860px;background:var(--surface,#fff);border:1px solid #dcd8e5;border-radius:20px;padding:clamp(18px,3vw,32px)}.fiscal-card .note{line-height:1.6}.fiscal-card .form-grid{margin:24px 0}.fiscal-card #fiscal-saved{color:#48665c;font-size:14px}.fiscal-card .field input,.fiscal-card .field select{min-width:0;width:100%}

.fiscal-toggle{display:flex;align-items:center;gap:12px;padding:16px;background:#ede7fa;border-radius:10px;font-size:13px;color:#463758}.fiscal-toggle input{width:18px;height:18px}.fiscal-receipt{margin:16px 0;padding:14px;border:1px dashed #8f77bb;border-radius:9px;font-size:12px;line-height:1.5}.fiscal-receipt strong{font-size:11px;color:#66517e}.fiscal-connection-details{margin-top:24px;font-size:12px}.fiscal-connection-details button{margin:8px 8px 0 0}

.access-heading>img.access-full-logo{width:200px;height:60px;object-fit:contain;object-position:left center;border-radius:0}.access-heading{flex-wrap:wrap}.phone-brand>img.reader-full-logo{width:160px;height:48px;object-fit:contain;border-radius:0}.phone-brand{flex-wrap:wrap}

/* 2.3.3: panel y cobro para teléfonos. */
@media screen and (max-width:760px){
 .mode-panel .sidebar{position:relative;display:block;padding:12px 14px 8px}
 .mode-panel .brand{margin:0 0 12px;width:max-content;max-width:45%}
 .mode-panel .sidebar-logo{width:124px;max-width:100%}
 .mode-panel .sidebar .side-bottom{position:absolute;right:14px;top:23px;margin:0;padding:0;font-size:0}
 .mode-panel .sidebar .side-bottom .demo-dot,.mode-panel .sidebar .side-bottom>p,.mode-panel .sidebar .side-bottom>button,.mode-panel .sidebar .side-bottom>small{display:none}
 .mode-panel .sidebar .side-bottom .exit-link{display:block;font-size:11px;margin:0;padding:8px 0}
 .mode-panel nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;gap:3px;margin:0}
 .mode-panel nav button{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;min-height:64px;padding:7px 3px;font-size:10px;line-height:1.25;text-align:center;overflow-wrap:anywhere}
 .mode-panel nav button>span[data-icon]{display:inline-flex;width:19px;height:19px;flex-shrink:0}
 .mode-panel nav button .ba-icon{width:19px;height:19px}
 .mode-panel main{padding:18px 14px;min-width:0;max-width:100%}
 .mode-panel main>header{gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
 .mode-panel main>header>div:first-child{min-width:0;flex:1}
 .mode-panel h1{font-size:25px;line-height:1.15;margin-top:4px;overflow-wrap:anywhere}
 .mode-panel header .eyebrow{font-size:9px;letter-spacing:1.3px}
 .mode-panel .header-right{width:auto;gap:7px;flex-wrap:nowrap}
 .mode-panel .header-right #clock,.mode-panel .header-right .avatar{display:none}
 .mode-panel #phone-reader{display:flex;justify-content:center;align-items:center;width:42px;height:42px;min-width:42px;padding:9px;border-radius:12px}
 .mode-panel #phone-reader>span:not([data-icon]){display:none}
 .mode-panel #cash-status{font-size:10px;line-height:1.2;padding:10px;min-height:42px;max-width:115px}
 .mode-panel .demo-banner{font-size:10px;line-height:1.5;padding:12px;gap:10px}
 .mode-panel .demo-banner>span{font-size:11px;line-height:1.5}
 .mode-panel .toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0 16px}
 .mode-panel .toolbar>div{min-width:0;flex:1 1 160px}
 .mode-panel .toolbar h2{font-size:21px;line-height:1.2}
 .mode-panel .toolbar p{font-size:12px;line-height:1.5;margin-top:6px}
 .mode-panel .toolbar button{font-size:12px;padding:11px 12px;min-height:44px;white-space:normal}
 .mode-panel .standalone-search{width:100%;min-width:0;min-height:46px;font-size:14px;margin-bottom:16px}
 .mode-panel .table-wrap{width:100%;max-width:100%;overflow:visible;border:0;background:transparent;box-shadow:none;border-radius:0}
 .mode-panel .table-wrap table{display:block;width:100%;min-width:0;border:0}
 .mode-panel .table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .mode-panel .table-wrap tbody{display:grid;gap:12px;width:100%}
 .mode-panel .table-wrap tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:17px;border:1px solid #dbe3e0;border-radius:15px;background:#fff;box-shadow:0 3px 10px #15322c04}
 .mode-panel .table-wrap td{display:block;min-width:0;padding:0;border:0;font-size:14px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
 .mode-panel .table-wrap td[data-label]::before{content:attr(data-label);display:block;font-size:10px;letter-spacing:.7px;text-transform:uppercase;font-weight:650;color:#78858b;margin-bottom:5px}
 .mode-panel .table-wrap td small{font-size:12px;line-height:1.5;display:block;margin-top:3px}
 .mode-panel .table-wrap .badge{font-size:11px;white-space:normal;line-height:1.4;max-width:100%}
 .mode-panel #inventory td:first-child,.mode-panel #inventory td:nth-child(2){grid-column:1/-1}
 .mode-panel #inventory td:first-child::before{display:none}
 .mode-panel #inventory td:first-child strong{font-size:17px}
 .mode-panel #inventory td:nth-child(3){font-size:18px;font-weight:650;font-variant-numeric:tabular-nums}
 .mode-panel #sale-list td:nth-child(3),.mode-panel #sale-list td:nth-child(7){grid-column:1/-1}
 .mode-panel .table-wrap td.row-action{grid-column:1/-1;display:flex;justify-content:flex-end;border-top:1px solid #edf0ee;padding-top:12px}
 .mode-panel .table-wrap td button{padding:9px 16px;min-height:42px;font-size:12px}
 .mode-panel .table-wrap td[colspan]{grid-column:1/-1;padding:12px 0}
 .mode-panel .employee-toolbar{flex:1 1 100%;justify-content:flex-start}
 .mode-panel .fiscal-card{padding:16px;max-width:100%;border-radius:15px}
 .mode-panel .fiscal-card .form-grid{grid-template-columns:1fr;gap:0}
 .mode-panel .fiscal-toggle{align-items:flex-start;font-size:12px;line-height:1.5}
 .mode-panel .fiscal-toggle input{flex-shrink:0;margin-top:2px}
 .mode-panel .fiscal-connection-details button{max-width:100%;min-height:44px;white-space:normal}
 .mode-panel main>footer{font-size:10px;line-height:1.6;margin-top:24px}
 .mode-pos .touch-checkout{flex:0 0 auto;height:auto;max-height:100%;padding:16px}
 .mode-pos .touch-checkout #pay{margin-top:14px;min-height:48px}
 .mode-pos #pay kbd,.mode-pos .search-wrap kbd{display:none}
 .mode-pos .touch-keypad{grid-template-rows:repeat(4,42px) 28px;flex-shrink:0}
 .mode-pos .touch-keypad button{font-size:22px}
 .mode-pos .touch-keypad .decimal-key{font-size:10px}
 .mode-pos .inline-methods button{min-height:40px}
 .mode-pos #inline-cash{flex-shrink:0}
 .mode-pos .inline-payment-note{font-size:11px}
 .mode-pos .header-right #phone-reader{min-width:40px;min-height:40px;justify-content:center}
 .mode-pos .header-right #phone-reader>[data-icon]{display:inline-flex}
 .mode-pos .pos-layout.pane-checkout{background:transparent;border:0;overflow:auto}
 .mode-pos .pos-layout.pane-checkout .touch-checkout{border:1px solid #3a3c55;border-radius:12px}
 dialog .dialog-actions{flex-wrap:wrap}
 dialog .dialog-actions button{flex:1 1 120px;min-height:44px}
}
@media screen and (max-width:760px) and (max-height:680px){
 .mode-pos .touch-checkout{padding:12px}
 .mode-pos .touch-keypad{grid-template-rows:repeat(4,30px) 23px;gap:4px}
 .mode-pos .touch-checkout #pay{margin-top:10px;min-height:44px}
}
@media screen and (max-height:550px){.mode-pos .touch-keypad{display:none}}
@media screen and (max-width:760px){
 .mode-panel input:not([type="checkbox"]),.mode-panel select,.mode-panel textarea{font-size:16px}
}
/* Cámara local: alta de productos y lectura en el mismo punto de venta. */
#camera-sale{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:42px;padding:8px 11px;border:1px solid #59516f;background:#37304f;color:#e8dfff;border-radius:8px;font-size:12px}
#camera-sale .ba-icon{width:21px;height:21px}
.barcode-product-button{grid-column:1/-1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:-6px;margin-bottom:16px;font-size:13px}
.barcode-product-button .ba-icon{width:20px;height:20px}
#camera-modal{width:min(460px,calc(100% - 24px));padding:20px;border-radius:16px;max-height:calc(100dvh - 24px);overflow:auto}
#camera-modal .dialog-head{gap:12px;align-items:center}
#camera-modal .dialog-head h2{font-size:21px;line-height:1.2}
#camera-modal .dialog-head button{min-width:44px;min-height:44px;flex-shrink:0}
.direct-camera-preview{position:relative;aspect-ratio:4/3;background:#0c1020;border-radius:12px;overflow:hidden}
.direct-camera-preview video{width:100%;height:100%;object-fit:cover;display:block}
.direct-camera-frame{position:absolute;pointer-events:none;inset:27% 9%;border:2px solid #c3a8ff;border-radius:12px;box-shadow:0 0 0 100px #0b10204d}
#direct-camera-status{font-size:14px;line-height:1.5;margin:16px 0;min-height:42px}
#direct-camera-retry{min-height:44px}
@media(max-width:760px){#camera-sale>span:not([data-icon]){display:none}#camera-sale{min-width:44px;padding:8px}#camera-modal{padding:16px}.barcode-product-button{font-size:14px}}
.product-lookup{grid-column:1/-1;padding:14px;border:1px solid #dcd5e8;border-radius:12px;margin-bottom:16px;background:#f5f1fb}
.product-lookup>button{min-height:44px;font-size:13px}
#product-suggestions{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
#product-suggestions:not(:empty){margin-top:12px}
#product-suggestions dl{display:grid;grid-template-columns:minmax(80px,.4fr) minmax(0,1fr);gap:6px 12px;margin:14px 0}
#product-suggestions dt{color:#727080}#product-suggestions dd{margin:0}
#product-suggestions a,.catalog-attribution a{color:#695095;text-underline-offset:3px}
#product-suggestions button{min-height:44px;white-space:normal}
.mode-pos .product-lookup{background:#2b2d44;border-color:#504763}
.mode-pos #product-suggestions a{color:#d3bbff}.mode-pos #product-suggestions dt{color:#c1b6ce}
/* 2.3.6: controles sin ancho mínimo intrínseco que desborde el diálogo. */
dialog #modal-content,dialog form,dialog .form-grid,dialog .form-grid>*,dialog .field{min-width:0;max-width:100%}
dialog .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
dialog .form-grid>.full{grid-column:1/-1}
dialog .field input,dialog .field select,dialog .field textarea{min-width:0;width:100%;max-width:100%;box-sizing:border-box}
dialog .barcode-product-button,dialog .product-lookup{min-width:0;width:100%;max-width:100%}
dialog button{overflow-wrap:anywhere}
@media screen and (max-width:760px){
 #modal{width:calc(100% - 24px);max-width:480px;max-height:calc(100dvh - 24px);padding:20px 16px;overflow-y:auto}
 #modal .form-grid{grid-template-columns:minmax(0,1fr);gap:0}
 #modal .form-grid>*{grid-column:1/-1}
 #modal .field{margin-bottom:16px}
 #modal input:not([type="checkbox"]),#modal select,#modal textarea{font-size:16px;min-height:44px}
 #modal .barcode-product-button{white-space:normal;margin:0 0 16px}
 #modal .dialog-head{align-items:center;gap:12px}
 #modal .dialog-head h2{min-width:0;font-size:21px}
 #modal .dialog-head>button{min-width:44px;min-height:44px;flex-shrink:0}
 #modal .dialog-desc{font-size:12px;line-height:1.5}
 #modal .product-lookup button{width:100%;white-space:normal}
}
/* 2.3.7: comprobante identificado únicamente con el comercio. */
.receipt{width:100%;min-width:0;color:inherit;font-size:13px;line-height:1.5}
.receipt-heading{text-align:center;padding:12px 0 18px;border-bottom:1px dashed #bec7c5}
.receipt .receipt-heading h2{font-size:24px;line-height:1.2;margin:0 0 8px;overflow-wrap:anywhere}
.receipt-heading p{margin:3px 0;font-size:12px;overflow-wrap:anywhere}
.receipt-reference{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:wrap;margin:16px 0 8px;font-size:12px}
.receipt-caption{font-size:11px;text-transform:uppercase;letter-spacing:.8px;margin:8px 0}
.receipt-validity{font-size:11px;margin:5px 0 14px}
.receipt .ticket-line{padding:12px 0;align-items:flex-start;gap:12px;break-inside:avoid}
.receipt .ticket-line>div{min-width:0;flex:1}
.receipt-product-name{font-size:13px;font-weight:600;display:block;overflow-wrap:anywhere}
.receipt .ticket-line small{font-size:11px;display:block;margin-top:4px}
.receipt-line-amount{flex-shrink:0;font-size:13px;font-variant-numeric:tabular-nums}
.receipt-totals{margin:14px 0 0;padding:10px 0;border-top:1px dashed #bec7c5;border-bottom:1px dashed #bec7c5}
.receipt-sum{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:7px 0;font-size:12px;break-inside:avoid}
.receipt-sum strong{font-variant-numeric:tabular-nums;text-align:right}
.receipt .ticket-total{margin:12px 0 4px;font-size:23px;font-weight:750}
.receipt-payment{padding:10px 0}
.receipt-attention{font-size:11px;margin:8px 0;overflow-wrap:anywhere}
.receipt-thanks{text-align:center;border-top:1px dashed #bec7c5;padding-top:16px;margin-top:16px;font-size:13px}
.receipt .fiscal-receipt{break-inside:avoid;overflow-wrap:anywhere}
@media print{
 #print-area{width:100%;max-width:72mm;font-family:Arial,sans-serif;font-size:11px;color:#000;background:#fff}
 #print-area .receipt{font-size:11px;line-height:1.35;color:#000}
 #print-area .receipt-heading h2{font-size:19px}
 #print-area .receipt-heading p{font-size:10px;margin:3px 0;text-align:center}
 #print-area .receipt-reference{font-size:10px;margin-top:12px}
 #print-area .receipt-caption,#print-area .receipt-validity{font-size:10px;text-align:left;margin:6px 0}
 #print-area .ticket-line{padding:9px 0;border-color:#bbb;gap:8px}
 #print-area .receipt-product-name,#print-area .receipt-line-amount{font-size:11px}
 #print-area .ticket-line small,#print-area .receipt-sum{font-size:10px}
 #print-area .ticket-total{font-size:19px}
 #print-area .fiscal-receipt{padding:9px;border-color:#444;font-size:10px}
 #print-area .fiscal-receipt strong{color:#000;font-size:10px}
 #print-area .fiscal-receipt p{font-size:10px;text-align:left;margin:6px 0}
 #print-area .receipt-attention{font-size:9px}
 #print-area .receipt-thanks{font-size:11px;margin-top:12px;padding-top:12px}
}
/* 2.3.8: controles superiores consistentes y cierre visible de la caja propia. */
.mode-pos .header-right{gap:8px;align-items:center}
.mode-pos .header-right .header-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 12px;border:1px solid #45435d;background:#24263c;color:#e5def4;border-radius:11px;font-size:12px;line-height:1.2;text-decoration:none;white-space:nowrap}
.mode-pos .header-right .header-action>[data-icon]{display:inline-flex!important;align-items:center;justify-content:center;flex-shrink:0}
.mode-pos .header-right .header-action .ba-icon{width:21px;height:21px;stroke-width:1.8}
.mode-pos .header-right #phone-reader{background:#322e48;border-color:#524667;color:#e1d2ff}
.mode-pos .header-right #close-register{background:#303a3b;border-color:#52675f;color:#d5eedf}
.mode-pos .header-right #close-register kbd{font-size:10px;border-color:#65756d;color:#d5eedf;padding:3px 5px}
#close-register[hidden],.mode-panel #close-register{display:none!important}
.mode-pos .header-right .status{min-height:36px;border-radius:20px;padding:8px 11px;font-size:10px}
.mode-pos .header-right #clock{font-size:11px;white-space:nowrap;color:#bbb3ce;font-variant-numeric:tabular-nums;padding:0 5px}
.mode-pos .header-right .avatar{width:36px;height:36px;font-size:12px;background:#303247;color:#ded5f4;border:1px solid #45435d}
@media screen and (min-width:761px) and (min-height:700px){
 .mode-pos .touch-checkout{gap:0}
 .mode-pos #inline-cash{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:auto auto minmax(0,1fr);gap:8px 14px;height:auto;min-height:190px;flex:1 1 auto;margin:2px 0 12px}
 .mode-pos #inline-cash .received-label{grid-column:1;grid-row:1;align-self:end;margin:0}
 .mode-pos #inline-cash .received-wrap{grid-column:1;grid-row:2;min-width:0;padding:10px;gap:6px}
 .mode-pos #inline-cash .received-wrap input{font-size:27px}
 .mode-pos #inline-cash .touch-keypad{grid-column:2;grid-row:1/4;height:100%;min-height:190px;margin:0;grid-template-rows:repeat(4,minmax(32px,1fr)) 27px;gap:6px}
 .mode-pos #inline-cash .touch-keypad button{font-size:26px;padding:7px;min-height:0;border-radius:9px}
 .mode-pos #inline-cash .touch-keypad .decimal-key{font-size:10px;padding:4px;letter-spacing:0}
 .mode-pos #inline-cash .touch-change{grid-column:1;grid-row:3;align-self:stretch;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:4px;margin:0}
 .mode-pos #inline-cash .touch-change strong{font-size:34px;max-width:100%;overflow-wrap:anywhere}
 .mode-pos .touch-checkout #pay{margin-top:12px;min-height:48px;font-size:17px;padding:13px 16px}
 .mode-pos .inline-payment-note{font-size:11px;margin:0;line-height:1.5}
}
@media screen and (min-width:1100px) and (min-height:900px){
 .mode-pos #inline-cash{min-height:260px;gap:10px 18px}
 .mode-pos #inline-cash .touch-keypad{min-height:260px;grid-template-rows:repeat(4,minmax(44px,1fr)) 32px;gap:8px}
 .mode-pos #inline-cash .touch-keypad button{font-size:30px}
 .mode-pos #inline-cash .received-wrap input{font-size:32px}
 .mode-pos #inline-cash .touch-change strong{font-size:39px}
}
@media screen and (max-width:1150px){.mode-pos .header-right #clock,.mode-pos .header-right .avatar{display:none}}
@media screen and (max-width:900px){.mode-pos .header-right .header-action{min-width:42px;padding:9px}.mode-pos .header-right #close-register kbd{display:none}.mode-pos .header-right .header-action .control-label{display:none}}
@media screen and (max-width:760px){
 .mode-pos .header-right{gap:5px}
 .mode-pos .header-right .header-action{min-width:38px;min-height:40px;padding:8px;border-radius:10px}
 .mode-pos .header-right .header-action .ba-icon{width:20px;height:20px}
 .mode-pos .header-right #phone-reader>span:not([data-icon]),.mode-pos .header-right .header-action .control-label{display:none}
 .mode-pos .header-right .status{padding:8px;font-size:9px;min-height:34px}
 .mode-pos h1{font-size:18px}
}
@media screen and (max-width:420px){.mode-pos .header-right .back-home{display:none}}
.arca-setup{max-width:860px;margin:0 0 20px;background:#fff;border:1px solid #dcd8e5;border-radius:20px;padding:clamp(18px,3vw,28px)}
.arca-setup-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.arca-setup-heading h2{font-size:23px;margin:7px 0 15px;letter-spacing:-.5px}
.arca-environment{font-size:11px;border-radius:20px;background:#f1e9d8;color:#755822;padding:8px 11px;line-height:1.4}
.arca-setup-state{background:#f5f1fb;border:1px solid #dfd6ec;border-radius:12px;padding:15px;font-size:13px;line-height:1.5}
.arca-setup-state p{margin:6px 0 0}.arca-setup-state.is-connected{background:#eef7f1;border-color:#bcd9c7}
#arca-check-metadata{font-size:11px;color:#64716a;overflow-wrap:anywhere}
.arca-guide{margin-top:20px;font-size:13px;line-height:1.6}
.arca-guide summary{font-weight:650;cursor:pointer;min-height:44px;padding:10px 0}
.arca-guide ol{padding-left:23px;margin:12px 0}.arca-guide li{padding:0 0 16px 6px}.arca-guide li p{margin:6px 0}
.arca-guide a{color:#695095;text-underline-offset:3px}.arca-guide code{font-size:12px}
.arca-verify{margin-top:22px;padding-top:20px;border-top:1px solid #ded9e7}
.arca-verify h3{font-size:17px}.arca-verify button{min-height:44px;max-width:100%;white-space:normal;font-size:13px}
#arca-verification-feedback{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:760px){.arca-setup{padding:16px;border-radius:15px}.arca-setup-heading h2{font-size:21px}.arca-setup-heading{gap:4px}.arca-environment{margin-bottom:14px}.arca-guide{font-size:12px}.arca-verify button{width:100%}}
/* Datos de cobro: formularios compactos, con desplazamiento interno si hace falta. */
.mode-pos .touch-checkout{overflow-y:auto;overscroll-behavior:contain}
.payment-fields{flex-shrink:0;min-width:0;margin:2px 0 10px}.payment-fields[hidden]{display:none!important}
.payment-grid,.payment-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.payment-fields .field{display:flex;flex-direction:column;gap:5px;margin:0 0 10px;font-size:12px;min-width:0;color:#c7bfdc}
.payment-fields input,.payment-fields select{width:100%;min-width:0;box-sizing:border-box;background:#292b44;color:#f0eafa;border:1px solid #494760;border-radius:8px;padding:9px 10px;font:inherit;font-size:13px;min-height:40px}
.payment-fields select:disabled{opacity:.65}.payment-fields input:focus,.payment-fields select:focus{outline:2px solid #a798ed;outline-offset:1px}
.payment-alias{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;padding:10px;margin-bottom:10px;background:#292b44;border:1px solid #494760;border-radius:8px}.payment-alias span{font-size:10px;color:#c7bfdc}.payment-alias strong{grid-column:1;overflow-wrap:anywhere;font-size:14px;user-select:all}.payment-alias button{grid-column:2;grid-row:1/3;align-self:center;min-height:38px;padding:8px;color:#e4dcff;border:1px solid #71638d}
.payment-check{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.5;color:#f0eafa;cursor:pointer}.payment-check input{width:19px;min-width:19px;min-height:19px;height:19px;margin:1px 0;accent-color:#a798ed}
.payment-hint{font-size:10px;line-height:1.5;color:#b4b2ca;margin:2px 0 0}.payment-config{margin-top:22px}.payment-config .toolbar{margin-bottom:15px}.payment-config p{overflow-wrap:anywhere}.payment-config small{display:block;color:var(--muted);margin-top:4px}.payment-config h3{font-size:14px}.payment-filters{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0}.payment-filters .field{min-width:180px;flex:1}.payment-setting-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end;border-bottom:1px solid var(--line);padding:12px 0;margin:0 0 10px}.payment-setting-row .field{min-width:0;margin:0}.payment-setting-row input{width:100%;min-width:0}.payment-setting-row button{margin-bottom:4px}.payment-setting-row:has(input[data-setting-name]:last-child):not(:has(input[data-setting-alias])){grid-template-columns:minmax(0,1fr) auto}
@media(max-width:620px){.payment-config-grid{grid-template-columns:1fr}.payment-setting-row{grid-template-columns:minmax(0,1fr)}.payment-setting-row button{justify-self:start}.payment-config .toolbar{flex-wrap:wrap;gap:12px}.payment-filters .field{min-width:0;flex-basis:100%}}
@media(min-width:761px) and (max-height:720px){.payment-fields .field{margin-bottom:6px;font-size:11px}.payment-fields input,.payment-fields select{min-height:34px;padding:7px}.payment-grid{gap:8px}.payment-hint{font-size:9px}.payment-fields{margin-bottom:5px}}
.receipt-payment p{overflow-wrap:anywhere;line-height:1.45}
/* Vista previa y papel térmico. El tamaño físico del rollo se elige en la impresora. */
.receipt-print-controls{display:flex;gap:16px;align-items:center;padding:12px;background:#f1edf7;border:1px solid #ded5eb;border-radius:10px;margin:12px 0 20px;color:#394c50}.receipt-print-controls .field{flex:0 0 110px;margin:0;font-size:12px}.receipt-print-controls select{width:100%;margin-top:5px}.receipt-print-controls p{font-size:11px;line-height:1.5;margin:0}.receipt-preview{background:white;color:#111;padding:15px 12px;border:1px solid #dde0df;border-radius:8px;overflow:hidden}.receipt-preview .receipt{width:var(--receipt-print-width,76mm);max-width:100%;margin:auto;font-family:'Arial',sans-serif}.receipt-preview .receipt-heading h2{font-size:20px}.receipt-preview .receipt .ticket-total{font-size:21px}.receipt-preview .fiscal-receipt{border-color:#555;color:#111}.receipt-preview .fiscal-receipt strong{color:#111}
html[data-receipt-width="58"] .receipt-preview .receipt{font-size:11px}html[data-receipt-width="58"] .receipt-preview .receipt-heading h2{font-size:17px}html[data-receipt-width="58"] .receipt-preview .receipt .ticket-total{font-size:18px}.receipt .ticket-line,.receipt .receipt-sum{min-width:0}.receipt-line-amount,.receipt-sum strong{white-space:nowrap;overflow-wrap:normal;word-break:normal;max-width:none;flex-shrink:0}
@media(max-width:480px){.receipt-print-controls{align-items:flex-start;gap:10px}.receipt-print-controls .field{flex-basis:90px}.receipt-print-controls p{font-size:10px}.receipt-preview{padding:12px 6px}}
@media print{
 @page{size:auto;margin:2mm}
 html,body{background:#fff!important;color:#000!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}
 body #print-area,body.mode-pos #print-area{box-sizing:border-box;width:var(--receipt-print-width,76mm)!important;max-width:100%!important;margin:0 auto!important;padding:0!important;overflow:visible!important;font-family:Arial,sans-serif!important;color:#000!important;background:#fff!important}
 #print-area .receipt{width:100%;max-width:100%;margin:0;font-size:11px;line-height:1.35}
 #print-area .receipt-heading{padding:5px 0 10px}#print-area .receipt-heading h2{font-size:18px}#print-area .receipt-heading p{overflow-wrap:anywhere}
 #print-area .ticket-line{display:flex;padding:7px 0;gap:7px;break-inside:avoid;page-break-inside:avoid}#print-area .receipt-product-name{font-size:11px}#print-area .receipt-line-amount{max-width:none;font-size:11px;flex-shrink:0;text-align:right}
 #print-area .receipt-payment p{text-align:left;font-size:10px;margin:5px 0}#print-area .ticket-total{font-size:20px}#print-area .receipt-totals,#print-area .receipt-payment,#print-area .receipt-heading{break-inside:avoid;page-break-inside:avoid}
 html[data-receipt-width="58"] #print-area .receipt{font-size:10px}html[data-receipt-width="58"] #print-area .receipt-heading h2{font-size:16px}html[data-receipt-width="58"] #print-area .receipt-heading p,html[data-receipt-width="58"] #print-area .receipt-reference,html[data-receipt-width="58"] #print-area .receipt-product-name,html[data-receipt-width="58"] #print-area .receipt-line-amount{font-size:10px}html[data-receipt-width="58"] #print-area .ticket-total{font-size:17px}
}
/* Navegación entre espacios y acciones de caja. */
.mode-panel .sidebar .side-bottom .space-switch{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 14px;margin-top:18px;border:1px solid #547277;border-radius:11px;background:#29474c;color:#f2f8f7;font-size:12px;font-weight:650;line-height:1.3;text-decoration:none;transition:background .15s,border-color .15s}
.mode-panel .sidebar .side-bottom .space-switch:hover{background:#365b60;border-color:#89aaa7}.space-switch .ba-icon{width:20px;height:20px;flex-shrink:0}.space-switch:focus-visible{outline:3px solid #d5e88d;outline-offset:3px}.space-switch:active{transform:translateY(1px)}
.mode-pos .header-right #close-register{background:#332c42;border-color:#695678}.mode-pos .header-right #close-register:hover{background:#453652;border-color:#ad87b6}.mode-pos .header-right #close-register>[data-icon]{color:#f1c795}.mode-pos .header-right #close-register .ba-icon{width:23px;height:23px;stroke-width:1.8}
[data-local-camera][hidden]{display:none!important}
@media screen and (max-width:850px){.mode-panel .sidebar .side-bottom .space-switch{margin:0;min-height:40px;padding:9px 12px;font-size:11px;gap:7px}}
@media screen and (max-width:760px){.mode-panel .sidebar .side-bottom{max-width:49%;top:15px}.mode-panel .sidebar .side-bottom .space-switch{padding:9px 10px;max-width:100%;text-align:left;border-radius:10px}.mode-panel .sidebar .side-bottom .space-switch .ba-icon{width:18px;height:18px}.mode-pos .header-right #close-register .ba-icon{width:22px;height:22px}}
.return-lines{display:grid;gap:10px;margin:18px 0}.return-line{display:grid;grid-template-columns:minmax(0,1fr) 95px;gap:10px;padding:13px;border:1px solid #cfdad6;border-radius:10px}.return-line>div{min-width:0;overflow-wrap:anywhere}.return-line small{display:block;font-size:11px;margin-top:5px;opacity:.75}.return-line .field{margin:0;font-size:11px}.return-line input[type=number]{width:100%;min-width:0;padding:9px}.return-stock,.return-confirm{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.5}.return-stock{grid-column:1/-1}.return-stock input,.return-confirm input{width:18px;height:18px;min-width:18px;accent-color:#7461a6}.return-confirm{margin:15px 0}.return-total{display:flex;justify-content:space-between;gap:10px;padding:16px 0;font-size:14px}.return-total strong{font-size:22px}#return-form textarea{font:inherit;padding:11px;width:100%;min-width:0;box-sizing:border-box;border:1px solid #ccd6d2;border-radius:8px;resize:vertical}.return-history{border-top:1px solid #ccd6d2;margin-top:18px;padding-top:15px}.return-history h3{font-size:15px}.return-history>div{padding:12px 0;border-bottom:1px solid #ccd6d2}.return-history small{display:block;margin:5px 0;font-size:11px}.return-history button{margin-top:7px}.mode-pos #return-form textarea{background:#2c2d46;color:#eee6ff;border-color:#54496f}
@media(max-width:480px){.return-line{grid-template-columns:minmax(0,1fr) 80px;padding:10px}.return-line strong{font-size:13px}.return-total strong{font-size:20px}}

/* Los importes se conservan en una linea; el total tiene un renglon propio. */
.receipt .receipt-sum.ticket-total{display:block;text-align:right}.receipt .receipt-sum.ticket-total>span{display:block;font-size:12px;letter-spacing:.4px;margin-bottom:5px}.receipt .receipt-sum.ticket-total>strong{display:block;max-width:none;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-variant-numeric:tabular-nums}
@media print{#print-area .receipt-sum.ticket-total{display:block;text-align:right}#print-area .receipt-sum.ticket-total>span{font-size:10px;margin-bottom:4px}#print-area .receipt-sum.ticket-total>strong{font-size:20px}html[data-receipt-width="58"] #print-area .receipt-sum.ticket-total>strong{font-size:17px}}
.catalog-alternatives:empty{display:none}.catalog-alternatives{margin-top:15px;padding-top:13px;border-top:1px solid #d9d0e6}.catalog-alternatives p{font-size:12px;font-weight:650;margin:0 0 9px}.catalog-alternatives>div{display:flex;flex-wrap:wrap;gap:8px}.catalog-alternatives a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 11px;border:1px solid #9b8ab8;border-radius:9px;color:#594576;font-size:12px;font-weight:600;text-decoration:none;background:#fff}.catalog-alternatives a:hover{background:#ede6f5}.catalog-alternatives a:focus-visible{outline:2px solid #8063aa;outline-offset:2px}.catalog-alternatives small{display:block;font-size:11px;line-height:1.5;margin-top:9px;color:#6d6779}.mode-pos .catalog-alternatives a{background:#302c46;color:#e5d7ff;border-color:#716086}.mode-pos .catalog-alternatives small{color:#c1b3d6}
@media(max-width:480px){.catalog-alternatives>div{flex-direction:column}.catalog-alternatives a{min-height:44px;width:100%;font-size:13px}}
.lookup-inline-note{font-size:11px;line-height:1.5;margin:10px 0;color:#6d6779}.catalog-alternatives summary{font-size:12px;line-height:1.5;cursor:pointer;color:#625477}.catalog-alternatives details>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.mode-pos .lookup-inline-note,.mode-pos .catalog-alternatives summary{color:#c1b3d6}@media(max-width:480px){.catalog-alternatives details>div{flex-direction:column}}

/* Notices above modal dialogs; safe viewport placement on phones. */
#toast{inset:auto auto max(25px,env(safe-area-inset-bottom)) 50%;margin:0;border:0;width:max-content;max-width:calc(100vw - 32px);max-height:40dvh;overflow:auto;box-sizing:border-box;z-index:2147483647;pointer-events:none;overflow-wrap:anywhere;line-height:1.5}
@media print{#toast,#toast.visible{display:none!important}}

.arca-setup-intro{font-size:13px;line-height:1.6;margin:0 0 18px;color:var(--muted)}
.arca-requirements{margin-top:20px}.arca-requirements h3{font-size:16px}.arca-requirements ul{padding:0;margin:12px 0;list-style:none}.arca-requirements li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.arca-requirements li p{margin:5px 0 0;color:var(--muted);line-height:1.5}.arca-requirement-status{flex-shrink:0;padding:5px 8px;border-radius:7px;background:#f5eadc;color:#79511e;font-size:11px}.arca-requirement-status.ready{background:#e7f2eb;color:#276344}.arca-production-guide{padding:8px 0;border-top:1px solid var(--line)}

.arca-production #verify-production-connection{margin-top:16px;min-height:44px;max-width:100%;white-space:normal}.arca-production{border-color:#d4dce5}.arca-production code{overflow-wrap:anywhere}

.guide-current-state{background:#f3f0fa;border:1px solid #ddd4ef;border-radius:12px;padding:15px;margin:14px 0 20px;font-size:13px;line-height:1.6}.guide-current-state p{margin:5px 0 0}.guide-steps{display:grid;gap:10px}.owner-guide-step{border:1px solid #e1dce9;border-radius:13px;overflow:hidden}.owner-guide-step>summary{display:flex;align-items:center;gap:13px;padding:16px;cursor:pointer;list-style:none}.owner-guide-step>summary::-webkit-details-marker{display:none}.owner-guide-step>summary:after{content:'+';margin-left:auto;font-size:22px;color:#69528f}.owner-guide-step[open]>summary:after{content:'−'}.guide-number{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#ede7f8;color:#5c417f;font-size:15px;font-weight:750}.owner-guide-step small{display:block;color:#7a688e;font-size:11px;margin-bottom:4px}.owner-guide-step strong{font-size:14px;line-height:1.5}.guide-step-body{padding:0 18px 18px 61px;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.guide-step-body p{margin:10px 0 0}.guide-step-body a{color:#644a90;text-underline-offset:3px}.guide-step-body button{max-width:100%;white-space:normal;min-height:44px}.guide-result{font-size:12px;color:#6e657b}.guide-copy-text{width:100%;max-width:100%;font:13px/1.6 system-ui;padding:12px;border:1px solid var(--line);border-radius:9px}@media(max-width:600px){.owner-guide-step>summary{padding:14px 12px;gap:10px}.owner-guide-step strong{font-size:13px}.guide-step-body{padding:0 14px 16px}.guide-number{flex-basis:29px;width:29px;height:29px}.guide-step-body button{width:100%}}

.catalog-tools,.commerce-actions,.commerce-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0 22px}.commerce-tabs{padding:7px;border:1px solid #dad5e4;border-radius:13px;background:#f9f7fc}.commerce-tabs button{background:transparent;font-size:12px}.commerce-tabs button.selected{background:#63518c;color:#fff}.commerce-actions button,.catalog-tools button{min-height:42px}.commerce-tabs+div .toolbar{margin-top:24px}#commerce-management{max-width:1300px}#commerce-management .stats{grid-template-columns:repeat(3,minmax(0,1fr))}#commerce-management td small{display:block}.purchase-row{display:grid;grid-template-columns:minmax(140px,2fr) 1fr 1fr auto;gap:9px;align-items:center;border-top:1px solid var(--line);padding-top:14px}.purchase-row .field{min-width:0}.purchase-row input,.purchase-row select{width:100%}.finance-filter,.import-mapping{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.import-mapping .field{margin-bottom:5px}.batch-products{max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:18px}.batch-products label{display:flex;gap:9px;align-items:center;padding:8px;font-size:12px}.batch-products input{flex-shrink:0}.batch-products small{margin-left:auto;white-space:nowrap}.import-checks{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.import-checks label{display:flex;gap:7px;font-size:12px}.import-summary{font-weight:700;line-height:1.7;margin:15px 0}.import-mapping select{width:100%}#import-preview .table-wrap,#batch-preview .table-wrap{max-height:300px;overflow:auto;margin:15px 0}#confirm-import{margin-top:18px}.mode-pos .inline-methods{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-pos #inline-credit select{width:100%}.mode-pos #inline-credit .payment-check{color:#dcd4f1}#receive-certificate h3{line-height:1.5}@media(min-width:1350px){.mode-pos .inline-methods{grid-template-columns:1fr 1.3fr 1fr .8fr}}@media(max-width:700px){#commerce-management .stats{grid-template-columns:1fr}.finance-filter,.import-mapping{grid-template-columns:1fr}.purchase-row{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-row>.field:first-child{grid-column:1/-1}.catalog-tools button{flex:1 1 140px}.commerce-tabs button{flex:1 1 125px}.sidebar nav{flex-wrap:wrap}.sidebar nav button{flex:1 1 90px}.batch-products label{align-items:flex-start}.batch-products small{font-size:10px}}

/* Form controls: consistent contrast and inset dropdown arrows. */
dialog .payment-check{color:#30474c;font-size:13px}
.mode-pos dialog .payment-check,.payment-fields .payment-check{color:#f0eafa}
select{box-sizing:border-box;max-width:100%;min-width:0;-webkit-appearance:none;appearance:none;padding-right:36px!important;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2716%27%20height%3D%2716%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23675a7d%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m6%209%206%206%206-6%27%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:16px 16px;background-position:calc(100% - 12px) center}
body.mode-auth select,.mode-pos dialog select,.payment-fields select{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2716%27%20height%3D%2716%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23d9cdec%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m6%209%206%206%206-6%27%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:16px 16px;background-position:calc(100% - 12px) center}
.product-phone-reader{width:100%;min-height:44px;white-space:normal}
.product-phone-reader[hidden]{display:none!important}
#reader-pair-modal{width:min(480px,calc(100% - 30px));max-height:calc(100dvh - 30px);overflow-y:auto}
#reader-pair-modal .dialog-head{gap:12px}#reader-pair-modal h2{font-size:21px}
#reader-pair-modal .dialog-head button{flex-shrink:0;min-width:44px;min-height:44px}
@media (forced-colors:active){select{-webkit-appearance:auto;appearance:auto;background-image:none!important}}

/* El selector de espacios permanece accesible en panel, caja y moviles. */
#workspace-switch{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 12px;border:1px solid #c9c1d9;background:#f3eff9;color:#4a3b68;border-radius:11px;font-size:12px;font-weight:650;line-height:1.25;text-decoration:none;flex-shrink:0}
#workspace-switch>[data-icon]{display:inline-flex!important;flex-shrink:0}
#workspace-switch .workspace-label-short{display:none}
.mode-pos #workspace-switch{background:#322e48;border-color:#524667;color:#e1d2ff}
@media screen and (max-width:760px){#workspace-switch{gap:6px;padding:8px 10px;font-size:11px}#workspace-switch .workspace-label-long{display:none}#workspace-switch .workspace-label-short{display:inline}#workspace-switch .ba-icon{width:19px;height:19px}}
@media screen and (max-width:380px){.mode-pos main>header{flex-wrap:wrap;row-gap:8px}.mode-pos main>header .header-right{margin-left:auto}}

#pos-phone-reader[hidden]{display:none!important}
.mode-pos #pos-phone-reader{background:#322e48;border-color:#524667;color:#e1d2ff}
@media screen and (max-width:1100px){#pos-phone-reader>span:not([data-icon]){display:none}#pos-phone-reader{width:44px;padding:9px;flex-shrink:0}}

.cash-keyboard-shortcut{font-size:10px;margin-left:6px;border:1px solid #68617d;border-radius:4px;padding:2px 5px;color:#d8ccec}
@media (hover:none) and (pointer:coarse){.cash-keyboard-shortcut{display:none}}

.sale-customer{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:10px;border:1px solid #49435d;border-radius:10px;background:#292b44;color:#f0eafa;flex-shrink:0}.sale-customer>div{min-width:0;flex:1}.sale-customer strong{font-size:12px;overflow-wrap:anywhere}.sale-customer small{display:block;font-size:10px;line-height:1.5;color:#c5b9da;margin-top:3px}.sale-customer button{min-height:38px;color:#dfd1fc;white-space:nowrap;font-size:11px;padding:7px 10px}.sale-customer #clear-loyalty-customer{font-size:21px;padding:4px 8px}.sale-savings{display:flex;justify-content:space-between;gap:10px;padding:9px 0;font-size:12px;color:#ceebd5}.sale-savings[hidden],#club-savings-row[hidden],#clear-loyalty-customer[hidden]{display:none!important}.loyalty-found{padding:15px;background:#f2eef8;border:1px solid #d7cce9;border-radius:10px;margin:15px 0}.loyalty-found p{font-size:13px;line-height:1.6}.mode-pos .loyalty-found{background:#30304c;border-color:#6b5a83}.benefit-checklist{display:flex;flex-wrap:wrap;gap:9px;padding:10px 0;max-height:220px;overflow:auto}.benefit-checklist[hidden]{display:none!important}.benefit-checklist label{display:flex;align-items:center;gap:7px;font-size:12px;min-height:32px}.benefit-checklist input[type="checkbox"]{width:18px;height:18px;margin:0;flex-shrink:0}#benefit-form fieldset{border:1px solid #ded7e9;border-radius:9px;padding:10px 12px;margin:16px 0}#benefit-form legend{font-size:13px;font-weight:650;padding:0 5px}

.public-club-admin{padding:20px;border:1px solid #dcd3e8;background:#f8f5fc;border-radius:14px;margin-bottom:25px}.public-club-admin .field{max-width:100%;margin-top:16px}.public-club-admin input{width:100%;font-size:12px}.public-club-open{display:inline-flex;align-items:center;text-decoration:none;padding:10px 14px;border:1px solid #cec4dc;border-radius:8px;font-size:12px;color:#624779}.club-signup-review{border:1px solid #dcc1a7;padding:20px;border-radius:14px;margin-bottom:25px;background:#fffaf3}#public-club-form textarea{font:inherit;padding:12px;border:1px solid #d5cde1;border-radius:8px;color:#32494e;background:white;font-size:13px;line-height:1.6;resize:vertical}

/* Mercado Pago shared dialogs. Dedicated dialog preserves the current sale. */
.mp-pos-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0}.mp-pos-tools .outline{flex:1}.mp-dialog{width:min(540px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:24px;border:1px solid #dcd6e6;border-radius:22px;background:#fbfafc;color:#28383e;overflow:auto;box-sizing:border-box}.mp-dialog::backdrop{background:#0d1824aa}.mp-dialog .dialog-head h2{margin-top:5px}.mp-dialog .dialog-head button{color:#52616a}.mp-eyebrow{font-size:11px;font-weight:750;letter-spacing:.1em;color:#68558c}.mp-payment{text-align:center}.mp-payment .mp-total{display:block;font-size:40px;line-height:1.2;letter-spacing:-.04em;color:#28383e;margin:20px 0 12px}.mp-payment h3{font-size:22px;color:#28383e;margin:12px 0}.mp-payment p{line-height:1.5;overflow-wrap:anywhere}.mp-payment .badge{display:inline-flex}.mp-payment-qr{background:#fff;padding:20px;width:280px;max-width:100%;margin:22px auto;box-sizing:border-box;border-radius:16px;border:1px solid #e1dce8;aspect-ratio:1}.mp-payment-qr canvas,.mp-payment-qr img,.mp-payment-qr table{max-width:100%;height:auto!important}.mp-payment-qr table{width:240px}.mp-operation-details{text-align:left;background:#f0edf5;border-radius:12px;padding:14px;margin:18px 0;overflow-wrap:anywhere}.mp-operation-details summary{cursor:pointer;font-weight:650}.mp-operation-details ul{padding-left:20px;line-height:1.7}.mp-history{display:grid;gap:10px}.mp-history-row{display:flex;justify-content:space-between;gap:16px;text-align:left;white-space:normal}.mp-history-row small{display:block;margin-top:6px;color:#617078;font-size:12px}.mp-webhook{border:1px solid #ddd6e8;border-radius:12px;padding:14px;display:grid;gap:10px}.mp-webhook input{width:100%;box-sizing:border-box;min-width:0}.mp-dialog .field{margin-bottom:18px}.mp-dialog .field small,.mp-webhook small{color:#617078;line-height:1.5}.mp-dialog .wide+.wide{margin-top:10px}.mp-dialog .validation{overflow-wrap:anywhere}.mp-dialog .dialog-actions{flex-wrap:wrap}.mp-dialog input{color:#28383e;background:#fff}.mp-dialog .payment-check{color:#28383e}.mp-dialog #mp-feedback{color:#6c405c}.mp-dialog .note{color:#617078}@media(max-width:620px){.mp-dialog{padding:20px 16px}.mp-dialog .dialog-actions button{width:100%}.mp-payment .mp-total{font-size:36px}}

.mp-connect-dialog{width:min(600px,calc(100vw - 24px))}.mp-steps{list-style:none;display:flex;justify-content:space-between;gap:10px;padding:0;margin:22px 0 28px}.mp-steps li{display:flex;align-items:center;gap:8px;color:#7d8390;font-size:13px}.mp-steps li>span{border-radius:50%;background:#ebe7f0;width:26px;height:26px;display:grid;place-items:center;font-weight:700}.mp-steps .current{color:#625085;font-weight:700}.mp-steps .current>span{background:#67538f;color:white}.mp-steps .complete>span{background:#e1eee7;color:#356955}.mp-mode-choice{display:flex;gap:8px;background:#eeeaf3;padding:6px;border-radius:14px}.mp-mode-choice button{flex:1;padding:12px;border:0;border-radius:10px;background:transparent;color:#5a5366;font-weight:650}.mp-mode-choice button.selected{background:white;color:#5e4785;box-shadow:0 2px 8px #2d203812}.mp-linked-account,.mp-setup-wait{border:1px solid #ddd6e8;background:#f2eef7;border-radius:14px;padding:18px;margin:18px 0}.mp-linked-account h4{font-size:21px;margin:12px 0}.mp-selection-list{display:grid;gap:12px;margin:18px 0}.mp-store-choice{display:flex;align-items:flex-start;flex-direction:column;gap:8px;white-space:normal;text-align:left;padding:18px}.mp-store-choice small{color:#667078;line-height:1.4}.mp-store-choice>span{color:#69528e;font-weight:650}.mp-unlink{margin-top:24px;color:#6a5d78;font-size:13px}.mp-connected-result{text-align:center;padding:16px 0}.mp-connected-result h4{font-size:24px;margin:14px 0}.mp-success-mark{background:#dfeee6;color:#2b7154;width:64px;height:64px;border-radius:50%;display:inline-grid;place-items:center;font-size:32px}.mp-dialog .form-grid>*{min-width:0}.mp-dialog #mp-coordinate-details{margin:18px 0}.mp-dialog #mp-coordinate-details summary{cursor:pointer;font-size:14px}.mp-dialog #mp-coordinate-details .form-grid{margin-top:16px}.mp-dialog #mp-geolocation-status{color:#466356;font-size:14px}@media(max-width:620px){.mp-dialog .form-grid{grid-template-columns:1fr}.mp-mode-choice{flex-direction:column}.mp-steps{gap:6px}.mp-steps li{font-size:12px;gap:5px}}
.mp-network-details{margin-top:24px;border-top:1px solid #ded8e7;padding-top:16px}.mp-network-details summary{font-size:13px;cursor:pointer;color:#6a5d78}.mp-network-details pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 system-ui;margin:14px 0}.mp-network-details [hidden]{display:none}

/* Read-only movement history and collection receipt. */
.movement-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 14px}.movement-heading h3{font-size:18px;margin:0 0 5px}.movement-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.movement-count{font-size:12px;color:#53676c;background:#e5eeeb;border:1px solid #d1dfd9;padding:7px 10px;border-radius:20px;white-space:nowrap}.movement-history td{vertical-align:middle;padding:16px 18px}.movement-history td time{font-size:12px;white-space:nowrap}.movement-kind{display:inline-block;padding:6px 9px;border-radius:8px;font-size:12px;font-weight:650;background:#eaf1ef;color:#34574c}.movement-kind.is-collection{background:#eee8f8;color:#5c4386}.movement-kind.is-prices{background:#f9efd9;color:#795817}.movement-history td small{display:block;margin-top:6px;font-size:11px;color:#64767a}.movement-detail{display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-width:0}.movement-detail>span{overflow-wrap:anywhere}.movement-detail button{min-height:36px;margin:0;padding:7px 12px;border-radius:9px;font-size:12px;white-space:nowrap;flex-shrink:0}.movement-history .movement-amount{font-weight:700;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.receipt-preview .collection-receipt{font-size:12px;line-height:1.5}.collection-receipt .receipt-heading{padding:10px 0 14px}.collection-receipt .receipt-heading p{font-size:11px;color:#444;margin:3px 0 0}.collection-receipt .receipt-caption{font-size:10px;letter-spacing:.25px;line-height:1.5;margin:12px 0;color:#444}.collection-receipt-info p{display:flex;justify-content:space-between;gap:14px;margin:8px 0}.collection-receipt-info p>span{color:#444;flex-shrink:0}.collection-receipt-info strong{text-align:right;font-weight:600;overflow-wrap:anywhere}.collection-receipt-total{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:16px 0;padding:14px 0;border-top:1px solid #cdd4d1;border-bottom:1px solid #cdd4d1}.collection-receipt-total>span{font-size:11px;text-transform:uppercase;letter-spacing:.6px}.collection-receipt-total>strong{font-size:28px;font-weight:750;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}.collection-allocations h3{font-size:12px;margin:0 0 9px}.collection-reference{font-size:9px;color:#555;line-height:1.6;border-top:1px dashed #cbd3cf;margin:16px 0 0;padding-top:12px;overflow-wrap:anywhere}.collection-reference span{font-family:monospace;font-size:9px}.collection-receipt-actions{gap:12px;margin-top:18px}.collection-receipt-actions button{min-height:44px}
@media(max-width:620px){.movement-heading{align-items:flex-start}.movement-heading h3{font-size:17px}.movement-history .table-wrap{overflow:visible}.movement-history table,.movement-history tbody,.movement-history tr,.movement-history td{display:block;width:100%}.movement-history thead{display:none}.movement-history tr{border:1px solid #d9e2df;border-radius:14px;background:#fff;padding:8px 14px;margin-bottom:12px}.movement-history td{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:9px 0;border:0;font-size:12px;text-align:right}.movement-history td:before{content:attr(data-label);font-size:11px;color:#65767a;text-align:left;flex-shrink:0}.movement-history .movement-detail{justify-content:flex-end;max-width:75%}.movement-history td:nth-child(2){flex-wrap:wrap}.movement-history td:nth-child(2) small{flex-basis:100%;margin:0}.movement-history .movement-amount{border-top:1px solid #e2e8e5;padding-top:12px}.collection-receipt-total>strong{font-size:25px}.collection-receipt-actions{justify-content:stretch}.collection-receipt-actions button{flex:1}}
@media print{#print-area .collection-receipt{font-size:10px;line-height:1.4}#print-area .collection-receipt p{text-align:left}#print-area .collection-receipt .receipt-heading p{text-align:center}#print-area .collection-receipt-info p{display:flex;margin:6px 0}#print-area .collection-receipt-total{margin:12px 0;padding:10px 0;break-inside:avoid}#print-area .collection-receipt-total strong{font-size:22px}#print-area .collection-allocations h3{font-size:10px}#print-area .collection-reference{font-size:8px;color:#333}#print-area .collection-reference span{font-size:8px}#print-area .collection-allocations{break-inside:avoid}}

.public-club-admin .club-enrollment-status{display:inline-flex;align-items:center;justify-content:center;text-align:center;align-self:center;min-height:40px;padding:10px 14px;line-height:1.2;white-space:normal}
