/* Ceviche POS · aplicación táctil aislada de estilos de Elementor/tema */
.ceviche-pos,.ceviche-pos *{box-sizing:border-box}
.ceviche-pos{--cv-navy:#06243b;--cv-dark:#0b344b;--cv-blue:#006CB3;--cv-action:#006CB3;--cv-sky:#5EBBEB;--cv-bg:#f3f7f9;--cv-ink:#102f43;--cv-muted:#6d8493;--cv-line:#e3eaf0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--cv-ink);background:var(--cv-bg);padding:clamp(14px,2vw,28px);border-radius:20px;max-width:1600px;margin:18px auto;line-height:1.4;font-size:16px;-webkit-font-smoothing:antialiased}
.ceviche-pos button,.ceviche-pos input{font-family:inherit}
.ceviche-pos button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .12s,box-shadow .15s;border:0}
.ceviche-pos button:focus-visible{outline:3px solid #5EBBEB;outline-offset:3px}
.ceviche-pos h2,.ceviche-pos h3,.ceviche-pos p{margin:0;color:inherit;line-height:1.25}
.cv-topbar{background:linear-gradient(112deg,#00283f,#0d4b62);color:white;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 30px;margin-bottom:22px;border-radius:18px}
.cv-overline{font-size:10px;letter-spacing:2px;font-weight:800;opacity:.7;margin-bottom:7px}
.ceviche-pos .cv-topbar h2{font-size:clamp(25px,3vw,37px);font-weight:800;letter-spacing:-.8px;color:white}
.cv-date{font-size:13px;color:#a8c7d4;margin-top:5px;text-transform:capitalize}
.cv-daily{min-width:180px;text-align:right;display:flex;flex-direction:column;gap:3px}
.cv-daily>span{color:#acd2df;font-size:13px}.cv-daily strong{color:white;font-size:30px;font-weight:850;line-height:1.1;font-variant-numeric:tabular-nums}.cv-daily small{font-size:11px;color:#afd1d9}
.cv-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(335px,.9fr);align-items:start;gap:20px}
.cv-shop,.cv-checkout{background:white;border:1px solid var(--cv-line);border-radius:19px;padding:clamp(16px,2.2vw,27px);min-width:0;box-shadow:0 4px 20px #1e48640a}
.cv-section-title{margin-bottom:20px}.cv-section-title h3,.cv-checkout h3{font-size:21px;font-weight:850;letter-spacing:-.4px}.cv-section-title p{font-size:13px;color:var(--cv-muted);margin-top:6px}
.cv-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ceviche-pos .cv-product{position:relative;background:#f8fbfc;color:var(--cv-ink);border:1.5px solid #e3ecf0;border-radius:16px;min-height:160px;padding:18px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;box-shadow:none;width:100%}
.ceviche-pos .cv-product:hover,.ceviche-pos .cv-product:focus-visible{background:#edf9f8;border-color:var(--cv-action);box-shadow:0 7px 17px #0e85801a;transform:translateY(-2px)}
.ceviche-pos .cv-product:active{transform:scale(.97)}.cv-product-emoji{font-size:35px;line-height:1.1}.cv-product-name{font-size:14px;font-weight:700;min-height:35px;display:flex;align-items:center;justify-content:center}.cv-product>strong{font-size:23px;color:var(--cv-blue);font-weight:850}
.cv-count{position:absolute;top:9px;right:9px;min-width:27px;height:27px;border-radius:40px;line-height:27px;text-align:center;background:var(--cv-action);color:white;font-size:13px;font-weight:800}.cv-count[hidden]{display:none}
@keyframes cv-bump{0%{transform:scale(1)}40%{transform:scale(.94)}100%{transform:scale(1)}}.cv-added{animation:cv-bump .22s}
.cv-helper{display:flex;align-items:flex-start;gap:8px;background:#f1faf8;border-radius:12px;padding:14px;margin-top:18px;color:#327569;font-size:12px;font-weight:550}.cv-helper span{color:var(--cv-action);font-size:17px}
.cv-checkout{position:sticky;top:25px}.cv-checkout-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:17px}.cv-checkout-header .cv-overline{color:#6b8594}.ceviche-pos .cv-clear{background:#f5f7fa;color:#647b89;border-radius:9px;padding:10px 13px;font-size:12px;font-weight:700}.ceviche-pos .cv-clear:hover{background:#fde8e7;color:#ba4141}
.cv-cart{min-height:146px;max-height:350px;overflow-y:auto;overscroll-behavior:contain;padding-right:3px}.cv-empty{height:145px;border:1.5px dashed #d4e0e7;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;text-align:center;color:#89a0aa}.cv-empty>span:first-child{font-size:31px}.cv-empty strong{font-size:13px;color:#526e80}.cv-empty>span:last-child{font-size:12px}
.cv-item{padding:11px 1px;border-bottom:1px solid #e9eef2;display:flex;align-items:center;justify-content:space-between;gap:10px}.cv-item-info{display:flex;flex-direction:column;gap:4px;min-width:0}.cv-item-info strong{font-size:13px;line-height:1.3;color:var(--cv-ink)}.cv-item-info span{font-size:12px;color:var(--cv-muted)}.cv-item-action{display:flex;align-items:center;gap:12px;flex-shrink:0}.cv-item-action>strong{font-size:14px;min-width:50px;text-align:right;color:#163e50}.cv-qty{display:flex;align-items:center;gap:8px;background:#f2f6f8;border-radius:10px;padding:4px}.ceviche-pos .cv-qty button{background:white;color:#0c5062;min-width:33px;height:33px;display:grid;place-items:center;border-radius:8px;font-size:22px;font-weight:650;padding:0;box-shadow:0 1px 3px #1232}.cv-qty span{font-weight:800;min-width:19px;text-align:center;font-size:14px}
.cv-total-box{display:flex;flex-direction:column;gap:3px;background:#eaf7f5;border:1px solid #cfece6;border-radius:14px;padding:17px 20px;margin-top:16px}.cv-total-box span{font-size:13px;font-weight:800;color:#348479}.cv-total-box strong{font-size:42px;line-height:1.13;letter-spacing:-1px;color:#064940;font-weight:850;font-variant-numeric:tabular-nums}.cv-total-box small{font-size:11px;color:#5b9e93}
.cv-payment{margin-top:20px}.cv-field-label{font-size:12px;font-weight:800;margin-bottom:10px;color:#4d6674}.cv-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.ceviche-pos .cv-method{background:#f7f9fa;border:1.5px solid #dfebef;color:#657f8a;border-radius:10px;min-height:49px;padding:9px 4px;font-size:12px;font-weight:700}.ceviche-pos .cv-method.is-selected{background:#e6f8f5;border-color:var(--cv-action);color:#00786d}
.cv-cash{margin-top:15px}.cv-cash[hidden]{display:none}.cv-cash label{display:block;font-size:12px;font-weight:700;color:#4d6674;margin-bottom:7px}.cv-cash input{width:100%;height:49px;border:1.5px solid #dbe7eb;border-radius:9px;font-size:20px;font-weight:700;padding:10px 14px;color:#154258;background:white}.cv-change{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:13px;color:#6c828d}.cv-change strong{color:#077e76;font-size:18px}.cv-change.is-missing strong{color:#e05151}
.ceviche-pos .cv-pay{width:100%;min-height:66px;margin-top:20px;background:var(--cv-action);color:white;border-radius:12px;font-size:17px;font-weight:800;padding:12px 17px;display:flex;justify-content:space-between;gap:8px;align-items:center;box-shadow:0 7px 15px #006CB333}.ceviche-pos .cv-pay:not(:disabled):hover{background:#008f85}.ceviche-pos .cv-pay:disabled{background:#abbec5;box-shadow:none;cursor:not-allowed}.cv-pay>span{font-size:20px;font-variant-numeric:tabular-nums}
.cv-message{font-size:13px;min-height:19px;margin-top:12px!important;color:#148476;line-height:1.4!important}.cv-message.is-error{color:#d34a4a}.cv-last{background:#f4f9fc;border:1px solid #dcebf2;border-radius:10px;padding:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap;font-size:12px;font-weight:700}.cv-last[hidden]{display:none}.ceviche-pos .cv-last button{border-radius:7px;padding:10px 12px;background:#d9edfa;color:#006CB3;font-size:12px;font-weight:700}
.ceviche-access{border:1px solid #dce7ef;background:#f6faff;border-radius:12px;padding:25px;max-width:600px;margin:20px auto;text-align:center;font-size:15px}.ceviche-access a{color:#006CB3;text-decoration:underline}
#cv-print-paper{display:none}
@media(max-width:1030px){.cv-layout{grid-template-columns:minmax(0,1fr) minmax(305px,.85fr)}.cv-product-grid{grid-template-columns:repeat(2,1fr)}.cv-product{min-height:150px!important}}
@media(max-width:730px){.ceviche-pos{margin:0 auto;padding:10px;border-radius:0}.cv-topbar{padding:18px 16px;align-items:center;gap:10px;border-radius:13px}.cv-daily{min-width:120px}.cv-daily strong{font-size:23px}.cv-layout{grid-template-columns:1fr;gap:12px}.cv-shop,.cv-checkout{padding:15px;border-radius:14px}.cv-checkout{position:static}.cv-product-grid{grid-template-columns:repeat(3,1fr);gap:9px}.ceviche-pos .cv-product{min-height:124px!important;padding:10px 5px;gap:5px;border-radius:12px}.cv-product-emoji{font-size:26px}.cv-product-name{font-size:11px;min-height:33px}.cv-product>strong{font-size:19px}.cv-total-box strong{font-size:37px}.cv-cart{max-height:270px}}
@media(max-width:420px){.cv-product-grid{grid-template-columns:repeat(2,1fr)}.cv-topbar h2{font-size:22px!important}.cv-daily strong{font-size:20px}}
@media print{body *{visibility:hidden!important}.ceviche-pos #cv-print-paper,.ceviche-pos #cv-print-paper *{visibility:visible!important}#cv-print-paper{display:block!important;position:absolute;left:0;top:0;width:80mm;padding:8mm;background:#fff;color:#000}.cv-receipt{font-family:monospace;font-size:11px;line-height:1.5}.cv-receipt>h2{text-align:center;font-size:20px}.cv-receipt>div{display:flex;justify-content:space-between;gap:8px;margin:7px 0}.cv-receipt hr{border:0;border-top:1px dashed #888;margin:10px 0}}
/* v1.1: armado de ceviches, grupos independientes y comanda para cocina */
.cv-register-panel{margin-top:18px;padding:15px;background:#f0f8fb;border:1.5px solid #d9eaf0;border-radius:14px}
.cv-draft{min-height:50px;display:flex;align-items:center;font-size:13px;color:#35586c;margin-bottom:12px;line-height:1.5}
.cv-draft-empty{display:block;color:#658393}
.cv-draft-active{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}
.cv-draft-active strong{display:block;font-size:14px;color:#194358}
.cv-draft-parts{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.cv-draft-parts>span{background:white;border-radius:6px;padding:3px 7px;font-size:12px;color:#436e7f}
.ceviche-pos .cv-draft-active button{color:#ac4650;background:#fff;border:1px solid #efcdcf;border-radius:8px;padding:8px 12px;font-size:12px;min-height:39px;flex-shrink:0}
.ceviche-pos .cv-register{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#006CB3;color:#fff;border-radius:12px;padding:15px 18px;min-height:59px;font-size:17px;font-weight:800;box-shadow:0 4px 11px #006CB322}
.ceviche-pos .cv-register strong{font-size:19px;white-space:nowrap}
.ceviche-pos .cv-register:disabled{opacity:.53;cursor:not-allowed;box-shadow:none}
.ceviche-pos .cv-register:not(:disabled):hover{background:#133f83}
.cv-register-note{font-size:12px;margin-top:9px;line-height:1.45;color:#6a8697}
.cv-comanda-item{align-items:flex-start;gap:6px;background:#f8fbfe;border-left:3px solid #006CB3;padding:12px 10px;margin:6px 0;border-bottom:0;border-radius:8px}
.cv-comanda-item .cv-item-info{flex:1}
.cv-comanda-title{font-size:13px!important;color:#173e60!important}
.cv-comanda-topping{display:block;margin:4px 0;color:#3c6274;font-size:12px}
.cv-no-topping{color:#7591a0;font-size:12px}
.cv-comanda-tools{display:flex;gap:10px;margin-top:6px}
.ceviche-pos .cv-comanda-tools button{min-height:32px;border-radius:7px;background:#eaf0f7;color:#006CB3;padding:5px 9px;font-size:12px;font-weight:750}
.ceviche-pos .cv-comanda-tools button:last-child{background:#fff0f0;color:#bb3d48}
.cv-line-price{font-size:15px;white-space:nowrap;color:#0c4a62;margin-top:2px}
.cv-pending{margin-top:14px;padding:10px 13px;background:#fff5dd;border:1px solid #ecd9a3;color:#885e23;border-radius:9px;font-size:12px;font-weight:700;line-height:1.5}
.cv-pending[hidden]{display:none}
.cv-print-actions{display:flex;gap:7px;flex-wrap:wrap}
.ceviche-pos .cv-print-actions #cv-print-command{background:#006CB3;color:white}
@media(max-width:730px){.cv-register-panel{padding:12px}.ceviche-pos .cv-register{font-size:16px;padding:13px 12px}}
@media print{
  .cv-receipt>strong{display:block;text-align:center}.cv-receipt>p{text-align:center}
  .cv-print-group{padding:9px 0;border-bottom:1px dashed #aaa;break-inside:avoid}
  .cv-print-primary,.cv-print-extrarow,.cv-print-total{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
  .cv-print-primary b{font-size:12px}
  .cv-print-addon{padding-left:9px;font-size:11px;line-height:1.8}
  .cv-print-extras-label{margin-top:13px;margin-bottom:7px;font-size:11px;font-weight:bold;text-decoration:underline}
  .cv-print-extrarow{margin:4px 0}
  .cv-print-total{font-size:15px;margin:11px 0}
  .cv-kitchen-alert{font-weight:bold;text-align:center;font-size:11px}
}

.cv-draft-topping{display:inline-flex;align-items:center;gap:6px;background:#fff;border-radius:8px;padding:2px 4px!important;color:#35586b}
.ceviche-pos .cv-draft-topping button{background:#e7f1f8;color:#006CB3;width:32px;height:33px;padding:0;border-radius:7px;font-size:20px;line-height:1;display:grid;place-items:center;font-weight:800}
.cv-comanda-addons{margin-top:3px}
/* v1.2 · Tarjetas de sellos y canje desde el punto de venta */
.cv-loyalty-box{margin-top:18px;background:#f7fafc;border:1px solid #dce8f0;border-radius:14px;padding:15px}
.cv-loyalty-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
.cv-loyalty-label{color:#007a75;font-size:10px;letter-spacing:1.5px;font-weight:850}
.ceviche-pos .cv-loyalty-head h4{margin:3px 0 0;font-size:16px;line-height:1.3;color:#0e3448}
.ceviche-pos #cv-loyalty-unlink{background:#e7eff6;border-radius:8px;padding:8px 12px;font-size:12px;color:#006CB3;font-weight:700}
.cv-loyalty-box [hidden]{display:none!important}
.cv-loyalty-box label{display:block;font-size:12px;font-weight:700;margin-bottom:8px;color:#517083}
.cv-loyalty-search{display:flex;gap:7px;align-items:stretch}
.cv-loyalty-box input{min-width:0;width:100%;height:44px;padding:10px 12px;border:1.5px solid #dce4e9;border-radius:9px;font-size:15px;background:#fff;color:#122f42;box-shadow:none}
.ceviche-pos .cv-loyalty-search button,.ceviche-pos .cv-loyalty-fields button{background:#006CB3;color:#fff;padding:9px 13px;border-radius:9px;min-height:44px;font-size:13px;font-weight:800}
.cv-loyalty-register{margin-top:12px;border-top:1px dashed #d4e2eb;padding-top:13px}
.cv-loyalty-register summary{cursor:pointer;font-size:13px;color:#006CB3;font-weight:800;list-style:revert}
.cv-loyalty-fields{display:grid;gap:9px;padding-top:12px}
.cv-loyalty-alert{margin-top:9px;color:#16806f;font-size:12px;line-height:1.5;min-height:10px}
.cv-loyalty-alert.error{color:#c74454}
#cv-customer-selected{display:flex;flex-direction:column;gap:5px;background:#e9f8f1;border:1px solid #c7ebd8;border-radius:9px;padding:11px}
#cv-customer-selected strong{font-size:14px;color:#144b36}
#cv-customer-selected small{font-size:12px;color:#36795b}
#cv-customer-selected a{font-size:12px;font-weight:700;color:#006CB3;text-decoration:underline}
.ceviche-pos #cv-gift-add{display:block;margin-top:11px;width:100%;text-align:center;min-height:52px;border-radius:10px;padding:10px;background:#e2f5e8;color:#08724d;font-size:13px;font-weight:800;border:1px solid #b3dfc1}
.ceviche-pos #cv-gift-add:disabled{opacity:.5}
.cv-gift-badge{display:inline-block;background:#daf6e6;padding:3px 6px;border-radius:6px;color:#087d48;font-size:10px;font-weight:800}
.cv-last-loyalty-link{display:inline-block;margin-top:7px;color:#006CB3;font-size:12px;text-decoration:underline}
.cv-config{max-width:730px;padding:18px 25px;background:#fff;border-radius:14px;border:1px solid #dfe8ee}
.cv-config label{font-size:13px;font-weight:600}
@media(max-width:730px){.cv-loyalty-box{padding:12px}.cv-loyalty-search{flex-wrap:nowrap}.cv-loyalty-box input{font-size:16px}}
.ceviche-pos #cv-scan-qr{padding:6px 10px;min-height:44px;border-radius:9px;background:#e5eef7;color:#006CB3;white-space:nowrap;font-size:12px;font-weight:750}
.cv-customer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.cv-customer-actions a{font-size:12px!important}
.ceviche-pos .cv-customer-actions button{border:1px solid #a5d2bd;background:white;border-radius:7px;color:#125d42;font-size:12px;padding:6px 8px}
.cv-camera-box{margin:12px 0;border:2px solid #dcebf0;background:#fff;border-radius:10px;padding:7px;text-align:center}
.cv-camera-box video{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:8px;background:#141414}
.ceviche-pos .cv-camera-box button{border-radius:7px;background:#d7e9f3;color:#006CB3;padding:9px 12px;margin-top:8px;font-size:12px}

/* v1.3: entrega de tarjetas digitales locales, QR listo para tablet */
.cv-customer-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px;align-items:stretch}
.ceviche-pos .cv-customer-actions button,.cv-customer-actions a{border:1px solid #bfd9ee;padding:9px 11px;min-height:42px;border-radius:9px;text-decoration:none;color:#006CB3;background:#edf5fc;font-size:12px;font-weight:750;display:inline-flex;align-items:center;justify-content:center}
.ceviche-pos .cv-customer-actions #cv-show-customer-qr{background:#006CB3;color:white;border-color:#006CB3}
.ceviche-pos .cv-customer-actions #cv-whatsapp-customer{background:#e4f8ed;color:#167a4c;border-color:#b9e8cd}
.ceviche-pos #cv-last-text button{border:0;background:none;color:#006CB3;padding:0;font-size:12px;text-decoration:underline}
.cv-card-share-overlay{position:fixed;z-index:999999;inset:0;background:#001f36ce;display:flex;align-items:center;justify-content:center;padding:12px;overflow:auto}
.cv-card-share-dialog{width:min(430px,100%);background:#fff;border-radius:20px;padding:20px;box-shadow:0 25px 90px #0005;max-height:96vh;overflow-y:auto}
.cv-card-share-head{display:flex;justify-content:space-between;gap:14px;align-items:start}
.cv-card-share-head h3{font-size:19px;color:#053759;margin:0}.cv-card-share-head p{font-size:12px;color:#6d8190;margin:5px 0 0}
.ceviche-pos .cv-card-share-close{padding:5px 10px;background:#f0f5f9;color:#006CB3;border-radius:9px;font-size:18px}
.cv-card-share-qr{width:min(270px,90%);aspect-ratio:1;margin:18px auto;background:#fff;border:1px solid #edf0f4;border-radius:13px;padding:11px;display:grid;place-items:center;overflow-wrap:anywhere}
.cv-card-share-qr svg{width:100%;height:100%;display:block}
.cv-card-share-explain{text-align:center;font-size:13px!important;line-height:1.5!important;color:#5b7688!important;margin:0 auto 16px!important;max-width:320px}
.cv-card-share-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.ceviche-pos .cv-card-share-buttons button{min-height:48px;padding:8px;background:#006CB3;color:#fff;border-radius:10px;font-size:13px;font-weight:800}
.ceviche-pos .cv-card-share-buttons button:first-child{background:#168351}


/* v1.3.2 · Lector QR siempre visible en tablet, iPad, Android y escritorio. */
.ceviche-pos #cv-scan-qr.cv-scan-cta{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;margin-top:11px;padding:11px 14px;border-radius:11px;background:#006CB3;color:#fff;font-size:15px;font-weight:800;text-align:center;box-shadow:0 5px 14px #006CB325}
.ceviche-pos #cv-scan-qr.cv-scan-cta:hover,.ceviche-pos #cv-scan-qr.cv-scan-cta:focus-visible{background:#153f7b;color:#fff}
.cv-scan-cta span{font-size:24px;line-height:1}
.ceviche-pos .cv-qr-reader-dialog[hidden],.ceviche-pos .cv-qr-reader-dialog [hidden]{display:none!important}
.ceviche-pos .cv-qr-reader-dialog{position:fixed;z-index:1000000;inset:0;background:#071d2dde;display:flex;align-items:center;justify-content:center;overflow:auto;padding:12px;overscroll-behavior:contain}
.cv-qr-reader-panel{width:min(500px,100%);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;border-radius:19px;background:#fff;padding:16px;box-shadow:0 20px 70px #0005}
.cv-qr-reader-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.ceviche-pos .cv-qr-reader-head h3{font-size:22px;font-weight:850;color:#06243b;margin:0}
.ceviche-pos .cv-qr-reader-head p{font-size:13px;line-height:1.45;color:#668297;margin-top:5px}
.ceviche-pos #cv-qr-reader-close{background:#eff3f6;color:#123b55;border-radius:9px;min-width:44px;min-height:44px;padding:8px;font-size:21px}
.cv-qr-reader-preview{position:relative;background:#061e31;border-radius:13px;overflow:hidden;aspect-ratio:1.15;display:grid;place-items:center}
.cv-qr-reader-preview video{display:block;width:100%;height:100%;object-fit:cover;max-height:350px;background:#061e31}
.cv-qr-reader-target{position:absolute;inset:18%;pointer-events:none;border:3px solid #68e8cb;border-radius:18px;box-shadow:0 0 0 999px #09182925}
.ceviche-pos #cv-qr-reader-status{font-size:13px;line-height:1.5;font-weight:650;min-height:38px;margin:12px 0 8px;color:#276072;text-align:center;overflow-wrap:anywhere}
.ceviche-pos #cv-qr-reader-status.cv-qr-reader-error{color:#b73849}
.ceviche-pos .cv-qr-reader-photo{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:10px 15px;border-radius:10px;background:#ecf4fc;color:#006CB3;font-size:14px;font-weight:800}
.ceviche-pos .cv-qr-reader-hint{margin-top:11px;font-size:12px;line-height:1.5;color:#668297;text-align:center}
@media(max-width:730px){.ceviche-pos #cv-scan-qr.cv-scan-cta{min-height:58px;font-size:15px}.cv-qr-reader-panel{padding:13px}.cv-qr-reader-preview{aspect-ratio:1.25}}

/* Ceviche To Go · marca configurable y sellado manual posventa v1.3.3 */
.ceviche-pos .cv-shop-identity{display:flex;align-items:center;gap:15px}
.ceviche-pos .cv-brand-logo{display:block;object-fit:contain;width:100%;height:100%}
.ceviche-pos .cv-brand-monogram{display:inline-grid;place-items:center;flex-shrink:0;font-weight:900;letter-spacing:-.07em;border-radius:12px;background:#ffdc66;color:#00324a}
.ceviche-pos .cv-shop-logo{width:70px;height:70px;object-fit:contain;border-radius:13px;background:#fff;padding:4px}
.ceviche-pos .cv-brand-monogram.cv-shop-logo{font-size:21px}
.ceviche-pos .cv-product-brand{height:42px;width:65px;max-width:90%;object-fit:contain;border-radius:7px}
.ceviche-pos .cv-brand-monogram.cv-product-brand{font-size:20px}
.ceviche-pos .cv-loyalty-brand{width:27px;height:27px;border-radius:5px;vertical-align:middle;display:inline-flex;margin-right:5px;object-fit:contain}
.ceviche-pos .cv-brand-monogram.cv-loyalty-brand{font-size:9px}
.ceviche-pos .cv-draft-brand{width:27px;height:27px;margin-right:6px;display:inline-flex;vertical-align:middle}
.ceviche-pos .cv-brand-monogram.cv-draft-brand{font-size:9px}
.ceviche-pos .cv-manual-stamp{margin-top:13px;padding:14px;border-radius:12px;border:1px solid #86c8bb;background:#eaf8f2;display:grid;gap:9px}
.ceviche-pos .cv-manual-stamp[hidden]{display:none}
.ceviche-pos .cv-manual-stamp>strong{font-size:14px;color:#15594b}
.ceviche-pos .cv-manual-stamp>small{font-size:12px;line-height:1.5;color:#376f62}
.ceviche-pos .cv-stamp-button{background:#087860;color:white;font-weight:800;padding:14px 11px;border-radius:11px;border:0;font-size:16px;min-height:53px}
.ceviche-pos .cv-stamp-button:disabled{background:#b5cfc7;color:#395f54;cursor:not-allowed}
.ceviche-pos #cv-stamp-result{color:#146b57;font-size:12px;line-height:1.5}
.ceviche-pos #cv-stamp-result.error{color:#bd4252}
@media(max-width:730px){.ceviche-pos .cv-shop-logo{height:54px;width:54px}.ceviche-pos .cv-brand-monogram.cv-shop-logo{font-size:16px}}

/* Marca y experiencia de inicio PWA: sin limón ni marcas inventadas. */
.cv-launch-screen{position:fixed!important;inset:0;z-index:2147480000!important;background:#053759!important;display:grid!important;place-items:center!important;padding:30px!important;overflow:hidden!important;color:#fff!important;animation:cv-splash-out .4s ease 1.4s forwards}
.cv-launch-screen.is-done{animation:cv-splash-out .36s ease forwards!important;pointer-events:none!important}
.cv-launch-content{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;max-width:92vw;font-family:system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif}
.cv-launch-content>.cv-launch-logo{width:130px;height:130px;object-fit:contain;padding:12px;background:white;border-radius:28px;box-shadow:0 20px 40px #0004}
.cv-launch-content>.cv-brand-monogram.cv-launch-logo{display:grid!important;place-items:center;font-size:43px;font-weight:900;letter-spacing:-.07em;color:#053759;background:white}
.cv-launch-content>strong{font-weight:900;letter-spacing:.075em;font-size:clamp(19px,5vw,29px);color:white}
.cv-launch-content>span{font-size:14px;opacity:.83;color:white}
.cv-launch-progress{width:130px;height:4px;border-radius:12px;background:linear-gradient(90deg,#006CB3 0%,#ffd857 65%,transparent 100%);transform-origin:left center;animation:cv-splash-load 1.25s ease-in-out both}
@keyframes cv-splash-out{to{opacity:0;visibility:hidden;pointer-events:none}}
@keyframes cv-splash-load{from{transform:scaleX(.1)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.cv-launch-progress{animation:none}.cv-launch-screen{animation:cv-splash-out .1s ease 0.2s forwards}}

.ceviche-pos .cv-header-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.ceviche-pos .cv-install-button{border:1px solid #bfd9eb;background:#fff;color:#053759;border-radius:12px;padding:12px;font-weight:800;font-size:13px;min-height:44px;cursor:pointer}
.ceviche-pos .cv-install-help{font-size:13px;line-height:1.6;padding:12px;border-radius:10px;background:#edf5fb;color:#173b50}
.ceviche-pos .cv-install-help[hidden]{display:none}
@media(max-width:670px){.ceviche-pos .cv-header-tools{width:100%;justify-content:space-between}.ceviche-pos .cv-install-button{font-size:12px}}

.ceviche-pos .cv-stamp-skip{border:0;background:transparent;color:#315a68;text-decoration:underline;font-size:12px;padding:7px 4px;min-height:35px;cursor:pointer}

/* v1.3.5 — Logotipo oficial horizontal Ceviche To Go. Mantener proporción y transparencia. */
.ceviche-pos .cv-shop-logo{width:135px;max-width:25vw;height:72px;object-fit:contain;border-radius:12px;padding:8px 10px;background:#fff}
.ceviche-pos .cv-product-brand{width:83px;max-width:100%;height:48px;border-radius:7px}
.ceviche-pos .cv-draft-brand{width:55px;height:33px;object-fit:contain}
.ceviche-pos .cv-loyalty-brand{width:47px;height:29px;object-fit:contain}
.ceviche-pos .cv-draft-empty{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cv-launch-content>.cv-launch-logo{width:min(310px,78vw);height:auto;aspect-ratio:1.85;max-height:195px;padding:18px;background:#fff;object-fit:contain;border-radius:26px}
@media(max-width:730px){.ceviche-pos .cv-shop-logo{width:104px;max-width:29vw;height:58px;padding:7px}.ceviche-pos .cv-product-brand{width:72px;height:44px}}

.cv-header-tools .cv-admin-entry{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:10px 16px;border:1px solid #a6c2e6;border-radius:11px;background:#eaf4ff;color:#174679;text-decoration:none;font-size:12px;font-weight:750;white-space:nowrap}.cv-header-tools .cv-admin-entry:hover{background:#d8ebff}


/* v1.4.0 — Controles y bordes CevicheToGo. No afecta impresión ni semáforos funcionales. */
.ceviche-pos{
  --cv-blue:#006CB3;--cv-action:#006CB3;--cv-sky:#5EBBEB;--cv-navy:#053759;
  --cv-line:#D6E7F1;--cv-focus:#5EBBEB;
}
.ceviche-pos .cv-topbar{background:linear-gradient(112deg,#053759 0%,#006CB3 100%)}
.ceviche-pos .cv-shop,.ceviche-pos .cv-checkout,.ceviche-pos .cv-register-panel,
.ceviche-pos .cv-loyalty-box,.ceviche-pos .cv-config,
.ceviche-pos .cv-card-share-dialog,.ceviche-pos .cv-qr-reader-panel{border:1px solid #D6E7F1}
.ceviche-pos .cv-product{border-color:#CBE3F1;background:#F7FBFE}
.ceviche-pos .cv-product:hover,.ceviche-pos .cv-product:focus-visible{
  background:#EAF6FD;border-color:#006CB3;box-shadow:0 7px 17px rgba(0,108,179,.13)
}
.ceviche-pos .cv-product:active{background:#DBF0FC}
.ceviche-pos .cv-count{background:#006CB3;color:#fff}
.ceviche-pos .cv-helper{background:#EDF8FF;color:#285A78}
.ceviche-pos .cv-helper span{color:#006CB3}
.ceviche-pos .cv-total-box{background:#EAF6FD;border-color:#B4DBF1}
.ceviche-pos .cv-total-box span{color:#22678D}
.ceviche-pos .cv-total-box strong{color:#053759}
.ceviche-pos .cv-total-box small{color:#3C799B}
.ceviche-pos .cv-method{border-color:#C9DEEB;background:#F7FBFE;color:#3D6580}
.ceviche-pos .cv-method:hover{border-color:#5EBBEB;background:#EDF8FE}
.ceviche-pos .cv-method.is-selected{background:#E2F3FD;border-color:#006CB3;color:#005389;box-shadow:inset 0 0 0 1px #006CB3}
.ceviche-pos .cv-pay,.ceviche-pos .cv-register,
.ceviche-pos .cv-stamp-button,.ceviche-pos #cv-show-customer-qr,
.ceviche-pos #cv-scan-qr.cv-scan-cta,
.ceviche-pos .cv-card-share-buttons button,
.ceviche-pos .cv-loyalty-search button,
.ceviche-pos .cv-loyalty-fields button{
  background:#006CB3;color:#fff;border:1px solid #006CB3;
  box-shadow:0 6px 16px rgba(0,108,179,.15)
}
.ceviche-pos .cv-pay:not(:disabled):hover,.ceviche-pos .cv-register:not(:disabled):hover,
.ceviche-pos .cv-stamp-button:not(:disabled):hover,.ceviche-pos #cv-show-customer-qr:hover,
.ceviche-pos #cv-scan-qr.cv-scan-cta:hover,.ceviche-pos .cv-card-share-buttons button:hover,
.ceviche-pos .cv-loyalty-search button:hover,.ceviche-pos .cv-loyalty-fields button:hover{
  background:#004F86;border-color:#004F86;color:#fff;
}
.ceviche-pos .cv-pay:disabled,.ceviche-pos .cv-register:disabled,.ceviche-pos .cv-stamp-button:disabled{
  background:#B5C8D5;border-color:#B5C8D5;color:#F9FCFE;box-shadow:none;cursor:not-allowed
}
.ceviche-pos .cv-stamp-button{font-weight:800}
.ceviche-pos .cv-manual-stamp{background:#F0F9FE;border-color:#A9D9F0}
.ceviche-pos .cv-manual-stamp>strong{color:#075B90}
.ceviche-pos .cv-manual-stamp>small{color:#3B7190}
.ceviche-pos #cv-gift-add{background:#E7F5FD;border:1px solid #A6D7F0;color:#005E98}
.ceviche-pos #cv-gift-add:not(:disabled):hover{background:#D3EDFC;border-color:#006CB3}
.ceviche-pos .cv-clear,.ceviche-pos #cv-loyalty-unlink,
.ceviche-pos .cv-draft-active button,.ceviche-pos .cv-comanda-tools button,
.ceviche-pos .cv-print-actions button,.ceviche-pos #cv-last-text button,
.ceviche-pos .cv-last button,.ceviche-pos .cv-draft-topping button,
.ceviche-pos #cv-scan-qr:not(.cv-scan-cta),.ceviche-pos .cv-camera-box button,
.ceviche-pos .cv-customer-actions button,.ceviche-pos .cv-customer-actions a,
.ceviche-pos .cv-card-share-close,.ceviche-pos #cv-qr-reader-close,
.ceviche-pos .cv-qr-reader-photo,.ceviche-pos .cv-install-button,
.ceviche-pos .cv-stamp-skip,.ceviche-pos .cv-header-tools .cv-admin-entry{
  border-color:#BAD9EC;color:#006CB3;background:#EEF7FD
}
.ceviche-pos .cv-clear:hover,.ceviche-pos #cv-loyalty-unlink:hover,
.ceviche-pos .cv-draft-active button:hover,.ceviche-pos .cv-comanda-tools button:hover,
.ceviche-pos .cv-print-actions button:hover,.ceviche-pos .cv-last button:hover,
.ceviche-pos .cv-customer-actions button:hover,.ceviche-pos .cv-customer-actions a:hover,
.ceviche-pos .cv-camera-box button:hover,.ceviche-pos .cv-card-share-close:hover,
.ceviche-pos #cv-qr-reader-close:hover,.ceviche-pos .cv-qr-reader-photo:hover,
.ceviche-pos .cv-install-button:hover,.ceviche-pos .cv-header-tools .cv-admin-entry:hover{
  background:#DDF0FC;border-color:#5EBBEB;color:#004F86
}
/* Evitar que botones especiales de QR, comandas y mensajería se queden con estilos heredados. */
.ceviche-pos .cv-customer-actions #cv-show-customer-qr,
.ceviche-pos .cv-print-actions #cv-print-command{background:#006CB3;color:#fff;border-color:#006CB3}
.ceviche-pos .cv-customer-actions #cv-show-customer-qr:hover,
.ceviche-pos .cv-print-actions #cv-print-command:hover{background:#004F86;color:#fff;border-color:#004F86}
.ceviche-pos .cv-card-share-buttons button:first-child{background:#006CB3;border-color:#006CB3}
.ceviche-pos .cv-card-share-buttons button:first-child:hover{background:#004F86;border-color:#004F86}
.ceviche-pos .cv-comanda-item{border-left-color:#006CB3}
.ceviche-pos .cv-qr-reader-target{border-color:#5EBBEB}
.ceviche-pos .cv-cash input,.ceviche-pos .cv-loyalty-box input{
  border-color:#C5DDEB;accent-color:#006CB3
}
.ceviche-pos :is(button,a,input,select,textarea):focus-visible{
  outline:3px solid #5EBBEB!important;outline-offset:3px!important
}
.ceviche-pos :is(input,select,textarea):focus{border-color:#006CB3;box-shadow:0 0 0 3px rgba(0,108,179,.12)}
.ceviche-pos .cv-launch-progress{background:linear-gradient(90deg,#5EBBEB,#006CB3 85%,transparent 100%)}
@media(prefers-reduced-motion:reduce){.ceviche-pos button{transition:none}}

/* v1.6.0 · Cinco cuentas en pausa por local, optimizado para tablet. */
.ceviche-pos .cv-open-tabs{margin:0 0 16px;background:#fff;border:1px solid #cce2ee;border-radius:17px;padding:16px 18px;box-shadow:0 6px 20px rgba(5,55,89,.06);color:#053759}
.ceviche-pos .cv-open-tabs-head{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 13px}
.ceviche-pos .cv-open-tabs-head h3{font-size:20px!important;line-height:1.25;margin:5px 0!important;color:#053759!important;font-weight:850}
.ceviche-pos .cv-open-tabs-head h3 span{font-size:12px;color:#006CB3;border-radius:20px;background:#e3f3fb;padding:5px 9px;vertical-align:middle}
.ceviche-pos .cv-open-tabs-head p{font-size:12px!important;line-height:1.5!important;color:#527a91!important;margin:4px 0 0!important}
.ceviche-pos .cv-open-tabs-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ceviche-pos .cv-open-tabs-actions button,.ceviche-pos .cv-tab-dialog-actions button{border:1px solid #c8deee;border-radius:10px;min-height:45px;padding:10px 14px;font-size:13px;font-weight:800;cursor:pointer;background:#edf6fc;color:#10527d}
.ceviche-pos .cv-open-tabs .cv-tab-primary,.ceviche-pos .cv-tab-dialog .cv-tab-primary{background:#006CB3;color:#fff;border-color:#006CB3}
.ceviche-pos .cv-open-tabs button:disabled,.ceviche-pos .cv-tab-dialog button:disabled{opacity:.55;cursor:not-allowed}
.ceviche-pos .cv-open-tabs-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;align-items:stretch}
.ceviche-pos .cv-tab-tile{min-width:0;padding:13px 11px;border:1px solid #d7e7f1;border-radius:12px;background:#f8fcfe;display:flex;flex-direction:column;gap:7px}
.ceviche-pos .cv-tab-tile.is-active{border:2px solid #006CB3;background:#edf8fe;padding:12px 10px}
.ceviche-pos .cv-tab-tile-title{font-size:14px;font-weight:850;color:#053759;overflow-wrap:anywhere}
.ceviche-pos .cv-tab-tile-total{font-size:23px;font-weight:900;color:#006CB3;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.ceviche-pos .cv-tab-tile-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px}
.ceviche-pos .cv-tab-tile-foot small{font-size:11px;color:#67889c;line-height:1.4}
.ceviche-pos .cv-tab-tile-foot button{min-height:39px;border-radius:8px;background:#dfeffc;color:#065d99;font-weight:800;font-size:12px;padding:7px 9px;cursor:pointer}
.ceviche-pos .cv-tab-tile.is-active .cv-tab-tile-foot button{background:#006CB3;color:#fff}
.ceviche-pos .cv-tabs-empty{grid-column:1/-1;padding:16px 10px;margin:0!important;color:#5b7c91!important;font-size:13px!important}
.ceviche-pos .cv-tab-free{border:1px dashed #c4d9e5;border-radius:12px;min-height:124px;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;font-size:12px;color:#698ca0;background:#fcfdfe;font-weight:700}
.ceviche-pos .cv-active-tab{margin-top:13px;border-radius:10px;background:#eaf6fd;padding:10px 13px;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;color:#075e95;font-size:13px;font-weight:800}
.ceviche-pos .cv-active-tab[hidden],.ceviche-pos .cv-tab-dialog[hidden]{display:none!important}
.ceviche-pos .cv-active-tab button{background:#fff0f0;color:#a43444;border:1px solid #f1c5cc;border-radius:8px;padding:7px 12px;min-height:35px;cursor:pointer;font-size:12px;font-weight:750}
.ceviche-pos .cv-tab-dialog{position:fixed;inset:0;z-index:1000010;background:rgba(4,32,50,.72);padding:15px;display:flex;align-items:center;justify-content:center;overscroll-behavior:contain}
.ceviche-pos .cv-tab-dialog-card{max-width:460px;width:100%;padding:23px;border-radius:17px;background:white;box-shadow:0 24px 70px #0005;color:#053759}
.ceviche-pos .cv-tab-dialog-card h3{margin:0 0 8px!important;color:#053759!important;font-size:21px!important}
.ceviche-pos .cv-tab-dialog-card p{margin:0 0 17px!important;font-size:13px!important;line-height:1.5!important;color:#527a91!important}
.ceviche-pos .cv-tab-dialog-card label{display:block;font-weight:800;font-size:13px;margin:0 0 6px}
.ceviche-pos .cv-tab-dialog-card input{width:100%;height:50px;background:#fff;border:1.5px solid #b8d4e5;border-radius:9px;color:#053759;padding:12px;font-size:17px}
.ceviche-pos .cv-tab-dialog-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}
@media(max-width:1030px){.ceviche-pos .cv-open-tabs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.ceviche-pos .cv-open-tabs{padding:13px}.ceviche-pos .cv-open-tabs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ceviche-pos .cv-open-tabs-actions{width:100%}.ceviche-pos .cv-open-tabs-actions button{flex:1}.ceviche-pos .cv-tab-tile-total{font-size:20px}.ceviche-pos .cv-tab-free{min-height:112px}.ceviche-pos .cv-tab-dialog-actions button{flex:1}}
