:root{--navy:#1f2d42;--navy2:#142038;--bg:#f5f7f9;--text:#17202a;--muted:#91add0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.app-shell{min-height:100vh}.sidebar{width:272px;position:fixed;inset:0 auto 0 0;background:var(--navy);color:white;display:flex;flex-direction:column;z-index:1030;overflow-y:auto}.brand{height:68px;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;gap:10px}.brand i{font-size:30px}.user-box{display:flex;gap:10px;align-items:center;padding:0 28px 18px}.user-box>i{font-size:22px;color:#22a06b}.user-box strong,.user-box small{display:block}.user-box small{font-size:11px;background:#6d7d8b;width:max-content;padding:2px 8px;border-radius:10px}.side-nav{padding:8px 10px 80px}.side-nav a{display:flex;align-items:center;gap:10px;color:#a9c1df;text-decoration:none;padding:11px 16px;border-radius:8px;margin:2px 0}.side-nav a:hover{background:var(--navy2);color:#35c2ff}.nav-label{color:#f3f6fa;font-size:13px;font-weight:700;padding:16px 16px 5px;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.logout-form{position:sticky;bottom:0;margin-top:auto;background:var(--navy);padding:10px 18px 18px}.logout-form button{color:#ff4057;text-decoration:none}.main{margin-left:272px;min-height:100vh}.topbar{height:86px;display:flex;align-items:center;gap:12px;padding:14px 28px;background:#fff;border-bottom:1px solid #e5e7eb}.topbar h1{font-size:28px;margin:0;font-weight:800}.content{padding:26px 28px}.date-filter{background:#fff;border:1px solid #e6e6e6;border-radius:10px;padding:8px 12px;box-shadow:0 2px 8px #0000000c}.date-filter label{font-weight:600;margin-right:8px}.date-filter input{border:1px solid #d8dee6;border-radius:6px;padding:7px}.metric{padding:18px;border-radius:13px;color:#fff;min-height:103px;display:flex;flex-direction:column;justify-content:space-between}.metric span{font-size:16px}.metric strong{font-size:30px}.metric.blue{background:#1f73f1}.metric.cyan{background:#20bedb}.metric.gray{background:#7d878e}.metric.green{background:#208b55}.metric.yellow{background:#ffbf16;color:#17202a}.panel{background:#fff;border:1px solid #dfe3e8;border-radius:9px;padding:18px;box-shadow:0 1px 3px #0000000d}.panel-head{margin-bottom:16px}.panel-head h5{font-weight:700}.stock-box{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stock-box>div{padding:24px;border-radius:10px;background:#f7f9fb;text-align:center}.stock-box b,.stock-box span{display:block}.stock-box b{font-size:28px}.expense-box{text-align:center;font-size:34px;font-weight:800;color:#dc3545;padding:18px}.expense-box span{display:block;color:#586174;font-size:14px;font-weight:400;margin-top:10px}.thumb{width:52px;height:52px;object-fit:cover;border-radius:8px}.placeholder-thumb{display:flex;align-items:center;justify-content:center;background:#edf0f3;color:#8b95a3;font-size:10px}.sidebar-backdrop{display:none}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#1f2d42,#172238)}.login-card{background:#fff;width:min(92vw,420px);padding:34px;border-radius:18px;box-shadow:0 20px 60px #0005}.login-logo{width:58px;height:58px;border-radius:15px;background:#1f73f1;color:#fff;display:grid;place-items:center;font-weight:900;font-size:28px;margin:0 auto 14px}@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.show{transform:none}.main{margin-left:0}.sidebar-backdrop.show{display:block;position:fixed;inset:0;background:#0008;z-index:1020}.content{padding:18px}.topbar{padding:12px 18px}.topbar h1{font-size:23px}}@media(max-width:575px){.content{padding:14px}.metric{min-height:92px}.metric strong{font-size:25px}.date-filter{width:100%;display:flex;justify-content:space-between;align-items:center}.date-filter input{max-width:150px}.panel{padding:13px}.table{font-size:13px}}

/* ===== Data Supplier v1.1 ===== */
.module-titlebar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.module-eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:#7a8798;margin-bottom:4px}.module-title{font-size:30px;font-weight:800;letter-spacing:-.02em}.module-subtitle{color:#748094;font-size:14px}.btn-add-data{display:flex;align-items:center;gap:8px;font-weight:700;padding:10px 15px;border-radius:9px;box-shadow:0 4px 12px rgba(25,135,84,.18)}.supplier-summary .summary-card{height:100%;background:#fff;border:1px solid #e5e9ef;border-radius:12px;padding:15px 16px;display:flex;align-items:center;gap:13px;box-shadow:0 2px 9px rgba(23,32,42,.04)}.summary-card>div:last-child{min-width:0}.summary-card span{display:block;color:#7a8798;font-size:12px;margin-bottom:2px}.summary-card strong{display:block;font-size:24px;line-height:1.05}.summary-icon{width:43px;height:43px;flex:0 0 43px;border-radius:11px;display:grid;place-items:center;font-size:19px}.summary-blue{background:#e8f1ff;color:#1769e0}.summary-green{background:#e9f8ef;color:#198754}.summary-gray{background:#edf0f3;color:#687481}.summary-wa{background:#e7f8ed;color:#1f9d55}.supplier-panel{padding:0;overflow:hidden}.supplier-toolbar{padding:17px;border-bottom:1px solid #edf0f3;display:flex;gap:10px;align-items:center}.supplier-search{position:relative;flex:1;min-width:220px}.supplier-search i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#7d8998}.supplier-search input{width:100%;height:42px;border:1px solid #dbe1e8;border-radius:9px;padding:0 14px 0 40px;outline:none;transition:.15s;background:#fff}.supplier-search input:focus{border-color:#5b9cff;box-shadow:0 0 0 3px rgba(31,115,241,.1)}.supplier-status{width:150px}.supplier-per{width:150px}.supplier-status,.supplier-per,.supplier-filter-btn,.supplier-reset-btn{height:42px;border-radius:9px}.supplier-result-line{min-height:44px;padding:10px 17px;display:flex;align-items:center;gap:10px;justify-content:space-between;background:#fbfcfd;color:#7b8796;font-size:12px;border-bottom:1px solid #edf0f3}.search-chip{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#edf4ff;color:#2d65ad;padding:5px 9px;border-radius:20px}.supplier-table thead th{background:#17202a;color:#fff;border:0;padding:13px 16px;font-size:12px;font-weight:700;letter-spacing:.02em;white-space:nowrap}.supplier-table tbody td{padding:14px 16px;border-color:#edf0f3;vertical-align:middle}.supplier-table tbody tr:hover{background:#fbfdff}.supplier-identity{display:flex;align-items:center;gap:11px;min-width:205px}.supplier-avatar{width:39px;height:39px;flex:0 0 39px;border-radius:10px;background:linear-gradient(135deg,#e9f1ff,#dce9ff);color:#2767b8;display:grid;place-items:center;font-weight:800}.supplier-identity strong{display:block;font-size:14px}.supplier-identity small{display:block;color:#8994a3;font-size:11px;margin-top:2px}.supplier-contact{display:flex;flex-direction:column;gap:4px;min-width:175px}.supplier-contact span{font-size:12px;color:#515d6d;display:flex;align-items:center;gap:7px}.supplier-contact i{width:14px;color:#7d8998}.supplier-contact .contact-wa i{color:#1f9d55}.supplier-address{max-width:360px;color:#596575;font-size:12px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:20px;font-size:11px;font-weight:700}.status-pill.is-active{background:#e9f8ef;color:#177a4b}.status-pill.is-inactive{background:#f0f2f4;color:#66717e}.supplier-actions{display:flex;justify-content:flex-end;gap:6px;white-space:nowrap}.supplier-actions form{margin:0}.supplier-actions .btn{border-radius:8px;display:inline-flex;align-items:center;gap:6px}.supplier-empty{text-align:center;padding:52px 20px}.supplier-empty .empty-icon{width:58px;height:58px;margin:0 auto 12px;border-radius:16px;background:#eef4ff;color:#2e73cc;display:grid;place-items:center;font-size:26px}.supplier-empty h5{font-weight:800;margin-bottom:5px}.supplier-empty p{color:#7c8796;font-size:13px;margin-bottom:15px}.supplier-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 17px;border-top:1px solid #edf0f3}.supplier-pagination small{color:#7b8796}.supplier-pagination .page-link{border-radius:7px;margin-left:4px;color:#536170}.supplier-pagination .page-item.active .page-link{background:#1f73f1;border-color:#1f73f1;color:#fff}
@media(max-width:767px){.module-titlebar{align-items:stretch;flex-direction:column}.module-title{font-size:25px}.btn-add-data{justify-content:center}.supplier-toolbar{flex-wrap:wrap}.supplier-search{flex-basis:100%}.supplier-status,.supplier-per{width:calc(50% - 5px)}.supplier-filter-btn{flex:1}.supplier-result-line{align-items:flex-start;flex-direction:column}.supplier-table-wrap{overflow:visible}.supplier-table thead{display:none}.supplier-table,.supplier-table tbody,.supplier-table tr,.supplier-table td{display:block;width:100%}.supplier-table tbody{padding:10px}.supplier-table tbody tr{background:#fff;border:1px solid #e5e9ef;border-radius:12px;margin-bottom:10px;padding:5px 0;box-shadow:0 2px 6px rgba(23,32,42,.03)}.supplier-table tbody tr:hover{background:#fff}.supplier-table tbody td{border:0;padding:8px 12px;display:flex;justify-content:space-between;gap:16px;text-align:right}.supplier-table tbody td:before{content:attr(data-label);font-size:11px;font-weight:700;color:#8994a3;text-align:left;min-width:64px;padding-top:3px}.supplier-table tbody td:first-child{display:block;text-align:left;border-bottom:1px solid #f0f2f4;padding:11px 12px}.supplier-table tbody td:first-child:before{display:none}.supplier-identity{min-width:0}.supplier-contact{align-items:flex-end;min-width:0}.supplier-address{max-width:70%;text-align:right}.supplier-actions{justify-content:flex-end;flex-wrap:wrap}.supplier-pagination{align-items:flex-start;flex-direction:column}.supplier-empty{padding:35px 14px}.supplier-table tbody tr:has(.supplier-empty){border:0;box-shadow:none}.supplier-table tbody td:has(.supplier-empty){display:block}.supplier-table tbody td:has(.supplier-empty):before{display:none}}
@media(max-width:430px){.supplier-status,.supplier-per{width:100%}.supplier-filter-btn{width:calc(100% - 52px);flex:none}.supplier-actions .btn span{display:none}.supplier-summary .summary-card{padding:12px}.summary-icon{width:38px;height:38px;flex-basis:38px}.summary-card strong{font-size:20px}}

/* v1.4 master supplier & product */
.master-form-card{max-width:1180px;margin:0 auto}.category-entry-list{display:grid;gap:.6rem}.category-entry .input-group-text{background:#f8fafc}.category-badges{display:flex;flex-wrap:wrap;gap:.35rem}.category-badge{display:inline-flex;align-items:center;padding:.28rem .58rem;border-radius:999px;background:#eef4ff;color:#2857a4;font-size:.78rem;font-weight:600;white-space:nowrap}.sn-help{padding:.85rem 1rem;border:1px solid #dbe4ef;border-radius:10px;background:#f8fafc;display:flex;flex-wrap:wrap;gap:.55rem 1rem;font-size:.86rem}.product-cell{display:flex;align-items:center;gap:.7rem;min-width:210px}.product-cell>div:last-child{display:flex;flex-direction:column}.product-cell small{color:#7a8699}.sn-badge{display:inline-flex;padding:.3rem .6rem;border-radius:999px;font-size:.76rem;font-weight:700;white-space:nowrap}.sn-multi{background:#e8f1ff;color:#1769cc}.sn-same{background:#fff3cd;color:#8a6500}.sn-none{background:#eef0f2;color:#5c6670}
@media(max-width:767.98px){.master-form-card{padding:1rem}.sn-help{display:block}.sn-help span{display:block;margin-top:.45rem}.category-badges{min-width:180px}}

/* v1.5 Data Karyawan */
.employee-form-card{max-width:1180px}.employee-section{border:1px solid #e5eaf0;border-radius:12px;padding:18px;background:#fff}.employee-section-title{display:flex;align-items:flex-start;gap:11px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #eef1f4}.employee-section-title>i{width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:#eef4ff;color:#2266bd;display:grid;place-items:center;font-size:18px}.employee-section-title strong,.employee-section-title small{display:block}.employee-section-title strong{font-size:15px}.employee-section-title small{font-size:12px;color:#7a8696;margin-top:2px}.ktp-existing{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid #d9eadf;background:#f2fbf5;border-radius:9px}.ktp-existing>span{color:#198754;font-size:13px;font-weight:600}.employee-contact,.employee-bank{display:flex;flex-direction:column;gap:3px;min-width:145px}.employee-contact strong,.employee-bank strong{font-size:13px}.employee-contact span,.employee-bank span{font-size:12px;color:#6f7b8b}.sensitive-cell{display:flex;align-items:center;gap:7px;white-space:nowrap}.sensitive-cell i{color:#286fbd}.privacy-note{display:flex;gap:11px;align-items:flex-start;padding:13px 15px;border-radius:10px;border:1px solid #dbe6f4;background:#f7faff;color:#4c5b6f}.privacy-note>i{color:#286fbd;font-size:18px}.privacy-note strong,.privacy-note span{display:block}.privacy-note strong{font-size:13px;color:#2d4058}.privacy-note span{font-size:12px;margin-top:2px}.employee-table td{font-size:13px}.employee-table .supplier-avatar{background:linear-gradient(135deg,#eef4ff,#dfeaff)}
@media(max-width:767.98px){.employee-section{padding:14px}.employee-section-title{margin-bottom:13px}.employee-table-wrap{overflow:visible}.employee-table thead{display:none}.employee-table,.employee-table tbody,.employee-table tr,.employee-table td{display:block;width:100%}.employee-table tbody{padding:10px}.employee-table tbody tr{border:1px solid #e5e9ef;border-radius:12px;margin-bottom:10px;padding:5px 0;box-shadow:0 2px 6px rgba(23,32,42,.03)}.employee-table tbody td{border:0;padding:8px 12px;display:flex;justify-content:space-between;gap:14px;text-align:right}.employee-table tbody td:before{content:attr(data-label);font-size:11px;font-weight:700;color:#8994a3;text-align:left;min-width:86px}.employee-table tbody td:first-child{display:block;text-align:left;border-bottom:1px solid #f0f2f4;padding:11px 12px}.employee-table tbody td:first-child:before{display:none}.employee-contact,.employee-bank{align-items:flex-end}.sensitive-cell{justify-content:flex-end}.employee-table tbody tr:has(.supplier-empty){border:0;box-shadow:none}.employee-table tbody td:has(.supplier-empty){display:block}.employee-table tbody td:has(.supplier-empty):before{display:none}.privacy-note{font-size:12px}}

/* v1.7 Order Detail + product catalog */
.order-form-card{max-width:1280px}.order-product-search{min-width:100%}.order-product-picker{max-height:310px;overflow:auto;border:1px solid #e2e7ed;border-radius:12px;background:#f8fafc;padding:8px;display:grid;gap:7px}.order-product-option{width:100%;border:1px solid #e4e9ef;border-radius:10px;background:#fff;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;transition:.15s}.order-product-option:hover:not(:disabled){border-color:#9fc0ee;box-shadow:0 2px 8px rgba(35,96,170,.08);transform:translateY(-1px)}.order-product-option span{display:flex;flex-direction:column}.order-product-option strong{font-size:13px}.order-product-option small{font-size:11px;color:#7a8797;margin-top:2px}.order-product-option .text-end{align-items:flex-end}.order-product-option .text-end b{font-size:12px;color:#285d9f}.order-product-option.is-out{opacity:.56;cursor:not-allowed;background:#f4f5f6}.order-product-option.is-out .text-end small{color:#c43d4b;font-weight:700}.order-form-card .supplier-table small{font-size:11px}.order-form-card .supplier-table input[type=number]{min-width:90px}.status-active{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#e9f8ef;color:#177a4b;font-size:11px;font-weight:700}
@media(max-width:767.98px){.order-product-option{align-items:flex-start;flex-direction:column;gap:7px}.order-product-option .text-end{align-items:flex-start;text-align:left!important}.order-product-picker{max-height:380px}.order-form-card .supplier-table thead{display:table-header-group}.order-form-card .supplier-table,.order-form-card .supplier-table tbody,.order-form-card .supplier-table tr,.order-form-card .supplier-table td{display:table;width:auto}.order-form-card .supplier-table tbody{padding:0}.order-form-card .supplier-table tbody tr{border:0;border-radius:0;margin:0;padding:0;box-shadow:none}.order-form-card .supplier-table tbody td{display:table-cell;text-align:left;padding:10px;white-space:nowrap}.order-form-card .supplier-table tbody td:before{display:none}.order-form-card .table-responsive{overflow-x:auto}}

/* v1.8 Pembelian → Warehouse → QC → Service/Klaim → Stok/Reject */
.purchase-form-card{max-width:1320px}.purchase-total{min-height:38px;border-radius:8px;background:#172b4d;color:#fff;display:flex;align-items:center;padding:0 12px;font-weight:800}.info-tile{height:100%;background:#fff;border:1px solid #e3e8ee;border-radius:12px;padding:14px 16px;box-shadow:0 2px 8px #0000000a}.info-tile span,.info-tile small{display:block;color:#7b8797;font-size:12px}.info-tile strong{display:block;font-size:18px;margin:3px 0}.qc-action-form{min-width:340px}.qc-table td{vertical-align:middle}.badge.text-bg-info{color:#073b4c!important}.table code{font-size:12px;background:#f1f4f7;color:#244d76;padding:3px 6px;border-radius:5px}@media(max-width:767px){.qc-action-form{min-width:300px}.purchase-form-card .table{min-width:760px}}
.summary-card{background:#fff;border:1px solid #e9edf3;border-radius:16px;padding:20px;box-shadow:0 8px 24px rgba(15,23,42,.05);display:flex;align-items:center;justify-content:space-between;color:#334155}.summary-card span{font-weight:600}.summary-card strong{font-size:28px;color:#0f172a}

/* v2.2 Permission matrix */
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.permission-group{border:1px solid #e6eaf0;border-radius:14px;background:#fff;overflow:hidden}.permission-group-title{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#f8fafc;border-bottom:1px solid #edf0f4;font-weight:700}.permission-items{padding:8px 14px}.permission-item{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px dashed #edf0f4;cursor:pointer}.permission-item:last-child{border-bottom:0}.permission-item input{margin-top:3px;flex:0 0 auto}.permission-item span{display:flex;flex-direction:column;min-width:0}.permission-item strong{font-size:.92rem}.permission-item small{font-size:.72rem;color:#8a94a3;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}.sticky-permission-save{position:sticky;bottom:12px;margin-top:18px;padding:12px 14px;border:1px solid #dce3ed;border-radius:14px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);box-shadow:0 10px 30px rgba(15,23,42,.1);display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:5}@media(max-width:991.98px){.permission-grid{grid-template-columns:1fr}.sticky-permission-save{bottom:8px}}

/* v3.3 Warehouse mobile simplification */
@media (max-width: 767.98px){
  .master-form-card .row>[class*="col-"]{width:100%}
  .master-form-card .form-control,.master-form-card .form-select{min-height:48px;font-size:16px}
  .master-form-card textarea.form-control{min-height:160px}
  .master-form-card .btn-primary,.panel .btn-success{width:100%;min-height:52px;font-size:16px;font-weight:700}
  .info-tile{min-height:auto}
  .module-titlebar{gap:10px}
}

/* ===== v3.5 FIX LAYOUT / SIDEBAR ===== */
html,body{width:100%;min-height:100%;overflow-x:hidden}
.app-shell{display:block;width:100%;min-height:100vh}
.sidebar{
  width:272px!important;
  position:fixed!important;
  left:0!important;top:0!important;bottom:0!important;
  display:flex!important;flex-direction:column!important;
}
.brand,.user-box,.side-nav,.logout-form{width:100%}
.side-nav{display:block!important;float:none!important}
.side-nav .nav-label{
  display:block!important;clear:both!important;width:100%!important;
  margin:0!important;
}
.side-nav a{
  display:flex!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  min-width:0!important;
  align-items:center!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  margin:2px 0!important;
}
.side-nav a i{
  display:inline-block!important;
  width:20px!important;
  min-width:20px!important;
  flex:0 0 20px!important;
  text-align:center!important;
}
.side-nav a{line-height:1.35}
.main{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  margin-left:272px!important;
}
.topbar,.content{width:100%;min-width:0}
@media(max-width:991.98px){
  .sidebar{width:272px!important;transform:translateX(-100%)}
  .sidebar.show{transform:translateX(0)}
  .main{margin-left:0!important;width:100%!important}
}

/* v3.10 ACC notification */
.side-nav .badge{font-size:11px;min-width:22px}
.approval-notice-card{border-left:4px solid var(--bs-danger,#dc3545)}

/* v3.11 - Account menu follows the same sidebar layout as all other menus */
.side-nav .nav-label{margin-top:18px}
.side-nav a[href*="/account"]{display:flex!important;align-items:center!important;width:100%!important}
.logout-form{margin-top:auto;padding-top:12px}
.logout-form .btn{width:100%;display:flex;align-items:center;gap:10px;text-align:left}

/* v3.12 sidebar organization */
.side-nav .nav-label{margin-top:18px}
.side-nav a{min-height:40px}

/* ===== v3.17 Modern Admin Dashboard + Dark/Light Theme ===== */
:root,html[data-theme="light"]{--ui-bg:#edf1f6;--ui-surface:#f7f9fc;--ui-surface-2:#f1f4f8;--ui-surface-3:#e7ecf3;--ui-border:#d5dde8;--ui-text:#243247;--ui-text-soft:#6f7e91;--ui-heading:#172033;--ui-primary:#2f6fe4;--ui-primary-soft:#e6eefc;--ui-sidebar:#15243a;--ui-sidebar-text:#c7d5e8;--ui-sidebar-muted:#8293aa;--ui-sidebar-active:#223b5c;--ui-shadow:0 10px 28px rgba(30,41,59,.055);--ui-shadow-sm:0 4px 14px rgba(30,41,59,.045);color-scheme:light}
html[data-theme="dark"]{--ui-bg:#0b1220;--ui-surface:#111b2b;--ui-surface-2:#162235;--ui-surface-3:#1b293d;--ui-border:#26374e;--ui-text:#e8eef8;--ui-text-soft:#9cabc1;--ui-heading:#f8fafc;--ui-primary:#60a5fa;--ui-primary-soft:#132a48;--ui-sidebar:#08111f;--ui-sidebar-text:#d1dceb;--ui-sidebar-muted:#77879d;--ui-sidebar-active:#172b47;--ui-shadow:0 14px 36px rgba(0,0,0,.22);--ui-shadow-sm:0 6px 18px rgba(0,0,0,.18);color-scheme:dark}
body{background:var(--ui-bg)!important;color:var(--ui-text)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;transition:background .2s ease,color .2s ease}
.main,.content{background:var(--ui-bg)!important}.content{padding:28px!important}
.sidebar{background:linear-gradient(180deg,var(--ui-sidebar),#101d30)!important;border-right:1px solid rgba(255,255,255,.04);box-shadow:8px 0 30px rgba(2,8,23,.05)}
html[data-theme="dark"] .sidebar{background:linear-gradient(180deg,var(--ui-sidebar),#07101c)!important}
.brand{height:72px!important;padding:0 24px!important;border-bottom:1px solid rgba(255,255,255,.06)}.brand i{font-size:28px!important;color:#fff}.brand span{font-size:22px!important;font-weight:800!important}
.user-box{margin:14px 14px 8px!important;padding:13px 14px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.055);border-radius:14px!important}.user-box>i{color:#38bdf8!important;font-size:27px!important}.user-box strong{color:#fff!important}.user-box small{color:#9fb0c6!important}
.side-nav{padding:10px 12px 24px!important}.side-nav .nav-label{color:var(--ui-sidebar-muted)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.11em!important;text-transform:uppercase!important;padding:15px 12px 6px!important}
.side-nav a{color:var(--ui-sidebar-text)!important;border-radius:10px!important;min-height:42px!important;padding:9px 12px!important;margin:2px 0!important;font-size:14px!important;font-weight:500!important;transition:.15s ease!important}.side-nav a:hover{background:rgba(255,255,255,.055)!important;color:#fff!important;transform:translateX(2px)}.side-nav a.active{background:var(--ui-sidebar-active)!important;color:#fff!important;box-shadow:inset 3px 0 0 #38bdf8}.side-nav a i{color:#8cc9ff!important;font-size:16px}
.logout-form{padding:12px 14px 18px!important;border-top:1px solid rgba(255,255,255,.055)}.logout-form .btn{color:#fb7185!important;text-decoration:none!important;border-radius:10px!important}.logout-form .btn:hover{background:rgba(251,113,133,.08)!important}
.topbar{height:78px!important;padding:0 28px!important;background:var(--ui-surface)!important;border-bottom:1px solid var(--ui-border)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;position:sticky!important;top:0!important;z-index:30!important}
.topbar-left,.topbar-actions{display:flex;align-items:center;gap:14px}.page-heading h1,.topbar h1{margin:0!important;color:var(--ui-heading)!important;font-size:21px!important;font-weight:800!important}.topbar-subtitle{font-size:12px;color:var(--ui-text-soft);margin-top:2px}
.icon-btn{width:40px;height:40px;border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-surface);color:var(--ui-text);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--ui-shadow-sm);transition:.15s ease}.icon-btn:hover{transform:translateY(-1px);border-color:#93c5fd;color:var(--ui-primary)}
html[data-theme="light"] .theme-icon-light{display:none}html[data-theme="dark"] .theme-icon-dark{display:none}
.topbar-user{display:flex;align-items:center;gap:10px;background:var(--ui-surface-2);border:1px solid var(--ui-border);padding:6px 11px 6px 7px;border-radius:12px}.topbar-avatar{width:32px;height:32px;border-radius:9px;background:var(--ui-primary-soft);color:var(--ui-primary);display:flex;align-items:center;justify-content:center}.topbar-user-text{display:flex;flex-direction:column;line-height:1.15}.topbar-user-text strong{font-size:12px;color:var(--ui-heading)}.topbar-user-text small{font-size:10px;color:var(--ui-text-soft);margin-top:3px}
.panel,.table-card,.master-form-card,.receive-card,.history-card,.task-card,.card{background:var(--ui-surface)!important;border:1px solid var(--ui-border)!important;box-shadow:var(--ui-shadow-sm)!important;color:var(--ui-text)!important;border-radius:15px!important}
.panel-head h5,.panel h5,.module-title,.page-head h1,.mobile-page-head h1{color:var(--ui-heading)!important}.module-eyebrow,.text-secondary,.muted,.module-subtitle{color:var(--ui-text-soft)!important}
.form-control,.form-select,textarea{background-color:var(--ui-surface-2)!important;border-color:var(--ui-border)!important;color:var(--ui-text)!important}.form-control:focus,.form-select:focus,textarea:focus{background-color:var(--ui-surface)!important;color:var(--ui-text)!important;border-color:#60a5fa!important;box-shadow:0 0 0 .2rem rgba(59,130,246,.12)!important}.form-control:disabled,.form-select:disabled{background-color:var(--ui-surface-3)!important;color:var(--ui-text-soft)!important}
.table{--bs-table-bg:transparent!important;--bs-table-color:var(--ui-text)!important;--bs-table-border-color:var(--ui-border)!important}.table>thead th{color:var(--ui-text-soft)!important}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--ui-surface-2)!important;color:var(--ui-text)!important}
.modal-content,.dropdown-menu{background:var(--ui-surface)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important}.btn{border-radius:10px!important}.alert{border-radius:12px!important}
.dashboard-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:22px}.dashboard-kicker{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--ui-primary);margin-bottom:5px}.dashboard-title{font-size:25px;font-weight:800;color:var(--ui-heading);margin:0 0 5px}.dashboard-description{color:var(--ui-text-soft);font-size:13px;margin:0}
.modern-date-filter{background:var(--ui-surface);border:1px solid var(--ui-border);box-shadow:var(--ui-shadow-sm);border-radius:13px;padding:8px 10px;display:flex;align-items:center;gap:10px;min-width:250px}.modern-date-filter label{display:flex;align-items:center;gap:7px;color:var(--ui-text-soft);font-size:12px;white-space:nowrap;margin:0}.modern-date-filter input{border:0!important;background:transparent!important;padding:3px 2px!important;box-shadow:none!important;color:var(--ui-text)!important}
.approval-banner{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ui-text)!important;background:linear-gradient(100deg,var(--ui-surface),var(--ui-primary-soft));border:1px solid #93c5fd55;border-radius:15px;padding:15px 17px;margin-bottom:18px;box-shadow:var(--ui-shadow-sm)}.approval-banner-icon{width:44px;height:44px;border-radius:12px;background:#ef4444;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px}.approval-banner-copy{display:flex;flex-direction:column;flex:1}.approval-banner-copy small{font-size:9px;font-weight:800;letter-spacing:.11em;color:#ef4444}.approval-banner-copy strong{color:var(--ui-heading);font-size:15px;margin:2px 0}.approval-banner-copy span{font-size:11px;color:var(--ui-text-soft)}.approval-banner-action{color:var(--ui-primary);font-size:12px;font-weight:700;white-space:nowrap}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.modern-metric{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;min-height:112px;padding:17px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:16px;box-shadow:var(--ui-shadow-sm);transition:.18s ease}.modern-metric:hover{transform:translateY(-2px);box-shadow:var(--ui-shadow)}.metric-icon{width:45px;height:45px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:19px;flex:0 0 45px}.metric-copy{display:flex;flex-direction:column;min-width:0}.metric-copy span{font-size:11px;color:var(--ui-text-soft);font-weight:600}.metric-copy strong{font-size:22px;color:var(--ui-heading);line-height:1.2;margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-copy small{font-size:10px;color:var(--ui-text-soft)}
.metric-primary .metric-icon{background:#eff6ff;color:#2563eb}.metric-info .metric-icon{background:#ecfeff;color:#0891b2}.metric-neutral .metric-icon{background:var(--ui-surface-3);color:#64748b}.metric-success .metric-icon,.metric-success-soft .metric-icon{background:#ecfdf5;color:#059669}.metric-warning .metric-icon{background:#fffbeb;color:#d97706}html[data-theme="dark"] .metric-primary .metric-icon{background:#172e52}html[data-theme="dark"] .metric-info .metric-icon{background:#103142}html[data-theme="dark"] .metric-success .metric-icon,html[data-theme="dark"] .metric-success-soft .metric-icon{background:#12352d}html[data-theme="dark"] .metric-warning .metric-icon{background:#3a2a10}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,.85fr);gap:16px}.dashboard-side{display:grid;gap:16px}.modern-panel{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:16px;box-shadow:var(--ui-shadow-sm);padding:18px;color:var(--ui-text)}.modern-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.modern-panel-head small{font-size:9px;font-weight:800;letter-spacing:.11em;color:var(--ui-primary)}.modern-panel-head h5{margin:2px 0 0;font-size:15px;font-weight:800;color:var(--ui-heading)}.panel-chip{font-size:10px;color:var(--ui-text-soft);border:1px solid var(--ui-border);background:var(--ui-surface-2);padding:5px 8px;border-radius:999px}.panel-head-icon{font-size:19px;color:var(--ui-primary)}.chart-wrap{height:330px}.stock-modern-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stock-modern-grid>div{padding:14px;background:var(--ui-surface-2);border:1px solid var(--ui-border);border-radius:12px;display:flex;flex-direction:column}.stock-modern-grid span{font-size:10px;color:var(--ui-text-soft)}.stock-modern-grid strong{font-size:24px;color:var(--ui-heading);margin-top:4px}.panel-link{display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:var(--ui-primary);font-size:11px;font-weight:700;margin-top:13px}.expense-modern{padding:15px;background:var(--ui-surface-2);border:1px solid var(--ui-border);border-radius:12px;display:flex;flex-direction:column}.expense-modern strong{font-size:24px;color:#ef4444}.expense-modern span{font-size:10px;color:var(--ui-text-soft);margin-top:3px}
@media(max-width:1199.98px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:1fr 1fr}}
@media(max-width:767.98px){.content{padding:18px 14px!important}.topbar{height:68px!important;padding:0 14px!important}.topbar-user-text{display:none}.topbar-user{padding:5px}.dashboard-toolbar{flex-direction:column}.modern-date-filter{width:100%;min-width:0;justify-content:space-between}.metric-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:1fr}.approval-banner{align-items:flex-start}.approval-banner-action{display:none}.dashboard-title{font-size:22px}.chart-wrap{height:260px}}


/* =========================================================
   v3.18 — Dashboard model inspired by modern admin template
   ========================================================= */
:root{
  --ui-accent:#1677ff;
  --ui-accent-rgb:22,119,255;
}
html[data-accent="green"]{--ui-accent:#22c55e;--ui-accent-rgb:34,197,94}
html[data-accent="orange"]{--ui-accent:#f59e0b;--ui-accent-rgb:245,158,11}
html[data-accent="purple"]{--ui-accent:#7c3aed;--ui-accent-rgb:124,58,237}
html[data-accent="red"]{--ui-accent:#ef4444;--ui-accent-rgb:239,68,68}
html[data-accent="blue"]{--ui-accent:#1677ff;--ui-accent-rgb:22,119,255}

.side-nav{padding:10px 9px 22px!important}
.side-nav .nav-single,
.nav-group-toggle,
.nav-group-menu a{
  width:100%;border:0;text-decoration:none;display:flex;align-items:center;gap:10px;
  min-height:42px;border-radius:8px;color:var(--ui-sidebar-text)!important;
}
.side-nav .nav-single,.nav-group-toggle{padding:9px 12px!important;margin:2px 0;background:transparent}
.nav-group-toggle{justify-content:space-between;cursor:pointer;font:inherit}
.nav-group-toggle>span{display:flex;align-items:center;gap:10px}
.nav-group-toggle>span>i,.side-nav .nav-single>i{width:18px;text-align:center;color:#a9bad0!important}
.nav-caret{font-size:11px!important;transition:transform .2s ease;color:#71839a!important}
.nav-group.open .nav-caret{transform:rotate(180deg)}
.nav-group-menu{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}
.nav-group-menu>*{overflow:hidden}
.nav-group.open .nav-group-menu{grid-template-rows:1fr}
.nav-group-menu:before{content:"";min-height:0}
.nav-group-menu a{padding:8px 12px 8px 38px!important;min-height:38px!important;font-size:13px!important;margin:1px 0!important}
.nav-group-menu a i{width:16px!important;font-size:13px!important;color:#7890aa!important}
.nav-group-toggle:hover,.side-nav .nav-single:hover,.nav-group-menu a:hover{background:rgba(255,255,255,.055)!important;color:#fff!important}
.nav-group-toggle.active,.side-nav .nav-single.active,.nav-group-menu a.active{
  color:#fff!important;background:linear-gradient(90deg,var(--ui-accent),color-mix(in srgb,var(--ui-accent) 82%,#0a58ca))!important;
  box-shadow:0 5px 16px rgba(var(--ui-accent-rgb),.22)!important;
}
.nav-group:has(a.active)>.nav-group-toggle{color:#fff!important;background:rgba(var(--ui-accent-rgb),.10)!important}
.nav-group:has(a.active)>.nav-group-toggle>span>i{color:var(--ui-accent)!important}

.display-settings{
  position:fixed;right:0;top:0;bottom:0;width:320px;z-index:90;
  background:var(--ui-surface);border-left:1px solid var(--ui-border);
  box-shadow:-20px 0 50px rgba(0,0,0,.12);transform:translateX(102%);
  transition:transform .24s ease;padding:18px;overflow-y:auto;
}
.display-settings.show{transform:translateX(0)}
.display-settings-backdrop{position:fixed;inset:0;z-index:89;background:rgba(2,8,23,.28);opacity:0;visibility:hidden;transition:.2s}
.display-settings-backdrop.show{opacity:1;visibility:visible}
.display-settings-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.display-settings-head>div{display:flex;flex-direction:column}
.display-settings-head small{font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--ui-accent)}
.display-settings-head strong{color:var(--ui-heading);font-size:16px;margin-top:2px}
.display-setting-block{padding:16px 0;border-top:1px solid var(--ui-border)}
.display-setting-block>label{display:block;font-size:11px;color:var(--ui-text-soft);font-weight:700;margin-bottom:10px}
.display-option{
  width:100%;height:42px;margin:6px 0;border:1px solid var(--ui-border);border-radius:9px;
  background:var(--ui-surface-2);color:var(--ui-text);display:flex;align-items:center;justify-content:space-between;padding:0 12px;
}
.display-option>span{display:flex;gap:8px;align-items:center}
.display-option.active{border-color:var(--ui-accent);box-shadow:0 0 0 2px rgba(var(--ui-accent-rgb),.08)}
.display-option.active>i{color:var(--ui-accent)}
.density-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.density-options button{
  border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface-2);color:var(--ui-text);padding:8px 4px;font-size:11px
}
.density-options button.active{border-color:var(--ui-accent);color:var(--ui-accent);background:rgba(var(--ui-accent-rgb),.07)}
.accent-options{display:flex;gap:12px}
.accent-options button{width:26px;height:26px;border:3px solid transparent;border-radius:50%;box-shadow:0 0 0 1px var(--ui-border)}
.accent-options button.active{border-color:var(--ui-surface);box-shadow:0 0 0 2px var(--ui-accent)}
.accent-blue{background:#1677ff}.accent-green{background:#22c55e}.accent-orange{background:#f59e0b}.accent-purple{background:#7c3aed}.accent-red{background:#ef4444}

html[data-density="compact"] .content{padding:18px!important}
html[data-density="compact"] .modern-metric{min-height:92px;padding:13px}
html[data-density="compact"] .panel,html[data-density="compact"] .modern-panel{padding:13px!important}
html[data-density="compact"] .table>:not(caption)>*>*{padding:.42rem .5rem}
html[data-density="spacious"] .content{padding:34px!important}
html[data-density="spacious"] .modern-metric{min-height:126px;padding:21px}
html[data-density="spacious"] .panel,html[data-density="spacious"] .modern-panel{padding:22px!important}

.modern-metric{border-top:2px solid rgba(var(--ui-accent-rgb),.35)}
.metric-primary .metric-icon{background:rgba(var(--ui-accent-rgb),.10)!important;color:var(--ui-accent)!important}
.panel-link,.dashboard-kicker,.modern-panel-head small{color:var(--ui-accent)!important}
.icon-btn:hover{color:var(--ui-accent)!important;border-color:rgba(var(--ui-accent-rgb),.45)!important}

@media(max-width:991.98px){
  .display-settings{width:min(320px,88vw)}
}


/* =========================================================
   v3.19 — FIX Dropdown + Dashboard Donut
   ========================================================= */
.nav-group-menu{
  display:none!important;
  padding:2px 0 5px!important;
}
.nav-group.open>.nav-group-menu{
  display:block!important;
}
.nav-group:not(.open)>.nav-group-menu a{
  display:none!important;
}
.nav-group.open>.nav-group-menu a{
  display:flex!important;
}
.nav-group-toggle{
  user-select:none;
}
.nav-group.open>.nav-group-toggle .nav-caret{
  transform:rotate(180deg)!important;
}

/* dashboard closer to reference: line + donut + recent list */
.dashboard-reference-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.72fr) minmax(330px,.95fr)!important;
  gap:14px!important;
  align-items:stretch;
}
.dashboard-reference-grid>.modern-panel{
  min-width:0;
  height:100%;
}
.stock-donut-panel{
  display:flex;
  flex-direction:column;
}
.donut-wrap{
  height:210px;
  position:relative;
  margin:2px auto 8px;
  width:min(100%,240px);
}
.donut-wrap canvas{
  width:100%!important;
  height:100%!important;
}
.donut-center{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  pointer-events:none;
}
.donut-center strong{
  font-size:26px;
  line-height:1;
  color:var(--ui-heading);
}
.donut-center span{
  margin-top:6px;
  font-size:10px;
  color:var(--ui-text-soft);
}
.donut-legend{
  display:grid;
  gap:7px;
  margin-top:4px;
}
.donut-legend>div{
  display:grid;
  grid-template-columns:9px 1fr auto;
  align-items:center;
  gap:7px;
  font-size:10px;
  color:var(--ui-text-soft);
}
.donut-legend strong{
  color:var(--ui-heading);
  font-size:11px;
}
.legend-dot{width:8px;height:8px;border-radius:50%}
.legend-ok{background:#22c55e}
.legend-low{background:#f59e0b}
.legend-zero{background:#ef4444}

.mini-link{
  font-size:10px;
  font-weight:700;
  color:var(--ui-accent);
  text-decoration:none;
}
.recent-order-list{
  display:grid;
  gap:0;
}
.recent-order-row{
  display:grid;
  grid-template-columns:22px minmax(0,1fr) auto auto;
  gap:8px;
  align-items:center;
  min-height:49px;
  border-bottom:1px solid var(--ui-border);
  font-size:10px;
}
.recent-order-row:last-child{border-bottom:0}
.recent-order-no{
  width:20px;height:20px;border-radius:6px;background:var(--ui-surface-2);
  color:var(--ui-text-soft);display:grid;place-items:center;
}
.recent-order-main{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.recent-order-main strong{
  color:var(--ui-heading);
  font-size:10px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.recent-order-main small{
  color:var(--ui-text-soft);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.recent-order-total{
  color:var(--ui-text);
  font-weight:600;
  white-space:nowrap;
}
.order-status-chip{
  font-size:8px;
  font-weight:800;
  padding:4px 6px;
  border-radius:5px;
  color:var(--ui-heading);
  background:var(--ui-surface-3);
  white-space:nowrap;
}
.recent-empty{
  padding:28px 10px;
  text-align:center;
  color:var(--ui-text-soft);
  font-size:11px;
}
.dashboard-bottom-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:14px;
}

@media(max-width:1399.98px){
  .dashboard-reference-grid{
    grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr)!important;
  }
  .recent-orders-panel{
    grid-column:1/-1;
  }
}
@media(max-width:991.98px){
  .dashboard-reference-grid{
    grid-template-columns:1fr!important;
  }
  .recent-orders-panel{grid-column:auto}
  .dashboard-bottom-grid{grid-template-columns:1fr}
}
@media(max-width:575.98px){
  .recent-order-row{
    grid-template-columns:20px minmax(0,1fr) auto;
  }
  .recent-order-total{display:none}
  .donut-wrap{height:190px}
}

/* v3.20 Histori / Laporan */
.report-summary-grid{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.report-summary-card{min-width:190px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:13px;padding:14px 16px;box-shadow:var(--ui-shadow-sm);display:flex;flex-direction:column}
.report-summary-card span{font-size:10px;color:var(--ui-text-soft);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.report-summary-card strong{font-size:21px;color:var(--ui-heading);margin-top:4px}
.report-summary-card.report-danger strong{color:#ef4444}
.report-panel{padding:0!important;overflow:hidden}
.report-filter{display:grid;grid-template-columns:170px 170px minmax(220px,1fr) auto;gap:10px;align-items:end;padding:15px;border-bottom:1px solid var(--ui-border)}
.report-filter label{display:block;font-size:10px;color:var(--ui-text-soft);font-weight:700;margin-bottom:5px}
.report-filter .btn{height:38px}
.report-table thead th{background:var(--ui-surface-2)!important;color:var(--ui-text-soft)!important;padding:11px 13px!important;white-space:nowrap}
.report-table tbody td{padding:11px 13px!important;font-size:12px;vertical-align:middle;border-color:var(--ui-border)!important}
.report-status{display:inline-flex;padding:4px 7px;border-radius:6px;background:var(--ui-surface-3);color:var(--ui-heading);font-size:9px;font-weight:800}
.report-empty{text-align:center!important;color:var(--ui-text-soft)!important;padding:40px!important}
@media(max-width:850px){.report-filter{grid-template-columns:1fr 1fr}.report-search{grid-column:1/-1}.report-filter>.btn{grid-column:1/-1}}
@media(max-width:575px){.report-filter{grid-template-columns:1fr}.report-search,.report-filter>.btn{grid-column:auto}.report-summary-card{flex:1 1 100%}}

/* v3.22 Multi SN flow + compact 15-row pages */
.flow-filter{display:grid;grid-template-columns:minmax(260px,1fr) 180px 150px auto;gap:10px;align-items:end;padding:14px;border-bottom:1px solid var(--ui-border)}
.flow-filter label{display:block;font-size:10px;font-weight:700;color:var(--ui-text-soft);margin-bottom:5px}
.flow-filter .btn{height:38px}
.sn-code{display:inline-block;margin-top:5px;padding:4px 7px;border-radius:6px;background:var(--ui-surface-3);color:var(--ui-heading);font-weight:800;letter-spacing:.03em}
@media(max-width:900px){.flow-filter{grid-template-columns:1fr 1fr}.flow-search{grid-column:1/-1}.flow-filter>.btn{grid-column:1/-1}}
@media(max-width:575px){.flow-filter{grid-template-columns:1fr}.flow-search,.flow-filter>.btn{grid-column:auto}}

/* v3.23 Detail Persetujuan / ACC — read only */
.approval-actions{display:grid;gap:8px;min-width:190px}
.approval-actions>.approval-detail-btn{width:max-content}
.approval-decision-form{display:grid;gap:7px;min-width:190px}
.approval-detail-modal .modal-header{align-items:flex-start}
.approval-detail-modal .modal-title{font-weight:800;color:var(--ui-heading)}
.approval-detail-loading{min-height:220px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--ui-text-soft)}
.approval-detail-meta,.approval-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.approval-detail-meta{padding:14px;background:var(--ui-surface-2);border:1px solid var(--ui-border);border-radius:13px;margin-bottom:14px}
.approval-detail-section{padding:15px;border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-surface);margin-bottom:13px}
.approval-detail-section-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:var(--ui-heading);padding-bottom:10px;margin-bottom:11px;border-bottom:1px solid var(--ui-border)}
.approval-detail-field{min-width:0;padding:9px 10px;background:var(--ui-surface-2);border-radius:9px}
.approval-detail-field span{display:block;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ui-text-soft);margin-bottom:3px}
.approval-detail-field strong{display:block;color:var(--ui-heading);font-size:12px;word-break:break-word}
.approval-sn-title{margin-top:13px;margin-bottom:7px;font-size:10px;font-weight:800;color:var(--ui-text-soft);text-transform:uppercase;letter-spacing:.05em}
.approval-sn-list{display:flex;flex-wrap:wrap;gap:7px}
.approval-sn-list>code{padding:6px 9px!important;border:1px solid var(--ui-border);background:var(--ui-surface-2)!important;color:var(--ui-heading)!important;font-weight:700}
.approval-detail-table{color:var(--ui-text)!important}
.approval-detail-table th{font-size:10px;color:var(--ui-text-soft)!important}
.approval-detail-table td{font-size:11px}
.approval-claim-item{flex:1 1 220px;max-width:330px;display:grid;gap:4px;padding:11px;background:var(--ui-surface-2);border:1px solid var(--ui-border);border-radius:10px}
.approval-claim-item strong{font-size:12px;color:var(--ui-heading)}
.approval-claim-item span,.approval-claim-item small{font-size:10px;color:var(--ui-text-soft)}
@media(max-width:900px){.approval-detail-meta,.approval-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.approval-detail-meta,.approval-detail-grid{grid-template-columns:1fr}.approval-actions{min-width:150px}}

/* v3.24 QC / Service bulk simple flow */
.bulk-flow-panel{padding:0!important;overflow:hidden}
.simple-flow-search{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.8fr) 130px auto;gap:10px;align-items:end;padding:14px 16px;border-bottom:1px solid var(--ui-border)}
.simple-flow-search label{display:block;font-size:10px;font-weight:800;color:var(--ui-text-soft);margin-bottom:5px}
.simple-flow-search .btn{height:38px}
.bulk-action-bar{display:grid;grid-template-columns:auto minmax(300px,1fr) auto;gap:12px;align-items:center;padding:12px 16px;background:var(--ui-surface-2);border-bottom:1px solid var(--ui-border)}
.bulk-select-info{white-space:nowrap;font-size:12px;color:var(--ui-text-soft)}
.bulk-select-info strong{font-size:19px;color:var(--ui-heading);margin-right:4px}
.bulk-common-inputs{display:grid;grid-template-columns:180px minmax(220px,1fr);gap:8px}
.bulk-common-inputs.service-inputs{grid-template-columns:160px 140px minmax(220px,1fr)}
.bulk-buttons{display:flex;gap:7px;justify-content:flex-end;white-space:nowrap}
.simple-flow-table thead th{background:var(--ui-surface-2)!important;color:var(--ui-text-soft)!important;font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:10px 12px!important}
.simple-flow-table tbody td{padding:11px 12px!important;border-color:var(--ui-border)!important;font-size:12px}
.simple-flow-table tbody tr:hover{background:var(--ui-surface-2)}
.simple-flow-table .form-check-input{width:17px;height:17px}
@media(max-width:1050px){
 .bulk-action-bar{grid-template-columns:1fr}
 .bulk-common-inputs,.bulk-common-inputs.service-inputs{grid-template-columns:1fr 1fr}
 .bulk-buttons{justify-content:flex-start}
}
@media(max-width:700px){
 .simple-flow-search{grid-template-columns:1fr}
 .bulk-common-inputs,.bulk-common-inputs.service-inputs{grid-template-columns:1fr}
 .bulk-buttons{display:grid;grid-template-columns:1fr 1fr}
 .bulk-buttons .btn{width:100%}
}

/* v3.25 evidence photos */
.evidence-thumb-link{display:flex;flex-direction:column;gap:4px;text-decoration:none;font-size:10px;color:var(--ui-primary)}
.evidence-thumb{width:86px;height:58px;object-fit:cover;border-radius:8px;border:1px solid var(--ui-border);background:var(--ui-surface-2)}
.claim-evidence-card{border:1px solid var(--ui-border);border-radius:14px;padding:14px;margin-top:12px;background:var(--ui-surface-2)}
.claim-evidence-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px solid var(--ui-border);padding-bottom:10px;margin-bottom:10px}
.claim-evidence-head>div{display:flex;flex-direction:column}.claim-evidence-head small{color:var(--ui-text-soft);font-size:10px;margin-top:2px}
.claim-process-notes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.claim-process-notes>div{padding:10px;border-radius:9px;background:var(--ui-surface)}.claim-process-notes span{font-size:9px;font-weight:800;color:var(--ui-text-soft)}.claim-process-notes strong,.claim-process-notes small{display:block}.claim-process-notes small{color:var(--ui-text-soft)}
.claim-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.claim-photo-pair>div>span{display:block;font-size:10px;font-weight:800;color:var(--ui-text-soft);margin-bottom:6px}.claim-photo-pair img{width:100%;max-height:300px;object-fit:contain;background:#fff;border:1px solid var(--ui-border);border-radius:10px}.claim-photo-empty{min-height:150px;border:1px dashed var(--ui-border);border-radius:10px;display:grid;place-items:center;color:var(--ui-text-soft);background:var(--ui-surface)}
@media(max-width:700px){.claim-process-notes,.claim-photo-pair{grid-template-columns:1fr}}

/* v3.25 revised — one reject photo per SN */
.qc-revised-bar{grid-template-columns:auto minmax(300px,1fr) auto}
.service-approve-inputs{grid-template-columns:150px 170px minmax(220px,1fr)!important}
.reject-item-list{display:grid;gap:12px}
.reject-item-card{border:1px solid var(--ui-border);background:var(--ui-surface-2);border-radius:13px;padding:13px}
.reject-item-head{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.reject-item-head>span{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--ui-primary-soft);color:var(--ui-primary);font-weight:800}
.reject-item-head>div{display:flex;flex-direction:column}.reject-item-head strong{color:var(--ui-heading);font-size:13px}.reject-item-head small{color:var(--ui-text-soft);font-size:10px}
.reject-item-fields{display:grid;grid-template-columns:minmax(250px,1fr) minmax(250px,1fr);gap:10px}
.reject-item-fields label,.reject-service-grid label{display:block;font-size:10px;font-weight:800;color:var(--ui-text-soft);margin-bottom:5px}
.reject-service-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px}
.reject-service-grid .reject-item-fields{grid-template-columns:1fr 1fr}
.reject-qc-preview{width:100%;height:150px;object-fit:contain;background:#fff;border:1px solid var(--ui-border);border-radius:9px}
@media(max-width:900px){
 .qc-revised-bar{grid-template-columns:1fr}
 .service-approve-inputs{grid-template-columns:1fr 1fr!important}
 .reject-service-grid{grid-template-columns:1fr}
 .reject-service-grid .reject-item-fields{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
 .reject-item-fields,.reject-service-grid .reject-item-fields,.service-approve-inputs{grid-template-columns:1fr!important}
}

/* v3.26 Multi SN scan/paste form QC + Service */
.multi-scan-panel{
  padding:14px 16px;
  border-bottom:1px solid var(--ui-border);
  background:linear-gradient(180deg,var(--ui-surface),var(--ui-surface-2));
}
.multi-scan-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:9px}
.multi-scan-head>div:first-child{display:flex;flex-direction:column}
.multi-scan-head small{font-size:9px;font-weight:800;letter-spacing:.1em;color:var(--ui-primary)}
.multi-scan-head strong{font-size:14px;color:var(--ui-heading);margin-top:2px}
.multi-scan-head span{font-size:10px;color:var(--ui-text-soft);margin-top:2px}
.multi-scan-count{min-width:86px;padding:8px 10px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);display:flex;flex-direction:column;align-items:center}
.multi-scan-count strong{font-size:20px;color:var(--ui-heading);line-height:1}
.multi-scan-count span{font-size:9px}
.multi-scan-panel textarea{resize:vertical;min-height:108px}
.multi-scan-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
@media(max-width:600px){
 .multi-scan-head{flex-direction:column}
 .multi-scan-count{width:100%;align-items:flex-start}
}

/* v3.27 Stock summary cards + Multi SN ready display */
.stock-summary-cards{
 display:grid;
 grid-template-columns:repeat(5,minmax(0,1fr));
 gap:12px;
 margin-bottom:16px;
}
.stock-summary-card{
 display:flex;
 align-items:center;
 gap:12px;
 min-height:104px;
 padding:15px;
 border:1px solid var(--ui-border);
 border-radius:14px;
 background:var(--ui-surface);
 box-shadow:var(--ui-shadow-sm);
 color:inherit;
 text-decoration:none;
 cursor:pointer;
 transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.stock-summary-card:hover{color:inherit;text-decoration:none;transform:translateY(-2px);border-color:#9fb9dd;box-shadow:0 8px 22px rgba(15,23,42,.10)}
.stock-summary-card:focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:2px}
.stock-summary-icon{
 width:44px;height:44px;border-radius:12px;
 display:grid;place-items:center;
 flex:0 0 44px;font-size:18px;
}
.stock-summary-card>div:last-child{display:flex;flex-direction:column;min-width:0}
.stock-summary-card span{font-size:10px;font-weight:800;color:var(--ui-text-soft);text-transform:uppercase;letter-spacing:.04em}
.stock-summary-card strong{font-size:24px;line-height:1.05;color:var(--ui-heading);margin:4px 0}
.stock-summary-card small{font-size:9px;color:var(--ui-text-soft)}
.stock-card-ready .stock-summary-icon{background:#ecfdf5;color:#059669}
.stock-card-qc .stock-summary-icon{background:#eff6ff;color:#2563eb}
.stock-card-service .stock-summary-icon{background:#fff7ed;color:#ea580c}
.stock-card-claim .stock-summary-icon{background:#f5f3ff;color:#7c3aed}
.stock-card-reject .stock-summary-icon{background:#fef2f2;color:#dc2626}
html[data-theme="dark"] .stock-card-ready .stock-summary-icon{background:#11362b}
html[data-theme="dark"] .stock-card-qc .stock-summary-icon{background:#142c4d}
html[data-theme="dark"] .stock-card-service .stock-summary-icon{background:#3b2718}
html[data-theme="dark"] .stock-card-claim .stock-summary-icon{background:#2a2044}
html[data-theme="dark"] .stock-card-reject .stock-summary-icon{background:#421d24}
.stock-ready-badge{
 display:inline-flex;
 align-items:center;
 padding:5px 9px;
 border-radius:7px;
 background:#dcfce7;
 color:#15803d;
 font-weight:800;
 font-size:12px;
 white-space:nowrap;
}
html[data-theme="dark"] .stock-ready-badge{background:#153c2b;color:#6ee7a8}
.stock-sn-type{
 display:inline-flex;
 padding:4px 7px;
 border-radius:6px;
 background:var(--ui-surface-3);
 color:var(--ui-heading);
 font-size:10px;
 font-weight:800;
}
.stock-main-table tbody td{padding-top:12px!important;padding-bottom:12px!important}
@media(max-width:1200px){
 .stock-summary-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
 .stock-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
 .stock-summary-cards{grid-template-columns:1fr}
}

/* v3.28 QC tabs + Qty */
.qc-type-tabs{display:flex;gap:8px;margin-bottom:14px}.qc-type-tabs a{display:flex;gap:8px;align-items:center;padding:9px 13px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);color:var(--ui-text);text-decoration:none;font-weight:700;font-size:12px}.qc-type-tabs a.active{background:var(--ui-primary);color:#fff;border-color:var(--ui-primary)}.qc-type-tabs span{padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.18)}
.qty-qc-list{display:grid;gap:12px;padding:14px}.qty-qc-card{padding:14px;border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-surface-2)}.qty-qc-head{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ui-border);padding-bottom:10px;margin-bottom:10px}.qty-qc-head>div{display:flex;flex-direction:column}.qty-qc-head small{color:var(--ui-text-soft);font-size:10px}.qty-qc-fields{display:grid;grid-template-columns:160px 160px 1fr;gap:10px}.qty-qc-fields .qty-wide{grid-column:auto}.qty-photo-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.qty-photo-item{padding:8px;border:1px dashed var(--ui-border);border-radius:9px}.qty-photo-item span{display:block;font-size:10px;font-weight:700;margin-bottom:5px}.claim-qty-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.claim-qty-photo-grid img{height:120px!important;object-fit:cover!important}
@media(max-width:800px){.qty-qc-fields{grid-template-columns:1fr 1fr}.qty-qc-fields .qty-wide{grid-column:1/-1}.qty-photo-list{grid-template-columns:1fr 1fr}}@media(max-width:520px){.qty-qc-fields,.qty-photo-list{grid-template-columns:1fr}.qty-qc-head{flex-direction:column}}

/* v3.30 restore Multi Scan + clearer SAME/QTY QC */
.qty-help-box{display:flex;gap:12px;align-items:center;margin:14px;padding:13px 15px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface-2)}
.qty-help-box>div:first-child{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--ui-primary-soft);color:var(--ui-primary);font-size:19px}
.qty-help-box>div:last-child{display:flex;flex-direction:column}.qty-help-box strong{font-size:13px;color:var(--ui-heading)}.qty-help-box span{font-size:10px;color:var(--ui-text-soft)}
.qty-entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.qty-entry-box{padding:11px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface)}
.qty-entry-box label{font-size:10px;font-weight:800;color:var(--ui-text-soft);margin-bottom:5px}
.qty-entry-box small{display:block;font-size:9px;color:var(--ui-text-soft);margin-top:4px}
.qty-entry-approve{border-color:rgba(22,163,74,.28)}.qty-entry-reject{border-color:rgba(220,38,38,.28)}
.qty-entry-approve input{font-weight:800;color:#15803d}.qty-entry-reject input{font-weight:800;color:#dc2626}
.qty-photo-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:7px}.qty-photo-title strong{font-size:11px;color:var(--ui-heading)}.qty-photo-title span{font-size:9px;color:var(--ui-text-soft)}
.qty-qc-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:13px;padding-top:12px;border-top:1px solid var(--ui-border)}.qty-qc-footer small{color:var(--ui-text-soft)}
.qty-empty-state{min-height:220px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:25px;color:var(--ui-text-soft)}
.qty-empty-state i{font-size:34px;margin-bottom:8px}.qty-empty-state strong{color:var(--ui-heading);font-size:14px}.qty-empty-state span{max-width:600px;font-size:10px;margin-top:5px}
@media(max-width:1000px){.qty-entry-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.qty-entry-grid{grid-template-columns:1fr}.qty-qc-footer{flex-direction:column;align-items:stretch}.qty-qc-footer .btn{width:100%}}

/* v3.31 Location Management + Box Scan */
.qc-box-transfer-panel,.service-box-scan-panel{padding:14px 16px;border-bottom:1px solid var(--ui-border);background:var(--ui-surface-2)}
.qc-box-transfer-head>div,.service-box-scan-panel>div:first-child{display:flex;flex-direction:column;margin-bottom:9px}
.qc-box-transfer-head small,.service-box-scan-panel small{font-size:9px;font-weight:800;color:var(--ui-primary);letter-spacing:.08em}
.qc-box-transfer-head strong,.service-box-scan-panel strong{font-size:13px;color:var(--ui-heading)}
.qc-box-transfer-head span,.service-box-scan-panel span{font-size:10px;color:var(--ui-text-soft)}
.qc-box-transfer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.service-box-scan-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qc-box-transfer-grid label,.service-box-scan-grid label{font-size:10px;font-weight:800;color:var(--ui-text-soft);margin-bottom:5px}
@media(max-width:800px){.qc-box-transfer-grid,.service-box-scan-grid{grid-template-columns:1fr}}

/* v3.32 Tracking + Final Box Verification */
.qc-session-select{display:flex;gap:8px;align-items:end;padding:12px 16px;border-bottom:1px solid var(--ui-border);background:var(--ui-surface)}
.qc-session-select label{font-size:10px;font-weight:800;color:var(--ui-text-soft)}.qc-session-select select{max-width:520px}
.tracking-search{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.tracking-search label{font-size:10px;font-weight:800;color:var(--ui-text-soft)}
.tracking-timeline{margin-top:16px}.tracking-event{display:grid;grid-template-columns:18px 1fr;gap:8px;padding-bottom:16px}.tracking-dot{width:16px;height:16px;border-radius:50%;background:var(--ui-primary)}.tracking-event>div:last-child{display:flex;flex-direction:column}.tracking-event strong{font-size:12px}.tracking-event span,.tracking-event small{font-size:9px;color:var(--ui-text-soft)}
.tracking-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.tracking-summary>div{padding:14px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);display:flex;flex-direction:column}.tracking-summary span{font-size:9px;color:var(--ui-text-soft);font-weight:800}.tracking-summary strong{font-size:20px}
.tracking-session-meta{display:flex;gap:15px;flex-wrap:wrap}.tracking-session-meta span{font-size:10px;color:var(--ui-text-soft)}.tracking-session-meta strong{display:block;color:var(--ui-heading)}
@media(max-width:700px){.qc-session-select{display:grid}.tracking-summary{grid-template-columns:1fr 1fr}.tracking-search{grid-template-columns:1fr}}

.owner-test-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.owner-test-actions form{display:inline}

/* v3.34 Owner Edit/Delete Penerimaan */
.owner-receiving-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.owner-receiving-actions form{display:inline-flex;margin:0}

/* v3.36 Box-first + print labels */
.service-box-only-row{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end}
.service-box-only-row label{font-size:10px;font-weight:800;color:var(--ui-text-soft);margin-bottom:5px}
@media(max-width:700px){.service-box-only-row{grid-template-columns:1fr}.service-box-only-row .btn{width:100%}}

/* v3.37 batch label */
.label-batch-toolbar,.qc-label-batch-panel{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;background:var(--ui-surface-soft,#f7f8fa);border:1px solid var(--ui-border,#ddd);border-radius:10px;margin-bottom:10px}
.label-batch-toolbar>div:first-child{margin-right:auto}.label-batch-toolbar small{display:block;color:var(--ui-text-soft,#667085)}
.qc-label-batch-panel{display:block;margin:10px 0}

/* v3.39 Outbound / Delivery / Warranty */
.checker-items{display:grid;gap:12px}
.checker-item-card{border:1px solid var(--ui-border);border-radius:12px;padding:14px;background:var(--ui-surface)}
.checker-item-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:12px}
.checker-item-head>div{display:flex;flex-direction:column}.checker-item-head small{color:var(--ui-text-soft);font-size:10px}
.checker-item-head>div:last-child{text-align:right}.checker-item-head>div:last-child span{font-size:9px;color:var(--ui-text-soft);font-weight:800}.checker-item-head>div:last-child strong{font-size:18px}
.delivery-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto;gap:6px;min-width:520px}
.warranty-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.warranty-summary>div{padding:14px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);display:flex;flex-direction:column}
.warranty-summary span{font-size:9px;color:var(--ui-text-soft);font-weight:800}.warranty-summary strong{font-size:15px}.warranty-summary.is-active>div:first-child strong{color:#15803d}.warranty-summary.is-expired>div:first-child strong{color:#b91c1c}
@media(max-width:850px){.delivery-form{grid-template-columns:1fr;min-width:280px}.warranty-summary{grid-template-columns:1fr 1fr}.checker-item-head{align-items:flex-start}}

/* v3.40 Pricing + Marketplace + Proforma */
.price-tier-panel{border:1px solid var(--ui-border);border-radius:12px;padding:14px;background:var(--ui-surface)}
.order-total-box{margin-left:auto;max-width:360px;border:1px solid var(--ui-border);border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;text-align:right;background:var(--ui-surface)}
.order-total-box span,.order-total-box small{font-size:10px;color:var(--ui-text-soft)}.order-total-box strong{font-size:22px;color:var(--ui-heading)}

/* v3.43 Final - Master Produk sederhana + Harga per Channel */
.product-form-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;padding:6px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:14px}
.product-tab{border:0;background:transparent;color:var(--ui-text-soft);font-weight:800;padding:10px 15px;border-radius:10px;display:flex;gap:7px;align-items:center}
.product-tab.active{background:var(--bs-primary);color:#fff;box-shadow:0 5px 16px rgba(0,0,0,.12)}
.product-tab-pane{display:none}.product-tab-pane.active{display:block}
.product-section-title{display:flex;gap:10px;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--ui-border)}
.product-section-title>div{width:38px;height:38px;border-radius:10px;background:rgba(37,99,235,.1);display:grid;place-items:center;color:var(--bs-primary);font-size:18px}
.product-section-title span{display:flex;flex-direction:column}.product-section-title small{color:var(--ui-text-soft)}
.price-helper-card{height:100%;border:1px dashed var(--ui-border);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;justify-content:center}.price-helper-card small{color:var(--ui-text-soft)}
.price-tier-toggle{width:100%;border:0;background:transparent;padding:0;display:flex;justify-content:space-between;align-items:center;text-align:left;color:var(--ui-heading)}
.price-tier-toggle span{display:flex;flex-direction:column}.price-tier-toggle span>i{display:none}.price-tier-toggle small{color:var(--ui-text-soft);font-weight:400}
.price-tier-body{display:none;padding-top:14px}.price-tier-body.show{display:block}.price-tier-toggle.open>.bi{transform:rotate(180deg)}
.product-form-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--ui-border);padding-top:16px}
@media(max-width:767px){.product-form-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.product-tab{justify-content:center;font-size:11px;padding:9px 4px;flex-direction:column}.product-tab i{font-size:16px}}

/* v3.44 Data Produk terintegrasi: kemasan, grosir, bundling */
.product-price-divider{font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--ui-text-soft);padding:8px 0 2px;border-bottom:1px solid var(--ui-border)}
.sales-option-card{border:1px solid var(--ui-border);border-radius:14px;padding:14px;margin-bottom:14px;background:var(--ui-surface)}
.sales-option-card>.form-switch{display:flex;align-items:flex-start;gap:10px;margin:0}
.sales-option-card>.form-switch span{display:flex;flex-direction:column}.sales-option-card>.form-switch small{color:var(--ui-text-soft);font-weight:400}
.option-body{padding-top:14px;margin-top:12px;border-top:1px dashed var(--ui-border)}
.package-preview{padding:8px 10px;border-radius:9px;background:rgba(37,99,235,.06);font-size:12px}
.bundle-editor{border:1px solid var(--ui-border);border-radius:12px;padding:14px;margin-bottom:14px;background:rgba(127,127,127,.025)}
.bundle-editor-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.bundle-subtitle{font-size:11px;font-weight:900;letter-spacing:.04em;margin:14px 0 8px;color:var(--ui-text-soft);text-transform:uppercase}

/* v3.44.1 hotfix form product */
.product-save-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;margin-bottom:16px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface)}
.product-save-bar>div:first-child{display:flex;flex-direction:column}.product-save-bar small{color:var(--ui-text-soft);font-size:11px}
@media(max-width:700px){.product-save-bar{align-items:flex-start;flex-direction:column}.product-save-bar>div:last-child{width:100%}.product-save-bar .btn{flex:1}}

/* v3.44.3 recovery UI - satu tombol aksi stabil di atas */
.product-save-bar{
  display:flex!important;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  margin-bottom:16px;
  border:1px solid var(--ui-border);
  border-radius:12px;
  background:var(--ui-surface);
  position:relative;
  z-index:2;
}
.product-save-bar>div:first-child{display:flex;flex-direction:column}
.product-save-bar small{font-size:11px;color:var(--ui-text-soft)}
.product-form-actions{display:none!important}
@media(max-width:700px){
  .product-save-bar{align-items:flex-start;flex-direction:column}
  .product-save-bar>div:last-child{width:100%}
  .product-save-bar .btn{flex:1}
}

/* v3.44.6 optional Harga & Paket state */
.sales-option-card.option-disabled{opacity:.72}
.sales-option-card.option-disabled>.form-switch{opacity:1}
.sales-option-card:not(.option-disabled){box-shadow:0 0 0 1px rgba(37,99,235,.04)}

/* v3.44.7 Harga & Paket - selalu terlihat, ringkas saat nonaktif */
.sales-option-card{transition:none!important}
.sales-option-card.option-disabled{opacity:1!important;padding:12px 14px!important}
.sales-option-card.option-disabled .option-body{display:none!important}
.sales-option-card.option-disabled>.form-switch small{color:var(--ui-text-soft)!important}
.sales-option-card>.form-switch{min-height:38px}
.product-tab-pane[data-product-pane="sales"] .sales-option-card{margin-bottom:10px}

/* v3.44.8 Harga & Paket stabil */
.sales-option-card{display:block!important;opacity:1!important}
.sales-option-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.sales-option-head .form-switch{display:flex;align-items:flex-start;gap:10px;margin:0;flex:1}
.sales-option-head .form-switch span{display:flex;flex-direction:column}
.sales-option-head .form-switch small{color:var(--ui-text-soft);font-weight:400}
.option-body[hidden]{display:none!important}
.option-toggle-btn{min-width:64px}

/* v3.44.9 stable Harga & Paket */
.sales-feature-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.sales-feature-box{display:flex!important;flex-direction:column;justify-content:space-between;gap:12px;min-height:112px;padding:14px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface)}
.sales-feature-box strong{display:block;font-size:13px;color:var(--ui-heading)}
.sales-feature-box small{display:block;color:var(--ui-text-soft);font-size:11px;margin-top:3px}
.sales-detail-box{border:1px solid var(--ui-border);border-radius:12px;padding:14px;margin-top:12px;background:var(--ui-surface)}
.sales-detail-box[hidden]{display:none!important}
@media(max-width:900px){.sales-feature-grid{grid-template-columns:1fr!important}}

/* v3.45 test mode - grosir & bundling selalu terlihat */
#wholesaleBody,#bundleBody{display:block!important}
.sales-detail-box{margin-bottom:14px}
.sales-feature-box .btn{pointer-events:auto!important}

/* v3.47 Harga Grosir, Kemasan & Paket Bundling clickable */
.clickable-sales-title{cursor:pointer;user-select:none;border-radius:10px;padding:8px 10px}
.clickable-sales-title:hover{background:rgba(37,99,235,.05)}
.clickable-sales-title .sales-master-chevron{transition:transform .15s ease}
.clickable-sales-title.closed .sales-master-chevron{transform:rotate(-90deg)}
#salesMasterBody.sales-master-closed{display:none!important}
.sales-simple-card{border:1px solid var(--ui-border);border-radius:12px;margin-bottom:12px;background:var(--ui-surface);overflow:hidden}
.sales-simple-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px}
.sales-simple-head strong{display:block;color:var(--ui-heading)}
.sales-simple-head small{display:block;color:var(--ui-text-soft);font-size:11px;margin-top:2px}
.sales-simple-body{padding:14px;border-top:1px dashed var(--ui-border)}
.sales-simple-body.sales-disabled{opacity:.55}
.sales-simple-body.sales-disabled:after{content:'Aktifkan switch untuk menyimpan pengaturan ini.';display:block;margin-top:8px;font-size:11px;color:var(--ui-text-soft)}

/* v3.48 — Grosir Produk + Bundling Grosir */
.sales-master-toggle{width:100%;display:flex;align-items:center;gap:11px;border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-surface);padding:13px 14px;text-align:left;color:var(--ui-heading);margin-bottom:14px}
.sales-master-toggle:hover{background:rgba(37,99,235,.035)}
.sales-master-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(37,99,235,.1);color:var(--bs-primary);font-size:17px}
.sales-master-text{display:flex;flex-direction:column;flex:1}.sales-master-text small{color:var(--ui-text-soft);font-weight:400;margin-top:2px}
.sales-editor-section{border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);margin-bottom:14px;overflow:hidden}
.sales-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--ui-border)}
.sales-editor-heading>div{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap}
.sales-editor-heading strong{font-size:14px}.sales-editor-heading small{display:block;width:100%;padding-left:34px;color:var(--ui-text-soft);font-size:11px}
.sales-number{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:rgba(37,99,235,.1);color:var(--bs-primary);font-weight:800;font-size:12px}
.sales-switch-label{font-size:11px;color:var(--ui-text-soft);margin-left:3px}
.sales-editor-body{padding:15px 16px}
.sales-editor-section.feature-off .sales-editor-heading{background:rgba(127,127,127,.025)}
.sales-editor-section.feature-off .sales-editor-body{opacity:.72}
.tier-table-head,.tier-row{grid-template-columns:1fr 1fr 1.4fr 52px;gap:9px;align-items:center}
.tier-table-head{display:grid;font-size:11px;font-weight:800;color:var(--ui-text-soft);padding:0 2px 6px}
.tier-row{display:grid;margin-bottom:8px}
.bundle-help-box{display:flex;flex-direction:column;border:1px dashed var(--ui-border);border-radius:10px;padding:10px 12px;background:rgba(37,99,235,.035);font-size:12px}.bundle-help-box span{color:var(--ui-text-soft)}
.bundle-card{border:1px solid var(--ui-border);border-radius:14px;padding:15px;margin-bottom:14px;background:var(--ui-surface)}
.bundle-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;margin-bottom:13px;border-bottom:1px solid var(--ui-border)}
.bundle-card-head>div{display:flex;align-items:center;gap:9px}.bundle-badge{font-size:10px;font-weight:900;letter-spacing:.04em;background:rgba(37,99,235,.1);color:var(--bs-primary);padding:4px 7px;border-radius:7px}
.bundle-block{margin-top:15px;padding-top:14px;border-top:1px dashed var(--ui-border)}
.bundle-block-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}.bundle-block-title>div,.bundle-block-title{font-size:12px}.bundle-block-title small{display:block;color:var(--ui-text-soft);font-weight:400}
.bundle-component-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 52px;gap:8px;margin-bottom:8px}
.bundle-wholesale-block{background:rgba(37,99,235,.025);margin-left:-8px;margin-right:-8px;padding:14px 8px 8px;border-radius:10px}
@media(max-width:767px){.tier-row{grid-template-columns:1fr 1fr}.tier-row .input-group{grid-column:1 / -1}.tier-row>.btn{grid-column:1 / -1}.bundle-component-row{grid-template-columns:1fr 90px}.bundle-component-row>.btn{grid-column:1 / -1}.sales-editor-heading{flex-direction:column}.sales-editor-heading small{padding-left:0}.bundle-card-head{align-items:flex-start}}

/* v3.49 — Harga Grosir Paket per Channel */
.bundle-channel-tier{border:1px solid var(--ui-border);border-radius:11px;padding:11px 12px;margin-top:10px;background:var(--ui-surface)}
.bundle-channel-tier-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:9px}
.bundle-channel-tier-head strong{display:block;font-size:12px}
.bundle-channel-tier-head small{display:block;color:var(--ui-text-soft);font-size:10px;margin-top:2px}
.bundle-channel-tier.channel-tier-off .bundle-tiers,.bundle-channel-tier.channel-tier-off .tier-table-head{opacity:.48}
.bundle-channel-tier.channel-tier-off{background:rgba(127,127,127,.025)}
.bundle-channel-tier .sales-switch-label{font-size:10px}
@media(max-width:767px){.bundle-channel-tier-head{flex-direction:column}.bundle-channel-tier-head>div:last-child{width:100%;justify-content:space-between}}
/* v3.50 employee payroll + ID card */
.employee-photo-preview{width:72px;height:72px;object-fit:cover;border-radius:12px;border:1px solid var(--ui-border)}
.employee-id-card{width:100%;max-width:430px;aspect-ratio:1.586/1;margin:auto;border-radius:18px;padding:20px;background:linear-gradient(135deg,#111827,#1f2937);color:#fff;box-shadow:0 18px 40px rgba(0,0,0,.18);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.employee-id-brand{display:flex;justify-content:space-between;align-items:center}.employee-id-brand strong{font-size:22px;letter-spacing:.08em}.employee-id-brand span{font-size:10px;letter-spacing:.16em;opacity:.75}
.employee-id-main{display:flex;align-items:center;gap:16px}.employee-id-photo{width:96px;height:112px;object-fit:cover;border-radius:12px;border:3px solid rgba(255,255,255,.75)}.employee-id-initial{display:grid;place-items:center;background:#fff;color:#111827;font-size:42px;font-weight:800}.employee-id-main h4{margin:0 0 3px;font-size:20px}.employee-id-main p{margin:7px 0 2px;font-family:monospace}.employee-id-main small{opacity:.75}
.employee-id-code{display:flex;align-items:center;gap:10px;border-top:1px solid rgba(255,255,255,.2);padding-top:10px}.employee-id-qr{width:42px;height:42px;background:#fff;padding:2px;border-radius:4px}.employee-id-code div{display:flex;flex-direction:column}.employee-id-code small{opacity:.7}
@media print{body *{visibility:hidden!important}.employee-id-card,.employee-id-card *{visibility:visible!important}.employee-id-card{position:fixed;left:0;top:0;width:85.6mm;height:54mm;max-width:none;border-radius:3mm;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.modal-footer{display:none!important}}

/* v3.51 — pagination global 15 baris */
.xstech-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px 2px;margin-top:10px;border-top:1px solid var(--ui-border)}
.xstech-pagination small{color:var(--ui-text-soft);font-size:11px}
@media(max-width:700px){.xstech-pagination{align-items:flex-start;flex-direction:column}.xstech-pagination nav{width:100%;overflow-x:auto}}

/* v3.52 — Order Detail Simple */
.order-simple-form{max-width:1280px;margin-inline:auto}
.order-simple-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.order-simple-section{border:1px solid var(--ui-border);border-radius:14px;padding:15px 16px;margin-bottom:12px;background:var(--ui-surface)}
.order-simple-title{display:flex;align-items:center;gap:10px;margin-bottom:13px}
.order-simple-title>span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:rgba(37,99,235,.1);color:var(--bs-primary);font-weight:800;font-size:12px}
.order-simple-title>div{display:flex;flex-direction:column}
.order-simple-title strong{font-size:14px;color:var(--ui-heading)}
.order-simple-title small{color:var(--ui-text-soft);font-size:11px}
.order-finance-section{padding:0;border:0;background:transparent}
.order-collapsible-toggle{width:100%;border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:12px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;color:var(--ui-heading)}
.order-collapsible-toggle>span{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}
.order-collapsible-toggle>span>i{grid-row:1/3}
.order-collapsible-toggle strong{font-size:13px}
.order-collapsible-toggle small{display:block;color:var(--ui-text-soft);font-size:10px;font-weight:400}
.order-collapsible-body{border:1px solid var(--ui-border);border-top:0;border-radius:0 0 12px 12px;padding:14px;background:var(--ui-surface)}
.order-collapsible-body[hidden]{display:none!important}
.order-market-note{font-size:11px;color:var(--ui-text-soft);margin-top:11px;padding-top:10px;border-top:1px dashed var(--ui-border)}
.order-product-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center;margin-bottom:10px}
.order-picker-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:10px}
.order-picker-tab{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text-soft);border-radius:11px;padding:11px 14px;font-weight:750;display:flex;align-items:center;justify-content:center;gap:8px;transition:.15s}
.order-picker-tab span{font-size:10px;background:var(--ui-surface-soft);padding:3px 7px;border-radius:999px}
.order-picker-tab:hover{border-color:#9fb9dd;color:var(--ui-heading)}
.order-picker-tab.is-active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;box-shadow:0 0 0 2px rgba(37,99,235,.08)}
html[data-theme="dark"] .order-picker-tab.is-active{background:#142c4d;color:#93c5fd}
.order-product-picker-simple{max-height:330px;border-radius:12px}
.order-product-picker-simple[hidden]{display:none!important}
.order-product-picker-simple .order-product-option{padding:10px 12px;min-height:62px}
.order-product-picker-simple .order-product-option small{font-size:10px}
.order-product-quick b{font-size:11px}
.order-product-quick small{margin-top:3px;color:var(--bs-primary)}
.order-selected-box{border:1px solid var(--ui-border);border-radius:12px;overflow:hidden}
.order-selected-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:rgba(127,127,127,.025);border-bottom:1px solid var(--ui-border);font-size:12px}
.order-selected-head span{color:var(--ui-text-soft)}
.order-items-simple{margin-bottom:0}
.order-items-simple th{font-size:10px;white-space:nowrap}
.order-items-simple td{vertical-align:middle}
.order-item-product strong{display:block;font-size:12px;min-width:190px}
.order-item-product small{display:block;color:var(--ui-text-soft);font-size:9px;margin-top:2px;max-width:310px}
.order-qty-wrap{display:flex;align-items:center;gap:5px;min-width:165px}
.order-qty-wrap .qty-display{max-width:76px}
.order-qty-wrap .sale-unit{max-width:125px}
.order-price-input{min-width:145px}
.order-total-simple{margin:0;min-width:260px}
.order-simple-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;position:sticky;bottom:0;background:var(--ui-bg);padding:11px 0 2px;z-index:3}
@media(max-width:767px){
 .order-simple-head,.order-simple-footer{flex-direction:column;align-items:stretch}
 .order-picker-tabs{grid-template-columns:1fr}
 .order-product-search-row{grid-template-columns:1fr}
 .order-product-search-row .btn{width:100%}
 .order-total-simple{min-width:0;width:100%}
 .order-simple-footer>.d-flex{width:100%}.order-simple-footer>.d-flex>*{flex:1}
 .order-simple-section{padding:12px}
}

/* v3.53 — Marketplace settlement labels mengikuti Seller Centre */
.market-settlement-preview{max-width:860px;margin:0 auto}
.market-finance-body{background:linear-gradient(180deg,rgba(239,246,255,.45),transparent)}
.market-settlement-group{border:1px solid var(--ui-border);padding:11px 13px;margin-top:9px;border-radius:12px}
.market-settlement-preview>.market-card-income{background-color:#ecfdf5!important;border-color:#86efac!important}
.market-settlement-preview>.market-card-shipping{background-color:#eff6ff!important;border-color:#93c5fd!important}
.market-settlement-preview>.market-card-fees{background-color:#fff1f2!important;border-color:#fda4af!important}
.market-settlement-preview>.market-card-program{background-color:#fff7ed!important;border-color:#fdba74!important}
html[data-theme="dark"] .market-settlement-preview>.market-card-income{background-color:#11362b!important;border-color:#1d5b47!important}
html[data-theme="dark"] .market-settlement-preview>.market-card-shipping{background-color:#142c4d!important;border-color:#244b78!important}
html[data-theme="dark"] .market-settlement-preview>.market-card-fees{background-color:#421d24!important;border-color:#6b2934!important}
html[data-theme="dark"] .market-settlement-preview>.market-card-program{background-color:#3b2718!important;border-color:#654326!important}
.market-settlement-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:5px 2px;font-size:12px}
.market-settlement-row strong{font-size:12px}.market-settlement-row b{white-space:nowrap}
.market-settlement-sub{color:var(--ui-text-soft);padding-left:18px;font-size:11px}
.market-settlement-fields{display:grid;gap:7px;padding:3px 0 5px}
.market-settlement-fields label{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:14px;color:var(--ui-text-soft);font-size:11px}
.market-settlement-fields .form-control{text-align:right}
.market-direct-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}
.market-direct-row>label{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:14px;color:var(--ui-text-soft);font-size:11px}
.market-direct-row>label .form-control{text-align:right}
.market-direct-row>b{white-space:nowrap;min-width:74px;text-align:right}
.tokopedia-only{display:none}
.market-additional-total{padding:9px 13px;background:var(--ui-surface-soft);border-radius:10px}
.market-settlement-income{border:1px solid #86efac;background:#dcfce7;margin-top:10px;padding:14px;border-radius:12px}
.market-settlement-income b{font-size:22px;color:#15803d}
.market-input-note{display:block;margin-top:9px;color:var(--ui-text-soft);font-size:10px;text-align:center}
.user-role-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.user-role-checks label{display:flex;align-items:center;gap:8px;border:1px solid var(--ui-border);border-radius:9px;padding:9px 10px;background:var(--ui-surface);font-size:12px;cursor:pointer}
.user-role-checks label:has(input:checked){border-color:#60a5fa;background:rgba(37,99,235,.08);color:var(--bs-primary);font-weight:700}
.user-mini-badge,.user-role-badge,.user-access-badge{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:7px;border:1px solid #bfdbfe!important;background:#eff6ff!important;color:#1e40af!important;font-size:10px;font-weight:750;line-height:1.2;white-space:nowrap}
.user-access-badge.is-owner{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important}
.user-access-badge.is-custom{background:#fef3c7!important;border-color:#fbbf24!important;color:#854d0e!important}
.user-access-badge.is-default{background:#f1f5f9!important;border-color:#cbd5e1!important;color:#334155!important}
html[data-theme="dark"] .user-mini-badge,html[data-theme="dark"] .user-role-badge{background:#172c4a!important;border-color:#315782!important;color:#bfdbfe!important}
html[data-theme="dark"] .user-access-badge.is-default{background:#1e293b!important;border-color:#475569!important;color:#e2e8f0!important}
.market-extra-details{border-top:1px dashed var(--ui-border);margin-top:9px;padding-top:9px}
.market-extra-details summary{cursor:pointer;font-size:11px;font-weight:700;color:var(--ui-text-soft)}
@media(max-width:700px){.market-settlement-fields label,.market-direct-row,.market-direct-row>label{grid-template-columns:1fr}.market-settlement-fields .form-control,.market-direct-row>label .form-control{text-align:left}.market-direct-row>b{text-align:left}.market-settlement-row{align-items:flex-start}}

/* v3.54 — Import Resi Marketplace */
.order-title-with-action{flex-wrap:wrap}
.order-label-import{border:1px solid rgba(37,99,235,.25);background:rgba(37,99,235,.025);border-radius:13px;padding:14px;margin-bottom:14px}
.order-label-import[hidden],.order-import-preview[hidden]{display:none!important}
.order-label-import-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}
.order-label-import-head strong{display:block;font-size:13px}.order-label-import-head small{display:block;color:var(--ui-text-soft);font-size:10px;margin-top:2px}
.order-import-status{font-size:11px;margin-top:10px}.order-import-status.is-success{color:#16803c}.order-import-status.is-warning{color:#9a6700}.order-import-status.is-danger{color:#b42318}
.order-import-preview{border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-surface);padding:12px;margin-top:10px}
.order-import-preview-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:9px;border-bottom:1px dashed var(--ui-border)}
.order-import-preview-head span{font-size:10px;color:var(--ui-text-soft)}
.order-import-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.order-import-grid>div{padding:8px;border:1px solid var(--ui-border);border-radius:8px}.order-import-grid .span-2{grid-column:span 2}
.order-import-grid small{display:block;color:var(--ui-text-soft);font-size:9px}.order-import-grid strong{display:block;font-size:11px;word-break:break-word}
.order-import-items-title{font-size:10px;font-weight:800;color:var(--ui-text-soft);text-transform:uppercase;letter-spacing:.04em;margin:12px 0 6px}
.order-import-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 9px;border:1px solid var(--ui-border);border-radius:8px;margin-bottom:6px}
.order-import-item strong{display:block;font-size:11px}.order-import-item small{display:block;color:var(--ui-text-soft);font-size:9px}
.order-import-manual summary{cursor:pointer;color:var(--ui-text-soft);font-size:10px}
@media(max-width:767px){.order-import-grid{grid-template-columns:1fr 1fr}.order-import-grid .span-2{grid-column:1/-1}.order-title-with-action .ms-auto{width:100%;margin-left:0!important}}

/* v3.54 clipboard paste enhancement */
.order-clipboard-zone{border:2px dashed rgba(37,99,235,.35);border-radius:14px;min-height:180px;display:grid;place-items:center;padding:16px;background:rgba(37,99,235,.025);cursor:pointer;outline:none;transition:.15s ease}
.order-clipboard-zone:hover,.order-clipboard-zone:focus{border-color:var(--bs-primary);background:rgba(37,99,235,.05)}
.order-clipboard-empty{text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--ui-text-soft)}
.order-clipboard-empty>i{font-size:34px;color:var(--bs-primary)}
.order-clipboard-empty strong{font-size:14px;color:var(--ui-heading)}
.order-clipboard-empty span{font-size:11px}
.order-clipboard-empty small{font-size:10px}
.order-clipboard-empty kbd{font-size:10px}
.order-clipboard-preview{width:100%;display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:12px}
.order-clipboard-preview[hidden],.order-clipboard-empty[hidden]{display:none!important}
.order-clipboard-preview img{width:120px;height:120px;object-fit:contain;border:1px solid var(--ui-border);border-radius:9px;background:white}
.order-clipboard-preview strong{display:block;font-size:12px}
.order-clipboard-preview small{display:block;color:var(--ui-text-soft);font-size:10px;margin-top:3px}
@media(max-width:700px){.order-clipboard-preview{grid-template-columns:80px minmax(0,1fr) auto}.order-clipboard-preview img{width:80px;height:80px}}

/* v3.56.29 - Dashboard pekerjaan berdasarkan role */
.work-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.work-dashboard-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto 20px;align-items:center;gap:13px;min-height:112px;padding:17px;border:1px solid var(--ui-border);border-radius:15px;background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);text-decoration:none;color:var(--ui-text)!important;transition:.16s ease}
.work-dashboard-card:hover{transform:translateY(-2px);box-shadow:var(--ui-shadow);border-color:#93c5fd}
.work-dashboard-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:var(--ui-primary-soft);color:var(--ui-primary);font-size:20px}
.work-dashboard-copy{display:flex;flex-direction:column;min-width:0}.work-dashboard-copy small{font-size:9px;letter-spacing:.1em;font-weight:850;color:var(--ui-primary)}.work-dashboard-copy strong{font-size:15px;color:var(--ui-heading);margin:3px 0}.work-dashboard-copy em{font-size:10px;color:var(--ui-text-soft);font-style:normal}
.work-dashboard-count{font-size:28px;font-weight:850;color:var(--ui-heading)}.work-dashboard-arrow{color:var(--ui-text-soft)}
.work-dashboard-card.tone-danger .work-dashboard-icon{background:#fee2e2;color:#dc2626}.work-dashboard-card.tone-warning .work-dashboard-icon{background:#fef3c7;color:#d97706}.work-dashboard-card.tone-success .work-dashboard-icon{background:#dcfce7;color:#16a34a}.work-dashboard-card.tone-info .work-dashboard-icon{background:#cffafe;color:#0891b2}
html[data-theme="dark"] .work-dashboard-card.tone-danger .work-dashboard-icon{background:#3f1d24;color:#fca5a5}html[data-theme="dark"] .work-dashboard-card.tone-warning .work-dashboard-icon{background:#3b2b17;color:#fcd34d}html[data-theme="dark"] .work-dashboard-card.tone-success .work-dashboard-icon{background:#153524;color:#86efac}html[data-theme="dark"] .work-dashboard-card.tone-info .work-dashboard-icon{background:#123442;color:#67e8f9}
@media(max-width:850px){.work-dashboard-grid{grid-template-columns:1fr}}@media(max-width:520px){.work-dashboard-card{grid-template-columns:42px minmax(0,1fr) auto}.work-dashboard-arrow{display:none}.work-dashboard-icon{width:42px;height:42px}}

/* v3.56.30 - Monitoring karyawan */
.presence-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.presence-summary>div{display:grid;grid-template-columns:1fr auto;align-items:center;padding:15px 17px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);box-shadow:var(--ui-shadow-sm)}.presence-summary span{font-size:12px;font-weight:800;color:var(--ui-heading)}.presence-summary strong{grid-row:1/3;grid-column:2;font-size:28px}.presence-summary small{font-size:10px;color:var(--ui-text-soft)}.presence-summary .is-online strong{color:#16a34a}.presence-summary .is-idle strong{color:#d97706}.presence-summary .is-offline strong{color:#64748b}
.presence-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}.presence-badge i{width:7px;height:7px;border-radius:50%;background:currentColor}.presence-badge.is-online{background:#dcfce7;color:#15803d}.presence-badge.is-idle{background:#fef3c7;color:#b45309}.presence-badge.is-offline{background:#e2e8f0;color:#475569}.monitor-path{font-size:11px;color:var(--ui-heading);word-break:break-word}.monitor-work-count{font-size:18px;font-weight:850;color:var(--ui-primary)}
.monitor-timeline{margin-top:14px}.monitor-timeline>div{display:grid;grid-template-columns:12px 1fr;gap:10px;position:relative;padding-bottom:13px}.monitor-timeline>div>span{width:9px;height:9px;border-radius:50%;background:var(--ui-primary);margin-top:5px}.monitor-timeline>div>p{margin:0;font-size:11px;color:var(--ui-text)}.monitor-timeline>div>p small{display:block;color:var(--ui-text-soft);margin-top:2px}
html[data-theme="dark"] .presence-badge.is-online{background:#153524;color:#86efac}html[data-theme="dark"] .presence-badge.is-idle{background:#3b2b17;color:#fcd34d}html[data-theme="dark"] .presence-badge.is-offline{background:#26374e;color:#cbd5e1}
@media(max-width:700px){.presence-summary{grid-template-columns:1fr}}

/* v3.56.32 - Dokumentasi proses order */
.process-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-bottom:12px}.process-photo-box{margin-top:14px;padding:14px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface-2)}.process-photo-box>div:first-child strong,.process-photo-box>div:first-child small{display:block}.process-photo-box>div:first-child small{color:var(--ui-text-soft);font-size:10px;margin-top:2px}.process-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:11px}.process-photo-grid label{font-size:11px;font-weight:700}.process-photo-grid label span{display:block;margin-bottom:5px}.process-inline-form{display:grid;gap:7px;min-width:320px}.process-mini-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.process-mini-photos label{display:flex;flex-direction:column;font-size:9px;color:var(--ui-text-soft)}.process-mini-photos input{font-size:9px;max-width:115px}
@media(max-width:700px){.process-search,.process-photo-grid{grid-template-columns:1fr}.process-mini-photos{grid-template-columns:1fr}.process-mini-photos input{max-width:none}}
.order-sablon-box{border:1px solid var(--border);border-radius:14px;background:var(--panel);overflow:hidden}
.order-sablon-toggle{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer}.order-sablon-toggle span{display:flex;flex-direction:column}.order-sablon-toggle small{color:var(--text-muted)}
.sablon-unit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px 16px}.sablon-unit-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;border:1px solid #b9d5ff;border-radius:12px;background:#f4f8ff}.sablon-unit-card>div:first-child{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px}.sablon-unit-card>div:first-child span,.sablon-unit-card label{font-size:.8rem;color:var(--text-muted)}.sablon-unit-card label input,.sablon-unit-card label textarea{margin-top:4px}.sablon-unit-card .span-2{grid-column:1/-1}
[data-theme="dark"] .sablon-unit-card{background:#17243a;border-color:#31547f}
@media(max-width:900px){.sablon-unit-list{grid-template-columns:1fr}}@media(max-width:560px){.sablon-unit-card{grid-template-columns:1fr}.sablon-unit-card .span-2{grid-column:auto}}
.sablon-search{grid-template-columns:minmax(260px,1fr) 210px auto}.sablon-thumb{width:76px;height:60px;object-fit:cover;border-radius:9px;border:1px solid var(--border);background:#fff}.sablon-action{display:grid;grid-template-columns:minmax(145px,1fr) auto auto;gap:6px;min-width:340px}.sablon-action .btn{white-space:nowrap}@media(max-width:700px){.sablon-search{grid-template-columns:1fr}.sablon-action{min-width:300px}}

/* v3.56.37 — Warehouse ACC history + QC per Box */
.qc-box-workflow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.qc-work-column{border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);padding:12px;min-width:0}
.qc-work-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:9px}
.qc-work-title strong{display:block;font-size:12px}.qc-work-title small{display:block;color:var(--ui-text-soft);font-size:9px;margin-top:2px}
.qc-box-card-list{display:grid;gap:7px}
.qc-box-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--ui-border);border-radius:9px;text-decoration:none;color:inherit;background:rgba(127,127,127,.02)}
.qc-box-card:hover,.qc-box-card.active{border-color:var(--bs-primary);background:rgba(13,110,253,.06)}
.qc-box-card>div:first-child{min-width:0}.qc-box-card strong{display:block;font-size:11px}.qc-box-card small{display:block;color:var(--ui-text-soft);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qc-box-card>div:last-child{text-align:right;flex:0 0 auto}.qc-box-card>div:last-child span{display:block;font-size:8px;color:var(--ui-text-soft)}
.qc-print-card:hover{border-color:var(--ui-border);background:rgba(127,127,127,.02)}
.qc-select-box-empty{min-height:180px;border:1px dashed var(--ui-border);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--ui-text-soft)}
.qc-select-box-empty i{font-size:30px;color:var(--bs-primary);margin-bottom:8px}.qc-select-box-empty strong{color:var(--ui-text);font-size:15px}.qc-select-box-empty span{font-size:10px;max-width:520px;margin-top:4px}
@media(max-width:900px){.qc-box-workflow{grid-template-columns:1fr}}

/* v3.56.37.2 — QC Classic + riwayat hasil per Box */
.qc-box-progress{border:1px solid var(--ui-border);border-radius:12px;padding:12px;background:var(--ui-surface)}
.qc-box-progress-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.qc-box-progress-title>div{display:flex;flex-direction:column}.qc-box-progress-title small,.qc-box-progress-title span{font-size:9px;color:var(--ui-text-soft);font-weight:700}.qc-box-progress-title strong{font-size:15px}
.qc-progress-cards{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:7px;margin-bottom:10px}
.qc-progress-cards>div{border:1px solid var(--ui-border);border-radius:9px;padding:8px 10px;display:flex;justify-content:space-between;align-items:center;background:rgba(127,127,127,.025)}
.qc-progress-cards span{font-size:9px;color:var(--ui-text-soft);font-weight:700}.qc-progress-cards strong{font-size:15px}.qc-progress-cards .is-pass strong{color:#198754}.qc-progress-cards .is-reject strong{color:#dc3545}
.qc-result-filters{display:flex;gap:6px;flex-wrap:wrap}.qc-result-filters a{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:8px;border:1px solid var(--ui-border);text-decoration:none;color:var(--ui-text-soft);font-size:10px;font-weight:800;background:var(--ui-surface)}
.qc-result-filters a span{display:inline-flex;min-width:18px;height:18px;padding:0 5px;align-items:center;justify-content:center;border-radius:10px;background:rgba(127,127,127,.08);font-size:9px}.qc-result-filters a.active{border-color:var(--bs-primary);color:var(--bs-primary);background:rgba(13,110,253,.06)}
.qc-row-done{background:rgba(127,127,127,.018)}.qc-row-done .sn-code{opacity:.8}.qc-result-cell{min-width:135px}.qc-result-cell>small{display:block;margin-top:3px;font-size:8px;color:var(--ui-text-soft)}
.qc-result-badge{display:inline-flex;align-items:center;gap:4px;border-radius:20px;padding:4px 8px;font-size:9px;font-weight:800}.qc-result-badge.is-pending{background:rgba(108,117,125,.1);color:#6c757d}.qc-result-badge.is-passed{background:rgba(25,135,84,.1);color:#198754}.qc-result-badge.is-rejected{background:rgba(220,53,69,.1);color:#dc3545}
@media(max-width:767.98px){.qc-box-progress-title{align-items:flex-start}.qc-progress-cards{grid-template-columns:repeat(2,1fr)}.qc-result-filters a{flex:1 1 auto;justify-content:center}}

/* v3.56.38 — Owner Stock Dashboard + Stock Availability */
.owner-stock-overview{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:12px;
 margin:14px 0;
}
.owner-stock-stat{
 display:flex;
 align-items:center;
 gap:12px;
 min-width:0;
 padding:14px 15px;
 border:1px solid var(--ui-border);
 border-radius:14px;
 background:var(--ui-surface);
 color:inherit;
 text-decoration:none;
 box-shadow:var(--ui-shadow-sm);
 transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.owner-stock-stat:hover{
 color:inherit;
 transform:translateY(-2px);
 border-color:#9fb9dd;
 box-shadow:0 8px 20px rgba(15,23,42,.09);
}
.owner-stock-stat>span{
 width:42px;height:42px;flex:0 0 42px;
 display:grid;place-items:center;
 border-radius:11px;
 background:#ecfdf5;color:#059669;
 font-size:18px;
}
.owner-stock-stat>div{display:flex;flex-direction:column;min-width:0}
.owner-stock-stat small{font-size:9px;font-weight:800;letter-spacing:.06em;color:var(--ui-text-soft)}
.owner-stock-stat strong{font-size:23px;line-height:1.1;color:var(--ui-heading);margin:3px 0}
.owner-stock-stat em{font-style:normal;font-size:9px;color:var(--ui-text-soft)}
.owner-stock-warning>span{background:#fff7ed;color:#ea580c}
.owner-stock-danger>span{background:#fef2f2;color:#dc2626}
html[data-theme="dark"] .owner-stock-stat>span{background:#11362b;color:#6ee7a8}
html[data-theme="dark"] .owner-stock-warning>span{background:#3b2718;color:#fb923c}
html[data-theme="dark"] .owner-stock-danger>span{background:#421d24;color:#f87171}

.owner-stock-chart-panel{margin:14px 0}
.owner-stock-chart-panel .modern-panel-head p{
 margin:3px 0 0;
 color:var(--ui-text-soft);
 font-size:9px;
 font-weight:400;
}
.owner-stock-chart-wrap{height:290px;min-height:290px}

.owner-stock-filter-cards{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:8px;
 margin:0 0 14px;
}
.owner-stock-filter-cards a{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
 padding:10px 12px;
 border:1px solid var(--ui-border);
 border-radius:10px;
 background:var(--ui-surface);
 color:var(--ui-text);
 text-decoration:none;
}
.owner-stock-filter-cards a:hover{border-color:#9fb9dd;color:var(--ui-heading)}
.owner-stock-filter-cards a.active{
 border-color:var(--ui-primary);
 background:rgba(37,99,235,.07);
 color:var(--ui-primary);
}
.owner-stock-filter-cards span{font-size:10px;font-weight:800}
.owner-stock-filter-cards strong{font-size:17px;line-height:1;color:var(--ui-heading)}
.owner-stock-filter-cards a.active strong{color:var(--ui-primary)}
.owner-stock-status{
 display:inline-flex;
 align-items:center;
 padding:4px 7px;
 border-radius:7px;
 font-size:9px;
 font-weight:900;
 letter-spacing:.04em;
 white-space:nowrap;
}
.owner-stock-status.is-ok{background:#dcfce7;color:#15803d}
.owner-stock-status.is-low{background:#ffedd5;color:#c2410c}
.owner-stock-status.is-out{background:#fee2e2;color:#b91c1c}
html[data-theme="dark"] .owner-stock-status.is-ok{background:#153c2b;color:#6ee7a8}
html[data-theme="dark"] .owner-stock-status.is-low{background:#3b2718;color:#fb923c}
html[data-theme="dark"] .owner-stock-status.is-out{background:#421d24;color:#f87171}

@media(max-width:1100px){
 .owner-stock-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
 .owner-stock-filter-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:575.98px){
 .owner-stock-overview,.owner-stock-filter-cards{grid-template-columns:1fr}
 .owner-stock-chart-wrap{height:330px}
}

/* v3.56.38.1 — Offline buyer phone restored */
.offline-phone-field .form-control{min-width:0}
@media(max-width:991.98px){
  .offline-phone-field,.buyer-address-field{width:100%}
}

/* v3.56.39 — Order retain form + Offline Invoice */
.order-validation-alert{margin:0 0 12px}
.order-validation-alert small{opacity:.8}
.offline-order-meta{border-left:3px solid rgba(37,99,235,.35)}
.offline-order-meta .order-simple-title>span{display:grid;place-items:center}
.offline-order-meta .input-group-text{min-width:42px;justify-content:center}
.order-simple-form .is-invalid{border-color:#dc3545!important;box-shadow:0 0 0 .18rem rgba(220,53,69,.10)!important}
@media(max-width:991.98px){
 .offline-order-meta .col-lg-4{width:100%}
}

/* v3.56.40 — Offline Payment + Sablon readiness */
.payment-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.payment-summary-grid>div{border:1px solid var(--ui-border);border-radius:10px;padding:12px;background:var(--ui-surface-soft)}
.payment-summary-grid small{display:block;color:var(--ui-text-soft);font-size:10px;font-weight:700}
.payment-summary-grid strong{display:block;margin-top:4px;font-size:18px;color:var(--ui-heading)}
.pay-status{font-size:13px!important}.pay-status.LUNAS{color:#15803d!important}.pay-status.DP{color:#0369a1!important}.pay-status.BELUM_LUNAS{color:#b91c1c!important}
@media(max-width:575.98px){.payment-summary-grid{grid-template-columns:1fr}}

/* v3.56.40.2 — QC result filter visible */
.qc-main-filter{grid-template-columns:minmax(260px,1.2fr) minmax(300px,1fr) minmax(180px,.55fr) auto auto!important}
.qc-main-filter>div{min-width:0}
.qc-main-filter .form-text{display:block;margin-top:4px;font-size:9px;color:var(--ui-text-soft)}
#qcResultFilter:disabled{background:var(--ui-surface-soft);opacity:.72;cursor:not-allowed}
@media(max-width:1100px){
 .qc-main-filter{grid-template-columns:1fr 1fr!important}
 .qc-main-filter>button{align-self:end}
}
@media(max-width:700px){
 .qc-main-filter{grid-template-columns:1fr!important}
}

/* V3.4.7 — Sablon status pills (independent from Bootstrap badge colors) */
.sablon-status-pill,.sablon-payment-pill{
 display:inline-flex!important;align-items:center;gap:5px;
 padding:5px 8px;border-radius:999px;
 font-size:10px!important;font-weight:800!important;line-height:1.2!important;
 white-space:nowrap;visibility:visible!important;opacity:1!important;
}
.sablon-status-pill.is-wait-pay{background:#eef2f7!important;color:#475569!important;border:1px solid #cbd5e1}
.sablon-status-pill.is-ready{background:#fff7ed!important;color:#c2410c!important;border:1px solid #fed7aa}
.sablon-status-pill.is-process{background:#e0f2fe!important;color:#0369a1!important;border:1px solid #bae6fd}
.sablon-status-pill.is-done{background:#dcfce7!important;color:#166534!important;border:1px solid #bbf7d0}
.sablon-payment-pill.is-unpaid{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fecaca}
.sablon-payment-pill.is-dp{background:#e0f2fe!important;color:#075985!important;border:1px solid #bae6fd}
.sablon-payment-pill.is-paid{background:#dcfce7!important;color:#166534!important;border:1px solid #bbf7d0}
html[data-theme="dark"] .sablon-status-pill.is-wait-pay{background:#263244!important;color:#d1d5db!important;border-color:#475569}
html[data-theme="dark"] .sablon-status-pill.is-ready{background:#3a2a16!important;color:#fdba74!important;border-color:#7c4a16}
html[data-theme="dark"] .sablon-status-pill.is-process{background:#163047!important;color:#7dd3fc!important;border-color:#24577a}
html[data-theme="dark"] .sablon-status-pill.is-done{background:#173927!important;color:#86efac!important;border-color:#25613d}
html[data-theme="dark"] .sablon-payment-pill.is-unpaid{background:#421d24!important;color:#fca5a5!important;border-color:#7f1d1d}
html[data-theme="dark"] .sablon-payment-pill.is-dp{background:#163047!important;color:#7dd3fc!important;border-color:#24577a}
html[data-theme="dark"] .sablon-payment-pill.is-paid{background:#173927!important;color:#86efac!important;border-color:#25613d}

/* V3.4.7 — Owner Order Edit/Delete */
.owner-order-actions{display:flex;gap:5px;flex-wrap:wrap;padding-top:6px;border-top:1px dashed var(--ui-border)}
.owner-edit-section{padding:14px 0;border-bottom:1px solid var(--ui-border)}
.owner-edit-section:first-child{padding-top:0}
.owner-edit-title{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:12px}
.owner-edit-title strong{font-size:13px;color:var(--ui-heading)}
.owner-edit-title small{font-size:9px;color:var(--ui-text-soft);max-width:600px;text-align:right}
.owner-edit-items td{vertical-align:middle}
.owner-edit-items input{min-width:105px}
@media(max-width:767px){.owner-edit-title{display:block}.owner-edit-title small{display:block;text-align:left;margin-top:3px}.owner-order-actions{margin-top:8px}}

/* V3.4.7 — Simple Order Form */
.simple-order-page{max-width:1120px;margin:0 auto}
.simple-order-card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:14px;overflow:hidden;box-shadow:var(--ui-shadow-sm)}
.simple-order-head{display:flex;align-items:center;gap:9px;background:#1677ff;color:#fff;padding:12px 16px;font-size:15px}
.simple-order-body{padding:16px}
.simple-order-body .form-label{font-size:10px;font-weight:800;color:var(--ui-text)}
.simple-order-body .form-text{display:block;margin-top:3px;font-size:9px;color:var(--ui-text-soft)}
.simple-divider{height:1px;background:var(--ui-border);margin:18px 0}
.simple-section-title{display:flex;align-items:center;gap:8px;margin-bottom:13px;color:#1677ff}.simple-section-title strong{font-size:14px}.simple-section-title span{font-size:9px;color:var(--ui-text-soft);margin-left:auto}
.simple-product-row{background:var(--ui-surface-soft);border:1px solid var(--ui-border);border-radius:10px;padding:11px;margin-bottom:9px}
.simple-product-number{font-size:10px;font-weight:900;color:var(--ui-text-soft);margin-bottom:7px}
.simple-product-grid{display:grid;grid-template-columns:minmax(230px,2fr) 110px 170px 160px 42px;gap:9px;align-items:start}
.simple-product-grid>div{min-width:0}
.simple-product-grid label{min-height:18px;display:flex;align-items:flex-end}
.simple-product-grid .sale-conversion-note{display:block;min-height:30px;line-height:15px;margin-top:3px}
.simple-product-grid .remove{align-self:start;margin-top:22px}
.simple-product-grid label{font-size:9px;font-weight:800;margin-bottom:4px}.simple-product-grid .remove{height:38px}
.simple-total-box{margin:14px 0 4px auto;max-width:520px;border-top:2px solid var(--ui-border);padding-top:10px}
.simple-total-box>div{display:grid;grid-template-columns:1fr minmax(160px,220px);align-items:center;gap:12px;padding:5px 0}
.simple-total-box>div>span{font-size:10px;text-align:right}.simple-total-box strong{text-align:right;font-size:14px;color:var(--ui-heading)}
.simple-sablon-toggle{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.simple-sablon-toggle input{margin-top:4px}.simple-sablon-toggle span{display:flex;flex-direction:column}.simple-sablon-toggle strong{font-size:12px}.simple-sablon-toggle small{font-size:9px;color:var(--ui-text-soft)}
.simple-sablon-fields{margin-top:12px;padding:12px;border:1px dashed var(--ui-border);border-radius:10px;background:var(--ui-surface-soft)}
.simple-order-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.status-danger{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}
@media(max-width:900px){.simple-product-grid{grid-template-columns:1fr 90px 1fr}.simple-product-grid>div:nth-child(4){grid-column:1/3}.simple-product-grid .remove{grid-column:3}}
@media(max-width:600px){.simple-product-grid{grid-template-columns:1fr 1fr}.simple-product-grid>div:first-child{grid-column:1/-1}.simple-product-grid>div:nth-child(4){grid-column:auto}.simple-product-grid .remove{grid-column:auto}.simple-total-box>div{grid-template-columns:1fr}.simple-total-box>div>span,.simple-total-box strong{text-align:left}}

/* V3.4.7 — Offline negotiation discount */
.offline-discount-row.simple-final-total{border-top:1px dashed var(--ui-border);margin-top:4px;padding-top:9px}
.offline-discount-row.simple-final-total strong{font-size:18px;color:var(--ui-primary)}

/* V3.4.7 — Go Live / Stok Opname */
.go-live-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.go-live-counts>div{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface-soft)}
.go-live-counts span{font-size:9px;color:var(--ui-text-soft);overflow:hidden;text-overflow:ellipsis}.go-live-counts strong{font-size:12px}

/* V3.4.7 — Ringkasan Data Produk & Aset Modal Owner */
.product-owner-summary{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:10px;
 margin:0 0 12px;
}
.product-summary-card{
 min-width:0;
 display:flex;
 align-items:center;
 gap:11px;
 padding:13px 14px;
 border:1px solid var(--ui-border);
 border-radius:12px;
 background:var(--ui-surface);
 box-shadow:var(--ui-shadow-sm);
}
.product-summary-icon{
 flex:0 0 38px;
 width:38px;height:38px;
 display:grid;place-items:center;
 border-radius:10px;
 background:var(--ui-surface-soft);
 color:var(--ui-primary);
 font-size:17px;
}
.product-summary-card>div:last-child{min-width:0}
.product-summary-card span{
 display:block;
 color:var(--ui-text-soft);
 font-size:9px;
 font-weight:800;
 text-transform:uppercase;
 letter-spacing:.25px;
}
.product-summary-card strong{
 display:block;
 margin-top:3px;
 color:var(--ui-heading);
 font-size:19px;
 line-height:1.15;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.product-summary-card small{
 display:block;
 margin-top:3px;
 color:var(--ui-text-soft);
 font-size:8.5px;
 line-height:1.25;
}
.product-asset-card{border-color:rgba(22,119,255,.32)}
.product-asset-card .product-summary-icon{background:rgba(22,119,255,.09)}
.product-asset-note{
 display:flex;
 align-items:center;
 gap:7px;
 margin:-3px 0 12px;
 padding:7px 10px;
 border-radius:8px;
 background:var(--ui-surface-soft);
 color:var(--ui-text-soft);
 font-size:9px;
}
.product-asset-note i{color:var(--ui-primary)}
@media(max-width:1180px){.product-owner-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.product-owner-summary{grid-template-columns:1fr}.product-summary-card strong{font-size:17px}}

/* V3.4.7 — Pemisahan Kepala Gudang & Admin */
.role-split-note{
 margin-top:8px;padding:8px 9px;border:1px dashed var(--ui-border);border-radius:8px;
 background:var(--ui-surface-soft);font-size:8.7px;line-height:1.45;color:var(--ui-text-soft)
}
.role-split-note strong{color:var(--ui-heading)}

/* V3.4.7 — Minimum Stok & indikator Stok Menipis */
.stock-indicator-help{
 display:flex;flex-wrap:wrap;gap:8px 14px;
 margin:8px 0 12px;padding:9px 12px;
 border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);
 font-size:9px;color:var(--ui-text-soft)
}
.stock-indicator-help span{display:inline-flex;align-items:center;gap:5px}
.stock-indicator-help strong{color:var(--ui-heading)}
.stock-indicator-help .bi-check-circle-fill{color:#198754}
.stock-indicator-help .bi-exclamation-triangle-fill{color:#f59f00}
.stock-indicator-help .bi-x-circle-fill{color:#dc3545}

/* V3.4.7 — HPP, Marketplace Fee & Profit Guard */
.marketplace-fee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.marketplace-fee-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}
.marketplace-fee-head>div{display:flex;flex-direction:column;gap:3px}.marketplace-brand{font-size:18px;font-weight:900;color:var(--ui-heading)}
.marketplace-fee-head small{color:var(--ui-text-soft);font-size:9px}.fee-total-preview{font-size:22px;color:var(--ui-primary)}
.marketplace-reference-note{margin-top:14px;padding:9px 11px;border-radius:8px;background:rgba(22,119,255,.07);font-size:9px;color:var(--ui-text-soft);line-height:1.45}
.marketplace-reference-note.warning{background:rgba(245,159,0,.09)}
.marketplace-save-bar{display:flex;justify-content:space-between;align-items:center;gap:12px}.marketplace-save-bar>div{display:flex;flex-direction:column}.marketplace-save-bar small{color:var(--ui-text-soft)}

.profit-guard-panel{border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface-soft);padding:12px}
.profit-guard-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}
.profit-guard-head>div{display:flex;flex-direction:column}.profit-guard-head strong{font-size:12px;color:var(--ui-heading)}.profit-guard-head small{font-size:8.5px;color:var(--ui-text-soft)}
.profit-guard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.profit-result{min-width:0;padding:9px;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-surface)}
.profit-result-title{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:7px}.profit-result-title strong{font-size:10px}
.profit-metrics{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;font-size:8px;color:var(--ui-text-soft)}.profit-metrics b{color:var(--ui-heading);font-weight:800}
.profit-status{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;border-radius:999px;font-size:7.5px;font-weight:900;white-space:nowrap}
.status-safe{background:rgba(25,135,84,.13);color:#198754}.status-thin{background:rgba(245,159,0,.15);color:#a66a00}.status-bep{background:rgba(108,117,125,.13);color:#687078}
.status-loss,.status-below_hpp{background:rgba(220,53,69,.13);color:#dc3545}.status-unconfigured{background:rgba(108,117,125,.13);color:#687078}
.tier-profit-mini{grid-column:1/-1;padding:4px 6px;border-radius:6px;background:var(--ui-surface-soft);font-size:7.5px;color:var(--ui-text-soft)}
.tier-profit-mini small{margin-left:4px}
.bundle-profit-guard{margin-top:9px;padding:8px;border:1px dashed var(--ui-border);border-radius:8px;display:grid;gap:5px;background:var(--ui-surface-soft)}
.bundle-profit-title{font-size:8.5px;color:var(--ui-text-soft)}.bundle-profit-title strong{color:var(--ui-heading)}
.bundle-profit-guard>div:not(.bundle-profit-title){font-size:8px}
.profit-list-badge{display:inline-flex;margin-left:3px;padding:1px 4px;border-radius:999px;font-size:6.5px;font-weight:900;vertical-align:1px}
.profit-list-badge.is-safe{background:rgba(25,135,84,.13);color:#198754}.profit-list-badge.is-thin{background:rgba(245,159,0,.15);color:#a66a00}
.profit-list-badge.is-bep,.profit-list-badge.is-unknown{background:rgba(108,117,125,.12);color:#687078}.profit-list-badge.is-loss{background:rgba(220,53,69,.13);color:#dc3545}
@media(max-width:1050px){.marketplace-fee-grid,.profit-guard-grid{grid-template-columns:1fr}.marketplace-save-bar{align-items:flex-start;flex-direction:column}}

/* V3.4.7 — Marketplace Profit Guard calibrated engine */
.marketplace-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:10px}
.marketplace-profile-box{min-width:0;padding:10px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface)}
.marketplace-profile-title{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.marketplace-profile-title strong{font-size:10px;color:var(--ui-heading)}
.marketplace-profile-title small{font-size:8px;color:var(--ui-text-soft);line-height:1.35}
.market-program-checks{display:flex;flex-wrap:wrap;align-items:center;gap:7px;height:100%;padding-top:18px}
.market-program-checks label{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid var(--ui-border);border-radius:7px;background:var(--ui-surface-soft);font-size:8.5px;font-weight:700;color:var(--ui-heading);cursor:pointer}
.market-program-checks input{margin:0}
.profit-breakdown{margin:-2px 0 7px;padding:5px 6px;border-radius:6px;background:var(--ui-surface-soft);font-size:7.4px;line-height:1.4;color:var(--ui-text-soft)}
.marketplace-calibrated{display:inline-flex;padding:4px 7px;border-radius:999px;background:rgba(25,135,84,.12);color:#198754;font-size:7px;font-weight:900;white-space:nowrap}
@media(max-width:1050px){.marketplace-profile-grid{grid-template-columns:1fr}}
/* V3.6.6 — Minimum Selling Price + Minimum Order Qty Helper */
.market-min-helper{display:flex;flex-direction:column;gap:2px;margin-top:5px;line-height:1.25}.market-min-helper small{font-size:10px;color:var(--ui-muted)}.market-min-helper .text-danger{color:#dc3545!important}.market-min-helper .text-success{color:#198754!important}

/* V3.6.6 — Data Produk filter + pagination */
.product-filter-toolbar{display:grid;grid-template-columns:minmax(260px,2fr) repeat(5,minmax(125px,1fr)) auto auto auto;gap:8px;align-items:center;margin-bottom:12px}
.product-filter-search{min-width:0}
.product-filter-select{min-width:0;font-size:12px}
.product-per-page{white-space:nowrap}
.product-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 4px 2px;border-top:1px solid var(--ui-border);margin-top:8px}
.product-pagination-info{font-size:11px;color:var(--ui-text-soft)}
.product-page-links{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.product-page-btn{min-width:32px;height:32px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);color:var(--ui-heading);text-decoration:none;font-size:11px;font-weight:800}
.product-page-btn:hover{border-color:#0d6efd;color:#0d6efd}
.product-page-btn.active{background:#0d6efd;border-color:#0d6efd;color:#fff}
.product-page-btn.disabled{pointer-events:none;opacity:.4}
.product-page-dots{padding:0 3px;color:var(--ui-text-soft)}
@media(max-width:1450px){.product-filter-toolbar{grid-template-columns:minmax(260px,2fr) repeat(3,minmax(135px,1fr)) auto auto}.product-filter-status,.product-per-page{display:none}}
@media(max-width:1050px){.product-filter-toolbar{grid-template-columns:1fr 1fr}.product-filter-search{grid-column:1/-1}.product-filter-toolbar .btn{width:100%}.product-pagination{align-items:flex-start;flex-direction:column}.product-page-links{justify-content:flex-start}}
@media(max-width:620px){.product-filter-toolbar{grid-template-columns:1fr}.product-filter-search{grid-column:auto}.product-filter-status{display:block}}

/* V3.6.6 — Grosir non-bundling per channel */
.product-wholesale-head,.product-wholesale-row{grid-template-columns:110px 110px minmax(210px,1fr) minmax(230px,1fr) minmax(230px,1fr) 52px;gap:10px;align-items:start}
.product-wholesale-head{display:grid;padding:4px 0 8px;font-size:11px;font-weight:800;color:var(--ui-text-soft)}
.product-wholesale-row{display:grid;margin-bottom:12px}
.product-wholesale-row .tier-profit-mini{margin-top:6px;min-height:23px;font-size:10px;line-height:1.35}
.product-wholesale-row .tier-profit-mini small{display:block;margin-top:3px;color:var(--ui-text-soft)}
@media(max-width:1100px){.product-wholesale-row{grid-template-columns:1fr 1fr}.product-wholesale-row>div{grid-column:span 1}.product-wholesale-row>.remove-tier{grid-column:2;justify-self:end}}
@media(max-width:650px){.product-wholesale-row{grid-template-columns:1fr}.product-wholesale-row>*{grid-column:1!important}.product-wholesale-row>.remove-tier{justify-self:end}}

/* V3.6.6 — Smart Sorting global */
.smart-sort-select{min-width:175px;font-size:12px}
.smart-process-search{grid-template-columns:minmax(240px,1fr) minmax(175px,230px) auto!important}
.smart-sort-note{font-size:10px;color:var(--ui-text-soft)}
@media(max-width:760px){.smart-process-search{grid-template-columns:1fr!important}.smart-sort-select{width:100%;min-width:0}}

/* V3.6.6 — Read-Only View Mode */
.readonly-detail-page{max-width:1180px}
.readonly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:4px}
.readonly-field{border:1px solid var(--ui-border);background:var(--ui-surface-soft,#f8fafc);border-radius:12px;padding:12px;min-height:74px}
.readonly-field>span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-text-soft);margin-bottom:5px}
.readonly-field>strong,.readonly-value{font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.readonly-photo-panel{display:flex;justify-content:center;padding:18px}
.readonly-hero-image{max-width:260px;max-height:240px;object-fit:contain;border-radius:14px;border:1px solid var(--ui-border)}
@media(max-width:900px){.readonly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.readonly-grid{grid-template-columns:1fr}.readonly-detail-page .module-titlebar{align-items:flex-start}}

/* V3.6.6 — Base Stock + Package Purchase/Sale */
.package-cost-preview,.purchase-unit-help{
  border:1px solid var(--ui-border);background:var(--ui-surface-soft,#f8fafc);
  border-radius:10px;padding:10px 12px;font-size:12px;color:var(--ui-text-soft);
}
.sale-unit-helper{min-height:18px;margin-top:3px}
.sale-unit-helper small{display:block;line-height:1.3}
.purchase-conversion{font-size:12px;line-height:1.35}
.purchase-conversion strong{display:block;color:var(--ui-text);font-size:13px}
.purchase-conversion small{display:block;color:var(--ui-text-soft);margin-top:2px}

/* v3.6.16 — QC filter layout refinement (UI only, no data/query changes) */
.qc-search-panel{margin-top:16px}
.qc-filter-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px 0}
.qc-filter-heading>div{display:flex;flex-direction:column;gap:3px}
.qc-filter-heading>div>span{font-size:11px;font-weight:900;letter-spacing:.045em;color:var(--ui-primary)}
.qc-filter-heading>div>small{font-size:10px;color:var(--ui-text-soft)}
.qc-page-limit{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ui-border);background:var(--ui-surface-2);color:var(--ui-text-soft);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;white-space:nowrap}
.qc-main-filter{display:grid!important;grid-template-columns:minmax(250px,1.2fr) minmax(280px,1fr) minmax(180px,.62fr) minmax(190px,.62fr)!important;gap:12px!important;align-items:start!important;padding:14px 16px 16px!important;border-bottom:1px solid var(--ui-border)}
.qc-main-filter .qc-filter-field{min-width:0}
.qc-main-filter label{display:block;font-size:10px;font-weight:800;color:var(--ui-text-soft);margin-bottom:6px}
.qc-main-filter .form-control,.qc-main-filter .form-select{height:40px}
.qc-main-filter .form-text{display:block;margin-top:5px;font-size:9px;line-height:1.35;color:var(--ui-text-soft);min-height:25px}
.qc-search-input{position:relative}
.qc-search-input>i{position:absolute;left:12px;top:50%;transform:translateY(-50%);z-index:2;color:var(--ui-text-soft);pointer-events:none}
.qc-search-input .form-control{padding-left:35px}
.qc-filter-submit{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:1px}
.qc-filter-submit .btn{min-width:160px;height:40px;font-weight:800}
#qcResultFilter:disabled{background:var(--ui-surface-soft);opacity:.72;cursor:not-allowed}
@media(max-width:1180px){
 .qc-main-filter{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
 .qc-filter-heading{flex-direction:column}
 .qc-main-filter{grid-template-columns:1fr!important}
 .qc-filter-submit{grid-column:auto}
 .qc-filter-submit .btn{width:100%}
}

/* v3.7.1 - histori proses & galeri foto */
.process-scope-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.process-scope-tabs .btn{border-radius:999px}.process-photo-links{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.process-photo-links .btn{font-size:10px;padding:3px 7px}.process-history-photos{margin-top:16px;padding:16px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface)}.process-history-photos-title{font-weight:800;margin-bottom:12px}.process-history-stage{margin-top:12px}.process-history-stage>strong{display:block;margin-bottom:7px}.process-history-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,180px));gap:10px}.process-history-photo-card{display:block;text-decoration:none;color:inherit;border:1px solid var(--ui-border);border-radius:10px;overflow:hidden;background:var(--ui-surface-2)}.process-history-photo-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.process-history-photo-card span{display:block;padding:6px 8px;font-size:11px;font-weight:700}.process-history-badge{font-size:10px}.sablon-thumb{cursor:zoom-in}
@media(max-width:700px){.process-scope-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.process-scope-tabs .btn{padding-left:6px;padding-right:6px}.process-history-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-photo-links .btn{flex:1 1 auto}.process-history-photos{padding:12px}}

/* v3.7.20 — Preview sebelum Submit + riwayat Pengeluaran lebih ringkas */
.process-detail-page{max-width:1380px}.process-context-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:16px;margin-bottom:16px}.process-summary-card{margin:0}.process-step-title{display:flex;align-items:center;gap:12px;margin-bottom:15px}.process-step-title>span{width:34px;height:34px;border-radius:10px;background:#0d6efd;color:#fff;display:grid;place-items:center;font-weight:900}.process-step-title strong{display:block;font-size:14px}.process-step-title small{display:block;color:var(--ui-text-soft);margin-top:2px}.process-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.process-meta-grid>div{border:1px solid var(--ui-border);border-radius:10px;padding:9px 10px;background:var(--ui-surface-2)}.process-meta-grid span,.process-item-row span{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-text-soft)}.process-meta-grid strong{font-size:12px}.process-item-list{display:flex;flex-direction:column;gap:8px}.process-item-row{display:grid;grid-template-columns:minmax(220px,1fr) 120px;gap:10px;align-items:center;border-top:1px solid var(--ui-border);padding-top:10px}.process-item-row>div:first-child small{display:block;color:var(--ui-text-soft);font-size:10px}.process-sn-list{grid-column:1/-1;padding:8px 10px;border-radius:8px;background:var(--ui-surface-2);overflow-wrap:anywhere}.process-sn-list strong{font-size:11px}.process-receipt-card{height:100%;border:1px solid var(--ui-border);border-radius:14px;padding:14px;background:var(--ui-surface)}.process-receipt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.process-receipt-head strong,.process-receipt-head small{display:block}.process-receipt-head small{font-size:10px;color:var(--ui-text-soft);margin-top:3px}.process-receipt-original{display:block;text-decoration:none;color:inherit;border:1px solid var(--ui-border);border-radius:10px;overflow:hidden;max-width:260px}.process-receipt-original img{display:block;width:100%;max-height:180px;object-fit:contain;background:#fff}.process-receipt-original span{display:block;padding:7px 9px;font-size:10px;font-weight:800}.process-history-photo-grid.compact{grid-template-columns:repeat(2,minmax(0,150px));margin-bottom:10px}.process-submit-panel{margin-top:16px}.process-submit-intro{display:flex;align-items:center;justify-content:space-between;gap:12px}.process-submit-intro strong,.process-submit-intro small{display:block}.process-submit-intro small{font-size:10px;color:var(--ui-text-soft);margin-top:3px}.process-confirm-area[hidden]{display:none!important}.process-preview-list{display:flex;flex-direction:column;gap:9px}.process-preview-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;padding:11px;border:1px solid var(--ui-border);border-radius:10px}.process-preview-list>div>small{grid-column:1/-1;color:var(--ui-text-soft);overflow-wrap:anywhere}.process-history-toolbar{padding:14px;margin-bottom:14px}.process-history-toolbar .process-search{margin:0}.process-search-field{position:relative}.process-search-field>i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ui-text-soft);z-index:2}.process-search-field .form-control{padding-left:35px}.process-history-panel{padding:0;overflow:hidden}.process-history-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--ui-border)}.process-history-heading strong,.process-history-heading small{display:block}.process-history-heading small{font-size:10px;color:var(--ui-text-soft);margin-top:2px}.process-history-count{font-size:10px;font-weight:800;padding:6px 9px;border:1px solid var(--ui-border);border-radius:999px;background:var(--ui-surface-2);white-space:nowrap}.process-history-table{margin:0}.process-history-table thead th{font-size:10px;text-transform:uppercase;letter-spacing:.035em;color:var(--ui-text-soft);white-space:nowrap}.process-history-table tbody td{padding-top:13px;padding-bottom:13px}.process-resi{font-weight:700;color:#0d6efd;margin-top:3px}.process-qty-chip{display:inline-flex;min-width:38px;justify-content:center;padding:5px 8px;border-radius:999px;background:var(--ui-surface-2);border:1px solid var(--ui-border);font-weight:800}.process-row-actions{display:flex;gap:6px;flex-wrap:wrap}.process-row-actions .btn{white-space:nowrap}
@media(max-width:900px){.process-context-grid{grid-template-columns:1fr}.process-submit-intro{align-items:stretch;flex-direction:column}.process-submit-intro .btn{width:100%}}@media(max-width:650px){.process-meta-grid{grid-template-columns:1fr}.process-item-row{grid-template-columns:1fr}.process-sn-list{grid-column:auto}.process-history-heading{align-items:flex-start}.process-history-photo-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* v3.7.21 — Order Detail lebih ringkas: aksi dipindah ke View, Sablon di bawah Retur & Garansi */
.order-history-table .order-view-btn{min-width:76px}.order-view-context{align-items:stretch}.order-view-products{overflow:hidden;padding:0}.order-view-total{margin-left:auto;max-width:390px;padding:14px 18px;display:grid;gap:7px}.order-view-total>div{display:flex;justify-content:space-between;gap:20px;color:var(--ui-text-soft);font-size:12px}.order-view-total strong{color:var(--ui-text);font-size:13px}.order-view-total .grand{border-top:1px solid var(--ui-border);padding-top:9px;margin-top:3px}.order-view-total .grand strong{font-size:16px}.order-stage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px}.order-stage-card{border:1px solid var(--ui-border);border-radius:12px;padding:12px;display:flex;gap:10px;align-items:center;background:var(--ui-surface-2)}.order-stage-card>i{font-size:20px;color:#f0a000}.order-stage-card.done>i{color:#17a673}.order-stage-card span,.order-stage-card strong{display:block}.order-stage-card span{font-size:10px;color:var(--ui-text-soft);font-weight:700}.order-stage-card strong{font-size:11px;margin-top:2px}.order-view-actions-panel{display:flex;justify-content:space-between;align-items:center;gap:14px}.order-view-actions-panel>div:first-child strong,.order-view-actions-panel>div:first-child small{display:block}.order-view-actions-panel>div:first-child small{font-size:10px;color:var(--ui-text-soft);margin-top:3px}.order-view-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.order-view-actions form{margin:0}@media(max-width:900px){.order-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-view-actions-panel{align-items:flex-start;flex-direction:column}.order-view-actions{justify-content:flex-start}}@media(max-width:600px){.order-stage-grid{grid-template-columns:1fr}.order-view-actions{width:100%}.order-view-actions .btn,.order-view-actions form{width:100%}.order-view-actions form .btn{width:100%}}

/* ===== v3.7.24 Owner Business Control Center ===== */
.owner-bi-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:10px}.owner-period-form{display:flex;align-items:flex-end;gap:8px}.owner-date-pair{display:flex;gap:8px}.owner-date-pair label{font-size:10px;color:var(--ui-text-soft);font-weight:700}.owner-date-pair input{display:block;margin-top:4px;border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-heading);border-radius:10px;padding:8px 10px}.owner-quick-periods{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 14px}.owner-quick-periods a{padding:7px 11px;border-radius:9px;border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text);text-decoration:none;font-size:10px;font-weight:700}.owner-quick-periods a.active,.owner-quick-periods a:hover{background:var(--ui-primary);border-color:var(--ui-primary);color:#fff}.owner-quick-periods span{margin-left:auto;font-size:10px;color:var(--ui-text-soft)}
.owner-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.owner-kpi{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:92px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:14px;padding:12px;text-decoration:none;box-shadow:var(--ui-shadow-sm);transition:.16s ease}.owner-kpi:hover{transform:translateY(-2px);border-color:rgba(var(--ui-accent-rgb),.55);box-shadow:var(--ui-shadow)}.owner-kpi>i{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-size:18px;background:var(--ui-surface-2);color:var(--ui-primary)}.owner-kpi div{min-width:0;display:flex;flex-direction:column}.owner-kpi small{font-size:9px;font-weight:800;color:var(--ui-text-soft);letter-spacing:.04em}.owner-kpi strong{font-size:18px;color:var(--ui-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:2px 0}.owner-kpi em{font-size:9px;font-style:normal;color:var(--ui-text-soft)}.owner-kpi>b{font-size:16px;color:var(--ui-text-soft)}.kpi-green>i,.kpi-emerald>i{color:#16a34a}.kpi-blue>i{color:#2563eb}.kpi-purple>i{color:#9333ea}.kpi-orange>i,.kpi-amber>i{color:#ea580c}.kpi-red>i{color:#dc2626}.kpi-teal>i{color:#0f766e}.kpi-slate>i{color:#64748b}
.owner-bi-grid{display:grid;gap:12px;margin-bottom:12px}.owner-bi-grid-top{grid-template-columns:minmax(0,1.6fr) minmax(260px,.9fr) minmax(260px,.85fr)}.owner-bi-grid-mid{grid-template-columns:minmax(300px,.95fr) minmax(420px,1.35fr) minmax(300px,1fr)}.owner-bi-grid-bottom{grid-template-columns:1.1fr .8fr .9fr .9fr}.owner-bi-card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:15px;padding:14px;box-shadow:var(--ui-shadow-sm);min-width:0}.owner-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.owner-card-head small{font-size:8px;color:var(--ui-primary);font-weight:900;letter-spacing:.09em}.owner-card-head h5{margin:2px 0 0;color:var(--ui-heading);font-size:14px;font-weight:800}.owner-card-head p{margin:2px 0 0;font-size:9px;color:var(--ui-text-soft)}.owner-card-head>a{font-size:9px;text-decoration:none;color:var(--ui-primary);font-weight:700;white-space:nowrap}.owner-chart{height:260px}
.owner-channel-wrap{display:grid;grid-template-columns:145px 1fr;gap:12px;align-items:center}.owner-channel-chart{height:145px;position:relative}.owner-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.owner-donut-center b{font-size:11px;color:var(--ui-heading)}.owner-donut-center span{font-size:8px;color:var(--ui-text-soft)}.owner-channel-list{display:grid;gap:6px}.owner-channel-list a{display:grid;grid-template-columns:1fr auto;gap:2px 8px;text-decoration:none;border-bottom:1px solid var(--ui-border);padding:4px 0}.owner-channel-list span{font-size:9px;color:var(--ui-text)}.owner-channel-list strong{font-size:9px;color:var(--ui-heading)}.owner-channel-list small{grid-column:1/-1;font-size:8px;color:var(--ui-text-soft)}
.owner-movement-list{display:grid;gap:6px}.owner-movement-list a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;padding:9px;border-radius:9px;background:var(--ui-surface-2);color:var(--ui-text);font-size:10px}.owner-movement-list a:hover{outline:1px solid var(--ui-primary)}.owner-movement-list b{color:var(--ui-heading)}.owner-ready-line{margin-top:5px}.owner-ready-line b{color:var(--ui-primary)}
.owner-rank-list{display:grid}.owner-rank-list a{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;gap:7px;align-items:center;padding:7px 0;border-bottom:1px solid var(--ui-border);text-decoration:none}.owner-rank-list i{width:19px;height:19px;border-radius:50%;background:var(--ui-surface-2);display:grid;place-items:center;font-size:8px;color:var(--ui-primary);font-style:normal;font-weight:800}.owner-rank-list span{min-width:0}.owner-rank-list span b{display:block;color:var(--ui-heading);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.owner-rank-list span small{font-size:8px;color:var(--ui-text-soft)}.owner-rank-list em{font-style:normal;font-size:9px;color:var(--ui-text-soft)}.owner-rank-list strong{font-size:9px;color:var(--ui-heading)}
.owner-funnel{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;align-items:stretch}.owner-funnel a{position:relative;min-height:110px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-decoration:none;border-radius:12px;border:1px solid var(--ui-border);background:var(--ui-surface-2);transition:.15s}.owner-funnel a:hover{transform:translateY(-2px);border-color:var(--ui-primary)}.owner-funnel span{font-size:10px;color:var(--ui-text)}.owner-funnel b{font-size:27px;color:var(--ui-heading);margin:3px}.owner-funnel small{font-size:8px;color:var(--ui-text-soft)}.owner-funnel a:nth-child(1){border-top:3px solid #2563eb}.owner-funnel a:nth-child(2){border-top:3px solid #f59e0b}.owner-funnel a:nth-child(3){border-top:3px solid #9333ea}.owner-funnel a:nth-child(4){border-top:3px solid #06b6d4}.owner-funnel a:nth-child(5){border-top:3px solid #22c55e}
.owner-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.owner-mini-grid a{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--ui-border);background:var(--ui-surface-2);padding:10px;border-radius:10px}.owner-mini-grid span{font-size:8px;color:var(--ui-text-soft)}.owner-mini-grid b{font-size:17px;color:var(--ui-heading);margin-top:3px}.owner-mini-grid a:hover{border-color:var(--ui-primary)}
.owner-restock-list,.owner-supplier-list,.owner-activity-list{display:grid;gap:5px}.owner-restock-list a,.owner-activity-list a{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;padding:7px 0;border-bottom:1px solid var(--ui-border)}.owner-restock-list span,.owner-activity-list span{display:flex;flex-direction:column}.owner-restock-list b,.owner-activity-list b{font-size:9px;color:var(--ui-heading)}.owner-restock-list small,.owner-activity-list small{font-size:8px;color:var(--ui-text-soft)}.owner-restock-list strong{font-size:9px;color:#ef4444}.owner-activity-list strong{font-size:14px;color:var(--ui-primary)}.owner-good{padding:14px;border-radius:10px;background:rgba(34,197,94,.1);color:#16a34a;font-size:10px}.owner-qc-score{display:flex;justify-content:space-around;align-items:center;text-decoration:none;color:var(--ui-text);padding:9px;background:var(--ui-surface-2);border-radius:12px}.owner-qc-score>div{width:92px;height:92px;border-radius:50%;border:10px solid rgba(34,197,94,.35);display:flex;flex-direction:column;align-items:center;justify-content:center}.owner-qc-score strong{font-size:19px;color:var(--ui-heading)}.owner-qc-score span,.owner-qc-score p{font-size:9px;color:var(--ui-text-soft)}.owner-supplier-list a{display:grid;grid-template-columns:22px 1fr auto;align-items:center;text-decoration:none;padding:7px 0;border-bottom:1px solid var(--ui-border);font-size:9px}.owner-supplier-list i{font-style:normal;color:var(--ui-primary);font-weight:800}.owner-supplier-list span{color:var(--ui-text)}.owner-supplier-list b{color:var(--ui-heading)}
.owner-finance-strip{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:10px;align-items:center;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:15px;padding:14px;text-decoration:none;box-shadow:var(--ui-shadow-sm);margin-bottom:20px}.owner-finance-strip div{display:flex;flex-direction:column}.owner-finance-strip small{font-size:8px;color:var(--ui-text-soft)}.owner-finance-strip b{font-size:13px;color:var(--ui-heading)}.owner-finance-strip .profit{color:#16a34a}.owner-finance-strip>span{font-size:9px;color:var(--ui-primary);font-weight:800}
@media(max-width:1250px){.owner-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-bi-grid-top,.owner-bi-grid-mid{grid-template-columns:1fr 1fr}.owner-bi-grid-bottom{grid-template-columns:1fr 1fr}.owner-wide{grid-column:span 2}.owner-finance-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.owner-bi-toolbar{align-items:stretch;flex-direction:column}.owner-period-form{align-items:stretch;flex-direction:column}.owner-date-pair{display:grid;grid-template-columns:1fr 1fr}.owner-date-pair input{width:100%}.owner-quick-periods span{width:100%;margin-left:0}.owner-kpi-grid{grid-template-columns:1fr 1fr}.owner-kpi{grid-template-columns:36px minmax(0,1fr);min-height:82px}.owner-kpi>i{width:36px;height:36px}.owner-kpi>b{display:none}.owner-kpi strong{font-size:14px}.owner-bi-grid-top,.owner-bi-grid-mid,.owner-bi-grid-bottom{grid-template-columns:1fr}.owner-wide{grid-column:auto}.owner-channel-wrap{grid-template-columns:120px 1fr}.owner-channel-chart{height:120px}.owner-funnel{grid-template-columns:1fr 1fr}.owner-funnel a{min-height:80px}.owner-funnel a:last-child{grid-column:1/-1}.owner-finance-strip{grid-template-columns:1fr 1fr}.owner-finance-strip>span{grid-column:1/-1}.owner-chart{height:220px}}
@media(max-width:440px){.owner-kpi-grid{grid-template-columns:1fr}.owner-channel-wrap{grid-template-columns:1fr}.owner-channel-chart{height:160px}.owner-mini-grid{grid-template-columns:1fr 1fr}}

/* =========================================================
   v3.7.25 — Global Dark Mode Contrast & Bootstrap Harmonizer
   Front-end only: no database/query changes.
   ========================================================= */
html[data-theme="dark"]{
  --bs-body-bg:var(--ui-bg);
  --bs-body-color:var(--ui-text);
  --bs-emphasis-color:var(--ui-heading);
  --bs-secondary-color:var(--ui-text-soft);
  --bs-secondary-bg:var(--ui-surface-2);
  --bs-tertiary-color:#8190a6;
  --bs-tertiary-bg:var(--ui-surface-3);
  --bs-border-color:var(--ui-border);
  --bs-border-color-translucent:rgba(148,163,184,.18);
  --bs-light-rgb:22,34,53;
  --bs-dark-rgb:248,250,252;
  --bs-link-color:#7db6ff;
  --bs-link-hover-color:#a8ccff;
}
html[data-theme="dark"] body,
html[data-theme="dark"] .main,
html[data-theme="dark"] .content{color:var(--ui-text)!important}
html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,
html[data-theme="dark"] h4,html[data-theme="dark"] h5,html[data-theme="dark"] h6,
html[data-theme="dark"] strong,html[data-theme="dark"] b,
html[data-theme="dark"] .fw-bold,html[data-theme="dark"] .fw-semibold{color:var(--ui-heading)}
html[data-theme="dark"] p,html[data-theme="dark"] label,
html[data-theme="dark"] .form-label,html[data-theme="dark"] .table,
html[data-theme="dark"] .table td,html[data-theme="dark"] .table tbody th{color:var(--ui-text)}
html[data-theme="dark"] small,html[data-theme="dark"] .small,
html[data-theme="dark"] .text-muted,html[data-theme="dark"] .text-secondary,
html[data-theme="dark"] .form-text{color:var(--ui-text-soft)!important}
html[data-theme="dark"] .text-dark,html[data-theme="dark"] .text-body,
html[data-theme="dark"] .text-body-emphasis{color:var(--ui-heading)!important}
html[data-theme="dark"] a:not(.btn):not(.nav-single):not(.nav-group-toggle){--bs-link-color-rgb:125,182,255}

/* Generic cards/panels that previously inherited Bootstrap's white background. */
html[data-theme="dark"] .summary-card,
html[data-theme="dark"] .qc23-summary-card,
html[data-theme="dark"] .qc23-card,
html[data-theme="dark"] .qc23-reject-card,
html[data-theme="dark"] .card,
html[data-theme="dark"] .list-group-item,
html[data-theme="dark"] .accordion-item,
html[data-theme="dark"] .offcanvas,
html[data-theme="dark"] .popover,
html[data-theme="dark"] .toast{
  background:var(--ui-surface)!important;
  color:var(--ui-text)!important;
  border-color:var(--ui-border)!important;
}
html[data-theme="dark"] .summary-card .sc-label,
html[data-theme="dark"] .summary-card .sc-note{color:var(--ui-text-soft)!important}
html[data-theme="dark"] .summary-card .sc-value{color:var(--ui-heading)!important;text-shadow:none!important}
html[data-theme="dark"] .summary-card.is-active{outline-color:rgba(96,165,250,.42)!important;border-color:#60a5fa!important}
html[data-theme="dark"] .summary-card.is-warning .sc-icon{background:#3b2b17!important;color:#fcd34d!important}
html[data-theme="dark"] .summary-card.is-success .sc-icon{background:#153524!important;color:#86efac!important}
html[data-theme="dark"] .summary-card.is-danger .sc-icon{background:#421d24!important;color:#fca5a5!important}

/* Forms, filters and dropdowns. */
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,
html[data-theme="dark"] .form-control,html[data-theme="dark"] .form-select,
html[data-theme="dark"] .input-group-text{
  background-color:var(--ui-surface-2)!important;
  color:var(--ui-text)!important;
  border-color:var(--ui-border)!important;
}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder,
html[data-theme="dark"] .form-control::placeholder{color:#8291a7!important;opacity:1}
html[data-theme="dark"] .form-control[readonly],html[data-theme="dark"] .form-control:disabled,
html[data-theme="dark"] .form-select:disabled,html[data-theme="dark"] input:disabled,
html[data-theme="dark"] textarea:disabled{background:var(--ui-surface-3)!important;color:#aebbd0!important;opacity:1!important}
html[data-theme="dark"] .dropdown-item{color:var(--ui-text)!important}
html[data-theme="dark"] .dropdown-item:hover,html[data-theme="dark"] .dropdown-item:focus{background:var(--ui-surface-2)!important;color:var(--ui-heading)!important}
html[data-theme="dark"] .dropdown-divider{border-color:var(--ui-border)!important}

/* Tables and history lists. */
html[data-theme="dark"] .table-card,html[data-theme="dark"] .history-card,
html[data-theme="dark"] .table-responsive{color:var(--ui-text)}
html[data-theme="dark"] .table>thead>tr>th{background:#152235!important;color:#b9c6d8!important;border-color:var(--ui-border)!important}
html[data-theme="dark"] .table>tbody>tr>td,
html[data-theme="dark"] .table>tbody>tr>th{background:transparent!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important}
html[data-theme="dark"] .table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:rgba(255,255,255,.018)!important;color:var(--ui-text)!important}
html[data-theme="dark"] .table-hover>tbody>tr:hover>*{--bs-table-accent-bg:rgba(96,165,250,.07)!important;color:var(--ui-heading)!important}

/* Pagination and neutral/outline buttons. */
html[data-theme="dark"] .pagination{--bs-pagination-bg:var(--ui-surface);--bs-pagination-border-color:var(--ui-border);--bs-pagination-color:#9fc5ff;--bs-pagination-hover-bg:var(--ui-surface-2);--bs-pagination-hover-border-color:#42658e;--bs-pagination-hover-color:#cfe3ff;--bs-pagination-disabled-bg:var(--ui-surface-2);--bs-pagination-disabled-border-color:var(--ui-border);--bs-pagination-disabled-color:#6f8097}
html[data-theme="dark"] .btn-outline-secondary{--bs-btn-color:#c2cedd;--bs-btn-border-color:#617086;--bs-btn-hover-bg:#26374e;--bs-btn-hover-border-color:#718198;--bs-btn-hover-color:#fff}
html[data-theme="dark"] .btn-light{--bs-btn-bg:var(--ui-surface-2);--bs-btn-border-color:var(--ui-border);--bs-btn-color:var(--ui-heading);--bs-btn-hover-bg:var(--ui-surface-3);--bs-btn-hover-color:#fff}
html[data-theme="dark"] .btn:disabled,html[data-theme="dark"] .btn.disabled{opacity:.58!important}

/* Modal / close buttons / alerts. */
html[data-theme="dark"] .modal-header,html[data-theme="dark"] .modal-footer{border-color:var(--ui-border)!important}
html[data-theme="dark"] .btn-close{filter:invert(1) grayscale(1) brightness(1.8);opacity:.75}
html[data-theme="dark"] .alert-info{background:#102d43!important;border-color:#1d5273!important;color:#b9e6ff!important}
html[data-theme="dark"] .alert-warning{background:#392b14!important;border-color:#6b5120!important;color:#fde8a8!important}
html[data-theme="dark"] .alert-success{background:#113526!important;border-color:#246142!important;color:#bbf7d0!important}
html[data-theme="dark"] .alert-danger{background:#421d24!important;border-color:#7f2937!important;color:#fecdd3!important}

/* QC legacy blocks with hard-coded light colors. */
html[data-theme="dark"] .qc23-summary-body small{color:var(--ui-text-soft)!important}
html[data-theme="dark"] .qc23-summary-body strong{color:var(--ui-heading)!important}
html[data-theme="dark"] .qc23-summary-icon{background:#172e52!important;color:#93c5fd!important}
html[data-theme="dark"] .qc23-summary-card.is-passed .qc23-summary-icon{background:#153524!important;color:#86efac!important}
html[data-theme="dark"] .qc23-summary-card.is-reject .qc23-summary-icon{background:#421d24!important;color:#fca5a5!important}
html[data-theme="dark"] .qc23-summary-card.is-pending .qc23-summary-icon{background:#3b2b17!important;color:#fcd34d!important}
html[data-theme="dark"] .qc23-status-tabs a{background:var(--ui-surface-2)!important;color:var(--ui-text)!important}
html[data-theme="dark"] .qc23-pending-detail,html[data-theme="dark"] .qc23-pending-grid label{border-color:var(--ui-border)!important;background:var(--ui-surface-2)!important}
html[data-theme="dark"] .qc23-pending-grid small{color:var(--ui-text-soft)!important}

/* Bootstrap utility backgrounds that can otherwise become bright white. */
html[data-theme="dark"] .bg-white,html[data-theme="dark"] .bg-light{background-color:var(--ui-surface-2)!important}
html[data-theme="dark"] .border,html[data-theme="dark"] .border-top,html[data-theme="dark"] .border-bottom,
html[data-theme="dark"] .border-start,html[data-theme="dark"] .border-end{border-color:var(--ui-border)!important}

/* Keep semantic figures readable on dark surfaces. */
html[data-theme="dark"] .text-success{color:#6ee7a8!important}
html[data-theme="dark"] .text-danger{color:#fb7185!important}
html[data-theme="dark"] .text-warning{color:#fcd34d!important}
html[data-theme="dark"] .text-primary{color:#7db6ff!important}
html[data-theme="dark"] .purchase-total{color:var(--ui-heading)!important}

/* =========================================================
   v3.7.27 — Dark Mode Contrast Hardening
   Makes outline/disabled actions and semantic badges readable
   on dark surfaces across Purchases, Warehouse, QC and all modules.
   Front-end only: no database/query changes.
   ========================================================= */
html[data-theme="dark"]{
  --dark-action-text:#eaf2ff;
  --dark-action-border:#7890ad;
  --dark-action-muted:#b7c5d8;
}

/* Outline buttons: Bootstrap's dark/secondary defaults are too dim on dark UI. */
html[data-theme="dark"] .btn-outline-dark{
  --bs-btn-color:#dbeafe;
  --bs-btn-border-color:#6f87a5;
  --bs-btn-hover-color:#ffffff;
  --bs-btn-hover-bg:#27415f;
  --bs-btn-hover-border-color:#8fb5df;
  --bs-btn-active-color:#ffffff;
  --bs-btn-active-bg:#315375;
  --bs-btn-active-border-color:#9fc5ef;
  color:#dbeafe!important;
  border-color:#6f87a5!important;
}
html[data-theme="dark"] .btn-outline-secondary{
  color:#d4dfed!important;
  border-color:#667b96!important;
}
html[data-theme="dark"] .btn-outline-primary{
  color:#8fc0ff!important;
  border-color:#4388dd!important;
}
html[data-theme="dark"] .btn-outline-success{
  color:#86efac!important;
  border-color:#3f8f62!important;
}
html[data-theme="dark"] .btn-outline-warning{
  color:#fde68a!important;
  border-color:#a87928!important;
}
html[data-theme="dark"] .btn-outline-danger{
  color:#fda4af!important;
  border-color:#b64b5c!important;
}

/* Disabled/read-only actions must remain legible. */
html[data-theme="dark"] .btn:disabled,
html[data-theme="dark"] .btn.disabled,
html[data-theme="dark"] fieldset:disabled .btn{
  opacity:1!important;
  color:#aebdd1!important;
  background:#142033!important;
  border-color:#435873!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .btn:disabled i,
html[data-theme="dark"] .btn.disabled i,
html[data-theme="dark"] fieldset:disabled .btn i{
  color:#9fb4ce!important;
  opacity:1!important;
}

/* Semantic Bootstrap badges/statuses: force dark-safe foreground/background. */
html[data-theme="dark"] .badge.text-bg-secondary,
html[data-theme="dark"] .text-bg-secondary{
  background:#334155!important;
  color:#f1f5f9!important;
}
html[data-theme="dark"] .badge.text-bg-info,
html[data-theme="dark"] .text-bg-info{
  background:#164e63!important;
  color:#cffafe!important;
}
html[data-theme="dark"] .badge.text-bg-success,
html[data-theme="dark"] .text-bg-success{
  background:#14532d!important;
  color:#dcfce7!important;
}
html[data-theme="dark"] .badge.text-bg-warning,
html[data-theme="dark"] .text-bg-warning{
  background:#713f12!important;
  color:#fef3c7!important;
}
html[data-theme="dark"] .badge.text-bg-danger,
html[data-theme="dark"] .text-bg-danger{
  background:#7f1d1d!important;
  color:#fee2e2!important;
}
html[data-theme="dark"] .badge.text-bg-light,
html[data-theme="dark"] .text-bg-light{
  background:#26364c!important;
  color:#e5edf8!important;
  border-color:#50627a!important;
}
html[data-theme="dark"] .badge.text-bg-dark,
html[data-theme="dark"] .text-bg-dark{
  background:#2c3c52!important;
  color:#f8fafc!important;
}

/* Legacy status-pill palette in dark mode. */
html[data-theme="dark"] .status-pill.is-active{
  background:#174b34!important;
  color:#bbf7d0!important;
  border:1px solid #2d7954!important;
}
html[data-theme="dark"] .status-pill.is-inactive{
  background:#334155!important;
  color:#e2e8f0!important;
  border:1px solid #52627a!important;
}

/* Keep action cells readable even when tables use transparent backgrounds. */
html[data-theme="dark"] .table td .btn,
html[data-theme="dark"] .table th .btn{
  text-shadow:none!important;
}
html[data-theme="dark"] .table td .btn:not(.btn-primary):not(.btn-success):not(.btn-warning):not(.btn-danger),
html[data-theme="dark"] .table th .btn:not(.btn-primary):not(.btn-success):not(.btn-warning):not(.btn-danger){
  background-color:rgba(17,27,43,.72);
}

/* Important quantities and verification text. */
html[data-theme="dark"] .table td,
html[data-theme="dark"] .table td span:not(.badge):not(.status-pill),
html[data-theme="dark"] .table td div{
  text-decoration-color:currentColor;
}
html[data-theme="dark"] .table td strong:not(.text-danger):not(.text-success):not(.text-warning):not(.text-primary){
  color:#f8fafc!important;
}

/* Icon-only action buttons used by QC history. */
html[data-theme="dark"] .btn-outline-dark.btn-sm,
html[data-theme="dark"] .btn-outline-secondary.btn-sm{
}

/* V3.7.28 - Owner Margin Guard */
.owner-margin-guard{margin-bottom:12px}.owner-margin-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.margin-summary{display:flex;align-items:center;gap:11px;border:1px solid var(--ui-border);border-radius:13px;padding:12px;text-decoration:none;background:var(--ui-surface-2);transition:.15s ease}.margin-summary:hover{transform:translateY(-1px);border-color:rgba(var(--ui-accent-rgb),.55)}.margin-summary>i{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;font-size:17px}.margin-summary span{display:flex;min-width:0;flex-direction:column}.margin-summary small{font-size:9px;font-weight:900;color:var(--ui-text-soft)}.margin-summary b{font-size:20px;line-height:1.1;color:var(--ui-heading)}.margin-summary em{font-size:9px;font-style:normal;color:var(--ui-text-soft)}.margin-summary.loss>i{color:#dc2626;background:rgba(220,38,38,.10)}.margin-summary.bep>i{color:#d97706;background:rgba(217,119,6,.11)}.margin-summary.thin>i{color:#ea580c;background:rgba(234,88,12,.11)}.margin-summary.safe>i{color:#16a34a;background:rgba(22,163,74,.10)}
.owner-margin-list{border:1px solid var(--ui-border);border-radius:12px;overflow:hidden}.owner-margin-list-head,.owner-margin-row{display:grid;grid-template-columns:minmax(210px,1.5fr) repeat(4,minmax(110px,.75fr)) minmax(80px,.55fr);gap:10px;align-items:center;padding:10px 12px}.owner-margin-list-head{background:var(--ui-surface-2);font-size:9px;font-weight:900;color:var(--ui-text-soft);text-transform:uppercase}.owner-margin-row{border-top:1px solid var(--ui-border);text-decoration:none;color:var(--ui-text);font-size:11px}.owner-margin-row:hover{background:var(--ui-surface-2)}.owner-margin-row>span{display:flex;flex-direction:column;min-width:0}.owner-margin-row>span b{color:var(--ui-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-margin-row>span small{font-size:9px;color:var(--ui-text-soft)}.owner-margin-row>strong{color:var(--ui-heading);font-size:11px}.owner-margin-row>em{justify-self:start;border-radius:999px;padding:4px 8px;font-size:9px;font-style:normal;font-weight:900}.owner-margin-row.status-loss .margin-number,.owner-margin-row.status-loss>em{color:#dc2626}.owner-margin-row.status-loss>em{background:rgba(220,38,38,.10)}.owner-margin-row.status-bep .margin-number,.owner-margin-row.status-bep>em{color:#d97706}.owner-margin-row.status-bep>em{background:rgba(217,119,6,.11)}.owner-margin-row.status-thin .margin-number,.owner-margin-row.status-thin>em{color:#ea580c}.owner-margin-row.status-thin>em{background:rgba(234,88,12,.11)}.owner-margin-note{display:flex;gap:8px;align-items:flex-start;padding-top:10px;color:var(--ui-text-soft);font-size:9px}.owner-margin-note i{color:var(--ui-primary)}
[data-theme="dark"] .margin-summary{background:rgba(255,255,255,.025)}[data-theme="dark"] .owner-margin-row.status-loss .margin-number,[data-theme="dark"] .owner-margin-row.status-loss>em{color:#ff7b86}[data-theme="dark"] .owner-margin-row.status-bep .margin-number,[data-theme="dark"] .owner-margin-row.status-bep>em{color:#fbbf24}[data-theme="dark"] .owner-margin-row.status-thin .margin-number,[data-theme="dark"] .owner-margin-row.status-thin>em{color:#fb923c}
@media(max-width:1000px){.owner-margin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-margin-list{overflow-x:auto}.owner-margin-list-head,.owner-margin-row{min-width:850px}}@media(max-width:520px){.owner-margin-summary{grid-template-columns:1fr 1fr}.margin-summary{padding:10px}.margin-summary b{font-size:17px}}

/* =========================================================
   v3.7.30 — Dark Mode Component-Specific Contrast Fix
   Fix hard-coded light surfaces, hover/active rows and QC cards.
   Front-end only. No database/query changes.
   ========================================================= */
html[data-theme="dark"]{
  --dm-surface:#111d2f;
  --dm-surface-2:#17263b;
  --dm-surface-3:#1d3049;
  --dm-border:#314763;
  --dm-text:#dce7f5;
  --dm-heading:#ffffff;
  --dm-muted:#9fb0c6;
}

/* Legacy generic panels and helper blocks with hard-coded white/light backgrounds. */
html[data-theme="dark"] .panel,
html[data-theme="dark"] .info-tile,
html[data-theme="dark"] .employee-section,
html[data-theme="dark"] .permission-group,
html[data-theme="dark"] .sticky-permission-save,
html[data-theme="dark"] .purchase-unit-help,
html[data-theme="dark"] .package-cost-preview,
html[data-theme="dark"] .privacy-note,
html[data-theme="dark"] .ktp-existing{
  background:var(--dm-surface)!important;
  border-color:var(--dm-border)!important;
  color:var(--dm-text)!important;
}
html[data-theme="dark"] .permission-group-title,
html[data-theme="dark"] .supplier-result-line{
  background:var(--dm-surface-2)!important;
  border-color:var(--dm-border)!important;
  color:var(--dm-text)!important;
}
html[data-theme="dark"] .employee-section-title,
html[data-theme="dark"] .permission-item{
  border-color:var(--dm-border)!important;
}
html[data-theme="dark"] .privacy-note strong,
html[data-theme="dark"] .ktp-existing strong,
html[data-theme="dark"] .employee-section-title strong{
  color:var(--dm-heading)!important;
}
html[data-theme="dark"] .privacy-note span,
html[data-theme="dark"] .employee-section-title small,
html[data-theme="dark"] .purchase-unit-help,
html[data-theme="dark"] .package-cost-preview{
  color:var(--dm-muted)!important;
}

/* Tables: prevent Bootstrap/legacy hover from turning rows white in dark mode. */
html[data-theme="dark"] .table,
html[data-theme="dark"] .supplier-table,
html[data-theme="dark"] .employee-table,
html[data-theme="dark"] .order-history-table{
  --bs-table-bg:transparent!important;
  --bs-table-color:var(--dm-text)!important;
  --bs-table-striped-bg:rgba(255,255,255,.018)!important;
  --bs-table-striped-color:var(--dm-text)!important;
  --bs-table-hover-bg:#1a2b42!important;
  --bs-table-hover-color:var(--dm-heading)!important;
  --bs-table-active-bg:#21354f!important;
  --bs-table-active-color:var(--dm-heading)!important;
}
html[data-theme="dark"] .supplier-table tbody tr,
html[data-theme="dark"] .employee-table tbody tr,
html[data-theme="dark"] .order-history-table tbody tr,
html[data-theme="dark"] .table-hover tbody tr{
  background:transparent!important;
  color:var(--dm-text)!important;
}
html[data-theme="dark"] .supplier-table tbody tr:hover,
html[data-theme="dark"] .employee-table tbody tr:hover,
html[data-theme="dark"] .order-history-table tbody tr:hover,
html[data-theme="dark"] .table-hover tbody tr:hover{
  background:#1a2b42!important;
  color:var(--dm-heading)!important;
}
html[data-theme="dark"] .supplier-table tbody tr:hover>td,
html[data-theme="dark"] .employee-table tbody tr:hover>td,
html[data-theme="dark"] .order-history-table tbody tr:hover>td,
html[data-theme="dark"] .table-hover tbody tr:hover>td,
html[data-theme="dark"] .table-hover tbody tr:hover>th{
  background:#1a2b42!important;
  color:var(--dm-heading)!important;
}
html[data-theme="dark"] .table-active,
html[data-theme="dark"] .table-active>td,
html[data-theme="dark"] .table-active>th,
html[data-theme="dark"] tr.table-active>td,
html[data-theme="dark"] tr.table-active>th{
  background:#21354f!important;
  color:var(--dm-heading)!important;
}
html[data-theme="dark"] .table-light,
html[data-theme="dark"] .table-light>td,
html[data-theme="dark"] .table-light>th,
html[data-theme="dark"] tr.table-light>td,
html[data-theme="dark"] tr.table-light>th{
  background:#1b2b41!important;
  color:var(--dm-heading)!important;
}

/* Product/employee table content remains readable during hover. */
html[data-theme="dark"] .supplier-table strong,
html[data-theme="dark"] .employee-table strong,
html[data-theme="dark"] .product-cell strong,
html[data-theme="dark"] .employee-contact strong,
html[data-theme="dark"] .employee-bank strong{
  color:var(--dm-heading)!important;
}
html[data-theme="dark"] .supplier-table small,
html[data-theme="dark"] .employee-table small,
html[data-theme="dark"] .product-cell small,
html[data-theme="dark"] .employee-contact span,
html[data-theme="dark"] .employee-bank span,
html[data-theme="dark"] .supplier-address{
  color:var(--dm-muted)!important;
}

/* Purchase form: payment area and helper strip must not become white. */
html[data-theme="dark"] .purchase-form-card .panel,
html[data-theme="dark"] .purchase-form-card .row>.col-md-3,
html[data-theme="dark"] .purchase-form-card .purchase-unit-help{
  color:var(--dm-text)!important;
}
html[data-theme="dark"] .purchase-form-card .panel{
  background:var(--dm-surface)!important;
}
html[data-theme="dark"] .purchase-total{
  background:#1c365d!important;
  color:#ffffff!important;
  border:1px solid #355a89!important;
}
html[data-theme="dark"] .purchase-form-card label,
html[data-theme="dark"] .purchase-form-card .form-label{
  color:#e8f0fb!important;
}
html[data-theme="dark"] .purchase-form-card small,
html[data-theme="dark"] .purchase-form-card .text-secondary{
  color:#9fb0c6!important;
}

/* QC Qty/SN Sama legacy cards have their own hard-coded #fff/#f5f9ff styles. */
html[data-theme="dark"] .qcqty-card,
html[data-theme="dark"] .qcqty-mobile-card,
html[data-theme="dark"] .qcqty-process-box{
  background:var(--dm-surface)!important;
  border-color:var(--dm-border)!important;
  color:var(--dm-text)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .qcqty-card:hover{
  background:#1a2b42!important;
  border-color:#5680b4!important;
}
html[data-theme="dark"] .qcqty-card.active{
  background:#17345a!important;
  border-color:#5da2ff!important;
  box-shadow:0 0 0 2px rgba(93,162,255,.12)!important;
}
html[data-theme="dark"] .qcqty-card.is-passed.active{
  background:#153727!important;
  border-color:#45a46d!important;
}
html[data-theme="dark"] .qcqty-card.is-reject.active{
  background:#421f28!important;
  border-color:#c95d6a!important;
}
html[data-theme="dark"] .qcqty-card small{
  color:var(--dm-muted)!important;
}
html[data-theme="dark"] .qcqty-card strong{
  color:var(--dm-heading)!important;
}
html[data-theme="dark"] .qcqty-arrow{
  color:#8fa6c2!important;
}
html[data-theme="dark"] .qcqty-icon{
  background:#17345a!important;
  color:#8fc2ff!important;
}
html[data-theme="dark"] .qcqty-process-row>td{
  background:#142238!important;
}
html[data-theme="dark"] .qcqty-photo-grid img{
  background:#101b2a!important;
  border-color:var(--dm-border)!important;
}

/* Multi-SN QC cards/tabs also retain some legacy light active colors. */
html[data-theme="dark"] .qc23-summary-card.active{
  background:#17345a!important;
  border-color:#5da2ff!important;
}
html[data-theme="dark"] .qc23-status-tabs a.active.passed{
  background:#153727!important;
  color:#86efac!important;
}
html[data-theme="dark"] .qc23-status-tabs a.active.reject{
  background:#421f28!important;
  color:#fda4af!important;
}
html[data-theme="dark"] .qc23-reject-card{
  background:#2c1d24!important;
  border-color:#6b3440!important;
}

/* Utility surfaces that can still force a light Bootstrap background. */
html[data-theme="dark"] [class~="bg-white"],
html[data-theme="dark"] [class~="bg-light"],
html[data-theme="dark"] [style*="background:#fff"],
html[data-theme="dark"] [style*="background: #fff"],
html[data-theme="dark"] [style*="background:white"],
html[data-theme="dark"] [style*="background: white"]{
  background-color:var(--dm-surface-2)!important;
  color:var(--dm-text)!important;
}

/* Inputs on any dark surface. */
html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select,
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{
  background:#17263b!important;
  color:#eef4fc!important;
  border-color:#344d6c!important;
}
html[data-theme="dark"] option{
  background:#17263b!important;
  color:#eef4fc!important;
}

/* Final safety net for cells and card values. */
html[data-theme="dark"] td,
html[data-theme="dark"] th{
  border-color:#2e435f!important;
}
html[data-theme="dark"] td strong,
html[data-theme="dark"] td b,
html[data-theme="dark"] .summary-card strong,
html[data-theme="dark"] .product-summary-card strong{
  color:#ffffff!important;
}


/* v3.7.32 - Purchase form dark-mode refinement and spacing */
.purchase-payment-panel{
  border:1px solid #d9e2ef;
  border-radius:14px;
  padding:16px;
  background:#f8fbff;
}
.purchase-payment-panel .form-label{
  margin-bottom:6px;
}
.purchase-payment-panel .form-control,
.purchase-payment-panel .purchase-total{
  min-height:42px;
}
.purchase-payment-panel .purchase-total{
  display:flex;
  align-items:center;
  padding:0 12px;
  border-radius:8px;
}
.purchase-payment-panel .text-secondary{
  line-height:1.45;
}
.purchase-form-card .purchase-unit-help{
  border:1px solid #d9e2ef;
  border-radius:10px;
  padding:10px 12px;
  background:#f8fbff;
}
html[data-theme="dark"] .purchase-payment-panel{
  background:#122033!important;
  border-color:#2f4663!important;
  color:#e9f1fb!important;
}
html[data-theme="dark"] .purchase-payment-panel .form-label,
html[data-theme="dark"] .purchase-payment-panel strong{
  color:#f7fbff!important;
}
html[data-theme="dark"] .purchase-payment-panel .text-secondary,
html[data-theme="dark"] .purchase-payment-panel small,
html[data-theme="dark"] .purchase-payment-panel .bi-info-circle{
  color:#aebed2!important;
}
html[data-theme="dark"] .purchase-payment-panel .form-control{
  background:#182a41!important;
  border-color:#3a5575!important;
  color:#f4f8fd!important;
}
html[data-theme="dark"] .purchase-payment-panel .form-control::placeholder{
  color:#91a6bf!important;
  opacity:1!important;
}
html[data-theme="dark"] .purchase-payment-panel .purchase-total{
  background:#1d3a64!important;
  border:1px solid #456d9e!important;
  color:#fff!important;
  font-weight:700;
}
html[data-theme="dark"] .purchase-form-card .purchase-unit-help{
  background:#122033!important;
  border-color:#2f4663!important;
  color:#c6d4e6!important;
}
html[data-theme="dark"] .purchase-form-card .purchase-unit-help strong{
  color:#f7fbff!important;
}
@media (max-width: 767.98px){
  .purchase-payment-panel{padding:14px;}
  .purchase-payment-panel .row{row-gap:14px;}
}

/* V3.7.33 - Offline customer picker + Owner order risk guard */
.offline-customer-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;padding:14px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface-2)}
.offline-customer-note{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px dashed rgba(var(--ui-accent-rgb),.45);border-radius:11px;color:var(--ui-text)}.offline-customer-note i{font-size:18px;color:var(--ui-accent)}.offline-customer-note span{display:flex;flex-direction:column}.offline-customer-note small{color:var(--ui-text-soft);font-size:10px}
.owner-order-risk{margin-bottom:12px}.owner-risk-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.risk-summary{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--ui-border);border-radius:13px;text-decoration:none;background:var(--ui-surface-2)}.risk-summary i{width:38px;height:38px;display:grid;place-items:center;border-radius:10px}.risk-summary span{display:flex;flex-direction:column}.risk-summary small{font-size:9px;font-weight:900;color:var(--ui-text-soft)}.risk-summary b{font-size:20px;color:var(--ui-heading)}.risk-summary.loss i{color:#ef4444;background:rgba(239,68,68,.12)}.risk-summary.bep i{color:#f59e0b;background:rgba(245,158,11,.12)}.risk-summary.thin i{color:#fb923c;background:rgba(251,146,60,.12)}
.owner-risk-list{display:grid;gap:7px}.owner-risk-row{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(130px,.8fr)) 72px;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-surface-2);text-decoration:none;color:var(--ui-text)}.owner-risk-row>span{display:flex;flex-direction:column;min-width:0}.owner-risk-row small{font-size:9px;color:var(--ui-text-soft)}.owner-risk-row b{color:var(--ui-heading)}.owner-risk-row em{font-style:normal;font-weight:900;font-size:10px;text-align:center;padding:6px 8px;border-radius:999px}.owner-risk-row.status-loss em{color:#fecaca;background:rgba(220,38,38,.25)}.owner-risk-row.status-bep em{color:#fde68a;background:rgba(217,119,6,.22)}.owner-risk-row.status-thin em{color:#fed7aa;background:rgba(234,88,12,.22)}
@media(max-width:900px){.offline-customer-card{grid-template-columns:1fr}.owner-risk-summary{grid-template-columns:1fr}.owner-risk-row{grid-template-columns:1fr 1fr}.owner-risk-row>span:first-child,.owner-risk-row em{grid-column:1/-1}.owner-risk-row em{text-align:left;width:max-content}}

/* =========================================================
   v3.7.47 — Global Light/Dark Readability Audit
   Tujuan: semua halaman internal tetap terbaca pada mode terang & gelap.
   Tidak mengubah data / query / alur bisnis.
   ========================================================= */
:root,
html[data-theme="light"]{
  --ui-surface-soft:#f8fafc;
  --ui-control-bg:#f8fafc;
  --ui-control-text:#0f172a;
  --ui-placeholder:#7c8aa0;
}
html[data-theme="dark"]{
  --ui-surface-soft:#162235;
  --ui-control-bg:#17263b;
  --ui-control-text:#eef4fc;
  --ui-placeholder:#91a6bf;
}

/* Read-only detail dipakai Pembelian, Warehouse, QC, Service, User dan Master Data. */
.readonly-field{
  background:var(--ui-surface-2)!important;
  border-color:var(--ui-border)!important;
  color:var(--ui-text)!important;
}
.readonly-field>span{color:var(--ui-text-soft)!important}
.readonly-field>strong,
.readonly-value{
  color:var(--ui-heading)!important;
  font-weight:700;
}
.readonly-detail-page .alert-light{
  background:var(--ui-surface-2)!important;
  border-color:var(--ui-border)!important;
  color:var(--ui-text)!important;
}
.readonly-detail-page .alert-light strong{color:var(--ui-heading)!important}

/* Bootstrap light utilities harus mengikuti theme agar tidak terjadi putih-di-putih. */
.bg-light,
.text-bg-light,
.badge.text-bg-light,
.alert-light{
  background-color:var(--ui-surface-2)!important;
  color:var(--ui-text)!important;
  border-color:var(--ui-border)!important;
}
.alert-light strong,
.text-bg-light strong{color:var(--ui-heading)!important}
.btn-light{
  background:var(--ui-surface-2)!important;
  color:var(--ui-text)!important;
  border-color:var(--ui-border)!important;
}
.btn-light:hover,
.btn-light:focus{
  background:var(--ui-surface-3)!important;
  color:var(--ui-heading)!important;
  border-color:var(--ui-border)!important;
}
html[data-theme="dark"] .text-dark,
html[data-theme="dark"] .text-body{
  color:var(--ui-text)!important;
}

/* Form & placeholder readability. */
.form-label,
.form-check-label,
.input-group-text,
.modal-title,
.dropdown-item,
.dropdown-header{
  color:var(--ui-text)!important;
}
.input-group-text{
  background:var(--ui-surface-3)!important;
  border-color:var(--ui-border)!important;
}
.form-control::placeholder,
textarea::placeholder{color:var(--ui-placeholder)!important;opacity:1!important}
.form-select option{background:var(--ui-surface)!important;color:var(--ui-text)!important}

/* Dropdown/modal/list component compatibility. */
.dropdown-menu,
.modal-content,
.offcanvas,
.list-group-item,
.accordion-item,
.accordion-button{
  background-color:var(--ui-surface)!important;
  color:var(--ui-text)!important;
  border-color:var(--ui-border)!important;
}
.dropdown-item:hover,
.dropdown-item:focus,
.list-group-item-action:hover,
.accordion-button:not(.collapsed){
  background-color:var(--ui-surface-2)!important;
  color:var(--ui-heading)!important;
}

/* Table readability in both themes. */
.table>:not(caption)>*>*{color:var(--ui-text);border-color:var(--ui-border)}
.table thead th{color:var(--ui-text-soft)!important}
.table tbody strong,.table tbody b{color:var(--ui-heading)}

/* Purchase cards: light mode and dark mode share explicit readable foregrounds. */
.purchase-payment-panel,
.purchase-form-card .purchase-unit-help{
  color:var(--ui-text);
}
.purchase-payment-panel .form-label,
.purchase-payment-panel strong,
.purchase-form-card .purchase-unit-help strong{color:var(--ui-heading)}

/* Native browser controls/icons in dark mode. */
html[data-theme="dark"] input[type="date"],
html[data-theme="dark"] input[type="time"],
html[data-theme="dark"] input[type="datetime-local"]{color-scheme:dark}
html[data-theme="light"] input[type="date"],
html[data-theme="light"] input[type="time"],
html[data-theme="light"] input[type="datetime-local"]{color-scheme:light}

/* v3.8 - Dashboard owner: operasional di atas, keuangan setelah Penjualan/Alur Order/Gudang */
.owner-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:18px 2px 10px}.owner-section-heading-first{margin-top:10px}.owner-section-heading>div{min-width:0}.owner-section-heading small{display:block;font-size:9px;font-weight:900;letter-spacing:.10em;color:var(--ui-primary);margin-bottom:2px}.owner-section-heading h4{font-size:16px;line-height:1.2;margin:0;color:var(--ui-heading);font-weight:850}.owner-section-heading p{font-size:9px;color:var(--ui-text-soft);margin:3px 0 0}.owner-section-heading>a{font-size:9px;font-weight:800;color:var(--ui-primary);text-decoration:none;white-space:nowrap}.owner-kpi-grid-operational{grid-template-columns:repeat(5,minmax(0,1fr))}.owner-finance-section{margin:18px 0 14px;padding:14px;border:1px solid var(--ui-border);border-radius:17px;background:linear-gradient(180deg,var(--ui-surface),var(--ui-surface-2));box-shadow:var(--ui-shadow-sm)}.owner-finance-section .owner-section-heading{margin:0 2px 12px}.owner-finance-kpi-grid{grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:0}.owner-kpi-grid-operational .owner-kpi,.owner-finance-kpi-grid .owner-kpi{grid-template-columns:36px minmax(0,1fr) 12px;gap:7px;min-height:88px;padding:10px 9px}.owner-kpi-grid-operational .owner-kpi>i,.owner-finance-kpi-grid .owner-kpi>i{width:36px;height:36px;font-size:16px}.owner-kpi-grid-operational .owner-kpi small,.owner-finance-kpi-grid .owner-kpi small{font-size:8px}.owner-kpi-grid-operational .owner-kpi strong,.owner-finance-kpi-grid .owner-kpi strong{font-size:clamp(12px,1vw,16px)}.owner-kpi-grid-operational .owner-kpi em,.owner-finance-kpi-grid .owner-kpi em{font-size:8px;line-height:1.25}.owner-kpi-grid-operational .owner-kpi>b,.owner-finance-kpi-grid .owner-kpi>b{font-size:13px}.owner-finance-kpi-grid .owner-kpi{box-shadow:none}.owner-finance-kpi-grid .owner-kpi-profit{border-color:rgba(15,118,110,.42);box-shadow:0 0 0 1px rgba(15,118,110,.08)}.owner-finance-kpi-grid .owner-kpi-profit strong{color:#0f766e}
@media(max-width:1250px){.owner-kpi-grid-operational{grid-template-columns:repeat(3,minmax(0,1fr))}.owner-finance-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.owner-section-heading{align-items:flex-start;flex-direction:column}.owner-finance-section{padding:11px}.owner-finance-kpi-grid,.owner-kpi-grid-operational{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.owner-finance-kpi-grid,.owner-kpi-grid-operational{grid-template-columns:1fr}}

/* v3.8 - Dashboard pekerjaan non-Owner: aktivitas per petugas/channel */
.work-section-head{margin:24px 0 12px}.work-section-head small,.work-done-head small{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--primary,#0d6efd)}.work-section-head h4,.work-done-head h4{margin:3px 0 2px;font-size:18px}.work-section-head p,.work-done-head p{margin:0;color:var(--muted,#64748b);font-size:13px}.work-done-panel{margin-top:26px;border:1px solid var(--border,#dbe3ef);background:var(--card,#fff);border-radius:16px;padding:18px}.work-done-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.work-period-form{display:flex;gap:10px;align-items:flex-end}.work-period-form label{font-size:11px;font-weight:700;color:var(--muted,#64748b)}.work-period-form input{display:block;margin-top:5px;min-width:150px;padding:8px 10px;border:1px solid var(--border,#dbe3ef);border-radius:9px;background:var(--input-bg,var(--card,#fff));color:inherit}.work-quick-periods{display:flex;gap:8px;align-items:center;margin:15px 0;flex-wrap:wrap}.work-quick-periods a{padding:7px 12px;border:1px solid var(--border,#dbe3ef);border-radius:8px;text-decoration:none;color:inherit;font-size:12px;font-weight:700}.work-quick-periods a.active{background:var(--primary,#0d6efd);border-color:var(--primary,#0d6efd);color:#fff}.work-quick-periods span{margin-left:auto;font-size:12px;color:var(--muted,#64748b)}.work-channel-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.work-channel-cards>div{border:1px solid var(--border,#dbe3ef);border-radius:12px;padding:13px 15px;background:var(--surface-soft,rgba(148,163,184,.06))}.work-channel-cards small{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--muted,#64748b)}.work-channel-cards strong{display:block;font-size:24px;line-height:1.2;margin-top:4px}.work-channel-cards em{font-style:normal;font-size:11px;color:var(--muted,#64748b)}.work-stage-table-wrap{overflow-x:auto;border:1px solid var(--border,#dbe3ef);border-radius:12px}.work-stage-table{width:100%;border-collapse:collapse;min-width:650px}.work-stage-table th,.work-stage-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border,#dbe3ef);font-size:13px}.work-stage-table th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#64748b)}.work-stage-table tbody tr:last-child td{border-bottom:0}.work-stage-table td:not(:first-child):not(:last-child){text-align:center}.work-stage-table th:not(:first-child):not(:last-child){text-align:center}.work-stage-table a{text-decoration:none;font-weight:700}.work-count-note{display:flex;gap:8px;margin-top:12px;padding:10px 12px;border-radius:10px;background:rgba(13,110,253,.08);font-size:12px;color:var(--muted,#64748b)}
@media(max-width:900px){.work-done-head{align-items:stretch;flex-direction:column}.work-period-form{flex-wrap:wrap}.work-channel-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.work-quick-periods span{width:100%;margin-left:0}}@media(max-width:520px){.work-channel-cards{grid-template-columns:1fr}.work-period-form label,.work-period-form input{width:100%;min-width:0}.work-period-form button{width:100%}}


/* v3.8 Monitoring Tim - dashboard non Owner */
.work-done-panel-top{margin-top:14px;background:var(--ui-surface)!important;border-color:var(--ui-border)!important;color:var(--ui-text)!important;box-shadow:var(--ui-shadow-sm)}
.work-done-head h4,.work-section-head h4,.work-channel-cards strong,.work-stage-table td,.team-bottleneck h5{color:var(--ui-heading)!important}
.work-done-head p,.work-section-head p,.work-channel-cards em,.work-channel-cards small,.work-stage-table th,.team-wa-form small{color:var(--ui-text-soft)!important}
.work-period-form label{color:var(--ui-text-soft)!important}.work-period-form input,.work-period-form select{display:block;margin-top:5px;min-width:150px;padding:8px 10px;border:1px solid var(--ui-border)!important;border-radius:9px;background:var(--ui-surface-soft)!important;color:var(--ui-text)!important}
.work-channel-cards>div{background:var(--ui-surface-soft)!important;border-color:var(--ui-border)!important}.work-channel-cards>div strong{font-size:27px}.work-channel-cards .channel-shopee{border-top:3px solid #ee4d2d!important}.work-channel-cards .channel-tokopedia{border-top:3px solid #16a34a!important}.work-channel-cards .channel-offline{border-top:3px solid #8b5cf6!important}.work-channel-cards .work-channel-total{border-top:3px solid var(--ui-primary)!important}
.work-stage-table-wrap{border-color:var(--ui-border)!important;background:var(--ui-surface)!important}.work-stage-table th,.work-stage-table td{border-color:var(--ui-border)!important}.work-stage-table tbody tr:hover{background:var(--ui-surface-soft)}.work-stage-table td small{display:block;color:var(--ui-text-soft);font-size:10px;margin-top:2px}
.team-monitor-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}.team-bottleneck{border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-surface-soft);padding:14px}.team-bottleneck-head{margin-bottom:8px}.team-bottleneck-head small{font-size:10px;font-weight:850;letter-spacing:.1em;color:var(--ui-primary)}.team-bottleneck-head h5{margin:2px 0 0}.team-bottleneck>a{display:flex;justify-content:space-between;align-items:center;padding:11px 5px;border-bottom:1px solid var(--ui-border);text-decoration:none;color:var(--ui-text)}.team-bottleneck>a b{font-size:20px;color:var(--ui-heading)}.team-wa-form{margin-top:14px}.team-wa-form small{display:block;margin-top:7px;line-height:1.35}.work-count-note{background:var(--ui-primary-soft)!important;color:var(--ui-text-soft)!important}
@media(max-width:1050px){.team-monitor-grid{grid-template-columns:1fr}.team-bottleneck{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.team-bottleneck-head,.team-wa-form{grid-column:1/-1}.team-bottleneck>a{border:1px solid var(--ui-border);border-radius:9px;padding:10px}}
@media(max-width:700px){.team-bottleneck{grid-template-columns:1fr}.team-bottleneck-head,.team-wa-form{grid-column:auto}.work-period-form select{width:100%;min-width:0}}

/* v3.9 - Total Aset Barang & Permodalan */
.stock-summary-cards-v39{grid-template-columns:repeat(6,minmax(0,1fr))}
.stock-card-owned .stock-summary-icon{background:#eef2ff;color:#4f46e5}
html[data-theme="dark"] .stock-card-owned .stock-summary-icon{background:#24264d;color:#a5b4fc}
.stock-asset-position{padding:16px}
.stock-position-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.stock-position-grid>div,.stock-finance-grid>div{border:1px solid var(--ui-border);background:var(--ui-surface-2);border-radius:12px;padding:12px;display:flex;flex-direction:column;min-width:0}
.stock-position-grid span,.stock-finance-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:800;color:var(--ui-text-soft)}
.stock-position-grid strong{font-size:21px;color:var(--ui-heading);margin-top:4px}.stock-position-grid small,.stock-finance-grid small{font-size:9px;color:var(--ui-text-soft);margin-top:4px}
.stock-position-grid .is-total{border-color:var(--ui-primary);background:var(--ui-primary-soft)}
.stock-position-grid .is-transit{border-style:dashed}
.stock-finance-title{display:flex;justify-content:space-between;align-items:center;margin:18px 0 8px;padding-top:14px;border-top:1px solid var(--ui-border)}
.stock-finance-title>div{display:flex;flex-direction:column}.stock-finance-title small{color:var(--ui-text-soft);font-size:10px}
.stock-finance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.stock-finance-grid strong{font-size:18px;color:var(--ui-heading);margin-top:5px}.stock-finance-grid .is-primary{border-color:#60a5fa}.stock-finance-grid .is-success{border-color:#34d399}.stock-finance-grid .is-warning{border-color:#fbbf24}.stock-finance-grid .is-danger{border-color:#f87171}
@media(max-width:1350px){.stock-summary-cards-v39{grid-template-columns:repeat(3,minmax(0,1fr))}.stock-position-grid,.stock-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.stock-summary-cards-v39,.stock-position-grid,.stock-finance-grid{grid-template-columns:1fr}}

/* v4.0 - Performa Karyawan: hanya pekerjaan operasional nyata, 15 karyawan/halaman */
.performance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.performance-summary>div{background:var(--panel,#fff);border:1px solid var(--border,#dfe6ef);border-radius:14px;padding:16px 18px;min-height:96px;display:flex;flex-direction:column;justify-content:center}.performance-summary span{font-size:13px;font-weight:700}.performance-summary strong{font-size:28px;line-height:1.1;margin:4px 0}.performance-summary small{color:var(--muted,#7b8794)}.performance-name{text-decoration:none}.performance-name:hover{text-decoration:underline}.performance-badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.perf-excellent{background:#d9f7e5;color:#12713a}.perf-good{background:#e2f0ff;color:#185d99}.perf-fair{background:#fff2c9;color:#875c00}.perf-review{background:#ffe0e0;color:#a02222}.perf-none{background:#e7ebf0;color:#66717e}.performance-table td{vertical-align:middle}@media(max-width:1100px){.performance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.performance-summary{grid-template-columns:1fr}}

/* v4.0 global photo preview portrait-only UI
 * Changes display only. Original uploaded files are untouched and full-size links/modals remain original.
 */
:root{--xstech-photo-preview-ratio:3/4;--xstech-photo-preview-max:220px}

/* Generic thumbnails used across operational modules */
.thumb,
.evidence-thumb,
.sablon-thumb,
.reject-qc-preview,
.employee-photo-preview,
.employee-id-photo,
.process-history-photo-card img,
.process-receipt-original img,
.claim-qty-photo-grid img,
.qcqty-photo-grid img,
.qty-photo-item img,
.readonly-hero-image{
  aspect-ratio:var(--xstech-photo-preview-ratio)!important;
  width:auto;
  height:auto;
  object-fit:cover!important;
  object-position:center!important;
}

/* Keep compact thumbnails compact, but portrait */
.thumb{width:52px!important;height:69px!important}
.evidence-thumb{width:72px!important;height:96px!important}
.sablon-thumb{width:72px!important;height:96px!important}
.reject-qc-preview{width:112px!important;height:149px!important;max-width:100%}
.employee-photo-preview{width:72px!important;height:96px!important}
.employee-id-photo{width:96px!important;height:128px!important}

/* Photo galleries/cards: portrait preview cards, click still opens original image */
.process-history-photo-grid{align-items:start}
.process-history-photo-card{max-width:180px}
.process-history-photo-card img{width:100%!important;max-height:none!important}
.process-receipt-original{max-width:180px!important}
.process-receipt-original img{width:100%!important;max-height:none!important;background:var(--ui-surface-2)}
.claim-qty-photo-grid img,.qcqty-photo-grid img,.qty-photo-item img{width:100%!important;max-width:160px!important;height:auto!important;max-height:none!important}
.readonly-hero-image{width:min(100%,220px)!important;max-width:220px!important;max-height:none!important}

/* QC / Service photo pair uses portrait preview without touching original file */
.claim-photo-pair img{
  width:min(100%,220px)!important;
  aspect-ratio:var(--xstech-photo-preview-ratio)!important;
  height:auto!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Customer/public photo preview cards */
.photos img{
  aspect-ratio:var(--xstech-photo-preview-ratio)!important;
  object-fit:cover!important;
  object-position:center!important;
}

@media(max-width:575px){
  .process-history-photo-card{max-width:150px}
  .claim-photo-pair img{width:min(100%,180px)!important}
}

/* v6.0 - Global UI contrast/readability only
 * Display-only: no workflow, data, stock or business logic changes.
 */
:root{
  --xstech-control-border:#64748b;
  --xstech-control-border-strong:#475569;
  --xstech-check-border:#64748b;
  --xstech-muted-readable:#52637a;
}
html[data-theme="dark"]{
  --xstech-control-border:#5f7694;
  --xstech-control-border-strong:#86a3c4;
  --xstech-check-border:#7f9bbb;
  --xstech-muted-readable:#a9bdd4;
}

/* Checkbox/radio: empty controls must remain clearly visible in both themes. */
.form-check-input{
  border:1.5px solid var(--xstech-check-border)!important;
  background-color:var(--ui-surface-2)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}
.form-check-input:hover:not(:disabled){
  border-color:var(--ui-primary)!important;
  box-shadow:0 0 0 2px var(--ui-primary-soft)!important;
}
.form-check-input:focus{
  border-color:var(--ui-primary)!important;
  box-shadow:0 0 0 3px var(--ui-primary-soft)!important;
}
.form-check-input:checked,
.form-check-input[type="checkbox"]:indeterminate{
  background-color:var(--ui-primary)!important;
  border-color:var(--ui-primary)!important;
}
/* Preserve Bootstrap's white tick/dot while forcing a strong checked state. */
.form-check-input:checked[type="checkbox"]{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-7'/%3e%3c/svg%3e")!important;
}
.form-check-input:checked[type="radio"]{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")!important;
}
.form-check-input:disabled{
  opacity:.62!important;
  border-color:var(--xstech-control-border)!important;
}
.form-check-input:disabled + .form-check-label,
.form-check-input[disabled] ~ span{opacity:.78}

/* Inputs/selects/textareas: their edges and entered values should never disappear into panels. */
.form-control,.form-select,textarea,
input[type="text"],input[type="search"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="time"],input[type="password"],input[type="email"],input[type="tel"]{
  border-color:var(--xstech-control-border)!important;
}
.form-control:focus,.form-select:focus,textarea:focus,
input:focus{
  border-color:var(--ui-primary)!important;
  box-shadow:0 0 0 3px var(--ui-primary-soft)!important;
}
.form-control::placeholder,textarea::placeholder,input::placeholder{
  color:var(--ui-placeholder)!important;
  opacity:1!important;
}

/* Secondary/helper text remains secondary, but readable. */
.text-secondary,.text-muted,.form-text,
small.text-secondary,small.text-muted{
  color:var(--xstech-muted-readable)!important;
}
html[data-theme="dark"] .text-secondary,
html[data-theme="dark"] .text-muted,
html[data-theme="dark"] .form-text{
  color:var(--xstech-muted-readable)!important;
}

/* Pagination: white/light buttons need strong labels, current page remains obvious. */
.pagination .page-link{
  color:var(--ui-text)!important;
  border-color:var(--xstech-control-border)!important;
  background:var(--ui-surface)!important;
  font-weight:650;
}
.pagination .page-link:hover,.pagination .page-link:focus{
  color:var(--ui-primary)!important;
  border-color:var(--ui-primary)!important;
  background:var(--ui-primary-soft)!important;
}
.pagination .page-item.active .page-link{
  color:#fff!important;
  background:var(--ui-primary)!important;
  border-color:var(--ui-primary)!important;
}
.pagination .page-item.disabled .page-link{opacity:.62!important;color:var(--ui-text-soft)!important}

/* Outline/light controls: maintain readable text in light and dark themes. */
.btn-outline-primary{color:var(--ui-primary)!important;border-color:var(--ui-primary)!important}
.btn-outline-primary:hover,.btn-outline-primary:focus{color:#fff!important;background:var(--ui-primary)!important}
.btn-outline-secondary,.btn-outline-dark{color:var(--ui-text)!important;border-color:var(--xstech-control-border)!important}
.btn-outline-secondary:hover,.btn-outline-secondary:focus,.btn-outline-dark:hover,.btn-outline-dark:focus{
  color:var(--ui-heading)!important;background:var(--ui-surface-3)!important;border-color:var(--xstech-control-border-strong)!important;
}

/* Small status/category badges should retain contrast instead of fading into their background. */
.badge{font-weight:750}
html[data-theme="dark"] .badge.bg-light,
html[data-theme="dark"] .badge.text-bg-light{color:var(--ui-heading)!important}

/* Clickable/active labels and links need a clearly visible foreground. */
a:not(.btn):not(.nav-link):not(.page-link){text-underline-offset:2px}
.user-role-check:checked ~ span,
.permission-checkbox:checked ~ span strong{color:var(--ui-primary)!important;font-weight:750}

/* ===== v6.1 - GLOBAL VISUAL POLISH ONLY =====
   CSS/theme only. No data, stock, workflow, permission, route or PHP logic changes. */
:root,html[data-theme="light"]{
  --xstech-side-top:#10233f;
  --xstech-side-mid:#17385f;
  --xstech-side-bottom:#0c1a2f;
  --xstech-side-line:rgba(125,211,252,.16);
  --xstech-side-hover:rgba(59,130,246,.16);
  --xstech-side-active-a:#1479ff;
  --xstech-side-active-b:#2563eb;
}
html[data-theme="dark"]{
  --xstech-side-top:#071323;
  --xstech-side-mid:#0d2340;
  --xstech-side-bottom:#050d18;
  --xstech-side-line:rgba(96,165,250,.18);
  --xstech-side-hover:rgba(59,130,246,.14);
  --xstech-side-active-a:#1683ff;
  --xstech-side-active-b:#1d4ed8;
}
/* Sidebar intentionally stays a rich gradient in LIGHT mode too: clearer hierarchy than a flat pale sidebar. */
.sidebar,
html[data-theme="light"] .sidebar,
html[data-theme="dark"] .sidebar{
  background:
    radial-gradient(circle at 12% 7%,rgba(56,189,248,.13),transparent 25%),
    linear-gradient(165deg,var(--xstech-side-top) 0%,var(--xstech-side-mid) 48%,var(--xstech-side-bottom) 100%)!important;
  border-right:1px solid var(--xstech-side-line)!important;
  box-shadow:10px 0 34px rgba(2,8,23,.14)!important;
}
.sidebar .brand{color:#fff!important;text-shadow:0 1px 10px rgba(56,189,248,.12)}
.sidebar .brand i{color:#eaf7ff!important}
.sidebar .user-box{margin:0 10px 8px!important;padding:12px 14px!important;border:1px solid rgba(148,163,184,.14)!important;border-radius:14px!important;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.sidebar .user-box>i{color:#38bdf8!important;font-size:25px!important}.sidebar .user-box strong{color:#fff!important;font-weight:800!important}.sidebar .user-box small{color:#dbeafe!important;background:rgba(148,163,184,.28)!important;border:1px solid rgba(191,219,254,.12)!important;font-weight:650!important}
.side-nav .nav-label{color:#9db7d5!important;opacity:1!important}
.side-nav a,.nav-group-toggle{color:#d5e3f4!important}
.side-nav a i,.nav-group-toggle i{color:#9fc9f7!important}
.side-nav a:hover,.nav-group-toggle:hover{background:var(--xstech-side-hover)!important;color:#fff!important}
.side-nav a.active,.nav-group-toggle.active,.nav-group.open>.nav-group-toggle{
  color:#fff!important;
  background:linear-gradient(90deg,var(--xstech-side-active-a),var(--xstech-side-active-b))!important;
  border-color:rgba(147,197,253,.42)!important;
  box-shadow:0 7px 20px rgba(37,99,235,.22),inset 0 1px 0 rgba(255,255,255,.15)!important;
}
.side-nav a.active i,.nav-group-toggle.active i,.nav-group.open>.nav-group-toggle i{color:#fff!important}
.nav-group-menu{border-left-color:rgba(147,197,253,.18)!important}
.logout-form,.sidebar .logout-form{background:linear-gradient(180deg,rgba(7,17,31,.12),rgba(5,13,24,.72))!important;border-top:1px solid rgba(148,163,184,.12)!important}
.logout-form button{color:#ff7185!important;font-weight:700!important}
/* Crisp controls and small labels across both modes. */
.form-check-input{min-width:1em;min-height:1em;border-width:1.6px!important}
.form-check-input:not(:checked){box-shadow:inset 0 0 0 1px rgba(59,130,246,.08)!important}
.form-check-input:checked{box-shadow:0 0 0 2px var(--ui-primary-soft)!important}
.badge,.status-badge,[class*="badge-"]{letter-spacing:.01em}
.pagination .page-link{min-width:36px;text-align:center}
html[data-theme="light"] .text-secondary,html[data-theme="light"] .text-muted,html[data-theme="light"] .form-text{color:#53657d!important}
html[data-theme="dark"] .text-secondary,html[data-theme="dark"] .text-muted,html[data-theme="dark"] .form-text{color:#a9bdd4!important}
/* Slight visual depth without adding scripts or runtime work. */
.panel,.card{border-color:var(--ui-border)!important}
html[data-theme="light"] .panel,html[data-theme="light"] .card{box-shadow:0 5px 18px rgba(15,23,42,.045)}

/* ===== v6.2 - SIDEBAR THEME CONTRAST FIX =====
   Visual-only override. Light mode gets a truly light gradient sidebar;
   dark mode gets a richer blue/navy gradient. No behavior changes. */

/* LIGHT MODE: bright gradient sidebar like modern OLT-style UI */
html[data-theme="light"] .sidebar{
  background:
    radial-gradient(circle at 18% 5%,rgba(59,130,246,.18),transparent 28%),
    radial-gradient(circle at 88% 92%,rgba(99,102,241,.10),transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f4f8ff 38%,#eaf2ff 72%,#e5efff 100%)!important;
  color:#0f172a!important;
  border-right:1px solid #c7d7ef!important;
  box-shadow:10px 0 30px rgba(37,99,235,.10)!important;
}
html[data-theme="light"] .sidebar .brand{
  color:#10213c!important;
  text-shadow:none!important;
}
html[data-theme="light"] .sidebar .brand i{color:#2563eb!important}
html[data-theme="light"] .sidebar .user-box{
  background:linear-gradient(135deg,#ffffff 0%,#eef5ff 58%,#e4efff 100%)!important;
  border:1px solid #bfd2ef!important;
  box-shadow:0 8px 22px rgba(37,99,235,.09),inset 0 1px 0 #fff!important;
}
html[data-theme="light"] .sidebar .user-box>i{color:#0ea5e9!important}
html[data-theme="light"] .sidebar .user-box strong{color:#0f172a!important}
html[data-theme="light"] .sidebar .user-box small{
  color:#ffffff!important;
  background:linear-gradient(90deg,#2563eb,#3b82f6)!important;
  border:1px solid rgba(37,99,235,.22)!important;
  box-shadow:0 3px 9px rgba(37,99,235,.20)!important;
  font-weight:750!important;
}
html[data-theme="light"] .sidebar .nav-label{color:#64748b!important;opacity:1!important}
html[data-theme="light"] .sidebar .side-nav a,
html[data-theme="light"] .sidebar .nav-group-toggle{
  color:#24364d!important;
}
html[data-theme="light"] .sidebar .side-nav a i,
html[data-theme="light"] .sidebar .nav-group-toggle i{
  color:#5c789c!important;
}
html[data-theme="light"] .sidebar .side-nav a:hover,
html[data-theme="light"] .sidebar .nav-group-toggle:hover,
html[data-theme="light"] .sidebar .nav-group-menu a:hover{
  color:#0f4fbf!important;
  background:linear-gradient(90deg,rgba(37,99,235,.10),rgba(59,130,246,.05))!important;
}
html[data-theme="light"] .sidebar .side-nav a.active,
html[data-theme="light"] .sidebar .nav-group-toggle.active,
html[data-theme="light"] .sidebar .nav-group.open>.nav-group-toggle,
html[data-theme="light"] .sidebar .nav-group:has(a.active)>.nav-group-toggle{
  color:#fff!important;
  background:linear-gradient(90deg,#0f7cf7 0%,#2563eb 62%,#4f46e5 100%)!important;
  border-color:rgba(37,99,235,.28)!important;
  box-shadow:0 8px 20px rgba(37,99,235,.25),inset 0 1px 0 rgba(255,255,255,.22)!important;
}
html[data-theme="light"] .sidebar .side-nav a.active i,
html[data-theme="light"] .sidebar .nav-group-toggle.active i,
html[data-theme="light"] .sidebar .nav-group.open>.nav-group-toggle i,
html[data-theme="light"] .sidebar .nav-group:has(a.active)>.nav-group-toggle i{color:#fff!important}
html[data-theme="light"] .sidebar .nav-group-menu{border-left-color:#c5d7f2!important}
html[data-theme="light"] .sidebar .nav-group-menu a{color:#405670!important}
html[data-theme="light"] .sidebar .logout-form{
  background:linear-gradient(180deg,rgba(238,245,255,.55),rgba(226,237,255,.95))!important;
  border-top:1px solid #cad9ef!important;
}
html[data-theme="light"] .sidebar .logout-form button{color:#dc3545!important}

/* DARK MODE: noticeably richer blue/navy gradient instead of flat navy */
html[data-theme="dark"] .sidebar{
  background:
    radial-gradient(circle at 8% 4%,rgba(14,165,233,.22),transparent 27%),
    radial-gradient(circle at 92% 78%,rgba(79,70,229,.18),transparent 34%),
    linear-gradient(165deg,#06111f 0%,#0a2340 42%,#102d50 68%,#071321 100%)!important;
  border-right:1px solid rgba(96,165,250,.24)!important;
  box-shadow:12px 0 34px rgba(0,0,0,.26)!important;
}
html[data-theme="dark"] .sidebar .user-box{
  background:linear-gradient(135deg,rgba(30,64,103,.78),rgba(18,43,75,.74))!important;
  border:1px solid rgba(125,211,252,.20)!important;
  box-shadow:0 8px 22px rgba(2,8,23,.22),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
html[data-theme="dark"] .sidebar .user-box small{
  color:#fff!important;
  background:linear-gradient(90deg,#0b74e5,#2563eb)!important;
  border:1px solid rgba(147,197,253,.24)!important;
  box-shadow:0 3px 10px rgba(37,99,235,.24)!important;
  font-weight:750!important;
}
html[data-theme="dark"] .sidebar .side-nav a.active,
html[data-theme="dark"] .sidebar .nav-group-toggle.active,
html[data-theme="dark"] .sidebar .nav-group.open>.nav-group-toggle,
html[data-theme="dark"] .sidebar .nav-group:has(a.active)>.nav-group-toggle{
  background:linear-gradient(90deg,#0c82ff 0%,#2563eb 64%,#4f46e5 100%)!important;
  box-shadow:0 8px 22px rgba(37,99,235,.30),inset 0 1px 0 rgba(255,255,255,.18)!important;
}

/* Make small role/status pills visible in both modes. */
.sidebar .user-box small{padding:3px 9px!important;border-radius:999px!important;line-height:1.25!important}

/* ===== v6.3 - KPI GRADIENT + SERIAL NUMBER VISUAL POLISH =====
   Visual-only: static CSS gradients, no JS/background process, no data/workflow changes. */

/* KPI / summary cards: richer OLT-inspired static gradients */
.summary-card,
.owner-kpi,
.stock-summary-card,
.product-summary-card,
.report-summary-card,
.work-dashboard-card,
.work-channel-cards>div{
  position:relative;overflow:hidden;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.10)!important;
}
.summary-card:after,.owner-kpi:after,.stock-summary-card:after,.product-summary-card:after,.report-summary-card:after,.work-dashboard-card:after,.work-channel-cards>div:after{
  content:"";position:absolute;right:-28px;top:-42px;width:105px;height:105px;border-radius:50%;background:rgba(255,255,255,.10);pointer-events:none
}
/* Default / blue */
.summary-cards .summary-card,.owner-kpi,.stock-summary-card,.product-summary-card,.report-summary-card,.work-dashboard-card,.work-channel-cards>div{
  background:linear-gradient(135deg,#1769e8 0%,#3985f6 100%)!important;color:#fff!important
}
/* semantic tones */
.summary-card.is-success,
.summary-card:has(.summary-green),.owner-kpi.kpi-green,.owner-kpi.kpi-emerald,.stock-card-ready,.work-dashboard-card.tone-success{background:linear-gradient(135deg,#07955f,#21bd76)!important}
.summary-card.is-warning,.owner-kpi.kpi-orange,.owner-kpi.kpi-amber,.stock-card-service,.work-dashboard-card.tone-warning{background:linear-gradient(135deg,#d97706,#f59e0b)!important}
.summary-card.is-danger,.owner-kpi.kpi-red,.stock-card-reject,.work-dashboard-card.tone-danger,.report-summary-card.report-danger{background:linear-gradient(135deg,#dc2626,#f04444)!important}
.owner-kpi.kpi-purple,.stock-card-claim{background:linear-gradient(135deg,#7c3aed,#a855f7)!important}
.owner-kpi.kpi-teal,.work-dashboard-card.tone-info{background:linear-gradient(135deg,#078b91,#18b7bd)!important}
.owner-kpi.kpi-slate{background:linear-gradient(135deg,#475569,#64748b)!important}
/* Keep all card content readable in both themes */
.summary-card span,
.summary-card .sc-label,.summary-card strong,
.summary-card .sc-value,.summary-card .sc-note,
.owner-kpi small,.owner-kpi strong,.owner-kpi em,.owner-kpi>b,
.stock-summary-card span,.stock-summary-card strong,.stock-summary-card small,
.product-summary-card span,.product-summary-card strong,.product-summary-card small,
.report-summary-card span,.report-summary-card strong,
.work-dashboard-card,.work-dashboard-card small,.work-dashboard-card strong,
.work-channel-cards>div small,.work-channel-cards>div strong,.work-channel-cards>div em{color:#fff!important}
.summary-card .summary-icon,
.summary-card .sc-icon,.owner-kpi>i,.work-dashboard-icon{background:rgba(255,255,255,.15)!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)}
.summary-cards .summary-card.is-active,.summary-cards .summary-card.is-clickable:hover,.owner-kpi:hover,.stock-summary-card:hover,.work-dashboard-card:hover{border-color:rgba(255,255,255,.52)!important;box-shadow:0 10px 26px rgba(15,23,42,.18)!important}

/* SN/code presentation: larger, calmer and clearly separated from the table background. */
.table code,.sn-code,.process-sn-list strong{
  display:inline-block!important;
  max-width:100%;
  padding:5px 9px!important;
  border-radius:7px!important;
  border:1px solid rgba(37,99,235,.18)!important;
  background:linear-gradient(180deg,#f8fbff,#eaf2ff)!important;
  color:#174a83!important;
  font-size:11px!important;
  font-weight:750!important;
  line-height:1.65!important;
  letter-spacing:.025em!important;
  white-space:pre-line!important;
  overflow-wrap:anywhere!important;
  box-shadow:0 1px 3px rgba(15,23,42,.06)!important;
}
html[data-theme="dark"] .table code,html[data-theme="dark"] .sn-code,html[data-theme="dark"] .process-sn-list strong{
  background:linear-gradient(180deg,#17304f,#10253e)!important;
  color:#d8ecff!important;
  border-color:rgba(96,165,250,.32)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
/* Claims/SN cells get comfortable width so serials do not look squeezed. */
.table th:nth-child(6),.table td:nth-child(6){vertical-align:middle}
@media(max-width:575px){
 .summary-cards .summary-card,.owner-kpi,.stock-summary-card,.product-summary-card,.report-summary-card,.work-dashboard-card,.work-channel-cards>div{box-shadow:0 5px 14px rgba(15,23,42,.10)!important}
 .table code,.sn-code{font-size:10px!important;padding:4px 7px!important}
}

/* v6.4 - Account dropdown from topbar user card (all roles) */
.topbar-user-menu{position:relative}
.topbar-user{appearance:none;-webkit-appearance:none;font:inherit;cursor:pointer;text-align:left;min-width:0;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.topbar-user:hover,.topbar-user:focus-visible,.topbar-user[aria-expanded="true"]{border-color:rgba(37,99,235,.42);box-shadow:0 0 0 3px rgba(37,99,235,.08);outline:none}
.topbar-user-caret{font-size:11px;color:var(--ui-text-soft);margin-left:2px;transition:transform .15s ease}
.topbar-user[aria-expanded="true"] .topbar-user-caret{transform:rotate(180deg)}
.account-dropdown{min-width:220px;padding:8px;border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-surface);box-shadow:0 14px 34px rgba(15,23,42,.18)}
.account-dropdown-head{padding:8px 11px 7px;display:flex;flex-direction:column;line-height:1.25}
.account-dropdown-head strong{font-size:13px;color:var(--ui-heading)}
.account-dropdown-head small{font-size:11px;color:var(--ui-text-soft);margin-top:3px;white-space:normal}
.account-dropdown .dropdown-divider{border-color:var(--ui-border);margin:4px 0 6px}
.account-dropdown .dropdown-item{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:9px;color:var(--ui-text);font-size:13px;font-weight:600;background:transparent}
.account-dropdown .dropdown-item i{width:18px;text-align:center;color:var(--ui-primary)}
.account-dropdown .dropdown-item:hover,.account-dropdown .dropdown-item:focus{background:var(--ui-primary-soft);color:var(--ui-heading)}
.account-dropdown .account-logout{width:100%;border:0}
.account-dropdown .account-logout,.account-dropdown .account-logout i{color:#dc3545}
.account-dropdown .account-logout:hover,.account-dropdown .account-logout:focus{background:rgba(220,53,69,.09);color:#dc3545}
html[data-theme="dark"] .account-dropdown{box-shadow:0 16px 38px rgba(0,0,0,.42)}
@media(max-width:767.98px){
  .topbar-user{padding:5px 7px!important;gap:7px!important;min-height:42px}
  .topbar-user-text{display:flex!important;max-width:104px;overflow:hidden}
  .topbar-user-text strong,.topbar-user-text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topbar-user-caret{display:none}
  .account-dropdown{min-width:205px;margin-top:6px!important}
}
@media(max-width:390px){
  .topbar-actions{gap:7px!important}
  .topbar-user-text{max-width:82px}
  .topbar-user{padding-right:6px!important}
}

/* =========================================================
   v6.5 — Mobile viewport/header fit only
   Visual-only responsive override; desktop/business logic unchanged.
   ========================================================= */
@media (max-width: 767.98px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .app-shell,.main,.content{width:100%!important;max-width:100%!important;min-width:0!important}
  .main{overflow-x:hidden!important}

  .topbar{
    height:62px!important;min-height:62px!important;padding:7px 10px!important;
    gap:7px!important;align-items:center!important;overflow:visible!important
  }
  .topbar-left{display:flex!important;align-items:center!important;gap:7px!important;flex:1 1 auto!important;min-width:0!important;overflow:hidden!important}
  .topbar-left>.icon-btn{flex:0 0 38px!important}
  .page-heading{min-width:0!important;max-width:100%!important;overflow:hidden!important}
  .page-heading h1,.topbar h1{
    font-size:16px!important;line-height:1.08!important;margin:0!important;
    max-width:clamp(105px,34vw,170px)!important;white-space:nowrap!important;
    overflow:hidden!important;text-overflow:ellipsis!important
  }
  .topbar-subtitle{
    font-size:10px!important;line-height:1.15!important;margin-top:2px!important;
    max-width:clamp(105px,36vw,180px)!important;white-space:nowrap!important;
    overflow:hidden!important;text-overflow:ellipsis!important
  }
  .topbar-actions{display:flex!important;align-items:center!important;gap:6px!important;flex:0 0 auto!important;min-width:0!important}
  .icon-btn{width:38px!important;height:38px!important;min-width:38px!important;flex:0 0 38px!important;border-radius:10px!important}

  /* On phones the avatar is the account button; full name/role stays inside dropdown. */
  .topbar-user-menu{flex:0 0 40px!important;min-width:40px!important}
  .topbar-user{
    width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;
    min-height:40px!important;padding:3px!important;gap:0!important;justify-content:center!important;
    border-radius:10px!important;overflow:hidden!important
  }
  .topbar-avatar{width:30px!important;height:30px!important;min-width:30px!important;flex:0 0 30px!important;border-radius:8px!important}
  .topbar-user-text,.topbar-user-caret{display:none!important}
  .account-dropdown{
    right:0!important;left:auto!important;min-width:min(220px,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;margin-top:6px!important
  }

  .content{
    padding:14px 12px calc(22px + env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important
  }
  .content img,.content svg,.content canvas,.content video{max-width:100%!important}
  .content input,.content select,.content textarea{max-width:100%!important}
  .table-responsive{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}

  .dashboard-toolbar{width:100%!important;max-width:100%!important;gap:14px!important}
  .modern-date-filter{width:100%!important;max-width:100%!important;min-width:0!important}
  .metric-grid,.dashboard-grid,.dashboard-side{width:100%!important;max-width:100%!important;min-width:0!important}
  .modern-metric,.modern-panel,.panel{max-width:100%!important;min-width:0!important}
}

@media (max-width: 430px){
  .topbar-subtitle{display:none!important}
  .page-heading h1,.topbar h1{max-width:clamp(95px,31vw,135px)!important;font-size:15px!important}
  .topbar{padding-left:8px!important;padding-right:8px!important}
  .topbar-left,.topbar-actions{gap:5px!important}
  .icon-btn{width:36px!important;height:36px!important;min-width:36px!important;flex-basis:36px!important}
  .topbar-user-menu{flex-basis:38px!important;min-width:38px!important}
  .topbar-user{width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important}
  .topbar-avatar{width:29px!important;height:29px!important;min-width:29px!important;flex-basis:29px!important}
  .content{padding-left:10px!important;padding-right:10px!important}
}

/* v6.5.9 - Owner Posisi Modal Barang: focused view + cleaner stock sidebar */
.stock-capital-page{display:grid;gap:14px}.capital-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.capital-page-head>div{min-width:0}.capital-stock-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.capital-stock-card{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);min-width:0}.capital-stock-card>i{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--ui-primary-soft);color:var(--ui-primary);font-size:18px;flex:0 0 auto}.capital-stock-card div{min-width:0}.capital-stock-card span{display:block;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:var(--ui-text-soft)}.capital-stock-card strong{display:block;font-size:20px;line-height:1.15;color:var(--ui-heading);margin-top:3px}.capital-stock-card small{display:block;font-size:9px;color:var(--ui-text-soft);margin-top:2px}.capital-stock-card.is-ready>i{background:rgba(16,185,129,.11);color:#059669}.capital-stock-card.is-transit>i{background:rgba(245,158,11,.11);color:#d97706}.capital-stock-card.is-owned{border-color:#60a5fa;background:linear-gradient(180deg,var(--ui-surface),var(--ui-primary-soft))}.capital-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.capital-section-head>div>strong{display:block;color:var(--ui-heading);font-size:14px}.capital-section-head small{display:block;color:var(--ui-text-soft);font-size:9px;margin-top:2px}.capital-estimate-note{white-space:nowrap}.capital-finance-panel,.capital-explain-panel,.capital-po-panel{padding:14px}.capital-finance-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.capital-finance-grid>div,.capital-finance-grid>a{display:flex;flex-direction:column;min-width:0;min-height:108px;padding:12px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface-2)}.capital-finance-grid span{font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:var(--ui-text-soft)}.capital-finance-grid strong{font-size:17px;color:var(--ui-heading);margin-top:6px}.capital-finance-grid small{font-size:9px;color:var(--ui-text-soft);margin-top:5px;line-height:1.35}.capital-finance-grid .is-primary{border-color:#60a5fa}.capital-finance-grid .is-success{border-color:#34d399}.capital-finance-grid .is-warning{border-color:#fbbf24}.capital-finance-grid .is-estimate{border-color:#93c5fd;background:linear-gradient(180deg,var(--ui-surface-2),rgba(59,130,246,.05))}.capital-debt-card{grid-column:span 2;justify-content:center}.capital-debt-card.is-safe{border-color:#34d399;background:rgba(16,185,129,.07)}.capital-debt-card.is-risk{border-color:#fb7185;background:rgba(244,63,94,.07)}.capital-debt-card.is-safe>strong{color:#059669}.capital-debt-card.is-risk>strong{color:#e11d48}.capital-debt-card>b{font-size:20px;color:var(--ui-heading);margin-top:4px}.capital-formula-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--ui-border);border-radius:12px;overflow:hidden;background:var(--ui-surface-2)}.capital-formula-grid>div{padding:13px 12px;border-right:1px solid var(--ui-border);min-width:0}.capital-formula-grid>div:last-child{border-right:0}.capital-formula-grid i{font-size:20px;color:var(--ui-primary);display:block;margin-bottom:8px}.capital-formula-grid strong{display:block;font-size:10px;color:var(--ui-heading);margin-bottom:5px}.capital-formula-grid p{font-size:9px;line-height:1.45;color:var(--ui-text-soft);margin:0}.capital-po-table{font-size:11px}.capital-po-table thead th{font-size:9px;text-transform:uppercase;letter-spacing:.03em;color:var(--ui-text-soft);white-space:nowrap}.capital-po-table td{white-space:nowrap}
@media(max-width:1450px){.capital-stock-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.capital-finance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.capital-formula-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.capital-formula-grid>div{border-bottom:1px solid var(--ui-border)}}@media(max-width:900px){.capital-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capital-formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capital-debt-card{grid-column:span 2}}@media(max-width:650px){.capital-page-head,.capital-section-head{flex-direction:column}.capital-stock-grid,.capital-finance-grid,.capital-formula-grid{grid-template-columns:1fr}.capital-debt-card{grid-column:auto}.capital-estimate-note{white-space:normal}}

/* v6.7.56 - Global sidebar hierarchy: parent active stays strong blue, active submenu uses cyan. */
.sidebar .nav-group-menu a.active{
  background:linear-gradient(90deg,#0891b2 0%,#0ea5e9 68%,#0284c7 100%)!important;
  color:#ffffff!important;
  border-color:rgba(103,232,249,.34)!important;
  box-shadow:inset 3px 0 0 #67e8f9,0 5px 14px rgba(8,145,178,.22)!important;
  transform:none!important;
  font-weight:750!important;
}
.sidebar .nav-group-menu a.active i{color:#ecfeff!important}
.sidebar .nav-group-menu a:hover{
  background:rgba(14,165,233,.12)!important;
  color:#e0f2fe!important;
}
html[data-theme="light"] .sidebar .nav-group-menu a.active{
  background:linear-gradient(90deg,#0891b2 0%,#06b6d4 62%,#0284c7 100%)!important;
  color:#ffffff!important;
  border-color:rgba(8,145,178,.28)!important;
  box-shadow:inset 3px 0 0 #a5f3fc,0 5px 14px rgba(8,145,178,.18)!important;
}
html[data-theme="light"] .sidebar .nav-group-menu a.active i{color:#ecfeff!important}
html[data-theme="light"] .sidebar .nav-group-menu a:hover{
  background:linear-gradient(90deg,rgba(6,182,212,.13),rgba(14,165,233,.07))!important;
  color:#0e7490!important;
}
html[data-theme="dark"] .sidebar .nav-group-menu a.active{
  background:linear-gradient(90deg,#0891b2 0%,#0ea5e9 68%,#0284c7 100%)!important;
  color:#ffffff!important;
  border-color:rgba(103,232,249,.34)!important;
  box-shadow:inset 3px 0 0 #67e8f9,0 5px 14px rgba(8,145,178,.22)!important;
}
html[data-theme="dark"] .sidebar .nav-group-menu a.active i{color:#ecfeff!important}

/* v6.5.12 - kartu Posisi Modal dapat ditelusuri ke sumber data tanpa mengubah data */
.capital-card-link{position:relative;color:inherit;text-decoration:none;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.capital-card-link:hover{color:inherit;text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 22px rgba(37,99,235,.12);border-color:var(--ui-primary)!important}.capital-card-link:focus-visible{outline:2px solid var(--ui-primary);outline-offset:2px}.capital-link-arrow{position:absolute!important;right:10px;bottom:10px;width:auto!important;height:auto!important;background:transparent!important;color:var(--ui-primary)!important;font-size:12px!important;opacity:.8}.capital-stock-card.capital-card-link{padding-right:30px}.capital-finance-grid>.capital-card-link{padding-right:30px}.capital-debt-card.capital-card-link{padding-right:34px}

/* v6.5.13 - Responsive photo viewer for browser + Android WebView; global and lightweight. */
.xstech-photo-viewer{position:fixed;inset:0;z-index:10950;display:none;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:rgba(2,8,23,.92);overscroll-behavior:contain}
.xstech-photo-viewer.is-open{display:flex}
.xstech-photo-viewer__dialog{position:relative;display:flex;align-items:center;justify-content:center;width:min(100%,1100px);height:min(92dvh,920px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:14px;overflow:hidden;background:#050b16;box-shadow:0 24px 80px rgba(0,0,0,.48)}
.xstech-photo-viewer__stage{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:0;padding:10px}
.xstech-photo-viewer__stage img{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:calc(100dvh - 52px)!important;object-fit:contain!important;object-position:center!important;margin:auto!important;border-radius:8px}
.xstech-photo-viewer__loading{color:#dbeafe;font-size:13px;text-align:center;padding:24px}
.xstech-photo-viewer__close{position:absolute;z-index:2;top:10px;right:10px;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(2,8,23,.78);color:#fff;font-size:18px;line-height:1;box-shadow:0 4px 16px rgba(0,0,0,.35)}
.xstech-photo-viewer__close:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}
html.photo-viewer-open,body.photo-viewer-open{overflow:hidden!important;overscroll-behavior:none}
@media(max-width:650px){.xstech-photo-viewer{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.xstech-photo-viewer__dialog{width:100%;height:100%;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.xstech-photo-viewer__stage{padding:8px}.xstech-photo-viewer__stage img{max-width:100%!important;max-height:calc(100dvh - 32px)!important}.xstech-photo-viewer__close{top:8px;right:8px;width:40px;height:40px}}

/* v6.5.18 — Order Offline: nama produk fleksibel, subtotal selalu terbaca penuh */
.owner-order-edit-form[data-order-source="OFFLINE"] .offline-order-product-grid,
.owner-order-edit-form[data-order-source="OFFLINE"] .owner-edit-product-grid{
 display:grid!important;
 grid-template-columns:minmax(240px,1fr) 92px minmax(165px,190px) minmax(165px,190px) minmax(165px,185px) 76px;
 gap:10px;align-items:end;margin-left:0;margin-right:0
}
.owner-order-edit-form[data-order-source="OFFLINE"] .owner-edit-product-grid>div{width:auto!important;max-width:none!important;padding-left:0;padding-right:0;min-width:0}
.owner-order-edit-form[data-order-source="OFFLINE"] .owner-edit-product-name .product-select{width:100%;min-width:0}
.owner-order-edit-form[data-order-source="OFFLINE"] .owner-edit-product-subtotal .subtotal{min-width:165px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.owner-order-edit-form[data-order-source="OFFLINE"] .owner-edit-product-remove .btn{width:100%;min-width:0}
@media(max-width:1180px){
 .owner-order-edit-form[data-order-source="OFFLINE"] .owner-edit-product-grid{grid-template-columns:minmax(220px,1fr) 90px minmax(155px,1fr) minmax(155px,1fr)}
 .owner-order-edit-form[data-order-source="OFFLINE"] .owner-edit-product-subtotal{grid-column:3}
 .owner-order-edit-form[data-order-source="OFFLINE"] .owner-edit-product-remove{grid-column:4}
}
@media(max-width:767px){
 .owner-order-edit-form[data-order-source="OFFLINE"] .owner-edit-product-grid{grid-template-columns:1fr 1fr}
 .owner-order-edit-form[data-order-source="OFFLINE"] .owner-edit-product-name{grid-column:1/-1}
 .owner-order-edit-form[data-order-source="OFFLINE"] .owner-edit-product-subtotal,.owner-order-edit-form[data-order-source="OFFLINE"] .owner-edit-product-remove{grid-column:auto}
 .owner-order-edit-form[data-order-source="OFFLINE"] .owner-edit-product-subtotal .subtotal{min-width:0}
}

/* v6.7 mobile notification + targeted responsive fixes */
.xstech-notification-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;border-radius:999px;background:#dc3545;color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;padding:0 4px}.xstech-notification-dropdown{width:min(380px,calc(100vw - 24px));max-height:70vh;overflow:hidden}.xstech-notification-list{max-height:56vh;overflow:auto}.xstech-notification-item{width:100%;border:0;border-bottom:1px solid var(--border-color,#e5e7eb);background:transparent;text-align:left;padding:11px 14px;display:grid;gap:3px;color:inherit}.xstech-notification-item:hover{background:rgba(37,99,235,.06)}.xstech-notification-item.is-unread{background:linear-gradient(90deg,rgba(37,99,235,.12),rgba(37,99,235,.02));border-left:3px solid #2563eb}.xstech-notification-item strong{font-size:13px}.xstech-notification-item span{font-size:12px;line-height:1.35}.xstech-notification-item small{font-size:10px;color:#6b7280}
@media(max-width:767px){.claims-mobile-table table{min-width:920px}.claims-mobile-table th,.claims-mobile-table td{white-space:normal;min-width:92px}.claims-mobile-table th:nth-child(6),.claims-mobile-table td:nth-child(6){min-width:180px}.claims-mobile-table code{white-space:normal;word-break:break-word;line-height:1.3}.qc23-pending-grid code{white-space:normal;word-break:break-word;min-width:0}.xstech-notification-dropdown{position:fixed!important;left:12px!important;right:12px!important;top:64px!important;width:auto!important;transform:none!important}}
/* v6.7.55 - purchase position cards: stronger contrast for desktop/mobile */
.purchase-simple-page .summary-card .summary-label,
.purchase-simple-page .summary-card small,
.purchase-simple-page .summary-card .summary-note { color: rgba(255,255,255,.94) !important; opacity: 1 !important; }
.purchase-simple-page .summary-card strong { color:#fff !important; }

/* v6.7.60 - Global Media Upload Handler */
.xstech-media-status{display:block;margin-top:.35rem;font-size:.78rem;line-height:1.35;color:var(--text-secondary,#91a4bb)}
.xstech-media-status.is-processing{color:#60a5fa}
.xstech-media-status.is-ready{color:#34d399}
.xstech-media-status.is-error{color:#f87171;font-weight:700}
.xstech-media-busy{opacity:.72;pointer-events:none}

/* v6.7.61 - Stok Siap Jual ringkas */
@media (min-width:1200px){
  .stock-ready-summary-v6761{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
  .stock-ready-summary-v6761 .stock-summary-card{min-width:0}
  .stock-ready-summary-v6761 .stock-summary-card strong{font-size:clamp(1.15rem,1.45vw,1.7rem)}
}
.stock-total-owned{font-size:1.05rem;white-space:nowrap}

/* v6.7.63 - Tambah Pembelian Barang: simple aligned form only */
.purchase-create-simple{max-width:none;width:100%}
.purchase-create-simple .purchase-form-section{border:1px solid var(--ui-border,#d9e2ec);border-radius:12px;padding:16px;background:var(--ui-card,#fff)}
.purchase-create-simple .purchase-section-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:var(--ui-heading,#172b4d);margin-bottom:14px}
.purchase-create-simple .purchase-section-title span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:rgba(13,110,253,.12);color:#0d6efd;font-size:12px}
.purchase-create-simple .purchase-aligned-grid>[class*="col-"],
.purchase-create-simple .purchase-payment-panel .row>[class*="col-"]{display:flex;flex-direction:column}
.purchase-create-simple .purchase-aligned-grid .form-label,
.purchase-create-simple .purchase-payment-panel .form-label,
.purchase-create-simple .purchase-totals-row .form-label{min-height:20px;margin-bottom:6px;font-weight:700;line-height:20px}
.purchase-create-simple .form-control,
.purchase-create-simple .form-select,
.purchase-create-simple .purchase-total{min-height:40px}
.purchase-create-simple .purchase-payment-panel{padding:0;border:0;background:transparent;box-shadow:none}
.purchase-create-simple .purchase-unit-help{padding:9px 11px;margin:0;border-radius:8px;font-size:12px;line-height:1.4}
.purchase-create-simple #purchaseItems{margin-bottom:0}
.purchase-create-simple #purchaseItems thead th{white-space:nowrap;vertical-align:middle}
.purchase-create-simple #purchaseItems tbody td{vertical-align:middle}
.purchase-create-simple #purchaseItems .form-control,
.purchase-create-simple #purchaseItems .form-select{min-height:36px;height:36px}
.purchase-create-simple .purchase-totals-row{align-items:start}
.purchase-create-simple .purchase-form-actions{padding-top:2px}
html[data-theme="dark"] .purchase-create-simple .purchase-form-section{background:var(--ui-card,#111f33);border-color:var(--ui-border,#2b405b)}
html[data-theme="dark"] .purchase-create-simple .purchase-section-title{color:var(--ui-heading,#fff)}
@media(max-width:767px){
 .purchase-create-simple .purchase-form-section{padding:13px}
 .purchase-create-simple .purchase-create-head{flex-direction:column}
 .purchase-create-simple .purchase-create-head .btn{width:100%}
 .purchase-create-simple .purchase-aligned-grid .form-label,
 .purchase-create-simple .purchase-payment-panel .form-label,
 .purchase-create-simple .purchase-totals-row .form-label{min-height:0}
}


/* v6.8 - Posisi Modal Barang: clean owner summary */
.capital-v68-clean{gap:16px}
.capital-clean-panel{padding:18px;border-radius:16px}
.capital-clean-title{font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--ui-text-soft);margin-bottom:14px}
.capital-clean-stock-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.capital-clean-stock{position:relative;display:grid;grid-template-columns:52px 1fr 18px;align-items:center;gap:14px;min-height:118px;padding:18px;border:1px solid var(--ui-border);border-radius:15px;background:var(--ui-surface-2);color:inherit;text-decoration:none}
.capital-clean-stock:hover{color:inherit;border-color:var(--ui-primary);transform:translateY(-1px)}
.capital-clean-stock>i:first-child{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:25px}
.capital-clean-stock>i:last-child{color:var(--ui-text-soft)}
.capital-clean-stock span{display:block;font-size:13px;font-weight:850;color:var(--ui-heading)}
.capital-clean-stock strong{display:block;font-size:24px;line-height:1.1;margin:6px 0 4px}
.capital-clean-stock small{display:block;font-size:10px;color:var(--ui-text-soft)}
.capital-clean-stock.ready>i:first-child{background:rgba(16,185,129,.18);color:#10b981}.capital-clean-stock.ready strong{color:#10b981}
.capital-clean-stock.process>i:first-child{background:rgba(139,92,246,.20);color:#8b5cf6}.capital-clean-stock.process strong{color:#8b5cf6}
.capital-clean-stock.claim>i:first-child{background:rgba(245,158,11,.18);color:#f59e0b}.capital-clean-stock.claim strong{color:#f59e0b}
.capital-clean-stock.transit>i:first-child{background:rgba(59,130,246,.18);color:#3b82f6}.capital-clean-stock.transit strong{color:#3b82f6}
.capital-owned-strip{margin-top:14px;display:grid;grid-template-columns:48px 210px 1fr auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface-2);color:inherit;text-decoration:none}
.capital-owned-strip:hover{color:inherit;border-color:var(--ui-primary)}.capital-owned-strip>i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--ui-primary-soft);color:var(--ui-primary);font-size:22px}
.capital-owned-strip span{display:block;font-size:11px;font-weight:800;color:var(--ui-text-soft)}.capital-owned-strip strong{display:block;font-size:20px;color:var(--ui-heading)}
.capital-owned-strip p{margin:0;font-size:10px;color:var(--ui-text-soft)}.capital-owned-strip b{font-size:10px;color:var(--ui-primary);white-space:nowrap}
.capital-clean-finance-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.capital-clean-finance{min-height:175px;padding:17px;border:1px solid var(--ui-border);border-radius:15px;background:var(--ui-surface-2);color:inherit;text-decoration:none}
a.capital-clean-finance:hover{color:inherit;transform:translateY(-1px)}
.capital-clean-finance>i{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;font-size:20px;margin-bottom:12px}
.capital-clean-finance span{display:block;font-size:13px;font-weight:850;color:var(--ui-heading);line-height:1.25}
.capital-clean-finance strong{display:block;font-size:20px;line-height:1.2;margin:14px 0 9px;white-space:nowrap}
.capital-clean-finance small{font-size:10px;line-height:1.45;color:var(--ui-text-soft)}
.capital-clean-finance.green{border-color:rgba(16,185,129,.42)}.capital-clean-finance.green>i{background:rgba(16,185,129,.18);color:#10b981}.capital-clean-finance.green strong{color:#10b981}
.capital-clean-finance.blue{border-color:rgba(59,130,246,.42)}.capital-clean-finance.blue>i{background:rgba(59,130,246,.18);color:#3b82f6}.capital-clean-finance.blue strong{color:#3b82f6}
.capital-clean-finance.purple{border-color:rgba(139,92,246,.42)}.capital-clean-finance.purple>i{background:rgba(139,92,246,.18);color:#8b5cf6}.capital-clean-finance.purple strong{color:#8b5cf6}
.capital-clean-finance.orange{border-color:rgba(249,115,22,.48)}.capital-clean-finance.orange>i{background:rgba(249,115,22,.18);color:#f97316}.capital-clean-finance.orange strong{color:#f97316}
.capital-cover-strip{margin-top:14px;display:grid;grid-template-columns:54px 330px 1fr;align-items:center;gap:16px;padding:14px 18px;border:1px solid rgba(16,185,129,.55);border-radius:14px;background:rgba(16,185,129,.055)}
.capital-cover-strip>i{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;background:rgba(16,185,129,.18);color:#10b981;font-size:25px}
.capital-cover-strip span{display:block;font-size:12px;font-weight:850;color:var(--ui-heading)}.capital-cover-strip strong{display:block;font-size:25px;color:#10b981;margin-top:2px}
.capital-cover-strip p{margin:0;font-size:10px;color:var(--ui-text-soft)}.capital-cover-strip p b{display:block;color:#f59e0b;margin-top:4px}
.capital-clean-details,.capital-clean-po{margin-top:14px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface-2);overflow:hidden}
.capital-clean-details summary,.capital-clean-po summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;color:var(--ui-heading);font-size:11px;font-weight:850}
.capital-clean-details summary::-webkit-details-marker,.capital-clean-po summary::-webkit-details-marker{display:none}
.capital-clean-details summary b,.capital-clean-po summary b{font-size:10px;color:var(--ui-primary)}
.capital-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px 12px}
.capital-detail-grid>a,.capital-detail-grid>div{display:flex;justify-content:space-between;gap:16px;padding:11px 8px;border-top:1px solid var(--ui-border);color:inherit;text-decoration:none;font-size:10px}
.capital-detail-grid strong{color:var(--ui-heading)}.capital-detail-note{padding:10px 16px;border-top:1px solid var(--ui-border);font-size:9px;color:var(--ui-text-soft)}
.capital-clean-po{padding:0}.capital-clean-po .table-responsive{border-top:1px solid var(--ui-border)}
@media(max-width:1200px){.capital-clean-stock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capital-clean-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capital-clean-finance-grid>*:last-child{grid-column:span 2}.capital-cover-strip{grid-template-columns:54px 280px 1fr}}
@media(max-width:700px){.capital-clean-stock-grid,.capital-clean-finance-grid,.capital-detail-grid{grid-template-columns:1fr}.capital-clean-finance-grid>*:last-child{grid-column:auto}.capital-owned-strip{grid-template-columns:44px 1fr}.capital-owned-strip p,.capital-owned-strip b{grid-column:2}.capital-cover-strip{grid-template-columns:50px 1fr}.capital-cover-strip p{grid-column:1/-1}.capital-clean-stock{min-height:104px}.capital-clean-finance{min-height:145px}}

/* ===== GLOBAL CARD SYSTEM - v6.8 =====
   Satu bahasa visual untuk KPI/summary card di seluruh aplikasi.
   Solid surface, semantic accent, border tipis, ikon kecil, tanpa gradient berat. */
:root{
  --card-blue:#3b82f6;--card-blue-soft:rgba(59,130,246,.13);--card-blue-border:rgba(59,130,246,.34);
  --card-purple:#8b5cf6;--card-purple-soft:rgba(139,92,246,.13);--card-purple-border:rgba(139,92,246,.34);
  --card-green:#10b981;--card-green-soft:rgba(16,185,129,.13);--card-green-border:rgba(16,185,129,.34);
  --card-orange:#f59e0b;--card-orange-soft:rgba(245,158,11,.14);--card-orange-border:rgba(245,158,11,.38);
  --card-red:#ef4444;--card-red-soft:rgba(239,68,68,.13);--card-red-border:rgba(239,68,68,.36);
  --card-neutral:#64748b;--card-neutral-soft:rgba(100,116,139,.13);--card-neutral-border:rgba(100,116,139,.30);
}

/* Soft-light: tidak putih menyilaukan, tetap kontras dan nyaman lama dilihat. */
html[data-theme="light"] body{background:#edf1f6!important}
html[data-theme="light"] .topbar{background:#f7f9fc!important}
html[data-theme="light"] .panel,
html[data-theme="light"] .table-card,
html[data-theme="light"] .master-form-card,
html[data-theme="light"] .receive-card,
html[data-theme="light"] .history-card,
html[data-theme="light"] .task-card,
html[data-theme="light"] .card{background:#f7f9fc!important;border-color:#d5dde8!important}
html[data-theme="light"] .form-control,
html[data-theme="light"] .form-select,
html[data-theme="light"] textarea{background:#f1f4f8!important}

/* Core card model */
.summary-card,
.owner-kpi,
.stock-summary-card,
.product-summary-card,
.report-summary-card,
.work-dashboard-card,
.work-channel-cards>div,
.qc23-summary-card,
.attendance-kpi,
.modern-metric,
.purchase-hero-card.purchase-card-calm{
  --card-accent:#3b82f6;
  --card-soft:var(--card-blue-soft);
  --card-border:var(--card-blue-border);
  position:relative!important;
  overflow:hidden!important;
  background:var(--ui-surface-2)!important;
  color:var(--ui-text)!important;
  border:1px solid var(--card-border)!important;
  border-radius:14px!important;
  box-shadow:0 3px 12px rgba(15,23,42,.055)!important;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease!important;
}
.summary-card:after,
.owner-kpi:after,
.stock-summary-card:after,
.product-summary-card:after,
.report-summary-card:after,
.work-dashboard-card:after,
.work-channel-cards>div:after,
.attendance-kpi:after{display:none!important}

/* Semantic color rules */
.summary-card.is-success,
.summary-card:has(.summary-green),
.owner-kpi.kpi-green,.owner-kpi.kpi-emerald,
.stock-card-ready,
.work-dashboard-card.tone-success,
.attendance-kpi.kpi-green,
.qc23-summary-card.is-passed,
.purchase-hero-card.purchase-card-calm.card-ready{--card-accent:#10b981;--card-soft:var(--card-green-soft);--card-border:var(--card-green-border)}

.summary-card.is-warning,
.owner-kpi.kpi-orange,.owner-kpi.kpi-amber,
.stock-card-service,
.work-dashboard-card.tone-warning,
.attendance-kpi.kpi-orange,
.purchase-hero-card.purchase-card-calm.card-debt{--card-accent:#f59e0b;--card-soft:var(--card-orange-soft);--card-border:var(--card-orange-border)}

.summary-card.is-danger,
.owner-kpi.kpi-red,
.stock-card-reject,
.work-dashboard-card.tone-danger,
.report-summary-card.report-danger,
.attendance-kpi.kpi-rose,.attendance-kpi.kpi-darkred,
.qc23-summary-card.is-reject{--card-accent:#ef4444;--card-soft:var(--card-red-soft);--card-border:var(--card-red-border)}

.owner-kpi.kpi-purple,
.stock-card-qc,.stock-card-claim,
.attendance-kpi.kpi-violet,
.qc23-summary-card.is-pending,
.purchase-hero-card.purchase-card-calm.card-warehouse{--card-accent:#8b5cf6;--card-soft:var(--card-purple-soft);--card-border:var(--card-purple-border)}

.summary-card:has(.summary-gray),
.owner-kpi.kpi-slate{--card-accent:#64748b;--card-soft:var(--card-neutral-soft);--card-border:var(--card-neutral-border)}

/* Informasi / proses / belum diterima = biru */
.summary-card:has(.summary-blue),.summary-card:has(.summary-wa),
.owner-kpi.kpi-blue,
.owner-kpi.kpi-teal,
.work-dashboard-card.tone-info,
.attendance-kpi.kpi-blue,
.purchase-hero-card.purchase-card-calm.card-unreceived{--card-accent:#3b82f6;--card-soft:var(--card-blue-soft);--card-border:var(--card-blue-border)}

/* Text hierarchy: judul tenang, angka paling kuat, note redup. */
.summary-card span,
.summary-card .sc-label,
.owner-kpi small,
.stock-summary-card span,
.product-summary-card span,
.report-summary-card span,
.work-dashboard-card small,
.work-channel-cards>div small,
.qc23-summary-body small,
.attendance-kpi .kpi-label,
.purchase-card-calm .hero-top p,
.purchase-card-calm .hero-stats span{
  color:var(--ui-text-soft)!important;
  opacity:1!important;
}
.summary-card strong,
.summary-card .sc-value,
.owner-kpi strong,
.stock-summary-card strong,
.product-summary-card strong,
.report-summary-card strong,
.work-dashboard-card strong,
.work-channel-cards>div strong,
.qc23-summary-body strong,
.attendance-kpi .kpi-value,
.purchase-card-calm .hero-money,
.purchase-card-calm .hero-stats b{
  color:var(--card-accent)!important;
  text-shadow:none!important;
}
.summary-card .sc-note,
.owner-kpi em,
.stock-summary-card small,
.product-summary-card small,
.work-channel-cards>div em,
.attendance-kpi .kpi-note{
  color:var(--ui-text-soft)!important;
  opacity:1!important;
}

/* Icons: kotak kecil rounded, warna mengikuti semantic card. */
.summary-card .summary-icon,
.summary-card .sc-icon,
.owner-kpi>i,
.stock-summary-icon,
.product-summary-icon,
.work-dashboard-icon,
.qc23-summary-icon,
.attendance-kpi .kpi-icon,
.purchase-card-calm .hero-icon,
.modern-metric .metric-icon{
  background:var(--card-soft)!important;
  color:var(--card-accent)!important;
  border:1px solid var(--card-border)!important;
  box-shadow:none!important;
}
.attendance-kpi .kpi-icon{width:34px;height:34px;border-radius:9px;display:inline-grid;place-items:center;flex:0 0 34px}

/* Purchase hero cards ikut model global, bukan blok warna penuh. */
.purchase-hero-card.purchase-card-calm{min-height:176px!important}
.purchase-card-calm .hero-top h3{color:var(--ui-heading)!important}
.purchase-card-calm .hero-divider{background:var(--ui-border)!important;opacity:1!important}
.purchase-card-calm .hero-stats>div+div{border-left-color:var(--ui-border)!important}

/* Active/hover ringan, tanpa animasi berat. */
.summary-card.is-active,
.summary-card:hover,
.summary-card.is-clickable:hover,
.owner-kpi:hover,
.stock-summary-card:hover,
.product-summary-card:hover,
.report-summary-card:hover,
.work-dashboard-card:hover,
.work-channel-cards>div:hover,
.qc23-summary-card:hover,
.attendance-kpi:hover,
.modern-metric:hover,
.purchase-hero-card.purchase-card-calm:hover,
.purchase-hero-card.purchase-card-calm.is-selected{
  transform:translateY(-1px)!important;
  border-color:var(--card-accent)!important;
  box-shadow:0 6px 16px rgba(15,23,42,.075)!important;
  color:var(--ui-text)!important;
  filter:none!important;
}
.summary-card.is-active,
.qc23-summary-card.active,
.attendance-kpi.metric-active,
.purchase-hero-card.purchase-card-calm.is-selected{outline:2px solid var(--card-border)!important;outline-offset:1px!important}

/* Dark mode: tetap solid navy; light mode: soft gray-blue. */
html[data-theme="dark"] .summary-card,
html[data-theme="dark"] .owner-kpi,
html[data-theme="dark"] .stock-summary-card,
html[data-theme="dark"] .product-summary-card,
html[data-theme="dark"] .report-summary-card,
html[data-theme="dark"] .work-dashboard-card,
html[data-theme="dark"] .work-channel-cards>div,
html[data-theme="dark"] .qc23-summary-card,
html[data-theme="dark"] .attendance-kpi,
html[data-theme="dark"] .modern-metric,
html[data-theme="dark"] .purchase-hero-card.purchase-card-calm{background:#162235!important}

html[data-theme="light"] .summary-card,
html[data-theme="light"] .owner-kpi,
html[data-theme="light"] .stock-summary-card,
html[data-theme="light"] .product-summary-card,
html[data-theme="light"] .report-summary-card,
html[data-theme="light"] .work-dashboard-card,
html[data-theme="light"] .work-channel-cards>div,
html[data-theme="light"] .qc23-summary-card,
html[data-theme="light"] .attendance-kpi,
html[data-theme="light"] .modern-metric,
html[data-theme="light"] .purchase-hero-card.purchase-card-calm{background:#f1f4f8!important}

@media(max-width:575px){
  .summary-card,.owner-kpi,.stock-summary-card,.product-summary-card,.report-summary-card,.work-dashboard-card,.work-channel-cards>div,.qc23-summary-card,.attendance-kpi,.modern-metric,.purchase-hero-card.purchase-card-calm{box-shadow:0 2px 9px rgba(15,23,42,.05)!important}
}



/* v6.8 Warehouse SAME/NONE - simple physical receiving */
.wh-same-simple{padding:18px}
.wh-receive-progress-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}
.wh-receive-progress-head>strong{font-size:20px;color:var(--ui-heading);white-space:nowrap}
.wh-receive-kicker{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--ui-primary);margin-bottom:4px}
.wh-receive-progress-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:8px;font-size:11px;color:var(--ui-text-soft)}
.wh-estimate-compact{border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface-2);padding:0 14px 12px}
.wh-estimate-compact summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;font-size:12px;font-weight:800;color:var(--ui-heading)}
.wh-estimate-compact summary::-webkit-details-marker{display:none}
.wh-estimate-compact summary small{font-size:10px;font-weight:500;color:var(--ui-text-soft)}
.wh-estimate-result{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 11px;border-radius:9px;background:var(--ui-surface-1);font-size:10px;color:var(--ui-text-soft)}
.wh-box-input-main{scroll-margin-top:90px}
@media(max-width:700px){.wh-receive-progress-head{align-items:flex-start;flex-direction:column}.wh-receive-progress-head>strong{font-size:17px}.wh-receive-progress-meta{gap:10px}.wh-estimate-compact summary{align-items:flex-start;flex-direction:column}}

/* v6.8 Warehouse SAME auto batch */
.wh-auto-batch-panel{padding:18px;border-color:rgba(16,185,129,.38)}
.wh-auto-batch-panel .panel-head{margin-bottom:12px}
.wh-auto-batch-panel h5{margin-bottom:4px}
.wh-auto-batch-form .form-text{color:var(--ui-text-soft)}
@media(max-width:700px){.wh-auto-batch-panel .btn{width:100%}}

/* v6.8 Warehouse receive alignment - scoped, no business logic changes */
.warehouse-receive-v68{width:100%;max-width:none}
.warehouse-receive-v68>.master-form-card,
.warehouse-receive-v68>.wh-same-simple,
.warehouse-receive-v68>.wh-auto-batch-panel,
.warehouse-receive-v68>.wh-box-input-main{width:100%;max-width:none;margin-left:0;margin-right:0}
.warehouse-receive-v68 .wh-same-simple,
.warehouse-receive-v68 .wh-auto-batch-panel,
.warehouse-receive-v68 .wh-box-input-main{padding:18px 20px}
.warehouse-receive-v68 .wh-receive-progress-head{align-items:center}
.warehouse-receive-v68 .wh-receive-progress-head>strong{margin-left:auto}
.warehouse-receive-v68 .wh-auto-batch-form .row,
.warehouse-receive-v68 .wh-box-input-main form>.row{align-items:end}
.warehouse-receive-v68 .wh-auto-batch-panel .btn{width:auto;min-height:40px;font-size:14px}
.warehouse-receive-v68 .wh-box-input-main .btn-primary{width:auto;min-height:40px;font-size:14px}
.warehouse-receive-v68 .wh-estimate-compact{margin-top:14px!important}
@media(min-width:768px){
 .warehouse-receive-v68 .wh-auto-batch-form .col-md-3{display:flex;flex-direction:column}
 .warehouse-receive-v68 .wh-auto-batch-form .form-control{width:100%}
}
@media(max-width:767.98px){
 .warehouse-receive-v68 .wh-same-simple,
 .warehouse-receive-v68 .wh-auto-batch-panel,
 .warehouse-receive-v68 .wh-box-input-main{padding:14px}
 .warehouse-receive-v68 .wh-receive-progress-head{align-items:flex-start}
 .warehouse-receive-v68 .wh-auto-batch-panel .btn,
 .warehouse-receive-v68 .wh-box-input-main .btn-primary{width:100%}
}

/* v6.8 - clear inventory position language */
.stock-position-clarity-note{display:flex;align-items:flex-start;gap:9px;margin:0 0 12px;padding:11px 13px;border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-surface-2);font-size:12px;color:var(--ui-text-soft)}
.stock-position-clarity-note i{color:var(--ui-primary);margin-top:1px}.stock-position-clarity-note strong{color:var(--ui-heading)}
.capital-clean-stock.input>i:first-child{background:rgba(245,158,11,.18);color:#f59e0b}.capital-clean-stock.input strong{color:#f59e0b}
.capital-v68-clean .capital-clean-stock-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.owner-position-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.owner-position-grid>a{display:flex;flex-direction:column;gap:3px;padding:13px 14px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface-2);color:inherit;text-decoration:none;min-height:96px}
.owner-position-grid>a:hover{color:inherit;border-color:var(--ui-primary)}
.owner-position-grid span{font-size:11px;font-weight:850;color:var(--ui-heading)}.owner-position-grid b{font-size:20px}.owner-position-grid small{font-size:9px;color:var(--ui-text-soft)}
.owner-position-grid .pos-transit b{color:#3b82f6}.owner-position-grid .pos-input b{color:#f59e0b}.owner-position-grid .pos-qc b{color:#8b5cf6}.owner-position-grid .pos-service b{color:#ef4444}.owner-position-grid .pos-ready b{color:#10b981}
@media(max-width:1200px){.capital-v68-clean .capital-clean-stock-grid,.owner-position-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-position-grid>a:last-child{grid-column:span 2}}
@media(max-width:700px){.capital-v68-clean .capital-clean-stock-grid,.owner-position-grid{grid-template-columns:1fr}.owner-position-grid>a:last-child{grid-column:auto}}

/* v6.8 Owner physical clarity: arrived != verified != ready */
.purchase-hero-card.card-unverified{--card-accent:#f59e0b;--card-soft:var(--card-orange-soft);--card-border:var(--card-orange-border)}
.capital-owner-clarity,.capital-owner-money-grid,.owner-physical-money-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 16px}
.capital-owner-clarity>div,.capital-owner-money,.owner-physical-money-grid>div{border:1px solid var(--ui-border);background:var(--ui-surface-2);border-radius:14px;padding:14px 16px;min-width:0}
.capital-owner-clarity span,.capital-owner-money span,.owner-physical-money-grid span{display:block;font-size:11px;font-weight:800;color:var(--ui-text-soft);margin-bottom:5px}
.capital-owner-clarity strong,.capital-owner-money strong,.owner-physical-money-grid b{display:block;font-size:21px;line-height:1.15;color:var(--ui-heading);overflow-wrap:anywhere}
.capital-owner-clarity small,.capital-owner-money small,.owner-physical-money-grid small{display:block;margin-top:6px;font-size:10px;line-height:1.35;color:var(--ui-text-soft)}
.capital-owner-money.primary strong,.owner-physical-money-grid>div:first-child b{color:#3b82f6}
.capital-owner-money.verified strong,.owner-physical-money-grid>div:nth-child(2) b{color:#8b5cf6}
.capital-owner-money.ready strong,.owner-physical-money-grid>div:nth-child(3) b{color:#10b981}
@media(min-width:1200px){.purchase-hero-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:767.98px){.capital-owner-clarity,.capital-owner-money-grid,.owner-physical-money-grid{grid-template-columns:1fr}}

/* v6.8 purchase detail - owner clarity */
.purchase-view-clean{max-width:1480px;margin:0 auto;padding-bottom:28px}
.purchase-view-readonly{display:flex;align-items:center;gap:7px;border-radius:13px}.purchase-view-readonly span{margin-left:5px;font-size:12px}
.pv-section{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:16px;padding:18px;margin-bottom:14px}
.pv-section h2{font-size:18px;margin:0 0 14px;color:var(--ui-heading)}
.pv-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.pv-section-head h2{margin:0 0 3px}.pv-section-head p{margin:0;color:var(--ui-text-soft);font-size:12px}
.pv-summary-grid,.pv-position-grid,.pv-finance-grid{display:grid;gap:10px}.pv-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pv-position-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pv-finance-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.pv-summary-grid>div,.pv-position-grid>div,.pv-finance-grid>div{background:var(--ui-surface-2);border:1px solid var(--ui-border);border-radius:12px;padding:13px 14px;min-width:0}
.pv-summary-grid span,.pv-position-grid span,.pv-finance-grid span,.pv-notes span{display:block;color:var(--ui-text-soft);font-size:10px;font-weight:800;text-transform:uppercase;margin-bottom:5px}
.pv-summary-grid strong,.pv-position-grid strong,.pv-finance-grid strong{display:block;color:var(--ui-heading);font-size:15px;overflow-wrap:anywhere}.pv-position-grid strong{font-size:20px}.pv-position-grid small{display:block;color:var(--ui-text-soft);font-size:10px;line-height:1.4;margin-top:5px}
.pv-position-grid .arrived{border-color:rgba(59,130,246,.45)}.pv-position-grid .verified{border-color:rgba(16,185,129,.45)}.pv-position-grid .waiting{border-color:rgba(245,158,11,.45)}.pv-position-grid .not-final{border-color:rgba(245,158,11,.45)}.pv-position-grid .final{border-color:rgba(16,185,129,.45)}
.pv-status{font-size:11px;font-weight:800;padding:7px 10px;border:1px solid var(--ui-border);border-radius:999px;color:var(--ui-heading);white-space:nowrap}
.pv-products{margin:0}.pv-products thead th{font-size:10px;text-transform:uppercase;color:var(--ui-text-soft);white-space:nowrap}.pv-products tbody td,.pv-products tfoot th{font-size:12px;border-color:var(--ui-border)}.pv-products td:first-child{min-width:230px}.pv-products td strong{display:block;color:var(--ui-heading)}.pv-products td small{display:block;color:var(--ui-text-soft);margin-top:3px}.pv-products tfoot{border-top:2px solid var(--ui-border)}
.pv-notes{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--ui-surface-2);border:1px solid var(--ui-border)}.pv-notes p{margin:0}
.pv-payment-history{margin-top:12px;border-top:1px solid var(--ui-border);padding-top:10px}.pv-payment-history summary{cursor:pointer;font-size:12px;font-weight:700}.pv-payment-history p{font-size:11px;margin:8px 0;color:var(--ui-text-soft)}
.pv-arrival-wait{display:flex;gap:10px;align-items:center;padding:14px;border:1px solid var(--ui-border);border-radius:12px}.pv-arrival-wait span{font-size:12px;color:var(--ui-text-soft)}
@media(max-width:991.98px){.pv-summary-grid,.pv-position-grid,.pv-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.pv-summary-grid,.pv-position-grid,.pv-finance-grid{grid-template-columns:1fr}.pv-section{padding:14px}.pv-section-head{display:block}.pv-status{display:inline-block;margin-top:8px}}

/* v6.8 Owner finance cards moved from Pembelian to Posisi Modal */
.capital-stage-finance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:10px}
.capital-stage-card{display:block;text-decoration:none;color:inherit;background:var(--ui-surface-2);border:1px solid var(--ui-border);border-radius:15px;padding:16px;min-height:118px}
.capital-stage-card span{display:block;font-size:12px;font-weight:800;color:var(--ui-heading);margin-bottom:10px}
.capital-stage-card strong{display:block;font-size:23px;line-height:1.12;margin-bottom:12px;overflow-wrap:anywhere}
.capital-stage-card small{display:block;font-size:10px;line-height:1.4;color:var(--ui-text-soft)}
.capital-stage-card.transit strong{color:#3b82f6}.capital-stage-card.waiting strong{color:#f59e0b}.capital-stage-card.input strong{color:#3b82f6}.capital-stage-card.process strong{color:#8b5cf6}.capital-stage-card.ready strong{color:#10b981}.capital-stage-card.debt strong{color:#f59e0b}
.capital-stage-card:hover{border-color:currentColor;transform:translateY(-1px)}
@media(max-width:991.98px){.capital-stage-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.capital-stage-finance-grid{grid-template-columns:1fr}}

/* v6.8 purchase detail SN action alignment */
.pv-status-action{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pv-status-action .badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px}
.pv-sn-action{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;min-width:126px;height:32px;padding:0 10px!important;white-space:nowrap}
.pv-sn-action i{font-size:13px}

/* v6.8 purchase item traceability */
.pv-item-origin{color:var(--ui-text-soft)!important;margin-top:4px}
.pv-wh-trace{min-width:235px}
.pv-wh-trace strong{display:block;font-size:12px;color:var(--ui-heading)}
.pv-wh-trace small{display:block;font-size:10px;line-height:1.4;color:var(--ui-text-soft);margin-top:3px}
.pv-history-link{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:10px;font-weight:700;text-decoration:none}

/* compact purchase warehouse history */
.pv-wh-summary{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:190px}.pv-wh-detail-btn{margin-top:3px;white-space:nowrap}.pv-wh-box-list{border:1px solid var(--ui-border);border-radius:10px;overflow:hidden}.pv-wh-box-row{display:flex;align-items:center;gap:12px;padding:9px 12px;border-bottom:1px solid var(--ui-border)}.pv-wh-box-row:last-child{border-bottom:0}.pv-wh-box-no{width:30px;color:var(--ui-text-soft);font-size:12px}.pv-wh-box-row strong{font-size:13px}.pv-wh-trace{vertical-align:middle!important}

/* Dashboard Owner - Pekerjaan Penerimaan Aktif: 1 baris desktop */
.receiving-ops-card .owner-mini-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1250px){.receiving-ops-card .owner-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.receiving-ops-card .owner-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.receiving-ops-card .owner-mini-grid{grid-template-columns:1fr}}
