:root{--accent:#BD5D44;--ink:#1f2027;--muted:#74706b;--bg:#f3f0eb;--panel:#fff;--line:#e6e0d9;--sidebar:#171923;--success:#24724d;--warning:#a56610;--danger:#a6312a;--info:#356da8;--radius:16px;--shadow:0 16px 42px rgba(35,28,23,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);font-size:15px}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.55rem,2vw,2.15rem);margin-bottom:0}h2{font-size:1.2rem;margin-bottom:6px}h3{font-size:1rem}small,.muted{color:var(--muted)}code{font-family:"SFMono-Regular",Consolas,monospace;background:#f2efeb;border:1px solid #e4ded7;padding:3px 7px;border-radius:7px;color:#493d36}.hidden{display:none!important}.positive{color:var(--success);font-weight:800}.negative{color:var(--danger);font-weight:800}.inline{display:inline}.row-between{display:flex;align-items:center;justify-content:space-between;gap:15px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:800;color:var(--accent);margin-bottom:5px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:255px minmax(0,1fr)}.sidebar{background:var(--sidebar);color:white;padding:22px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:30}.brand{display:flex;align-items:center;gap:11px;margin-bottom:30px}.brand-mark{width:43px;height:43px;border-radius:13px;background:var(--accent);display:grid;place-items:center;color:#fff;font-weight:900;letter-spacing:.03em}.brand strong,.brand span{display:block}.brand span{font-size:.74rem;color:rgba(255,255,255,.55);margin-top:2px}.brand.light span{color:rgba(255,255,255,.62)}nav{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.67);padding:11px 12px;border-radius:11px;font-weight:650;transition:.18s}.nav-link:hover,.nav-link.active{color:#fff;background:rgba(255,255,255,.1)}.nav-link.active{box-shadow:inset 3px 0 var(--accent)}.nav-link span:first-child{width:19px;text-align:center;font-size:1.1rem}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:15px}.user-card{padding:10px 12px 14px}.user-card strong,.user-card span{display:block}.user-card span{font-size:.75rem;color:rgba(255,255,255,.5);margin-top:4px}.main{min-width:0}.topbar{min-height:90px;padding:20px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:rgba(243,240,235,.92);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}.top-actions{display:flex;gap:10px}.content{padding:26px 30px 55px;max-width:1600px;margin:auto}.mobile-menu{display:none}
.button,.icon-button{border:1px solid transparent;border-radius:10px;padding:11px 16px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.18s}.button.primary{background:var(--accent);color:#fff}.button.primary:hover{filter:brightness(.92);transform:translateY(-1px)}.button.ghost{background:#fff;color:var(--ink);border-color:var(--line)}.button.ghost:hover{border-color:#cfc6bc;background:#faf8f5}.button.tiny{padding:7px 10px;font-size:.76rem;border-radius:8px}.icon-button{background:#fff;border-color:var(--line);padding:10px}.alert{padding:13px 15px;border-radius:11px;margin-bottom:18px;border:1px solid}.alert.success{background:#eaf8f0;color:#205f42;border-color:#bfe4ce}.alert.error{background:#fff0ee;color:#8b2823;border-color:#f0c1bc}.alert.warning{background:#fff6e5;color:#87560c;border-color:#ead09e}.alert.info{background:#edf5ff;color:#265b93;border-color:#c4daf4}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:20px}.panel.narrow{max-width:610px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-head p{color:var(--muted);margin-bottom:0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.metrics.mini{grid-template-columns:repeat(3,1fr)}.metric{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:var(--shadow)}.metric span,.metric small,.metric strong{display:block}.metric span{font-size:.78rem;color:var(--muted);font-weight:700}.metric strong{font-size:1.75rem;margin:7px 0 3px}.metric small{font-size:.75rem}.grid-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick{border:1px solid var(--line);border-radius:13px;padding:16px;color:var(--ink);display:grid;gap:5px}.quick:hover{border-color:var(--accent);box-shadow:0 10px 24px #0000000d}.quick>span{font-size:1.35rem;color:var(--accent)}.quick small{color:var(--muted)}
.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.search-form{display:flex;gap:9px;flex:1;max-width:720px}.search-form input{flex:1}.form-stack{display:grid;gap:15px}.form-grid{display:grid;gap:15px}.form-grid.two,.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.span-2{grid-column:1/-1}.span-3{grid-column:1/-1}label{display:grid;gap:7px;font-weight:720;color:#38383f}label small{font-weight:500}input,select,textarea{width:100%;border:1px solid #d9d2ca;background:#fff;border-radius:10px;padding:11px 12px;color:var(--ink);outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}textarea{resize:vertical}.check{display:flex;align-items:center;gap:8px;font-weight:650}.check input{width:17px;height:17px}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border:1px solid var(--line);border-radius:11px}.size-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.size-item{border:1px solid var(--line);border-radius:11px;padding:9px;background:#faf8f5}.size-item .check{font-size:.8rem}.quantity-box{display:none;margin-top:8px;font-size:.72rem;color:var(--muted)}.size-item.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,white)}.size-item.selected .quantity-box{display:grid}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.product-image{height:205px;background:#ebe4dc;display:grid;place-items:center;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover}.image-placeholder{width:90px;height:90px;border-radius:24px;background:var(--accent);display:grid;place-items:center;color:white;font-size:1.7rem;font-weight:900;box-shadow:0 15px 35px #0002}.product-body{padding:17px}.product-body h3{font-size:1.08rem;margin:11px 0 5px}.product-body p{color:var(--muted);font-size:.83rem}.sku-base{font-family:monospace;font-weight:900;color:var(--accent);letter-spacing:.05em}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.chips span{font-size:.72rem;padding:6px 8px;background:#f3f0eb;border-radius:20px;color:#55504b}.product-foot{border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;align-items:center}
.inventory-group{padding:0;overflow:hidden}.inventory-product{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.inventory-product h2{margin:5px 0}.inventory-product p{margin:0;color:var(--muted)}.inventory-total{text-align:right}.inventory-total span,.inventory-total small,.inventory-total strong{display:block}.inventory-total span,.inventory-total small{color:var(--muted);font-size:.72rem}.inventory-total strong{font-size:1.8rem}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:650px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.71rem;text-transform:uppercase;letter-spacing:.07em;color:#716b65;background:#faf8f5}td{font-size:.85rem}tbody tr:last-child td{border-bottom:0}tr.highlight{background:#fff7d9}.barcode-button{border:0;background:#f0ece6;color:var(--accent);border-radius:8px;padding:8px 10px;font-weight:800}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.7rem;font-weight:850}.badge.success{background:#e5f5ec;color:#236647}.badge.warning{background:#fff0cf;color:#8a5b10}.badge.danger{background:#fee8e5;color:#922c25}.badge.info{background:#e5f0ff;color:#2d5e9b}.badge.neutral{background:#eeeae5;color:#625d58}
.tabs{display:flex;gap:8px;margin-bottom:16px;overflow:auto}.tabs button{border:1px solid var(--line);background:#fff;padding:10px 15px;border-radius:10px;font-weight:760;white-space:nowrap}.tabs button.active{background:var(--accent);border-color:var(--accent);color:white}.tab-panel{display:none}.tab-panel.active{display:block}.scan-feedback{padding:12px;border-radius:10px;background:#f7f4ef;color:var(--muted);margin:12px 0}.camera-area{margin:15px 0;padding:12px;background:#111;border-radius:14px;text-align:center}.camera-area video{width:100%;max-height:380px;object-fit:cover;border-radius:10px}.camera-area .button{margin-top:10px}.import-result{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.empty{text-align:center;padding:42px 20px;color:var(--muted)}.empty h3{color:var(--ink)}.empty-icon{width:50px;height:50px;border-radius:15px;background:#f0ebe5;color:var(--accent);display:grid;place-items:center;margin:0 auto 12px;font-size:1.4rem}
.user-list,.ticket-list{display:grid}.user-row,.ticket-list>a{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}.user-row:last-child,.ticket-list>a:last-child{border-bottom:0}.user-row>div:first-child strong,.user-row>div:first-child span,.ticket-list>a div strong,.ticket-list>a div span{display:block}.user-row span,.ticket-list span{font-size:.77rem;color:var(--muted);margin-top:4px}.user-row>div:last-child{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.ticket-list>a{color:var(--ink)}.ticket-list>a:hover strong{color:var(--accent)}.details{display:grid;grid-template-columns:160px 1fr;gap:10px 15px}.details dt{color:var(--muted)}.details dd{margin:0;font-weight:700}.message{padding:15px;border-radius:12px;margin:13px 0;background:#f6f2ed}.message.support{background:#eaf2fd}.message.client{background:#f4efe9}.message.original{border:1px solid var(--line);background:#fff}.message p{margin:7px 0}.message small{color:var(--muted)}.context-strip{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 18px;margin-bottom:16px;display:flex;justify-content:space-between}.status-card{margin-top:18px;padding:15px;border:1px solid var(--line);border-radius:11px}.status-card p{margin:10px 0}.public-body{background:#171923}.public-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.public-visual{padding:45px;position:relative;color:white;background:radial-gradient(circle at 80% 20%,rgba(189,93,68,.42),transparent 36%),linear-gradient(145deg,#171923,#222530);display:flex;flex-direction:column}.public-copy{margin:auto 0;max-width:680px}.public-copy h1{font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,5.2rem);line-height:1.02;margin-bottom:20px}.public-copy p{font-size:1.08rem;line-height:1.7;color:rgba(255,255,255,.68);max-width:600px}.public-panel{background:var(--bg);display:grid;place-items:center;padding:30px}.public-card{background:#fff;border:1px solid var(--line);box-shadow:0 30px 80px #0002;border-radius:22px;padding:30px;width:min(560px,100%)}.public-card h2{font-size:1.65rem}.public-links{display:flex;justify-content:space-between;margin-top:18px;font-weight:720}.support-link{text-align:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:.78rem}.brand.light{color:#fff}.brand.light .brand-mark{box-shadow:0 15px 30px #0003}
.modal-backdrop{position:fixed;inset:0;background:rgba(15,16,20,.68);display:grid;place-items:center;padding:20px;z-index:100}.modal{background:#fff;border-radius:18px;width:min(650px,100%);max-height:92vh;overflow:auto;box-shadow:0 30px 90px #0004}.modal-head,.modal-foot{padding:16px 20px;display:flex;align-items:center;gap:12px}.modal-head{border-bottom:1px solid var(--line)}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end}.modal-body{padding:22px}.modal-head h3{margin:0}.barcode-preview{border:1px dashed #cfc7be;border-radius:12px;padding:20px;background:white;display:grid;place-items:center;margin:15px 0}.barcode-preview svg{width:5cm;max-width:100%;height:3cm}.barcode-meta{text-align:center}.barcode-meta strong,.barcode-meta span{display:block}.barcode-meta span{color:var(--muted);margin-top:5px}.reset-form{display:grid;gap:12px}
@media(max-width:1150px){.metrics{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.size-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-275px;transition:.2s;width:255px}.sidebar.open{left:0}.mobile-menu{display:inline-flex}.topbar{padding:17px 18px}.content{padding:20px 16px 45px}.grid-two{grid-template-columns:1fr}.public-shell{grid-template-columns:1fr}.public-visual{display:none}.public-panel{min-height:100vh}.form-grid.three{grid-template-columns:1fr 1fr}.span-3{grid-column:1/-1}.product-grid{grid-template-columns:1fr 1fr}.size-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:570px){.metrics,.metrics.mini,.quick-grid,.form-grid.two,.two-cols,.form-grid.three,.product-grid{grid-template-columns:1fr}.span-2,.span-3{grid-column:1}.toolbar{align-items:stretch;flex-direction:column}.search-form{max-width:none}.top-actions{display:none}.size-grid{grid-template-columns:repeat(2,1fr)}.public-panel{padding:14px}.public-card{padding:22px}.inventory-product{align-items:flex-start}.context-strip{flex-direction:column;gap:7px}.check-list{grid-template-columns:1fr}.details{grid-template-columns:1fr}}


/* Cámara y lector compatible con iPhone/Safari */
.camera-viewport{position:relative;overflow:hidden;border-radius:12px;background:#000;aspect-ratio:4/3}
.camera-area video{display:block;width:100%;height:100%;max-height:none;object-fit:cover;background:#000;border-radius:0}
.camera-guide{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.camera-guide span{position:relative;display:block;width:min(82%,460px);height:34%;border:3px solid rgba(255,255,255,.92);border-radius:14px;box-shadow:0 0 0 999px rgba(0,0,0,.2),0 0 24px rgba(0,0,0,.28)}
.camera-guide span::before,.camera-guide span::after{content:'';position:absolute;left:20%;right:20%;height:2px;background:rgba(255,72,72,.92);box-shadow:0 0 10px rgba(255,72,72,.8)}
.camera-guide span::before{top:50%}.camera-guide span::after{display:none}
.camera-status{margin-top:10px;padding:9px 12px;border-radius:9px;background:rgba(255,255,255,.12);color:#fff;font-size:.9rem;text-align:center}
@media(max-width:570px){.camera-area{margin-left:-4px;margin-right:-4px;padding:9px}.camera-viewport{aspect-ratio:3/4}.camera-guide span{width:90%;height:28%}}


/* Búsqueda por escáner y vista comprimible de inventario */
.warehouse-search-block{margin-bottom:18px}.warehouse-search-toolbar{margin-bottom:8px}.warehouse-search-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.warehouse-search-help{margin:0}.warehouse-camera-area{max-width:720px;margin:12px 0 0}.catalog-actions{display:flex;justify-content:flex-end;margin:-4px 0 16px}
.inventory-accordion{padding:0;overflow:hidden}.inventory-accordion>summary{list-style:none;cursor:pointer;user-select:none}.inventory-accordion>summary::-webkit-details-marker{display:none}.inventory-accordion .inventory-product{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:18px;align-items:center;border-bottom:0}.inventory-accordion[open] .inventory-product{border-bottom:1px solid var(--line)}
.inventory-thumb{width:86px;height:86px;border-radius:13px;overflow:hidden;background:#ebe4dc;display:grid;place-items:center}.inventory-thumb img{width:100%;height:100%;object-fit:cover}.image-placeholder.small{width:52px;height:52px;border-radius:14px;font-size:1rem}.inventory-summary-main{min-width:0}.inventory-title-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.inventory-summary-main h2{margin:6px 0 8px}.inventory-summary-meta{display:flex;gap:7px 16px;flex-wrap:wrap;color:var(--muted);font-size:.79rem}.inventory-summary-meta b{color:#514c47}.inventory-summary-side{display:flex;gap:18px;align-items:center}.inventory-chevron{width:34px;height:34px;border-radius:50%;background:#f2eee8;display:grid;place-items:center;font-size:1.25rem;transition:transform .18s ease;color:var(--accent)}.inventory-accordion[open] .inventory-chevron{transform:rotate(180deg)}.inventory-variants{background:#fff}.inventory-description{padding:16px 22px;margin:0;color:var(--muted);border-bottom:1px solid var(--line);line-height:1.55}
@media(max-width:850px){.warehouse-search-toolbar{align-items:stretch;flex-direction:column}.warehouse-search-actions{justify-content:flex-start}.inventory-accordion .inventory-product{grid-template-columns:72px minmax(0,1fr) auto;gap:13px}.inventory-thumb{width:72px;height:72px}.inventory-summary-meta{gap:5px 12px}.inventory-summary-side{gap:10px}}
@media(max-width:570px){.warehouse-search-actions .button{flex:1}.catalog-actions .button{width:100%}.inventory-accordion .inventory-product{grid-template-columns:62px minmax(0,1fr);padding:15px}.inventory-thumb{width:62px;height:62px}.inventory-summary-side{grid-column:1/-1;width:100%;justify-content:space-between;border-top:1px dashed var(--line);padding-top:10px}.inventory-total{text-align:left;display:flex;align-items:baseline;gap:6px}.inventory-total span,.inventory-total small,.inventory-total strong{display:inline}.inventory-total strong{font-size:1.35rem}.inventory-summary-meta{display:grid;grid-template-columns:1fr 1fr}.inventory-description{padding:14px 15px}}

/* Actualización V1.3 · Caja y edición de inventario */
.size-item .size-details{display:none;gap:8px;margin-top:8px}
.size-item.selected .size-details{display:grid}
.size-item .size-details .quantity-box{display:grid;margin-top:0}
.warehouse-card{height:auto}
.warehouse-edit-panel{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.warehouse-edit-panel>summary{cursor:pointer;font-weight:850;color:var(--accent);list-style:none;display:flex;align-items:center;justify-content:space-between}
.warehouse-edit-panel>summary::-webkit-details-marker{display:none}
.warehouse-edit-panel>summary::after{content:'⌄';font-size:1.1rem;transition:transform .18s ease}
.warehouse-edit-panel[open]>summary::after{transform:rotate(180deg)}
.warehouse-edit-table{min-width:820px;margin-top:12px}
.compact-input{min-width:92px;padding:8px 9px;border-radius:8px}
.box-input{min-width:135px}
.scanner-apply-form{display:grid;grid-template-columns:minmax(220px,380px) 1fr;gap:14px;align-items:end;margin-top:16px}
.scanner-apply-form .actions{justify-content:flex-end}
@media(max-width:760px){.scanner-apply-form{grid-template-columns:1fr}.scanner-apply-form .actions{justify-content:stretch}.scanner-apply-form .actions .button{flex:1}.size-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Actualización V1.5 · Edición modal de inventario y SKU por marca */
body.modal-open{overflow:hidden}
.product-foot-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.product-foot-actions>a{font-weight:800}
.modal.modal-wide{width:min(1120px,100%)}
.modal.modal-wide .modal-body{padding:0}
.inventory-edit-form{display:grid;gap:0}
.inventory-edit-product-head{display:grid;grid-template-columns:76px minmax(0,1fr);gap:15px;align-items:center;padding:20px 22px 16px;border-bottom:1px solid var(--line);background:#faf8f5}
.inventory-edit-product-head h3{margin:5px 0 4px;font-size:1.25rem}
.inventory-edit-product-head p{margin:0;color:var(--muted);font-size:.84rem}
.inventory-edit-thumb{width:76px;height:76px;border-radius:13px;overflow:hidden;background:#ebe4dc;display:grid;place-items:center}
.inventory-edit-thumb img{width:100%;height:100%;object-fit:cover}
.inventory-edit-help{padding:12px 22px;background:#f5efe9;color:#665e57;font-size:.82rem;border-bottom:1px solid var(--line)}
.inventory-edit-table-wrap{max-height:52vh;overflow:auto}
.inventory-edit-table{min-width:900px;margin:0}
.inventory-edit-table thead th{position:sticky;top:0;z-index:2;background:#fff8f3;box-shadow:0 1px 0 var(--line)}
.inventory-edit-table td,.inventory-edit-table th{vertical-align:middle}
.inventory-edit-table .compact-input{width:125px;min-width:110px}
.inventory-edit-table .location-input{width:190px;min-width:160px;text-transform:uppercase}
.inventory-edit-notes{display:grid;gap:7px;padding:16px 22px;border-top:1px solid var(--line)}
.inventory-edit-notes textarea{width:100%;resize:vertical}
.inventory-edit-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:15px 22px;border-top:1px solid var(--line);background:#fff;box-shadow:0 -12px 28px rgba(18,18,22,.06)}
@media(max-width:700px){.modal-backdrop{padding:8px}.modal.modal-wide{max-height:97vh;border-radius:14px}.inventory-edit-product-head{grid-template-columns:60px minmax(0,1fr);padding:15px}.inventory-edit-thumb{width:60px;height:60px}.inventory-edit-help{padding:11px 15px}.inventory-edit-notes{padding:14px 15px}.inventory-edit-actions{padding:12px 15px}.inventory-edit-actions .button{flex:1}.product-foot{align-items:flex-start;gap:10px}.product-foot-actions{justify-content:flex-end}}


/* V1.6 · Ventas */
.dashboard-section{display:grid;gap:18px;margin-bottom:28px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading h2{margin:2px 0 0;font-size:1.45rem}.sales-metrics .metric strong{font-size:1.7rem}.dashboard-sales-grid{align-items:stretch}.monthly-sales-chart{display:grid;grid-template-columns:repeat(12,minmax(42px,1fr));gap:10px;align-items:end;height:300px;padding:18px 8px 4px;overflow-x:auto}.monthly-sales-column{min-width:42px;height:100%;display:grid;grid-template-rows:30px 1fr 24px;gap:5px;text-align:center}.monthly-sales-value{font-size:.68rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monthly-sales-track{height:100%;min-height:160px;background: #f7f4ef;border-radius:10px 10px 4px 4px;display:flex;align-items:flex-end;overflow:hidden}.monthly-sales-bar{width:100%;min-height:4px;background:var(--accent);border-radius:10px 10px 3px 3px;transition:height .25s ease}.monthly-sales-column>span{font-size:.72rem;color:var(--muted);white-space:nowrap}.sales-layout{display:grid;gap:20px}.sales-register-panel{display:grid;gap:18px}.sales-scan-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.sales-selector-row{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:12px;align-items:end;padding:16px;border:1px solid var(--line);border-radius:14px;background: #f7f4ef}.sales-selector-row label{margin:0}.sales-cart-table td{vertical-align:middle}.sale-quantity-input{width:82px;min-width:82px}.sales-total-row{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--line)}.sales-total-row>div{display:grid;gap:2px;min-width:105px}.sales-total-row span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.sales-total-row strong{font-size:1.35rem}.sales-history-panel{margin-top:22px}.sale-items-summary{min-width:240px;max-width:520px;white-space:normal}.sales-history-table td:last-child{white-space:nowrap}.sales-history-table code{white-space:nowrap}
@media(max-width:900px){.monthly-sales-chart{grid-template-columns:repeat(12,54px)}.sales-selector-row{grid-template-columns:1fr 110px}.sales-selector-row .button{grid-column:1/-1}.sales-scan-form{grid-template-columns:1fr}.sales-total-row{justify-content:stretch}.sales-total-row .button{flex:1}}
@media(max-width:600px){.section-heading{align-items:flex-start;flex-direction:column}.section-heading .button{width:100%}.sales-selector-row{grid-template-columns:1fr}.sales-total-row>div{flex:1}.monthly-sales-chart{height:260px}.sales-cart-table{min-width:760px}}

/* V1.7 · Usuarios, perfiles individuales y Nexo Ventas */
.button.danger-outline{background:#fff;color:var(--danger);border-color:#e7b7b3}.button.danger-outline:hover{background:#fff1ef;border-color:var(--danger)}
.profile-layout{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:20px;align-items:start}.profile-preview-panel{text-align:center;position:sticky;top:116px}.profile-avatar{width:96px;height:96px;border-radius:28px;margin:0 auto 16px;display:grid;place-items:center;color:#fff;font-size:2rem;font-weight:900;box-shadow:0 14px 32px color-mix(in srgb,var(--accent) 30%,transparent)}.profile-company{display:inline-flex;margin:8px 0 18px;padding:7px 11px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,white);color:var(--accent);font-weight:800}.profile-color-input{height:52px;padding:5px;cursor:pointer}.color-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.color-preset{display:grid;place-items:center;gap:5px;padding:9px;border:1px solid var(--line);border-radius:11px;cursor:pointer;background:#fff}.color-preset input{position:absolute;opacity:0;pointer-events:none}.color-preset span{width:34px;height:34px;border-radius:50%;box-shadow:inset 0 0 0 2px #fff,0 0 0 1px #d7d0c8}.color-preset small{font-size:.68rem}.color-preset:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,white)}
.enhanced-user-list{gap:0}.user-management-row{align-items:flex-start}.user-identity{display:flex;align-items:center;gap:10px;min-width:210px}.user-color-dot{width:14px;height:14px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 3px #f2eee8}.user-management-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.role-update-form{display:inline-flex;align-items:center;gap:7px}.role-update-form select{width:auto;min-width:175px;padding:7px 9px;font-size:.78rem}.users-layout{grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr)}
@media(max-width:1050px){.users-layout,.support-company-layout{grid-template-columns:1fr}.profile-layout{grid-template-columns:1fr}.profile-preview-panel{position:static}.user-management-row{display:grid}.user-management-actions{justify-content:flex-start}}
@media(max-width:620px){.top-actions{display:none}.color-presets{grid-template-columns:repeat(3,1fr)}.user-management-actions,.role-update-form{width:100%}.role-update-form select{flex:1;min-width:0}.user-management-actions form.inline{display:flex}.user-management-actions .button{white-space:nowrap}}


/* V1.8 · Menú lateral compacto en escritorio */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.app-shell{transition:grid-template-columns .22s ease}
.sidebar{transition:left .2s ease,padding .22s ease}
.mobile-menu{display:inline-flex;align-items:center;justify-content:center;font-size:1.45rem;line-height:1}
.brand-copy,.nav-label,.user-copy{min-width:0;transition:opacity .14s ease}
.nav-icon{width:19px;min-width:19px;text-align:center;font-size:1.1rem;line-height:1}
.user-card{display:flex;align-items:center;gap:10px}
.user-avatar-mini{width:34px;height:34px;min-width:34px;border-radius:11px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.03em}
.user-copy{min-width:0}.user-copy strong,.user-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(min-width:851px){
  .app-shell.sidebar-collapsed{grid-template-columns:82px minmax(0,1fr)}
  .app-shell.sidebar-collapsed .sidebar{padding-left:12px;padding-right:12px}
  .app-shell.sidebar-collapsed .brand{justify-content:center;gap:0}
  .app-shell.sidebar-collapsed .brand-copy,
  .app-shell.sidebar-collapsed .nav-label,
  .app-shell.sidebar-collapsed .user-copy{display:none}
  .app-shell.sidebar-collapsed .nav-link{justify-content:center;gap:0;padding:12px 10px}
  .app-shell.sidebar-collapsed .nav-link.active{box-shadow:inset 3px 0 var(--accent)}
  .app-shell.sidebar-collapsed .nav-icon{width:auto;min-width:0;font-size:1.2rem}
  .app-shell.sidebar-collapsed .sidebar-foot{padding-top:12px}
  .app-shell.sidebar-collapsed .user-card{justify-content:center;padding:8px 0 12px}
  .app-shell.sidebar-collapsed .user-avatar-mini{width:36px;height:36px;min-width:36px;border-radius:12px}
}

@media(max-width:850px){
  .app-shell.sidebar-collapsed{grid-template-columns:1fr}
  .brand-copy,.nav-label,.user-copy{display:block}
  .nav-link{justify-content:flex-start}
}

/* V1.9 · Ajustes de la pantalla de acceso */
.public-login-actions{display:flex;justify-content:center;margin-top:18px}
.button.access-recovery-button{width:auto;min-width:175px;padding:9px 18px;font-size:.86rem;border-radius:9px}
.public-register-action{margin:12px 0 0}
@media(max-width:570px){.button.access-recovery-button{min-width:160px;max-width:78%}}

/* V1.10 · Botón Atrás y diferenciación del control del menú */
.topbar-start{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.topbar-title{min-width:0}.topbar-title h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.back-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:800;white-space:nowrap;box-shadow:0 4px 14px rgba(35,28,23,.04);transition:.18s}
.back-button:hover{border-color:#cfc6bc;background:#faf8f5;transform:translateX(-1px)}
.back-arrow{font-size:1.15rem;line-height:1;font-weight:900}
.mobile-menu [data-sidebar-icon]{display:block;width:22px;text-align:center;font-family:Arial,sans-serif;font-size:1.25rem;font-weight:800;line-height:1}
@media(max-width:850px){.topbar-start{gap:9px}.back-button{min-height:40px;padding:8px 12px}.topbar-title h1{font-size:1.5rem}}
@media(max-width:570px){.topbar{align-items:flex-start}.topbar-start{display:grid;grid-template-columns:auto auto minmax(0,1fr);width:100%}.back-button{padding:8px 10px}.topbar-title{align-self:center}.topbar-title .eyebrow{font-size:.68rem}.topbar-title h1{font-size:1.25rem}}

/* V1.11 · Cancelación de ventas, eliminación segura de SKU y logo navegable */
.brand-link{color:#fff;text-decoration:none}.brand-link:hover{color:#fff}.brand-link:focus-visible{outline:2px solid #fff;outline-offset:5px;border-radius:14px}
.button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.button.danger:hover{filter:brightness(.92)}.button.danger:disabled{opacity:.45;cursor:not-allowed;filter:none}
.modal.modal-medium{width:min(680px,100%)}.modal-inline-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.sale-cancelled-row{background:#fff8f7;color:#716b65}.sale-cancelled-row code,.sale-cancelled-row strong{opacity:.75}.sale-cancel-note{display:block;max-width:220px;margin-top:6px;font-size:.7rem;color:var(--danger);line-height:1.35}.cancel-sale-summary{padding:14px 16px;border:1px solid #efcbc7;border-radius:12px;background:#fff5f3;margin-bottom:16px}.cancel-sale-summary p:last-child{margin-bottom:0}
.inventory-detail-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 0}.inventory-detail-toolbar .inventory-description{margin:0}.sku-delete-warning{padding:14px 16px;border-radius:12px;background:#fff6e5;border:1px solid #ead09e;color:#754b0a;margin-bottom:16px}.sku-delete-warning p{margin:5px 0 0}.sku-delete-list{display:grid;gap:9px;max-height:430px;overflow:auto;padding-right:4px}.sku-delete-row{display:grid;grid-template-columns:auto 22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer}.sku-delete-row:hover{border-color:var(--accent)}.sku-delete-row input{width:18px;height:18px;margin:0}.sku-delete-row small{display:block;margin-top:3px;color:var(--muted);font-weight:500}.sku-delete-row.disabled{opacity:.55;cursor:not-allowed;background:#f6f3ef}.sku-delete-stock{font-weight:800;white-space:nowrap}.sku-delete-selected{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:10px 12px;border-radius:10px;background:#f5f1ec}.sku-delete-selected strong{font-size:1.15rem;color:var(--accent)}
@media(max-width:700px){.inventory-detail-toolbar{align-items:stretch;flex-direction:column}.inventory-detail-toolbar .button{width:100%}.modal-inline-actions{flex-direction:column-reverse}.modal-inline-actions .button{width:100%}.sku-delete-row{grid-template-columns:auto minmax(0,1fr) auto}.sku-delete-check{display:none}}

/* V1.12 · Producto sin existencias */
.inventory-thumb-inactive img{
  filter:grayscale(1);
  opacity:.78;
  transition:filter .2s ease,opacity .2s ease;
}
.inventory-thumb-inactive .image-placeholder{
  filter:grayscale(1);
  opacity:.72;
}
.inventory-all-inactive .inventory-product{
  background:linear-gradient(90deg,rgba(20,20,20,.025),transparent 55%);
}

/* Nexo Ventas V1.13 · filtros, componentes y defectuosos */
.inventory-filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.inventory-filter-button{display:flex;align-items:center;gap:10px;text-decoration:none;border:1px solid var(--line,#e6e7eb);background:#fff;color:inherit;border-radius:12px;padding:9px 13px;font-weight:700;box-shadow:0 1px 2px rgba(18,24,40,.04)}.inventory-filter-button strong{min-width:26px;text-align:center;padding:2px 7px;border-radius:999px;background:#f1f3f6;font-size:.78rem}.inventory-filter-button.active{border-color:var(--accent,#BD5D44);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent,#BD5D44) 18%,transparent);color:var(--accent,#BD5D44)}.inventory-filter-button.active strong{background:color-mix(in srgb,var(--accent,#BD5D44) 12%,#fff)}
.component-label{display:inline-flex;align-items:center;border-radius:999px;background:#eef2f7;padding:4px 8px;font-size:.78rem;font-weight:700;white-space:nowrap}.component-label.defective{background:#fff0df;color:#934b00}.defective-note{display:block;margin-top:4px;color:#9a5a12}.defective-row{background:rgba(246,157,65,.05)}.warning-outline{border-color:#d88632!important;color:#9a5a12!important;background:#fff!important}.button.warning{background:#c97827;color:#fff;border-color:#c97827}.defective-source-card{display:grid;gap:5px;padding:14px;border:1px solid #eee4d7;background:#fffaf3;border-radius:12px;margin-bottom:16px}.defective-source-card code{font-weight:800}.defective-preview{padding:12px 14px;border-radius:10px;background:#f6f7f9;color:#565b65;margin-top:14px}.component-family-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:14px}.component-family-head h3{margin:4px 0 0}.component-existing{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.component-existing span{padding:5px 8px;background:#f1f3f6;border-radius:8px;font-size:.78rem}.component-rule{padding:11px 13px;background:#f7f4ef;border-radius:10px;margin:10px 0 16px}.component-size-list{display:grid;gap:8px;margin:10px 0 16px}.component-size-row{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(90px,.5fr) minmax(160px,1fr);gap:10px;align-items:end;padding:10px 12px;border:1px solid #e7e8ec;border-radius:10px}.component-size-row label{margin:0}.component-size-row input[type=number],.component-size-row input[type=text]{width:100%}.modal-wide .component-size-list{max-height:44vh;overflow:auto;padding-right:4px}
@media(max-width:760px){.inventory-filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-filter-button{justify-content:space-between}.component-family-head{display:block}.component-existing{justify-content:flex-start;margin-top:10px}.component-size-row{grid-template-columns:1fr}.inventory-variants table{min-width:940px}}


/* Nexo Ventas V1.15.3 · Gestión de SKU desde Inventario */
.sku-management-intro{padding:14px 16px;border:1px solid var(--line,#e7e2dc);border-radius:14px;background:var(--soft,#faf8f5);margin-bottom:16px}
.sku-management-intro strong{display:block;font-size:1rem;margin-bottom:4px}
.sku-management-intro p{margin:0;color:var(--muted,#777);line-height:1.45}
.sku-management-table-wrap{overflow:auto;border:1px solid var(--line,#e7e2dc);border-radius:14px;margin-bottom:16px}
.sku-management-table{min-width:980px;margin:0}
.sku-management-table td{vertical-align:middle}
.sku-management-table input[type="text"],.sku-management-table input[type="number"]{min-width:120px;width:100%;padding:10px 11px}
.sku-management-table input[name^="component_name"]{min-width:170px}
.field-readonly{display:inline-flex;align-items:center;min-height:40px;padding:8px 10px;border-radius:10px;background:#f4f1ed;color:#4b5563;font-weight:650}
.button.danger-outline{border-color:#efb0b0;color:#b42318;background:#fff}
.button.danger-outline:hover{background:#fff1f1;border-color:#d92d20}
.modal{position:relative}
.confirm-layer{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:22px;background:rgba(15,18,25,.55);border-radius:inherit}
.confirm-card{width:min(520px,100%);background:#fff;border-radius:20px;padding:26px;box-shadow:0 24px 70px rgba(0,0,0,.28);text-align:center}
.confirm-card h3{margin:10px 0 8px;font-size:1.35rem}
.confirm-card p{margin:8px 0;color:#5f6368;line-height:1.5}
.confirm-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:0 auto;background:#fee4e2;color:#b42318;font-size:1.5rem;font-weight:900}
.confirm-danger-text{padding:12px 14px;border-radius:12px;background:#fff3f2;color:#912018!important;text-align:left}
@media(max-width:720px){.confirm-layer{padding:12px}.confirm-card{padding:20px}.sku-management-table{min-width:820px}}


/* V1.15.4 · Información general en editor de inventario */
.sku-product-general{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:22px;padding:18px;border:1px solid var(--line,#e6e0d9);border-radius:18px;background:#faf9f7;margin:14px 0 20px}
.sku-product-photo{display:flex;flex-direction:column;gap:10px}
.sku-product-photo-preview{width:100%;aspect-ratio:4/3;border-radius:14px;background:#fff;border:1px solid var(--line,#e6e0d9);display:flex;align-items:center;justify-content:center;overflow:hidden}
.sku-product-photo-preview img{width:100%;height:100%;object-fit:contain}
.sku-product-photo label,.sku-product-general-fields label{display:flex;flex-direction:column;gap:7px;font-weight:700}
.sku-product-photo small{color:var(--muted,#777);line-height:1.35}
.sku-product-general-fields{display:grid;gap:14px;align-content:start}
.sku-product-general-fields textarea{resize:vertical;min-height:110px}
@media(max-width:760px){.sku-product-general{grid-template-columns:1fr}.sku-product-photo-preview{max-height:240px}}


/* Nexo Ventas V1.15.5 · limpieza de Almacén y espaciado de acciones */
.warehouse-card .product-body{padding:20px 20px 18px}
.warehouse-card .product-body>p{margin-bottom:0}
.warehouse-card .product-foot{margin-top:20px;padding-top:18px;gap:16px;align-items:center}
.product-foot-actions{gap:12px!important;row-gap:10px!important}
.product-foot-actions .button{min-height:38px;padding:9px 13px!important;gap:8px}
.product-foot-actions .button span[aria-hidden="true"]{font-size:1rem;line-height:1}
.button.tiny{min-height:36px;padding:9px 12px;font-size:.79rem}
.inventory-edit-table td,.inventory-edit-table th,.sku-management-table td,.sku-management-table th{padding-top:15px;padding-bottom:15px}
.inventory-edit-actions{padding-top:18px;padding-bottom:18px}
.nav-link{min-height:48px;gap:13px}
.nav-icon{width:30px!important;min-width:30px!important;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.045);font-size:1rem!important}
.nav-link:hover .nav-icon,.nav-link.active .nav-icon{background:rgba(255,255,255,.12)}
@media(max-width:700px){.warehouse-card .product-foot{align-items:stretch;flex-direction:column}.product-foot-actions{width:100%;justify-content:flex-start!important}.product-foot-actions .button{flex:1}.nav-icon{width:30px!important;min-width:30px!important}}


/* Nexo Ventas V1.15.6 · Editor unificado y mayor aire visual */
.action-button{gap:9px!important;white-space:nowrap}
.button-icon{width:25px;height:25px;min-width:25px;border-radius:8px;display:inline-grid;place-items:center;background:#f2efeb;color:var(--accent);font-size:1rem;font-weight:900;line-height:1}
.button.primary .button-icon,.button-icon-on-primary{background:rgba(255,255,255,.18);color:#fff}
.button.ghost:hover .button-icon{background:color-mix(in srgb,var(--accent) 10%,#fff)}

/* Chevron de Inventario: control claro de expandir/contraer */
.inventory-chevron{font-size:0!important;width:42px!important;height:42px!important;min-width:42px;border-radius:13px!important;background:#f5f2ee!important;border:1px solid var(--line);box-shadow:0 2px 8px rgba(30,24,20,.04);position:relative}
.inventory-chevron::before{content:'＋';font-size:1.15rem;font-weight:800;color:var(--accent);line-height:1}
.inventory-accordion[open] .inventory-chevron{transform:none!important;background:color-mix(in srgb,var(--accent) 8%,#fff)!important;border-color:color-mix(in srgb,var(--accent) 25%,var(--line))}
.inventory-accordion[open] .inventory-chevron::before{content:'−'}

/* Modales con más respiración y jerarquía */
.modal-backdrop{padding:28px}
.modal{overflow:hidden;display:flex;flex-direction:column}
.modal.modal-wide{width:min(1180px,calc(100vw - 56px));max-height:calc(100vh - 56px)}
.modal-head{padding:19px 24px;min-height:68px;flex:0 0 auto;background:#fff}
.modal-head h3{font-size:1.15rem;line-height:1.3}
.modal-head .icon-button{width:40px;height:40px;padding:0;border-radius:12px;font-size:1.35rem;background:#f8f6f3}
.modal-head .icon-button:hover{background:#efeae4;border-color:#d5cdc5}
.modal-body{padding:24px 26px;overflow:auto;min-height:0}
.modal.modal-wide .modal-body{padding:24px 28px 0!important}

.sku-management-form{display:grid;gap:0;padding-bottom:4px}
.sku-management-intro{margin:0 0 22px;padding:17px 18px}
.sku-product-general{margin:0 0 24px;padding:22px;gap:26px}
.sku-management-table-wrap{margin:0 0 24px;border-radius:15px}
.sku-management-table th{padding:15px 16px}
.sku-management-table td{padding:17px 16px!important}
.sku-management-table input[type="text"],.sku-management-table input[type="number"]{min-height:43px}
.sku-management-form>label{margin:0 0 22px;padding:0 2px;gap:9px}
.sku-management-form>label textarea{min-height:92px}
.modal-inline-actions{margin:0 -28px;padding:19px 28px 23px;position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 26px rgba(31,25,21,.05);z-index:4}
.modal-inline-actions .button{min-height:44px;padding:11px 18px}

/* Editor limitado (responsable de inventario) con el mismo espaciado visual */
.inventory-edit-product-head{padding:22px 24px 18px}
.inventory-edit-help{padding:14px 24px}
.inventory-edit-table td,.inventory-edit-table th{padding:16px!important}
.inventory-edit-notes{padding:20px 24px;gap:9px}
.inventory-edit-actions{padding:18px 24px 22px;gap:12px}

/* Botones dentro de tablas: separados de bordes y fáciles de pulsar */
.inventory-variants td:last-child,.sku-management-table td:last-child{padding-left:18px!important;padding-right:18px!important}
.barcode-button{min-height:38px;padding:9px 13px;border:1px solid transparent;transition:.16s}
.barcode-button:hover{background:color-mix(in srgb,var(--accent) 10%,#f0ece6);border-color:color-mix(in srgb,var(--accent) 18%,transparent)}
.button.warning-outline,.button.danger-outline{min-height:38px;padding:9px 13px}

/* Tarjetas de Almacén: acciones claramente separadas del divisor */
.warehouse-card .product-foot{padding-top:20px!important;margin-top:22px!important}
.product-foot-actions{gap:10px 12px!important}
.product-foot-actions .action-button{padding:8px 11px!important;min-height:43px}

@media(max-width:760px){
  .modal-backdrop{padding:8px}
  .modal.modal-wide{width:100%;max-height:calc(100vh - 16px);border-radius:16px}
  .modal.modal-wide .modal-body{padding:18px 16px 0!important}
  .modal-head{padding:15px 16px;min-height:60px}
  .sku-product-general{padding:17px;gap:18px}
  .modal-inline-actions{margin:0 -16px;padding:15px 16px 18px;gap:10px}
  .product-foot-actions .action-button{flex:1 1 145px}
}

/* Nexo Ventas V1.16.0 · Reportes de ventas */
.report-toolbar-panel{padding:26px;margin-bottom:18px}
.report-panel-head{align-items:flex-start;gap:20px}
.report-export-button{white-space:nowrap}
.report-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:16px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line,#e9e3dc);align-items:end}
.report-filters label{display:flex;flex-direction:column;gap:8px;font-weight:700;color:#27272a}
.report-filters input,.report-filters select{min-height:46px}
.report-search-filter{grid-column:span 2}
.report-filter-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.report-metrics{margin-bottom:18px}
.report-table-panel{padding:0;overflow:hidden}
.report-table-panel>.panel-head{padding:24px 26px 18px;margin:0;border-bottom:1px solid var(--line,#e9e3dc)}
.report-row-count{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f2efeb;color:#57534e;font-size:.88rem;font-weight:700;white-space:nowrap}
.report-table-wrap{max-height:62vh;overflow:auto}
.report-sales-table{min-width:1680px}
.report-sales-table thead th{position:sticky;top:0;z-index:2;background:#faf8f5;white-space:nowrap}
.report-sales-table td{vertical-align:middle}
.report-sales-table .code-pill{display:inline-flex;padding:6px 9px;border-radius:8px;background:#f3f0ec;border:1px solid #e6dfd7;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.report-row-cancelled{background:rgba(220,38,38,.035)}
.report-row-cancelled td{color:#78716c}
.report-reason{max-width:260px;white-space:normal}
@media(max-width:1050px){.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.report-search-filter{grid-column:span 2}}
@media(max-width:680px){.report-toolbar-panel{padding:20px}.report-panel-head{flex-direction:column}.report-export-button{width:100%;justify-content:center}.report-filters{grid-template-columns:1fr}.report-search-filter{grid-column:auto}.report-filter-actions{display:grid;grid-template-columns:1fr 1fr}.report-table-panel>.panel-head{padding:20px;align-items:flex-start;gap:14px}}



/* =========================================================
   Nexo Ventas V1.16.1 · Scroll independiente del menú lateral
   ========================================================= */
.sidebar{
  overflow:hidden;
  min-height:0;
}
.sidebar>.brand{
  flex:0 0 auto;
}
.sidebar>nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:6px;
  padding-bottom:12px;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.22) transparent;
}
.sidebar>nav::-webkit-scrollbar{
  width:7px;
}
.sidebar>nav::-webkit-scrollbar-track{
  background:transparent;
}
.sidebar>nav::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.18);
  border-radius:999px;
}
.sidebar>nav::-webkit-scrollbar-thumb:hover{
  background:rgba(255,255,255,.30);
}
.sidebar-foot{
  flex:0 0 auto;
  margin-top:12px;
  background:var(--sidebar);
  position:relative;
  z-index:2;
}

/* En escritorio compacto se conserva el mismo comportamiento. */
.app-shell.sidebar-collapsed .sidebar>nav{
  padding-right:0;
}

/* En móvil el menú también puede desplazarse sin perder el cierre de sesión. */
@media(max-width:850px){
  .sidebar{
    height:100dvh;
    max-height:100dvh;
  }
  .sidebar>nav{
    padding-bottom:16px;
  }
}

/* =========================================================
   Nexo Ventas V1.17.0 · Catálogo Digital
   ========================================================= */
.digital-catalog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.digital-catalog-heading h2{margin-bottom:5px}.digital-catalog-heading p{margin:0;color:var(--muted)}.catalog-create-panel{margin-bottom:22px}.digital-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.digital-catalog-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.digital-catalog-cover-thumb{height:245px;background:#ebe7e2;display:grid;place-items:center;overflow:hidden}.digital-catalog-cover-thumb img{width:100%;height:100%;object-fit:cover}.catalog-cover-mini-placeholder{width:130px;height:175px;border:1px dashed #cfc6bd;border-radius:12px;display:grid;place-items:center;color:var(--muted);background:#fff}.digital-catalog-card-body{padding:18px}.digital-catalog-card-body h3{font-size:1.08rem;margin:13px 0 5px}.digital-catalog-card-body p{color:var(--muted);font-size:.82rem;margin-bottom:15px}.digital-catalog-card-actions{display:flex;gap:8px;flex-wrap:wrap}
.catalog-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 15px;margin-bottom:18px;box-shadow:0 8px 22px rgba(35,28,23,.05)}.catalog-editor-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.catalog-editor-shell{display:grid;grid-template-columns:190px minmax(0,1fr) 330px;gap:18px;align-items:start}.catalog-page-rail,.catalog-editor-inspector,.catalog-editor-canvas-panel{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.catalog-page-rail{padding:12px;position:sticky;top:112px;max-height:calc(100vh - 135px);overflow:auto}.catalog-page-thumb{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:9px;align-items:center;padding:10px;border-radius:11px;color:var(--ink);border:1px solid transparent;margin-bottom:7px}.catalog-page-thumb:hover{background:#f7f4f0}.catalog-page-thumb.active{background:color-mix(in srgb,var(--accent) 8%,#fff);border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}.catalog-page-thumb-number{grid-row:1/3;width:32px;height:32px;border-radius:9px;background:#f1ede8;display:grid;place-items:center;font-weight:850;color:var(--accent)}.catalog-page-thumb strong{font-size:.82rem}.catalog-page-thumb small{font-size:.68rem;color:var(--muted)}.catalog-page-rail-add{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.catalog-page-rail-add>strong{display:block;font-size:.78rem;margin-bottom:9px}.catalog-page-rail-add form{margin-bottom:8px}.catalog-template-choice{width:100%;border:1px solid var(--line);background:#faf8f5;border-radius:11px;padding:8px;display:flex;align-items:center;gap:8px;text-align:left}.catalog-template-choice:hover{border-color:var(--accent);background:#fff}.catalog-template-choice>span:last-child{display:grid;gap:2px}.catalog-template-choice b{font-size:.72rem}.catalog-template-choice small{font-size:.61rem;color:var(--muted);line-height:1.2}.catalog-template-mini{width:48px;height:31px;display:grid;gap:2px;border:1px solid #ddd4cc;background:#fff;padding:2px;border-radius:5px;flex:none}.catalog-template-mini i{display:block;background:#ded7cf;border-radius:2px}.mini-spread_1{grid-template-columns:1fr}.mini-spread_2{grid-template-columns:1fr 1fr}.mini-spread_3{grid-template-columns:1fr 1fr}.mini-spread_3 i:nth-child(1),.mini-spread_3 i:nth-child(2){grid-column:1}.mini-spread_3 i:nth-child(3){grid-column:2;grid-row:1/3}.mini-spread_4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.catalog-editor-canvas-panel{padding:17px;min-width:0}.catalog-editor-canvas-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}.catalog-editor-canvas-title h2{margin:0}.catalog-spread-label{font-size:.76rem;font-weight:750;color:var(--muted);padding:7px 10px;border-radius:999px;background:#f3f0eb}.catalog-editor-canvas{background:#e9e5df;border-radius:13px;padding:16px;overflow:auto;min-height:520px;display:grid;place-items:center}.catalog-editor-inspector{padding:18px;position:sticky;top:112px;max-height:calc(100vh - 135px);overflow:auto}.catalog-inspector-head{padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid var(--line)}.catalog-inspector-head h3{margin-bottom:5px}.catalog-inspector-head p{color:var(--muted);font-size:.8rem;margin:0;line-height:1.4}.catalog-field-visibility{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:13px;border:1px solid var(--line);border-radius:11px}.catalog-field-visibility>strong{grid-column:1/-1;font-size:.8rem}.catalog-spread-controls{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.catalog-slot-editors{display:grid;gap:12px}.catalog-slot-editor{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#faf8f5}.catalog-slot-editor summary{list-style:none;padding:12px 13px;font-weight:800;cursor:pointer;display:flex;justify-content:space-between;gap:8px}.catalog-slot-editor summary::-webkit-details-marker{display:none}.catalog-slot-editor summary span{font-family:monospace;color:var(--accent);font-size:.73rem}.catalog-slot-editor form{padding:13px;border-top:1px solid var(--line);background:#fff}.catalog-zoom-settings{border:1px solid var(--line);border-radius:11px;padding:12px;display:grid;gap:10px}.catalog-zoom-settings>strong{font-size:.78rem}.catalog-zoom-control{display:grid;gap:8px;padding-top:8px;border-top:1px solid #eee7df}.catalog-zoom-control:first-of-type{border-top:0;padding-top:0}.catalog-zoom-sliders{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.catalog-zoom-sliders label{font-size:.68rem}.catalog-zoom-sliders input[type=range]{padding:0;border:0;box-shadow:none}
/* Superficie editorial: doble página */
.catalog-spread{width:min(100%,1120px);aspect-ratio:14/9;background:#fff;position:relative;display:grid;overflow:hidden;box-shadow:0 16px 42px rgba(0,0,0,.14);font-family:Arial,Helvetica,sans-serif;color:#1d1d22}.catalog-spread.editor-mode{min-width:860px}.catalog-spread.editor-mode .catalog-page-seam{position:absolute;left:50%;top:0;bottom:0;border-left:1px dashed #c5beb6;z-index:8;pointer-events:none}.catalog-spread.public-mode .catalog-page-seam,.catalog-spread.pdf-mode .catalog-page-seam{position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,#ece7e2 10%,#ece7e2 90%,transparent);z-index:8}.catalog-editorial-slot{position:relative;min-width:0;min-height:0;background:#fff;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(150px,.85fr);gap:12px;padding:16px;border:1px solid #f0ece7;overflow:hidden}.catalog-model-frame{min-height:0;border-radius:11px;overflow:hidden;background:#f2eee9;display:grid;place-items:center}.catalog-model-frame>img{width:100%;height:100%;object-fit:cover}.catalog-model-placeholder{display:grid;place-items:center;text-align:center;gap:4px;padding:12px;color:#a09890}.catalog-model-placeholder span{font-weight:800}.catalog-model-placeholder small{font-size:.68rem}.catalog-product-block{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:8px}.catalog-product-photo-wrap{position:relative;min-height:0;display:grid;place-items:center;flex:1;max-height:68%;transition:.2s}.catalog-product-photo{max-width:100%;max-height:100%;object-fit:contain}.catalog-product-photo-wrap.is-monochrome .catalog-product-photo{filter:grayscale(1);opacity:.55}.catalog-product-photo-placeholder{width:78px;height:78px;border-radius:18px;background:#ece7e2;color:#918880;display:grid;place-items:center;font-weight:900}.catalog-product-placeholder{min-height:160px;border:1px dashed #d3cbc3;border-radius:10px;display:grid;place-items:center;text-align:center;color:#918880;padding:14px}.catalog-product-placeholder strong,.catalog-product-placeholder span{display:block}.catalog-product-placeholder span{font-size:.72rem}.catalog-product-info{font-size:.67rem;line-height:1.35;display:grid;gap:2px}.catalog-product-name{font-size:.78rem;margin-bottom:2px}.catalog-public-price{font-size:1rem;color:var(--catalog-accent,var(--accent));font-weight:900;margin-top:3px}.catalog-size.unavailable{text-decoration:line-through;color:#aaa}.catalog-size.available{color:#333}.catalog-soldout-stamp{position:absolute;inset:auto 50% 9px auto;transform:translateX(50%);background:#222;color:#fff;border-radius:999px;padding:5px 9px;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.catalog-zoom{position:absolute;width:52px;height:52px;border-radius:50%;border:3px solid #fff;box-shadow:0 4px 14px #0003;background-repeat:no-repeat;background-color:#fff}.catalog-zoom-1{right:3px;top:6px}.catalog-zoom-2{right:1px;bottom:7px}.catalog-slot-key{position:absolute;top:8px;left:8px;z-index:9;width:25px;height:25px;border-radius:50%;background:var(--catalog-accent,var(--accent));color:#fff;display:grid;place-items:center;font-size:.62rem;font-weight:900;text-transform:uppercase}.catalog-slot-empty{background:#fbfaf8}
.template-spread_1{grid-template-columns:1fr}.template-spread_1 .catalog-editorial-slot{grid-template-columns:1.65fr .75fr;padding:30px}.template-spread_2{grid-template-columns:1fr 1fr}.template-spread_2 .catalog-editorial-slot{grid-template-columns:1fr;grid-template-rows:1.45fr 1fr;padding:14px}.template-spread_2 .catalog-product-block{display:flex;flex-direction:column;align-items:stretch}.template-spread_2 .catalog-product-photo-wrap{max-height:68%}.template-spread_3{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.template-spread_3 .catalog-editorial-slot:nth-child(1){grid-column:1;grid-row:1}.template-spread_3 .catalog-editorial-slot:nth-child(2){grid-column:1;grid-row:2}.template-spread_3 .catalog-editorial-slot:nth-child(3){grid-column:2;grid-row:1/3}.template-spread_3 .catalog-editorial-slot:nth-child(-n+2){grid-template-columns:1fr 1fr;padding:10px}.template-spread_3 .catalog-editorial-slot:nth-child(3){grid-template-columns:1fr;grid-template-rows:1.55fr 1fr;padding:16px}.template-spread_3 .catalog-editorial-slot:nth-child(3) .catalog-product-block{display:flex;flex-direction:column;align-items:stretch}.template-spread_4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.template-spread_4 .catalog-editorial-slot{grid-template-columns:1.15fr .85fr;padding:9px;gap:8px}.template-spread_4 .catalog-product-info{font-size:.59rem}.template-spread_4 .catalog-product-name{font-size:.7rem}.template-spread_4 .catalog-zoom{width:40px;height:40px}
.catalog-cover-stage{width:min(70%,560px);aspect-ratio:7/9;background:#fff;box-shadow:0 16px 42px rgba(0,0,0,.14);overflow:hidden;display:grid;place-items:center;position:relative}.catalog-cover-stage img{width:100%;height:100%;object-fit:cover}.catalog-cover-placeholder{width:100%;height:100%;display:grid;place-items:center;align-content:center;text-align:center;gap:8px;background:linear-gradient(145deg,#f9f7f4,#ece7e1);color:#736c65}.catalog-cover-placeholder span{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--catalog-accent,var(--accent));font-weight:900}.catalog-cover-placeholder strong{font-size:1.45rem;color:#27272a}.catalog-cover-placeholder small{font-size:.75rem}
/* Vista pública y previa */
.catalog-preview-toolbar{display:flex;justify-content:flex-end;gap:10px;margin-bottom:16px}.catalog-public-body{margin:0;background:#111218;color:#fff;min-height:100vh}.catalog-public-shell{max-width:1500px;margin:auto;padding:22px}.catalog-public-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.catalog-public-header h1{color:#fff}.catalog-live-indicator{font-size:.75rem;color:#d7d8dd;border:1px solid #ffffff25;border-radius:999px;padding:8px 11px}.catalog-public-viewer{outline:none}.catalog-view-stage{perspective:1800px;position:relative;min-height:min(72vw,780px);display:grid;place-items:center}.catalog-view-slide{display:none;width:100%;place-items:center;transform-origin:center left}.catalog-view-slide.active{display:grid;animation:catalogPageIn .36s ease both}.catalog-view-slide.turning-next{animation:catalogTurnNext .5s ease both}.catalog-view-slide.turning-prev{animation:catalogTurnPrev .5s ease both}.catalog-public-viewer .catalog-spread{width:min(100%,1280px);box-shadow:0 22px 70px rgba(0,0,0,.42)}.catalog-public-viewer .catalog-cover-stage{width:min(48%,560px);box-shadow:0 22px 70px rgba(0,0,0,.42)}.catalog-view-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:18px;color:#eee}.catalog-view-arrow{width:48px;height:48px;border-radius:50%;border:1px solid #ffffff2b;background:#ffffff12;color:#fff;font-size:1.25rem}.catalog-view-arrow:hover{background:#ffffff22}.catalog-view-arrow:disabled{opacity:.3;cursor:not-allowed}@keyframes catalogPageIn{from{opacity:.25;transform:translateX(18px)}to{opacity:1;transform:none}}@keyframes catalogTurnNext{from{opacity:.45;transform:rotateY(-10deg) translateX(15px)}to{opacity:1;transform:none}}@keyframes catalogTurnPrev{from{opacity:.45;transform:rotateY(10deg) translateX(-15px)}to{opacity:1;transform:none}}
/* PDF */
.catalog-pdf-body{margin:0;background:#e7e3de}.catalog-pdf-toolbar{position:sticky;top:0;z-index:20;background:#171923;color:#fff;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.catalog-pdf-toolbar strong,.catalog-pdf-toolbar span{display:block}.catalog-pdf-toolbar span{font-size:.75rem;color:#b8bac2;margin-top:3px}.catalog-pdf-pages{padding:24px;display:grid;gap:24px;justify-items:center}.catalog-pdf-sheet{width:1400px;height:900px;background:#fff;display:grid;place-items:center;overflow:hidden}.catalog-pdf-sheet .catalog-spread{width:1400px;height:900px;aspect-ratio:auto;box-shadow:none}.catalog-pdf-sheet .catalog-cover-stage{height:900px;width:700px;aspect-ratio:auto;box-shadow:none}
@media(max-width:1200px){.digital-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-editor-shell{grid-template-columns:155px minmax(0,1fr)}.catalog-editor-inspector{grid-column:1/-1;position:static;max-height:none}.catalog-page-rail{top:108px}.catalog-editorial-slot{grid-template-columns:1.45fr .85fr}.catalog-spread.editor-mode{min-width:760px}}
@media(max-width:760px){.digital-catalog-heading,.catalog-editor-toolbar,.catalog-public-header{flex-direction:column;align-items:stretch}.catalog-editor-actions{justify-content:flex-start}.digital-catalog-grid{grid-template-columns:1fr}.catalog-editor-shell{grid-template-columns:1fr}.catalog-page-rail{position:static;max-height:none;display:flex;overflow:auto;gap:8px}.catalog-page-thumb{min-width:145px}.catalog-page-rail-add{min-width:220px;border-top:0;border-left:1px solid var(--line);padding:0 0 0 10px;margin:0}.catalog-editor-canvas-panel{padding:10px}.catalog-editor-canvas{padding:8px;min-height:340px}.catalog-spread.editor-mode{min-width:700px}.catalog-editor-inspector{padding:15px}.catalog-public-shell{padding:12px}.catalog-public-viewer .catalog-spread{width:100%}.catalog-public-viewer .catalog-cover-stage{width:78%}.catalog-view-stage{min-height:72vw}.catalog-live-indicator{text-align:center}.catalog-view-controls{margin-top:12px}}


/* Nexo Ventas V1.17.1 · Editor avanzado de catálogo */
.catalog-fixed-size-note{margin:0 0 16px;padding:12px 15px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent) 5%,#fff);color:var(--muted);font-size:.82rem}.catalog-fixed-size-note strong{color:var(--ink)}
.catalog-spread{aspect-ratio:17/11!important}.catalog-cover-stage{aspect-ratio:8.5/11!important}.catalog-spread.editor-mode{width:1020px;min-width:1020px}.catalog-page-number{position:absolute;bottom:8px;z-index:10;font-size:.62rem;color:#81786f;font-weight:700}.catalog-page-number-left{left:12px}.catalog-page-number-right{right:12px}
.catalog-index-spread{display:block!important;padding:54px 68px;background:#fff}.catalog-index-inner{width:100%;height:100%;padding:26px 34px;display:flex;flex-direction:column}.catalog-index-inner h2{font-size:3rem;margin:6px 0 30px;color:#222}.catalog-index-list{display:grid;grid-template-columns:1fr 1fr;column-gap:58px;row-gap:14px}.catalog-index-entry{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:end;font-size:.9rem}.catalog-index-entry i{border-bottom:1px dotted #aaa;margin-bottom:4px}.catalog-index-entry strong{color:var(--catalog-accent,var(--accent))}.catalog-index-empty{color:#888}
.catalog-chapter-spread{display:grid!important;place-items:center;background:#eee center/cover no-repeat;background-image:var(--chapter-image,linear-gradient(135deg,#f5f1ec,#ded8d0))}.catalog-chapter-spread:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0007,#0002)}.catalog-chapter-overlay{position:relative;z-index:3;color:#fff;text-align:left;width:min(70%,760px);padding:40px}.catalog-chapter-overlay .eyebrow{color:#fff;opacity:.8}.catalog-chapter-overlay h2{font-size:3.4rem;line-height:1;margin:8px 0 14px;color:#fff}.catalog-chapter-overlay p{font-size:1.2rem;max-width:620px}.catalog-index-help,.catalog-image-guidance{padding:12px;border:1px solid var(--line);border-radius:11px;background:#faf8f5}.catalog-index-help p,.catalog-image-guidance span{display:block;color:var(--muted);font-size:.75rem;margin-top:4px}.catalog-add-chapter-form{display:grid;gap:7px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px dashed var(--line)}.catalog-add-chapter-form input{font-size:.73rem;padding:9px 10px}
.catalog-spread-master-form{display:grid;gap:14px}.catalog-slot-form-body{padding:14px;border-top:1px solid var(--line);background:#fff}.catalog-save-bar{position:sticky;bottom:-18px;background:#fff;border-top:1px solid var(--line);padding:14px 2px 2px;display:flex;gap:12px;align-items:center;justify-content:space-between;z-index:4}.catalog-save-bar span{font-size:.76rem;color:var(--muted)}.catalog-save-bar .is-dirty{color:#b45309;font-weight:700}
.catalog-zoom-live-preview{height:120px;border-radius:12px;border:1px solid var(--line);background:#f4f1ed center/cover no-repeat;display:grid;place-items:center;color:#8e857c;font-size:.72rem;overflow:hidden}.catalog-zoom-control{padding:12px;border:1px solid #eee7df!important;border-radius:10px}.catalog-zoom-control+.catalog-zoom-control{margin-top:9px}.catalog-zoom-sliders output{font-weight:800;color:var(--accent);float:right}.catalog-zoom-sliders input[type=range]{width:100%}
.catalog-template-mini.mini-spread_3_b{grid-template-columns:repeat(3,1fr)}.catalog-template-mini.mini-spread_3_c{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.catalog-template-mini.mini-spread_3_c i:nth-child(1){grid-column:1;grid-row:1/3}.catalog-template-mini.mini-spread_3_c i:nth-child(2){grid-column:2;grid-row:1}.catalog-template-mini.mini-spread_3_c i:nth-child(3){grid-column:2;grid-row:2}.catalog-template-mini.mini-spread_4_a,.catalog-template-mini.mini-spread_4_b{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.template-spread_1_a{grid-template-columns:1fr}.template-spread_1_a .catalog-editorial-slot{grid-template-columns:1.7fr .8fr;padding:28px}.template-spread_1_b{grid-template-columns:1fr}.template-spread_1_b .catalog-editorial-slot{grid-template-columns:1fr;grid-template-rows:1.5fr .8fr;padding:24px}.template-spread_1_b .catalog-product-block{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px}.template-spread_2_a{grid-template-columns:1fr 1fr}.template-spread_2_a .catalog-editorial-slot{grid-template-columns:1fr;grid-template-rows:1.5fr 1fr;padding:14px}.template-spread_2_b{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.template-spread_2_b .catalog-editorial-slot{grid-template-columns:1.5fr 1fr;padding:12px}.template-spread_3_a{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.template-spread_3_a .catalog-editorial-slot:nth-child(1){grid-column:1;grid-row:1}.template-spread_3_a .catalog-editorial-slot:nth-child(2){grid-column:1;grid-row:2}.template-spread_3_a .catalog-editorial-slot:nth-child(3){grid-column:2;grid-row:1/3;grid-template-columns:1fr;grid-template-rows:1.55fr 1fr}.template-spread_3_b{grid-template-columns:1fr .5fr .5fr}.template-spread_3_b .catalog-editorial-slot{grid-template-columns:1fr;grid-template-rows:1.55fr 1fr;padding:10px}.template-spread_3_c{grid-template-columns:.5fr .5fr 1fr}.template-spread_3_c .catalog-editorial-slot:nth-child(1),.template-spread_3_c .catalog-editorial-slot:nth-child(2){grid-template-columns:1fr;grid-template-rows:1.55fr 1fr;padding:9px}.template-spread_3_c .catalog-editorial-slot:nth-child(3){grid-template-columns:1fr;grid-template-rows:1.25fr .8fr;padding:12px}.template-spread_3_c .catalog-editorial-slot:nth-child(3) .catalog-model-frame{aspect-ratio:16/9}.template-spread_4_a,.template-spread_4_b{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.template-spread_4_a .catalog-editorial-slot{grid-template-columns:1.1fr .9fr;padding:9px}.template-spread_4_b .catalog-editorial-slot{grid-template-columns:1fr;grid-template-rows:1.45fr 1fr;padding:9px}.template-spread_4_b .catalog-product-info{font-size:.58rem}
.catalog-view-controls>span{display:grid;text-align:center;gap:2px}.catalog-view-controls small{font-size:.65rem;color:#aaa}.catalog-pdf-cover-page{width:816px;height:1056px;background:#fff;display:grid;place-items:center;overflow:hidden}.catalog-pdf-cover-page .catalog-cover-stage{width:816px;height:1056px;aspect-ratio:auto;box-shadow:none}.catalog-pdf-spread-sheet{width:1632px;height:1056px;background:#fff;display:grid;place-items:center;overflow:hidden}.catalog-pdf-spread-sheet .catalog-spread{width:1632px;height:1056px;aspect-ratio:auto;box-shadow:none}.catalog-pdf-spread-sheet .catalog-page-seam{display:none}
@media(max-width:760px){.catalog-fixed-size-note{font-size:.74rem}.catalog-spread.editor-mode{width:900px;min-width:900px}.catalog-index-list{grid-template-columns:1fr}.catalog-save-bar{bottom:-15px}.catalog-zoom-sliders{grid-template-columns:1fr}}


/* Nexo Ventas V1.17.2 · Hojas Carta independientes + tamaño de zoom */
.catalog-spread.template-spread_1,.catalog-spread.template-spread_2,.catalog-spread.template-spread_3,.catalog-spread.template-spread_4,
.catalog-spread.template-spread_1_a,.catalog-spread.template-spread_1_b,.catalog-spread.template-spread_2_a,.catalog-spread.template-spread_2_b,
.catalog-spread.template-spread_3_a,.catalog-spread.template-spread_3_b,.catalog-spread.template-spread_3_c,.catalog-spread.template-spread_4_a,.catalog-spread.template-spread_4_b{
  display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:1fr!important;gap:0!important;background:#ded8d1!important;
}
.catalog-letter-page{position:relative;min-width:0;min-height:0;overflow:hidden;background:#fff;box-sizing:border-box;isolation:isolate}
.catalog-letter-page-left{grid-column:1;grid-row:1;border-right:1px solid #e5dfd8}
.catalog-letter-page-right{grid-column:2;grid-row:1}
.catalog-page-safe{position:absolute;inset:3.1818% 4.1176%;min-width:0;min-height:0;overflow:hidden;display:grid;gap:2.4%;box-sizing:border-box}
.catalog-page-layout-single{grid-template-columns:1fr;grid-template-rows:1fr}
.catalog-page-layout-stack{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr))}
.catalog-page-layout-columns{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr}
.catalog-page-empty{border:1px dashed transparent;min-width:0;min-height:0}
.catalog-page-safe>.catalog-editorial-slot{grid-column:auto!important;grid-row:auto!important;min-width:0!important;min-height:0!important;width:100%!important;height:100%!important;box-sizing:border-box!important;overflow:hidden!important;padding:2.8%!important;gap:2.8%!important;display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr)!important;grid-template-rows:1fr!important}
.catalog-page-layout-stack>.catalog-editorial-slot{grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr)!important}
.catalog-page-layout-columns>.catalog-editorial-slot{grid-template-columns:1fr!important;grid-template-rows:minmax(0,1.38fr) minmax(0,1fr)!important;padding:4%!important}
.catalog-page-layout-columns>.catalog-editorial-slot .catalog-product-block{min-height:0;overflow:hidden}
.catalog-page-layout-columns>.catalog-editorial-slot .catalog-product-photo-wrap{max-height:64%}
.catalog-letter-page .catalog-model-frame,.catalog-letter-page .catalog-product-block,.catalog-letter-page .catalog-product-photo-wrap{min-width:0;min-height:0;overflow:hidden}
.catalog-letter-page .catalog-model-frame>img{max-width:100%;max-height:100%;object-fit:cover}
.catalog-letter-page .catalog-product-photo{max-width:100%;max-height:100%;object-fit:contain}
.catalog-spread.editor-mode .catalog-letter-page::after{content:"Carta 8.5 × 11 in";position:absolute;right:6px;bottom:4px;font-size:8px;color:#b1a79d;letter-spacing:.02em;z-index:20;pointer-events:none}
.catalog-spread.editor-mode .catalog-page-safe{outline:1px dashed rgba(185,171,157,.35);outline-offset:0}
.catalog-spread .catalog-page-seam{left:50%!important}
.catalog-zoom{width:var(--catalog-zoom-size,24%)!important;height:auto!important;aspect-ratio:1/1!important;max-width:70%!important;border-width:clamp(2px,.25vw,4px)!important;box-sizing:border-box}
.catalog-zoom-live-preview{position:relative;width:100%;height:140px;background-size:cover;box-sizing:border-box}
.catalog-zoom-live-preview::after{content:"Tamaño del zoom";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--preview-zoom-size,24%);aspect-ratio:1/1;border-radius:50%;border:3px solid #fff;box-shadow:0 3px 12px #0003;pointer-events:none;min-width:28px}
.catalog-zoom-sliders{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.catalog-zoom-sliders label{padding:8px;border-radius:9px;background:#faf8f5}
.catalog-fixed-size-note strong::after{content:" · Cada imagen queda recortada dentro de su propia hoja y nunca cruza al lado opuesto.";font-weight:500;color:var(--muted)}
@media(max-width:760px){.catalog-spread.editor-mode{width:900px!important;min-width:900px!important}.catalog-zoom-sliders{grid-template-columns:1fr!important}}


/* Nexo Ventas V1.17.2 REGENERADA · Plantillas de referencias */
/* Cada .catalog-letter-page es una hoja Carta independiente. Los porcentajes siguientes viven dentro del área segura de UNA hoja y jamás atraviesan el centro. */
.catalog-spread[class*="template-ref_"]{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:1fr!important;gap:0!important;background:#ded8d1!important}
.catalog-spread[class*="template-ref_"] .catalog-page-layout-reference{display:block!important;position:absolute!important;inset:3.1818% 4.1176%!important;overflow:hidden!important;outline:0!important}
.catalog-spread[class*="template-ref_"] .catalog-page-layout-reference>.catalog-editorial-slot{display:contents!important;padding:0!important;border:0!important;background:transparent!important}
.catalog-spread[class*="template-ref_"] .catalog-model-frame,
.catalog-spread[class*="template-ref_"] .catalog-product-block{position:absolute!important;box-sizing:border-box!important;margin:0!important;min-width:0!important;min-height:0!important;overflow:hidden!important}
.catalog-spread[class*="template-ref_"] .catalog-model-frame{border-radius:1.7%;background:#e9e5e0;z-index:1}
.catalog-spread[class*="template-ref_"] .catalog-model-frame>img{width:100%!important;height:100%!important;object-fit:cover!important}
.catalog-spread[class*="template-ref_"] .catalog-product-block{z-index:2;background:rgba(255,255,255,.98);display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:2%!important;padding:2%!important;border-radius:1.8%!important}
.catalog-spread.editor-mode[class*="template-ref_"] .catalog-product-block{border:1.5px dashed #4f4b47!important}
.catalog-spread.public-mode[class*="template-ref_"] .catalog-product-block,
.catalog-spread.pdf-mode[class*="template-ref_"] .catalog-product-block{border:0!important}
.catalog-spread[class*="template-ref_"] .catalog-product-photo-wrap{flex:1 1 58%!important;max-height:62%!important;min-height:0!important;display:grid!important;place-items:center!important;overflow:hidden!important}
.catalog-spread[class*="template-ref_"] .catalog-product-photo{width:100%!important;height:100%!important;object-fit:contain!important}
.catalog-spread[class*="template-ref_"] .catalog-product-info{flex:0 0 auto!important;font-size:clamp(6px,.56vw,10px)!important;line-height:1.23!important;gap:1px!important;overflow:hidden!important}
.catalog-spread[class*="template-ref_"] .catalog-product-name{font-size:clamp(7px,.65vw,11px)!important;line-height:1.15!important}
.catalog-spread[class*="template-ref_"] .catalog-public-price{font-size:clamp(8px,.78vw,13px)!important;margin-top:1px!important}
.catalog-spread[class*="template-ref_"] .catalog-product-placeholder{height:100%!important;min-height:0!important;border:1px dashed #aaa!important;border-radius:4px!important;padding:5%!important;font-size:.72rem!important}
.catalog-spread[class*="template-ref_"] .catalog-slot-key{display:none!important}
.catalog-spread[class*="template-ref_"] .catalog-zoom{max-width:70%!important;z-index:5!important}

/* REF 2 · Espejo protagonista */
.template-ref_2_mirror .catalog-letter-page-left [data-catalog-preview-slot="p1"] .catalog-model-frame{left:0;top:0;width:46%;height:96%}
.template-ref_2_mirror .catalog-letter-page-left [data-catalog-preview-slot="p1"] .catalog-product-block{left:54%;top:34%;width:42%;height:32%}
.template-ref_2_mirror .catalog-letter-page-right [data-catalog-preview-slot="p2"] .catalog-product-block{left:4%;top:34%;width:42%;height:32%}
.template-ref_2_mirror .catalog-letter-page-right [data-catalog-preview-slot="p2"] .catalog-model-frame{left:54%;top:0;width:46%;height:96%}

/* REF 3A · Dos apilados + vertical protagonista */
.template-ref_3_tall .catalog-letter-page-left [data-catalog-preview-slot="p1"] .catalog-model-frame{left:0;top:0;width:42%;height:43%}
.template-ref_3_tall .catalog-letter-page-left [data-catalog-preview-slot="p1"] .catalog-product-block{left:53%;top:8%;width:43%;height:31%}
.template-ref_3_tall .catalog-letter-page-left [data-catalog-preview-slot="p2"] .catalog-model-frame{left:0;top:53%;width:42%;height:43%}
.template-ref_3_tall .catalog-letter-page-left [data-catalog-preview-slot="p2"] .catalog-product-block{left:53%;top:61%;width:43%;height:31%}
.template-ref_3_tall .catalog-letter-page-right [data-catalog-preview-slot="p3"] .catalog-product-block{left:0;top:34%;width:42%;height:32%}
.template-ref_3_tall .catalog-letter-page-right [data-catalog-preview-slot="p3"] .catalog-model-frame{left:54%;top:0;width:46%;height:96%}

/* REF 3B · Horizontal superior a la derecha */
.template-ref_3_horizontal_top .catalog-letter-page-left [data-catalog-preview-slot="p1"] .catalog-model-frame{left:0;top:0;width:42%;height:43%}
.template-ref_3_horizontal_top .catalog-letter-page-left [data-catalog-preview-slot="p1"] .catalog-product-block{left:53%;top:8%;width:43%;height:31%}
.template-ref_3_horizontal_top .catalog-letter-page-left [data-catalog-preview-slot="p2"] .catalog-model-frame{left:0;top:53%;width:42%;height:43%}
.template-ref_3_horizontal_top .catalog-letter-page-left [data-catalog-preview-slot="p2"] .catalog-product-block{left:53%;top:61%;width:43%;height:31%}
.template-ref_3_horizontal_top .catalog-letter-page-right [data-catalog-preview-slot="p3"] .catalog-model-frame{left:0;top:0;width:100%;height:48%}
.template-ref_3_horizontal_top .catalog-letter-page-right [data-catalog-preview-slot="p3"] .catalog-product-block{left:30%;top:61%;width:43%;height:31%}

/* REF 3C · Alternada izquierda + horizontal inferior derecha */
.template-ref_3_horizontal_bottom .catalog-letter-page-left [data-catalog-preview-slot="p1"] .catalog-model-frame{left:0;top:0;width:42%;height:43%}
.template-ref_3_horizontal_bottom .catalog-letter-page-left [data-catalog-preview-slot="p1"] .catalog-product-block{left:53%;top:8%;width:43%;height:31%}
.template-ref_3_horizontal_bottom .catalog-letter-page-left [data-catalog-preview-slot="p2"] .catalog-product-block{left:0;top:62%;width:43%;height:31%}
.template-ref_3_horizontal_bottom .catalog-letter-page-left [data-catalog-preview-slot="p2"] .catalog-model-frame{left:53%;top:52%;width:43%;height:44%}
.template-ref_3_horizontal_bottom .catalog-letter-page-right [data-catalog-preview-slot="p3"] .catalog-product-block{left:0;top:7%;width:42%;height:31%}
.template-ref_3_horizontal_bottom .catalog-letter-page-right [data-catalog-preview-slot="p3"] .catalog-model-frame{left:0;top:47%;width:100%;height:49%}

/* REF 4A · Modelos al exterior */
.template-ref_4_outside .catalog-letter-page-left [data-catalog-preview-slot="p1"] .catalog-model-frame{left:0;top:0;width:42%;height:43%}
.template-ref_4_outside .catalog-letter-page-left [data-catalog-preview-slot="p1"] .catalog-product-block{left:53%;top:8%;width:43%;height:31%}
.template-ref_4_outside .catalog-letter-page-left [data-catalog-preview-slot="p2"] .catalog-model-frame{left:0;top:53%;width:42%;height:43%}
.template-ref_4_outside .catalog-letter-page-left [data-catalog-preview-slot="p2"] .catalog-product-block{left:53%;top:61%;width:43%;height:31%}
.template-ref_4_outside .catalog-letter-page-right [data-catalog-preview-slot="p3"] .catalog-product-block{left:0;top:8%;width:43%;height:31%}
.template-ref_4_outside .catalog-letter-page-right [data-catalog-preview-slot="p3"] .catalog-model-frame{left:54%;top:0;width:46%;height:43%}
.template-ref_4_outside .catalog-letter-page-right [data-catalog-preview-slot="p4"] .catalog-product-block{left:0;top:61%;width:43%;height:31%}
.template-ref_4_outside .catalog-letter-page-right [data-catalog-preview-slot="p4"] .catalog-model-frame{left:54%;top:53%;width:46%;height:43%}

/* REF 4B · Alternada */
.template-ref_4_alternate .catalog-letter-page-left [data-catalog-preview-slot="p1"] .catalog-product-block{left:0;top:8%;width:43%;height:31%}
.template-ref_4_alternate .catalog-letter-page-left [data-catalog-preview-slot="p1"] .catalog-model-frame{left:54%;top:0;width:46%;height:43%}
.template-ref_4_alternate .catalog-letter-page-left [data-catalog-preview-slot="p2"] .catalog-model-frame{left:0;top:53%;width:42%;height:43%}
.template-ref_4_alternate .catalog-letter-page-left [data-catalog-preview-slot="p2"] .catalog-product-block{left:53%;top:61%;width:43%;height:31%}
.template-ref_4_alternate .catalog-letter-page-right [data-catalog-preview-slot="p3"] .catalog-product-block{left:0;top:8%;width:43%;height:31%}
.template-ref_4_alternate .catalog-letter-page-right [data-catalog-preview-slot="p3"] .catalog-model-frame{left:54%;top:0;width:46%;height:43%}
.template-ref_4_alternate .catalog-letter-page-right [data-catalog-preview-slot="p4"] .catalog-model-frame{left:0;top:53%;width:42%;height:43%}
.template-ref_4_alternate .catalog-letter-page-right [data-catalog-preview-slot="p4"] .catalog-product-block{left:53%;top:61%;width:43%;height:31%}

/* REF 5A · Tres productos izquierda + dos modelos al exterior derecho */
.template-ref_5_outside .catalog-letter-page-left [data-catalog-preview-slot="p1"] .catalog-model-frame{left:0;top:0;width:30%;height:29%}
.template-ref_5_outside .catalog-letter-page-left [data-catalog-preview-slot="p1"] .catalog-product-block{left:38%;top:1%;width:43%;height:29%}
.template-ref_5_outside .catalog-letter-page-left [data-catalog-preview-slot="p2"] .catalog-product-block{left:10%;top:35%;width:43%;height:29%}
.template-ref_5_outside .catalog-letter-page-left [data-catalog-preview-slot="p2"] .catalog-model-frame{left:62%;top:33%;width:30%;height:29%}
.template-ref_5_outside .catalog-letter-page-left [data-catalog-preview-slot="p3"] .catalog-model-frame{left:0;top:67%;width:30%;height:29%}
.template-ref_5_outside .catalog-letter-page-left [data-catalog-preview-slot="p3"] .catalog-product-block{left:38%;top:67%;width:43%;height:29%}
.template-ref_5_outside .catalog-letter-page-right [data-catalog-preview-slot="p4"] .catalog-product-block{left:0;top:8%;width:43%;height:29%}
.template-ref_5_outside .catalog-letter-page-right [data-catalog-preview-slot="p4"] .catalog-model-frame{left:58%;top:0;width:42%;height:45%}
.template-ref_5_outside .catalog-letter-page-right [data-catalog-preview-slot="p5"] .catalog-product-block{left:0;top:61%;width:43%;height:29%}
.template-ref_5_outside .catalog-letter-page-right [data-catalog-preview-slot="p5"] .catalog-model-frame{left:58%;top:51%;width:42%;height:45%}

/* REF 5B · Tres izquierda + alternada derecha */
.template-ref_5_alternate .catalog-letter-page-left [data-catalog-preview-slot="p1"] .catalog-model-frame{left:0;top:0;width:30%;height:29%}
.template-ref_5_alternate .catalog-letter-page-left [data-catalog-preview-slot="p1"] .catalog-product-block{left:38%;top:1%;width:43%;height:29%}
.template-ref_5_alternate .catalog-letter-page-left [data-catalog-preview-slot="p2"] .catalog-product-block{left:10%;top:35%;width:43%;height:29%}
.template-ref_5_alternate .catalog-letter-page-left [data-catalog-preview-slot="p2"] .catalog-model-frame{left:62%;top:33%;width:30%;height:29%}
.template-ref_5_alternate .catalog-letter-page-left [data-catalog-preview-slot="p3"] .catalog-model-frame{left:0;top:67%;width:30%;height:29%}
.template-ref_5_alternate .catalog-letter-page-left [data-catalog-preview-slot="p3"] .catalog-product-block{left:38%;top:67%;width:43%;height:29%}
.template-ref_5_alternate .catalog-letter-page-right [data-catalog-preview-slot="p4"] .catalog-model-frame{left:0;top:0;width:46%;height:45%}
.template-ref_5_alternate .catalog-letter-page-right [data-catalog-preview-slot="p4"] .catalog-product-block{left:55%;top:8%;width:41%;height:29%}
.template-ref_5_alternate .catalog-letter-page-right [data-catalog-preview-slot="p5"] .catalog-product-block{left:0;top:61%;width:41%;height:29%}
.template-ref_5_alternate .catalog-letter-page-right [data-catalog-preview-slot="p5"] .catalog-model-frame{left:55%;top:51%;width:45%;height:45%}

/* Miniaturas del selector: la geometría real se aprecia al crear la doble página. */
.catalog-template-mini[class*="mini-ref_"]{grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;gap:2px}
.catalog-template-mini.mini-ref_2_mirror i{grid-row:1/3}
.catalog-template-mini.mini-ref_3_tall i:nth-child(3){grid-column:2;grid-row:1/3}
.catalog-template-mini.mini-ref_3_horizontal_top i:nth-child(3),.catalog-template-mini.mini-ref_3_horizontal_bottom i:nth-child(3){grid-column:2;grid-row:1/3}
.catalog-template-mini.mini-ref_5_outside,.catalog-template-mini.mini-ref_5_alternate{grid-template-columns:repeat(3,1fr)}


/* Nexo Ventas V1.17.3 · 1 SKU a doble página completa + zoom ampliado */
.catalog-zoom{max-width:70%!important}
.catalog-spread[class*="template-ref_"] .catalog-zoom{max-width:70%!important}
.catalog-zoom-live-preview::after{max-width:70%;max-height:92%}

/* La plantilla de un solo SKU usa las dos hojas Carta completas y nunca cruza el centro. */
.template-spread_1_a .catalog-letter-page-left .catalog-page-safe,
.template-spread_1_a .catalog-letter-page-right .catalog-page-safe,
.template-spread_1 .catalog-letter-page-left .catalog-page-safe,
.template-spread_1 .catalog-letter-page-right .catalog-page-safe,
.template-spread_1_b .catalog-letter-page-left .catalog-page-safe,
.template-spread_1_b .catalog-letter-page-right .catalog-page-safe{display:block!important;position:absolute!important;inset:3.1818% 4.1176%!important;overflow:hidden!important}
.template-spread_1_a .catalog-page-safe>.catalog-editorial-slot,
.template-spread_1 .catalog-page-safe>.catalog-editorial-slot,
.template-spread_1_b .catalog-page-safe>.catalog-editorial-slot{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;padding:0!important;border:0!important;background:transparent!important;overflow:hidden!important}

/* Hoja izquierda: fotografía editorial del modelo a página completa. */
.template-spread_1_a .catalog-letter-page-left .catalog-model-frame,
.template-spread_1 .catalog-letter-page-left .catalog-model-frame,
.template-spread_1_b .catalog-letter-page-left .catalog-model-frame{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border-radius:0!important;background:#e9e5e0!important;overflow:hidden!important}
.template-spread_1_a .catalog-letter-page-left .catalog-model-frame>img,
.template-spread_1 .catalog-letter-page-left .catalog-model-frame>img,
.template-spread_1_b .catalog-letter-page-left .catalog-model-frame>img{width:100%!important;height:100%!important;object-fit:cover!important}
.template-spread_1_a .catalog-letter-page-left .catalog-product-block,
.template-spread_1 .catalog-letter-page-left .catalog-product-block,
.template-spread_1_b .catalog-letter-page-left .catalog-product-block{display:none!important}

/* Hoja derecha: producto + ficha automática usando toda la página. */
.template-spread_1_a .catalog-letter-page-right .catalog-model-frame,
.template-spread_1 .catalog-letter-page-right .catalog-model-frame,
.template-spread_1_b .catalog-letter-page-right .catalog-model-frame{display:none!important}
.template-spread_1_a .catalog-letter-page-right .catalog-product-block,
.template-spread_1 .catalog-letter-page-right .catalog-product-block,
.template-spread_1_b .catalog-letter-page-right .catalog-product-block{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;gap:3.2%!important;padding:5%!important;background:#fff!important;border-radius:0!important;overflow:hidden!important}
.template-spread_1_a .catalog-letter-page-right .catalog-product-photo-wrap,
.template-spread_1 .catalog-letter-page-right .catalog-product-photo-wrap,
.template-spread_1_b .catalog-letter-page-right .catalog-product-photo-wrap{width:100%!important;height:100%!important;max-height:none!important;min-height:0!important;display:grid!important;place-items:center!important;overflow:hidden!important;position:relative!important}
.template-spread_1_a .catalog-letter-page-right .catalog-product-photo,
.template-spread_1 .catalog-letter-page-right .catalog-product-photo,
.template-spread_1_b .catalog-letter-page-right .catalog-product-photo{width:100%!important;height:100%!important;object-fit:contain!important}
.template-spread_1_a .catalog-letter-page-right .catalog-product-info,
.template-spread_1 .catalog-letter-page-right .catalog-product-info,
.template-spread_1_b .catalog-letter-page-right .catalog-product-info{font-size:clamp(10px,.92vw,16px)!important;line-height:1.35!important;padding-top:2%!important}
.template-spread_1_a .catalog-letter-page-right .catalog-product-name,
.template-spread_1 .catalog-letter-page-right .catalog-product-name,
.template-spread_1_b .catalog-letter-page-right .catalog-product-name{font-size:clamp(16px,1.55vw,26px)!important;line-height:1.1!important;margin-bottom:2%!important}
.template-spread_1_a .catalog-letter-page-right .catalog-public-price,
.template-spread_1 .catalog-letter-page-right .catalog-public-price,
.template-spread_1_b .catalog-letter-page-right .catalog-public-price{font-size:clamp(18px,1.8vw,30px)!important;margin-top:2%!important}
.template-spread_1_a .catalog-letter-page-right .catalog-zoom,
.template-spread_1 .catalog-letter-page-right .catalog-zoom,
.template-spread_1_b .catalog-letter-page-right .catalog-zoom{max-width:70%!important}

/* Miniatura del selector: dos páginas, una editorial y una de producto. */
.catalog-template-mini.mini-spread_1_a{grid-template-columns:1fr 1fr!important;grid-template-rows:1fr!important;gap:3px!important}
.catalog-template-mini.mini-spread_1_a i{grid-column:1!important;grid-row:1!important;height:100%!important;background:#aaa!important}
.catalog-template-mini.mini-spread_1_a::after{content:"";display:block;grid-column:2;grid-row:1;border:1px dashed #888;background:linear-gradient(#fff 0 68%,#eee 68% 100%)}


/* Nexo Ventas V1.17.4 · Lienzo libre tipo Canva controlado */
.catalog-free-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}.catalog-free-toolbar>div:first-child{display:grid;gap:2px}.catalog-free-toolbar strong{font-size:.82rem}.catalog-free-toolbar small{font-size:.7rem;color:var(--muted)}.catalog-free-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.catalog-free-toolbar-actions>span{font-size:.7rem;font-weight:750;color:var(--muted);padding:6px 9px;background:#f5f2ee;border-radius:999px}
.catalog-spread.editor-mode .catalog-page-safe{background-image:linear-gradient(to right,rgba(20,94,173,.09) 1px,transparent 1px),linear-gradient(to bottom,rgba(20,94,173,.09) 1px,transparent 1px)!important;background-size:5% 5%!important;background-position:0 0!important}
.catalog-spread.has-free-layout .catalog-page-safe{display:block!important;position:absolute!important;inset:3.1818% 4.1176%!important;overflow:hidden!important}
.catalog-spread.has-free-layout .catalog-editorial-slot{display:contents!important;padding:0!important;border:0!important;background:transparent!important}
.catalog-spread.has-free-layout [data-layout-element]{position:absolute!important;left:var(--lx)!important;top:var(--ly)!important;width:var(--lw)!important;height:var(--lh)!important;right:auto!important;bottom:auto!important;inset:auto!important;margin:0!important;box-sizing:border-box!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;z-index:3!important}
.catalog-spread.has-free-layout [data-layout-hidden="1"]{display:none!important}
.catalog-spread.has-free-layout .catalog-model-frame[data-layout-element]{display:grid!important;border-radius:1.2%!important;overflow:hidden!important;background:#eee9e3!important}
.catalog-spread.has-free-layout .catalog-product-block[data-layout-element]{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;gap:3%!important;padding:3%!important;background:rgba(255,255,255,.98)!important;border-radius:1.2%!important;overflow:hidden!important}
.catalog-spread.has-free-layout .catalog-product-photo-wrap{flex:1 1 auto!important;max-height:68%!important;min-height:0!important;overflow:hidden!important}.catalog-spread.has-free-layout .catalog-product-info{flex:0 0 auto!important;overflow:hidden!important}
.catalog-spread.editor-mode [data-layout-element]{cursor:move;transition:outline-color .12s ease,box-shadow .12s ease}.catalog-spread.editor-mode [data-layout-element]:hover{outline:1.5px dashed color-mix(in srgb,var(--accent) 58%,#fff);outline-offset:1px}.catalog-spread.editor-mode [data-layout-element].is-layout-selected{outline:2px solid var(--accent)!important;outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)!important;z-index:20!important}
.catalog-layout-label{position:absolute;left:0;top:-22px;background:var(--accent);color:#fff;border-radius:5px;padding:3px 6px;font-size:9px;line-height:1.2;font-weight:800;white-space:nowrap;pointer-events:none}.catalog-layout-handle{position:absolute;width:13px;height:13px;background:#fff;border:2px solid var(--accent);border-radius:50%;z-index:30;touch-action:none}.catalog-layout-handle[data-dir="nw"]{left:-7px;top:-7px;cursor:nwse-resize}.catalog-layout-handle[data-dir="ne"]{right:-7px;top:-7px;cursor:nesw-resize}.catalog-layout-handle[data-dir="sw"]{left:-7px;bottom:-7px;cursor:nesw-resize}.catalog-layout-handle[data-dir="se"]{right:-7px;bottom:-7px;cursor:nwse-resize}
.catalog-layout-page-highlight{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent)!important}
@media(max-width:900px){.catalog-free-toolbar{align-items:flex-start;flex-direction:column}.catalog-free-toolbar-actions{justify-content:flex-start}.catalog-layout-handle{width:16px;height:16px}}


/* Nexo Ventas V1.17.4.1 · Corrección de arrastre libre del lienzo */
.catalog-spread.editor-mode.has-free-layout .catalog-letter-page .catalog-page-safe[data-layout-page-surface] [data-layout-element]{
  position:absolute!important;
  left:var(--lx)!important;
  top:var(--ly)!important;
  width:var(--lw)!important;
  height:var(--lh)!important;
  right:auto!important;
  bottom:auto!important;
  inset:auto!important;
  margin:0!important;
  transform:none!important;
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  touch-action:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  cursor:grab!important;
}
.catalog-spread.editor-mode.has-free-layout .catalog-letter-page .catalog-page-safe[data-layout-page-surface] [data-layout-element]:active{cursor:grabbing!important}
.catalog-spread.editor-mode.has-free-layout .catalog-letter-page .catalog-page-safe[data-layout-page-surface] [data-layout-element] *{pointer-events:none}
.catalog-spread.editor-mode.has-free-layout .catalog-letter-page .catalog-page-safe[data-layout-page-surface] [data-layout-element] .catalog-layout-handle{pointer-events:auto!important}
.catalog-spread.editor-mode.has-free-layout .catalog-letter-page .catalog-page-safe[data-layout-page-surface] [data-layout-hidden="1"]{display:none!important}
.catalog-spread.editor-mode.has-free-layout .catalog-letter-page .catalog-page-safe[data-layout-page-surface]{position:absolute!important;overflow:hidden!important}


/* V1.17.4.2 · Alta de producto: tallas ordenadas y campos habilitables */
.size-groups{display:grid;gap:20px;margin-top:14px}
.size-group{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.size-group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 6px;border-bottom:1px solid var(--line)}
.size-group-heading h4{margin:0;font-size:.92rem}
.size-group-heading span{font-size:.72rem;color:var(--muted);font-weight:700}
.size-group .size-grid{align-items:start}
.size-group .size-item{align-self:start}
.size-group .size-item.selected{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}
.size-group .size-details input:enabled{background:#fff;cursor:text;opacity:1}
.size-group .size-details input:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:980px){.size-group .size-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.size-group .size-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.size-group{padding:12px}}

/* =========================================================
   Nexo Ventas V1.18.0 · Catálogo editorial de plantillas fijas
   Gris = foto editorial/modelo · producto = imagen del sistema · ficha = datos automáticos.
   Las posiciones son fijas dentro de cada hoja Carta; solo se escala el contenido de imagen.
   ========================================================= */
.catalog-spread.fixed-catalog-template{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:1fr!important;gap:0!important;background:#ded8d1!important}
.catalog-spread.fixed-catalog-template .catalog-page-safe{display:block!important;position:absolute!important;inset:3.1818% 4.1176%!important;overflow:hidden!important;background-image:none!important;background-color:#fff!important;outline:0!important}
.catalog-spread.fixed-catalog-template .catalog-fixed-model,
.catalog-spread.fixed-catalog-template .catalog-fixed-product,
.catalog-spread.fixed-catalog-template .catalog-fixed-info{position:absolute!important;box-sizing:border-box!important;margin:0!important;min-width:0!important;min-height:0!important;overflow:hidden!important;transform:none!important}
.catalog-spread.fixed-catalog-template .catalog-fixed-model{background:#e9e5e0;border-radius:1.5%;display:grid;place-items:center;z-index:1}
.catalog-spread.fixed-catalog-template.editor-mode .catalog-fixed-model{box-shadow:inset 0 0 0 1px #d9d2ca}
.catalog-spread.fixed-catalog-template .catalog-fixed-model>img{width:100%!important;height:100%!important;object-fit:cover!important;transform:scale(var(--element-scale,1));transform-origin:center;transition:transform .12s ease}
.catalog-spread.fixed-catalog-template .catalog-fixed-product{background:#fff;display:grid!important;place-items:center!important;padding:2%!important;z-index:2}
.catalog-spread.fixed-catalog-template.editor-mode .catalog-fixed-product{background:#fff1ec;box-shadow:inset 0 0 0 1.5px #ff795b}
.catalog-spread.fixed-catalog-template .catalog-fixed-product .catalog-product-photo-wrap{width:100%!important;height:100%!important;max-height:none!important;min-height:0!important;display:grid!important;place-items:center!important;overflow:hidden!important;position:relative!important}
.catalog-spread.fixed-catalog-template .catalog-fixed-product .catalog-product-photo{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;transform:scale(var(--element-scale,1));transform-origin:center;transition:transform .12s ease}
.catalog-spread.fixed-catalog-template .catalog-fixed-product .catalog-product-placeholder{width:100%;height:100%;min-height:0;border:1.5px dashed #d96b50;background:#ff795b;color:#fff;border-radius:0;display:grid;place-items:center;padding:8%;font-size:.66rem}
.catalog-spread.fixed-catalog-template .catalog-fixed-info{z-index:3;background:rgba(255,255,255,.98);padding:2.5%;display:flex;align-items:center}
.catalog-spread.fixed-catalog-template.editor-mode .catalog-fixed-info{border:1.5px dashed #292929}
.catalog-spread.fixed-catalog-template .catalog-fixed-info .catalog-product-info{width:100%;font-size:clamp(6px,.58vw,10px);line-height:1.28;gap:1px}
.catalog-spread.fixed-catalog-template .catalog-fixed-info .catalog-product-name{font-size:clamp(7px,.68vw,12px);line-height:1.15}.catalog-spread.fixed-catalog-template .catalog-fixed-info .catalog-public-price{font-size:clamp(9px,.84vw,14px)}
.catalog-spread.fixed-catalog-template .catalog-info-placeholder{width:100%;height:100%;display:grid;place-items:center;text-align:center;font-size:.65rem;color:#555}
.catalog-spread.fixed-catalog-template .catalog-zoom{z-index:8;max-width:70%!important}
.catalog-spread.fixed-catalog-template .catalog-model-placeholder{font-size:.72rem}.catalog-spread.fixed-catalog-template .catalog-model-placeholder small{font-size:.6rem}

/* 1 producto: modelo a página completa + producto/ficha en página completa */
.template-fixed_1_full .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-model{left:1%;top:1%;width:98%;height:98%}
.template-fixed_1_full .catalog-letter-page-right .fixed-slot-p1.catalog-fixed-product{left:6%;top:5%;width:88%;height:66%}
.template-fixed_1_full .catalog-letter-page-right .fixed-slot-p1.catalog-fixed-info{left:10%;top:75%;width:80%;height:19%}

/* 2 productos · espejo */
.template-fixed_2_mirror .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-model{left:0;top:3%;width:44%;height:91%}
.template-fixed_2_mirror .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-product{left:50%;top:15%;width:46%;height:48%}
.template-fixed_2_mirror .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-info{left:52%;top:68%;width:42%;height:18%}
.template-fixed_2_mirror .catalog-letter-page-right .fixed-slot-p2.catalog-fixed-product{left:4%;top:15%;width:46%;height:48%}
.template-fixed_2_mirror .catalog-letter-page-right .fixed-slot-p2.catalog-fixed-info{left:6%;top:68%;width:42%;height:18%}
.template-fixed_2_mirror .catalog-letter-page-right .fixed-slot-p2.catalog-fixed-model{left:56%;top:3%;width:44%;height:91%}

/* 3 productos · dos izquierda + protagonista derecha */
.template-fixed_3_lr .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-model{left:0;top:2%;width:43%;height:42%}
.template-fixed_3_lr .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-product{left:49%;top:2%;width:47%;height:31%}
.template-fixed_3_lr .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-info{left:51%;top:35%;width:43%;height:10%}
.template-fixed_3_lr .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-model{left:0;top:54%;width:43%;height:42%}
.template-fixed_3_lr .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-product{left:49%;top:54%;width:47%;height:31%}
.template-fixed_3_lr .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-info{left:51%;top:87%;width:43%;height:10%}
.template-fixed_3_lr .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-product{left:1%;top:29%;width:43%;height:43%}
.template-fixed_3_lr .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-info{left:2%;top:75%;width:41%;height:10%}
.template-fixed_3_lr .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-model{left:54%;top:2%;width:46%;height:94%}

/* 3 productos · protagonista izquierda + dos derecha */
.template-fixed_3_rl .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-product{left:0;top:28%;width:42%;height:43%}
.template-fixed_3_rl .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-info{left:1%;top:74%;width:40%;height:10%}
.template-fixed_3_rl .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-model{left:52%;top:2%;width:48%;height:94%}
.template-fixed_3_rl .catalog-letter-page-right .fixed-slot-p2.catalog-fixed-model{left:0;top:2%;width:43%;height:42%}
.template-fixed_3_rl .catalog-letter-page-right .fixed-slot-p2.catalog-fixed-product{left:49%;top:2%;width:47%;height:31%}
.template-fixed_3_rl .catalog-letter-page-right .fixed-slot-p2.catalog-fixed-info{left:51%;top:35%;width:43%;height:10%}
.template-fixed_3_rl .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-model{left:0;top:54%;width:43%;height:42%}
.template-fixed_3_rl .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-product{left:49%;top:54%;width:47%;height:31%}
.template-fixed_3_rl .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-info{left:51%;top:87%;width:43%;height:10%}

/* 3 productos · horizontal destacado derecha */
.template-fixed_3_horizontal_right .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-model{left:0;top:2%;width:43%;height:42%}
.template-fixed_3_horizontal_right .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-product{left:49%;top:2%;width:47%;height:31%}
.template-fixed_3_horizontal_right .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-info{left:51%;top:35%;width:43%;height:10%}
.template-fixed_3_horizontal_right .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-model{left:0;top:54%;width:43%;height:42%}
.template-fixed_3_horizontal_right .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-product{left:49%;top:54%;width:47%;height:31%}
.template-fixed_3_horizontal_right .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-info{left:51%;top:87%;width:43%;height:10%}
.template-fixed_3_horizontal_right .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-model{left:0;top:2%;width:100%;height:47%}
.template-fixed_3_horizontal_right .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-product{left:7%;top:57%;width:54%;height:32%}
.template-fixed_3_horizontal_right .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-info{left:65%;top:64%;width:32%;height:12%}

/* 3 productos · horizontal destacado izquierda */
.template-fixed_3_horizontal_left .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-model{left:0;top:2%;width:100%;height:47%}
.template-fixed_3_horizontal_left .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-product{left:39%;top:57%;width:54%;height:32%}
.template-fixed_3_horizontal_left .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-info{left:3%;top:64%;width:32%;height:12%}
.template-fixed_3_horizontal_left .catalog-letter-page-right .fixed-slot-p2.catalog-fixed-model{left:0;top:2%;width:43%;height:42%}
.template-fixed_3_horizontal_left .catalog-letter-page-right .fixed-slot-p2.catalog-fixed-product{left:49%;top:2%;width:47%;height:31%}
.template-fixed_3_horizontal_left .catalog-letter-page-right .fixed-slot-p2.catalog-fixed-info{left:51%;top:35%;width:43%;height:10%}
.template-fixed_3_horizontal_left .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-model{left:0;top:54%;width:43%;height:42%}
.template-fixed_3_horizontal_left .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-product{left:49%;top:54%;width:47%;height:31%}
.template-fixed_3_horizontal_left .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-info{left:51%;top:87%;width:43%;height:10%}

/* 4 productos · modelos exteriores */
.template-fixed_4_outside .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-model{left:0;top:2%;width:43%;height:42%}
.template-fixed_4_outside .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-product{left:49%;top:2%;width:47%;height:31%}
.template-fixed_4_outside .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-info{left:51%;top:35%;width:43%;height:10%}
.template-fixed_4_outside .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-model{left:0;top:54%;width:43%;height:42%}
.template-fixed_4_outside .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-product{left:49%;top:54%;width:47%;height:31%}
.template-fixed_4_outside .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-info{left:51%;top:87%;width:43%;height:10%}
.template-fixed_4_outside .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-product{left:4%;top:2%;width:47%;height:31%}
.template-fixed_4_outside .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-info{left:6%;top:35%;width:43%;height:10%}
.template-fixed_4_outside .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-model{left:57%;top:2%;width:43%;height:42%}
.template-fixed_4_outside .catalog-letter-page-right .fixed-slot-p4.catalog-fixed-product{left:4%;top:54%;width:47%;height:31%}
.template-fixed_4_outside .catalog-letter-page-right .fixed-slot-p4.catalog-fixed-info{left:6%;top:87%;width:43%;height:10%}
.template-fixed_4_outside .catalog-letter-page-right .fixed-slot-p4.catalog-fixed-model{left:57%;top:54%;width:43%;height:42%}

/* 4 productos · alternada */
.template-fixed_4_alternate .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-product{left:0;top:2%;width:43%;height:31%}
.template-fixed_4_alternate .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-info{left:1%;top:35%;width:41%;height:10%}
.template-fixed_4_alternate .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-model{left:50%;top:2%;width:46%;height:42%}
.template-fixed_4_alternate .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-model{left:0;top:54%;width:43%;height:42%}
.template-fixed_4_alternate .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-product{left:49%;top:54%;width:47%;height:31%}
.template-fixed_4_alternate .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-info{left:51%;top:87%;width:43%;height:10%}
.template-fixed_4_alternate .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-model{left:0;top:2%;width:43%;height:42%}
.template-fixed_4_alternate .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-product{left:49%;top:2%;width:47%;height:31%}
.template-fixed_4_alternate .catalog-letter-page-right .fixed-slot-p3.catalog-fixed-info{left:51%;top:35%;width:43%;height:10%}
.template-fixed_4_alternate .catalog-letter-page-right .fixed-slot-p4.catalog-fixed-product{left:0;top:54%;width:43%;height:31%}
.template-fixed_4_alternate .catalog-letter-page-right .fixed-slot-p4.catalog-fixed-info{left:1%;top:87%;width:41%;height:10%}
.template-fixed_4_alternate .catalog-letter-page-right .fixed-slot-p4.catalog-fixed-model{left:50%;top:54%;width:46%;height:42%}

/* 5 productos · 3 + 2 exterior */
.template-fixed_5_outside .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-model{left:0;top:1%;width:30%;height:29%}
.template-fixed_5_outside .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-product{left:36%;top:1%;width:41%;height:22%}
.template-fixed_5_outside .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-info{left:78%;top:7%;width:22%;height:11%}
.template-fixed_5_outside .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-info{left:0;top:40%;width:27%;height:11%}
.template-fixed_5_outside .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-product{left:31%;top:34%;width:39%;height:22%}
.template-fixed_5_outside .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-model{left:73%;top:32%;width:27%;height:31%}
.template-fixed_5_outside .catalog-letter-page-left .fixed-slot-p3.catalog-fixed-model{left:0;top:68%;width:30%;height:29%}
.template-fixed_5_outside .catalog-letter-page-left .fixed-slot-p3.catalog-fixed-product{left:36%;top:68%;width:41%;height:22%}
.template-fixed_5_outside .catalog-letter-page-left .fixed-slot-p3.catalog-fixed-info{left:78%;top:74%;width:22%;height:11%}
.template-fixed_5_outside .catalog-letter-page-right .fixed-slot-p4.catalog-fixed-product{left:0;top:2%;width:43%;height:29%}
.template-fixed_5_outside .catalog-letter-page-right .fixed-slot-p4.catalog-fixed-info{left:1%;top:33%;width:41%;height:10%}
.template-fixed_5_outside .catalog-letter-page-right .fixed-slot-p4.catalog-fixed-model{left:55%;top:1%;width:45%;height:44%}
.template-fixed_5_outside .catalog-letter-page-right .fixed-slot-p5.catalog-fixed-product{left:0;top:54%;width:43%;height:29%}
.template-fixed_5_outside .catalog-letter-page-right .fixed-slot-p5.catalog-fixed-info{left:1%;top:85%;width:41%;height:10%}
.template-fixed_5_outside .catalog-letter-page-right .fixed-slot-p5.catalog-fixed-model{left:55%;top:52%;width:45%;height:44%}

/* 5 productos · alternada */
.template-fixed_5_alternate .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-model{left:0;top:1%;width:30%;height:29%}
.template-fixed_5_alternate .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-product{left:36%;top:1%;width:41%;height:22%}
.template-fixed_5_alternate .catalog-letter-page-left .fixed-slot-p1.catalog-fixed-info{left:78%;top:7%;width:22%;height:11%}
.template-fixed_5_alternate .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-info{left:0;top:40%;width:27%;height:11%}
.template-fixed_5_alternate .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-product{left:31%;top:34%;width:39%;height:22%}
.template-fixed_5_alternate .catalog-letter-page-left .fixed-slot-p2.catalog-fixed-model{left:73%;top:32%;width:27%;height:31%}
.template-fixed_5_alternate .catalog-letter-page-left .fixed-slot-p3.catalog-fixed-model{left:0;top:68%;width:30%;height:29%}
.template-fixed_5_alternate .catalog-letter-page-left .fixed-slot-p3.catalog-fixed-product{left:36%;top:68%;width:41%;height:22%}
.template-fixed_5_alternate .catalog-letter-page-left .fixed-slot-p3.catalog-fixed-info{left:78%;top:74%;width:22%;height:11%}
.template-fixed_5_alternate .catalog-letter-page-right .fixed-slot-p4.catalog-fixed-model{left:0;top:1%;width:45%;height:44%}
.template-fixed_5_alternate .catalog-letter-page-right .fixed-slot-p4.catalog-fixed-product{left:53%;top:2%;width:43%;height:29%}
.template-fixed_5_alternate .catalog-letter-page-right .fixed-slot-p4.catalog-fixed-info{left:54%;top:33%;width:41%;height:10%}
.template-fixed_5_alternate .catalog-letter-page-right .fixed-slot-p5.catalog-fixed-product{left:0;top:54%;width:43%;height:29%}
.template-fixed_5_alternate .catalog-letter-page-right .fixed-slot-p5.catalog-fixed-info{left:1%;top:85%;width:41%;height:10%}
.template-fixed_5_alternate .catalog-letter-page-right .fixed-slot-p5.catalog-fixed-model{left:53%;top:52%;width:47%;height:44%}

/* Índice V1.18: solamente una hoja contiene el índice; la otra es imagen opcional o blanco. */
.fixed-index-spread .catalog-index-image-page,.fixed-index-spread .catalog-index-only-page{position:absolute!important;inset:3.1818% 4.1176%!important;display:block!important;overflow:hidden!important;background-image:none!important}
.fixed-index-spread .catalog-index-image-page>img{width:100%;height:100%;object-fit:cover;border-radius:0}.fixed-index-spread .catalog-index-image-placeholder{width:100%;height:100%;display:grid;place-items:center;text-align:center;color:#b0a79e;background:#fff;border:1px dashed #e7e0d9}
.fixed-index-spread .catalog-index-only-page{padding:6% 7%!important}.fixed-index-spread .catalog-index-only-page h2{font-size:clamp(24px,3.2vw,50px);margin:0 0 7%}.fixed-index-spread .catalog-index-list{display:grid;grid-template-columns:1fr;gap:12px}

/* Selector de plantillas: miniaturas simples de la geometría fija. */
.catalog-template-mini[class*="mini-fixed_"]{display:grid!important;grid-template-columns:1fr 1fr!important;grid-auto-rows:1fr!important;gap:2px!important;background:#fff}
.catalog-template-mini.mini-fixed_1_full i{grid-column:1/3}.catalog-template-mini.mini-fixed_3_lr i:nth-child(3),.catalog-template-mini.mini-fixed_3_rl i:first-child{grid-row:1/3}.catalog-template-mini.mini-fixed_5_outside,.catalog-template-mini.mini-fixed_5_alternate{grid-template-columns:repeat(3,1fr)!important}

/* Editor ya no utiliza lienzo libre ni cuadrícula. */
.catalog-editor-v118 .catalog-free-toolbar,.catalog-editor-v118 .catalog-layout-handle,.catalog-editor-v118 .catalog-layout-label{display:none!important}
.catalog-editor-v118 .catalog-spread.editor-mode .catalog-page-safe{background-image:none!important}
.catalog-image-size-controls{display:grid;gap:9px;border:1px solid var(--line);border-radius:11px;padding:12px;background:#faf8f5}.catalog-image-size-controls>strong{font-size:.78rem}.catalog-image-size-controls label{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;font-size:.72rem}.catalog-image-size-controls input[type=range]{grid-column:1/-1;padding:0;border:0;background:transparent}.catalog-image-size-controls output{font-weight:800;color:var(--accent)}
.catalog-spread.fixed-catalog-template,.catalog-spread.fixed-index-spread{aspect-ratio:17/11!important}


/* Nexo Ventas V1.18.2 · administración de tallas desde el editor */
.sku-size-fixed{display:block;margin-top:5px;color:var(--muted,#7c746d);font-size:.76rem;font-weight:600;white-space:nowrap}
.sku-add-size-panel{margin:22px 0;padding:20px;border:1px solid var(--line,#e4ddd6);border-radius:18px;background:linear-gradient(180deg,#fbfaf8 0%,#f7f4ef 100%)}
.sku-add-size-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.sku-add-size-heading strong{display:block;font-size:1rem;margin-bottom:4px}
.sku-add-size-heading p{margin:0;color:var(--muted,#756f68);font-size:.88rem;line-height:1.45}
.sku-add-size-row{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(120px,.65fr) minmax(180px,1fr) auto;gap:12px;align-items:end}
.sku-add-size-row label{margin:0;font-weight:700;font-size:.84rem}
.sku-add-size-row select,.sku-add-size-row input{width:100%;margin-top:6px}
.sku-add-size-row .button{min-height:46px;white-space:nowrap}
.sku-add-size-feedback{min-height:20px;margin-top:11px;font-size:.84rem;color:var(--muted,#756f68)}
.sku-add-size-feedback.success{color:#08785f;font-weight:700}
.sku-add-size-feedback.error{color:#b42318;font-weight:700}
@media (max-width:900px){.sku-add-size-row{grid-template-columns:1fr 1fr}.sku-add-size-row .button{width:100%}}
@media (max-width:560px){.sku-add-size-row{grid-template-columns:1fr}}

/* =========================================================
   Nexo Ventas V1.18.4 · Editor avanzado de catálogo
   - Encuadre X/Y + zoom de modelo y producto
   - Ficha redimensionable y estilos de texto por elemento
   - Índice y capítulos robustos
   ========================================================= */
.catalog-spread.fixed-catalog-template .catalog-fixed-model>img{
  object-position:var(--model-x,50%) var(--model-y,50%)!important;
  transform:scale(var(--element-scale,1))!important;
  transform-origin:var(--model-x,50%) var(--model-y,50%)!important;
}
.catalog-spread.fixed-catalog-template .catalog-fixed-product .catalog-product-photo{
  object-position:var(--product-x,50%) var(--product-y,50%)!important;
  transform:scale(var(--element-scale,1))!important;
  transform-origin:var(--product-x,50%) var(--product-y,50%)!important;
}
.catalog-spread.fixed-catalog-template .catalog-fixed-info{
  overflow:visible!important;
  align-items:flex-start!important;
  border-style:solid!important;
  box-sizing:border-box!important;
}
.catalog-spread.fixed-catalog-template.editor-mode .catalog-fixed-info{box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.catalog-spread.fixed-catalog-template .catalog-fixed-info .catalog-product-info{
  width:100%!important;min-width:0;max-width:100%;line-height:1.25!important;gap:2px!important;
  overflow-wrap:anywhere;word-break:normal;white-space:normal;
}
.catalog-spread.fixed-catalog-template .catalog-fixed-info .catalog-info-line,
.catalog-spread.fixed-catalog-template .catalog-fixed-info .catalog-size-line{white-space:normal;overflow-wrap:anywhere}
.catalog-spread.fixed-catalog-template .catalog-fixed-info .catalog-product-name{display:block;white-space:normal;overflow-wrap:anywhere}

.catalog-crop-controls{gap:14px!important}
.catalog-crop-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:11px;border:1px solid #eee7df;border-radius:10px;background:#fff}
.catalog-crop-group>b{grid-column:1/-1;font-size:.76rem}
.catalog-crop-group label{display:grid!important;grid-template-columns:1fr auto!important;gap:3px 7px!important;font-size:.68rem!important}
.catalog-crop-group input[type=range]{grid-column:1/-1!important;width:100%;padding:0!important;border:0!important}
.catalog-crop-group output{font-weight:800;color:var(--accent)}

.catalog-info-editor{border:1px solid var(--line);border-radius:11px;background:#faf8f5;overflow:hidden}
.catalog-info-editor>summary{padding:11px 12px;font-weight:800;font-size:.78rem;cursor:pointer;list-style:none}
.catalog-info-editor>summary::-webkit-details-marker{display:none}
.catalog-info-editor-body{padding:12px;border-top:1px solid var(--line);display:grid;gap:13px;background:#fff}
.catalog-info-box-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.catalog-info-box-controls label{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center;font-size:.7rem}
.catalog-info-box-controls input[type=range]{grid-column:1/-1;width:100%;padding:0;border:0}
.catalog-info-box-controls input[type=color]{width:48px;min-height:34px;padding:2px}
.catalog-info-box-controls output{font-weight:800;color:var(--accent)}
.catalog-text-style-grid{display:grid;gap:5px;border:1px solid #eee7df;border-radius:10px;padding:8px;background:#faf8f5;overflow:auto}
.catalog-text-style-head,.catalog-text-style-row{display:grid;grid-template-columns:minmax(92px,1.35fr) 70px 52px 55px;gap:7px;align-items:center;min-width:305px}
.catalog-text-style-head{font-size:.64rem;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:0 4px 5px}
.catalog-text-style-row{padding:5px 4px;border-top:1px solid #eee7df;font-size:.68rem}
.catalog-text-style-row input[type=number]{padding:6px 5px;min-width:0}
.catalog-text-style-row input[type=color]{width:44px;height:31px;padding:2px}
.catalog-text-style-row .check.compact{justify-content:center;margin:0}
.catalog-text-style-row .check.compact span{font-weight:900}

/* Índice: una sola hoja para el índice y una hoja editorial opcional. */
.catalog-index-spread.fixed-index-spread{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:1fr!important;padding:0!important;background:#ded8d1!important;position:relative!important}
.catalog-index-spread.fixed-index-spread>.catalog-letter-page{display:block!important;position:relative!important;width:auto!important;height:auto!important;min-width:0!important;overflow:hidden!important}
.catalog-index-spread.fixed-index-spread .catalog-index-list{overflow:auto;max-height:82%;padding-right:4px}
.catalog-index-spread.fixed-index-spread .catalog-index-entry{font-size:clamp(9px,.9vw,14px)}

/* Portadas / capítulos: imagen real para evitar fallos de background en preview y PDF. */
.catalog-chapter-spread{position:relative!important;overflow:hidden!important;background:#e7e2dc!important}
.catalog-chapter-image,.catalog-chapter-placeholder{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.catalog-chapter-placeholder{background:linear-gradient(135deg,#f4f0eb,#d8d0c7)}
.catalog-chapter-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.12))}
.catalog-chapter-overlay{z-index:2!important}
.catalog-chapter-quick-image{display:grid;gap:5px;font-size:.7rem;color:var(--muted)}
.catalog-add-chapter-form{padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.catalog-add-chapter-form input[type=file]{font-size:.68rem;padding:5px}

@media(max-width:980px){
  .catalog-crop-group{grid-template-columns:1fr}
  .catalog-info-box-controls{grid-template-columns:1fr}
}
.catalog-chapter-spread:before{display:none!important}

/* =========================================================
   NEXO VENTAS V1.19.0 · MOTOR FABRIC.JS PARA CATÁLOGO
   ========================================================= */
.catalog-editor-v118{--fabric-accent:var(--accent,#2563eb)}
.catalog-editor-v118 .catalog-editor-canvas-panel{min-width:0}
.catalog-fabric-stage{width:100%;min-width:0;background:#eef2f7;border:1px solid #dde3ea;border-radius:18px;overflow:hidden;box-shadow:0 16px 40px rgba(15,23,42,.08)}
.catalog-fabric-toolbar{height:50px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-bottom:1px solid #e5e7eb;color:#475569;font-size:.78rem}
.catalog-fabric-toolbar strong{color:#111827}.catalog-fabric-zoom-controls{display:flex;align-items:center;gap:6px}.catalog-fabric-zoom-controls button{border:1px solid #d8dee7;background:#fff;border-radius:8px;min-width:34px;height:32px;padding:0 9px;font-weight:800;cursor:pointer}.catalog-fabric-zoom-controls button:hover{background:#f8fafc;border-color:#94a3b8}.catalog-fabric-zoom-controls output{min-width:48px;text-align:center;font-weight:800;color:#334155}
.catalog-fabric-viewport{position:relative;width:100%;height:var(--fabric-height,680px);min-height:360px;overflow:auto;padding:20px;background-color:#f1f5f9;background-image:radial-gradient(#cbd5e1 1px,transparent 1px);background-size:20px 20px;box-sizing:border-box}
.catalog-fabric-scale-box{width:1700px;height:1100px;background:#fff;box-shadow:0 24px 65px rgba(15,23,42,.22);transform-origin:top left;position:relative}
.catalog-fabric-scale-box .canvas-container{margin:0!important;box-shadow:none!important}
.catalog-fabric-status{padding:10px 14px;background:#fff;border-top:1px solid #e5e7eb;color:#64748b;font-size:.74rem;line-height:1.35}
.catalog-fabric-fallback{padding:18px}.catalog-fabric-fallback[hidden]{display:none!important}
.catalog-slot-editor.fabric-active-slot{outline:2px solid #2563eb;outline-offset:2px;border-radius:10px}.fabric-active-control{background:#eff6ff!important;outline:1px solid #93c5fd;border-radius:7px}

/* V1.19.0: la ficha pública no corta contenido. El alto elegido funciona como alto mínimo. */
.catalog-spread.fixed-catalog-template .catalog-fixed-info{overflow:visible!important;align-items:flex-start!important}
.catalog-spread.fixed-catalog-template .catalog-fixed-info .catalog-product-info{overflow:visible!important;min-width:0!important;word-break:normal!important;overflow-wrap:anywhere!important}
.catalog-spread.fixed-catalog-template .catalog-fixed-info .catalog-product-name,.catalog-spread.fixed-catalog-template .catalog-fixed-info .catalog-info-line,.catalog-spread.fixed-catalog-template .catalog-fixed-info .catalog-size-line{max-width:100%;white-space:normal!important;overflow:visible!important}

@media(max-width:1100px){.catalog-fabric-toolbar{align-items:flex-start;height:auto;padding:10px;flex-direction:column}.catalog-fabric-zoom-controls{width:100%;justify-content:flex-end}.catalog-fabric-viewport{min-height:300px}}

/* =========================================================
   NEXO VENTAS V1.19.1 · Editor de catálogo simplificado
   ========================================================= */
.catalog-editor-v1191{--fabric-accent:var(--accent,#2563eb)}
.catalog-editor-v1191 .catalog-fixed-size-note{margin-bottom:10px}
.catalog-editor-v1191 .catalog-crop-controls,
.catalog-editor-v1191 .catalog-info-editor,
.catalog-editor-v1191 .catalog-zoom-settings,
.catalog-editor-v1191 .catalog-text-style-grid{display:none!important}
.catalog-editor-v1191 .catalog-slot-form-body{gap:10px}
.catalog-editor-v1191 .catalog-slot-editor{border:1px solid #e5e7eb;border-radius:12px;background:#fff;overflow:hidden}
.catalog-editor-v1191 .catalog-slot-editor>summary{padding:11px 13px;cursor:pointer;font-weight:800;background:#f8fafc}
.catalog-editor-v1191 .catalog-slot-editor>.catalog-slot-form-body{padding:12px}
.catalog-editor-v1191 .catalog-image-guidance{font-size:.72rem}
.catalog-sync-only{display:none!important}

.catalog-fabric-main-toolbar{min-height:54px;height:auto;flex-wrap:wrap}
.catalog-fabric-toolbar-left,.catalog-fabric-toolbar-actions{display:flex;align-items:center;gap:7px}
.catalog-toolbar-divider{width:1px;height:24px;background:#e2e8f0;display:inline-block;margin:0 3px}
.catalog-toolbar-help{font-size:.72rem;color:#94a3b8}
.catalog-icon-button{width:34px;height:34px;border:1px solid #d8dee7;background:#fff;border-radius:8px;display:grid;place-items:center;font-size:1.05rem;font-weight:900;color:#475569;cursor:pointer}
.catalog-icon-button:hover{background:#f8fafc;color:#111827}.catalog-icon-button:disabled{opacity:.35;cursor:not-allowed}

.catalog-context-toolbar{display:flex;align-items:center;gap:8px;min-height:48px;padding:7px 12px;background:#fff;border-bottom:1px solid #e5e7eb;overflow-x:auto}
.catalog-context-toolbar[hidden]{display:none!important}
.catalog-context-section{display:flex;align-items:center;gap:7px;min-width:max-content}
.catalog-context-section[hidden]{display:none!important}
.catalog-context-section strong{font-size:.76rem;color:#111827;margin-right:3px}.catalog-context-section>span{font-size:.7rem;color:#64748b}
.catalog-context-section select,.catalog-context-section input[type=number]{height:32px;border:1px solid #d8dee7;border-radius:7px;background:#fff;padding:0 8px;font-size:.76rem;color:#334155}
.catalog-context-section select{min-width:118px}.catalog-context-section input[type=number]{width:52px;text-align:center}
.catalog-context-section input[type=color]{width:33px;height:33px;border:1px solid #d8dee7;border-radius:7px;padding:2px;background:#fff;cursor:pointer}
.catalog-context-section button:not(.button){height:32px;min-width:32px;border:1px solid #d8dee7;border-radius:7px;background:#fff;color:#475569;font-weight:800;cursor:pointer;padding:0 8px}
.catalog-context-section button:not(.button):hover,.catalog-context-section button.active{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}
.catalog-context-section output{min-width:48px;text-align:center;font-size:.74rem;font-weight:800;color:#334155}

.catalog-fabric-status{min-height:38px;display:flex;align-items:center}
.catalog-fabric-viewport{cursor:default}
.catalog-fabric-scale-box.is-cropping{outline:2px solid #16a34a;outline-offset:2px}

.catalog-free-text-layer{position:absolute;inset:0;pointer-events:none;z-index:28;overflow:hidden}
.catalog-free-text-item{position:absolute;white-space:pre-wrap;line-height:1.15;overflow-wrap:anywhere}
.fixed-catalog-template{position:relative}

.catalog-editor-v1191 .catalog-editor-inspector{min-width:270px}
.catalog-editor-v1191 .catalog-spread-master-form .catalog-save-bar{position:sticky;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);z-index:20;padding-top:10px}

@media(max-width:1250px){
  .catalog-fabric-main-toolbar{align-items:flex-start;flex-direction:column}
  .catalog-fabric-toolbar-actions,.catalog-fabric-zoom-controls{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .catalog-context-toolbar{align-items:flex-start}
}

/* =========================================================
   NEXO VENTAS V1.20.4 · PARIDAD EDITOR / PUBLICACIÓN
   - La geometría guardada usa toda la hoja Carta, igual que Fabric.
   - Los marcos son guías exclusivas del editor.
   - Las lupas son overlays globales y siempre quedan al frente.
   ========================================================= */
.catalog-spread.fixed-catalog-template.public-mode .catalog-page-safe,
.catalog-spread.fixed-catalog-template.pdf-mode .catalog-page-safe{
  inset:0!important;
  overflow:hidden!important;
  background:#fff!important;
  outline:0!important;
}
.catalog-spread.fixed-catalog-template.public-mode .catalog-fixed-model,
.catalog-spread.fixed-catalog-template.public-mode .catalog-fixed-product,
.catalog-spread.fixed-catalog-template.pdf-mode .catalog-fixed-model,
.catalog-spread.fixed-catalog-template.pdf-mode .catalog-fixed-product{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.catalog-spread.fixed-catalog-template.public-mode .catalog-fixed-product,
.catalog-spread.fixed-catalog-template.pdf-mode .catalog-fixed-product{
  padding:0!important;
}
.catalog-spread.fixed-catalog-template.public-mode .catalog-fixed-info,
.catalog-spread.fixed-catalog-template.pdf-mode .catalog-fixed-info{
  border:0!important;
  box-shadow:none!important;
}
.catalog-spread.fixed-catalog-template .catalog-global-zoom{
  position:absolute!important;
  z-index:9999!important;
  margin:0!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
  background-repeat:no-repeat!important;
  background-color:#fff!important;
  pointer-events:none!important;
}


/* =========================================================
   NEXO VENTAS V1.20.5 · PARIDAD DE LUPAS Y ESPACIOS VACÍOS
   ========================================================= */
.catalog-spread.fixed-catalog-template .catalog-global-zoom{
  width:var(--catalog-global-zoom-width)!important;
  max-width:none!important;
  min-width:0!important;
}
.catalog-spread.fixed-catalog-template.public-mode .catalog-model-placeholder,
.catalog-spread.fixed-catalog-template.public-mode .catalog-product-placeholder,
.catalog-spread.fixed-catalog-template.public-mode .catalog-info-placeholder,
.catalog-spread.fixed-catalog-template.pdf-mode .catalog-model-placeholder,
.catalog-spread.fixed-catalog-template.pdf-mode .catalog-product-placeholder,
.catalog-spread.fixed-catalog-template.pdf-mode .catalog-info-placeholder{display:none!important}
.catalog-spread.fixed-catalog-template .catalog-fixed-model>img{
  object-position:var(--model-x,50%) var(--model-y,50%)!important;
  transform-origin:var(--model-x,50%) var(--model-y,50%)!important;
}
.catalog-spread.fixed-catalog-template .catalog-fixed-product .catalog-product-photo{
  object-position:var(--product-x,50%) var(--product-y,50%)!important;
  transform-origin:var(--product-x,50%) var(--product-y,50%)!important;
}

/* =========================================================
   NEXO VENTAS V1.20.6 · PARIDAD MATEMÁTICA DE FOTOGRAFÍAS
   El tamaño/encuadre externo se calcula con el mismo algoritmo de Fabric.
   ========================================================= */
.catalog-spread.fixed-catalog-template .catalog-fixed-model,
.catalog-spread.fixed-catalog-template .catalog-product-photo-wrap{
  position:absolute!important;
  overflow:hidden!important;
}
.catalog-spread.fixed-catalog-template .catalog-fixed-product .catalog-product-photo-wrap{
  position:relative!important;
  width:100%!important;
  height:100%!important;
}
.catalog-spread.fixed-catalog-template img.catalog-parity-image{
  position:absolute!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:fill!important;
  transform:none!important;
  transition:none!important;
}


/* =========================================================
   NEXO VENTAS V1.20.7 · DIMENSIONES FABRIC CON PRIORIDAD REAL
   Las variables son calculadas por catalog_public_fit.js y deben vencer
   las reglas legacy width/height:100%!important.
   ========================================================= */
.catalog-spread.fixed-catalog-template img.catalog-parity-image{
  width:var(--nexo-fit-width)!important;
  height:var(--nexo-fit-height)!important;
  left:var(--nexo-fit-left)!important;
  top:var(--nexo-fit-top)!important;
  max-width:none!important;
  max-height:none!important;
  right:auto!important;
  bottom:auto!important;
  object-fit:fill!important;
  transform:none!important;
  margin:0!important;
}

/* V1.20.8 · especificación única de fotografía de producto */
.product-image-spec-note{display:block;margin-top:6px;color:#475569;line-height:1.35}
.product-image-spec-warning{margin:8px 0;padding:8px 10px;border:1px solid #fca5a5;background:#fef2f2;color:#b91c1c;border-radius:9px;font-size:.72rem;line-height:1.3}
.product-image-spec-warning strong,.product-image-spec-warning span{display:block}.product-image-spec-warning span{margin-top:2px;font-size:.66rem}
.product-card .product-image-spec-warning{margin:0 14px 10px}

/* =========================================================
   NEXO VENTAS V1.21.0 · fondos por hoja del catálogo
   ========================================================= */
.catalog-spread .catalog-page-safe{position:relative}
.catalog-spread .catalog-page-background{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;z-index:0!important;pointer-events:none!important;max-width:none!important;max-height:none!important}
