/* Optyker Cassa */
#optykerCashBtn{height:42px!important;border:1px solid #1769aa!important;border-radius:11px!important;background:#fff!important;color:#1769aa!important;padding:0 15px!important;font-size:12px!important;font-weight:900!important;white-space:nowrap!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;gap:6px!important;box-shadow:0 2px 8px rgba(23,105,170,.06)!important}
#optykerCashBtn:hover{background:#eef7fd!important}body.optykerBillingMode #optykerCashBtn{display:none!important}
#optykerClientCashBtn{margin-left:10px;border:1px solid #c7d6e2;border-radius:8px;background:#f7fbfe;color:#1769aa;padding:7px 10px;font-size:10px;font-weight:850;cursor:pointer}
.optykerCashOverlay{position:fixed;z-index:220000;inset:0;background:#eef3f7;display:none;flex-direction:column;font-family:Segoe UI,Arial,sans-serif;color:#17334b}.optykerCashOverlay.open{display:flex}
.optykerCashHeader{height:66px;background:#102f49;color:#fff;display:flex;align-items:center;gap:14px;padding:0 18px;box-shadow:0 2px 12px #102f4930}
.optykerCashBrand{display:flex;align-items:center;gap:10px;min-width:220px}.optykerCashBrandMark{width:36px;height:36px;border-radius:10px;background:#fff;color:#1769aa;display:grid;place-items:center;font-weight:950}
.optykerCashBrandTitle{font-size:16px;font-weight:950}.optykerCashBrandSub{font-size:9px;color:#bdd0de;margin-top:2px}.optykerCashSearchWrap{position:relative;flex:1;max-width:680px}
#optykerCashSearch{width:100%;height:40px;border:1px solid #ffffff2b;border-radius:10px;background:#ffffff12;color:#fff;padding:0 14px;outline:none;font-size:12px;font-weight:700}
#optykerCashSearch:focus{background:#fff;color:#17334b}.optykerCashHeaderRight{margin-left:auto;display:flex;align-items:center;gap:8px}.optykerCashHeaderBadge{padding:9px 10px;border-radius:8px;background:#ffffff12;font-size:9px;font-weight:850}
#optykerCashClose{width:36px;height:36px;border:0;border-radius:9px;background:#ffffff16;color:#fff;font-size:20px;cursor:pointer}
.optykerCashMain{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 370px}.optykerCashCatalog{min-width:0;display:flex;flex-direction:column}
.optykerCashCatalogTop{padding:13px 16px 10px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;background:#f7fafc;border-bottom:1px solid #dce5ec}
.optykerCashType{height:30px;border:1px solid #d4e0e8;border-radius:999px;background:#fff;color:#536b7f;padding:0 11px;font-size:9px;font-weight:900;cursor:pointer}.optykerCashType.active{background:#1769aa;color:#fff;border-color:#1769aa}
#optykerCashRefresh{margin-left:auto;height:30px;border:1px solid #d4e0e8;border-radius:8px;background:#fff;color:#486277;padding:0 10px;font-size:9px;font-weight:850;cursor:pointer}
.optykerCashProducts{flex:1;min-height:0;overflow:auto;padding:14px 16px 24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-content:start;gap:12px}
.optykerCashProduct{border:1px solid #dbe5ec;border-radius:13px;background:#fff;overflow:hidden;cursor:pointer;box-shadow:0 2px 8px #1932480a;transition:.12s}.optykerCashProduct:hover{transform:translateY(-1px);box-shadow:0 8px 22px #16364e14}
.optykerCashProductImage{height:120px;background:#f5f8fa;display:flex;align-items:center;justify-content:center;overflow:hidden}.optykerCashProductImage img{width:100%;height:100%;object-fit:contain}
.optykerCashProductBody{padding:10px 11px}.optykerCashProductTitle{font-size:11px;font-weight:900;line-height:1.3}.optykerCashProductVariant{font-size:9px;color:#778a99;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.optykerCashProductFoot{display:flex;justify-content:space-between;align-items:end;gap:8px;margin-top:8px}.optykerCashProductPrice{font-size:15px;font-weight:950;color:#1769aa}.optykerCashProductStock{font-size:8px;color:#7c8d9b}
.optykerCashEmpty,.optykerCashLoading{grid-column:1/-1;padding:34px 20px;text-align:center;color:#748797;font-size:11px}.optykerCashLoading{color:#1769aa;font-weight:850}
.optykerCashCart{background:#fff;border-left:1px solid #d8e3ea;display:flex;flex-direction:column;min-width:0}.optykerCashCartHead{padding:14px;border-bottom:1px solid #e1e8ee}.optykerCashCartTitle{font-size:16px;font-weight:950}
.optykerCashCartCount{font-size:9px;color:#788a99;margin-top:2px}.optykerCashClientBox{margin-top:10px}.optykerCashClientBox label,.optykerCashPayLabel{display:block;font-size:8px;font-weight:950;text-transform:uppercase;color:#7b8d9d;margin-bottom:5px}.optykerCashClientSelectLabel{margin-top:7px!important}
#optykerCashClientSearch,#optykerCashClient{width:100%;box-sizing:border-box;height:36px;border:1px solid #cbd8e3;border-radius:8px;background:#fff;color:#28445c;padding:0 8px;font-size:10px;font-weight:750;outline:none}#optykerCashClientSearch:focus,#optykerCashClient:focus{border-color:#1769aa;box-shadow:0 0 0 2px rgba(23,105,170,.1)}
.optykerCashCartItems{flex:1;min-height:0;overflow:auto;padding:9px 12px}.optykerCashCartEmpty{padding:28px 10px;text-align:center;color:#8393a0;font-size:10px}.optykerCashCartItem{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 2px;border-bottom:1px solid #edf1f4}
.optykerCashCartItemTitle{font-size:10px;font-weight:900}.optykerCashCartItemMeta{font-size:8px;color:#7b8d9b;margin-top:2px}.optykerCashQty{display:flex;align-items:center;gap:5px;margin-top:7px}.optykerCashQty button{width:23px;height:23px;border:1px solid #d3dfe7;border-radius:6px;background:#fff;cursor:pointer}
.optykerCashRemove{border:0;background:transparent;color:#a04444;font-size:8px;font-weight:850;cursor:pointer;padding:4px 0}.optykerCashCartItemPrice{font-size:11px;font-weight:950}
.optykerCashCheckout{padding:12px 14px 14px;border-top:1px solid #dfe7ed;background:#fbfcfd}.optykerCashTotalRow{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.optykerCashTotalLabel{font-size:10px;font-weight:850;color:#5a7082}#optykerCashTotal{font-size:22px;font-weight:950}
.optykerCashPayModes{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.optykerCashPayMode{height:31px;border:1px solid #d3dfe7;border-radius:7px;background:#fff;color:#5a7082;font-size:8px;font-weight:900;cursor:pointer}.optykerCashPayMode.active{background:#1769aa;border-color:#1769aa;color:#fff}
#optykerCashNote{width:100%;box-sizing:border-box;margin-top:9px;min-height:44px;border:1px solid #d3dfe7;border-radius:8px;padding:8px;font-size:9px;resize:vertical}
#optykerCashCheckoutBtn{width:100%;height:44px;margin-top:10px;border:0;border-radius:10px;background:#1769aa;color:#fff;font-size:11px;font-weight:950;cursor:pointer}#optykerCashCheckoutBtn:disabled{opacity:.5;cursor:not-allowed}
#optykerCashRecentBtn{width:100%;height:31px;margin-top:7px;border:1px solid #d3dfe7;border-radius:8px;background:#fff;color:#536c80;font-size:8px;font-weight:900;cursor:pointer}
.optykerCashModal{position:fixed;z-index:2147483500;inset:0;background:#0d25376b;display:none;align-items:center;justify-content:center;padding:20px}.optykerCashModal.open{display:flex}.optykerCashModalCard{width:min(560px,94vw);max-height:84vh;overflow:auto;background:#fff;border-radius:14px;padding:18px;box-shadow:0 24px 70px #122a3c47}
.optykerCashModalTitle{font-size:18px;font-weight:950}.optykerCashModalSub{font-size:10px;color:#738695;margin-top:4px}.optykerCashSaleRow{border:1px solid #dce5ec;border-radius:9px;padding:9px 10px;margin-top:8px}.optykerCashSaleTop{display:flex;justify-content:space-between}.optykerCashSaleName{font-size:10px;font-weight:900}.optykerCashSaleAmount{font-size:11px;font-weight:950;color:#1769aa}.optykerCashSaleMeta{font-size:8px;color:#7b8d9b;margin-top:3px}.optykerCashModalClose{margin-top:12px;width:100%;height:36px;border:1px solid #d3dfe7;border-radius:8px;background:#fff;font-weight:900;cursor:pointer}
#optykerCashToast{position:fixed;z-index:2147483600;right:20px;bottom:20px;max-width:420px;border-radius:10px;background:#17334b;color:#fff;padding:11px 13px;box-shadow:0 14px 36px #122a3f40;font-size:11px;font-weight:750;display:none}#optykerCashToast.error{background:#8f2f2f}#optykerCashToast.ok{background:#25693b}
@media(max-width:760px){.optykerCashHeaderBadge{display:none}.optykerCashBrand{min-width:auto}.optykerCashBrandSub{display:none}.optykerCashMain{grid-template-columns:1fr;overflow:auto}.optykerCashCatalog{min-height:58vh}.optykerCashCart{border-left:0;border-top:1px solid #d8e3ea;min-height:52vh}.optykerCashCartItems{max-height:300px}.optykerCashProducts{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}}

/* Cassa V2 · acconti, saldi, fattura */
.optykerCashOverlay{
  z-index:2147483000!important;
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  isolation:isolate!important;
}
.optykerCashOverlay.open{display:flex!important}
.optykerCashHeader{position:relative;z-index:2;flex:0 0 66px}
.optykerCashMain{position:relative;z-index:1;width:100%;min-width:0}
.optykerCashCart{width:auto!important}

.optykerCashStages{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin-bottom:10px
}
.optykerCashStage{
  min-height:36px;
  border:1px solid #cfdae3;
  border-radius:8px;
  background:#fff;
  color:#536b7f;
  font:900 9px/1.15 "Segoe UI",Arial,sans-serif;
  cursor:pointer;
  padding:5px 7px
}
.optykerCashStage:hover{border-color:#1769aa;color:#1769aa}
.optykerCashStage.active{
  border-color:#1769aa;
  background:#eaf4fb;
  color:#1769aa;
  box-shadow:inset 0 0 0 1px rgba(23,105,170,.08)
}
.optykerCashDepositWrap{
  grid-template-columns:minmax(0,1fr) minmax(120px,.8fr);
  gap:8px;
  padding:9px;
  margin:0 0 10px;
  border:1px solid #d7e4ed;
  border-radius:9px;
  background:#f6fafc
}
.optykerCashDepositWrap label{
  display:block;
  font-size:8px;
  font-weight:950;
  text-transform:uppercase;
  color:#708494;
  margin-bottom:5px
}
#optykerCashDeposit{
  width:100%;
  box-sizing:border-box;
  height:34px;
  border:1px solid #c9d7e1;
  border-radius:7px;
  background:#fff;
  color:#17334b;
  padding:0 9px;
  font-size:11px;
  font-weight:900;
  outline:none
}
#optykerCashDeposit:focus{border-color:#1769aa;box-shadow:0 0 0 2px rgba(23,105,170,.1)}
.optykerCashDuePreview{
  border-left:1px solid #dbe5ec;
  padding-left:9px;
  display:flex;
  flex-direction:column;
  justify-content:center
}
.optykerCashDuePreview span{font-size:8px;color:#758899;font-weight:800}
.optykerCashDuePreview b{font-size:13px;color:#17334b;margin-top:2px}
.optykerCashPayLabelSpaced{margin-top:3px}

.optykerCashInvoiceBox{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-top:10px;
  padding:10px;
  border:1px solid #cfe0eb;
  border-radius:9px;
  background:#f5faff;
  cursor:pointer;
  user-select:none
}
.optykerCashInvoiceBox:hover{border-color:#1769aa}
.optykerCashInvoiceBox.disabled{opacity:.55;cursor:not-allowed;background:#f7f8f9}
.optykerCashInvoiceBox>input{
  position:absolute;
  opacity:0;
  pointer-events:none
}
.optykerCashInvoiceCheck{
  flex:0 0 22px;
  width:22px;
  height:22px;
  border:1px solid #b9cad7;
  border-radius:6px;
  background:#fff;
  color:transparent;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:950
}
.optykerCashInvoiceBox:has(input:checked) .optykerCashInvoiceCheck{
  background:#1769aa;
  border-color:#1769aa;
  color:#fff
}
.optykerCashInvoiceBox b{
  display:block;
  font-size:9px;
  color:#24445c;
  line-height:1.25
}
.optykerCashInvoiceBox small{
  display:block;
  font-size:8px;
  color:#788a99;
  line-height:1.35;
  margin-top:2px
}

.optykerCashSecondaryActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-top:7px
}
.optykerCashSecondaryActions button{
  width:100%;
  height:32px;
  border:1px solid #d3dfe7;
  border-radius:8px;
  background:#fff;
  color:#536c80;
  font-size:8px;
  font-weight:900;
  cursor:pointer
}
.optykerCashSecondaryActions button:hover{border-color:#1769aa;color:#1769aa}
#optykerCashRecentBtn{margin-top:0!important;height:32px!important}

.optykerCashDepositsCard{width:min(760px,95vw)!important}
#optykerCashDepositsList{display:grid;gap:8px;margin-top:13px}
.optykerCashDepositRow{
  display:grid;
  grid-template-columns:minmax(0,1fr) 120px auto;
  gap:12px;
  align-items:center;
  border:1px solid #dce5ec;
  border-radius:10px;
  padding:11px 12px;
  background:#fff
}
.optykerCashDepositInfo{min-width:0}
.optykerCashDepositInfo b{
  display:block;
  font-size:10px;
  color:#29445b;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.optykerCashDepositInfo span{display:block;font-size:8px;color:#788b9a;margin-top:3px}
.optykerCashDepositDue span{display:block;font-size:8px;color:#7b8d9b}
.optykerCashDepositDue b{display:block;font-size:13px;color:#b46a00;margin-top:2px}
.optykerCashDepositActions{display:flex;gap:5px}
.optykerCashDepositActions button{
  min-height:32px;
  border:1px solid #cbd9e3;
  border-radius:8px;
  background:#fff;
  color:#1769aa;
  font-size:8px;
  font-weight:900;
  padding:0 9px;
  cursor:pointer;
  white-space:nowrap
}
.optykerCashDepositActions button:last-child{
  background:#1769aa;
  color:#fff;
  border-color:#1769aa
}
.optykerCashDepositActions button:hover{filter:brightness(.98)}

@media(max-width:900px){
  .optykerCashMain{grid-template-columns:minmax(0,1fr) 350px}
  .optykerCashDepositRow{grid-template-columns:1fr 110px}
  .optykerCashDepositActions{grid-column:1/-1}
}
@media(max-width:760px){
  .optykerCashStages{grid-template-columns:1fr}
  .optykerCashDepositWrap{grid-template-columns:1fr}
  .optykerCashDuePreview{border-left:0;border-top:1px solid #dbe5ec;padding-left:0;padding-top:8px}
  .optykerCashDepositRow{grid-template-columns:1fr}
  .optykerCashDepositActions{grid-column:auto}
}

/* Cassa · RCH PRINT! connector */
.optykerCashRchBadge{height:34px;border:1px solid #ffffff38;border-radius:8px;background:#ffffff10;color:#d7e5ef;padding:0 10px;font-size:9px;font-weight:900;cursor:pointer;white-space:nowrap}
.optykerCashRchBadge.ok{background:#1f7a451f;border-color:#8de1ad;color:#bdf5d0}
.optykerCashRchBadge.error{background:#ffffff10;color:#d7e5ef}
.optykerCashRchCard{width:min(620px,94vw)!important}
.optykerCashRchInfo{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.optykerCashRchInfo>div{border:1px solid #dbe5ec;border-radius:9px;padding:9px 10px;background:#f8fbfd}
.optykerCashRchInfo span{display:block;font-size:8px;text-transform:uppercase;color:#7a8d9c;font-weight:900}
.optykerCashRchInfo b{display:block;margin-top:3px;font-size:10px;color:#29455c}
.optykerCashRchResult{border:1px solid #dbe5ec;border-radius:9px;padding:10px 11px;background:#f8fafb;color:#617687;font-size:9px;font-weight:850}
.optykerCashRchResult.ok{background:#edf8f1;border-color:#c8e8d3;color:#2f6e43}
.optykerCashRchResult.error{background:#fff2f2;border-color:#efcccc;color:#963d3d}
.optykerCashRchDownloads{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
.optykerCashRchDownloads a{display:flex;align-items:center;justify-content:center;min-height:36px;border:1px solid #1769aa;border-radius:8px;background:#fff;color:#1769aa;text-decoration:none;font-size:9px;font-weight:900}
.optykerCashRchDownloads a:hover{background:#eef7fd}
.optykerCashRchHelp{margin-top:10px;padding:10px;border-radius:8px;background:#fff8e8;color:#745a21;font-size:9px;line-height:1.45}
.optykerCashRchActions{display:grid;grid-template-columns:1fr 140px;gap:7px;margin-top:12px}
#optykerCashRchTest{height:36px;border:0;border-radius:8px;background:#1769aa;color:#fff;font-size:9px;font-weight:950;cursor:pointer}
.optykerCashRchActions .optykerCashModalClose{margin-top:0!important;height:36px!important}
@media(max-width:620px){.optykerCashRchInfo,.optykerCashRchDownloads,.optykerCashRchActions{grid-template-columns:1fr}}

#optykerCashRchModal{z-index:2147483550!important}
#optykerCashRchModal.open{display:flex!important;pointer-events:auto!important}
#optykerCashRchModal *{pointer-events:auto!important}

.optykerCashRchDownloads a.primary{background:#1769aa!important;color:#fff!important;border-color:#1769aa!important}

/* =========================================================
   OPTYKER CASH V3 · modern premium register
   ========================================================= */
.optykerCashOverlay{
  --cash-ink:#14283a;
  --cash-muted:#718396;
  --cash-line:#dfe7ee;
  --cash-soft:#f5f8fb;
  --cash-panel:#ffffff;
  --cash-blue:#1769aa;
  --cash-blue-deep:#0f3d62;
  --cash-green:#2f7d4a;
  background:linear-gradient(180deg,#eef3f7 0%,#f7f9fb 100%)!important;
  color:var(--cash-ink)!important;
}
.optykerCashHeader{
  flex:0 0 76px!important;
  height:76px!important;
  padding:0 20px!important;
  gap:16px!important;
  background:
    radial-gradient(circle at 15% 0%,rgba(68,145,198,.30),transparent 34%),
    linear-gradient(135deg,#0d2d47 0%,#123e61 52%,#0b2941 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  box-shadow:0 12px 34px rgba(13,45,71,.18)!important;
}
.optykerCashBrand{min-width:245px!important;gap:12px!important}
.optykerCashBrandMark{
  width:42px!important;height:42px!important;border-radius:13px!important;
  background:linear-gradient(145deg,#ffffff,#edf7ff)!important;
  color:#1769aa!important;font-size:18px!important;
  box-shadow:0 8px 22px rgba(0,0,0,.16)!important
}
.optykerCashBrandTitle{font-size:18px!important;letter-spacing:-.25px}
.optykerCashBrandSub{font-size:9px!important;color:#b9d0e1!important;letter-spacing:.2px}
.optykerCashSearchWrap{max-width:none!important}
#optykerCashSearch{
  height:46px!important;border-radius:13px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.10)!important;
  padding:0 16px!important;font-size:12px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
  transition:.18s ease!important
}
#optykerCashSearch::placeholder{color:#c7d8e5!important}
#optykerCashSearch:focus{
  background:#fff!important;color:#17334b!important;border-color:#fff!important;
  box-shadow:0 8px 28px rgba(0,0,0,.15)!important
}
.optykerCashHeaderRight{gap:8px!important}
.optykerCashHeaderBadge,.optykerCashRchBadge,.optykerCashDrawerBtn{
  height:36px!important;border-radius:10px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.08)!important;
  color:#e9f3f9!important;
  padding:0 11px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:6px!important;font-size:9px!important;font-weight:900!important;
  white-space:nowrap!important;backdrop-filter:blur(10px)
}
.optykerCashRchBadge.ok{
  border-color:rgba(139,226,170,.55)!important;
  background:rgba(41,126,75,.28)!important;color:#c8f4d7!important
}
.optykerCashDrawerBtn{
  cursor:pointer!important;background:#ffffff!important;color:#173f60!important;
  border-color:#ffffff!important;box-shadow:0 6px 18px rgba(0,0,0,.14)!important
}
.optykerCashDrawerBtn:hover{transform:translateY(-1px);background:#f4f9fd!important}
.optykerCashDrawerBtn:disabled{opacity:.55;cursor:wait!important;transform:none}
#optykerCashClose{
  width:38px!important;height:38px!important;border-radius:11px!important;
  background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.12)!important
}
#optykerCashClose:hover{background:rgba(255,255,255,.18)!important}

.optykerCashMain{
  grid-template-columns:minmax(0,1fr) 410px!important;
  gap:0!important;background:#f4f7fa!important
}
.optykerCashCatalog{background:transparent!important}
.optykerCashCatalogTop{
  padding:14px 18px 12px!important;
  background:rgba(255,255,255,.86)!important;
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--cash-line)!important;
  box-shadow:0 5px 14px rgba(25,50,72,.035)!important
}
#optykerCashTypes{display:flex;gap:7px;flex-wrap:wrap}
.optykerCashType{
  height:34px!important;padding:0 13px!important;border-radius:10px!important;
  border:1px solid #dce5ec!important;background:#fff!important;
  color:#607589!important;font-size:9px!important;transition:.15s ease
}
.optykerCashType:hover{border-color:#9fc3df!important;color:#1769aa!important}
.optykerCashType.active{
  color:#fff!important;border-color:#1769aa!important;
  background:linear-gradient(135deg,#1769aa,#245f8d)!important;
  box-shadow:0 6px 15px rgba(23,105,170,.16)!important
}
#optykerCashRefresh{
  height:34px!important;border-radius:10px!important;padding:0 12px!important;
  border:1px solid #dce5ec!important;background:#fff!important
}
.optykerCashProducts{
  padding:18px 20px 28px!important;
  grid-template-columns:repeat(auto-fill,minmax(195px,1fr))!important;
  gap:14px!important
}
.optykerCashProduct{
  border:1px solid #e0e8ef!important;border-radius:16px!important;
  box-shadow:0 5px 18px rgba(26,50,71,.055)!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important
}
.optykerCashProduct:hover{
  transform:translateY(-3px)!important;border-color:#bcd2e2!important;
  box-shadow:0 14px 34px rgba(22,54,78,.11)!important
}
.optykerCashProductImage{
  height:132px!important;background:linear-gradient(180deg,#f9fbfc,#f3f6f8)!important;
  border-bottom:1px solid #edf2f5
}
.optykerCashProductImage img{padding:8px;box-sizing:border-box}
.optykerCashProductBody{padding:12px 13px 13px!important}
.optykerCashProductTitle{font-size:11px!important;line-height:1.38!important;color:#203b51!important}
.optykerCashProductVariant{margin-top:5px!important;font-size:8.5px!important;color:#8292a0!important}
.optykerCashProductFoot{margin-top:11px!important;align-items:center!important}
.optykerCashProductPrice{font-size:16px!important;color:#1769aa!important;letter-spacing:-.25px}
.optykerCashProductStock{
  background:#f2f6f8;border:1px solid #e5ecef;border-radius:999px;
  padding:4px 7px;font-size:7.5px!important;color:#657a8b!important
}

.optykerCashCart{
  border-left:1px solid #dbe4eb!important;
  background:#fff!important;
  box-shadow:-12px 0 28px rgba(24,49,70,.045)!important
}
.optykerCashCartHead{
  padding:17px 17px 14px!important;
  background:linear-gradient(180deg,#ffffff,#fbfcfd)!important;
  border-bottom:1px solid #e4ebf0!important
}
.optykerCashCartTitle{font-size:18px!important;letter-spacing:-.3px;color:#17334b!important}
.optykerCashCartCount{
  display:inline-flex;margin-top:5px!important;padding:4px 8px;border-radius:999px;
  background:#eef5fa;color:#1769aa!important;font-size:8px!important;font-weight:900
}
.optykerCashClientBox{margin-top:13px!important;padding-top:12px;border-top:1px solid #eef2f5}
.optykerCashClientBox label,.optykerCashPayLabel{
  font-size:7.5px!important;letter-spacing:.55px!important;color:#8292a0!important
}
#optykerCashClientSearch,#optykerCashClient{
  height:39px!important;border-radius:10px!important;border-color:#d8e3ea!important;
  font-size:10px!important;background:#fbfdfe!important
}
#optykerCashClientSearch:focus,#optykerCashClient:focus{
  background:#fff!important;border-color:#1769aa!important;
  box-shadow:0 0 0 3px rgba(23,105,170,.08)!important
}
.optykerCashCartItems{padding:7px 16px!important;background:#fff}
.optykerCashCartEmpty{
  margin:12px 0;padding:26px 15px!important;border:1px dashed #dbe4eb;
  border-radius:12px;background:#fbfcfd!important
}
.optykerCashCartItem{
  padding:12px 1px!important;border-bottom:1px solid #edf2f5!important
}
.optykerCashCartItemTitle{font-size:10.5px!important;color:#263f53!important}
.optykerCashCartItemMeta{font-size:8px!important}
.optykerCashQty{gap:6px!important;margin-top:8px!important}
.optykerCashQty button{
  width:27px!important;height:27px!important;border-radius:8px!important;
  border:1px solid #dce6ed!important;background:#f8fafb!important;
  color:#23445d!important;font-weight:900!important
}
.optykerCashQty button:hover{background:#eef6fb!important;border-color:#bad3e4!important}
.optykerCashRemove{font-size:8px!important;color:#a24d4d!important}
.optykerCashCartItemPrice{font-size:12px!important;color:#17334b!important}

.optykerCashCheckout{
  padding:15px 17px 17px!important;
  background:linear-gradient(180deg,#f8fafc,#f3f6f8)!important;
  border-top:1px solid #dde6ed!important;
  box-shadow:0 -8px 24px rgba(24,49,70,.035)!important
}
.optykerCashTotalRow{
  margin-bottom:13px!important;padding-bottom:11px;border-bottom:1px solid #e2e9ef
}
.optykerCashTotalLabel{font-size:10px!important;color:#687c8d!important}
#optykerCashTotal{
  font-size:27px!important;letter-spacing:-.7px;color:#102f49!important
}
.optykerCashStages{gap:7px!important;margin-bottom:11px!important}
.optykerCashStage{
  min-height:38px!important;border-radius:10px!important;background:#fff!important;
  font-size:8.5px!important;border-color:#d9e3ea!important
}
.optykerCashStage.active{
  background:#eaf4fb!important;border-color:#1769aa!important;color:#1769aa!important;
  box-shadow:0 4px 12px rgba(23,105,170,.07)!important
}
.optykerCashPayModes{gap:7px!important}
.optykerCashPayMode{
  height:36px!important;border-radius:10px!important;background:#fff!important;
  border-color:#d9e3ea!important;font-size:8.5px!important
}
.optykerCashPayMode.active{
  background:linear-gradient(135deg,#1769aa,#235d8b)!important;
  border-color:#1769aa!important;color:#fff!important;
  box-shadow:0 6px 15px rgba(23,105,170,.15)!important
}
.optykerCashInvoiceBox{
  margin-top:11px!important;border-radius:11px!important;background:#f6fbff!important;
  border-color:#d5e6f2!important
}
#optykerCashNote{
  min-height:48px!important;border-radius:10px!important;background:#fff!important;
  border-color:#d9e3ea!important
}
#optykerCashCheckoutBtn{
  height:49px!important;border-radius:12px!important;margin-top:11px!important;
  background:linear-gradient(135deg,#1769aa,#0f548a)!important;
  box-shadow:0 9px 22px rgba(23,105,170,.22)!important;
  font-size:11px!important;letter-spacing:.1px!important;
  transition:.15s ease!important
}
#optykerCashCheckoutBtn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(23,105,170,.28)!important}
.optykerCashSecondaryActions{gap:7px!important;margin-top:8px!important}
.optykerCashSecondaryActions button{
  height:35px!important;border-radius:10px!important;background:#fff!important;
  border-color:#d8e3ea!important;font-size:8.5px!important
}
.optykerCashModal{backdrop-filter:blur(4px)}
.optykerCashModalCard{
  border-radius:18px!important;border:1px solid rgba(255,255,255,.6)!important;
  box-shadow:0 30px 90px rgba(11,39,60,.28)!important
}
.optykerCashModalTitle{letter-spacing:-.25px}
#optykerCashToast{
  border-radius:12px!important;padding:12px 14px!important;
  box-shadow:0 18px 46px rgba(15,47,73,.25)!important
}
.optykerCashRchActions3{grid-template-columns:1fr 1fr 120px!important}
#optykerCashRchDrawerTest{
  height:36px;border:1px solid #cbdbe7;border-radius:8px;background:#fff;
  color:#1769aa;font-size:9px;font-weight:950;cursor:pointer
}
#optykerCashRchDrawerTest:hover{background:#eef7fd}
@media(max-width:1040px){
  .optykerCashMain{grid-template-columns:minmax(0,1fr) 380px!important}
  .optykerCashBrand{min-width:200px!important}
  .optykerCashHeaderBadge{display:none!important}
}
@media(max-width:820px){
  .optykerCashHeader{padding:0 10px!important;gap:8px!important}
  .optykerCashBrand{min-width:auto!important}
  .optykerCashBrandSub{display:none!important}
  .optykerCashDrawerBtn{font-size:0!important;width:38px!important;padding:0!important}
  .optykerCashDrawerBtn span{font-size:14px!important}
  .optykerCashMain{grid-template-columns:1fr!important;overflow:auto!important}
  .optykerCashCatalog{min-height:58vh}
  .optykerCashCart{border-left:0!important;border-top:1px solid #d8e3ea!important;min-height:56vh}
  .optykerCashProducts{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:12px!important}
  .optykerCashRchActions3{grid-template-columns:1fr!important}
}

/* CASSA BUTTON VISIBILITY FIX */
.optykerCashHeaderRight{display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:20!important}
#optykerCashDrawer,#optykerCashRch,#optykerCashClose{display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.optykerCashCheckout{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:5!important;flex:0 0 auto!important}
.optykerCashStages{display:grid!important;visibility:visible!important}
.optykerCashPayModes{display:grid!important;visibility:visible!important}
.optykerCashStage,.optykerCashPayMode,#optykerCashCheckoutBtn,.optykerCashSecondaryActions,.optykerCashSecondaryActions button{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.optykerCashSecondaryActions{display:grid!important}
#optykerCashCheckoutBtn:disabled{opacity:.5!important}
.optykerCashCart{overflow:hidden!important}
.optykerCashCartItems{min-height:72px!important}
@media(max-height:760px){
  .optykerCashCartHead{padding:10px 14px 9px!important}
  .optykerCashClientBox{margin-top:8px!important;padding-top:8px!important}
  .optykerCashCartItems{max-height:24vh!important;flex:0 1 auto!important}
  .optykerCashCheckout{overflow:auto!important;max-height:55vh!important}
}

/* CASSA CHECKOUT ALWAYS VISIBLE V2 */
.optykerCashMain{
  min-height:0!important;
  height:calc(100vh - 76px)!important;
  overflow:hidden!important;
}
.optykerCashCart{
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.optykerCashCartHead{
  flex:0 0 auto!important;
}
.optykerCashCartItems{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.optykerCashCheckout{
  flex:0 0 auto!important;
  position:sticky!important;
  bottom:0!important;
  z-index:20!important;
  max-height:none!important;
  overflow:visible!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.optykerCashStages,
.optykerCashPayModes,
.optykerCashSecondaryActions{
  flex:0 0 auto!important;
}
@media(max-height:820px){
  .optykerCashHeader{height:68px!important;flex-basis:68px!important}
  .optykerCashMain{height:calc(100vh - 68px)!important}
  .optykerCashCartHead{padding:9px 14px 8px!important}
  .optykerCashClientBox{margin-top:7px!important;padding-top:7px!important}
  #optykerCashClientSearch,#optykerCashClient{height:34px!important}
  .optykerCashCartItems{min-height:48px!important}
  .optykerCashCheckout{padding:10px 14px 11px!important}
  .optykerCashTotalRow{margin-bottom:8px!important;padding-bottom:7px!important}
  #optykerCashTotal{font-size:23px!important}
  .optykerCashStages{margin-bottom:8px!important}
  .optykerCashStage,.optykerCashPayMode{height:32px!important;min-height:32px!important}
  .optykerCashInvoiceBox{margin-top:8px!important;padding:8px!important}
  #optykerCashNote{min-height:36px!important;max-height:44px!important;margin-top:7px!important}
  #optykerCashCheckoutBtn{height:42px!important;margin-top:8px!important}
  .optykerCashSecondaryActions{margin-top:6px!important}
}
@media(max-width:760px){
  .optykerCashMain{height:auto!important;max-height:none!important;overflow:auto!important}
  .optykerCashCart{height:auto!important;max-height:none!important;overflow:visible!important}
  .optykerCashCheckout{position:relative!important;bottom:auto!important}
}

/* CASSA SIDEBAR LOCK V3
   Desktop: the payment/cart column is physically locked to the right side.
   Product rendering cannot push it away or move it below the catalog. */
@media(min-width:761px){
  .optykerCashMain{
    display:block!important;
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  .optykerCashCatalog{
    position:relative!important;
    height:100%!important;
    min-width:0!important;
    margin-right:410px!important;
    overflow:hidden!important;
  }
  .optykerCashCart{
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:410px!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    z-index:50!important;
    display:flex!important;
    flex-direction:column!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .optykerCashCartHead{flex:0 0 auto!important}
  .optykerCashCartItems{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .optykerCashCheckout{
    flex:0 0 auto!important;
    position:relative!important;
    bottom:auto!important;
    max-height:none!important;
    overflow:visible!important;
    display:block!important;
  }
}
@media(min-width:761px) and (max-width:1040px){
  .optykerCashCatalog{margin-right:380px!important}
  .optykerCashCart{width:380px!important}
}
@media(max-width:760px){
  .optykerCashMain{
    display:block!important;
    height:auto!important;
    overflow:auto!important;
  }
  .optykerCashCatalog{
    height:auto!important;
    margin-right:0!important;
    overflow:visible!important;
  }
  .optykerCashCart{
    position:relative!important;
    top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
    width:100%!important;height:auto!important;
  }
}

/* CASSA LAYOUT V4 · catalog + payment sidebar always visible */
@media(min-width:761px){
  .optykerCashMain{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 410px!important;
    grid-template-areas:"catalog cart"!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:calc(100vh - 76px)!important;
    overflow:hidden!important;
  }
  .optykerCashCatalog{
    grid-area:catalog!important;
    position:relative!important;
    width:auto!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .optykerCashCatalogTop{
    flex:0 0 auto!important;
  }
  .optykerCashProducts{
    flex:1 1 auto!important;
    min-width:0!important;
    min-height:0!important;
    width:auto!important;
    overflow:auto!important;
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .optykerCashCart{
    grid-area:cart!important;
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:auto!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
    z-index:10!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
  }
  .optykerCashCartHead{flex:0 0 auto!important}
  .optykerCashCartItems{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:auto!important;
  }
  .optykerCashCheckout{
    flex:0 0 auto!important;
    position:relative!important;
    bottom:auto!important;
    display:block!important;
    overflow:visible!important;
  }
}
@media(min-width:761px) and (max-width:1040px){
  .optykerCashMain{
    grid-template-columns:minmax(0,1fr) 370px!important;
  }
}
@media(max-width:760px){
  .optykerCashMain{
    display:block!important;
    height:auto!important;
    overflow:auto!important;
  }
  .optykerCashCatalog{
    width:100%!important;
    height:auto!important;
    margin:0!important;
    overflow:visible!important;
  }
  .optykerCashCart{
    position:relative!important;
    width:100%!important;
    height:auto!important;
  }
}

/* CASSA PRODUCT CARDS V5 · prevent collapsed line rendering */
.optykerCashProducts{
  grid-auto-rows:max-content!important;
  align-items:start!important;
  align-content:start!important;
}
.optykerCashProduct{
  box-sizing:border-box!important;
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:224px!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  visibility:visible!important;
  opacity:1!important;
  line-height:normal!important;
  text-indent:0!important;
  white-space:normal!important;
}
.optykerCashProductImage{
  box-sizing:border-box!important;
  display:flex!important;
  flex:0 0 132px!important;
  width:100%!important;
  height:132px!important;
  min-height:132px!important;
  max-height:132px!important;
  overflow:hidden!important;
  visibility:visible!important;
  opacity:1!important;
}
.optykerCashProductImage img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  visibility:visible!important;
  opacity:1!important;
}
.optykerCashProductPlaceholder{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  font-size:28px!important;
  opacity:.35!important;
}
.optykerCashProductBody{
  box-sizing:border-box!important;
  display:block!important;
  flex:1 0 auto!important;
  width:100%!important;
  min-height:78px!important;
  padding:12px 13px 13px!important;
  overflow:visible!important;
  visibility:visible!important;
  opacity:1!important;
}
.optykerCashProductTitle,
.optykerCashProductVariant,
.optykerCashProductFoot,
.optykerCashProductPrice,
.optykerCashProductStock{
  visibility:visible!important;
  opacity:1!important;
}
.optykerCashProductTitle{
  display:block!important;
  min-height:30px!important;
}
.optykerCashProductFoot{
  display:flex!important;
  width:100%!important;
}

/* CASSA SISTEMA TS V1 */
.optykerCashTsBox{
  position:relative;
  display:flex!important;
  align-items:flex-start;
  gap:9px;
  margin-top:10px;
  padding:10px;
  border:1px solid #b9d9c3;
  border-radius:9px;
  background:#f3fbf5;
  cursor:pointer;
  user-select:none
}
.optykerCashTsBox.disabled{opacity:.55;cursor:not-allowed;background:#f7f8f9;border-color:#d8e1e7}
.optykerCashTsBox>input{position:absolute;opacity:0;pointer-events:none}
.optykerCashTsCheck{
  flex:0 0 22px;width:22px;height:22px;border:1px solid #9fbdae;border-radius:6px;
  background:#fff;color:transparent;display:grid;place-items:center;font-size:12px;font-weight:950
}
.optykerCashTsBox:has(input:checked) .optykerCashTsCheck{background:#2f7d4a;border-color:#2f7d4a;color:#fff}
.optykerCashTsBox b{display:block;font-size:9px;color:#24445c;line-height:1.25}
.optykerCashTsBox small{display:block;font-size:8px;color:#6f8478;line-height:1.35;margin-top:2px}
.optykerCashTsOptions{
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  padding:9px 10px;
  margin-top:6px;
  border:1px solid #cfe1d5;
  border-radius:9px;
  background:#fbfefc
}
.optykerCashTsOptions>div>label{
  display:block;font-size:8px;font-weight:950;text-transform:uppercase;color:#708494;margin-bottom:5px
}
#optykerCashTsCode{
  width:100%;height:34px;box-sizing:border-box;border:1px solid #c9d7e1;border-radius:7px;
  background:#fff;color:#17334b;padding:0 9px;font-size:9px;font-weight:850;outline:none
}
#optykerCashTsCode:focus{border-color:#2f7d4a;box-shadow:0 0 0 2px rgba(47,125,74,.1)}
.optykerCashTsOpposition{
  display:flex!important;align-items:center!important;gap:7px!important;
  font-size:8px!important;font-weight:800!important;color:#6e5c48!important;text-transform:none!important;margin:0!important
}
.optykerCashTsOpposition input{width:15px;height:15px}
.optykerCashSecondaryActions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.optykerCashTsModalCard{width:min(760px,95vw)!important}
#optykerCashTsList{display:grid;gap:8px;margin-top:13px}
.optykerCashTsRow{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;
  border:1px solid #dce5ec;border-radius:10px;padding:11px 12px;background:#fff
}
.optykerCashTsRow b{display:block;font-size:10px;color:#29445b}
.optykerCashTsRow span{display:block;font-size:8px;color:#788b9a;margin-top:3px}
.optykerCashTsStatus{
  max-width:250px;padding:6px 8px;border-radius:999px;background:#fff7e8;color:#8a6220;
  font-size:8px;font-weight:900;text-align:right
}
.optykerCashTsStatus.opposition_recorded{background:#f2f3f5;color:#63707b}
.optykerCashTsStatus.ready_focus_ts{background:#edf6ff;color:#1769aa}
.optykerCashTsStatus.sent,.optykerCashTsStatus.accepted{background:#edf8f1;color:#2f6e43}
.optykerCashTsStatus.error,.optykerCashTsStatus.rejected{background:#fff2f2;color:#963d3d}
@media(max-width:760px){
  .optykerCashSecondaryActions{grid-template-columns:1fr!important}
  .optykerCashTsRow{grid-template-columns:1fr}
  .optykerCashTsStatus{text-align:left;max-width:none}
}

/* Cassa · scontrino cortesia / regalo */
.optykerCashGiftBtn{background:#fff8ea!important;border-color:#e3c78c!important;color:#7b5a19!important}
.optykerCashGiftBtn:hover{background:#fff2d2!important;border-color:#cfa64c!important;color:#68480d!important}
.optykerCashGiftBtn:disabled{opacity:.55!important;cursor:not-allowed!important}
#optykerClientReceiptsBtn{margin-left:8px;padding:8px 12px;border:1px solid #c7d6e1;border-radius:8px;background:#fff;color:#1769aa;font-weight:800;cursor:pointer}
.optykerCashHistoryToolbar,.optykerCashHistoryActions,.optykerReceiptPrintActions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:14px 0}
.optykerCashHistoryToolbar button,.optykerCashHistoryActions button,.optykerReceiptPrintActions button{padding:8px 12px;border:1px solid #c7d6e1;border-radius:8px;background:#fff;color:#1769aa;font-weight:750;cursor:pointer}
.optykerCashHistoryToolbar button:disabled,.optykerCashHistoryActions button:disabled{opacity:.5;cursor:default}
.optykerCashHistoryActions{justify-content:flex-end;margin:9px 0 0}
.optykerCashHistoryActions [data-hidden="true"]{color:#a03333}
.optykerCashSaleRow.deleted{background:#f5f5f5}
#optykerCashRecentModal .optykerCashModalCard,#optykerReceiptCopy .optykerCashModalCard{width:min(760px,96vw)}
#optykerReceiptCopy{z-index:2147483000}
.optykerReceiptPaper{font:13px/1.5 Arial,sans-serif;color:#172b40;background:#fff;padding:20px}
.optykerReceiptPaper h1{font-size:22px}.optykerReceiptPaper h2{font-size:16px;border-block:1px solid #ccd6df;padding:10px 0}
.optykerReceiptPaper table{width:100%;border-collapse:collapse;margin-top:18px}
.optykerReceiptPaper th,.optykerReceiptPaper td{text-align:right;padding:8px 5px;border-bottom:1px solid #dde3e8}
.optykerReceiptPaper th:first-child,.optykerReceiptPaper td:first-child{text-align:left}
.optykerReceiptTotal{text-align:right;font-size:16px}

.optykerCashRchActions4{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:620px){.optykerCashRchActions4{grid-template-columns:1fr}}
#optykerCashRchProfile table{width:100%;border-collapse:collapse;margin:10px 0;font-size:12px}
#optykerCashRchProfile caption{text-align:left;font-weight:700;margin-bottom:5px}
#optykerCashRchProfile th,#optykerCashRchProfile td{text-align:left;padding:6px 8px;border-bottom:1px solid #d8cda9}
#optykerCashRchProfile p,#optykerCashRchPreflightResult{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
#optykerCashRchPreflight{padding:10px 14px;border:1px solid #1769aa;border-radius:8px;background:#fff;color:#12548a;font-size:12px;line-height:1.4;font-weight:600;font-family:inherit;cursor:pointer}
#optykerCashRchPreflight:disabled{opacity:.5;cursor:default}

/* Fiscal review must cover the cash overlay, history and RCH settings. */
#optykerFiscalModal{z-index:2147483570!important}
#optykerFiscalModal label{display:block;margin:12px 0;line-height:1.5}#optykerFiscalModal input:not([type=checkbox]),#optykerFiscalModal select{padding:8px;border:1px solid #cbd5e1;border-radius:6px;max-width:100%;background:#fff;color:#172b40}#optykerFiscalModal button{padding:9px 13px;margin:6px 6px 6px 0;border:1px solid #bed0df;border-radius:8px;background:#f5f9fc;color:#173450;cursor:pointer}#optykerFiscalModal .ofEmit{background:#245acb;color:#fff;border:0;font-weight:700}#optykerFiscalModal button:disabled{opacity:.55;cursor:wait}#optykerFiscalModal th,#optykerFiscalModal td{text-align:left;padding:6px;border-bottom:1px solid #e1e7ef;font-size:13px}#optykerFiscalModal .ofMessage:not(:empty){padding:12px;background:#fff4cf;border-radius:8px}#optykerFiscalModal .ofReference input:not([type=checkbox]){display:block;margin-top:4px}

.optykerCashVat{display:flex;align-items:center;gap:8px;margin:7px 0;font-size:12px}.optykerCashVat select{max-width:220px;padding:6px;border:1px solid #c8d5df;border-radius:7px;background:#fff;color:#17334b}#optykerCashFiscalCode{width:100%;box-sizing:border-box;padding:10px;border:1px solid #aebfcf;border-radius:8px;font-size:16px;text-transform:uppercase;letter-spacing:1px}
.optykerCashMixed{display:grid;gap:9px;padding:12px;border:1px solid #d7e2ed;border-radius:10px;background:#f7f9fc;margin-top:8px;color:#23384d;font-size:14px}
.optykerCashMixed[hidden]{display:none!important}
.optykerCashMixed label,.optykerCashMixed>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.optykerCashMixed input{width:130px;max-width:45%;padding:8px;border:1px solid #b6c6d7;border-radius:8px;font:inherit}
.optykerCashMixed small{font-size:13px;color:#53677a}

/* OPTYKER_MANUAL_POS_PRICE_CSS_20260914 */
.optykerCashManualPriceLabel{display:grid;gap:5px;font-size:11px;font-weight:800;color:#647484;text-align:left;min-width:132px}
.optykerCashManualPrice{width:132px;box-sizing:border-box;border:1px solid #c9d5df;border-radius:9px;background:#fff;color:#122b3d;font:800 15px/1.1 Segoe UI,Arial,sans-serif;padding:9px 10px;text-align:right}
.optykerCashManualPrice:focus{outline:2px solid rgba(23,105,170,.18);border-color:#1769aa}
.optykerCashLineTotal{display:block;margin-top:7px;font-size:12px;color:#526778;white-space:nowrap}
.optykerCashOriginalPrice{display:block;margin-top:4px;font-size:10px;color:#8b98a3;white-space:nowrap}
@media(max-width:760px){.optykerCashManualPriceLabel,.optykerCashManualPrice{width:118px;min-width:118px}.optykerCashCartItemPrice{min-width:122px}}

/* OPTYKER_CART_SELECTION_20260916 */
#optykerCashOverlay .optykerCashSelectLine{display:flex!important;align-items:center;gap:8px;min-height:36px;margin:0 0 6px!important;font-size:12px!important;font-weight:700;color:#254c78;cursor:pointer}
#optykerCashOverlay .optykerCashSelectLine input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;display:inline-block!important;width:20px!important;height:20px!important;min-width:20px!important;margin:0!important;padding:0!important;accent-color:#275fcc;cursor:pointer}
#optykerCashOverlay .optykerCashSelectLine input:focus-visible{outline:3px solid #89b4ff;outline-offset:3px}
#optykerCashOverlay .optykerCashExcluded{background:#f2f5f9!important;border-color:#ccd5e1!important}
#optykerCashOverlay .optykerCashExcluded .optykerCashSelectLine{color:#5b6573}
#optykerCashOverlay .optykerCashExcluded .optykerCashCartItemPrice{color:#697789!important}
#optykerCashOverlay .optykerCashOrderPriceEditor{min-width:185px!important;text-align:right!important}
#optykerCashOverlay .optykerCashOrderPriceEditor>label{display:block;margin-bottom:5px;font-size:9px;font-weight:900;color:#315b79}
#optykerCashOverlay .optykerCashOrderPriceEditor>div{display:flex;align-items:center;justify-content:flex-end;gap:5px}
#optykerCashOverlay .optykerCashOrderPriceEditor>div>span{font-size:13px;font-weight:900;color:#315b79}
#optykerCashOverlay .optykerCashOrderPriceEditor input[data-price]{width:92px;height:34px;box-sizing:border-box;border:1px solid #9bb9cf;border-radius:8px;background:#fff;padding:0 8px;text-align:right;font:900 14px/1 Segoe UI,Arial,sans-serif;color:#173e69}
#optykerCashOverlay .optykerCashOrderPriceEditor input[data-price]:focus{outline:3px solid rgba(39,95,204,.12);border-color:#275fcc}
#optykerCashOverlay .optykerCashOrderPriceEditor [data-price-reset]{width:34px;height:34px;border:1px solid #c1d0dc;border-radius:8px;background:#fff;color:#315b79;font-size:15px;cursor:pointer}
#optykerCashOverlay .optykerCashOrderPriceEditor small{display:block;margin-top:4px;font-size:8px;font-weight:700;color:#748594}

/* OPTYKER_CASH_CLIENT_SEARCH_20260919 */
#optykerCashClientResults{grid-column:1/-1;flex:1 0 100%;width:100%;min-width:0;margin-top:8px;border:1px solid #d2dde8;border-radius:10px;background:#fff;overflow:hidden}
#optykerCashClientResults[hidden]{display:none!important}
#optykerCashClientSearchStatus{padding:10px 12px;font:500 12px/1.5 system-ui;color:#334e68;background:#f4f7fb;overflow-wrap:anywhere}
#optykerCashClientResults .cashClientSearchRows{max-height:190px;overflow:auto;overscroll-behavior:contain}
#optykerCashClientResults .cashClientSearchResult{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;min-height:45px;border:0;border-bottom:1px solid #e3eaf0;border-radius:0;background:#fff;color:#16394d;text-align:left;padding:10px 12px;cursor:pointer;font:500 12px/1.4 system-ui;white-space:normal;overflow-wrap:anywhere}
#optykerCashClientResults .cashClientSearchResult strong{font-size:13px}
#optykerCashClientResults .cashClientSearchResult span{color:#526d80;font-size:11px}
#optykerCashClientResults .cashClientSearchResult:hover:not(:disabled){background:#f2f6fc}
#optykerCashClientResults .cashClientSearchResult:focus-visible{outline:2px solid #3868b6;outline-offset:-3px}
#optykerCashClientResults .cashClientSearchResult:disabled{opacity:.65;cursor:not-allowed}
#optykerCashClientResults .cashClientSearchActions{display:flex;flex-wrap:wrap;gap:8px;padding:0 12px}
#optykerCashClientResults .cashClientSearchActions button{margin:8px 0;padding:8px 12px;border:1px solid #b5c6d8;border-radius:7px;background:#fff;color:#244f78;cursor:pointer;font:600 12px system-ui}
@media(max-width:650px){#optykerCashClientResults .cashClientSearchRows{max-height:160px}}
