:root{--red:#e30613;--red-bright:#ff2430;--red-ink:#a5040f;--red-soft:#fdeced;--red-soft-line:#f8c9cd;--ink:#111114;--carbon:#2b2b2e;--paper:#fff;--mist:#f6f6f8;--surface:#fafafb;--line:#eaeaec;--line-strong:#dedee1;--muted:#75757c;--muted-2:#9a9aa1;--good:#0a8f4c;--good-soft:#e7f7ee;--radius-sm:8px;--radius:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #10101008,0 1px 1px #10101006;--shadow-md:0 8px 24px #1010140f,0 2px 6px #1010140a;--shadow-lg:0 20px 48px #10101016,0 4px 12px #1010140f;font-family:Montserrat,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--surface);line-height:1.45}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--surface)}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--red);border-radius:var(--radius-sm);padding:.66rem 1rem;background:var(--red);color:#fff;font-weight:750;letter-spacing:.005em;box-shadow:var(--shadow-sm);transition:background-color .15s,box-shadow .15s,border-color .15s,filter .15s,transform .1s}button:hover{background:var(--red-ink);box-shadow:var(--shadow-md)}button:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:wait;transform:none}.secondary{background:#fff!important;color:var(--ink)!important;border-color:var(--line-strong)!important;box-shadow:none!important}.secondary:hover{background:var(--mist)!important;border-color:#c7c7cb!important}.danger{background:var(--ink)!important;border-color:var(--ink)!important}.danger:hover{background:#000!important}.primary{width:100%;font-size:.98rem;padding:.85rem}header{min-height:96px;display:flex;justify-content:space-between;align-items:center;padding:1.2rem max(5vw,2rem);background:#0b0b0d;color:#fff;border-bottom:1px solid #000}.brand-lockup{display:flex;align-items:center;gap:.8rem}.brand-orbit{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(155deg,var(--red-bright),var(--red-ink));box-shadow:0 4px 14px #e3061340;position:relative;flex:none}.brand-orbit:before{content:"";width:14px;height:14px;border-radius:4px;background:#fff}.eyebrow{font-size:.64rem;letter-spacing:.2em;font-weight:800;margin:0 0 .28rem;color:var(--red-bright);text-transform:uppercase}header h1,.login h1,.detail-dialog h2{font-weight:800;letter-spacing:-.01em}header h1{margin:0;font-size:1.18rem}.header-actions{display:flex;align-items:center;gap:.75rem;font-weight:650;font-size:.88rem}.header-actions .secondary{background:transparent!important;color:#e7e7ea!important;border-color:#2c2c30!important}.header-actions .secondary:hover{background:#1c1c1f!important}nav{position:sticky;top:0;z-index:5;padding:.55rem max(5vw,2rem);background:#ffffffee;backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:flex;gap:.2rem;flex-wrap:wrap;align-items:center}nav button{color:#55555c;background:transparent;border-color:transparent;box-shadow:none;padding:.56rem .75rem;border-radius:var(--radius-sm);font-weight:650;font-size:.86rem;display:inline-flex;align-items:center;gap:.5rem}.nav-icon{width:16px;height:16px;flex:none;display:inline-flex}.nav-icon svg{width:100%;height:100%}.nav-section{flex-basis:100%;height:0;overflow:hidden}nav button:hover{color:var(--red);background:var(--red-soft);box-shadow:none}nav button.active{color:var(--red-ink);background:var(--red-soft);box-shadow:none}.view{padding:1.5rem max(5vw,2rem) 2.5rem;max-width:1640px;margin:auto}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.25rem 1.35rem;box-shadow:var(--shadow-sm)}.panel h2{font-weight:800;letter-spacing:-.005em;margin:0 0 .3rem;font-size:1.05rem}.panel h3{margin:1.2rem 0 .55rem;font-size:.86rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#4a4a50}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;margin-bottom:1rem}.metric{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.05rem;min-width:0;box-shadow:var(--shadow-sm);position:relative}.metric>span:first-child{display:block;font-size:.72rem;font-weight:700;letter-spacing:.02em;color:var(--muted)}.metric strong{display:block;font-weight:800;font-size:1.32rem;letter-spacing:-.02em;margin:.3rem 0 .1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.metric small{color:var(--muted-2);font-size:.75rem}.compact-metrics .metric{padding:.8rem .9rem}.pos-grid,.split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:1rem}.split{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.row{display:flex;gap:.65rem;align-items:end}.row input{flex:1}label{display:grid;gap:.32rem;font-size:.73rem;font-weight:700;letter-spacing:.01em;color:#57575d;min-width:0}input,select{border:1px solid #dcdce0;border-radius:var(--radius-sm);padding:.65rem .7rem;background:#fff;color:var(--ink);width:100%;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.products{margin-top:1rem;display:grid;gap:.5rem}.product,.cart-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--line);padding:.72rem .82rem;border-radius:var(--radius-sm);background:#fff;transition:border-color .15s,background .15s}.product:hover{border-color:#f0c3c6;background:var(--red-soft)}.product small,.cart-item small,.premium-table small{display:block;color:var(--muted);font-size:.76rem}.product button,.tiny{padding:.4rem .62rem;font-size:.78rem}.cart{display:grid;gap:.85rem;align-content:start}.cart-item button{background:var(--red-soft);color:var(--red-ink);border-color:var(--red-soft-line);box-shadow:none;padding:.32rem .52rem}.cart-item input{width:70px;padding:.34rem}.totals{border-top:2px solid var(--ink);padding-top:.75rem;display:grid;gap:.4rem}.totals span,.report span{display:flex;justify-content:space-between;gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:end;margin:1rem 0}.form-grid button{height:42px}.compact{grid-template-columns:1fr 1fr 2fr auto}.table{width:100%;border-collapse:separate;border-spacing:0;margin-top:.85rem;font-size:.86rem}.table th{color:#6c6c73;font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;background:var(--surface);font-weight:750}.table th,.table td{text-align:left;padding:.68rem .7rem;border-bottom:1px solid var(--line)}.table tr:hover td{background:var(--surface)}.premium-table td b{font-weight:750}.tag{display:inline-block;padding:.24rem .55rem;border-radius:999px;font-size:.68rem;font-weight:800;white-space:nowrap}.tag.TECNOLOGIA{background:var(--red-soft);color:var(--red-ink)}.tag.SERVICIO_TECNOLOGICO{background:#eee}.tag.REVISAR{background:#fff3d6;color:#7a5300}.tag.FUERA_DE_ALCANCE{background:#25252a;color:#fff}.transfer-cart{margin:1rem 0;padding:.8rem;background:var(--red-soft);border:1px solid var(--red-soft-line);border-radius:var(--radius)}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 76% 18%,#4a050a 0,transparent 32rem),linear-gradient(150deg,#08080a,#141416)}.login section{width:min(420px,90vw);background:#fff;padding:2.1rem;border-radius:var(--radius-lg);box-shadow:0 30px 80px #000a}.login h1{margin:.1rem 0;font-size:1.75rem}.login form{display:grid;gap:1rem;margin-top:1.4rem}.error{color:#b0000b;margin:0}.muted{color:var(--muted)}.low{color:#c7000a;font-weight:800}.notice{margin-bottom:1rem;padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--red-soft);color:#7a0009;border-left:3px solid var(--red)}.state{font-size:.78rem;border-radius:999px;padding:.36rem .68rem;font-weight:800}.state.open{background:var(--good-soft);color:var(--good)}.state.closed{background:var(--red-soft);color:var(--red-ink)}.report{display:grid;gap:.6rem}.report span{border-bottom:1px solid var(--line);padding-bottom:.42rem}.report .net{font-size:1.05rem;border:0}.view .panel{overflow:auto}.review-row td{background:#fff8ec!important}.review-row td:first-child{box-shadow:inset 3px 0 var(--red)}.detail-dialog{border:0;border-radius:var(--radius-lg);padding:0;width:min(1120px,94vw);max-height:88vh;box-shadow:var(--shadow-lg);background:#fff}.detail-dialog::backdrop{background:#08080ac2;backdrop-filter:blur(4px)}.detail-dialog>section{padding:1.4rem;overflow:auto;max-height:88vh}.detail-dialog-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border-bottom:2px solid var(--ink);padding-bottom:1rem}.detail-dialog-header h2{margin:.1rem 0 0;font-size:1.3rem}.detail-hero{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;padding:1rem 0}.detail-hero>div{padding:.72rem;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm)}.detail-hero small,.detail-hero b{display:block}.detail-hero small{color:var(--muted);font-size:.67rem;text-transform:uppercase;letter-spacing:.06em}.detail-hero b{margin-top:.25rem;word-break:break-word}.detail-hero .tag{align-self:center;justify-self:start}.detail-dialog .split{margin-top:.3rem}.bar-list{display:grid;gap:.62rem}.bar-row{display:grid;grid-template-columns:minmax(84px,.62fr) 1fr auto;gap:.7rem;align-items:center;font-size:.8rem}.bar-row .bar-label{color:#3d3d42;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:8px;border-radius:999px;background:var(--mist);overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:var(--red);min-width:2px;transition:width .4s ease}.bar-row b{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:750}.bar-value{display:grid;justify-items:end;line-height:1.2;gap:.05rem}.bar-value small{color:var(--muted-2);font-size:.68rem;font-weight:600}.trend{display:inline-flex;align-items:center;gap:.18rem;font-size:.7rem;font-weight:800;padding:.1rem .38rem;border-radius:999px;vertical-align:middle}.trend.up{background:var(--good-soft);color:var(--good)}.trend.down{background:var(--red-soft);color:var(--red-ink)}.trend-chart{display:flex;align-items:flex-end;gap:.5rem;height:64px;margin-top:.3rem}.trend-chart .trend-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;height:100%;justify-content:flex-end}.trend-chart .trend-bar i{display:block;width:100%;max-width:26px;border-radius:5px 5px 2px 2px;background:var(--mist)}.trend-chart .trend-bar.is-today i{background:var(--red)}.trend-chart .trend-bar span{font-size:.63rem;color:var(--muted-2);font-weight:700;text-transform:uppercase}@media(max-width:950px){.pos-grid,.split{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.bar-row{grid-template-columns:minmax(70px,.55fr) 1fr auto}}@media(max-width:720px){header{padding:1rem;align-items:flex-start;gap:.8rem;flex-direction:column}.header-actions{width:100%;justify-content:space-between}nav{padding:.45rem .7rem}.view{padding:1rem}.metrics{grid-template-columns:1fr 1fr;gap:.6rem}.metric{padding:.75rem}.metric strong{font-size:1.05rem}.form-grid,.compact{grid-template-columns:1fr}.row{flex-wrap:wrap}.table{min-width:590px}.panel{padding:1rem}.detail-hero{grid-template-columns:1fr 1fr}.detail-dialog>section{padding:1rem}}
.user-guide{display:flex;align-items:center;gap:.8rem;padding:.62rem max(5vw,2rem);background:#fff;border-bottom:1px solid var(--line);font-size:.83rem}.user-guide b{color:var(--red-ink);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.user-guide span{color:#5c5c62}.toast{position:fixed;right:1.4rem;bottom:1.4rem;z-index:20;max-width:min(420px,calc(100vw - 2rem));padding:.85rem 1rem;border-radius:var(--radius-sm);background:#141416;color:#fff;border-left:3px solid var(--red);box-shadow:var(--shadow-lg);transform:translateY(130%);opacity:0;transition:transform .25s ease,opacity .25s ease;font-weight:650}.toast.show{transform:translateY(0);opacity:1}
.expandable-table .expandable-row{cursor:pointer}.expandable-table .expandable-row td:last-child{color:var(--red-ink);font-weight:800;text-align:center}.expandable-table .detail-row td{background:var(--surface);padding:1rem 1.1rem}.expandable-table .detail-row div{display:flex;flex-wrap:wrap;gap:.45rem;margin:.45rem 0;color:#48484d}.expandable-table .detail-row span{padding:.28rem .45rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;font-size:.76rem}.expandable-table .detail-row small{color:#7a7a80;word-break:break-all}
.user-guide{margin-left:228px;padding:.68rem 2rem}.toast{z-index:40}@media(min-width:951px){body{background:var(--surface)}#app>header{position:fixed;left:0;top:0;bottom:0;width:224px;min-height:0;padding:1.3rem 1.05rem;background:#0b0b0d;border-bottom:0;border-right:1px solid #1c1c1f;z-index:15;align-items:stretch;flex-direction:column;justify-content:flex-start}.brand-lockup{gap:.6rem}.brand-orbit{width:30px;height:30px;border-radius:9px}.brand-orbit:before{width:11px;height:11px;border-radius:3px}header h1{font-size:.98rem;line-height:1.05}.eyebrow{font-size:.55rem;letter-spacing:.16em}.header-actions{margin-top:auto;align-items:flex-start;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid #1c1c1f;font-size:.78rem}.header-actions .secondary{width:100%;padding:.52rem .62rem;justify-content:flex-start}nav{position:fixed;top:88px;left:0;bottom:106px;width:224px;z-index:16;padding:.7rem .6rem;background:transparent;border:0;display:grid;align-content:start;gap:.1rem;overflow-y:auto}nav button{width:100%;text-align:left;color:#c6c6ca;padding:.56rem .65rem;font-size:.78rem;border-radius:var(--radius-sm);justify-content:flex-start}nav button .nav-icon{color:#8b8b91}nav button.active{color:#fff;background:var(--red);border-color:transparent}nav button.active .nav-icon{color:#fff}nav button:hover{color:#fff;background:#1a1a1d}nav button:hover .nav-icon{color:#e2e2e4}.nav-section{height:auto;overflow:visible;display:block;margin:.7rem .1rem .18rem;padding:0 .65rem;font-size:.62rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#6f6f75}.nav-section:first-of-type{margin-top:.15rem}.view{max-width:none;margin-left:224px;padding:1.4rem 2rem 2.4rem}.user-guide{border-bottom:1px solid var(--line);background:#fff;min-height:38px}.metrics{gap:.7rem}.metric{border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.95rem 1rem}.metric strong{font-size:1.22rem}.panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.15rem 1.25rem}.panel h2{font-size:.98rem}.table{font-size:.8rem}.table th,.table td{padding:.6rem .65rem}.pos-grid,.split{gap:.8rem}.detail-dialog{margin-left:112px}.toast{right:1.6rem;bottom:1.6rem}}
.catalog-table .catalog-row td{vertical-align:middle}.catalog-table .catalog-row.is-expanded td{border-bottom:0;background:var(--surface)}.catalog-disclosure{min-width:92px}.catalog-detail-row td{padding:.25rem .62rem 1rem!important;background:var(--surface)!important}.catalog-detail-grid{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(200px,1.8fr) minmax(200px,2.2fr) auto;gap:.7rem;align-items:center;padding:.75rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff}.catalog-detail-grid>div{min-width:0}.catalog-detail-grid small{display:block;margin-bottom:.16rem;color:#7a7a80;font-size:.66rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.catalog-detail-grid b{font-size:.8rem;font-weight:600;color:#3c3c40}.catalog-detail-action{justify-self:end}@media(max-width:720px){.catalog-detail-grid{grid-template-columns:1fr}.catalog-detail-action{justify-self:start}.catalog-disclosure{min-width:0}}
.load-more{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:1rem 0 .2rem;padding:.72rem;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--surface)}.load-more span{font-size:.78rem;color:#6c6c73}.load-more button{box-shadow:none;padding:.5rem .8rem}.catalog-table+.load-more{margin-top:1rem}@media(max-width:520px){.load-more{align-items:stretch;flex-direction:column}.load-more button{width:100%}}
.invoice-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:1.1rem 0}.invoice-summary>div{padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.invoice-summary small,.invoice-summary b{display:block}.invoice-summary small{font-size:.67rem;color:#7a7a80;text-transform:uppercase;letter-spacing:.06em}.invoice-summary b{margin-top:.25rem}.invoice-totals{margin-left:auto;width:min(350px,100%);display:grid;gap:.45rem;padding:1rem;border-top:2px solid var(--ink)}.invoice-totals span{display:flex;justify-content:space-between;gap:1rem}.invoice-totals span:nth-child(3){font-size:1.08rem;color:var(--red-ink)}@media(max-width:720px){.invoice-summary{grid-template-columns:1fr 1fr}}
.customer-toolbar,.attendance-actions{justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.72rem .82rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.customer-toolbar p{margin:0}.attendance-actions{justify-content:flex-start}.attendance-actions .muted{font-size:.8rem}@media(max-width:720px){.customer-toolbar,.attendance-actions{align-items:stretch;flex-direction:column}}
@media(max-width:600px){.dashboard-activity-table{min-width:0!important;font-size:.74rem}.dashboard-activity-table th,.dashboard-activity-table td{padding:.56rem .5rem}.dashboard-activity-table th:nth-child(3),.dashboard-activity-table td:nth-child(3),.dashboard-activity-table th:nth-child(5),.dashboard-activity-table td:nth-child(5){display:none}.dashboard-activity-table th:last-child,.dashboard-activity-table td:last-child{width:22px;padding-left:.15rem;padding-right:.15rem}.dashboard-activity-table .detail-row td{display:table-cell!important;padding:.75rem!important}}
@media(min-width:951px){#app>header{overflow:hidden}.header-actions{background:#0b0b0d;position:relative;z-index:2;margin-left:-1.05rem;margin-right:-1.05rem;margin-bottom:-1.3rem;padding:1rem 1.05rem 1.3rem}.state{box-shadow:none}}
@media(min-width:951px){#app>header{padding-bottom:150px}.header-actions{position:absolute;left:0;right:0;bottom:0;margin:0;padding:1rem 1.05rem 1.3rem;background:#0b0b0d!important;border-top:1px solid #1c1c1f;box-shadow:none!important;filter:none!important}.header-actions .state{display:inline-flex;align-items:center;min-height:30px;width:max-content;max-width:100%;padding:.36rem .68rem;box-shadow:none!important;filter:none!important}.header-actions .secondary{margin-top:.1rem;box-shadow:none!important}nav{bottom:150px;background:#0b0b0d!important;border-right:1px solid #1c1c1f}}
@media(max-width:950px){header{position:sticky;top:0;z-index:25;min-height:auto}.header-actions{flex-wrap:wrap}nav{position:sticky;top:96px;z-index:24;display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding:.5rem .75rem;scrollbar-width:thin}nav button{flex:0 0 auto;white-space:nowrap}.view,.user-guide{margin-left:0;padding:1rem}.user-guide{padding:.65rem 1rem}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-grid,.split{grid-template-columns:1fr}.detail-dialog{margin:0;width:min(96vw,760px);max-height:92vh}.detail-dialog>section{max-height:92vh}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){body{font-size:15px}header{padding:.8rem 1rem}.brand-lockup{max-width:100%}.header-actions{width:100%;justify-content:space-between}.header-actions .secondary{width:auto}.view,.user-guide{padding:.85rem}.panel{padding:.9rem;border-radius:var(--radius)}.metrics{grid-template-columns:1fr 1fr;gap:.55rem}.metric{padding:.7rem}.metric strong{font-size:1.05rem}.form-grid,.compact{grid-template-columns:1fr}.row{align-items:stretch}.row>label,.row>input,.row>select{min-width:0}.row button{flex:0 0 auto}.view .panel{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{min-width:540px;font-size:.78rem}.table th,.table td{padding:.58rem}.products .product{align-items:flex-start}.product{gap:.55rem}.product>div:last-child{white-space:nowrap}.detail-hero{grid-template-columns:1fr 1fr}.invoice-summary{grid-template-columns:1fr 1fr}.load-more{position:sticky;left:0}.toast{left:1rem;right:1rem;bottom:1rem;max-width:none}.login section{padding:1.35rem}}
@media(max-width:390px){.metrics{grid-template-columns:1fr}.brand-lockup h1{font-size:1.05rem}.eyebrow{font-size:.56rem}.header-actions{font-size:.78rem}.detail-hero,.invoice-summary{grid-template-columns:1fr}.product{flex-direction:column}.product>div:last-child{width:100%;display:flex;justify-content:space-between;align-items:center}.product>div:last-child button{margin-left:auto}}
/* Evita que el menú tape o recorte el estado de conexión en la barra lateral. */
@media(min-width:951px){#app>header{padding-bottom:214px}.header-actions{min-height:214px;justify-content:flex-start}.header-actions .state{white-space:nowrap;flex:none}nav{bottom:214px}}
.view>.panel{margin-bottom:1rem}.table td small{display:block;color:var(--muted);font-size:.7rem}.virtual-cash-card{display:grid;gap:.35rem;margin-top:1rem;padding:1rem;border:1px solid var(--red-soft-line);border-left:3px solid var(--red);border-radius:var(--radius-sm);background:var(--red-soft)}.virtual-cash-card span{font-size:.82rem;color:#63636a}.virtual-cash-card button{justify-self:start;margin-top:.25rem;box-shadow:none}
.product-photo-preview{display:block;width:86px;height:86px;margin-top:.55rem;border:1px solid var(--line);border-radius:var(--radius-sm);object-fit:cover;background:var(--mist)}
.chip-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem}.chip{padding:.34rem .75rem;border:1px solid var(--line-strong);border-radius:999px;background:#fff;color:#4a4a50;font-size:.76rem;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.chip:hover{border-color:#e2a5aa;color:var(--red-ink)}.chip.active{background:var(--ink);border-color:var(--ink);color:#fff}
.held-bar{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-bottom:1rem}.held-bar:empty{display:none}.held-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;border:1px solid var(--red-soft-line);background:var(--red-soft);border-radius:var(--radius-sm);font-size:.8rem}.held-chip b{font-weight:800}.held-chip button{padding:.28rem .55rem;font-size:.72rem}
.elsewhere{margin-top:.3rem;padding:.4rem .55rem;border-radius:6px;background:var(--surface);font-size:.72rem;color:var(--muted)}
.tab-bar{display:flex;gap:.2rem;margin-bottom:1.1rem;border-bottom:1px solid var(--line);overflow-x:auto}.tab-btn{padding:.65rem 1.05rem;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-weight:750;font-size:.85rem;border-radius:0;box-shadow:none;white-space:nowrap}.tab-btn:hover{color:var(--red-ink);background:transparent;box-shadow:none}.tab-btn.active{color:var(--red-ink);border-bottom-color:var(--red)}
.loading-inline{display:flex;align-items:center;gap:.65rem;padding:1.3rem .2rem;color:var(--muted);font-size:.85rem}.spinner{width:17px;height:17px;flex:none;border:2px solid var(--line-strong);border-top-color:var(--red);border-radius:50%;animation:winpos-spin .7s linear infinite}@keyframes winpos-spin{to{transform:rotate(360deg)}}
.combobox{position:relative}.combobox-options{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:12;max-height:260px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:.3rem}.combobox-option{padding:.55rem .65rem;border-radius:6px;cursor:pointer;font-size:.85rem}.combobox-option b{display:block;font-weight:750}.combobox-option small{display:block;color:var(--muted);font-size:.74rem}.combobox-option:hover,.combobox-option.active{background:var(--red-soft)}.combobox-empty{padding:.6rem .65rem;color:var(--muted);font-size:.82rem}

/* Espacio único de inventario: catálogo paginado y ficha operativa. */
.inventory-hub-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.inventory-hub-heading .eyebrow{margin-top:.1rem}.inventory-hub-heading h2{font-size:1.2rem}.inventory-hub-heading p{margin:.25rem 0 0;max-width:800px}.inventory-hub-toolbar{display:grid;grid-template-columns:minmax(240px,2fr) repeat(4,minmax(130px,1fr)) auto;gap:.7rem;align-items:end;padding:.85rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.inventory-hub-toolbar button{height:42px}.inventory-hub-summary{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin:1rem 0 .2rem;color:var(--muted);font-size:.82rem}.inventory-hub-summary b{color:var(--ink)}.inventory-hub-table{overflow:auto}.inventory-hub-table .select-product{white-space:nowrap}.inventory-hub-table tr.is-selected td{background:var(--red-soft)}.inventory-hub-table .status-inactive{color:var(--muted);font-weight:750}.inventory-editor{margin-top:1rem}.inventory-product-identity{grid-column:span 2}.inventory-product-identity small{font-size:.68rem;color:var(--muted);font-weight:600;letter-spacing:0}.inventory-location-summary{margin:.4rem 0 .9rem}.inventory-location-summary:empty{display:none}.inventory-location-summary .location-card{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(160px,.85fr) repeat(3,minmax(110px,.55fr));gap:.7rem;align-items:stretch;padding:.78rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-size:.8rem;margin:.45rem 0}.location-name{display:grid;align-content:center;gap:.16rem;padding:.2rem}.location-name b{font-size:.92rem;font-weight:800}.location-name span{color:var(--muted);font-size:.72rem}.stock-available{display:grid;align-content:center;gap:.05rem;padding:.52rem .7rem;border-radius:var(--radius-sm);background:var(--good-soft);color:var(--good);border:1px solid #c6ead5}.stock-available small,.stock-detail small{font-size:.64rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.stock-available strong{font-size:1.55rem;line-height:1;font-variant-numeric:tabular-nums;font-weight:850}.stock-available span{font-size:.72rem;font-weight:700}.stock-available.is-low{background:var(--red-soft);color:var(--red-ink);border-color:var(--red-soft-line)}.stock-detail{display:grid;align-content:center;gap:.22rem;padding:.38rem .2rem}.stock-detail small{color:var(--muted)}.stock-detail b{font-size:.9rem;font-variant-numeric:tabular-nums}.inventory-location-summary .location-card b{font-weight:800}#inventory-hub-product-form>.inventory-operation-grid,.inventory-hub-save-row{grid-column:1/-1}.inventory-operation-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(540px,1.55fr) minmax(270px,.8fr);gap:1rem;margin-top:1rem;align-items:start}.inventory-operation-grid>section{height:100%;box-sizing:border-box}.inventory-operation-grid>section{padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.inventory-operation-grid h3{margin:.05rem 0 .2rem;font-size:.9rem;text-transform:none;letter-spacing:0;color:var(--ink)}.inventory-operation-grid .form-grid{margin:.7rem 0 0}.inventory-editor .form-grid button{align-self:end}.inventory-hub-save-row{display:flex;justify-content:flex-end;margin-top:.2rem}.inventory-hub-save-row button{min-width:min(100%,280px)}.inventory-hub-create-only{display:grid}.inventory-hub-table .date-cell{color:var(--muted);font-size:.72rem;white-space:nowrap}
@media(max-width:1100px){.inventory-hub-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-hub-query{grid-column:span 2}}@media(max-width:720px){.inventory-hub-heading{flex-direction:column}.inventory-hub-heading>button{width:100%}.inventory-hub-toolbar{grid-template-columns:1fr}.inventory-hub-query{grid-column:auto}.inventory-hub-toolbar button{width:100%}.inventory-hub-summary{align-items:flex-start;flex-direction:column}.inventory-location-summary .location-card{grid-template-columns:1fr 1fr}.inventory-operation-grid>section{padding:.75rem}}
@media(max-width:1300px){.inventory-operation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-operation-grid>section:last-child{grid-column:span 2}}@media(max-width:720px){.inventory-operation-grid{grid-template-columns:1fr}.inventory-operation-grid>section:last-child{grid-column:auto}.inventory-hub-save-row button{width:100%}}.inventory-operation-grid .form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.inventory-operation-grid .form-grid.compact label{overflow-wrap:anywhere}@media(max-width:540px){.inventory-operation-grid .form-grid.compact{grid-template-columns:1fr}}

@media(max-width:720px){.inventory-product-identity{grid-column:auto}}
.inventory-adjustment-preview{margin-top:.75rem;padding:.65rem .75rem;border-radius:8px;background:#eef2f7;color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums}.inventory-adjustment-preview b{color:var(--ink)}.inventory-adjustment-preview strong{font-size:1.05rem;color:var(--ink)}.inventory-adjustment-preview.is-valid{background:var(--good-soft);color:var(--good)}.inventory-adjustment-preview.is-valid strong{color:var(--good)}.inventory-adjustment-preview.is-invalid{background:var(--red-soft);color:var(--red-ink)}.inventory-hub-save-row button:disabled{cursor:wait;opacity:.72}
