/* Módulos operativos SIWEPE: caja, POS, promociones, importación y gastronomía. */
.ops-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;margin-bottom:18px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f2f7ff 100%);box-shadow:0 16px 42px rgba(32,73,128,.07)}
.ops-hero h2,.ops-hero p{margin:0}.ops-kicker{display:block;margin-bottom:7px;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ops-promo-hero{background:linear-gradient(135deg,#fff8ef,#fff 58%,#eef6ff)}.ops-food-hero{background:linear-gradient(135deg,#fff7ed,#fff 52%,#eef8f4)}
.ops-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.ops-summary-grid>article{min-height:112px;padding:19px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:0 10px 32px rgba(30,68,117,.05);display:flex;flex-direction:column;justify-content:center}.ops-summary-grid span{color:var(--muted);font-size:12px}.ops-summary-grid strong{margin:5px 0;font-size:23px;color:var(--text)}.ops-summary-grid small{color:#91a0b5}.ops-summary-wide{grid-column:1/-1}
.ops-two-cols{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:16px}.ops-history{padding:8px 18px 18px}.ops-history article{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.ops-history article:last-child{border:0}.ops-history div{display:flex;flex-direction:column;gap:3px}.ops-history span{font-size:11px;color:var(--muted)}.ops-ok{color:#13885d}.ops-warn{color:#c27416}
.ops-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:22px;color:var(--muted)}.ops-empty strong{color:var(--text);font-size:15px}.ops-empty span{font-size:12px}.ops-loading{grid-column:1/-1;padding:42px;text-align:center;color:var(--muted)}
.ops-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.ops-promo-card{padding:20px;border:1px solid var(--border);border-radius:18px;background:#fff;display:flex;flex-direction:column;gap:8px;box-shadow:0 12px 34px rgba(34,69,112,.05)}.ops-promo-card>b{font-size:20px;color:var(--blue)}.ops-promo-card>span,.ops-promo-card>small{color:var(--muted)}.ops-promo-top{display:flex;justify-content:space-between}.ops-promo-top button{border:0;background:none;color:var(--blue);cursor:pointer;font-size:11px}.ops-target-list{max-height:190px;overflow:auto;border:1px solid var(--border);border-radius:12px;padding:8px}.ops-target-list label{display:flex;gap:9px;align-items:center;padding:9px;border-radius:8px}.ops-target-list label:hover{background:#f4f8fd}
.ops-import-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px}.ops-dropzone{min-height:210px;border:1.5px dashed #91b7e6;border-radius:16px;background:#f5f9ff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--blue);cursor:pointer;transition:.2s}.ops-dropzone:hover{border-color:var(--blue);transform:translateY(-2px)}.ops-dropzone span,.ops-help p{color:var(--muted);font-size:11px}.ops-help{margin-top:18px}.ops-import-table td small{display:block;color:var(--muted)}
.ops-variant-row{padding:15px;margin-bottom:12px;border:1px solid #bfd6f3;border-radius:16px;background:linear-gradient(145deg,#f9fbff,#f3f8ff)}.ops-variant-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.ops-variant-title>div{display:grid;gap:3px}.ops-variant-title small{color:var(--muted);font-size:10px}.ops-variant-title button{border:0;background:none;color:#d64b4b;cursor:pointer}.ops-variant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ops-variant-grid label{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase}.ops-variant-grid input{width:100%;margin-top:5px;padding:10px;border:1px solid var(--border);border-radius:9px;background:#fff}.ops-variant-name{grid-column:span 2}.ops-check{display:flex;align-items:center;gap:7px}.ops-check input{width:auto;margin:0}.ops-variant-image{grid-column:span 2;min-height:66px;border:1px dashed #a9c8ed;border-radius:12px;background:#fff;display:flex;align-items:center;gap:12px;padding:8px}.ops-variant-image img{width:62px;height:62px;border-radius:10px;object-fit:cover}.ops-variant-image button{border:0;background:#fff0f0;color:#bd4242;border-radius:9px;padding:8px 10px;cursor:pointer}.ops-variant-upload{width:100%;cursor:pointer;text-align:center}.ops-variant-upload input{display:none}.ops-variant-upload span{display:block;margin-top:5px;color:var(--blue);text-transform:none}
.ops-variant-grid-entry{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-variant-grid label>span{font-weight:500;text-transform:none}.ops-variant-grid-entry .ops-variant-name,.ops-variant-grid-entry .ops-variant-image,.ops-variant-inherited{grid-column:1/-1}.ops-variant-grid-entry .ops-variant-qty{border:1px solid #b9d4f3;background:#eef6ff;border-radius:11px;padding:9px}.ops-variant-inherited{padding:9px 11px;border-radius:10px;background:#eaf4ff;color:#54708d;font-size:10px;line-height:1.45}.ops-variants-field>small.is-error{color:#bf4747!important}
.ops-variants-total-general{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 12px;padding:12px 14px;border:1px solid #b8d7c9;border-radius:13px;background:#f1fbf6;color:#27664d}.ops-variants-total-general strong{font-size:13px}.ops-variants-total-general span{color:#5d7d6e;font-size:11px;text-align:right}.ops-variants-total-general.is-error{border-color:#efb8b8;background:#fff5f5;color:#a83f3f}.ops-variants-total-general.is-error span{color:#b75b5b}
.plat-mod-opciones{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.plat-mod-opciones-label{display:block;margin-bottom:2px;color:#7c8ba3;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.plat-mod-opcion{display:grid;grid-template-columns:minmax(0,1fr) 96px 32px;align-items:center;gap:8px;padding:6px;border:1px solid var(--border);border-radius:11px;background:#fbfcfe}.plat-mod-opcion input{width:100%;margin:0;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:12.5px}.plat-mod-opcion input[data-mo="precio"]{text-align:right}.plat-mod-opcion button{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:8px;background:#fff0f0;color:#bd4242;font-size:16px;line-height:1;cursor:pointer}.plat-mod-opcion button:hover{background:#ffe1e1}
.product-images-count{display:block;margin:5px 0 9px;color:#58708d;font-weight:700}.product-images-count.is-full{color:#b96a19}.ops-variant-upload{padding:10px}.ops-variant-upload::before{content:'Foto vinculada a este color';display:block;color:#344f70;font-weight:700;text-transform:none}.ops-variant-upload span{font-size:11px}
.ops-multi-sizes{grid-column:1/-1;padding:12px;border:1px solid #b9d4f3;border-radius:13px;background:#fff}.ops-size-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.ops-size-heading strong{font-size:11px;color:#334e70;text-transform:uppercase}.ops-size-heading span{font-size:10px;color:var(--muted)}.ops-size-chips{display:flex;flex-wrap:wrap;gap:7px}.ops-size-chips button{min-width:42px;padding:8px 11px;border:1px solid #b9cce3;border-radius:10px;background:#f7faff;color:#425b78;font-weight:700;cursor:pointer}.ops-size-chips button.active{border-color:#2c83d3;background:#e7f3ff;color:#1769aa;box-shadow:0 0 0 2px rgba(44,131,211,.1)}.ops-custom-size{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:9px}.ops-custom-size input{margin:0!important}.ops-custom-size button{border:1px solid #b9cce3;border-radius:9px;background:#fff;color:#1769aa;font-weight:700;padding:0 13px;cursor:pointer}.ops-size-quantities{display:grid;gap:7px;margin-top:11px}.ops-size-quantities label{display:grid;grid-template-columns:minmax(90px,1fr) 90px 58px;align-items:center;gap:8px;padding:7px 9px;border-radius:10px;background:#eef6ff;text-transform:none}.ops-size-quantities input{margin:0!important;text-align:center}.ops-size-quantities small{color:var(--muted);font-weight:500}.ops-general-qty{display:block;margin-top:10px}.ops-general-qty>span{font-weight:500;text-transform:none}
.ops-size-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.ops-size-picker select{width:100%;min-height:42px;border:1px solid #b9cce3;border-radius:10px;background:#f8fbff;padding:0 11px;color:#334e70}.ops-size-picker button{border:0;border-radius:10px;background:#2c83d3;color:#fff;padding:0 15px;font-weight:750;cursor:pointer}.ops-size-empty{margin-top:10px;padding:10px;border-radius:10px;background:#f7f9fc;color:var(--muted);font-size:10px;text-align:center}.ops-general-stock{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.ops-general-stock label{display:block}.ops-size-line>span{display:flex;align-items:center;gap:6px}.ops-size-line>span button,.ops-size-stock-row>button{width:24px;height:24px;border:0;border-radius:50%;background:#fff0f0;color:#c74444;cursor:pointer;font-size:16px;line-height:1}.ops-size-stock-row{position:relative;display:grid;grid-template-columns:minmax(70px,.8fr) minmax(90px,1fr) minmax(90px,1fr) 28px;align-items:end;gap:8px;padding:8px 9px;border-radius:10px;background:#eef6ff}.ops-size-stock-row>strong{align-self:center;color:#334e70;font-size:11px}.ops-size-quantities .ops-size-stock-row label{display:block;grid-template-columns:none;gap:0;padding:0;border-radius:0;background:transparent;font-size:9px}.ops-size-stock-row input{margin-top:4px!important;text-align:center}.ops-size-stock-row>button{align-self:center}
.ops-combination-total{display:grid!important;grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:4px 12px;margin-bottom:10px;padding:10px 11px;border:1px solid #c8d9ed;border-radius:11px;background:#f8fbff;text-transform:none!important;color:#334e70!important}.ops-combination-total input{grid-column:2;grid-row:1/3;margin:0!important;text-align:center}.ops-combination-total small{font-weight:500;color:var(--muted);text-transform:none}.ops-size-assigned{display:block;margin-top:8px;color:#23825f;font-weight:700}.ops-size-assigned.is-error{color:#bf4747}
.ops-multi-sizes.is-stock-readonly input[readonly],.ops-size-stock-row.is-readonly input[readonly],.ops-general-stock.is-readonly input[readonly]{background:#edf3f9;color:#35516f;font-weight:750;border-color:#d4e0ec;cursor:default;pointer-events:none;appearance:textfield}.ops-multi-sizes.is-stock-readonly input[readonly]::-webkit-inner-spin-button{display:none}.ops-multi-sizes.is-stock-readonly .ops-combination-total{border-color:#d6e1ec;background:#f4f7fa}.ops-multi-sizes.is-stock-readonly .ops-size-heading span{color:#3973aa;font-weight:700}
.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:17px;align-items:start}.pos-products{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;margin-top:14px}.pos-product{min-height:105px;padding:10px;border:1px solid var(--border);border-radius:15px;background:#fff;display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer;transition:.18s}.pos-product:hover{border-color:#82abe0;box-shadow:0 10px 26px rgba(42,94,158,.1);transform:translateY(-2px)}.pos-product:disabled{opacity:.48;cursor:not-allowed;transform:none}.pos-product img,.pos-product-ph{width:70px;height:76px;object-fit:cover;border-radius:11px;background:#eef4fb;display:grid;place-items:center;font-size:22px}.pos-product>span{display:flex;min-width:0;flex-direction:column;gap:5px}.pos-product strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pos-product small{color:var(--muted)}.pos-product b{color:var(--blue)}.pos-ticket{position:sticky;top:78px;overflow:hidden}.pos-lines{max-height:320px;overflow:auto;padding:8px 18px}.pos-lines article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.pos-lines article>div:first-child{display:flex;flex-direction:column}.pos-lines span{color:var(--muted);font-size:11px}.pos-line-qty{display:flex;align-items:center;border:1px solid var(--border);border-radius:9px;overflow:hidden}.pos-line-qty button{border:0;background:#f4f7fb;padding:6px 9px;cursor:pointer}.pos-line-qty b{padding:0 8px}.pos-customer,.pos-payment{padding:12px 18px}.pos-customer input,.pos-payment input{width:100%;padding:11px;border:1px solid var(--border);border-radius:10px}.pos-change-preview{display:block;min-height:15px;margin-top:7px;font-size:12px;font-weight:700}.pos-change-preview.ok{color:var(--ok-text)}.pos-change-preview.warn{color:var(--error-text)}.pos-total{padding:16px 18px;border-block:1px solid var(--border);display:grid;grid-template-columns:1fr auto}.pos-total strong{font-size:23px}.pos-total small{grid-column:1/-1;color:#13885d}.pos-pay{width:100%;margin-top:12px}.ops-segmented{display:flex;padding:4px;border:1px solid var(--border);border-radius:12px;background:#eef3f9}.ops-segmented button{flex:1;padding:8px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}.ops-segmented button.active{background:#fff;color:var(--blue);font-weight:700;box-shadow:0 3px 10px rgba(24,63,111,.08)}.ops-status-pill{display:inline-flex;padding:9px 13px;border-radius:99px;font-weight:700;font-size:12px}.ops-status-pill.on{background:#e7f8f1;color:#137957}.ops-status-pill.off{background:#fff0ef;color:#c54b47}
.pos-mod-group{padding:13px 14px;border:1px solid var(--border);border-radius:14px;background:#fff}.pos-mod-group>strong{display:block;margin-bottom:9px;font-size:12.5px;color:#1f2430}.pos-mod-opt{display:flex;align-items:center;gap:9px;padding:10px 11px;margin-bottom:6px;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:.15s}.pos-mod-opt:last-child{margin-bottom:0}.pos-mod-opt:hover{border-color:#82abe0;background:#f7faff}.pos-mod-opt:has(input:checked){border-color:#438bd6;background:#eef7ff;box-shadow:0 0 0 2px rgba(67,139,214,.1)}.pos-mod-opt input{width:auto;margin:0;accent-color:#438bd6}.pos-mod-opt b{margin-left:auto;color:#13885d;font-size:11px;font-weight:800}
.pos-receipt{text-align:center;padding:4px 2px 0}.pos-receipt-check{width:54px;height:54px;margin:0 auto 14px;border-radius:50%;background:var(--ok-bg);color:var(--ok-text);display:grid;place-items:center}.pos-receipt-rows{display:grid;gap:8px;margin-bottom:10px;text-align:left}.pos-receipt-row{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border:1px solid var(--border);border-radius:11px;background:#fbfcfe;font-size:13px}.pos-receipt-row span{color:#7c8ba3}.pos-receipt-change{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;border-radius:14px;background:var(--ok-bg);color:var(--ok-text)}.pos-receipt-change span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.pos-receipt-change strong{font-size:23px}
.ops-choice-list{display:grid;gap:8px}.ops-choice-list button{display:flex;justify-content:space-between;align-items:center;padding:13px;border:1px solid var(--border);border-radius:12px;background:#fff;text-align:left;cursor:pointer}.ops-choice-list button.selected{border-color:#438bd6;background:#eef7ff;box-shadow:0 0 0 2px rgba(67,139,214,.1)}.ops-choice-list span{display:flex;flex-direction:column;gap:3px}.ops-choice-list small{color:var(--muted)}.ops-choice-list.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-choice-thumb{float:left;width:44px;height:44px;margin-right:9px;border-radius:8px;object-fit:cover}
.purchase-variant-distribution{border:1px solid #bfd6f3;border-radius:15px;padding:14px;background:#f7faff}.purchase-variant-line{display:grid!important;grid-template-columns:minmax(0,1fr) 100px;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--border);text-transform:none!important}.purchase-variant-line.is-original{margin:7px -5px 2px;padding:10px 5px;border-radius:10px;background:#eaf4ff}.purchase-variant-line>span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 9px}.purchase-variant-line img{grid-row:1/3;width:42px;height:42px;border-radius:9px;object-fit:cover}.purchase-variant-line small{color:var(--muted);font-weight:400}.purchase-variant-line input{margin:0!important;text-align:center}.purchase-variant-distribution>small{display:block;margin-top:9px;color:#23825f}.purchase-variant-distribution>small.is-error{color:#bf4747}
.gastro-tabs{max-width:430px;margin-bottom:17px}.gastro-view{display:none}.gastro-view.active{display:block}.mesa-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:14px}.mesa-grid article,.kitchen-board section{border:1px solid var(--border);border-radius:18px;background:#fff;padding:18px;box-shadow:0 10px 30px rgba(32,69,113,.05)}.kitchen-board{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:14px}.kitchen-board header{display:flex;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--border)}.kitchen-board article{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.kitchen-board article>div{display:flex;flex-direction:column}.kitchen-board span{color:var(--muted);font-size:11px}.comanda-modal-items article{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.comanda-modal-items article div{display:flex;flex-direction:column}.comanda-modal-items span{color:var(--muted)}.comanda-total{display:flex;justify-content:space-between;padding:18px 0;font-size:18px}.comanda-actions{flex-wrap:wrap}
.mesa-card{display:flex;min-height:164px;flex-direction:column;gap:7px}.mesa-card>span,.mesa-card>small{color:var(--muted);font-size:11px}.mesa-card>strong{font-size:19px}.mesa-card>div{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}.mesa-card>div b{font-size:11px;text-transform:capitalize}.mesa-card button{padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:#f5f8fc;color:var(--blue);cursor:pointer}.mesa-card.ocupada{border-color:#f0bd76;background:linear-gradient(145deg,#fff,#fff8ed)}
.ops-notify-btn{position:relative;width:38px;height:38px;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--text);display:grid;place-items:center;cursor:pointer}.ops-notify-btn span{position:absolute;right:-3px;top:-4px;min-width:17px;height:17px;border-radius:9px;background:#e24d4d;color:#fff;font-size:9px;place-items:center}.ops-notify-panel{position:fixed;z-index:120;top:0;right:0;width:min(420px,100vw);height:100dvh;background:#fff;box-shadow:-18px 0 50px rgba(17,41,75,.18);transform:translateX(105%);transition:.25s ease}.ops-notify-panel.open{transform:none}.ops-notify-head{padding:20px;display:flex;justify-content:space-between;border-bottom:1px solid var(--border)}.ops-notify-head>div{display:flex;flex-direction:column;gap:4px}.ops-notify-head span{font-size:11px;color:var(--muted)}.ops-notify-head button{border:0;background:none;font-size:24px;cursor:pointer}.ops-notify-list{padding:12px;overflow:auto;height:calc(100dvh - 80px)}.ops-notify-item{width:100%;display:flex;gap:12px;padding:14px;border:0;border-bottom:1px solid var(--border);background:#fff;text-align:left;cursor:pointer}.ops-notify-item.read{opacity:.62}.ops-notify-item>span{width:9px;height:9px;border-radius:50%;margin-top:5px;background:#e1a33f}.ops-notify-item>span.vencida{background:#dd5151}.ops-notify-item div{display:flex;flex-direction:column;gap:4px}.ops-notify-item p{margin:0;color:var(--muted);font-size:12px}.ops-notify-item small{color:#8a99ad}
@media(max-width:1180px){.ops-summary-grid{grid-template-columns:repeat(2,1fr)}.ops-card-grid,.kitchen-board{grid-template-columns:repeat(2,1fr)}.pos-products{grid-template-columns:repeat(2,1fr)}.mesa-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.ops-hero{align-items:flex-start;flex-direction:column}.ops-two-cols,.ops-import-grid,.pos-layout{grid-template-columns:1fr}.pos-ticket{position:static}.ops-variant-grid{grid-template-columns:repeat(2,1fr)}.mesa-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ops-hero{padding:18px}.ops-summary-grid,.ops-card-grid,.kitchen-board,.pos-products,.mesa-grid{grid-template-columns:1fr}.ops-variant-grid,.ops-choice-list.compact{grid-template-columns:1fr}.ops-variant-name,.ops-variant-image{grid-column:1/-1}.purchase-variant-line{grid-template-columns:minmax(0,1fr) 78px}.ops-two-cols{display:block}.ops-two-cols>.card+ .card{margin-top:14px}.pos-lines article{grid-template-columns:1fr auto}.pos-lines article>strong{grid-column:1/-1}.ops-notify-panel{width:100%}.ops-hero .page-actions{width:100%;display:grid}.ops-hero .page-actions .btn{width:100%}.ops-size-heading{align-items:flex-start;flex-direction:column}.ops-size-picker,.ops-custom-size{grid-template-columns:1fr}.ops-size-picker button,.ops-custom-size button{min-height:40px}.ops-size-stock-row{grid-template-columns:1fr 1fr}.ops-size-stock-row>strong{grid-column:1/-1}.ops-size-stock-row>button{position:absolute;right:24px}.ops-general-stock{grid-template-columns:1fr}.ops-combination-total{grid-template-columns:1fr}.ops-combination-total input{grid-column:1;grid-row:auto}.ops-variants-total-general{align-items:flex-start;flex-direction:column}.ops-variants-total-general span{text-align:left}.plat-mod-opcion{grid-template-columns:minmax(0,1fr) 76px 28px;padding:5px}.plat-mod-opcion button{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){.ops-dropzone,.pos-product,.ops-notify-panel{transition:none}}
