/* Karin v5.46 — late legacy dark-mode compatibility bridge.
   Canonical colors live in karin-ui.css. This file exists only because a few
   legacy pages still emit inline !important light rules after the main stylesheets. */
html[data-theme="dark"] body.karin-app-page .karin-modal-shell{
  background:var(--karin-surface)!important;border-color:var(--karin-surface-border)!important;color:var(--karin-text)!important;box-shadow:var(--karin-shadow-modal)!important
}
html[data-theme="dark"] body.karin-app-page :is(.karin-modal__header,.karin-modal__footer,.karin-modal-shell>form,.karin-modal-shell>#variant-list){
  background:var(--karin-surface)!important;border-color:var(--karin-border)!important;color:var(--karin-text)!important
}
html[data-theme="dark"] body.karin-app-page .karin-modal__header :where(h1,h2,h3,b,strong){color:var(--karin-text)!important}
html[data-theme="dark"] body.karin-app-page :where(.modal-x,.karin-modal-close,.karin-modal-lite-head button,.dialog-close){
  background:var(--karin-surface-raised)!important;border-color:var(--karin-control-border)!important;color:var(--karin-text)!important;box-shadow:none!important
}
html[data-theme="dark"] body.karin-app-page :where(.karin-card,.box,.karin-stat,.collapse,.settings-row,.reports-table,.karin-table-wrap,.role2-card,.role2-stat,.role2-metric,.perm-item,.perm-section,.stock-expand-box){
  border-color:var(--karin-surface-border)!important;box-shadow:none!important
}
html[data-theme="dark"] body.karin-app-page :where(.karin-card,.box,.collapse,.settings-row,.role2-card,.role2-stat,.role2-metric,.perm-item,.perm-section,.stock-expand-box){background:var(--karin-surface)!important;color:var(--karin-text)!important}
html[data-theme="dark"] body.karin-app-page :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.karin-date-display-input,.karin-channel-trigger){background:var(--karin-control-bg)!important;border-color:var(--karin-control-border)!important;color:var(--karin-text)!important;box-shadow:none!important}
html[data-theme="dark"] body.karin-app-page :where(input,textarea)::placeholder{color:var(--karin-text-muted)!important;opacity:.82!important}
html[data-theme="dark"] body.karin-app-page :where(.pill,.karin-badge,.count-badge,.status-pill,.readonly-pill):not(.ok):not(.warn):not(.bad):not(.success):not(.danger){background:var(--karin-surface-muted)!important;border-color:var(--karin-border-strong)!important;color:var(--karin-text)!important;box-shadow:none!important}
html[data-theme="dark"] body.karin-app-page :where(.karin-text-muted,.karin-note,small){color:var(--karin-text-muted)!important}
html[data-theme="dark"] body.karin-app-page :where(.perm-summary,.perm-savebar){background:var(--karin-surface-soft)!important;border-color:var(--karin-border)!important;color:var(--karin-text)!important}
html[data-theme="dark"] body.karin-app-page :where(.modal,.karin-modal,.role-modal){background:var(--karin-overlay)!important}


/* ========================================================================
   Karin v5.47 — route-by-route legacy dark-mode closure
   These selectors intentionally target only visual legacy surfaces discovered
   by the v5.47 source QA. Business/status semantics remain explicit below.
   ======================================================================== */
html[data-theme="dark"] body.karin-app-page :where(
  .karin-date-popover,.ledger-date .karin-date-popover,.res-unified-date .karin-date-popover,
  .search-results,.ajax-result-list,.selected-product,
  .ledger-stat,.res-mini-card:not(.warn):not(.old),.res-supply-item,
  .site-orders-summary>div,.site-orders-livebar,
  .finance-kpi .karin-stat,.finance-note,.settlement-modal-summary,
  .cheque-kpi .karin-stat,.cheque-summary-grid .item,.cheque-related-card,.cheque-doc,.cheque-history-body,.cheque-upload-card,
  .commission-summary-card:not(.outstanding),
  .check-chip,.history-tabs a,.ledger-tabs a,.res-tabs a,.finance-tabs a
){
  background:var(--karin-surface)!important;
  border-color:var(--karin-border)!important;
  color:var(--karin-text)!important;
  box-shadow:none!important
}
html[data-theme="dark"] body.karin-app-page :where(
  .karin-date-mode-toggle,.ledger-date .karin-date-mode-toggle,.res-unified-date .karin-date-mode-toggle,
  .mixed-box,.settlement-detail-row td,.cheque-related-card .rowx,.cheque-doc-preview
){background:var(--karin-surface-soft)!important;border-color:var(--karin-border)!important;color:var(--karin-text)!important}
html[data-theme="dark"] body.karin-app-page :where(
  .ledger-filters label,.ledger-date>label,.res-filter-grid label,
  .finance-filter-form label,.cheque-filter-grid label,
  .expense-filter-form label,.commission-filter-form label,.commission-action-form label,.history-filter label
){color:var(--karin-text-muted)!important}
html[data-theme="dark"] body.karin-app-page :where(
  .ledger-stat b,.ledger-list-head b,.ledger-table td b,.site-orders-summary b,.site-order-customer strong,
  .expense-summary-inline b,.commission-summary-card b,.settlement-modal-summary b
){color:var(--karin-text)!important}
html[data-theme="dark"] body.karin-app-page :where(.ledger-tabs a,.res-tabs a,.history-tabs a,.finance-tabs a){
  background:var(--karin-surface-raised)!important;border-color:var(--karin-control-border)!important;color:var(--karin-text-muted)!important;text-decoration:none!important
}
html[data-theme="dark"] body.karin-app-page :where(.ledger-tabs a:hover,.res-tabs a:hover,.history-tabs a:hover,.finance-tabs a:hover){
  background:var(--karin-surface-muted)!important;border-color:var(--karin-border-strong)!important;color:#fff!important
}
html[data-theme="dark"] body.karin-app-page :where(.site-orders-presets a,.cheque-doc-count,.cheque-existing a,.sold-qty-badge,.reserve-count-link){
  background:#17304c!important;border-color:#345c82!important;color:#9ccaff!important;text-decoration:none!important
}
html[data-theme="dark"] body.karin-app-page .site-orders-table tbody tr{background:var(--karin-surface)!important;border-color:var(--karin-border)!important;box-shadow:none!important}
html[data-theme="dark"] body.karin-app-page .ajax-result-item{background:var(--karin-surface)!important;border-color:var(--karin-border)!important;color:var(--karin-text)!important}
html[data-theme="dark"] body.karin-app-page .ajax-result-item:hover{background:var(--karin-surface-raised)!important}
html[data-theme="dark"] body.karin-app-page .sale-row-actions .karin-button-danger-soft{background:var(--karin-surface-raised)!important;border-color:var(--karin-border-strong)!important;color:var(--karin-text-muted)!important}
html[data-theme="dark"] body.karin-app-page .sale-row-actions .karin-button-danger-soft:hover{background:#3a1c24!important;border-color:#7f3544!important;color:#ffb4c0!important}

/* Semantic states retain meaning without light islands. */
html[data-theme="dark"] body.karin-app-page :where(.op-in,.status-active){background:#123629!important;color:#72e2ad!important}
html[data-theme="dark"] body.karin-app-page :where(.op-out,.approval-rejected,.badge-out){background:#3b1b24!important;color:#ff9dad!important}
html[data-theme="dark"] body.karin-app-page :where(.op-reserve,.approval-pending_approval,.res-mini-card.warn,.res-mini-card.old,.badge-expected){background:#3a2a12!important;border-color:#73531d!important;color:#f6c875!important}
html[data-theme="dark"] body.karin-app-page .op-neutral{background:#22264b!important;color:#b8bcff!important}
html[data-theme="dark"] body.karin-app-page .commission-summary-card.outstanding{background:#132943!important;border-color:#315878!important;color:#a9d1ff!important}
html[data-theme="dark"] body.karin-app-page .offline-local-sale-row td{background:#312616!important;color:#f3d39a!important}

/* Custom mobile/list surfaces discovered outside the canonical aliases. */
html[data-theme="dark"] body.karin-app-page :where(.ledger-table tr,.res-supply-numbers span){border-color:var(--karin-border)!important}
html[data-theme="dark"] body.karin-app-page .ledger-table tr{background:var(--karin-surface)!important}
html[data-theme="dark"] body.karin-app-page :where(.active-filter-note,.settlement-mode-note){background:var(--karin-surface-soft)!important;border-color:var(--karin-border-strong)!important;color:var(--karin-text-muted)!important}


/* Remaining route-specific surfaces from the v5.47 sweep. */
html[data-theme="dark"] body.karin-app-page :where(
  .price-type-card,.inventory-master-setting:not(.is-disabled),.inventory-state-points span,
  .karin-offline-center,.karin-offline-stat,.karin-offline-panel,.karin-offline-switch,
  .karin-offline-flow div,.karin-offline-queue-grid div,.karin-offline-check,.karin-backup-action-card,
  .audit-error-list code,.deploy-cron code
){background:var(--karin-surface)!important;border-color:var(--karin-border)!important;color:var(--karin-text)!important;box-shadow:none!important}
html[data-theme="dark"] body.karin-app-page .sync-tech-details code{background:var(--karin-surface-soft)!important;color:var(--karin-text-muted)!important}
html[data-theme="dark"] body.karin-app-page :where(.karin-offline-stat b,.karin-offline-panel-head h3,.karin-offline-switch b,.karin-offline-flow span,.karin-offline-queue-grid b,.karin-backup-action-card b){color:var(--karin-text)!important}
html[data-theme="dark"] body.karin-app-page .inventory-master-setting.is-disabled{background:#3a2a12!important;border-color:#73531d!important;color:#f6c875!important}
html[data-theme="dark"] body.karin-app-page .karin-offline-state.is-off{background:#3b1b24!important;color:#ff9dad!important}
html[data-theme="dark"] body.karin-app-page :where(.audit-fail,.deploy-fail){background:#3b1b24!important;color:#ff9dad!important}
html[data-theme="dark"] body.karin-app-page .audit-warn{background:#3a2a12!important;color:#f6c875!important}
html[data-theme="dark"] body.karin-app-page :where(.audit-advisory,.deploy-advisory){background:#132943!important;color:#a9d1ff!important}
html[data-theme="dark"] body.karin-app-page .audit-skip{background:#1c2a3d!important;color:#aab9c9!important}
html[data-theme="dark"] body.karin-app-page :where(.audit-row-fail,.deploy-row-fail) td{background:#2c1820!important}
html[data-theme="dark"] body.karin-app-page .audit-row-warn td{background:#2e2618!important}
html[data-theme="dark"] body.karin-app-page .draft-card span{color:var(--karin-text-muted)!important}


/* Reservation, sales and detail-view leftovers discovered by selector audit. */
html[data-theme="dark"] body.karin-app-page :where(
  .res-product-table-head,.res-product-row>summary,.res-variants-table,.res-variant-head,
  .res-order-row,.res-product-row,.res-table tr,.expense-cheque-box,.cheque-badge,.sale-item-row,.karin-search-combo
){background:var(--karin-surface)!important;border-color:var(--karin-border)!important;color:var(--karin-text)!important;box-shadow:none!important}
html[data-theme="dark"] body.karin-app-page .res-product-row[open]>summary{background:var(--karin-surface-raised)!important}
html[data-theme="dark"] body.karin-app-page :where(.res-cell.age em,.res-cell.age span,.sales-time-date,.sales-filter-form-v187 label){color:var(--karin-text-muted)!important}
html[data-theme="dark"] body.karin-app-page :where(.res-supply-open,.history-event){background:#17304c!important;border-color:#345c82!important;color:#9ccaff!important;text-decoration:none!important}
html[data-theme="dark"] body.karin-app-page :where(.sales-item-preview img,.sales-item-preview-empty,.sold-product-cell img,.sold-product-empty){background:var(--karin-surface-soft)!important;border-color:var(--karin-border)!important;color:var(--karin-text-muted)!important}
html[data-theme="dark"] body.karin-app-page .search-result-item:hover{background:var(--karin-surface-raised)!important}


/* Karin v5.52 — final dark-mode + reports stabilization */
/* Order delivery: the summary wrapper itself must never leak a light surface. */
html[data-theme="dark"] body.karin-page-order-delivery .delivery-modal-card-v322>.delivery-summary-strip{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  color:var(--karin-text)!important;
}
html[data-theme="dark"] body.karin-page-order-delivery .delivery-modal-card-v322>.delivery-summary-strip>div{
  background:var(--karin-surface-raised)!important;
  border-color:var(--karin-border)!important;
  color:var(--karin-text)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body.karin-page-order-delivery .delivery-modal-card-v322>.delivery-summary-strip>div :where(span,small){color:var(--karin-text-muted)!important}
html[data-theme="dark"] body.karin-page-order-delivery .delivery-modal-card-v322>.delivery-summary-strip>div b{color:var(--karin-text)!important}

/* Inventory/site availability pills: readable semantic dark surfaces. */
html[data-theme="dark"] body.karin-page-stock .site-stock-cell{
  background:#17253a!important;
  border-color:#40546d!important;
  color:#b9c8da!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body.karin-page-stock .site-stock-cell.ok{
  background:#102d29!important;
  border-color:#28685c!important;
  color:#8fe0c5!important;
}
html[data-theme="dark"] body.karin-page-stock .site-stock-cell.bad{
  background:#351c28!important;
  border-color:#754054!important;
  color:#f3a5b8!important;
}
html[data-theme="dark"] body.karin-page-stock .site-stock-cell.empty{
  background:#152235!important;
  border-color:#344861!important;
  color:#879bb2!important;
}

/* ========================================================================
   Karin v5.78 — canonical modal dark compatibility bridge
   This late layer now targets the canonical shell instead of each historical
   modal family separately. It exists only to beat route-local inline light CSS.
   ======================================================================== */
html[data-theme="dark"] body.karin-app-page .karin-modal-shell{
  background:var(--karin-surface)!important;
  border-color:var(--karin-border-strong)!important;
  color:var(--karin-text)!important;
  box-shadow:var(--karin-shadow-modal)!important;
}
html[data-theme="dark"] body.karin-app-page .karin-modal-shell > :is(form,.karin-modal__body,#variant-list),
html[data-theme="dark"] body.karin-app-page .karin-modal-shell :is(.karin-modal__footer,form > .karin-actions:last-child){
  background:var(--karin-surface)!important;
  border-color:var(--karin-border)!important;
  color:var(--karin-text)!important;
}
html[data-theme="dark"] body.karin-app-page .karin-modal-shell > .karin-note{
  background:var(--karin-info-surface)!important;
  border-color:var(--karin-info-border)!important;
  color:var(--karin-info-text)!important;
}
html[data-theme="dark"] body.karin-app-page .karin-modal__header{
  background:var(--karin-surface-raised)!important;
  border-color:var(--karin-border)!important;
  color:var(--karin-text)!important;
}
html[data-theme="dark"] body.karin-app-page .karin-modal-shell :is(label,legend){color:var(--karin-text-muted)!important;}
html[data-theme="dark"] body.karin-app-page .karin-modal-shell :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]),select,textarea){
  background:var(--karin-control-bg)!important;
  border-color:var(--karin-control-border)!important;
  color:var(--karin-text)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body.karin-app-page .karin-modal-shell :is(input,textarea)::placeholder{color:var(--karin-text-muted)!important;opacity:.8!important;}
html[data-theme="dark"] body.karin-app-page .karin-modal-shell :is(input[readonly],input:disabled,select:disabled,textarea:disabled){
  background:var(--karin-surface-soft)!important;
  color:var(--karin-text-muted)!important;
  opacity:.9!important;
}
html[data-theme="dark"] body.karin-app-page .karin-modal-shell input[type="file"]::file-selector-button{
  background:var(--karin-surface-raised)!important;
  border:1px solid var(--karin-control-border)!important;
  color:var(--karin-text)!important;
  border-radius:8px!important;
  padding:5px 9px!important;
  margin-inline-end:8px!important;
}

/* Shared nested form surfaces inside canonical modals. */
html[data-theme="dark"] body.karin-app-page .karin-modal-shell :is(
  .expense-cheque-box,.cheque-upload-card,.cheque-modal-note,.selected-product,
  .search-results,.ajax-result-list,.variant-item,.sale-item-row,.mixed-box,
  .karin-search-combo,.delivery-items-wrap
){
  background:var(--karin-surface-raised)!important;
  border-color:var(--karin-border)!important;
  color:var(--karin-text)!important;
  box-shadow:none!important;
}

/* Shared semantic pills/badges: no pale light-theme islands in dark mode. */
html[data-theme="dark"] body.karin-app-page .badge-paid,
html[data-theme="dark"] body.karin-app-page .purchase-status.ok,
html[data-theme="dark"] body.karin-app-page .approval-approved{
  background:var(--karin-success-surface)!important;
  border:1px solid var(--karin-success-border)!important;
  border-color:var(--karin-success-border)!important;
  color:var(--karin-success-text)!important;
}
html[data-theme="dark"] body.karin-app-page .badge-expected,
html[data-theme="dark"] body.karin-app-page .purchase-status.warn,
html[data-theme="dark"] body.karin-app-page .approval-pending_approval{
  background:var(--karin-warning-surface)!important;
  border:1px solid var(--karin-warning-border)!important;
  border-color:var(--karin-warning-border)!important;
  color:var(--karin-warning-text)!important;
}
html[data-theme="dark"] body.karin-app-page .purchase-status.danger,
html[data-theme="dark"] body.karin-app-page .approval-rejected{
  background:var(--karin-danger-surface)!important;
  border:1px solid var(--karin-danger-border)!important;
  border-color:var(--karin-danger-border)!important;
  color:var(--karin-danger-text)!important;
}
html[data-theme="dark"] body.karin-app-page .purchase-status.info,
html[data-theme="dark"] body.karin-app-page .channel-price-pill{
  background:var(--karin-info-surface)!important;
  border:1px solid var(--karin-info-border)!important;
  color:var(--karin-info-text)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body.karin-app-page .purchase-status.muted,
html[data-theme="dark"] body.karin-app-page .supplier-status.inactive{
  background:var(--karin-surface-muted)!important;
  border-color:var(--karin-border)!important;
  color:var(--karin-text-muted)!important;
}

/* Karin v5.61 — late legacy control guard.
   Only non-canonical legacy form controls remain here because this file loads after page/inline CSS.
   Generic card hover is now removed at the source instead of overridden here. */
html[data-theme="dark"] body.karin-app-page :where(input,select,textarea):not(.karin-control):hover{
  background:var(--karin-control-bg,#101c2e)!important;
  border-color:#3a526f!important;
  box-shadow:inset 0 0 0 1px rgba(91,145,207,.045)!important;
}
html[data-theme="dark"] body.karin-app-page :where(input,select,textarea):not(.karin-control):focus:not(:focus-visible){
  border-color:#405d7d!important;
  box-shadow:none!important;
  outline:none!important;
}
html[data-theme="dark"] body.karin-app-page :where(input,select,textarea):not(.karin-control):focus-visible{
  border-color:#4e78a7!important;
  box-shadow:0 0 0 3px rgba(75,139,214,.13)!important;
  outline:none!important;
}

/* ========================================================================
   Karin v5.62 — late shared modal + embedded Quick POS dark completion
   This file intentionally loads after route-local inline CSS, so the shared
   modal contract remains authoritative even on legacy routes such as Sales.
   ======================================================================== */
html[data-theme="dark"] body.karin-app-page .karin-modal-shell > :not(.karin-modal__header){background:transparent!important;color:var(--karin-text)!important;}
html[data-theme="dark"] body.karin-app-page .karin-modal__header{background:var(--karin-surface-raised)!important;border-color:var(--karin-border)!important;}
html[data-theme="dark"] body.karin-app-page .karin-modal__header h2{flex:1 1 auto!important;margin:0!important;padding:0!important;text-align:right!important;color:var(--karin-text)!important;}
html[data-theme="dark"] body.karin-page-sales .new-sale-inline-content{
  background:var(--karin-surface)!important;
  color:var(--karin-text)!important;
}
html[data-theme="dark"] body.karin-page-sales .new-sale-inline-content :is(.pos-main,.pos-products,.karin-pos-section,.sale-setup-grid,.quick-customer-row,.karin-pos-note,.karin-pos-checkout){
  background:var(--karin-surface)!important;
  border-color:var(--karin-border)!important;
  color:var(--karin-text)!important;
}
html[data-theme="dark"] body.karin-page-sales .new-sale-inline-content :is(.pos-sale-title,.pos-products-head,.karin-pos-section-head){
  background:transparent!important;
  border-color:var(--karin-border)!important;
  color:var(--karin-text)!important;
}
html[data-theme="dark"] body.karin-page-sales .new-sale-inline-content .quick-variants-toggle{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--karin-text-muted)!important;
}
html[data-theme="dark"] body.karin-page-sales .new-sale-inline-content .quick-variants-toggle input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  box-shadow:none!important;
  accent-color:var(--karin-primary)!important;
}

/* ========================================================================
   Karin v5.71 — mobile dark surface closure
   ======================================================================== */
@media(max-width:760px){
  html[data-theme="dark"] body.karin-page-reports .reports-mobile-nav,
  html[data-theme="dark"] body.karin-page-reports .reports-mobile-select-wrap{
    background:transparent!important;border-color:transparent!important;box-shadow:none!important;
  }
  html[data-theme="dark"] body.karin-page-reports .reports-mobile-select{
    background:var(--karin-control-bg)!important;border-color:var(--karin-control-border)!important;
    color:var(--karin-text)!important;box-shadow:none!important;
  }


  html[data-theme="dark"] body.karin-page-order-delivery .delivery-modal-card-v322>.karin-modal__header{
    background:var(--karin-surface-raised)!important;border-color:var(--karin-border)!important;
  }
}

/* ========================================================================
   Karin v5.79 — canonical table/pagination dark compatibility bridge
   Late semantic guard for route-local inline !important declarations.
   ======================================================================== */
html[data-theme="dark"] body.karin-app-page .karin-table-wrap{background:var(--karin-surface)!important;border-color:var(--karin-border)!important;color:var(--karin-text)!important;}
html[data-theme="dark"] body.karin-app-page .karin-table{background:var(--karin-surface)!important;border-color:var(--karin-border)!important;color:var(--karin-text)!important;}
html[data-theme="dark"] body.karin-app-page .karin-table th{background:var(--karin-table-head)!important;border-color:var(--karin-border-strong)!important;color:var(--karin-text-muted)!important;}
html[data-theme="dark"] body.karin-app-page .karin-table td{background:var(--karin-surface)!important;border-color:var(--karin-border)!important;color:var(--karin-text)!important;}
html[data-theme="dark"] body.karin-app-page .karin-table tbody tr:nth-child(even)>td{background:color-mix(in srgb,var(--karin-surface) 97%,var(--karin-surface-soft))!important;}
html[data-theme="dark"] body.karin-app-page .karin-table tbody tr:is(:hover,:focus-within)>td{background:var(--karin-surface-soft)!important;}
html[data-theme="dark"] body.karin-app-page .karin-pagination{background:var(--karin-surface-soft)!important;border-color:var(--karin-border)!important;color:var(--karin-text-muted)!important;}
html[data-theme="dark"] body.karin-app-page .karin-pagination__summary,
html[data-theme="dark"] body.karin-app-page .karin-pagination__size label{color:var(--karin-text-muted)!important;}
html[data-theme="dark"] body.karin-app-page .karin-pagination__current{background:color-mix(in srgb,var(--karin-primary) 18%,var(--karin-surface))!important;border-color:color-mix(in srgb,var(--karin-primary) 34%,var(--karin-border))!important;color:var(--karin-text)!important;}


/* ========================================================================
   Karin v5.122 — Quick POS mixed-payment dark-mode closure
   Keep the mixed-payment editor on the same dark design tokens as Quick POS.
   ======================================================================== */
html[data-theme="dark"] body.karin-page-quick-pos .mixed-payment-cards{
  background:var(--karin-surface-soft)!important;
  border:1px solid var(--karin-border)!important;
  color:var(--karin-text)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body.karin-page-quick-pos .mixed-payment-cards>h3{
  color:var(--karin-text)!important;
}
html[data-theme="dark"] body.karin-page-quick-pos .mixed-payment-card{
  background:var(--karin-surface-raised)!important;
  border:1px solid var(--karin-surface-border)!important;
  color:var(--karin-text)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body.karin-page-quick-pos .mixed-payment-card .mixed-card-title,
html[data-theme="dark"] body.karin-page-quick-pos .mixed-payment-card .mixed-card-title span{
  color:var(--karin-text)!important;
}
html[data-theme="dark"] body.karin-page-quick-pos .mixed-payment-card :is(input:not([type="checkbox"]):not([type="hidden"]),select){
  background:var(--karin-control-bg)!important;
  border:1px solid var(--karin-control-border)!important;
  color:var(--karin-text)!important;
  -webkit-text-fill-color:var(--karin-text)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body.karin-page-quick-pos .mixed-payment-card :is(input:not([type="checkbox"]):not([type="hidden"]),select):disabled{
  background:var(--karin-surface-muted)!important;
  border-color:var(--karin-border)!important;
  color:var(--karin-text-muted)!important;
  -webkit-text-fill-color:var(--karin-text-muted)!important;
  opacity:1!important;
}
html[data-theme="dark"] body.karin-page-quick-pos .mixed-payment-card input::placeholder{
  color:var(--karin-text-muted)!important;
  -webkit-text-fill-color:var(--karin-text-muted)!important;
  opacity:.82!important;
}
html[data-theme="dark"] body.karin-page-quick-pos .mixed-payment-card input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-grid!important;
  place-items:center!important;
  width:19px!important;
  min-width:19px!important;
  height:19px!important;
  min-height:19px!important;
  margin:0!important;
  padding:0!important;
  border:1.5px solid var(--karin-border-strong)!important;
  border-radius:6px!important;
  background:var(--karin-control-bg)!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
html[data-theme="dark"] body.karin-page-quick-pos .mixed-payment-card input[type="checkbox"]:checked{
  background:#2563eb!important;
  border-color:#4c8df6!important;
}
html[data-theme="dark"] body.karin-page-quick-pos .mixed-payment-card input[type="checkbox"]:checked::after{
  content:"✓"!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1!important;
}
html[data-theme="dark"] body.karin-page-quick-pos .mixed-total-strip{
  background:#132943!important;
  border:1px solid #315878!important;
  color:#a9d1ff!important;
}
html[data-theme="dark"] body.karin-page-quick-pos .mixed-total-strip b{
  color:#e7f2ff!important;
}

/* ========================================================================
   Karin v5.128 — stock inventory detail summary dark-mode closure
   Legacy summary cards in style.css still carry fixed light colors. Keep the
   four KPI blocks fully tokenized in Dark Mode without changing light mode.
   ======================================================================== */
html[data-theme="dark"] body.karin-page-stock .inventory-detail-modal>.inventory-summary-row>div{
  background:var(--karin-surface-raised)!important;
  border-color:var(--karin-border)!important;
  color:var(--karin-text)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body.karin-page-stock .inventory-detail-modal>.inventory-summary-row>div>span{
  color:var(--karin-text-muted)!important;
}
html[data-theme="dark"] body.karin-page-stock .inventory-detail-modal>.inventory-summary-row>div>b{
  color:var(--karin-text)!important;
}


/* Karin v5.130 — structured modal form follows the shared light/dark shell contract. */
html[data-theme="dark"] body.karin-app-page .karin-modal-shell > form.karin-modal-form--structured{background:transparent!important;}
html[data-theme="dark"] body.karin-app-page .karin-modal-shell > form.karin-modal-form--structured > .karin-modal__body{background:transparent!important;color:var(--karin-text)!important;}
html[data-theme="dark"] body.karin-app-page .karin-modal-shell > form.karin-modal-form--structured > .karin-modal__footer{position:relative!important;inset:auto!important;margin:0!important;background:var(--karin-surface)!important;border-color:var(--karin-border)!important;box-shadow:none!important;}

/* Karin v5.262 — Quick POS payment foundation dark bridge */
html[data-theme="dark"] body.karin-page-quick-pos .mixed-payment-cards,
html[data-theme="dark"] body.karin-page-quick-pos .quick-receipt-picker{
  background:var(--karin-surface)!important;
  border-color:var(--karin-border)!important;
  color:var(--karin-text)!important;
}
html[data-theme="dark"] body.karin-page-quick-pos .mixed-payment-card{
  background:var(--karin-surface-soft)!important;
  border-color:var(--karin-surface-border)!important;
  color:var(--karin-text)!important;
}
html[data-theme="dark"] body.karin-page-quick-pos .mixed-payment-card:has(.mixed-card-title input:checked){
  background:color-mix(in srgb,var(--karin-primary) 8%,var(--karin-surface-soft))!important;
  border-color:color-mix(in srgb,var(--karin-primary) 45%,var(--karin-surface-border))!important;
}
html[data-theme="dark"] body.karin-page-quick-pos .mixed-total-strip{
  background:transparent!important;
  border-color:var(--karin-border)!important;
  color:var(--karin-text-muted)!important;
}
html[data-theme="dark"] body.karin-page-quick-pos .mixed-total-strip b{color:var(--karin-text)!important;}
html[data-theme="dark"] body.karin-page-quick-pos .quick-receipt-icon,
html[data-theme="dark"] body.karin-page-quick-pos .quick-receipt-action{
  background:var(--karin-surface-soft)!important;
  border-color:var(--karin-border)!important;
  color:var(--karin-text)!important;
}
html[data-theme="dark"] body.karin-page-quick-pos .quick-receipt-icon{color:var(--karin-primary)!important;}
html[data-theme="dark"] body.karin-page-quick-pos .quick-receipt-copy b{color:var(--karin-text)!important;}
html[data-theme="dark"] body.karin-page-quick-pos .quick-receipt-copy small{color:var(--karin-text-muted)!important;}
