/* OPTIK JINAN POS UI7 — Owner-requested contrast and branch clarity */

:root{
  --ui7-ink:#14213d;
  --ui7-muted:#52627a;
  --ui7-line:rgba(76,96,135,.18);
}

/* Active branch identity: readable at a glance, not only OJP/OJL. */
.sidebar-branch-pill{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:3px 10px!important;
  width:100%!important;
  min-height:70px!important;
  margin-top:15px!important;
  padding:11px 12px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.055))!important;
  color:#fff!important;
  letter-spacing:0!important;
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 12px 28px rgba(0,0,0,.13)!important;
}
.sidebar-branch-pill::before{display:none!important}
.sidebar-branch-kicker{
  grid-column:1/-1;
  color:#91a7cb;
  font-size:9px;
  font-weight:850;
  letter-spacing:.14em;
}
.sidebar-branch-name{
  min-width:0;
  color:#f8fbff;
  font-size:13px;
  font-weight:850;
  line-height:1.25;
  letter-spacing:.015em;
  overflow-wrap:anywhere;
}
.sidebar-branch-code{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:39px;
  min-height:25px;
  padding:0 8px;
  border:1px solid rgba(75,222,150,.25);
  border-radius:999px;
  background:rgba(25,178,103,.15);
  color:#9cf2c4;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
}
.active-branch-badge{
  max-width:260px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Less white, stronger hierarchy on the two most-used desktop pages. */
body[data-current-page="dashboard"] .content,
body[data-current-page="cashier"] .content{
  background:
    radial-gradient(circle at 88% 3%,rgba(128,112,244,.11),transparent 28%),
    radial-gradient(circle at 12% 32%,rgba(27,179,137,.08),transparent 27%),
    linear-gradient(180deg,#eef3fb 0%,#f5f7fc 52%,#edf2f8 100%);
}
body[data-current-page="dashboard"] #page-dashboard,
body[data-current-page="cashier"] #page-cashier{color:var(--ui7-ink)}

/* Dashboard contrast */
.performance-hero{
  background:linear-gradient(128deg,#365fcb 0%,#6557d9 52%,#9a4fc6 100%)!important;
  box-shadow:0 20px 48px rgba(54,67,153,.28)!important;
}
.performance-hero p,.performance-progress-note{color:rgba(255,255,255,.88)!important}
.performance-hero .hero-kicker,.performance-progress-head span{color:rgba(255,255,255,.82)!important}
.performance-progress-card{background:rgba(18,23,76,.21)!important;border-color:rgba(255,255,255,.24)!important}

.metric-card{
  position:relative;
  overflow:hidden;
  border-color:var(--ui7-line)!important;
  color:var(--ui7-ink)!important;
  box-shadow:0 13px 28px rgba(36,53,91,.10)!important;
}
.metric-card::after{
  content:"";
  position:absolute;
  right:-24px;
  bottom:-31px;
  width:92px;
  height:92px;
  border-radius:50%;
  background:rgba(255,255,255,.30);
  pointer-events:none;
}
.metric-card::before{width:43px!important;height:8px!important;margin-bottom:16px!important}
.metric-card .metric-label{color:#34435e!important;font-size:10px!important;font-weight:900!important}
.metric-card .metric-value{position:relative;z-index:1;color:#13203a!important;font-weight:900!important}
.metric-card small{position:relative;z-index:1;color:#4d5d76!important;font-weight:560!important}
.metric-target{background:linear-gradient(145deg,#dceaff 0%,#c8dafe 100%)!important}
.metric-target::before{background:#a9c8ff!important;box-shadow:inset 19px 0 #245ecf!important}
.metric-target .metric-value{color:#174ba8!important}
.metric-revenue{background:linear-gradient(145deg,#d8f6e8 0%,#c7eddb 100%)!important}
.metric-revenue::before{background:#9fe0bf!important;box-shadow:inset 19px 0 #138957!important}
.metric-revenue .metric-value{color:#0d7047!important}
.metric-transactions{background:linear-gradient(145deg,#fff0c9 0%,#f9df9c 100%)!important}
.metric-transactions::before{background:#f2ca72!important;box-shadow:inset 19px 0 #b66a09!important}
.metric-transactions .metric-value{color:#8e5108!important}
.metric-cumulative{background:linear-gradient(145deg,#f7ddec 0%,#efc9df 100%)!important}
.metric-cumulative::before{background:#e9acd0!important;box-shadow:inset 19px 0 #ae326f!important}
.metric-cumulative .metric-value{color:#92275d!important}
.metric-today{background:linear-gradient(145deg,#d9f3f7 0%,#c2e7ee 100%)!important}
.metric-today::before{background:#9fdbe4!important;box-shadow:inset 19px 0 #147a8c!important}
.metric-today .metric-value{color:#126978!important}
.metric-daily-target{background:linear-gradient(145deg,#e7e1ff 0%,#d5cbfa 100%)!important}
.metric-daily-target::before{background:#c0b2f3!important;box-shadow:inset 19px 0 #6549bd!important}
.metric-daily-target .metric-value{color:#54399e!important}
.metric-remaining{background:linear-gradient(145deg,#ffe5d6 0%,#f7ccb5 100%)!important}
.metric-remaining::before{background:#f1b591!important;box-shadow:inset 19px 0 #ba5b26!important}
.metric-remaining .metric-value{color:#99451b!important}
.metric-required{background:linear-gradient(145deg,#dce4ff 0%,#cbd6fa 100%)!important}
.metric-required::before{background:#adbdf1!important;box-shadow:inset 19px 0 #3d54aa!important}
.metric-required .metric-value{color:#304493!important}
.metric-receivables{background:linear-gradient(145deg,#ecdff7 0%,#ddcbed 100%)!important}
.metric-receivables::before{background:#cdb1e3!important;box-shadow:inset 19px 0 #76419e!important}
.metric-receivables .metric-value{color:#633483!important}

#page-dashboard>.card,
#page-dashboard>.grid>.card,
.dashboard-yearly-revenue-card,
.dashboard-cash-deposit-card,
.dashboard-duty-card{
  border-color:rgba(83,101,140,.17)!important;
  background:linear-gradient(145deg,rgba(248,251,255,.97),rgba(231,238,249,.96))!important;
  box-shadow:0 13px 31px rgba(42,57,91,.08)!important;
}
.branch-performance-row,.mini-breakdown-row,.dashboard-duty-branch{
  background:rgba(255,255,255,.72)!important;
  border-color:rgba(88,108,148,.17)!important;
}
.section-head h3{color:#192744!important}
.section-head p{color:#53637b!important}

/* On-demand WhatsApp target card: no polling and no cross-branch transaction detail. */
.dashboard-target-whatsapp-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  margin-top:15px;
  padding:20px 22px!important;
  border:1px solid rgba(13,118,84,.20)!important;
  background:linear-gradient(125deg,#d8f5e8 0%,#c8ede2 55%,#d7e8f8 100%)!important;
}
.dashboard-target-whatsapp-copy{min-width:0}
.dashboard-target-whatsapp-kicker{display:block;color:#176a51;font-size:9px;font-weight:950;letter-spacing:.11em}
.dashboard-target-whatsapp-copy h3{margin:6px 0 5px;color:#173c35;font-size:17px}
.dashboard-target-whatsapp-copy p{max-width:760px;margin:0;color:#41655f;font-size:11px;line-height:1.55}
.dashboard-target-whatsapp-action{display:grid;justify-items:end;gap:8px;min-width:235px}
.dashboard-target-whatsapp-action>span{color:#41655f;font-size:10px;font-weight:650;text-align:right}
.whatsapp-report-btn{
  border-color:#087b55!important;
  background:linear-gradient(135deg,#0c9668,#08754f)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(8,117,79,.22)!important;
}
.whatsapp-report-btn:disabled{opacity:.58;box-shadow:none!important}

/* Cashier sections use calm color families while keeping controls white. */
.cashier-card{
  border-width:1px!important;
  border-color:rgba(67,86,124,.20)!important;
  box-shadow:0 15px 34px rgba(39,53,88,.10)!important;
}
.cashier-card-tone-branch{background:linear-gradient(135deg,#dce9fb,#ceddf5)!important;border-left:5px solid #3570c8!important}
.cashier-card-tone-pic{background:linear-gradient(145deg,#e8e1fa,#ddd4f1)!important;border-left:5px solid #7657b2!important}
.cashier-card-tone-customer{background:linear-gradient(145deg,#dfeefc,#d3e4f7)!important;border-left:5px solid #3977b8!important}
.cashier-card-tone-bpjs{background:linear-gradient(145deg,#d7f1ea,#c8e8df)!important;border-left:5px solid #16846a!important}
.cashier-card-tone-items{background:linear-gradient(145deg,#e8e7fb,#d9ddf4)!important;border-left:5px solid #5969b6!important}
.cashier-card-tone-payment{background:linear-gradient(145deg,#dff2e8,#d2e8de)!important;border-left:5px solid #27865c!important}
.cashier-card .cashier-title{color:#172744!important}
.cashier-card .cashier-sub{color:#4b5c74!important}
.cashier-card .cashier-section-head{border-bottom-color:rgba(54,75,110,.16)!important}
.cashier-card input,.cashier-card select,.cashier-card textarea,
.cashier-card .cashier-selected,.cashier-card .optical-slot,
.cashier-card .optical-selected,.cashier-card .payment-card,
.cashier-card .category-discount,.cashier-card .discount-live-summary span{
  background:rgba(255,255,255,.88)!important;
  border-color:rgba(68,88,124,.19)!important;
}
.cashier-card .same-lens-box{background:rgba(235,241,255,.88)!important}
.cashier-card .summary-line{color:#35445d!important}
.cashier-card .summary-line strong{color:#17243e!important}
.cashier-card-tone-payment .summary-line.total{border-color:rgba(36,112,78,.24)!important}
.cashier-card-tone-payment .summary-line.total strong{color:#126b49!important}
.cashier-card .section-status{box-shadow:0 3px 9px rgba(28,43,72,.07)}

/* WhatsApp report preview modal */
.target-whatsapp-modal-card{width:min(760px,calc(100vw - 28px))!important;max-height:min(90dvh,900px)!important}
.target-whatsapp-modal-body{display:grid;gap:13px;overflow:auto}
.target-whatsapp-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.target-whatsapp-metrics>div{display:grid;gap:5px;padding:11px;border:1px solid rgba(54,101,84,.16);border-radius:13px;background:linear-gradient(145deg,#eff9f4,#e4f3ec)}
.target-whatsapp-metrics span{color:#4a665d;font-size:8px;font-weight:900;letter-spacing:.055em}
.target-whatsapp-metrics strong{color:#154f3d;font-size:13px;overflow-wrap:anywhere}
.target-whatsapp-preview-label{color:#415168;font-size:9px;font-weight:900;letter-spacing:.08em}
.target-whatsapp-preview{
  width:100%;
  min-height:390px;
  resize:vertical;
  padding:16px;
  border:1px solid #cfd9e6;
  border-radius:15px;
  background:#f7f9fc;
  color:#172238;
  font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
  font-size:12px;
  line-height:1.58;
  white-space:pre-wrap;
}
.target-whatsapp-privacy{padding:10px 12px;border-radius:12px;background:#edf5ff;color:#456078;font-size:10px;line-height:1.45}

@media(min-width:1024px){
  body[data-current-page="dashboard"] .content,
  body[data-current-page="cashier"] .content{padding-top:21px}
  .metric-card .metric-value{font-size:23px!important}
  .metric-card small{font-size:12.5px!important;line-height:1.5!important}
  .metric-card .metric-label{font-size:10.5px!important}
  .cashier-card-tone-payment{max-height:calc(100dvh - 105px)}
}

@media(max-width:1023px){
  .active-branch-badge{max-width:180px}
  .dashboard-target-whatsapp-card{grid-template-columns:1fr}
  .dashboard-target-whatsapp-action{justify-items:start;min-width:0}
  .dashboard-target-whatsapp-action>span{text-align:left}
}

@media(max-width:780px){
  .sidebar-branch-pill{min-height:65px!important}
  .sidebar-branch-name{font-size:12px}
  .metric-card::after{width:72px;height:72px}
  .dashboard-target-whatsapp-card{padding:16px!important}
  .dashboard-target-whatsapp-copy h3{font-size:15px}
  .dashboard-target-whatsapp-copy p{font-size:11px}
  .dashboard-target-whatsapp-action,.dashboard-target-whatsapp-action .primary-btn{width:100%}
  .target-whatsapp-metrics{grid-template-columns:1fr 1fr}
  .target-whatsapp-preview{min-height:46dvh;font-size:11px;padding:13px}
  .target-whatsapp-modal-card .modal-actions{display:grid;grid-template-columns:1fr 1fr}
  .target-whatsapp-modal-card .modal-actions .whatsapp-report-btn{grid-column:1/-1;grid-row:1;width:100%}
  .cashier-card{border-left-width:4px!important}
}

@media(max-width:430px){
  .metric-card .metric-label{font-size:9px!important}
  .target-whatsapp-metrics{grid-template-columns:1fr}
}

/* V4.2.40B UI7 CASHIER-UX-MERGE1 — Transaksi Baru desktop readability + stronger payment panel. */
@media (min-width:901px){
  #page-cashier .cashier-layout{
    grid-template-columns:minmax(0,1fr) minmax(430px,.54fr)!important;
    gap:24px!important;
  }
  #page-cashier .cashier-card{
    border-radius:24px!important;
  }
  #page-cashier .cashier-title{
    font-size:21px!important;
    line-height:1.22!important;
    letter-spacing:-.02em!important;
  }
  #page-cashier .cashier-sub,
  #page-cashier .cashier-customer-actions small,
  #page-cashier .optical-slot-head span,
  #page-cashier .same-lens-box small,
  #page-cashier .payment-card-sub,
  #page-cashier .cashier-selected span,
  #page-cashier .cart-meta,
  #page-cashier .selected-item-main small{
    color:#334155!important;
    font-size:14px!important;
    line-height:1.55!important;
    font-weight:650!important;
  }
  #page-cashier .cashier-field label,
  #page-cashier .payment-field label,
  #page-cashier .rx-mini-field label,
  #page-cashier .branch-lock-card>div>span{
    color:#1f2a44!important;
    font-size:12.8px!important;
    letter-spacing:.035em!important;
    font-weight:1000!important;
  }
  #page-cashier .cashier-field input,
  #page-cashier .cashier-field select,
  #page-cashier .cashier-field textarea,
  #page-cashier .cashier-search input,
  #page-cashier .payment-field input,
  #page-cashier .payment-field select,
  #page-cashier .rx-mini-field input,
  #page-cashier .rx-mini-field select{
    min-height:54px!important;
    color:#0f172a!important;
    font-size:16px!important;
    font-weight:750!important;
    border-color:#aebcd0!important;
    border-radius:15px!important;
  }
  #page-cashier .cashier-search button,
  #page-cashier .cashier-add-customer-btn,
  #page-cashier .optical-action-btn,
  #page-cashier .cashier-quick-pay,
  #page-cashier .mini-action{
    min-height:52px!important;
    font-size:14px!important;
    font-weight:950!important;
  }
  #page-cashier .section-status{
    min-height:34px!important;
    padding:7px 12px!important;
    font-size:12px!important;
    font-weight:1000!important;
  }
  #page-cashier .optical-slot-head b,
  #page-cashier .selected-item-head b,
  #page-cashier .cart-name,
  #page-cashier .payment-card-title,
  #page-cashier .cashier-selected strong{
    color:#101828!important;
    font-size:16px!important;
    line-height:1.35!important;
    font-weight:1000!important;
  }
  #page-cashier .optical-selected,
  #page-cashier .cart-empty{
    color:#344054!important;
    font-size:14px!important;
    line-height:1.55!important;
  }
  #page-cashier .cashier-summary{
    top:84px!important;
    min-width:430px!important;
    max-height:calc(100dvh - 104px)!important;
    border-left-width:7px!important;
    box-shadow:0 18px 44px rgba(15,23,42,.13)!important;
  }
  #page-cashier .cashier-summary-scroll{
    padding-right:8px!important;
  }
  #page-cashier .payment-head{
    margin-top:16px!important;
  }
  #page-cashier .payment-head b,
  #page-cashier .payment-detail-title,
  #page-cashier .cashier-review-title{
    color:#1f2a44!important;
    font-size:13px!important;
    letter-spacing:.04em!important;
    font-weight:1000!important;
  }
  #page-cashier .payment-card{
    padding:18px!important;
    border-radius:18px!important;
    border-color:#b9c8dc!important;
    background:#fff!important;
  }
  #page-cashier .cash-payment-summary span{
    padding:12px 13px!important;
    color:#334155!important;
    font-size:12.5px!important;
    font-weight:900!important;
  }
  #page-cashier .cash-payment-summary strong{
    color:#0f172a!important;
    font-size:16px!important;
    font-weight:1000!important;
  }
  #page-cashier .payment-actions-row .cashier-sub{
    font-size:13px!important;
  }
  #page-cashier .cashier-quick-pay{
    padding:0 18px!important;
    border-color:#93c5fd!important;
    background:#dbeafe!important;
    color:#1d4ed8!important;
  }
  #page-cashier .summary-line{
    color:#26364f!important;
    font-size:14.5px!important;
    font-weight:750!important;
  }
  #page-cashier .summary-line strong{
    color:#0f172a!important;
    font-size:15px!important;
    font-weight:950!important;
  }
  #page-cashier .payment-status-panel{
    margin-top:12px!important;
    padding:17px 18px!important;
    border-radius:18px!important;
  }
  #page-cashier .payment-status-panel strong{
    font-size:16px!important;
    letter-spacing:.015em!important;
  }
  #page-cashier .payment-status-panel span{
    margin-top:5px!important;
    font-size:13.5px!important;
    line-height:1.5!important;
    font-weight:700!important;
  }
  #page-cashier .cashier-review{
    padding:17px!important;
    border-radius:18px!important;
  }
  #page-cashier .cashier-review-row{
    padding:8px 0!important;
    color:#26364f!important;
    font-size:14px!important;
    font-weight:750!important;
  }
  #page-cashier .cashier-review-row strong{
    color:#101828!important;
    font-size:14.5px!important;
    font-weight:950!important;
  }
  #page-cashier .cashier-desktop-actions{
    padding:18px 22px!important;
  }
  #page-cashier .cashier-desktop-action-copy strong{
    color:#101828!important;
    font-size:13px!important;
  }
  #page-cashier .cashier-desktop-action-copy span{
    color:#334155!important;
    font-size:12.5px!important;
    font-weight:700!important;
  }
  #page-cashier .cashier-desktop-save{
    min-width:200px!important;
    min-height:58px!important;
    font-size:15.5px!important;
    border-radius:16px!important;
  }
}

@media (min-width:1440px){
  #page-cashier .cashier-layout{
    grid-template-columns:minmax(0,1fr) minmax(470px,.5fr)!important;
  }
  #page-cashier .cashier-summary{
    min-width:470px!important;
  }
}

#page-cashier .payment-main-numbers{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:15px 0 12px;
}
#page-cashier .payment-main-number{
  display:grid;
  gap:6px;
  min-width:0;
  padding:14px 15px;
  border:1px solid rgba(55,89,130,.18);
  border-radius:18px;
  background:rgba(255,255,255,.90);
  box-shadow:0 8px 22px rgba(15,23,42,.055);
}
#page-cashier .payment-main-number.total{
  grid-column:1/-1;
  padding:18px;
  background:linear-gradient(135deg,#ffffff,#e9f7ef);
  border-color:rgba(18,107,73,.22);
}
#page-cashier .payment-main-number span{
  color:#26364f;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.045em;
  text-transform:uppercase;
}
#page-cashier .payment-main-number strong{
  color:#0f172a;
  font-size:22px;
  line-height:1.12;
  font-weight:1000;
  letter-spacing:-.035em;
  overflow-wrap:anywhere;
  font-variant-numeric:tabular-nums;
}
#page-cashier .payment-main-number.total strong{
  color:#126b49!important;
  font-size:36px!important;
}
#page-cashier .payment-main-number.remaining strong{
  color:#b45309;
}
#page-cashier .payment-main-number.paid strong{
  color:#047857;
}
#page-cashier .payment-detail-summary{
  margin-top:15px;
  padding:14px 16px;
  border:1px solid rgba(55,89,130,.14);
  border-radius:18px;
  background:rgba(255,255,255,.72);
}
#page-cashier .payment-detail-title{
  margin-bottom:7px;
}

@media (max-width:900px){
  #page-cashier .payment-main-numbers{
    grid-template-columns:1fr 1fr;
  }
  #page-cashier .payment-main-number.total strong{
    font-size:28px!important;
  }
}

/* V4.2.41B-UI7-CASHIER-REDESIGN-A1 — Opsi A flat design clean minimalist */
#page-cashier{
  --cashier-green:#2f8a57;
  --cashier-green-dark:#1f6a40;
  --cashier-green-soft:#edf8f1;
  --cashier-magenta:#d94d90;
  --cashier-magenta-soft:#fff1f8;
  --cashier-ink:#101828;
  --cashier-muted:#667085;
  --cashier-line:#d7e2db;
  --cashier-surface:#ffffff;
  --cashier-surface-soft:#f7faf8;
  --cashier-bg:#f4f6f5;
  padding-top:10px;
}
#page-cashier.page{
  background:linear-gradient(180deg,#f6f8f7 0%,#f3f5f4 100%);
}
#page-cashier .cashier-page-head{
  align-items:center;
  gap:18px;
  margin-bottom:16px;
  padding:18px 22px;
  border:1px solid rgba(31,106,64,.14);
  border-radius:28px;
  background:
    radial-gradient(circle at top right, rgba(217,77,144,.10), transparent 28%),
    radial-gradient(circle at left top, rgba(47,138,87,.12), transparent 34%),
    #ffffff;
  box-shadow:0 18px 44px rgba(15,23,42,.05);
}
#page-cashier .cashier-page-hero{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}
#page-cashier .cashier-page-brand{
  display:grid;
  gap:4px;
  padding-right:18px;
  border-right:1px solid rgba(16,24,40,.08);
  flex:0 0 auto;
}
#page-cashier .cashier-page-brand .oj-wordmark{
  font-size:32px;
  letter-spacing:.03em;
}
#page-cashier .cashier-page-kicker{
  color:var(--cashier-muted);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
#page-cashier .cashier-page-copy{display:grid;gap:4px;min-width:0}
#page-cashier .cashier-page-copy h2{
  margin:0;
  color:var(--cashier-ink);
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.03em;
}
#page-cashier .cashier-page-copy p{
  margin:0;
  color:var(--cashier-muted);
  font-size:14px;
  line-height:1.6;
}
#page-cashier .cashier-page-actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-left:auto;
  flex-wrap:wrap;
}
#page-cashier .cashier-page-badge{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 16px;
  border:1px solid rgba(217,77,144,.18);
  border-radius:999px;
  background:linear-gradient(135deg,#fff,#fff4fa);
  color:var(--cashier-magenta);
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  white-space:nowrap;
}
#page-cashier .cashier-layout{
  grid-template-columns:minmax(0,1.32fr) minmax(360px,.68fr);
  gap:18px;
  align-items:start;
}
#page-cashier .cashier-stack{gap:16px}
#page-cashier .cashier-card,
#page-cashier .optical-slot,
#page-cashier .payment-card,
#page-cashier .cashier-review,
#page-cashier .payment-detail-summary,
#page-cashier .cashier-selected,
#page-cashier .cashier-result,
#page-cashier .same-lens-box,
#page-cashier .bpjs-payment-card,
#page-cashier .payment-status-panel{
  box-shadow:none!important;
}
#page-cashier .cashier-card{
  padding:20px;
  border:1px solid rgba(16,24,40,.08)!important;
  border-radius:24px!important;
  background:#fff!important;
}
#page-cashier .cashier-card-tone-branch,
#page-cashier .cashier-card-tone-pic,
#page-cashier .cashier-card-tone-customer,
#page-cashier .cashier-card-tone-bpjs,
#page-cashier .cashier-card-tone-items,
#page-cashier .cashier-card-tone-payment{
  background:#fff!important;
  border-left:0!important;
}
#page-cashier .cashier-card-tone-branch{
  background:linear-gradient(135deg,#ffffff 0%,#fbfefc 100%)!important;
  border-top:5px solid var(--cashier-green)!important;
}
#page-cashier .cashier-card-tone-pic{border-top:4px solid rgba(217,77,144,.68)!important}
#page-cashier .cashier-card-tone-customer{border-top:4px solid rgba(47,138,87,.55)!important}
#page-cashier .cashier-card-tone-bpjs{border-top:4px solid rgba(27,145,106,.55)!important}
#page-cashier .cashier-card-tone-items{border-top:4px solid rgba(16,24,40,.22)!important}
#page-cashier .cashier-card-tone-payment{border-top:5px solid var(--cashier-green)!important}
#page-cashier .cashier-title{
  color:var(--cashier-ink)!important;
  font-size:22px!important;
  line-height:1.15!important;
  letter-spacing:-.02em;
}
#page-cashier .cashier-sub,
#page-cashier .cashier-field label,
#page-cashier .optical-slot-head span,
#page-cashier .cashier-selected span,
#page-cashier .cart-meta,
#page-cashier .selected-item-main small,
#page-cashier .payment-card-sub,
#page-cashier .payment-main-number span,
#page-cashier .payment-status-panel span,
#page-cashier .cashier-desktop-action-copy span,
#page-cashier .cashier-customer-actions small,
#page-cashier .same-lens-box small,
#page-cashier .summary-line,
#page-cashier .payment-field label,
#page-cashier .draft-status,
#page-cashier .cashier-page-copy p,
#page-cashier .payment-detail-title,
#page-cashier .payment-head b,
#page-cashier .cashier-review-title,
#page-cashier .discount-live-summary,
#page-cashier .discount-control-copy small{
  color:var(--cashier-muted)!important;
}
#page-cashier .section-status{
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  font-size:10px;
  font-weight:1000;
}
#page-cashier .section-status.complete{background:#edf8f1!important;color:var(--cashier-green-dark)!important}
#page-cashier .section-status.warning{background:#fff6e8!important;color:#b54708!important}
#page-cashier .section-status.danger{background:#fff1f3!important;color:#c01048!important}
#page-cashier .branch-lock-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(230px,280px) auto;
  align-items:end;
  gap:18px;
}
#page-cashier .branch-lock-card>div:first-child{
  gap:8px;
}
#page-cashier .branch-lock-card span{
  color:var(--cashier-muted)!important;
  font-size:11px!important;
  letter-spacing:.12em!important;
}
#page-cashier .branch-lock-card strong{
  color:var(--cashier-green-dark)!important;
  font-size:28px!important;
  line-height:1.05;
  letter-spacing:-.04em;
}
#page-cashier .draft-status-row{
  justify-content:flex-end;
  align-self:center;
}
#page-cashier .draft-status{
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(16,24,40,.08);
  background:#f9fafb;
  font-size:11px;
}
#page-cashier .draft-status.saved{
  border-color:rgba(47,138,87,.18);
  background:#edf8f1;
  color:var(--cashier-green-dark)!important;
}
#page-cashier .cashier-field input,
#page-cashier .cashier-field select,
#page-cashier .cashier-search input,
#page-cashier .payment-field input,
#page-cashier .payment-field select,
#page-cashier .discount-value-field,
#page-cashier .discount-value-field input,
#page-cashier .bpjs-rx-eye label select,
#page-cashier .bpjs-rx-eye label input{
  border-color:rgba(16,24,40,.10)!important;
  border-radius:16px!important;
  background:#fff!important;
}
#page-cashier .cashier-field input,
#page-cashier .cashier-field select,
#page-cashier .cashier-search input,
#page-cashier .payment-field input,
#page-cashier .payment-field select{
  min-height:50px!important;
  padding:0 15px!important;
  color:var(--cashier-ink)!important;
  font-size:14px!important;
  font-weight:700!important;
}
#page-cashier .cashier-field input:focus,
#page-cashier .cashier-field select:focus,
#page-cashier .cashier-search input:focus,
#page-cashier .payment-field input:focus,
#page-cashier .payment-field select:focus,
#page-cashier .discount-value-field input:focus{
  border-color:rgba(47,138,87,.45)!important;
  box-shadow:0 0 0 4px rgba(47,138,87,.10)!important;
}
#page-cashier .cashier-search{
  grid-template-columns:minmax(0,1fr) 120px;
  gap:10px;
}
#page-cashier .cashier-result{
  align-items:flex-start;
  padding:16px 18px;
  border:1px solid rgba(16,24,40,.08);
  border-radius:18px;
  background:#fff;
}
#page-cashier .cashier-result:hover{
  border-color:rgba(47,138,87,.28);
  background:#fbfefc;
}
#page-cashier .cashier-result-side{
  min-height:36px;
  padding:0 14px;
  border:1px solid rgba(47,138,87,.16);
  background:var(--cashier-green-soft);
  color:var(--cashier-green-dark);
  font-size:11px;
}
#page-cashier .cashier-selected{
  padding:16px 18px;
  border:1px solid rgba(47,138,87,.16);
  border-radius:20px;
  background:linear-gradient(135deg,#fff,#f8fcf9);
}
#page-cashier .cashier-selected strong,
#page-cashier .optical-slot-head b,
#page-cashier .selected-item-head b,
#page-cashier .cart-name,
#page-cashier .payment-card-title{
  color:var(--cashier-ink)!important;
  font-size:17px!important;
}
#page-cashier .cashier-add-customer-btn,
#page-cashier .cashier-quick-pay,
#page-cashier .optical-action-btn,
#page-cashier .secondary-btn,
#page-cashier .mini-btn,
#page-cashier .primary-btn,
#page-cashier .payment-delete,
#page-cashier .qty-btn,
#page-cashier .cart-remove,
#page-cashier .item-remove-btn{
  border-radius:14px!important;
}
#page-cashier .primary-btn,
#page-cashier .optical-action-btn,
#page-cashier .cashier-desktop-save,
#page-cashier .mobile-cashier-save{
  background:linear-gradient(135deg,var(--cashier-green),var(--cashier-green-dark))!important;
  color:#fff!important;
  border:0!important;
  box-shadow:none!important;
}
#page-cashier .secondary-btn,
#page-cashier .cashier-add-customer-btn,
#page-cashier .cashier-quick-pay,
#page-cashier .mini-btn,
#page-cashier .optical-action-btn.manual{
  border:1px solid rgba(16,24,40,.10)!important;
  background:#fff!important;
  color:var(--cashier-ink)!important;
}
#page-cashier .secondary-btn:hover,
#page-cashier .cashier-add-customer-btn:hover,
#page-cashier .cashier-quick-pay:hover,
#page-cashier .mini-btn:hover,
#page-cashier .optical-action-btn.manual:hover{
  background:#f8faf9!important;
}
#page-cashier .payment-delete,
#page-cashier .item-remove-btn,
#page-cashier .cart-remove{
  background:#fff4f6!important;
  border:1px solid rgba(217,77,144,.18)!important;
  color:#c01048!important;
}
#page-cashier .optical-slot,
#page-cashier .payment-card,
#page-cashier .payment-detail-summary,
#page-cashier .cashier-review,
#page-cashier .same-lens-box,
#page-cashier .bpjs-payment-card{
  border:1px solid rgba(16,24,40,.08)!important;
  border-radius:20px!important;
  background:#fff!important;
}
#page-cashier .optical-slot{padding:18px!important}
#page-cashier .optical-selected,
#page-cashier .cart-empty{
  min-height:78px;
  padding:14px 15px;
  border:1px dashed rgba(16,24,40,.14);
  border-radius:18px;
  background:#fbfcfc;
  font-size:13px!important;
}
#page-cashier .optical-selected.active{
  border-color:rgba(47,138,87,.22);
  background:#f4fbf6;
}
#page-cashier .optical-selected.mirrored{
  border-color:rgba(217,77,144,.15);
  background:#fff8fc;
  color:#7d2955!important;
}
#page-cashier .selected-item-price,
#page-cashier .cart-price{
  color:var(--cashier-green-dark)!important;
  font-size:20px!important;
}
#page-cashier .same-lens-box{
  gap:12px;
  background:linear-gradient(135deg,#fff,#fff7fb)!important;
  border-color:rgba(217,77,144,.18)!important;
}
#page-cashier .category-discount{
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  margin-top:14px;
  padding:14px 16px!important;
  border:1px solid rgba(16,24,40,.08)!important;
  border-radius:20px!important;
  background:#fafbfb!important;
}
#page-cashier .discount-control-copy span{
  color:var(--cashier-ink)!important;
  font-size:13px!important;
}
#page-cashier .discount-control-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(150px,180px);
  gap:10px;
  align-items:center;
}
#page-cashier .discount-mode-switch{
  padding:4px;
  border:1px solid rgba(16,24,40,.08);
  border-radius:16px;
  background:#fff;
}
#page-cashier .discount-mode-btn{
  border-radius:12px;
  min-height:40px;
}
#page-cashier .discount-mode-btn.active{
  background:var(--cashier-green-soft)!important;
  color:var(--cashier-green-dark)!important;
}
#page-cashier .discount-value-field{
  display:flex;
  align-items:center;
  min-height:48px;
  padding:0 14px;
  border:1px solid rgba(16,24,40,.08);
  background:#fff;
}
#page-cashier .discount-value-field span{
  color:var(--cashier-green-dark)!important;
  font-size:14px!important;
}
#page-cashier .discount-value-field input{
  min-height:44px!important;
  padding:0 0 0 10px!important;
  border:0!important;
  text-align:right!important;
  box-shadow:none!important;
}
#page-cashier .discount-live-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
#page-cashier .discount-live-summary span{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border-radius:14px;
  background:#fff;
  font-size:11px!important;
}
#page-cashier .discount-live-summary b{
  color:var(--cashier-ink)!important;
  font-size:14px!important;
}
#page-cashier .cashier-summary{
  top:84px!important;
  min-width:0!important;
  max-height:calc(100dvh - 104px)!important;
  overflow:hidden!important;
}
#page-cashier .cashier-summary-scroll{
  padding-right:6px!important;
}
#page-cashier .bpjs-payment-card{
  padding:16px 18px;
  background:linear-gradient(135deg,#fff,#f4fbf6)!important;
  border-color:rgba(47,138,87,.16)!important;
}
#page-cashier .payment-main-numbers{
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:16px 0 14px;
}
#page-cashier .payment-main-number{
  gap:7px;
  padding:18px;
  border:1px solid rgba(16,24,40,.08);
  border-radius:22px;
  background:#fff;
}
#page-cashier .payment-main-number.total{
  grid-column:1/-1;
  padding:20px;
  background:linear-gradient(135deg,#f3fbf6,#ffffff 72%,#fff4fa 100%);
  border-color:rgba(47,138,87,.15);
}
#page-cashier .payment-main-number span{
  font-size:11px!important;
  letter-spacing:.12em!important;
}
#page-cashier .payment-main-number strong{
  font-size:24px!important;
  color:var(--cashier-ink)!important;
}
#page-cashier .payment-main-number.total strong{
  font-size:40px!important;
  color:var(--cashier-green-dark)!important;
}
#page-cashier .payment-main-number.paid strong{color:var(--cashier-green)!important}
#page-cashier .payment-main-number.remaining strong{color:#c01048!important}
#page-cashier .payment-status-panel{
  margin-top:14px!important;
  padding:16px 18px!important;
  border:1px solid rgba(16,24,40,.08);
  border-radius:20px!important;
  background:#fafbfb!important;
}
#page-cashier .payment-status-panel.complete{
  border-color:rgba(47,138,87,.16)!important;
  background:#f2fbf5!important;
}
#page-cashier .payment-status-panel.warning{
  border-color:rgba(245,158,11,.16)!important;
  background:#fffaf2!important;
}
#page-cashier .payment-status-panel.danger{
  border-color:rgba(217,77,144,.16)!important;
  background:#fff4f8!important;
}
#page-cashier .payment-head{
  margin-top:16px!important;
  margin-bottom:10px!important;
}
#page-cashier .payment-head b,
#page-cashier .payment-detail-title,
#page-cashier .cashier-review-title{
  color:var(--cashier-ink)!important;
  font-size:12px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase;
}
#page-cashier .payment-detail-summary{padding:16px 18px!important;background:#fafbfb!important}
#page-cashier .summary-line{
  padding:10px 0!important;
  color:var(--cashier-muted)!important;
  font-size:13px!important;
}
#page-cashier .summary-line strong{
  color:var(--cashier-ink)!important;
  font-size:14px!important;
  font-variant-numeric:tabular-nums;
}
#page-cashier .payment-actions-row{
  align-items:center;
  margin-top:12px;
}
#page-cashier .cashier-review{
  padding:16px 18px!important;
  background:#fafbfb!important;
}
#page-cashier .cashier-review-row{
  padding:8px 0!important;
  font-size:13px!important;
  color:var(--cashier-muted)!important;
}
#page-cashier .cashier-review-row strong{
  color:var(--cashier-ink)!important;
  font-size:14px!important;
}
#page-cashier .cashier-desktop-actions{
  gap:16px;
  margin:16px -20px -20px;
  padding:16px 20px 18px!important;
  border-top:1px solid rgba(16,24,40,.08)!important;
  background:#fff!important;
  box-shadow:none!important;
}
#page-cashier .cashier-desktop-action-copy strong{
  color:var(--cashier-ink)!important;
  font-size:12px!important;
  letter-spacing:.12em!important;
}
#page-cashier .cashier-desktop-save,
#page-cashier .mobile-cashier-save{
  min-height:54px!important;
  min-width:190px;
  border-radius:16px!important;
  font-size:14px!important;
  font-weight:1000!important;
}
#page-cashier .mobile-cashier-bar{
  border:1px solid rgba(16,24,40,.08);
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 14px 30px rgba(15,23,42,.08);
}
#page-cashier .mobile-cashier-total strong{color:var(--cashier-green-dark)!important}
#page-cashier .cashier-page-actions .secondary-btn,
#page-cashier .cashier-page-actions .primary-btn{
  min-height:42px;
  padding:0 16px;
}

@media (max-width:1199px){
  #page-cashier .cashier-layout{
    grid-template-columns:1fr;
  }
  #page-cashier .cashier-summary{
    position:static!important;
    max-height:none!important;
  }
}
@media (max-width:900px){
  #page-cashier .cashier-page-head{
    padding:16px;
    border-radius:24px;
  }
  #page-cashier .cashier-page-hero{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
  #page-cashier .cashier-page-brand{
    padding-right:0;
    padding-bottom:10px;
    border-right:0;
    border-bottom:1px solid rgba(16,24,40,.08);
    width:100%;
  }
  #page-cashier .cashier-page-copy h2{font-size:25px}
  #page-cashier .cashier-page-actions{width:100%;justify-content:space-between}
  #page-cashier .branch-lock-card{
    grid-template-columns:1fr;
    align-items:start;
  }
  #page-cashier .draft-status-row{justify-content:flex-start}
  #page-cashier .discount-control-main{grid-template-columns:1fr}
  #page-cashier .discount-live-summary{grid-template-columns:1fr}
  #page-cashier .payment-main-number.total strong{font-size:32px!important}
}
@media (max-width:640px){
  #page-cashier .cashier-card,
  #page-cashier .optical-slot,
  #page-cashier .payment-card,
  #page-cashier .cashier-review,
  #page-cashier .payment-detail-summary,
  #page-cashier .cashier-selected,
  #page-cashier .same-lens-box,
  #page-cashier .bpjs-payment-card{
    border-radius:18px!important;
  }
  #page-cashier .cashier-page-brand .oj-wordmark{font-size:26px}
  #page-cashier .cashier-page-kicker{font-size:10px}
  #page-cashier .payment-main-numbers{grid-template-columns:1fr}
  #page-cashier .payment-main-number.total{grid-column:auto}
  #page-cashier .payment-main-number.total strong{font-size:28px!important}
  #page-cashier .cashier-search{grid-template-columns:1fr}
  #page-cashier .cashier-page-actions{gap:10px}
  #page-cashier .cashier-page-badge{min-height:38px;padding:0 12px;font-size:10.5px}
  #page-cashier .cashier-page-actions .secondary-btn{width:100%}
  #page-cashier .cashier-desktop-save,
  #page-cashier .mobile-cashier-save{min-width:146px}
}

/* V4.2.41C-UI7-CASHIER-REDESIGN-A2 — actual layout redesign + progressive PIC */
#page-cashier{
  --cashier-a2-green:#2f8a57;
  --cashier-a2-green-dark:#17633b;
  --cashier-a2-magenta:#d94d90;
  --cashier-a2-ink:#101828;
  --cashier-a2-muted:#667085;
  --cashier-a2-line:#e4ebe7;
  --cashier-a2-bg:#f5f7f6;
  --cashier-a2-panel:#ffffff;
}
#page-cashier.page{
  background:
    radial-gradient(circle at top left, rgba(47,138,87,.10), transparent 26%),
    radial-gradient(circle at top right, rgba(217,77,144,.09), transparent 24%),
    var(--cashier-a2-bg)!important;
}
#page-cashier .cashier-page-head{
  margin-bottom:18px!important;
  padding:16px 20px!important;
  border:1px solid rgba(16,24,40,.07)!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:0 16px 40px rgba(15,23,42,.045)!important;
}
#page-cashier .cashier-page-brand .oj-wordmark{
  font-size:34px!important;
}
#page-cashier .cashier-page-kicker{
  color:var(--cashier-a2-muted)!important;
}
#page-cashier .cashier-page-badge{display:none!important}
#page-cashier .cashier-redesign-a2-layout{
  grid-template-columns:minmax(0,1fr) minmax(390px,430px)!important;
  gap:18px!important;
  align-items:start!important;
}
#page-cashier .cashier-order-shell{
  padding:18px;
  border:1px solid rgba(16,24,40,.07);
  border-radius:30px;
  background:#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.055);
}
#page-cashier .cashier-order-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
  padding:0 2px 14px;
  border-bottom:1px solid rgba(16,24,40,.07);
}
#page-cashier .cashier-order-head span{
  display:block;
  color:var(--cashier-a2-green-dark);
  font-size:12px;
  font-weight:1000;
  letter-spacing:.12em;
  text-transform:uppercase;
}
#page-cashier .cashier-order-head h3{
  margin:4px 0 0;
  color:var(--cashier-a2-ink);
  font-size:26px;
  line-height:1.1;
  letter-spacing:-.035em;
}
#page-cashier .cashier-order-head small{
  max-width:310px;
  color:var(--cashier-a2-muted);
  font-size:12px;
  line-height:1.45;
  text-align:right;
}
#page-cashier .cashier-order-shell .cashier-stack{
  gap:12px!important;
}
#page-cashier .cashier-order-shell .cashier-card{
  padding:16px!important;
  border:1px solid rgba(16,24,40,.07)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:none!important;
}
#page-cashier .cashier-order-shell .branch-lock-card{
  display:grid!important;
  grid-template-columns:minmax(170px,.95fr) minmax(220px,1.05fr) auto!important;
  align-items:end!important;
  gap:12px!important;
  padding:14px 16px!important;
  border-top:0!important;
  background:linear-gradient(135deg,#f8fcf9,#fff 70%,#fff7fb)!important;
}
#page-cashier .cashier-topbar-branch{
  display:grid;
  gap:4px;
}
#page-cashier .cashier-topbar-branch span,
#page-cashier .branch-lock-card span{
  color:var(--cashier-a2-muted)!important;
  font-size:10px!important;
  font-weight:1000!important;
  letter-spacing:.12em!important;
  text-transform:uppercase;
}
#page-cashier .cashier-topbar-branch strong,
#page-cashier .branch-lock-card strong{
  color:var(--cashier-a2-green-dark)!important;
  font-size:17px!important;
  line-height:1.15!important;
  letter-spacing:-.015em!important;
}
#page-cashier .cashier-topbar-sale-type label{
  text-transform:uppercase;
}
#page-cashier .branch-lock-card .cashier-field select{
  min-height:46px!important;
  border-radius:14px!important;
  font-size:13px!important;
}
#page-cashier .branch-lock-card .draft-status-row{
  margin-top:0!important;
  justify-content:flex-end!important;
  align-self:center!important;
}
#page-cashier .branch-lock-card .draft-status{
  min-height:32px!important;
  padding:0 11px!important;
  font-size:10px!important;
}
#page-cashier .sales-pic-card,
#page-cashier #cashierCustomerSection{
  display:grid;
  grid-template-columns:minmax(230px,.62fr) minmax(0,1fr);
  gap:14px;
  align-items:start;
}
#page-cashier .sales-pic-card .cashier-section-head,
#page-cashier #cashierCustomerSection .cashier-section-head{
  display:grid!important;
  gap:9px!important;
}
#page-cashier .sales-pic-card .cashier-title,
#page-cashier #cashierCustomerSection .cashier-title{
  font-size:20px!important;
}
#page-cashier .sales-pic-card .cashier-sub,
#page-cashier #cashierCustomerSection .cashier-sub{
  font-size:12px!important;
  line-height:1.45!important;
}
#page-cashier .compact-pic-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
#page-cashier .cashier-pic-field.hidden{display:none!important}
#page-cashier .sales-pic-actions{
  grid-column:2;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:-4px;
}
#page-cashier .sales-pic-actions .mini-action{
  min-height:40px!important;
  padding:0 13px!important;
  border-color:rgba(47,138,87,.18)!important;
  color:var(--cashier-a2-green-dark)!important;
  background:#f5fbf7!important;
}
#page-cashier .sales-pic-hint{
  color:var(--cashier-a2-muted)!important;
  font-size:11px!important;
  line-height:1.4!important;
}
#page-cashier #cashierCustomerSection .cashier-search,
#page-cashier #cashierCustomerSection .cashier-results,
#page-cashier #cashierCustomerSection .cashier-selected,
#page-cashier #cashierCustomerSection .cashier-customer-actions{
  grid-column:2;
}
#page-cashier #cashierCustomerSection .cashier-search{
  margin-top:0!important;
}
#page-cashier #cashierCustomerSection .cashier-selected{
  margin-top:10px!important;
  padding:13px 15px!important;
  border-radius:18px!important;
}
#page-cashier #cashierCustomerSection .cashier-customer-actions{
  margin-top:9px!important;
}
#page-cashier .optical-item-card{
  display:grid!important;
  gap:12px!important;
  padding:18px!important;
  background:#fff!important;
}
#page-cashier .optical-item-card>.cashier-section-head{
  padding-bottom:12px;
  border-bottom:1px solid rgba(16,24,40,.07);
}
#page-cashier .optical-item-card .cashier-title{
  font-size:24px!important;
}
#page-cashier .optical-slot{
  padding:15px!important;
  border:1px solid rgba(16,24,40,.07)!important;
  border-radius:20px!important;
  background:#fcfdfc!important;
}
#page-cashier .optical-slot-head b{
  font-size:15px!important;
  letter-spacing:.08em;
}
#page-cashier .optical-action-row{
  gap:8px!important;
}
#page-cashier .optical-action-btn{
  min-height:43px!important;
}
#page-cashier .optical-selected,
#page-cashier .cart-empty{
  min-height:62px!important;
  border-radius:16px!important;
}
#page-cashier .category-discount{
  margin-top:10px!important;
  padding:12px!important;
  border-radius:17px!important;
}
#page-cashier .discount-live-summary{
  gap:7px!important;
}
#page-cashier .discount-live-summary span{
  padding:8px 10px!important;
}
#page-cashier .cashier-summary{
  top:82px!important;
  border:1px solid rgba(16,24,40,.08)!important;
  border-top:5px solid var(--cashier-a2-green)!important;
  border-radius:30px!important;
  background:#fff!important;
  box-shadow:0 18px 48px rgba(15,23,42,.08)!important;
}
#page-cashier .cashier-summary .cashier-title{
  font-size:24px!important;
}
#page-cashier .cashier-summary-scroll{
  padding-right:6px!important;
}
#page-cashier .payment-main-numbers{
  gap:10px!important;
}
#page-cashier .payment-main-number{
  border:1px solid rgba(16,24,40,.07)!important;
  border-radius:20px!important;
  background:#fbfcfc!important;
}
#page-cashier .payment-main-number.total{
  background:linear-gradient(135deg,#eff9f3,#fff 78%,#fff4fa)!important;
  border-color:rgba(47,138,87,.18)!important;
}
#page-cashier .payment-main-number.total strong{
  color:var(--cashier-a2-green-dark)!important;
  font-size:38px!important;
}
#page-cashier .payment-main-number.remaining strong{
  color:#c01048!important;
}
#page-cashier .payment-detail-summary,
#page-cashier .cashier-review,
#page-cashier .payment-card{
  border:1px solid rgba(16,24,40,.07)!important;
  background:#fbfcfc!important;
}
#page-cashier .cashier-desktop-actions{
  border-top:1px solid rgba(16,24,40,.07)!important;
  background:#fff!important;
}
#page-cashier .cashier-desktop-save,
#page-cashier .mobile-cashier-save{
  background:var(--cashier-a2-green)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 10px 22px rgba(47,138,87,.20)!important;
}
#page-cashier .cashier-desktop-save:hover,
#page-cashier .mobile-cashier-save:hover{
  background:var(--cashier-a2-green-dark)!important;
}
#page-cashier .picker-result-stock.lab,
#page-cashier .picker-result-stock{
  color:var(--cashier-a2-green-dark);
}
#page-cashier .picker-empty strong{color:var(--cashier-a2-ink)}

@media (min-width:1500px){
  #page-cashier .cashier-redesign-a2-layout{
    grid-template-columns:minmax(0,1fr) minmax(430px,470px)!important;
  }
}
@media (max-width:1199px){
  #page-cashier .cashier-redesign-a2-layout{
    grid-template-columns:1fr!important;
  }
  #page-cashier .cashier-order-shell{
    padding:14px;
    border-radius:26px;
  }
  #page-cashier .cashier-summary{
    position:static!important;
    max-height:none!important;
  }
}
@media (max-width:900px){
  #page-cashier .cashier-order-head{
    align-items:flex-start;
    flex-direction:column;
  }
  #page-cashier .cashier-order-head small{text-align:left;max-width:none}
  #page-cashier .cashier-order-shell .branch-lock-card{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  #page-cashier .branch-lock-card .draft-status-row{justify-content:flex-start!important}
  #page-cashier .sales-pic-card,
  #page-cashier #cashierCustomerSection{
    grid-template-columns:1fr!important;
  }
  #page-cashier .sales-pic-actions,
  #page-cashier #cashierCustomerSection .cashier-search,
  #page-cashier #cashierCustomerSection .cashier-results,
  #page-cashier #cashierCustomerSection .cashier-selected,
  #page-cashier #cashierCustomerSection .cashier-customer-actions{
    grid-column:auto!important;
  }
}
@media (max-width:640px){
  #page-cashier .cashier-page-brand .oj-wordmark{font-size:28px!important}
  #page-cashier .cashier-order-shell{padding:10px;border-radius:22px}
  #page-cashier .cashier-order-head h3{font-size:22px}
  #page-cashier .cashier-order-shell .cashier-card{padding:14px!important;border-radius:18px!important}
  #page-cashier .payment-main-number.total strong{font-size:29px!important}
}

/* V4.2.41D-UI7-CASHIER-COMPACT-DESKTOP-A3 — compact desktop cashier workflow */
#page-cashier{
  --cashier-a3-green:#2f8a57;
  --cashier-a3-green-dark:#1f6a40;
  --cashier-a3-magenta:#d94d90;
  --cashier-a3-ink:#101828;
  --cashier-a3-muted:#667085;
  --cashier-a3-line:rgba(16,24,40,.08);
}
#page-cashier .cashier-review:empty{display:none!important}
#page-cashier .payment-detail-summary > summary{cursor:pointer;list-style:none}
#page-cashier .payment-detail-summary > summary::-webkit-details-marker{display:none}
#page-cashier .payment-detail-summary > summary::after{content:'+';float:right;color:var(--cashier-a3-green-dark);font-size:16px;line-height:1;font-weight:1000}
#page-cashier .payment-detail-summary[open] > summary::after{content:'−'}
#page-cashier .cashier-customer-actions small:empty{display:none!important}

@media (min-width:1200px){
  #page-cashier{
    padding-top:6px!important;
  }
  #page-cashier .cashier-page-head{
    min-height:0!important;
    margin-bottom:10px!important;
    padding:10px 14px!important;
    border-radius:20px!important;
    box-shadow:none!important;
  }
  #page-cashier .cashier-page-hero{gap:12px!important}
  #page-cashier .cashier-page-brand{padding-right:12px!important}
  #page-cashier .cashier-page-brand .oj-wordmark{font-size:24px!important;line-height:1!important}
  #page-cashier .cashier-page-kicker{font-size:9px!important;letter-spacing:.18em!important}
  #page-cashier .cashier-page-copy h2{font-size:22px!important;line-height:1.05!important}
  #page-cashier .cashier-page-copy p{font-size:12px!important;line-height:1.25!important}
  #page-cashier .cashier-page-actions .secondary-btn{min-height:36px!important;padding:0 12px!important;font-size:11px!important}

  #page-cashier .cashier-redesign-a2-layout{
    grid-template-columns:minmax(0,1fr) minmax(360px,400px)!important;
    gap:12px!important;
    max-height:calc(100dvh - 128px)!important;
    align-items:stretch!important;
  }
  #page-cashier .cashier-order-shell{
    height:calc(100dvh - 128px)!important;
    padding:12px!important;
    border-radius:24px!important;
    overflow:hidden!important;
    box-shadow:0 12px 28px rgba(15,23,42,.045)!important;
  }
  #page-cashier .cashier-order-head{
    align-items:center!important;
    margin-bottom:8px!important;
    padding:0 2px 8px!important;
  }
  #page-cashier .cashier-order-head span{font-size:9.5px!important;letter-spacing:.16em!important}
  #page-cashier .cashier-order-head h3{font-size:20px!important;margin-top:1px!important}
  #page-cashier .cashier-order-head small{font-size:10px!important;line-height:1.2!important;max-width:170px!important}
  #page-cashier .cashier-order-shell .cashier-stack{
    height:calc(100% - 47px)!important;
    display:grid!important;
    grid-template-rows:auto auto auto minmax(0,1fr)!important;
    gap:8px!important;
    overflow:hidden!important;
  }
  #page-cashier .cashier-order-shell .cashier-card{
    padding:11px 12px!important;
    border-radius:17px!important;
  }
  #page-cashier .cashier-order-shell .branch-lock-card{
    grid-template-columns:minmax(155px,.75fr) minmax(190px,.9fr) minmax(160px,.75fr)!important;
    gap:10px!important;
    padding:10px 12px!important;
  }
  #page-cashier .cashier-topbar-branch span,
  #page-cashier .branch-lock-card span,
  #page-cashier .cashier-field label,
  #page-cashier .payment-field label{
    font-size:8.5px!important;
    letter-spacing:.13em!important;
  }
  #page-cashier .cashier-topbar-branch strong,
  #page-cashier .branch-lock-card strong{font-size:14px!important}
  #page-cashier .branch-lock-card .cashier-field select,
  #page-cashier .cashier-field input,
  #page-cashier .cashier-field select,
  #page-cashier .cashier-search input,
  #page-cashier .payment-field input,
  #page-cashier .payment-field select{
    min-height:38px!important;
    border-radius:12px!important;
    font-size:12px!important;
    padding:0 11px!important;
  }
  #page-cashier .branch-lock-card .draft-status-row{gap:6px!important;justify-content:flex-end!important}
  #page-cashier .branch-lock-card .draft-status{min-height:28px!important;padding:0 9px!important;font-size:8.5px!important}

  #page-cashier .sales-pic-card,
  #page-cashier #cashierCustomerSection{
    grid-template-columns:180px minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:center!important;
  }
  #page-cashier .sales-pic-card .cashier-section-head,
  #page-cashier #cashierCustomerSection .cashier-section-head{
    gap:5px!important;
  }
  #page-cashier .sales-pic-card .cashier-title,
  #page-cashier #cashierCustomerSection .cashier-title,
  #page-cashier .optical-item-card .cashier-title,
  #page-cashier .cashier-summary .cashier-title{
    font-size:16px!important;
    line-height:1.1!important;
  }
  #page-cashier .sales-pic-card .cashier-sub,
  #page-cashier #cashierCustomerSection .cashier-sub,
  #page-cashier .cashier-order-head small,
  #page-cashier .cashier-summary .cashier-sub,
  #page-cashier .cashier-customer-actions small,
  #page-cashier .sales-pic-hint,
  #page-cashier .discount-control-copy small,
  #page-cashier .optical-slot-head span{
    display:none!important;
  }
  #page-cashier .sales-pic-card .section-status,
  #page-cashier #cashierCustomerSection .section-status{
    min-height:26px!important;
    padding:0 8px!important;
    font-size:8.5px!important;
    width:max-content!important;
  }
  #page-cashier .compact-pic-grid{
    grid-column:2!important;
    gap:6px!important;
  }
  #page-cashier .sales-pic-actions{
    grid-column:3!important;
    margin-top:0!important;
    justify-content:flex-end!important;
  }
  #page-cashier .sales-pic-actions .mini-action,
  #page-cashier .cashier-add-customer-btn,
  #page-cashier .cashier-search .primary-btn,
  #page-cashier .mini-action,
  #page-cashier .cashier-quick-pay{
    min-height:36px!important;
    padding:0 11px!important;
    font-size:10px!important;
    border-radius:12px!important;
  }
  #page-cashier #cashierCustomerSection .cashier-search{
    grid-column:2!important;
    grid-template-columns:minmax(0,1fr) 78px!important;
    gap:8px!important;
    margin-top:0!important;
  }
  #page-cashier #cashierCustomerSection .cashier-results{
    grid-column:2/-1!important;
    max-height:128px!important;
    margin-top:4px!important;
  }
  #page-cashier #cashierCustomerSection .cashier-selected{
    grid-column:2!important;
    min-height:38px!important;
    margin-top:6px!important;
    padding:8px 11px!important;
    border-radius:13px!important;
  }
  #page-cashier #cashierCustomerSection .cashier-selected strong{font-size:12px!important}
  #page-cashier #cashierCustomerSection .cashier-selected span{display:none!important}
  #page-cashier #cashierCustomerSection .cashier-customer-actions{
    grid-column:3!important;
    grid-row:1 / span 2!important;
    margin-top:0!important;
    align-self:center!important;
    justify-content:flex-end!important;
  }

  #page-cashier .optical-item-card{
    min-height:0!important;
    overflow:hidden!important;
    gap:8px!important;
    padding:12px!important;
  }
  #page-cashier .optical-item-card>.cashier-section-head{
    padding-bottom:7px!important;
    align-items:center!important;
  }
  #page-cashier .optical-item-card>.cashier-section-head .cashier-sub{display:none!important}
  #page-cashier .optical-item-card>.cashier-section-head .section-status{min-height:26px!important;font-size:8.5px!important;padding:0 8px!important}
  #page-cashier .optical-slot{
    padding:10px!important;
    border-radius:15px!important;
  }
  #page-cashier .optical-slot-head{margin-bottom:7px!important}
  #page-cashier .optical-slot-head b{font-size:12px!important;letter-spacing:.11em!important}
  #page-cashier .optical-action-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
  #page-cashier .optical-action-btn{min-height:36px!important;font-size:10px!important;border-radius:11px!important}
  #page-cashier .optical-selected,
  #page-cashier .cart-empty{
    min-height:42px!important;
    padding:9px 10px!important;
    border-radius:12px!important;
    font-size:11px!important;
    line-height:1.3!important;
  }
  #page-cashier .selected-item-head b,
  #page-cashier .cart-name{font-size:12px!important}
  #page-cashier .selected-item-main small,
  #page-cashier .cart-meta{font-size:9.5px!important;line-height:1.3!important}
  #page-cashier .selected-item-price,
  #page-cashier .cart-price{font-size:15px!important}
  #page-cashier .lens-pair-grid{gap:8px!important}
  #page-cashier .same-lens-box{
    min-height:38px!important;
    padding:8px 10px!important;
    border-radius:12px!important;
  }
  #page-cashier .same-lens-box b{font-size:11px!important}
  #page-cashier .same-lens-box small{display:none!important}
  #page-cashier .category-discount{
    margin-top:7px!important;
    padding:8px 10px!important;
    border-radius:13px!important;
    gap:7px!important;
  }
  #page-cashier .discount-control-copy span{font-size:11px!important}
  #page-cashier .discount-control-main{grid-template-columns:minmax(0,1fr) 132px!important;gap:7px!important}
  #page-cashier .discount-mode-btn{min-height:32px!important;font-size:9.5px!important}
  #page-cashier .discount-value-field{min-height:36px!important;padding:0 10px!important;border-radius:12px!important}
  #page-cashier .discount-value-field input{min-height:34px!important;font-size:11px!important}
  #page-cashier .discount-live-summary{display:none!important}
  #page-cashier .cashier-note-field{display:none!important}

  #page-cashier .cashier-summary{
    height:calc(100dvh - 128px)!important;
    top:72px!important;
    border-radius:24px!important;
    box-shadow:0 12px 28px rgba(15,23,42,.06)!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  #page-cashier .cashier-summary-scroll{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:hidden!important;
    padding-right:0!important;
  }
  #page-cashier .cashier-summary .cashier-section-head{
    gap:8px!important;
    align-items:center!important;
  }
  #page-cashier .cashier-summary .section-status{min-height:28px!important;font-size:9px!important;padding:0 9px!important}
  #page-cashier .payment-main-numbers{
    gap:7px!important;
    margin:10px 0 8px!important;
  }
  #page-cashier .payment-main-number{
    gap:4px!important;
    padding:10px 12px!important;
    border-radius:15px!important;
  }
  #page-cashier .payment-main-number.total{padding:12px!important}
  #page-cashier .payment-main-number span{font-size:8.5px!important;letter-spacing:.14em!important}
  #page-cashier .payment-main-number strong{font-size:17px!important;line-height:1.05!important}
  #page-cashier .payment-main-number.total strong{font-size:30px!important}
  #page-cashier .payment-status-panel{
    margin-top:7px!important;
    padding:9px 11px!important;
    border-radius:14px!important;
  }
  #page-cashier .payment-status-panel strong{font-size:12px!important}
  #page-cashier .payment-status-panel span{font-size:10px!important;margin-top:2px!important}
  #page-cashier .payment-head{
    margin:9px 0 6px!important;
  }
  #page-cashier .payment-head b,
  #page-cashier .payment-detail-title,
  #page-cashier .cashier-review-title{font-size:10px!important;letter-spacing:.12em!important}
  #page-cashier .payment-rows{gap:6px!important}
  #page-cashier .payment-card{
    padding:9px 10px!important;
    border-radius:14px!important;
  }
  #page-cashier .payment-card-head{margin-bottom:7px!important}
  #page-cashier .payment-card-title{font-size:12px!important}
  #page-cashier .payment-card-sub{display:none!important}
  #page-cashier .payment-delete{width:28px!important;height:28px!important;border-radius:9px!important;font-size:12px!important}
  #page-cashier .payment-grid{gap:6px!important}
  #page-cashier .payment-field input,
  #page-cashier .payment-field select{min-height:36px!important;border-radius:11px!important;font-size:11px!important}
  #page-cashier .cash-payment-summary{gap:5px!important}
  #page-cashier .cash-payment-summary span{padding:7px 8px!important;font-size:8.5px!important}
  #page-cashier .cash-payment-summary strong{font-size:11px!important}
  #page-cashier .payment-actions-row{
    margin-top:6px!important;
    justify-content:flex-end!important;
  }
  #page-cashier .payment-detail-summary{
    margin-top:8px!important;
    padding:10px 12px!important;
    border-radius:14px!important;
  }
  #page-cashier .payment-detail-summary:not([open]) .summary-line{display:none!important}
  #page-cashier .summary-line{padding:5px 0!important;font-size:11px!important}
  #page-cashier .summary-line strong{font-size:11px!important}
  #page-cashier .cashier-review{
    margin-top:7px!important;
    padding:9px 10px!important;
    border-radius:13px!important;
    max-height:78px!important;
    overflow:auto!important;
  }
  #page-cashier .cashier-review-row{padding:3px 0!important;font-size:10.5px!important}
  #page-cashier .cashier-review-row strong{font-size:10.5px!important}
  #page-cashier .cashier-desktop-actions{
    margin:8px -12px -12px!important;
    padding:9px 12px 10px!important;
    gap:8px!important;
  }
  #page-cashier .cashier-desktop-action-copy strong{font-size:10px!important;letter-spacing:.14em!important}
  #page-cashier .cashier-desktop-action-copy span{font-size:10px!important}
  #page-cashier .cashier-desktop-save{
    min-width:158px!important;
    min-height:44px!important;
    font-size:13px!important;
    border-radius:13px!important;
  }
}

@media (min-width:1500px){
  #page-cashier .cashier-redesign-a2-layout{
    grid-template-columns:minmax(0,1fr) minmax(380px,410px)!important;
  }
  #page-cashier .cashier-page-head,
  #page-cashier .cashier-redesign-a2-layout,
  #page-cashier .cashier-order-shell,
  #page-cashier .cashier-summary{
    max-height:calc(100dvh - 120px)!important;
  }
  #page-cashier .cashier-order-shell,
  #page-cashier .cashier-summary{height:calc(100dvh - 120px)!important}
}

/* V4.2.41E-UI7-CASHIER-COMPACT-HF1 — scroll fix, customer card polish, salutation form */
@media (min-width:1200px){
  #page-cashier .cashier-redesign-a2-layout{
    max-height:none!important;
    min-height:0!important;
  }
  #page-cashier .cashier-order-shell{
    overflow:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    padding-bottom:18px!important;
  }
  #page-cashier .cashier-order-shell .cashier-stack{
    height:auto!important;
    min-height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:visible!important;
  }
  #page-cashier .optical-item-card{
    overflow:visible!important;
  }
  #page-cashier .cashier-order-shell .optical-item-card{
    min-height:0!important;
  }
}
#page-cashier .cashier-page-copy h2#cashierHeaderBranch{
  color:var(--cashier-a2-green-dark,#1f6a40)!important;
  font-size:20px!important;
  letter-spacing:-.02em!important;
}
#page-cashier #cashierCustomerSection{
  background:linear-gradient(135deg,#fff,#fbfefc 58%,#fff7fb)!important;
}
#page-cashier #cashierCustomerSection .cashier-customer-main{
  grid-column:2;
  display:grid;
  gap:8px;
  min-width:0;
}
#page-cashier #cashierCustomerSection .cashier-customer-profile{
  grid-column:2;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  min-height:56px!important;
  padding:10px 12px!important;
  border:1px solid rgba(47,138,87,.16)!important;
  background:#fff!important;
}
#page-cashier .cashier-customer-avatar{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:14px;
  background:linear-gradient(135deg,#eaf8ef,#fff2f8);
  color:var(--cashier-a2-green-dark,#1f6a40);
  font-size:13px;
  font-weight:1000;
  letter-spacing:.04em;
}
#page-cashier .cashier-customer-text{
  display:grid;
  gap:3px;
  min-width:0;
}
#page-cashier .cashier-customer-text strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#101828!important;
  font-size:14px!important;
  line-height:1.2!important;
}
#page-cashier .cashier-customer-text span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#667085!important;
  font-size:11px!important;
  line-height:1.25!important;
}
#page-cashier .cashier-customer-rx{
  display:inline-flex!important;
  width:max-content;
  max-width:100%;
  padding:3px 7px;
  border-radius:999px;
  background:#eef8f2;
  color:#1f6a40!important;
  font-size:10px!important;
  font-weight:900!important;
}
#page-cashier #cashierCustomerSection .cashier-customer-actions{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
}
.customer-name-row{
  display:grid;
  grid-template-columns:minmax(110px,150px) minmax(0,1fr);
  gap:12px;
  align-items:end;
}
.customer-name-row .field{
  margin:0!important;
}
#customerSalutation{
  width:100%;
  min-height:46px;
  border:1px solid #d7e2db;
  border-radius:14px;
  padding:0 12px;
  background:#fff;
  color:#101828;
  font:inherit;
  font-weight:800;
}
@media (min-width:1200px){
  #page-cashier #cashierCustomerSection .cashier-customer-main,
  #page-cashier #cashierCustomerSection .cashier-results{
    grid-column:2!important;
  }
  #page-cashier #cashierCustomerSection .cashier-customer-profile{
    grid-column:2!important;
  }
  #page-cashier #cashierCustomerSection .cashier-customer-actions{
    grid-column:3!important;
    grid-row:1 / span 3!important;
  }
}
@media (max-width:640px){
  .customer-name-row{grid-template-columns:1fr}
}
@media (min-width:1200px){
  #page-cashier #cashierCustomerSection .cashier-customer-profile .cashier-customer-text span,
  #page-cashier #cashierCustomerSection .cashier-customer-profile .cashier-customer-rx{
    display:block!important;
  }
}
