:root{--ink:#17202b;--muted:#73808e;--line:#e7e9e5;--paper:#f5f4ef;--white:#fff;--green:#153d35;--lime:#c8e86b;--red:#b84a4a;--shadow:0 18px 60px rgba(24,35,40,.08)}*{box-sizing:border-box}body{margin:0;font-family:"Instrument Sans",sans-serif;color:var(--ink);background:var(--paper)}button,input,select{font:inherit}a{text-decoration:none;color:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#12372f;color:#fff;padding:28px 18px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 34px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--green);color:var(--lime);font-weight:800;font-size:21px}.brand-mark.light{background:var(--lime);color:var(--green)}.brand b{display:block;letter-spacing:2px;font-size:14px}.brand small{display:block;opacity:.55;font-size:8px;letter-spacing:1.5px;margin-top:3px}.nav-label{font-size:9px;letter-spacing:1.6px;opacity:.42;padding:14px 12px 7px}.nav-item{display:flex;gap:12px;align-items:center;padding:12px;border-radius:10px;color:#c7d5d1;font-size:14px;margin:3px 0}.nav-item span{font-size:20px;width:22px}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.1);color:#fff}.nav-item.active:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--lime);margin-left:auto}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:18px 4px 2px;display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:10px;background:#e8eddc;color:var(--green);display:grid;place-items:center;font-weight:700;flex:0 0 auto}.sidebar-foot strong,.sidebar-foot small{display:block;font-size:12px}.sidebar-foot small{opacity:.55;font-size:10px;margin-top:2px}.sidebar-foot form{margin-left:auto}.sidebar-foot button{border:0;background:none;color:#fff;opacity:.65;font-size:20px;cursor:pointer}.topbar{height:96px;padding:0 38px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:rgba(245,244,239,.92);position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}.topbar h1{font-size:22px;margin:3px 0 0}.eyebrow{font-size:9px;letter-spacing:1.7px;color:#718078;font-weight:700}.plan-trigger{margin-left:auto;border:1px solid #d9dcd5;background:#fff;border-radius:12px;padding:9px 10px 9px 15px;display:flex;gap:13px;align-items:center;cursor:pointer;font-size:12px;font-weight:600}.plan-trigger b{background:var(--green);color:var(--lime);padding:6px 8px;border-radius:7px}.menu-toggle{display:none;border:0;background:none;font-size:20px}.content{padding:34px 38px 60px;max-width:1500px}.alert{background:#e8f3dc;border:1px solid #c9dfa9;color:#355b28;padding:12px 15px;border-radius:10px;margin-bottom:20px}.welcome{background:var(--green);color:#fff;border-radius:20px;padding:34px 38px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.welcome:after{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(200,232,107,.15);border-radius:50%;right:170px;top:-120px}.welcome .eyebrow{color:var(--lime)}.welcome h2{font-size:34px;margin:9px 0}.welcome p{color:#aec2bd;margin:0;max-width:570px}.date-card{border-left:1px solid rgba(255,255,255,.18);padding-left:32px;min-width:190px}.date-card small,.date-card strong,.date-card span{display:block}.date-card small{color:var(--lime);font-size:9px;letter-spacing:1.5px}.date-card strong{font-size:22px;margin:7px 0}.date-card span{color:#aec2bd;font-size:12px}.empty-dashboard{margin-top:24px;min-height:390px;background:#fff;border:1px solid var(--line);border-radius:18px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:50px}.empty-icon{width:52px;height:52px;border-radius:15px;background:#edf1e6;color:var(--green);display:grid;place-items:center;font-size:27px;margin-bottom:22px}.empty-dashboard h3{font-size:22px;margin:9px 0}.empty-dashboard p{max-width:560px;color:var(--muted);line-height:1.7;margin:0 0 23px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:11px 16px;font-weight:600;font-size:13px;cursor:pointer}.primary{background:var(--green);color:#fff}.primary:hover{background:#0d2d27}.secondary{border:1px solid #dfe2dc;background:#fff;color:var(--ink)}.full{width:100%;justify-content:space-between;padding:14px 16px}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.page-intro h2{font-size:25px;margin:6px 0}.page-intro p{margin:0;color:var(--muted)}.back{color:#547067;font-size:12px}.toolbar{display:flex;gap:8px;margin-bottom:14px}.toolbar input{width:min(360px,100%);border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px 13px}.table-card,.form-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:9px;letter-spacing:1.2px;color:#849087;background:#fafaf8;padding:13px 18px}td{padding:15px 18px;border-top:1px solid #eff0ed;font-size:13px}.user-cell{display:flex;align-items:center;gap:11px}.user-cell strong,.user-cell small{display:block}.user-cell small{color:var(--muted);margin-top:3px}.role,.status{font-size:11px;padding:5px 8px;border-radius:6px;background:#eef0ec}.status.on{background:#e7f3df;color:#39712a}.status.off{background:#f4e8e8;color:#984747}.actions{display:flex;justify-content:flex-end;gap:13px}.actions a,.actions button{font-size:12px;border:0;background:none;cursor:pointer;color:#315e53}.actions button{color:var(--red)}.actions form{display:inline}.no-data{text-align:center;color:var(--muted);padding:45px}.form-card{padding:27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-card label{font-size:12px;font-weight:600}.form-card input,.form-card select{display:block;width:100%;border:1px solid #dfe2dc;border-radius:9px;padding:12px;margin-top:7px;background:#fff}.form-card label>small{display:block;color:var(--muted);font-weight:400;margin-top:5px}.form-card .error,.form-error{color:var(--red)}.form-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding-top:22px;margin-top:26px}.plan-modal{width:min(780px,calc(100% - 24px));height:min(88vh,850px);border:0;border-radius:20px;padding:0;box-shadow:0 30px 100px rgba(0,0,0,.3)}.plan-modal::backdrop{background:rgba(11,28,25,.65);backdrop-filter:blur(4px)}.plan-head{padding:26px 28px 20px;display:flex;border-bottom:1px solid var(--line)}.plan-head h2{margin:5px 0;font-size:25px}.plan-head p{margin:0;color:var(--muted);font-size:13px}.plan-head button{margin-left:auto;border:0;background:#f0f1ed;border-radius:50%;width:34px;height:34px;font-size:20px;cursor:pointer}.progress-box{margin:20px 28px;padding:16px;background:#f5f7f0;border-radius:12px}.progress-box>div:first-child{display:flex;justify-content:space-between;font-size:12px}.progress-box span{color:var(--muted)}.progress{height:6px;background:#dce2d7;border-radius:10px;margin-top:12px;overflow:hidden}.progress i{height:100%;display:block;background:var(--green)}.phase-list{padding:0 28px 35px}.phase{border:1px solid var(--line);border-radius:13px;margin:12px 0;overflow:hidden}.phase header{padding:15px 17px;background:#fafaf8;display:flex;gap:13px;align-items:center}.phase header>span{font-size:22px;color:#b2bbb5;font-weight:700}.phase header small{font-size:8px;letter-spacing:1.3px;color:var(--muted)}.phase h3{font-size:14px;margin:2px 0}.phase ul{list-style:none;margin:0;padding:6px 17px}.phase li{display:flex;align-items:center;padding:10px 0;border-bottom:1px solid #f0f1ee;font-size:12px}.phase li:last-child{border:0}.phase li i{width:23px;font-style:normal;color:#a8b0aa}.phase li.done i{color:#3b702f}.phase li small{margin-left:auto;color:#9aa29d;font-size:9px;text-transform:uppercase;letter-spacing:.7px}.login-page{display:grid;grid-template-columns:1.05fr .95fr;min-height:100vh;background:#fff}.login-visual{background:var(--green);color:#fff;padding:42px 52px;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-visual:before,.visual-glow{content:"";position:absolute;border-radius:50%;border:1px solid rgba(200,232,107,.16)}.login-visual:before{width:570px;height:570px;right:-260px;bottom:-200px}.visual-glow{width:350px;height:350px;right:-40px;top:70px;box-shadow:0 0 120px rgba(200,232,107,.06) inset}.login-brand{display:flex;gap:12px;align-items:center}.login-brand b,.login-brand small{display:block;letter-spacing:2px}.login-brand small{font-size:8px;opacity:.55;margin-top:3px}.visual-copy{margin:auto 0;position:relative}.visual-copy>span{color:var(--lime);font-size:9px;letter-spacing:2px}.visual-copy h1{font-size:48px;line-height:1.1;margin:16px 0 20px;letter-spacing:-1.5px}.visual-copy p{color:#abc0ba;line-height:1.7;max-width:470px}.visual-foot{opacity:.35;letter-spacing:1px}.login-form-wrap{display:grid;place-items:center;padding:40px}.login-card{width:min(390px,100%)}.login-card h2{font-size:32px;margin:10px 0 7px}.login-card>p{color:var(--muted);margin:0 0 29px}.login-card label:not(.check){display:block;font-size:12px;font-weight:600;margin:17px 0}.login-card input[type=email],.login-card input[type=password]{display:block;width:100%;padding:13px;border:1px solid #dfe2dc;border-radius:9px;margin-top:7px}.check{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;margin:5px 0 18px}.secure-note{display:block;text-align:center;color:#99a19c;font-size:10px;margin-top:17px}.mobile-logo{display:none}.pagination{margin-top:16px}.pagination nav>div:first-child{display:none}.pagination nav>div:last-child{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.pagination svg{width:16px}.pagination a,.pagination span{padding:6px}
@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;transform:translateX(-100%);transition:.2s;width:250px}.sidebar.open{transform:translateX(0)}.topbar{padding:0 18px;height:78px}.menu-toggle{display:block;margin-right:14px}.plan-trigger span{display:none}.content{padding:22px 16px}.welcome{padding:26px;display:block}.welcome h2{font-size:27px}.date-card{border-left:0;border-top:1px solid rgba(255,255,255,.15);padding:18px 0 0;margin-top:22px}.form-grid{grid-template-columns:1fr}.table-card{overflow-x:auto}table{min-width:680px}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-form-wrap{padding:28px}.mobile-logo{display:flex;align-items:center;gap:10px;margin-bottom:50px}.empty-dashboard{min-height:330px;padding:30px 20px}.page-intro{align-items:flex-start;gap:20px}.page-intro h2{font-size:21px}.plan-modal{height:92vh}.plan-head,.phase-list{padding-left:18px;padding-right:18px}.progress-box{margin-left:18px;margin-right:18px}}

/* Simple login */
.simple-login{display:block;min-height:100vh;background:#f4f5f3}
.simple-login .login-form-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}
.simple-login .login-card{width:min(400px,100%);background:#fff;border:1px solid var(--line);border-radius:14px;padding:34px;box-shadow:0 12px 35px rgba(24,35,40,.06)}
.simple-login .login-card h1{font-size:28px;margin:0 0 26px}
.simple-login .login-card label:not(.check){display:block;font-size:12px;font-weight:600;margin:17px 0}
.simple-login .login-card input[type=text],.simple-login .login-card input[type=password]{display:block;width:100%;padding:13px;border:1px solid #dfe2dc;border-radius:9px;margin-top:7px;background:#fff}
.simple-login .login-card input:focus{outline:0;border-color:#66867d;box-shadow:0 0 0 3px rgba(21,61,53,.08)}
.simple-login .check{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;margin:5px 0 18px}
.simple-login .login-card .full{justify-content:center}
.simple-login .form-error{font-size:12px;margin:-7px 0 15px}
@media(max-width:600px){.simple-login .login-form-wrap{padding:18px}.simple-login .login-card{padding:28px 22px}}

/* Hold-to-reveal password */
.password-field{display:block;position:relative}
.password-field input[type=password],.password-field input[type=text]{padding-right:46px!important}
.password-hold{position:absolute;right:8px;top:calc(50% + 3.5px);transform:translateY(-50%);display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:#7b8680;cursor:pointer;touch-action:none;user-select:none}
.password-hold:hover,.password-hold:focus-visible,.password-hold.is-revealing{background:#eef1ed;color:var(--green)}
.password-hold:focus-visible{outline:2px solid #66867d;outline-offset:1px}
.password-hold svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}

/* Simplified portal chrome */
.sidebar>nav{padding-top:10px}
.sidebar>.sidebar-foot{margin-top:0;border-top:0;border-bottom:1px solid rgba(255,255,255,.12);padding:2px 4px 18px}
.sidebar-foot>div:nth-child(2){min-width:0}
.sidebar-foot strong{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.logout-button{display:grid;place-items:center;width:34px;height:34px;padding:0!important;border-radius:8px!important}
.logout-button:hover,.logout-button:focus-visible{opacity:1!important;background:rgba(255,255,255,.1)!important}
.logout-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.topbar h1{margin:0}
.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:18px}
.live-clock{display:flex;flex-direction:column;align-items:flex-end;min-width:190px;font-variant-numeric:tabular-nums}
.live-clock small{color:var(--muted);font-size:10px;text-transform:capitalize;letter-spacing:.25px}
.live-clock strong{font-size:18px;line-height:1.2;margin-top:3px;color:var(--green);letter-spacing:.6px}
.topbar-actions .plan-trigger{margin-left:0}
.empty-dashboard.dashboard-main{margin-top:0}

/* Stock update history in the global header */
.stock-update-menu{position:relative}
.stock-update-trigger{display:flex;align-items:center;gap:10px;min-width:224px;padding:8px 10px;border:1px solid #d9dcd5;border-radius:12px;background:#fff;color:var(--ink);cursor:pointer;text-align:left;transition:border-color .15s ease,box-shadow .15s ease}
.stock-update-trigger:hover,.stock-update-trigger[aria-expanded="true"]{border-color:#aebbb4;box-shadow:0 7px 22px rgba(24,35,40,.08)}
.stock-update-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:9px;background:#edf1e6;color:var(--green)}
.stock-update-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.stock-update-current{display:block;min-width:0;flex:1}
.stock-update-current small,.stock-update-current strong,.stock-update-current em{display:block;white-space:nowrap}
.stock-update-current small{font-size:7px;letter-spacing:1.15px;color:var(--muted);font-weight:700}
.stock-update-current strong{max-width:128px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:var(--green)}
.stock-update-current em{margin-top:1px;color:var(--muted);font-size:9px;font-style:normal;font-variant-numeric:tabular-nums}
.stock-update-chevron{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:#7b8982;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s ease}
.stock-update-trigger[aria-expanded="true"] .stock-update-chevron{transform:rotate(180deg)}
.stock-update-dropdown{position:absolute;right:0;top:calc(100% + 9px);z-index:40;width:340px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 18px 55px rgba(24,35,40,.16)}
.stock-update-dropdown[hidden]{display:none}
.stock-update-dropdown-head{padding:15px 17px 13px;border-bottom:1px solid var(--line);background:#fafbf9}
.stock-update-dropdown-head strong,.stock-update-dropdown-head small{display:block}
.stock-update-dropdown-head strong{font-size:13px}
.stock-update-dropdown-head small{margin-top:3px;color:var(--muted);font-size:9px}
.stock-update-list{max-height:385px;overflow-y:auto;padding:6px}
.stock-update-row{display:flex;align-items:center;gap:10px;padding:10px;border-radius:9px}
.stock-update-row:first-child{background:#f0f5e9}
.stock-update-row>div{min-width:0;flex:1}
.stock-update-row strong,.stock-update-row small{display:block}
.stock-update-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.stock-update-row small{margin-top:3px;color:var(--muted);font-size:9px;font-variant-numeric:tabular-nums}
.stock-update-row>b{padding:4px 6px;border-radius:5px;background:var(--green);color:var(--lime);font-size:7px;letter-spacing:.65px}
.stock-update-number{display:grid;place-items:center;width:25px;height:25px;flex:0 0 auto;border-radius:7px;background:#eef0ec;color:#728078;font-size:9px;font-weight:700}
.stock-update-row:first-child .stock-update-number{background:var(--green);color:var(--lime)}
.stock-update-empty{padding:30px 15px;text-align:center;color:var(--muted);font-size:11px}

/* Collapsible desktop sidebar */
@media(min-width:901px){
  .shell{grid-template-columns:250px minmax(0,1fr);transition:grid-template-columns .22s ease}
  .shell>main{min-width:0}
  .sidebar{transition:transform .22s ease,opacity .16s ease}
  .shell.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}
  .shell.sidebar-collapsed .sidebar{transform:translateX(-100%);opacity:0;pointer-events:none}
  .menu-toggle{left:250px}
  .shell.sidebar-collapsed .menu-toggle{left:0}
}
.menu-toggle{position:fixed;left:0;top:50%;z-index:30;display:grid;place-items:center;width:26px;height:54px;padding:0;border:1px solid rgba(255,255,255,.2);border-left:0;border-radius:0 10px 10px 0;background:var(--green);color:var(--lime);box-shadow:4px 0 14px rgba(17,44,38,.18);cursor:pointer;transform:translateY(-50%);transition:left .22s ease,background .15s ease}
.menu-toggle:hover,.menu-toggle:focus-visible{background:#0d2d27}
.menu-toggle:focus-visible{outline:2px solid #66867d;outline-offset:2px}
.menu-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.menu-toggle[aria-expanded="false"] svg{transform:rotate(180deg)}
@media(max-width:900px){.sidebar.open+.menu-toggle{left:250px}}
@media(max-width:1100px){.stock-update-trigger{min-width:0}.stock-update-current small,.stock-update-current em{display:none}.stock-update-current strong{max-width:100px;margin:0}.stock-update-icon{width:31px;height:31px}}
@media(max-width:760px){.topbar{padding-right:12px}.topbar h1{font-size:17px}.stock-update-trigger{padding:7px;gap:6px}.stock-update-current{display:none}.stock-update-chevron{display:none}.stock-update-dropdown{position:fixed;left:12px;right:12px;top:70px;width:auto}.live-clock{display:none}.topbar-actions .plan-trigger{display:none}}

/* Scrollable sidebar menu preview */
.sidebar{padding-bottom:14px;overflow:hidden}
.sidebar-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;margin:8px -8px 0 0;padding-right:8px!important;scrollbar-width:thin;scrollbar-color:rgba(200,232,107,.42) transparent}
.sidebar-nav::-webkit-scrollbar{width:5px}
.sidebar-nav::-webkit-scrollbar-track{background:transparent}
.sidebar-nav::-webkit-scrollbar-thumb{background:rgba(200,232,107,.42);border-radius:10px}
.sidebar-nav::-webkit-scrollbar-thumb:hover{background:rgba(200,232,107,.7)}
.nav-item-dummy{cursor:default}
.sidebar-copyright{flex:0 0 auto;border-top:1px solid rgba(255,255,255,.12);padding:12px 4px 0;margin-top:8px;text-align:center;color:rgba(255,255,255,.43);font-size:9px;letter-spacing:.45px}

/* Stock check */
.stock-check{max-width:1120px}.stock-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:22px}.stock-intro h2{font-size:26px;margin:7px 0 5px}.stock-intro p{margin:0;color:var(--muted);font-size:13px}.stock-update{text-align:right;flex:0 0 auto}.stock-update small,.stock-update strong{display:block}.stock-update small{font-size:8px;letter-spacing:1.3px;color:var(--muted)}.stock-update strong{font-size:12px;color:#3c7568;margin-top:5px;font-variant-numeric:tabular-nums}.stock-picker-card,.stock-result{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 12px 35px rgba(24,35,40,.035)}.stock-picker-card>label{display:block;font-size:11px;font-weight:700;margin-bottom:9px}.stock-picker{border:1px solid #dfe2dc;border-radius:11px;overflow:hidden}.stock-search-wrap{height:48px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid var(--line);background:#fafbf9}.stock-search-wrap svg{width:18px;height:18px;fill:none;stroke:#7b8982;stroke-width:1.8;margin-right:9px}.stock-search-wrap input{width:100%;height:100%;border:0;outline:0;background:transparent;font-size:13px}.stock-search-wrap button{visibility:hidden;border:0;background:#e9ece7;color:#627169;width:25px;height:25px;border-radius:50%;font-size:18px;line-height:1;cursor:pointer}.stock-search-wrap button.visible{visibility:visible}.stock-options{max-height:235px;overflow-y:auto;padding:5px;scrollbar-width:thin;scrollbar-color:#bdc8c2 transparent}.stock-option{width:100%;border:0;background:#fff;border-radius:8px;padding:10px 12px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--ink)}.stock-option:hover{background:#f1f4ee}.stock-option.selected{background:var(--green);color:#fff}.stock-option strong{font-size:13px;font-weight:600}.stock-option small{font-size:11px;color:var(--muted);margin-left:auto}.stock-option.selected small{color:#b7cac4}.stock-option[hidden]{display:none}.stock-no-result{text-align:center;color:var(--muted);font-size:12px;padding:24px}.stock-picker-note{display:block;margin:9px 2px 0;color:var(--muted);font-size:10px}.stock-result{margin-top:18px}.stock-result[hidden]{display:none}.stock-result-head{display:flex;justify-content:space-between;align-items:center;padding:2px 3px 20px}.stock-result-head small{font-size:8px;letter-spacing:1.3px;color:var(--muted)}.stock-result-head h3{margin:5px 0 2px;font-size:19px}.stock-result-head p{margin:0;color:var(--muted);font-size:11px}.stock-total{text-align:right}.stock-total strong{font-size:30px;color:var(--green);margin:0 4px 0 8px}.stock-total span{font-size:10px;color:var(--muted)}.stock-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:11px}.stock-table{min-width:690px}.stock-table th{text-align:center;padding:11px 13px}.stock-table th:first-child{text-align:left;min-width:190px}.stock-table td{text-align:center;padding:12px 13px}.stock-table td:first-child{text-align:left}.stock-table td:first-child strong,.stock-table td:first-child small{display:block}.stock-table td:first-child small{font-size:9px;color:var(--muted);margin-top:3px}.stock-qty{display:inline-grid;place-items:center;min-width:31px;height:28px;padding:0 7px;border-radius:7px;background:#e7f3df;color:#39712a;font-weight:700;font-size:12px}.stock-qty.zero{background:#f0f1ef;color:#a3aaa6}.row-total{font-weight:700;color:var(--green)}.stock-legend{display:flex;gap:17px;margin:12px 2px 0;font-size:9px;color:var(--muted)}.stock-legend span{display:flex;align-items:center;gap:6px}.stock-legend i{width:9px;height:9px;border-radius:3px}.stock-legend i.available{background:#cfe6c3}.stock-legend i.empty{background:#e3e5e2}
@media(max-width:700px){.stock-intro{display:block}.stock-update{text-align:left;margin-top:13px}.stock-picker-card,.stock-result{padding:15px;border-radius:13px}.stock-option{display:block}.stock-option small{display:block;margin:3px 0 0}.stock-result-head{align-items:flex-end}.stock-total strong{font-size:25px}.stock-table-wrap{margin-left:-15px;margin-right:-15px;border-left:0;border-right:0;border-radius:0}}

/* Cek Stock - rincian stok per barcode */
.stock-product-summary{display:flex;align-items:center;gap:15px;min-width:0}
.stock-photo-placeholder{width:86px;height:86px;flex:0 0 auto;border:1px dashed #cfd5cf;border-radius:12px;background:linear-gradient(145deg,#fafbf9,#eef1ec);color:#8b9690;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:5px;cursor:zoom-in;overflow:hidden}
.stock-photo-placeholder img{width:100%;height:62px;object-fit:contain;border-radius:8px}
.stock-photo-placeholder svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.stock-photo-placeholder span{font-size:7px;letter-spacing:.8px;font-weight:700}
.stock-detail-table{min-width:970px}
.stock-detail-table th{white-space:nowrap;text-align:left;padding:11px 12px}
.stock-detail-table td{text-align:left;padding:12px;white-space:nowrap}
.stock-detail-table th:nth-child(2),.stock-detail-table th:nth-child(3),.stock-detail-table td:nth-child(2),.stock-detail-table td:nth-child(3){text-align:center}
.stock-data-row td{background:var(--store-row-color,#fff);transition:background-color .15s ease}
.stock-qty-button{min-width:32px;height:28px;padding:0 8px;border:1px solid rgba(21,61,53,.2);border-radius:7px;background:#fff;color:var(--green);font-weight:800;font-size:12px;cursor:pointer;box-shadow:0 2px 5px rgba(24,35,40,.05)}
.stock-qty-button:hover,.stock-qty-button[aria-expanded="true"]{background:var(--green);color:#fff}
.stock-qty-button:disabled{cursor:default;opacity:.42;background:rgba(255,255,255,.7);color:#7d8782}
.stock-qty-button.damage-count:not(:disabled){border-color:#d59c9c;color:#9d3f3f}
.stock-qty-button.damage-count:hover,.stock-qty-button.damage-count[aria-expanded="true"]{background:#9d3f3f;color:#fff}
.barcode-detail-row[hidden]{display:none}
.barcode-detail-row td{padding:8px 12px 14px;background:#fafbf9;white-space:normal}
.barcode-detail{max-width:760px;border:1px solid #dfe3de;border-radius:9px;background:#fff;padding:10px 12px}
.barcode-detail>small{display:block;margin-bottom:8px;color:var(--muted);font-size:7px;letter-spacing:.8px;font-style:italic}
.barcode-detail>div{display:flex;flex-wrap:wrap;gap:6px}
.barcode-detail span{padding:6px 9px;border-radius:6px;background:#f1f3ef;color:#42534d;font-size:10px;font-variant-numeric:tabular-nums}
.damage-barcode{padding:6px 9px;border:1px solid #e4bcbc;border-radius:6px;background:#fff1f1;color:#963f3f;font-size:10px;font-variant-numeric:tabular-nums;cursor:pointer}
.damage-barcode:hover{background:#963f3f;color:#fff}.damage-detail .barcode-detail{border-color:#ead0d0}
.stock-result-head{position:sticky;top:96px;z-index:6;margin:0 -3px;padding:12px 6px 16px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(9px)}
.damage-photo-modal{width:min(620px,calc(100% - 24px));border:0;border-radius:18px;padding:24px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.3)}
.damage-photo-modal::backdrop{background:rgba(11,28,25,.68);backdrop-filter:blur(3px)}.damage-photo-modal small,.damage-photo-modal strong{display:block}.damage-photo-modal small{font-size:9px;letter-spacing:1.2px;color:var(--muted)}.damage-photo-modal strong{margin:5px 0 16px}.damage-photo-modal img{display:block;width:100%;max-height:68vh;object-fit:contain;border-radius:12px;background:#f3f3ef}.damage-photo-close{position:absolute;right:16px;top:15px;width:34px;height:34px;border:0;border-radius:50%;background:#eef0ec;font-size:21px;cursor:pointer}
.damage-note{display:inline-block;margin:2px;padding:4px 7px;border-radius:7px;background:rgba(166,61,61,.12);color:#8b2525;font-size:11px;font-weight:700}.damage-empty{color:var(--muted)}
.damage-barcode small{display:block;margin-top:2px;font-size:8px;font-weight:600;opacity:.72}
.product-photo-modal{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;border:0;padding:0;background:rgba(9,17,15,.96);overflow:hidden}.product-photo-modal::backdrop{background:#09110f}.product-photo-toolbar{position:absolute;z-index:2;top:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 8px 30px rgba(0,0,0,.25)}.product-photo-toolbar span{padding:0 8px;font-size:10px;font-weight:800;letter-spacing:1px}.product-photo-toolbar button{min-width:38px;height:38px;border:0;border-radius:9px;background:#e9ede8;color:#18332b;font-size:20px;font-weight:700;cursor:pointer}.product-photo-toolbar #productZoomReset{min-width:65px;font-size:12px}.product-photo-toolbar #productPhotoClose{background:#18332b;color:#fff}.product-photo-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:auto;cursor:zoom-in}.product-photo-stage img{width:min(80vw,900px);height:min(80vh,900px);object-fit:contain;transform-origin:center;transition:transform .12s ease;user-select:none}
.store-color-input{display:flex;align-items:center;gap:10px}.store-color-input input{width:48px;height:34px;padding:2px;border:1px solid #d5d9d4;border-radius:7px;background:#fff}.store-color-input code{font-size:11px}.store-color-swatch{display:block;width:78px;height:30px;border:1px solid rgba(0,0,0,.12);border-radius:7px}.store-color-card tr td{background:transparent}.store-color-card .actions .primary{color:#fff}
@media(max-width:700px){.stock-result-head{gap:14px;top:78px}.stock-photo-placeholder{width:66px;height:66px}.stock-product-summary{align-items:flex-start}.stock-result-head h3{font-size:15px}.stock-total{flex:0 0 auto}.stock-detail-table{min-width:850px}}

/* Cek Stock - penanda barang rusak */
.stock-data-row.has-damage td{background:#fff3bd!important}
.stock-data-row.has-damage:hover td{background:#ffeca0!important}
.stock-data-row.has-damage td:first-child{box-shadow:inset 4px 0 0 #d69e00}

/* Fullscreen viewer foto barang rusak */
.damage-photo-modal{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:rgba(9,17,15,.96)}
.damage-photo-modal::backdrop{background:#09110f}
.damage-photo-toolbar{position:absolute;z-index:2;top:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 8px 30px rgba(0,0,0,.25)}
.damage-photo-information{min-width:150px;padding:0 8px}
.damage-photo-information small,.damage-photo-information strong{display:block;white-space:nowrap}
.damage-photo-information small{color:var(--muted);font-size:7px;letter-spacing:1px}
.damage-photo-information strong{max-width:220px;margin:2px 0 0;overflow:hidden;color:var(--ink);font-size:11px;text-overflow:ellipsis}
.damage-photo-toolbar button{position:static;min-width:38px;height:38px;padding:0 9px;border:0;border-radius:9px;background:#e9ede8;color:#18332b;font-size:20px;font-weight:700;cursor:pointer}
.damage-photo-toolbar #damageZoomReset{min-width:65px;font-size:12px}
.damage-photo-toolbar #damagePhotoClose{background:#18332b;color:#fff}
.damage-photo-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:auto;cursor:zoom-in}
.damage-photo-stage img{display:block;width:min(80vw,900px);height:min(80vh,900px);max-height:none;object-fit:contain;border-radius:0;background:transparent;transform-origin:center;transition:transform .12s ease;user-select:none}
@media(max-width:700px){.damage-photo-toolbar{top:10px}.damage-photo-information{display:none}.damage-photo-toolbar button{min-width:36px;height:36px}}

/* Development Plan - pengujian yang wajib dilakukan setelah dependensi tersedia */
.plan-must-check{margin:0 28px 20px;padding:15px 16px;border:1px solid #e8cf80;border-left:4px solid #d49b00;border-radius:12px;background:#fff8dc}
.plan-must-check>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.plan-must-check b{padding:5px 8px;border-radius:6px;background:#d49b00;color:#fff;font-size:8px;letter-spacing:1px}
.plan-must-check small{color:#81691e;font-size:8px;font-weight:700;letter-spacing:.75px}
.plan-must-check p{margin:9px 0 0;color:#5d532f;font-size:11px;line-height:1.55}
@media(max-width:700px){.plan-must-check{margin-left:18px;margin-right:18px}}

/* Cek Stock - header hasil adaptif saat halaman digulir */
.stock-result-head,.stock-product-summary,.stock-photo-placeholder,.stock-result-head h3,.stock-result-head p,.stock-total strong{transition:width .2s ease,height .2s ease,padding .2s ease,margin .2s ease,gap .2s ease,opacity .14s ease,font-size .2s ease}
.stock-result-head.is-compact{padding-top:8px;padding-bottom:8px}
.stock-result-head.is-compact .stock-product-summary{gap:0}
.stock-result-head.is-compact .stock-photo-placeholder{width:0;height:0;padding:0;margin:0;border:0;opacity:0;overflow:hidden;pointer-events:none}
.stock-result-head.is-compact h3{margin:0;font-size:15px}
.stock-result-head.is-compact .stock-product-summary p{display:none}
.stock-result-head.is-compact .stock-total strong{font-size:24px}
@media(max-width:700px){.stock-result-head.is-compact{padding-top:7px;padding-bottom:7px}.stock-result-head.is-compact h3{font-size:13px}.stock-result-head.is-compact .stock-total strong{font-size:21px}}

/* Import DMS */
.alert-error{background:#fbe8e8;border-color:#e9bcbc;color:#8f3535}.dms-upload-card{display:flex;flex-direction:column;gap:16px;margin-bottom:22px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}.dms-file-drop{display:flex;min-height:190px;flex-direction:column;align-items:center;justify-content:center;padding:25px;border:2px dashed #cfd7d1;border-radius:13px;background:#fafbf9;text-align:center;cursor:pointer}.dms-file-drop:hover{border-color:#78958c;background:#f4f7f1}.dms-file-icon{display:grid;place-items:center;width:46px;height:46px;margin-bottom:12px;border-radius:13px;background:var(--green);color:var(--lime);font-size:25px}.dms-file-drop strong{font-size:15px}.dms-file-drop small{margin-top:6px;color:var(--muted);font-size:10px}.dms-file-drop input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.dms-import-warning{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:#fff7da;color:#67551c;font-size:11px}.dms-import-warning b{flex:0 0 auto;padding:5px 7px;border-radius:5px;background:#d49b00;color:#fff;font-size:8px;letter-spacing:.8px}.dms-import-error{margin:0;padding:13px;border-radius:10px;background:#fff0f0;color:#973d3d;font:11px/1.55 "Instrument Sans",sans-serif;white-space:pre-wrap}.dms-history-card{margin-top:20px}.dms-card-head{display:flex;padding:17px 19px;border-bottom:1px solid var(--line)}.dms-card-head strong,.dms-card-head small{display:block}.dms-card-head small{margin-top:3px;color:var(--muted);font-size:10px}
.dms-history-card{overflow-x:auto}.dms-history-card table{min-width:920px}.dms-download{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:7px;background:var(--green);color:#fff;font-size:10px;font-weight:700;white-space:nowrap}.dms-download small{color:var(--lime);font-size:8px}.dms-download:hover{background:#0d2d27}.dms-archive-gone{color:var(--muted);font-size:9px;white-space:nowrap}

/* Data Penjualan */
.data-rak-filter{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:16px;padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff}.data-rak-filter label{min-width:145px;color:#52605a;font-size:10px;font-weight:700}.data-rak-filter input,.data-rak-filter select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #dfe2dc;border-radius:8px;background:#fff;font-size:12px}.data-rak-card{overflow:hidden}.data-rak-scroll{overflow:auto;max-height:calc(100vh - 270px)}.data-rak-table{min-width:910px}.data-rak-table thead{position:sticky;top:0;z-index:2}.data-rak-table th{background:#ecf8e7;color:#466040}.data-rak-table td:nth-child(n+5){font-weight:600;font-variant-numeric:tabular-nums}.data-rak-subtotal td{background:#dcf7d1;color:#4c6246;font-style:italic;font-weight:700}.data-rak-grand-total td{background:#ffe0d6;color:#744c40;font-style:italic;font-weight:800}.data-rak-grand-total td{border-top:2px solid #edbbaa}
@media(max-width:700px){.dms-upload-card{padding:15px}.dms-file-drop{min-height:155px}.dms-import-warning{align-items:flex-start}.data-rak-intro{display:block}.data-rak-intro .primary{margin-top:14px}.data-rak-filter{display:grid;grid-template-columns:1fr 1fr}.data-rak-filter label{min-width:0}.data-rak-filter .primary,.data-rak-filter .secondary{width:100%}}

/* Popup notification */
.toast-stack{position:fixed;top:18px;right:18px;z-index:1000;display:flex;width:min(440px,calc(100vw - 36px));flex-direction:column;gap:10px;pointer-events:none}
.portal-toast{display:grid;grid-template-columns:34px minmax(0,1fr) 28px;align-items:start;gap:11px;padding:14px;border:1px solid;opacity:1;border-radius:13px;background:#fff;box-shadow:0 16px 48px rgba(16,31,27,.2);pointer-events:auto;transform:translateY(0);transition:opacity .24s ease,transform .24s ease;animation:toast-in .28s ease-out}
.portal-toast.is-hiding{opacity:0;transform:translateY(-10px)}
.portal-toast .toast-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#fff;font-size:17px;font-weight:800}
.portal-toast strong,.portal-toast p{display:block}.portal-toast strong{font-size:12px}.portal-toast p{margin:3px 0 0;overflow-wrap:anywhere;font-size:11px;line-height:1.45;white-space:pre-wrap}
.portal-toast button{width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:inherit;font-size:20px;line-height:1;cursor:pointer;opacity:.58}.portal-toast button:hover{background:rgba(0,0,0,.06);opacity:1}
.toast-success{border-color:#bcd9ae;color:#315d29}.toast-success .toast-icon{background:#4b813d}.toast-error{border-color:#e5b6b6;color:#913939}.toast-error .toast-icon{background:#b84a4a}
@keyframes toast-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.toast-stack{top:10px;right:10px;width:calc(100vw - 20px)}}
@media(prefers-reduced-motion:reduce){.portal-toast{animation:none;transition:none}}

/* Development Plan - roadmap sistem operasional terpusat */
.plan-modal{overflow-y:auto}
.plan-roadmap-divider{margin:28px 0 16px;padding:22px 20px;border:1px solid #bed4cc;border-radius:14px;background:linear-gradient(135deg,#eff7f3,#f8fbf5)}
.plan-roadmap-divider span{color:#4f766b;font-size:8px;font-weight:800;letter-spacing:1.35px}.plan-roadmap-divider h3{margin:6px 0 5px;color:var(--green);font-size:18px}.plan-roadmap-divider p{margin:0;color:#65756f;font-size:11px;line-height:1.55}
.phase-operational header{background:#f4f8f5}.phase-operational header>span{color:#6b8b81}.phase-operational li small{white-space:nowrap}

/* Master Unit Usaha & Selling Point */
.master-toolbar{align-items:stretch;flex-wrap:wrap}.master-toolbar input{flex:1 1 280px}.master-toolbar select{min-width:210px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.master-table-card{overflow-x:auto}.master-table{min-width:930px}.selling-point-table{min-width:1120px}.master-name strong,.master-name small{display:block}.master-name small{max-width:360px;margin-top:4px;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.master-code{display:inline-grid;min-width:34px;height:30px;place-items:center;border-radius:8px;background:#edf3e5;color:var(--green);font-weight:800}.master-unit-badge{display:inline-flex;padding:6px 9px;border-radius:7px;background:var(--green);color:var(--lime);font-size:10px;font-weight:800;letter-spacing:.6px}.master-form-intro{margin-bottom:18px}.master-form-intro h2{margin-top:12px}.master-form-section+.master-form-section{margin-top:28px;padding-top:25px;border-top:1px solid var(--line)}.master-form-section>.eyebrow{display:block;margin-bottom:15px}.form-card textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #dfe2dc;border-radius:9px;background:#fff;resize:vertical;font:inherit}.form-card input:disabled{background:#f1f2ef;color:#68736d;cursor:not-allowed}.form-card label[hidden]{display:none}.form-card [data-uppercase]{text-transform:uppercase}.form-span-2{grid-column:1/-1}.form-error{display:block;margin-top:6px;font-size:10px;font-weight:600}.master-table .actions{min-width:100px}
@media(max-width:700px){.master-toolbar{display:grid;grid-template-columns:1fr 1fr}.master-toolbar input,.master-toolbar select{width:100%;min-width:0;grid-column:1/-1}.master-toolbar .primary,.master-toolbar .secondary{width:100%}.master-form-section .form-grid{gap:16px}}

/* Accurate-style workspace: icon rail, menu tabs, and module subtabs */
.accurate-shell{grid-template-columns:64px minmax(0,1fr)}
.workspace-host-page .shell>main{display:flex;height:100vh;min-width:0;flex-direction:column;overflow:hidden}
.workspace-host-page .topbar{position:relative;height:82px;flex:0 0 auto;padding-left:28px}
.sidebar-icon-rail{position:relative;z-index:50;display:flex;height:100vh;flex-direction:column;align-items:center;padding:12px 7px;background:linear-gradient(180deg,#123d34,#0b2d28);color:#fff;box-shadow:2px 0 12px rgba(10,31,27,.15)}
.rail-avatar{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;margin-bottom:18px;border-radius:11px;background:#eaf0df;color:var(--green);font-size:15px;font-weight:800}
.rail-navigation{display:flex;width:100%;flex-direction:column;align-items:center;gap:8px}
.rail-button,.rail-logout button{position:relative;display:grid;width:46px;height:46px;place-items:center;padding:0;border:0;border-radius:10px;background:transparent;color:#d6e4df;cursor:pointer}
.rail-button:hover,.rail-button[aria-expanded=true],.rail-logout button:hover{background:rgba(255,255,255,.12);color:var(--lime)}
.rail-button svg,.rail-logout svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rail-logout{margin-top:auto}.rail-logout button{color:#b9cbc5}
[data-tooltip]:before{content:attr(data-tooltip);position:absolute;left:calc(100% + 10px);top:50%;z-index:90;width:max-content;max-width:190px;padding:7px 9px;border-radius:7px;opacity:0;background:#182722;color:#fff;font-size:10px;font-weight:600;pointer-events:none;transform:translate(5px,-50%);transition:.14s}
[data-tooltip]:hover:before{opacity:1;transform:translate(0,-50%)}
.sidebar-menu-panel{position:fixed;left:64px;top:0;z-index:45;display:none;width:270px;height:100vh;padding:18px;background:#12372f;color:#fff;box-shadow:12px 0 35px rgba(9,29,25,.22)}
.sidebar-menu-panel.open{display:block;animation:sidebar-panel-in .16s ease-out}
.sidebar-menu-panel header{display:flex;align-items:center;margin-bottom:20px;padding:4px 4px 16px;border-bottom:1px solid rgba(255,255,255,.12)}
.sidebar-menu-panel header small,.sidebar-menu-panel header strong{display:block}.sidebar-menu-panel header small{color:#7fa098;font-size:8px;letter-spacing:1.4px}.sidebar-menu-panel header strong{margin-top:3px;font-size:17px}
.sidebar-menu-panel header button{display:grid;width:30px;height:30px;place-items:center;margin-left:auto;border:0;border-radius:8px;background:rgba(255,255,255,.08);color:#fff;font-size:20px;cursor:pointer}
.sidebar-menu-panel .nav-item{gap:11px;min-height:50px;padding:8px 10px;color:#cad9d4}.sidebar-menu-panel .nav-item.active{background:rgba(200,232,107,.16);color:var(--lime)}
.sidebar-menu-panel .nav-item>.menu-icon{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.06);transition:.15s}
.sidebar-menu-panel .nav-item>.menu-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sidebar-menu-panel .nav-item>span:last-child{width:auto;min-width:0;flex:1;overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.sidebar-menu-panel .nav-item:hover>.menu-icon,.sidebar-menu-panel .nav-item.active>.menu-icon{border-color:rgba(200,232,107,.28);background:rgba(200,232,107,.13);color:var(--lime);transform:translateY(-1px)}
@keyframes sidebar-panel-in{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}
.workspace-host{display:flex;min-height:0;flex:1;flex-direction:column;background:#e9ebe7}
.workspace-tab-strip{display:flex;min-height:42px;gap:4px;padding:6px 10px 0;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #d2d6d0;background:#eff0ed;scrollbar-width:thin}
.workspace-main-tabs{background:#e1e4df}
.workspace-tab{display:flex;min-width:145px;max-width:265px;height:36px;align-items:center;border:1px solid #cfd4cd;border-bottom:0;border-radius:8px 8px 0 0;background:#d8dcd6;color:#5d6a64}
.workspace-main-tab.active{border-color:var(--green);background:var(--green);color:#fff}
.workspace-tab-select{display:flex;min-width:0;height:100%;flex:1;align-items:center;gap:4px;padding:0 10px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.workspace-tab-label{overflow:hidden;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.workspace-dirty{min-width:8px;color:#e09b13;font-size:15px;line-height:1}.workspace-main-tab.active .workspace-dirty{color:var(--lime)}
.workspace-tab-close{display:grid;width:27px;height:27px;flex:0 0 auto;place-items:center;margin-right:4px;padding:0;border:0;border-radius:7px;background:transparent;color:inherit;font-size:18px;cursor:pointer}
.workspace-tab-close:hover{background:rgba(255,255,255,.22)}
.workspace-panels,.module-panels{position:relative;min-height:0;flex:1;background:var(--paper)}
.workspace-panel,.module-panel{position:absolute;inset:0}.workspace-panel[hidden],.module-panel[hidden]{display:none}
.workspace-frame{display:block;width:100%;height:100%;border:0;background:var(--paper)}
.workspace-frame-page{min-height:100vh;overflow:auto;background:var(--paper)}
.workspace-frame-content{width:100%;max-width:1500px;padding:25px 30px 50px}
.workspace-frame-page .stock-result-head{top:0}
.workspace-module-page{height:100vh;overflow:hidden}.workspace-module-page .workspace-frame-content{height:100%;max-width:none;padding:0}
.module-workspace{display:flex;height:100%;min-height:0;flex-direction:column}
.module-tab-strip{display:flex;min-height:47px;gap:5px;padding:6px 10px 0;overflow-x:auto;border-bottom:1px solid #d8dcd6;background:#f5f5f2}
.module-list-tab{display:flex;width:58px;height:36px;flex:0 0 auto;align-items:center;justify-content:center;gap:5px;border:1px solid #bdc7bf;border-bottom:0;border-radius:8px 8px 0 0;background:#e4e8e2;color:#607169;cursor:pointer}
.module-list-tab span{font-size:21px}.module-list-tab b{display:none;font-size:9px}.module-list-tab.active{border-color:#78a750;background:#77b83f;color:#fff}
.module-subtab{background:#e1e3df}.module-subtab.active{border-color:#bdc9c1;background:#fff;color:var(--green);box-shadow:0 -2px 0 var(--green)}
.module-list-row{cursor:pointer;transition:background .12s}.module-list-row:hover,.module-list-row:focus{outline:0;background:#eef6e9}
.required-mark{color:#b83f3f;font-size:12px;font-weight:800}
.danger{display:inline-flex;align-items:center;justify-content:center;border:1px solid #e1a6a6;border-radius:10px;padding:10px 15px;background:#fff0f0;color:#a33939;font-size:12px;font-weight:700;cursor:pointer}.danger:hover{background:#a84242;color:#fff}
@media(max-width:900px){.accurate-shell{grid-template-columns:54px minmax(0,1fr)}.sidebar-icon-rail{width:54px;padding-left:4px;padding-right:4px}.rail-button,.rail-logout button{width:43px}.sidebar-menu-panel{left:54px;width:min(270px,calc(100vw - 54px))}.workspace-host-page .shell>main{height:100dvh}.workspace-host-page .topbar{padding-left:15px}.workspace-tab-strip{padding-left:6px;padding-right:6px}.workspace-tab{min-width:128px;max-width:210px}.workspace-frame-content{padding:18px 14px 42px}.module-tab-strip{padding-left:6px}}

/* Unit Usaha dan Selling Point aktif */
.portal-context-picker{display:flex;align-items:center;gap:6px;padding:5px;border:1px solid #d8ddd7;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(24,35,40,.035)}
.portal-context-picker label{display:block;min-width:118px;padding:0 5px}
.portal-context-picker label+label{border-left:1px solid var(--line)}
.portal-context-picker small{display:block;margin:0 5px 1px;color:#85918b;font-size:6px;font-weight:800;letter-spacing:1px}
.portal-context-picker select{width:100%;max-width:160px;padding:2px 22px 2px 4px;border:0;outline:0;background-color:#fff;color:var(--green);font-size:10px;font-weight:800;text-overflow:ellipsis;cursor:pointer}
.portal-context-picker select:disabled{color:#929a96;cursor:not-allowed}

/* Master User - cakupan akses operasional */
.user-access-section{margin-top:25px;padding-top:23px;border-top:1px solid var(--line)}
.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}
.section-title-row h3{margin:0;font-size:15px}
.secondary.compact{padding:8px 11px;font-size:10px}
.access-unit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.access-unit-card{overflow:hidden;border:1px solid #dfe4de;border-radius:12px;background:#fafbf9}
.access-unit-check{display:flex!important;align-items:center;gap:10px;padding:12px 13px;background:#f0f5ec;cursor:pointer}
.access-unit-check input,.access-location-list input{display:inline-block;width:17px;height:17px;flex:0 0 auto;margin:0;padding:0;accent-color:var(--green)}
.access-unit-check span{min-width:0}.access-unit-check strong,.access-unit-check small{display:block}.access-unit-check strong{color:var(--green);font-size:12px}.access-unit-check small{margin-top:2px;color:var(--muted);font-size:9px;font-weight:500}
.access-unit-heading{display:flex;align-items:center;min-height:55px;padding:11px 13px;background:#f0f5ec}.access-unit-heading strong,.access-unit-heading small{display:block}.access-unit-heading strong{color:var(--green);font-size:12px}.access-unit-heading small{margin-top:2px;color:var(--muted);font-size:9px;font-weight:500}
.access-location-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:11px 13px}
.access-location-list label{display:flex;align-items:center;gap:7px;min-width:0;padding:7px 8px;border:1px solid #e7eae5;border-radius:8px;background:#fff;cursor:pointer}
.access-location-list label span{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.access-location-list label.disabled{opacity:.42;cursor:not-allowed}.access-location-list>small{padding:6px 0;color:var(--muted);font-size:9px;font-weight:500}
.location-type{display:inline-flex;margin-right:6px;padding:3px 5px;border-radius:5px;font-size:7px;letter-spacing:.5px;vertical-align:1px}.location-type.warehouse{background:#153d35;color:#c8e86b}.location-type.selling-point{background:#e9f1e4;color:#47703b}
.access-superdev,.access-empty{padding:16px;border:1px solid #dce5d6;border-radius:11px;background:#f1f7eb;color:var(--green)}
.access-superdev strong,.access-superdev span{display:block}.access-superdev strong{font-size:12px}.access-superdev span{margin-top:4px;color:#728078;font-size:10px}.access-empty{background:#fafbf9;color:var(--muted);font-size:11px}
.access-summary{display:block;max-width:220px;overflow:hidden;color:#52635d;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:1280px){.portal-context-picker label{min-width:94px}.portal-context-picker select{max-width:120px}.stock-update-menu{display:none}}
@media(max-width:900px){.portal-context-picker{margin-left:auto}.portal-context-picker label{min-width:88px}.live-clock{display:none}.access-unit-grid{grid-template-columns:1fr}}
@media(max-width:620px){.workspace-host-page .topbar>div:first-child{display:none}.portal-context-picker small{display:none}.portal-context-picker label{min-width:0}.portal-context-picker select{max-width:110px;font-size:9px}.topbar-actions{width:100%;gap:8px}.access-location-list{grid-template-columns:1fr}}

/* Master Barang native */
.identity-lock-badge{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid #e1c787;border-radius:9px;background:#fff7df;color:#7b5a12;font-size:9px;font-weight:800;letter-spacing:.6px}

/* Master Harga Jual */
.selling-price-table{min-width:980px}.selling-price-amount{color:var(--green);font-size:14px}.price-missing-badge,.price-active-badge,.price-history-badge,.price-voided-badge{display:inline-flex;padding:5px 8px;border-radius:7px;font-size:9px;font-weight:800;letter-spacing:.45px}.price-missing-badge{border:1px solid #e1c787;background:#fff7df;color:#7b5a12}.price-active-badge{background:#e7f3df;color:#39712a}.price-history-badge{background:#eef0ec;color:#657069}.price-voided-badge{background:#f4e8e8;color:#984747}.selling-price-current{padding:10px 14px;border-radius:10px;background:var(--green);color:#fff;font-size:18px}.selling-price-form+.selling-price-history{margin-top:25px}.selling-price-history-table{min-width:900px}.price-voided-row{color:#8d9691;background:#faf8f8}.price-voided-row strong{text-decoration:line-through}.price-voided-meta{display:block;margin-top:5px;color:#9c7777;font-size:9px}.danger.compact{padding:8px 10px;font-size:10px}.input-prefix{display:flex;margin-top:7px}.input-prefix>span{display:grid;min-width:48px;place-items:center;border:1px solid #dfe2dc;border-right:0;border-radius:9px 0 0 9px;background:#f3f5f1;color:#68736d;font-weight:800}.form-card .input-prefix>input{margin-top:0;border-radius:0 9px 9px 0}.dashboard-price-alert{display:flex;align-items:center;gap:18px;margin-bottom:22px;padding:18px 20px;border:1px solid #e1c787;border-radius:14px;background:#fff9e8}.dashboard-price-alert strong,.dashboard-price-alert span{display:block}.dashboard-price-alert strong{font-size:15px}.dashboard-price-alert span{margin-top:4px;color:#786948;font-size:11px}.dashboard-price-alert b{display:grid;min-width:48px;height:48px;place-items:center;border-radius:12px;background:#e9bf52;color:#513c0a;font-size:18px}.dashboard-price-alert .secondary{margin-left:auto}
[data-style-market-lock][hidden]{display:none!important}
.item-code-preview{display:grid;grid-template-columns:150px minmax(0,1fr);gap:5px 15px;margin:22px 0;padding:14px 16px;border:1px solid #dfe5de;border-radius:11px;background:#f5f8f3}.item-code-preview small{align-self:center;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.8px}.item-code-preview strong{overflow-wrap:anywhere;color:var(--green);font-size:12px}
.shoe-fields{margin-top:20px;padding:18px;border:1px solid #dce5d8;border-radius:12px;background:#f5f8f2}.shoe-fields[hidden]{display:none}
.input-suffix{display:flex}.input-suffix input{border-radius:9px 0 0 9px}.input-suffix span{display:grid;place-items:center;padding:0 12px;border:1px solid var(--line);border-left:0;border-radius:0 9px 9px 0;background:#f0f2ee;color:var(--muted);font-size:10px;font-weight:800}
.item-photo-section{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.photo-picker-actions{display:flex;align-items:center;gap:10px}.photo-picker-actions>span{font-size:10px;color:var(--muted)}.photo-add-button{position:relative;cursor:pointer}.photo-file-input[hidden]{display:none!important}.item-photo-grid,.photo-upload-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.photo-upload-preview:empty{display:none}.photo-upload-preview:not(:empty){margin-bottom:13px}.item-photo-card,.pending-photo-card{position:relative;overflow:hidden;border:1px solid #dfe4de;border-radius:11px;background:#fff}.item-photo-card img,.pending-photo-card img{display:block;width:100%;height:130px;object-fit:cover;background:#eef0ed}.item-photo-card label{display:flex;align-items:center;gap:6px;padding:8px 9px;font-size:9px;cursor:pointer}.item-photo-card label+label{border-top:1px solid var(--line)}.item-photo-card input{width:15px;height:15px;margin:0;accent-color:var(--green)}.item-photo-card .remove-photo{color:#a33939}.pending-photo-card small{display:block;overflow:hidden;padding:8px 34px 8px 8px;text-overflow:ellipsis;white-space:nowrap}.pending-photo-remove{position:absolute;right:6px;bottom:5px;display:grid;width:24px;height:24px;padding:0;place-items:center;border:1px solid #e7b8b8;border-radius:7px;background:#fff3f3;color:#a62f2f;font-size:17px;line-height:1;cursor:pointer}.pending-photo-remove:hover{background:#ffe5e5}.item-list-photo{width:48px;height:48px;border-radius:8px;object-fit:cover}.item-photo-empty{display:grid;width:48px;height:48px;place-items:center;border-radius:8px;background:#eef1ed;color:#9aa39e}.item-master-table td:first-child{width:70px}.block-error{margin:14px 0;padding:10px;border:1px solid #efbbbb;border-radius:9px;background:#fff3f3}
@media(max-width:700px){.item-code-preview{grid-template-columns:1fr}.item-photo-grid,.photo-upload-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}
.page-intro-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.list-refresh-button{gap:7px;white-space:nowrap}.list-refresh-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.list-refresh-button:disabled{cursor:progress;opacity:.68}.list-refresh-button.is-refreshing svg{animation:list-refresh-spin .7s linear infinite}.stock-intro-actions{display:flex;align-items:center;gap:14px}.stock-intro-actions .stock-update{min-width:115px}@keyframes list-refresh-spin{to{transform:rotate(360deg)}}
.item-import-card{max-width:none}.item-import-unit{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid #dce5dc;border-radius:12px;background:#f4f8f1}.item-import-unit small{font-size:10px;letter-spacing:.12em;color:#77867e;font-weight:700}.item-import-unit strong{color:#123f35}.import-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.import-rule-grid>div{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid #e1e5df;border-radius:12px;background:#fff}.import-rule-grid b{font-size:13px}.import-rule-grid span{font-size:12px;line-height:1.5;color:#748079}.import-error-list{max-height:260px;overflow:auto;padding:15px 18px;border:1px solid #f1b7b7;border-radius:12px;background:#fff7f7;color:#8f2929}.import-error-list ol{margin:9px 0 0;padding-left:20px}.import-error-list li{padding:3px 0;font-size:12px}@media(max-width:900px){.import-rule-grid{grid-template-columns:1fr}}
.form-submit-progress{position:fixed;inset:0;z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding:26px 18px;background:rgba(7,38,32,.16);backdrop-filter:blur(1.5px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,visibility .16s ease}
.form-submit-progress.is-visible{opacity:1;visibility:visible;pointer-events:all}
.form-submit-progress-card{display:flex;align-items:center;gap:14px;width:min(420px,calc(100vw - 36px));padding:16px 18px;border:1px solid #d6dfda;border-radius:14px;background:#fff;box-shadow:0 16px 45px rgba(9,42,35,.2)}
.form-submit-progress-spinner{width:26px;height:26px;flex:0 0 26px;border:3px solid #dce9df;border-top-color:#0d493d;border-radius:50%;animation:form-submit-spin .72s linear infinite}
.form-submit-progress-copy{display:grid;gap:3px;min-width:0;flex:1}
.form-submit-progress-copy strong{font-size:14px;color:#0b2f28}
.form-submit-progress-copy small{font-size:11px;color:#71807b}
.form-submit-progress-track{position:relative;display:block;height:4px;margin-top:8px;overflow:hidden;border-radius:999px;background:#e5ece8}
.form-submit-progress-track i{position:absolute;inset-block:0;left:-42%;width:42%;border-radius:inherit;background:linear-gradient(90deg,#91bd37,#0d493d);animation:form-submit-track 1.05s ease-in-out infinite}
.is-submitting-form{cursor:progress}
.is-submitting button[type="submit"]{cursor:progress}
@keyframes form-submit-spin{to{transform:rotate(360deg)}}
@keyframes form-submit-track{0%{left:-42%}100%{left:100%}}
@media (prefers-reduced-motion:reduce){.form-submit-progress-spinner,.form-submit-progress-track i,.list-refresh-button.is-refreshing svg{animation-duration:2.4s}}

/* Dashboard kelengkapan master */
.dashboard-alert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:22px}.dashboard-alert-grid .dashboard-price-alert{margin-bottom:0}.dashboard-photo-alert{border-color:#b8d3bd;background:#f2f9ef}.dashboard-photo-alert b{background:#76a969;color:#fff}.dashboard-photo-alert span{color:#58705b}.page-subtitle{display:block;margin-top:5px;color:var(--muted);font-size:11px}

/* Master Supplier dan Transaksi Pembelian */
.form-hint{display:block;margin-top:5px;color:var(--muted);font-size:10px;font-weight:500}.form-grid-wide{grid-column:1/-1}.purchase-list-table{min-width:1050px}.purchase-status{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:7px;font-size:9px;font-weight:800;letter-spacing:.55px}.purchase-status.draft{border:1px solid #dec77f;background:#fff7d9;color:#7c6115}.purchase-status.posted{background:#dff0db;color:#2f6c2d}.purchase-form-card{max-width:none}.purchase-header-section{padding-bottom:24px;border-bottom:1px solid var(--line)}.purchase-detail-section{padding-top:24px}.purchase-detail-actions{display:flex;align-items:center;gap:9px}.purchase-file-button{cursor:pointer}.purchase-import-status{margin:12px 0;padding:12px 14px;border-radius:10px;font-size:11px}.purchase-import-status strong{display:block}.purchase-import-status ol{max-height:210px;margin:8px 0 0;padding-left:18px;overflow:auto}.purchase-import-status li{margin:3px 0}.purchase-import-status.ok{border:1px solid #bbd8b6;background:#f0f8ed;color:#35632f}.purchase-import-status.error{border:1px solid #ebb7b7;background:#fff2f2;color:#922f2f}.purchase-import-status.loading{border:1px solid #cbd4ce;background:#f3f5f3;color:#52615a}.purchase-detail-list{display:grid;gap:13px}.purchase-detail-empty{display:flex;min-height:130px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px dashed #cfd8d1;border-radius:12px;background:#fafbf9;color:#7a867f}.purchase-detail-empty strong{color:#4b5b53}.purchase-detail-empty span{font-size:11px}.purchase-detail-card{overflow:hidden;border:1px solid #dce3dd;border-radius:13px;background:#fff}.purchase-detail-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;background:#f2f6ef}.purchase-detail-card>header strong,.purchase-detail-card>header small{display:block}.purchase-detail-card>header strong{color:var(--green);font-size:13px}.purchase-detail-card>header small{margin-top:3px;color:var(--muted);font-size:9px}.purchase-detail-body{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(170px,.55fr) minmax(380px,1.75fr);gap:16px;align-items:start;padding:15px}.purchase-detail-body>label{font-size:10px;font-weight:700}.purchase-detail-body .input-prefix{margin-top:6px}.purchase-active-price{padding:10px 12px;border:1px solid #e2e6e1;border-radius:9px;background:#fafbf9}.purchase-active-price small,.purchase-active-price strong{display:block}.purchase-active-price small{margin-bottom:6px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.6px}.purchase-active-price strong{color:var(--green);font-size:13px}.purchase-size-box{padding:10px 12px;border:1px solid #e2e6e1;border-radius:10px}.purchase-size-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.purchase-size-heading strong{font-size:10px}.purchase-size-list{display:flex;flex-wrap:wrap;gap:7px}.purchase-size-row{display:flex;height:34px;align-items:center;overflow:hidden;border:1px solid #dce2dd;border-radius:8px;background:#fff}.purchase-size-row input{height:100%;margin:0!important;padding:5px 7px!important;border:0!important;border-radius:0!important;text-align:center}.purchase-size-row input[data-field=size]{width:66px}.purchase-size-row input[data-field=quantity]{width:58px;border-left:1px solid #edf0ed!important}.purchase-size-row>span,.purchase-size-row>small{color:#7e8983;font-size:9px}.purchase-size-row>small{padding-right:6px}.purchase-size-row>button{width:28px;height:100%;padding:0;border:0;border-left:1px solid #ecd0d0;background:#fff2f2;color:#a13d3d;cursor:pointer}.purchase-summary{display:flex;justify-content:flex-end;gap:9px;margin-top:15px}.purchase-summary>div{min-width:135px;padding:11px 13px;border:1px solid #dfe5df;border-radius:10px;background:#f7f9f6}.purchase-summary small,.purchase-summary strong{display:block}.purchase-summary small{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.6px}.purchase-summary strong{margin-top:4px;color:var(--green);font-size:15px}.purchase-post-button{margin-left:8px;background:#75a632;color:#fff}.item-help-dialog{width:min(1050px,calc(100vw - 30px));max-height:88vh;padding:0;border:0;border-radius:15px;background:transparent}.item-help-dialog::backdrop{background:rgba(4,28,23,.42)}.item-help-card{display:flex;max-height:88vh;flex-direction:column;overflow:hidden;border-radius:15px;background:#fff;box-shadow:0 24px 80px rgba(3,27,22,.28)}.item-help-card>header,.item-help-card>footer{display:flex;align-items:center;gap:15px;padding:15px 18px}.item-help-card>header{border-bottom:1px solid var(--line)}.item-help-card>header strong,.item-help-card>header small{display:block}.item-help-card>header strong{font-size:16px}.item-help-card>header small{margin-top:3px;color:var(--muted);font-size:10px}.item-help-card>header button{display:grid;width:32px;height:32px;margin-left:auto;place-items:center;border:0;border-radius:8px;background:#edf1ed;font-size:20px;cursor:pointer}.item-help-search{display:flex;gap:8px;padding:13px 18px}.item-help-search input{flex:1}.item-help-table-wrap{min-height:260px;overflow:auto;border-block:1px solid var(--line)}.item-help-table-wrap table{min-width:820px}.item-help-table-wrap input[type=checkbox]{width:17px;height:17px;accent-color:var(--green)}.item-help-card>footer{justify-content:flex-end}.item-help-card>footer span{margin-right:auto;color:var(--muted);font-size:11px}
.purchase-help-photo,.purchase-help-photo-empty{display:grid;width:54px;height:54px;padding:0;place-items:center;overflow:hidden;border:1px solid #dce3dd;border-radius:9px;background:#f1f3ef;color:#89948e}.purchase-help-photo{cursor:zoom-in}.purchase-help-photo img{width:100%;height:100%;object-fit:cover}.purchase-help-photo:hover{border-color:var(--green);box-shadow:0 3px 10px rgba(13,73,61,.18)}.purchase-detail-identity{display:flex;align-items:center;gap:11px;min-width:0}.purchase-detail-photo{display:grid;width:52px;height:52px;flex:0 0 52px;padding:0;place-items:center;overflow:hidden;border:1px solid #d9e1da;border-radius:9px;background:#fff;color:#8a958f;cursor:zoom-in}.purchase-detail-photo img{width:100%;height:100%;object-fit:cover}.purchase-detail-photo-empty{background:#e8ece7;cursor:default}.purchase-size-heading{gap:10px;flex-wrap:wrap}.purchase-size-heading>strong{margin-right:auto}.purchase-size-tools,.purchase-quick-sizes,.purchase-custom-size{display:flex;align-items:center;gap:5px}.purchase-size-tools{flex-wrap:wrap;justify-content:flex-end}.purchase-quick-sizes button{min-width:30px;height:29px;padding:0 6px;border:1px solid #cad8cc;border-radius:7px;background:#eef5e9;color:var(--green);font-size:10px;font-weight:800;cursor:pointer}.purchase-quick-sizes button:hover{background:var(--green);color:#fff}.purchase-custom-size{overflow:hidden;border:1px solid #d8dfd9;border-radius:7px;background:#fff}.purchase-custom-size input{width:82px;height:28px;margin:0!important;padding:4px 7px!important;border:0!important;border-radius:0!important;font-size:10px}.purchase-custom-size button{width:29px;height:28px;padding:0;border:0;border-left:1px solid #d8dfd9;background:var(--green);color:#fff;font-size:17px;font-weight:800;cursor:pointer}.purchase-form-actions{justify-content:flex-start}.purchase-draft-actions{display:flex;align-items:center;gap:9px;margin-left:auto}.purchase-post-button{margin-left:0}.purchase-photo-dialog{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(7,20,17,.94)}.purchase-photo-dialog::backdrop{background:#071411}.purchase-photo-dialog img{display:block;width:100%;height:100%;padding:55px;object-fit:contain}.purchase-photo-dialog button{position:fixed;z-index:2;top:16px;right:18px;display:grid;width:42px;height:42px;padding:0;place-items:center;border:0;border-radius:50%;background:#fff;color:var(--green);font-size:26px;cursor:pointer;box-shadow:0 7px 20px rgba(0,0,0,.24)}
@media(max-width:950px){.dashboard-alert-grid{grid-template-columns:1fr}.purchase-detail-body{grid-template-columns:1fr}.purchase-detail-actions{align-items:stretch;flex-direction:column}.purchase-detail-actions>*{width:100%;text-align:center}.purchase-summary{display:grid;grid-template-columns:repeat(3,1fr)}.purchase-summary>div{min-width:0}}
@media(max-width:600px){.purchase-summary{grid-template-columns:1fr}.purchase-size-row{width:100%}.purchase-size-row input[data-field=size],.purchase-size-row input[data-field=quantity]{flex:1;width:auto}}

/* Tree menu layer kedua */
.menu-tree-group{margin:5px 9px;border:1px solid rgba(214,225,217,.72);border-radius:10px;background:rgba(255,255,255,.42)}.menu-tree-group summary{display:flex;align-items:center;gap:8px;padding:10px 11px;color:#52645d;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;list-style:none}.menu-tree-group summary::-webkit-details-marker{display:none}.menu-tree-group summary::before{content:'›';font-size:17px;line-height:1;transition:transform .15s ease}.menu-tree-group[open] summary::before{transform:rotate(90deg)}.menu-tree-children{padding:0 5px 6px}.menu-tree-children .nav-item{margin:1px 0;padding-left:9px}.menu-tree-children .menu-icon{transform:scale(.86)}

/* Koreksi barcode pembelian */
.barcode-correction-table{min-width:1060px}.table-subline{display:block;margin-top:4px;color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.05em}.barcode-state{display:inline-flex;padding:6px 9px;border-radius:7px;font-size:8px;font-weight:900;letter-spacing:.06em;white-space:nowrap}.barcode-state.ready{border:1px solid #b9d6b5;background:#edf7ea;color:#326d31}.barcode-state.touched{border:1px solid #dfc780;background:#fff7dc;color:#745a10}.barcode-state.void{border:1px solid #e6b7b7;background:#fff0f0;color:#9d3030}.barcode-correction-form,.barcode-void-card{max-width:none}.selected-barcode-item{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:16px;margin:16px 0 10px;padding:14px 16px;border:1px solid #d8e2d9;border-radius:11px;background:#f2f7ef}.selected-barcode-item strong,.selected-barcode-item small{display:block}.selected-barcode-item strong{color:var(--green)}.selected-barcode-item small{margin-top:5px;color:var(--muted);font-size:10px}.selected-barcode-item>b{font-size:12px;color:#3e6a36}.correction-fields{margin-top:20px}.barcode-void-card{margin-top:18px;border-color:#ebc1c1;background:#fffafa}.barcode-void-card h3{color:#9b3434}.barcode-void-card p{color:#7d6969;font-size:11px}.barcode-void-card textarea{margin:10px 0}.purchase-corrected-badge,.purchase-list-corrected{color:#8b6412}.purchase-corrected-badge{display:inline-flex;padding:6px 9px;border:1px solid #e1ca8a;border-radius:7px;background:#fff8df;font-size:8px;font-weight:900}.purchase-list-corrected{font-weight:800!important}.purchase-correction-history{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.barcode-log-action{display:inline-flex;padding:5px 8px;border-radius:6px;background:#edf2ee;color:var(--green);font-size:8px;font-weight:900}.barcode-log-action.void{background:#fff0f0;color:#a23434}.barcode-log-action.add{background:#eef6e9;color:#4f7827}
@media(max-width:700px){.selected-barcode-item{align-items:flex-start;flex-direction:column}.menu-tree-group{margin-inline:5px}}

/* V67 - tree menu: lebih tenang, menyatu dengan sidebar */
.menu-tree-group{margin:4px 5px 7px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:rgba(255,255,255,.035);overflow:hidden}
.menu-tree-group summary{padding:9px 10px;color:rgba(255,255,255,.58);font-size:9px;letter-spacing:.11em;background:transparent;transition:background .15s ease,color .15s ease}
.menu-tree-group summary:hover{background:rgba(255,255,255,.045);color:rgba(255,255,255,.82)}
.menu-tree-group[open] summary{color:var(--lime);background:rgba(200,232,107,.055)}
.menu-tree-group summary::before{color:rgba(200,232,107,.72)}
.menu-tree-children{padding:3px 5px 7px;border-top:1px solid rgba(255,255,255,.055)}
.menu-tree-children .nav-item{margin:2px 0;padding:8px 9px 8px 12px;border-radius:7px;font-size:11px;color:rgba(255,255,255,.73)}
.menu-tree-children .nav-item:hover{background:rgba(255,255,255,.055);color:#fff}
.menu-tree-children .nav-item.active{background:rgba(200,232,107,.12);color:var(--lime)}

/* V69 - Program Pembelian per kode */
.purchase-code-group{border:1px solid #dfe5df;border-radius:16px;background:#f8faf7;padding:12px;margin-bottom:16px}
.purchase-code-group-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:4px 4px 12px}
.purchase-code-group-head>div:first-child small,.purchase-code-group-head>div:first-child strong,.purchase-code-group-head>div:first-child span{display:block}
.purchase-code-group-head>div:first-child small{font-size:8px;letter-spacing:1.2px;color:var(--muted)}
.purchase-code-group-head>div:first-child strong{font-size:15px;color:var(--green);margin:3px 0}
.purchase-code-group-head>div:first-child span{font-size:10px;color:var(--muted)}
.purchase-code-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:5px}
.purchase-code-meta>span{margin:0}
.purchase-code-total{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid #cbd9c9;border-radius:8px;background:#eef5e9;color:var(--green);font-weight:800}
.purchase-code-total small{font-size:7px!important;letter-spacing:.9px!important;color:#718078!important}
.purchase-code-total strong{margin:0!important;font-size:12px!important;color:var(--green)!important;font-variant-numeric:tabular-nums}
.purchase-program-picker{min-width:310px;font-size:11px;font-weight:700}
.purchase-program-picker select{display:block;width:100%;margin-top:5px;border:1px solid #d9dfd8;border-radius:9px;padding:9px 10px;background:#fff;font-size:11px}
.purchase-program-picker small{display:block;margin-top:4px;color:var(--muted);font-size:8px;font-weight:400}
.purchase-code-group-items{display:grid;gap:10px}.purchase-code-group .purchase-detail-card{margin:0;background:#fff}
@media(max-width:760px){.purchase-code-group-head{display:block}.purchase-program-picker{display:block;min-width:0;margin-top:10px}}

.purchase-detail-header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.purchase-color-total{white-space:nowrap}
@media(max-width:760px){.purchase-detail-header-actions{align-items:flex-end;flex-direction:column;gap:6px}}

/* V81 - subtotal realtime pembelian per kode+warna dan per kode */
.purchase-code-group-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.purchase-total-stack{display:flex;align-items:center;gap:7px;min-width:0;padding:7px 11px;border:1px solid #cbd9c9;border-radius:999px;background:#eef5e9;color:var(--green);white-space:nowrap}
.purchase-total-stack small{font-size:7px;line-height:1;letter-spacing:.75px;color:#718078;font-weight:800}
.purchase-total-stack strong{font-size:11px;line-height:1;color:var(--green);font-weight:850;font-variant-numeric:tabular-nums}
.purchase-total-stack i{font-style:normal;color:#9aac9f;font-size:9px;line-height:1}
.purchase-total-stack span{font-size:11px;line-height:1;color:#244f45;font-weight:800;font-variant-numeric:tabular-nums}
.purchase-code-subtotal{background:#e5f0de;border-color:#b8d0b4}
.purchase-color-total{min-width:0}
@media(max-width:760px){.purchase-code-group-actions{display:block;margin-top:10px}.purchase-code-group-actions .purchase-total-stack{margin-bottom:9px}.purchase-total-stack{width:max-content;max-width:100%;flex-wrap:wrap;border-radius:12px}}

/* Cetak Barcode */
.barcode-print-toolbar{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:14px}.barcode-print-toolbar label,.barcode-template-actions label{font-size:11px;font-weight:700}.barcode-inline{display:flex;gap:8px;margin-top:7px}.barcode-inline input{margin:0;flex:1}.barcode-selection-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:12px 0}.barcode-selection-actions,.barcode-template-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.barcode-selection-actions select,.barcode-template-actions select{min-width:170px;padding:9px;border:1px solid #dfe2dc;border-radius:8px;background:#fff}.barcode-template-actions strong{font-size:11px;color:var(--green)}.barcode-print-table{min-width:1100px}.barcode-print-table th:first-child,.barcode-print-table td:first-child{width:42px;text-align:center}.barcode-print-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--green)}.barcode-purchase-help{width:min(680px,calc(100% - 30px));max-height:78vh;border:0;border-radius:16px;padding:18px;box-shadow:0 25px 90px rgba(0,0,0,.28)}.barcode-purchase-help::backdrop{background:rgba(6,33,28,.48)}.barcode-help-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.barcode-help-head strong,.barcode-help-head small{display:block}.barcode-help-head small{margin-top:3px;color:var(--muted);font-size:10px}.barcode-help-head button{border:0;background:#eef1ed;border-radius:50%;width:32px;height:32px;font-size:20px;cursor:pointer}.barcode-purchase-help>input{width:100%;padding:11px;border:1px solid var(--line);border-radius:9px}.barcode-help-list{display:grid;gap:6px;margin-top:10px;max-height:52vh;overflow:auto}.barcode-help-list a{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;color:var(--ink);text-decoration:none}.barcode-help-list a:hover{background:#f1f6ef}.barcode-help-list small{color:var(--muted)}@media(max-width:850px){.barcode-print-toolbar{grid-template-columns:1fr}.barcode-selection-head{align-items:stretch;flex-direction:column}.barcode-template-actions{justify-content:flex-end}}

/* Cetak Barcode V85 */
.barcode-print-page{width:min(1480px,calc(100% - 44px));margin:0 auto;padding:8px 0 34px}.barcode-print-page .page-intro{margin-left:0;margin-right:0}.barcode-print-page .barcode-print-toolbar{margin-top:14px}.barcode-print-page .barcode-selection-head{padding:0 2px}.barcode-print-page .barcode-print-table-wrap{width:100%}.barcode-help-loading,.barcode-help-empty,.barcode-help-error{padding:26px 14px;text-align:center;color:var(--muted);font-size:11px}.barcode-help-error{color:var(--red)}
@media(max-width:900px){.barcode-print-page{width:calc(100% - 24px)}}

/* V101 - tombol Help Table ringkas */
.help-search-button{
    width:44px;
    min-width:44px;
    height:44px;
    padding:0 !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    flex:0 0 44px;
}
.help-search-button svg{display:block;pointer-events:none}

/* V102 - grid Cetak Barcode punya scroll sendiri */
.barcode-print-page{padding-bottom:10px}
.barcode-print-list-form{min-height:0}
.barcode-print-table-wrap{
    width:100%;
    overflow:auto !important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
}
.barcode-print-table{
    margin:0;
}
.barcode-print-table thead th{
    position:sticky;
    top:0;
    z-index:4;
    background:#f8f9f6;
    box-shadow:0 1px 0 var(--line);
}


/* =========================================================
   V103 - COMPACT PORTAL LAYOUT
   Hemat tinggi layar untuk halaman data/grid.
   ========================================================= */

/* Header utama: 82px -> 62px */
.workspace-host-page .topbar{
    height:62px;
    min-height:62px;
    padding:0 22px;
    gap:14px;
}
.workspace-host-page .topbar h1{
    font-size:20px;
    line-height:1.05;
    margin:0;
}
.topbar-actions{
    gap:10px;
}

/* Context Unit/Lokasi dibuat lebih pendek */
.portal-context-picker{
    gap:3px;
    padding:3px 4px;
    border-radius:10px;
}
.portal-context-picker label{
    min-width:112px;
    padding:0 4px;
}
.portal-context-picker small{
    margin:0 4px;
    font-size:5.5px;
    line-height:1.1;
}
.portal-context-picker select{
    max-width:150px;
    padding:1px 20px 1px 3px;
    font-size:9.5px;
    line-height:1.2;
}

/* Last update stock */
.stock-update-trigger{
    min-width:205px;
    gap:7px;
    padding:5px 8px;
    border-radius:10px;
}
.stock-update-icon{
    width:29px;
    height:29px;
    border-radius:8px;
}
.stock-update-icon svg{
    width:17px;
    height:17px;
}
.stock-update-current small{
    font-size:6px;
}
.stock-update-current strong{
    margin-top:1px;
    font-size:10px;
}
.stock-update-current em{
    margin-top:0;
    font-size:8px;
}
.stock-update-chevron{
    width:13px;
    height:13px;
}

/* Jam */
.live-clock{
    min-width:165px;
}
.live-clock small{
    font-size:8.5px;
}
.live-clock strong{
    margin-top:1px;
    font-size:17px;
    line-height:1.05;
}

/* Development Plan */
.topbar-actions .plan-trigger{
    padding:6px 8px 6px 12px;
    gap:9px;
    border-radius:10px;
    font-size:11px;
}
.plan-trigger b{
    padding:4px 6px;
    border-radius:6px;
}

/* Main workspace tabs: 42px -> 34px */
.workspace-tab-strip{
    min-height:34px;
    gap:3px;
    padding:4px 8px 0;
}
.workspace-tab{
    min-width:135px;
    height:30px;
    border-radius:7px 7px 0 0;
}
.workspace-tab-select{
    padding:0 8px;
}
.workspace-tab-label{
    font-size:10px;
}
.workspace-tab-close{
    width:23px;
    height:23px;
    margin-right:3px;
    font-size:16px;
}

/* Sub-tab/module strip juga dipadatkan */
.module-tab-strip{
    min-height:37px;
    gap:4px;
    padding:4px 8px 0;
}
.module-list-tab{
    width:52px;
    height:30px;
}
.module-list-tab span{
    font-size:18px;
}
.module-subtab{
    height:30px;
}

/* Ruang awal halaman dalam iframe */
.workspace-frame-content{
    padding:16px 24px 30px;
}

/* Heading halaman */
.workspace-frame-page .page-intro{
    margin-bottom:13px;
}
.workspace-frame-page .page-intro h2{
    margin:2px 0;
    font-size:22px;
    line-height:1.15;
}
.workspace-frame-page .page-intro p,
.workspace-frame-page .page-subtitle{
    font-size:10px;
    line-height:1.35;
}

/* Toolbar dan card/filter umum lebih hemat tinggi */
.workspace-frame-page .toolbar{
    margin-bottom:9px;
}
.workspace-frame-page .form-card{
    padding:18px 22px;
    border-radius:13px;
}
.workspace-frame-page .form-grid{
    gap:14px 18px;
}
.workspace-frame-page .form-card input,
.workspace-frame-page .form-card select{
    padding:9px 11px;
    margin-top:5px;
}
.workspace-frame-page .form-card label{
    font-size:11px;
}
.workspace-frame-page .form-card label>small{
    margin-top:3px;
}
.workspace-frame-page .form-actions{
    margin-top:17px;
    padding-top:15px;
}

/* Grid/table umum sedikit lebih padat supaya lebih banyak row terlihat */
.workspace-frame-page th{
    padding-top:10px;
    padding-bottom:10px;
}
.workspace-frame-page td{
    padding-top:11px;
    padding-bottom:11px;
}

/* Khusus Cetak Barcode: rapatkan intro/filter/action */
.barcode-print-page{
    padding-top:0;
}
.barcode-print-page .page-intro{
    margin-bottom:10px;
}
.barcode-print-page .barcode-print-toolbar{
    margin-top:8px;
}
.barcode-print-toolbar{
    padding:16px 22px !important;
}
.barcode-selection-head{
    margin:8px 0;
}

/* Sidebar rail sedikit dipadatkan secara vertikal */
.sidebar-icon-rail{
    padding-top:9px;
    padding-bottom:9px;
}
.rail-avatar{
    width:37px;
    height:37px;
    margin-bottom:12px;
}
.rail-navigation{
    gap:5px;
}
.rail-button,.rail-logout button{
    width:42px;
    height:42px;
}

/* Desktop pendek: makin agresif supaya grid tetap dominan */
@media (min-width:901px) and (max-height:800px){
    .workspace-host-page .topbar{height:58px;min-height:58px}
    .workspace-tab-strip{min-height:32px}
    .workspace-tab{height:28px}
    .workspace-frame-content{padding-top:12px}
}


/* =========================================================
   V104 - Header balance + global zebra table rows
   ========================================================= */

/* Last Update Stock disamakan tinggi/proporsinya dengan Unit Usaha + Lokasi */
.portal-context-picker{
    min-height:42px;
}
.stock-update-trigger{
    min-height:42px;
    height:42px;
    min-width:224px;
    padding:4px 9px;
    border-radius:10px;
}
.stock-update-icon{
    width:30px;
    height:30px;
}
.stock-update-current{
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.stock-update-current small{
    font-size:6px;
    line-height:1;
}
.stock-update-current strong{
    margin-top:2px;
    font-size:10px;
    line-height:1.05;
}
.stock-update-current em{
    margin-top:1px;
    font-size:8px;
    line-height:1;
}

/* Zebra row global: sangat halus, supaya tabel mudah diikuti tanpa terasa ramai */
.master-table tbody tr:nth-child(even):not(.stock-row-damaged),
.table-card table tbody tr:nth-child(even):not(.stock-row-damaged){
    background:#f6f8f4;
}
.master-table tbody tr:nth-child(odd):not(.stock-row-damaged),
.table-card table tbody tr:nth-child(odd):not(.stock-row-damaged){
    background:#fff;
}

/* Hover sedikit lebih jelas */
.master-table tbody tr:hover,
.table-card table tbody tr:hover{
    background:#edf3ea !important;
}

/* Row dengan status/warna khusus tetap boleh menang */
.stock-row-damaged,
tr[style*="background"],
tr[class*="status-"],
tr[class*="store-"]{
    background:revert-layer;
}

/* Sticky header tetap kontras di atas zebra rows */
.master-table thead th,
.table-card table thead th{
    background:#f2f4f0;
}

/* Barcode print table explicitly uses the same zebra rules */
.barcode-print-table tbody tr:nth-child(even){
    background:#f6f8f4;
}
.barcode-print-table tbody tr:nth-child(odd){
    background:#fff;
}
.barcode-print-table tbody tr:hover{
    background:#edf3ea !important;
}


/* =========================================================
   V105 - GLOBAL ZEBRA STANDARD
   Berlaku untuk seluruh tabel/grid/help table sekarang & ke depan.
   ========================================================= */

:root{
    --row-zebra-even:#edf2ea;
    --row-zebra-hover:#e2ebdd;
    --row-zebra-odd:#ffffff;
}

/* Semua tabel portal */
table tbody tr:nth-child(odd):not(.stock-row-damaged):not([class*="status-"]):not([class*="store-"]):not([style*="background"]){
    background:var(--row-zebra-odd);
}
table tbody tr:nth-child(even):not(.stock-row-damaged):not([class*="status-"]):not([class*="store-"]):not([style*="background"]){
    background:var(--row-zebra-even);
}
table tbody tr:hover:not(.stock-row-damaged):not([class*="status-"]):not([class*="store-"]){
    background:var(--row-zebra-hover) !important;
}

/* Help table/list yang bukan elemen <table> */
.help-table-row:nth-child(odd),
.help-list-row:nth-child(odd),
.lookup-row:nth-child(odd),
.barcode-help-list > *:nth-child(odd){
    background:var(--row-zebra-odd);
}
.help-table-row:nth-child(even),
.help-list-row:nth-child(even),
.lookup-row:nth-child(even),
.barcode-help-list > *:nth-child(even){
    background:var(--row-zebra-even);
}
.help-table-row:hover,
.help-list-row:hover,
.lookup-row:hover,
.barcode-help-list > *:hover{
    background:var(--row-zebra-hover) !important;
}

/* Header tabel dibuat sedikit lebih tegas supaya zebra terbaca jelas */
table thead th{
    background:#e7ece4;
}

/* Jangan ganggu row khusus */
.stock-row-damaged,
tr[class*="status-"],
tr[class*="store-"],
tr[style*="background"]{
    background-color:inherit;
}

/* =========================================================
   V106 - Warehouse Rack Operations
   ========================================================= */
.rack-operation-page{width:100%;min-height:0}
.rack-stat{display:flex;align-items:baseline;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.rack-stat small{font-size:7px;letter-spacing:1px;color:var(--muted);font-weight:700}.rack-stat strong{font-size:20px;color:var(--green)}.rack-stat span{font-size:10px;color:var(--muted)}
.rack-action-grid{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:10px;margin-bottom:10px}.rack-action-grid-two{grid-template-columns:1fr 1fr}.rack-action-grid .form-card{padding:14px 16px}.rack-inline{display:flex;gap:7px;align-items:center}.rack-inline input[readonly]{margin-top:6px}.rack-inline .help-search-button{margin-top:6px;flex:0 0 42px;height:42px}.rack-style-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.rack-style-card .primary{height:42px;margin-bottom:0}
.rack-session-message{display:none;margin:7px 0;padding:8px 11px;border-radius:8px;font-size:11px}.rack-session-message.show{display:block}.rack-session-message.ok{background:#eaf4e5;color:#315d2a}.rack-session-message.error{background:#f9e9e9;color:#9b3d3d}
.rack-log-table-wrap{max-height:calc(100vh - 330px);overflow:auto}.rack-log-table-wrap thead th{position:sticky;top:0;z-index:2}
.rack-help-dialog{width:min(650px,calc(100% - 30px));max-height:78vh;border:0;border-radius:15px;padding:16px;box-shadow:0 25px 90px rgba(0,0,0,.28)}.rack-help-dialog::backdrop{background:rgba(6,33,28,.48)}.rack-help-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.rack-help-head>div{flex:1}.rack-help-head strong,.rack-help-head small{display:block}.rack-help-head small{margin-top:2px;color:var(--muted);font-size:9px}.rack-help-head button{width:30px;height:30px;border:0;border-radius:50%;background:#eef1ed;font-size:19px;cursor:pointer}.rack-help-dialog>input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px}.rack-help-list{display:grid;gap:0;margin-top:9px;max-height:52vh;overflow:auto;border:1px solid var(--line);border-radius:9px}.rack-help-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;cursor:pointer}.rack-help-row:nth-child(even){background:var(--row-zebra-even,#edf2ea)}.rack-help-row:hover{background:var(--row-zebra-hover,#e2ebdd)}.rack-help-row:last-child{border-bottom:0}.rack-help-row strong{font-size:12px}.rack-help-row span{font-size:10px;color:var(--muted)}
.rack-lookup-scan{max-width:760px;padding:15px 18px}.rack-lookup-result{display:grid;grid-template-columns:220px 1fr;gap:10px;margin-top:10px}.rack-lookup-home{display:flex;flex-direction:column;justify-content:center;padding:20px;border-radius:14px;background:var(--green);color:#fff}.rack-lookup-home small{font-size:8px;letter-spacing:1.2px;color:var(--lime)}.rack-lookup-home strong{margin-top:4px;font-size:30px}.rack-lookup-home span{margin-top:4px;font-size:10px;color:#c5d8d2}.rack-lookup-details{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--line)}.rack-lookup-details>div{padding:14px;background:#fff}.rack-lookup-details small,.rack-lookup-details strong{display:block}.rack-lookup-details small{font-size:7px;letter-spacing:.8px;color:var(--muted)}.rack-lookup-details strong{margin-top:4px;font-size:13px}
.checkbox-line{display:flex!important;align-items:center;gap:8px;margin-top:10px}.checkbox-line input{width:auto!important;margin:0!important}
@media(max-width:1000px){.rack-action-grid,.rack-action-grid-two{grid-template-columns:1fr}.rack-style-card{grid-template-columns:1fr}.rack-lookup-result{grid-template-columns:1fr}.rack-lookup-details{grid-template-columns:1fr 1fr}.rack-log-table-wrap{max-height:none}}

/* V107 - Isi Rak / Master Rak refinements */
.rack-stat-button{cursor:pointer;font:inherit;color:inherit;text-align:left}
.rack-stat-button:hover{border-color:#aebbb4;box-shadow:0 5px 16px rgba(24,35,40,.07);background:#fbfcfa}
.rack-unassigned-summary{display:flex;align-items:baseline;gap:4px;margin-top:9px;color:var(--muted);font-size:10px}
.rack-unassigned-summary strong{font-size:13px;color:var(--green)}
.rack-unassigned-list{max-height:56vh}
.rack-unassigned-row{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)}
.rack-unassigned-row:nth-child(even){background:var(--row-zebra-even,#edf2ea)}
.rack-unassigned-row:last-child{border-bottom:0}
.rack-unassigned-row strong{font-size:11px}
.rack-unassigned-row span{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* V109 - Informasi barang di daftar Belum Ada Rak dibuat tegas */
.rack-unassigned-row span{
    color:var(--ink) !important;
    font-weight:600;
}

/* =========================================================
   V111 - Rak UI alignment + selected-rak contents + Log Barcode
   ========================================================= */
.rack-master-single{grid-template-columns:minmax(0,720px)!important}
.rack-action-grid{grid-template-columns:1fr 1fr 1.35fr;align-items:stretch}
.rack-control-card{display:flex;flex-direction:column;min-height:126px;padding:14px 16px!important}
.rack-control-card>label{display:block;margin:0 0 6px;font-size:11px;font-weight:600;line-height:1.2}
.rack-control-card>input,.rack-control-card .rack-inline{margin:0}
.rack-control-card input{height:42px;margin:0!important}
.rack-control-card .rack-inline .help-search-button{height:42px;margin:0}
.rack-control-card .form-hint{margin-top:auto;padding-top:7px}
.rack-style-card{display:flex!important;grid-template-columns:none!important;gap:0!important;align-items:stretch!important}
.rack-mass-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.rack-style-picker{min-width:0}
.rack-style-picker input{min-width:0}
.rack-mass-controls>.primary{height:42px;white-space:nowrap;margin:0;padding-inline:16px}
.rack-contents-head{display:flex;align-items:center;justify-content:space-between;margin:10px 2px 6px}
.rack-contents-head strong,.rack-contents-head small{display:block}
.rack-contents-head strong{font-size:13px}
.rack-contents-head small{margin-top:2px;font-size:9px;color:var(--muted)}
.rack-contents-table-wrap{max-height:calc(100vh - 355px)}
.rack-help-row:has(>strong:only-child){justify-content:flex-start}

/* Log Barcode */
.barcode-history-page{max-width:1500px}
.barcode-history-search{padding:14px 18px;max-width:860px}
.barcode-history-search label{display:block}
.barcode-history-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:6px}
.barcode-history-search-row input{height:42px;margin:0!important}
.barcode-history-search-row button{height:42px}
.barcode-history-search>small{display:block;margin-top:5px;color:var(--muted);font-size:9px}
.barcode-history-summary{display:grid;grid-template-columns:1.05fr 1.7fr .65fr 1fr 1fr .9fr 1.2fr;gap:1px;margin-top:10px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--line)}
.barcode-history-summary>div{padding:12px;background:#fff}
.barcode-history-summary small,.barcode-history-summary strong{display:block}
.barcode-history-summary small{font-size:7px;letter-spacing:.75px;color:var(--muted)}
.barcode-history-summary strong{margin-top:4px;font-size:12px;overflow-wrap:anywhere}
.barcode-history-head{display:flex;align-items:center;justify-content:space-between;margin:14px 2px 7px}
.barcode-history-head strong,.barcode-history-head small{display:block}
.barcode-history-head strong{font-size:13px}
.barcode-history-head small{margin-top:2px;font-size:9px;color:var(--muted)}
.barcode-history-timeline{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}
.barcode-history-event{display:grid;grid-template-columns:108px 18px minmax(0,1fr);gap:0;padding:12px 16px}
.barcode-history-event:nth-child(even){background:var(--row-zebra-even,#edf2ea)}
.barcode-history-time strong,.barcode-history-time span{display:block}
.barcode-history-time strong{font-size:10px}
.barcode-history-time span{margin-top:2px;font-size:9px;color:var(--muted)}
.barcode-history-dot{position:relative}
.barcode-history-dot:before{content:"";position:absolute;top:4px;left:5px;width:7px;height:7px;border-radius:50%;background:var(--green)}
.barcode-history-dot:after{content:"";position:absolute;top:14px;bottom:-20px;left:8px;width:1px;background:var(--line)}
.barcode-history-event:last-child .barcode-history-dot:after{display:none}
.barcode-history-title{display:flex;align-items:center;gap:8px}
.barcode-history-title span{padding:3px 6px;border-radius:999px;background:#e6efe2;color:#315d2a;font-size:7px;font-weight:700;letter-spacing:.5px}
.barcode-history-title strong{font-size:11px}
.barcode-history-body p{margin:5px 0 0;font-size:11px}
.barcode-history-body>small{display:block;margin-top:4px;font-size:9px;color:var(--muted)}
.barcode-history-body details{margin-top:7px}
.barcode-history-body summary{cursor:pointer;font-size:9px;font-weight:600}
.barcode-history-json{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:7px}
.barcode-history-json>div{min-width:0}
.barcode-history-json small{display:block;margin-bottom:3px;font-size:7px;color:var(--muted)}
.barcode-history-json pre{max-height:220px;overflow:auto;margin:0;padding:8px;border:1px solid var(--line);border-radius:7px;background:#f7f8f6;font:9px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;word-break:break-word}
@media(max-width:1100px){
 .rack-action-grid{grid-template-columns:1fr}
 .rack-control-card{min-height:0}
 .rack-mass-controls{grid-template-columns:1fr}
 .barcode-history-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .barcode-history-json{grid-template-columns:1fr}
}

/* =========================================================
   V112 - GLOBAL GRID TYPOGRAPHY
   Semua isi row tabel/grid normal/non-bold agar konsisten.
   Header tabel tetap tegas.
   ========================================================= */
table tbody td,
table tbody td strong,
.master-table tbody td,
.master-table tbody td strong,
.table-card tbody td,
.table-card tbody td strong,
.rack-unassigned-row strong,
.rack-unassigned-row span,
.rack-help-row strong,
.rack-help-row span{
    font-weight:400 !important;
}
table thead th,
.master-table thead th,
.table-card thead th{
    font-weight:600;
}

/* Log Barcode: before/after tampil sebagai data biasa, bukan JSON/coding. */
.barcode-history-snapshot{
    display:grid;
    gap:1px;
    border:1px solid var(--line);
    border-radius:7px;
    overflow:hidden;
    background:var(--line);
}
.barcode-history-snapshot>div{
    display:grid;
    grid-template-columns:145px minmax(0,1fr);
    gap:8px;
    padding:7px 9px;
    background:#f8f9f7;
}
.barcode-history-snapshot>div:nth-child(even){
    background:var(--row-zebra-even,#edf2ea);
}
.barcode-history-snapshot span{
    font-size:8px;
    color:var(--muted);
}
.barcode-history-snapshot strong{
    font-size:9px;
    font-weight:400;
    overflow-wrap:anywhere;
}

/* V114 - Log Barcode scan-first workflow */
.barcode-history-search-row{
    display:block;
}
.barcode-history-search-row input{
    width:100%;
}

/* V116 - Lihat Rak lookup states */
.rack-session-message.warning{
    background:#fff4c7;
    color:#7b5b00;
    border:1px solid #efd779;
}

/* =========================================================
   V117 - KARTU STOK
   ========================================================= */
.stock-card-page{max-width:1520px}
.stock-card-intro{margin-bottom:10px}
.stock-card-filter-card{padding:14px 18px!important}
.stock-card-filter-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;align-items:end}
.stock-card-filter-grid label{margin:0}
.stock-card-filter-grid select,
.stock-card-filter-grid input{height:42px;margin-top:5px!important}
.stock-card-filter-picker{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px;margin-top:5px}
.stock-card-filter-picker input{margin:0!important}
.stock-card-filter-picker .help-search-button{height:42px;margin:0}

.stock-card-product-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:16px;
    align-items:center;
    margin-top:10px;
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:13px;
    background:#fff;
}
.stock-card-product-info{display:flex;align-items:center;gap:14px;min-width:0}
.stock-card-product-info small{display:block;font-size:7px;letter-spacing:.7px;color:var(--muted)}
.stock-card-product-info h3{margin:3px 0 0;font-size:18px;line-height:1.1;overflow-wrap:anywhere}
.stock-card-filter-badge{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:4px 8px;
    border-radius:999px;
    background:#edf2ea;
    font-size:8px;
    white-space:nowrap;
}
.stock-card-photo-strip{display:flex;align-items:center;gap:6px;max-width:560px;overflow-x:auto;padding:2px}
.stock-card-photo-thumb{
    width:52px;height:52px;flex:0 0 52px;padding:0;
    overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#f7f8f6;cursor:pointer
}
.stock-card-photo-thumb:hover{border-color:#789184;box-shadow:0 2px 8px rgba(17,55,44,.12)}
.stock-card-photo-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.stock-card-photo-count{font-size:8px;color:var(--muted);white-space:nowrap}
.stock-card-photo-empty{padding:10px 12px;border:1px dashed var(--line);border-radius:8px;font-size:9px;color:var(--muted)}

.stock-card-summary-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
    margin-top:10px;
}
.stock-card-summary-grid>div{
    min-height:70px;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fff;
}
.stock-card-summary-grid small,.stock-card-summary-grid strong,.stock-card-summary-grid span{display:block}
.stock-card-summary-grid small{font-size:7px;letter-spacing:.7px;color:var(--muted)}
.stock-card-summary-grid strong{margin-top:4px;font-size:18px;line-height:1.1;font-weight:500}
.stock-card-summary-grid span{margin-top:3px;font-size:8px;color:var(--muted)}

.stock-card-grid-head{
    display:flex;align-items:end;justify-content:space-between;gap:12px;
    margin:12px 2px 6px;
}
.stock-card-grid-head strong,.stock-card-grid-head small{display:block}
.stock-card-grid-head strong{font-size:13px}
.stock-card-grid-head small{margin-top:2px;font-size:9px;color:var(--muted)}
.stock-card-grid-head>span{font-size:9px;color:var(--muted)}
.stock-card-table-wrap{max-height:calc(100vh - 510px);min-height:220px;overflow:auto}
.stock-card-table{min-width:1180px}
.stock-card-table thead th{position:sticky;top:0;z-index:2}
.stock-card-barcode-row{cursor:pointer}
.stock-card-barcode-row.is-selected{background:#dce8d7!important;box-shadow:inset 3px 0 0 var(--green)}
.stock-card-barcode-row:focus{outline:2px solid rgba(20,76,61,.22);outline-offset:-2px}

.stock-card-history-section{margin-top:12px}
.stock-card-history-placeholder{
    display:flex;align-items:center;justify-content:center;min-height:88px;
    border:1px dashed var(--line);border-radius:12px;background:#fafbf9;
    font-size:10px;color:var(--muted)
}
.stock-card-history-head{
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    margin-bottom:6px;padding:0 2px;
}
.stock-card-history-head strong,.stock-card-history-head small{display:block}
.stock-card-history-head>div:first-child>strong{font-size:13px}
.stock-card-history-head>div:first-child>small{margin-top:2px;font-size:9px;color:var(--muted)}
.stock-card-history-position{text-align:right}
.stock-card-history-position small{font-size:7px;color:var(--muted);letter-spacing:.7px}
.stock-card-history-position strong{margin-top:2px;font-size:13px}
.stock-card-history-timeline{max-height:420px;overflow:auto}

.stock-card-empty-state{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    min-height:300px;margin-top:10px;border:1px dashed var(--line);border-radius:13px;background:#fafbf9
}
.stock-card-empty-state strong{font-size:14px;font-weight:500}
.stock-card-empty-state span{margin-top:5px;font-size:10px;color:var(--muted)}

.stock-card-help-dialog{
    width:min(720px,92vw);max-height:80vh;padding:0;border:0;border-radius:15px;
    box-shadow:0 22px 70px rgba(17,39,33,.24);overflow:hidden
}
.stock-card-help-dialog::backdrop{background:rgba(15,39,33,.48)}
.stock-card-help-head{display:flex;align-items:center;justify-content:space-between;padding:15px 16px 9px}
.stock-card-help-head strong,.stock-card-help-head small{display:block}
.stock-card-help-head strong{font-size:14px}
.stock-card-help-head small{margin-top:2px;font-size:8px;color:var(--muted)}
.stock-card-help-head button{width:32px;height:32px;border:0;border-radius:50%;background:#eef1ed;font-size:18px;cursor:pointer}
.stock-card-help-dialog>input{width:calc(100% - 32px);margin:0 16px 10px;height:42px}
.stock-card-help-list{max-height:58vh;overflow:auto;border-top:1px solid var(--line)}
.stock-card-help-row{
    display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;
    width:100%;padding:11px 16px;border:0;border-bottom:1px solid var(--line);
    text-align:left;background:#fff;cursor:pointer
}
.stock-card-help-row:nth-child(even){background:var(--row-zebra-even,#edf2ea)}
.stock-card-help-row:hover{background:var(--row-zebra-hover,#e2ebdd)}
.stock-card-help-row strong{font-size:11px;font-weight:400}
.stock-card-help-row span{font-size:9px;color:var(--muted);white-space:nowrap}

.stock-card-lightbox{
    position:fixed;inset:0;z-index:9999;display:grid;grid-template-columns:70px minmax(0,1fr) 70px;
    align-items:center;background:rgba(7,18,15,.9);padding:34px 24px
}
.stock-card-lightbox[hidden]{display:none!important}
.stock-card-lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;min-width:0;max-height:100%}
.stock-card-lightbox figure img{display:block;max-width:min(1100px,82vw);max-height:82vh;object-fit:contain;border-radius:8px;background:#fff}
.stock-card-lightbox figcaption{margin-top:9px;color:#fff;font-size:10px}
.stock-card-lightbox-close{
    position:absolute;top:18px;right:20px;width:40px;height:40px;border:0;border-radius:50%;
    background:rgba(255,255,255,.14);color:#fff;font-size:24px;cursor:pointer
}
.stock-card-lightbox-nav{
    width:48px;height:56px;justify-self:center;border:0;border-radius:10px;
    background:rgba(255,255,255,.12);color:#fff;font-size:34px;cursor:pointer
}
.stock-card-lightbox-nav:hover,.stock-card-lightbox-close:hover{background:rgba(255,255,255,.22)}
body.stock-card-lightbox-open{overflow:hidden}

/* Log Barcode summary after removing Validitas */
.barcode-history-summary{grid-template-columns:1.05fr 1.7fr .65fr 1fr 1fr 1.2fr}

@media(max-width:1200px){
    .stock-card-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .stock-card-product-head{grid-template-columns:1fr}
    .stock-card-photo-strip{max-width:100%}
}
@media(max-width:800px){
    .stock-card-filter-grid{grid-template-columns:1fr}
    .stock-card-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .stock-card-lightbox{grid-template-columns:48px minmax(0,1fr) 48px;padding:24px 8px}
    .stock-card-lightbox figure img{max-width:82vw}
}

/* =========================================================
   V118 - GLOBAL TRANSACTION LIST FILTER
   Standar Header + Detail untuk semua transaksi header/detail.
   ========================================================= */
.transaction-list-filter{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:end;
    margin:0 0 10px;
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
}
.transaction-list-filter-fields{
    display:grid;
    grid-template-columns:minmax(260px,1.1fr) minmax(260px,1.1fr) minmax(150px,.55fr);
    gap:10px;
    align-items:end;
    min-width:0;
}
.transaction-filter-field{
    display:flex;
    flex-direction:column;
    gap:5px;
    min-width:0;
    margin:0;
}
.transaction-filter-field>span{
    font-size:8px;
    font-weight:600;
    letter-spacing:.45px;
    color:var(--muted);
    text-transform:uppercase;
}
.transaction-filter-field input,
.transaction-filter-field select{
    width:100%;
    height:40px;
    margin:0!important;
}
.transaction-list-filter-actions{
    display:flex;
    align-items:center;
    gap:7px;
}
.transaction-list-filter-actions .primary,
.transaction-list-filter-actions .secondary{
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
}
@media(max-width:1100px){
    .transaction-list-filter{
        grid-template-columns:1fr;
    }
    .transaction-list-filter-fields{
        grid-template-columns:1fr 1fr;
    }
    .transaction-list-filter-actions{
        justify-content:flex-end;
    }
}
@media(max-width:720px){
    .transaction-list-filter-fields{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   V120 - DIMENSI & BERAT BARANG + DASHBOARD COMPLETENESS
   ========================================================= */
.dashboard-rack-alert{border-color:#e4c479;background:#fff8e8}.dashboard-rack-alert b{background:#d9a92f;color:#fff}.dashboard-rack-alert span{color:#766641}
.dashboard-dimension-alert{border-color:#b7cce0;background:#f3f8fc}.dashboard-dimension-alert b{background:#6f9bc2;color:#fff}.dashboard-dimension-alert span{color:#536b80}
.dashboard-weight-alert{border-color:#c8bde0;background:#f8f5fc}.dashboard-weight-alert b{background:#8b76b4;color:#fff}.dashboard-weight-alert span{color:#665b78}

.item-logistics-form{display:grid;gap:14px}.item-logistics-section{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.item-logistics-section .section-title-row{margin-bottom:10px}.item-logistics-section .section-title-row h3{margin:0;font-size:13px}.item-logistics-section .section-title-row small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.item-logistics-dimension-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.item-logistics-dimension-grid label{margin:0}.item-weight-table-wrap{max-height:430px;overflow:auto}.item-weight-table{min-width:620px}.item-weight-table thead th{position:sticky;top:0;z-index:2}.item-weight-table td{vertical-align:middle}.item-weight-table input{width:100%;height:38px;margin:0!important}.item-weight-table .input-suffix{margin:0}.item-weight-table .input-suffix input{margin:0!important}.table-action-cell{width:92px;text-align:right}.status-chip{display:inline-flex;align-items:center;padding:5px 8px;border-radius:7px;font-size:8px;font-weight:600;letter-spacing:.35px}.status-chip.success{background:#e8f4e3;color:#3f6d35}.status-chip.warning{background:#fff3d9;color:#805f18}
.item-logistics-readonly{margin-top:12px;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#f9faf8}.item-logistics-readonly .section-title-row{margin-bottom:9px}.item-logistics-readonly .section-title-row h3{margin:0;font-size:12px}.item-logistics-readonly .section-title-row small{display:block;margin-top:2px;color:var(--muted);font-size:8px}.item-logistics-readonly-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.7fr);gap:10px}.item-logistics-readonly-grid>div{padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#fff}.item-logistics-readonly-grid small{display:block;font-size:7px;letter-spacing:.5px;color:var(--muted)}.item-logistics-readonly-grid strong{display:block;margin-top:4px;font-size:10px;font-weight:400}.item-weight-chip-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.item-weight-chip-list span{padding:4px 7px;border-radius:999px;background:#edf2ea;font-size:8px}
@media(max-width:900px){.item-logistics-dimension-grid,.item-logistics-readonly-grid{grid-template-columns:1fr}}

/* =========================================================
   V121 - MASTER BARANG 3 MODE + SIZE BERAT DARI PEMBELIAN
   ========================================================= */
.item-view-switcher{
    display:inline-flex;
    align-items:center;
    gap:4px;
    margin:0 0 10px;
    padding:4px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fff;
}
.item-view-switcher a{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:34px;
    padding:7px 11px;
    border-radius:8px;
    color:var(--muted);
    font-size:9px;
    text-decoration:none;
    white-space:nowrap;
}
.item-view-switcher a:hover{background:#f1f4ef;color:var(--ink)}
.item-view-switcher a.active{background:var(--green);color:#fff}
.item-view-switcher a span{font-size:13px;line-height:1}

.item-code-table td{vertical-align:middle}
.item-color-dropdown{position:relative;width:max-content;max-width:100%}
.item-color-dropdown summary{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-width:82px;
    min-height:31px;
    padding:6px 9px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    cursor:pointer;
    font-size:9px;
    list-style:none;
}
.item-color-dropdown summary::-webkit-details-marker{display:none}
.item-color-dropdown summary::after{content:'⌄';margin-left:auto;font-size:11px;color:var(--muted)}
.item-color-dropdown[open] summary::after{transform:rotate(180deg)}
.item-color-dropdown-list{
    position:absolute;
    z-index:40;
    top:calc(100% + 5px);
    left:0;
    display:grid;
    min-width:170px;
    max-height:260px;
    overflow:auto;
    padding:5px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    box-shadow:0 12px 30px rgba(20,45,36,.15);
}
.item-color-dropdown-list a{
    display:block;
    padding:8px 9px;
    border-radius:7px;
    color:var(--ink);
    font-size:9px;
    text-decoration:none;
}
.item-color-dropdown-list a:nth-child(even){background:var(--row-zebra-even,#edf2ea)}
.item-color-dropdown-list a:hover{background:#dfe9da}

.item-thumbnail-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
    gap:12px;
}
.item-thumbnail-card{
    overflow:visible;
    border:1px solid var(--line);
    border-radius:13px;
    background:#fff;
    box-shadow:0 1px 2px rgba(20,45,36,.04);
}
.item-thumbnail-photo{
    position:relative;
    height:190px;
    overflow:hidden;
    border-radius:13px 13px 0 0;
    background:#eef1ed;
}
.item-thumbnail-photo img{display:block;width:100%;height:100%;object-fit:cover}
.item-thumbnail-photo-empty{display:grid;height:100%;place-items:center;color:var(--muted);font-size:9px;letter-spacing:.5px}
.item-thumbnail-color-count{
    position:absolute;
    right:9px;
    bottom:9px;
    padding:5px 8px;
    border-radius:999px;
    background:rgba(255,255,255,.92);
    box-shadow:0 2px 8px rgba(0,0,0,.08);
    font-size:8px;
}
.item-thumbnail-body{padding:11px 12px 12px}
.item-thumbnail-code small,.item-thumbnail-code strong{display:block}
.item-thumbnail-code small{font-size:7px;letter-spacing:.7px;color:var(--muted)}
.item-thumbnail-code strong{margin-top:3px;font-size:15px;font-weight:500;line-height:1.15}
.item-thumbnail-meta{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px 10px;
    margin-top:11px;
    padding-top:10px;
    border-top:1px solid var(--line);
    font-size:9px;
}
.item-thumbnail-meta span{min-width:0;overflow-wrap:anywhere}
.item-thumbnail-meta small{display:block;margin-bottom:2px;font-size:7px;letter-spacing:.45px;color:var(--muted)}
.item-thumbnail-colors{margin-top:11px;width:100%}
.item-thumbnail-colors summary{width:100%;justify-content:space-between}
.item-thumbnail-colors .item-color-dropdown-list{left:0;right:0;min-width:100%}
.item-thumbnail-empty{grid-column:1/-1;padding:50px 20px}

.item-weight-size-readonly{
    display:inline-flex;
    align-items:center;
    min-width:70px;
    min-height:36px;
    padding:7px 10px;
    border-radius:8px;
    background:#eef2ec;
    font-size:10px;
}

@media(max-width:760px){
    .item-view-switcher{display:grid;grid-template-columns:1fr 1fr 1fr;width:100%}
    .item-view-switcher a{justify-content:center;padding:7px 5px}
    .item-thumbnail-grid{grid-template-columns:1fr}
}

/* =========================================================
   V122 - DIMENSI+BERAT SATU PAKET + MASTER BARANG UX
   ========================================================= */

/* Dropdown warna mode Per Kode tidak terpotong pada row terakhir. */
.item-code-master-card{
    overflow:visible !important;
}
.item-code-master-card .item-code-table,
.item-code-master-card td{
    overflow:visible;
}
.item-color-dropdown[open]{z-index:80}
.item-color-dropdown-list{z-index:90}

/* Berat per ukuran read-only di Master Barang dibuat lebih mudah dibaca. */
.item-logistics-readonly-grid small{font-size:8px}
.item-weight-chip-list{
    gap:7px;
    margin-top:8px;
}
.item-weight-chip-list span{
    display:inline-flex;
    align-items:center;
    min-height:29px;
    padding:6px 10px;
    border:1px solid #dfe6da;
    border-radius:8px;
    background:#edf2ea;
    color:var(--ink);
    font-size:10px;
    line-height:1;
    white-space:nowrap;
}
.item-logistics-readonly-grid>div:last-child{min-height:58px}

/* Dashboard: dimensi dan berat adalah satu notifikasi/paket. */
.dashboard-logistics-alert{
    background:#f5f1fb;
    border-color:#d9caee;
}
.dashboard-logistics-alert>b{
    background:#876fb2;
    color:#fff;
}

/* =========================================================
   V123 - MASTER BARANG IDENTITY LOCK
   ========================================================= */
.item-form-card select:disabled,
.item-form-card input[readonly]{
    cursor:not-allowed;
}
.item-form-card select:disabled{
    opacity:1;
    color:var(--ink);
    background:#f3f4f1;
}
.item-form-card input[readonly]{
    background:#f3f4f1;
}

/* ========================================================= V124 - LIGHT / DARK THEME ========================================================= */
.theme-toggle{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;padding:0;border:1px solid #d9ddd7;border-radius:10px;background:#fff;color:#39564e;cursor:pointer;transition:background .16s,border-color .16s,color .16s,transform .12s}.theme-toggle:hover{background:#f0f3ed;border-color:#cbd3cc;transform:translateY(-1px)}.theme-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.theme-icon-moon{display:none}html[data-theme="dark"] .theme-icon-sun{display:none}html[data-theme="dark"] .theme-icon-moon{display:block}
html[data-theme="dark"]{--ink:#edf2f0;--muted:#98aaa4;--line:#33433f;--paper:#101816;--white:#17211e;--green:#1d5a4b;--lime:#d1ef75;--red:#e87b7b;--shadow:0 18px 60px rgba(0,0,0,.34);color-scheme:dark}html[data-theme="dark"] body{color:var(--ink);background:var(--paper)}
html[data-theme="dark"] .workspace-host-page .topbar,html[data-theme="dark"] .topbar{background:rgba(16,24,22,.96);border-bottom-color:#31413d}html[data-theme="dark"] .workspace-host,html[data-theme="dark"] .workspace-panels,html[data-theme="dark"] .module-panels,html[data-theme="dark"] .workspace-frame,html[data-theme="dark"] .workspace-frame-page{background:var(--paper)}html[data-theme="dark"] .workspace-tab-strip{border-bottom-color:#33443f;background:#16201d}html[data-theme="dark"] .workspace-main-tabs{background:#141d1b}html[data-theme="dark"] .workspace-tab{border-color:#354740;background:#202c28;color:#a9b9b4}html[data-theme="dark"] .workspace-main-tab.active{border-color:#286b59;background:#1b5144;color:#fff}html[data-theme="dark"] .module-tab-strip{border-bottom-color:#35453f;background:#121b18}html[data-theme="dark"] .module-list-tab,html[data-theme="dark"] .module-subtab{border-color:#3b4d46;background:#202b27;color:#afbeb9}html[data-theme="dark"] .module-list-tab.active{border-color:#75ae52;background:#5b923b;color:#fff}html[data-theme="dark"] .module-subtab.active{border-color:#3e7767;background:#18231f;color:#d7eee7;box-shadow:0 -2px 0 #65aa8f}
html[data-theme="dark"] .portal-context-picker,html[data-theme="dark"] .stock-update-trigger,html[data-theme="dark"] .plan-trigger,html[data-theme="dark"] .theme-toggle{border-color:#3a4a45;background:#18231f;color:#e4ece9;box-shadow:none}html[data-theme="dark"] .portal-context-picker label+label{border-left-color:#34443f}html[data-theme="dark"] .portal-context-picker select{background-color:#18231f;color:#d8eee7}html[data-theme="dark"] .stock-update-current strong,html[data-theme="dark"] .live-clock strong{color:#c8e7dc}html[data-theme="dark"] .stock-update-dropdown{border-color:#3b4b46;background:#19231f;box-shadow:0 18px 60px rgba(0,0,0,.45)}html[data-theme="dark"] .stock-update-dropdown-head,html[data-theme="dark"] .stock-update-row{border-color:#31413c}html[data-theme="dark"] .stock-update-row:hover{background:#202f2a}html[data-theme="dark"] .theme-toggle:hover{background:#22312c}
html[data-theme="dark"] .content,html[data-theme="dark"] .workspace-frame-content{background:var(--paper)}html[data-theme="dark"] .table-card,html[data-theme="dark"] .form-card,html[data-theme="dark"] .empty-dashboard,html[data-theme="dark"] .master-form-card,html[data-theme="dark"] .stock-card-product-head,html[data-theme="dark"] .stock-card-summary-grid>div,html[data-theme="dark"] .stock-card-help-dialog,html[data-theme="dark"] .rack-control-card,html[data-theme="dark"] .plan-modal,html[data-theme="dark"] dialog{border-color:#33433f;background:#17211e;color:var(--ink)}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .form-card input,html[data-theme="dark"] .form-card select,html[data-theme="dark"] .form-card textarea,html[data-theme="dark"] .master-toolbar input,html[data-theme="dark"] .master-toolbar select,html[data-theme="dark"] .toolbar input,html[data-theme="dark"] .transaction-filter-field input,html[data-theme="dark"] .transaction-filter-field select{border-color:#3d4d48;background:#111a17;color:#e8efed}html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#748781}html[data-theme="dark"] select option{background:#111a17;color:#edf2f0}html[data-theme="dark"] .form-card input:disabled,html[data-theme="dark"] .form-card select:disabled,html[data-theme="dark"] .item-form-card input[readonly],html[data-theme="dark"] .item-form-card select:disabled{border-color:#35433f;background:#202926;color:#99aaa4}
html[data-theme="dark"] .secondary,html[data-theme="dark"] .help-search-button{border-color:#3c4d47;background:#1a2521;color:#e6eeeb}html[data-theme="dark"] .secondary:hover{background:#22312c}html[data-theme="dark"] .primary{background:#23604f;color:#fff}html[data-theme="dark"] .primary:hover{background:#2c735f}html[data-theme="dark"] .danger{border-color:#704848;background:#2d1c1c;color:#f1a1a1}
html[data-theme="dark"] table thead th,html[data-theme="dark"] th{background:#1d2824;color:#a9b8b3}html[data-theme="dark"] td{border-top-color:#2b3935}html[data-theme="dark"] .master-table tbody tr:nth-child(odd):not(.stock-row-damaged),html[data-theme="dark"] .table-card table tbody tr:nth-child(odd):not(.stock-row-damaged){background:#17211e}html[data-theme="dark"] .master-table tbody tr:nth-child(even):not(.stock-row-damaged),html[data-theme="dark"] .table-card table tbody tr:nth-child(even):not(.stock-row-damaged){background:#1d2824}html[data-theme="dark"] .master-table tbody tr:hover:not(.stock-row-damaged),html[data-theme="dark"] .table-card table tbody tr:hover:not(.stock-row-damaged),html[data-theme="dark"] .module-list-row:hover,html[data-theme="dark"] .module-list-row:focus{background:#26352f!important}html[data-theme="dark"] .stock-card-barcode-row.is-selected{background:#29483c!important}
html[data-theme="dark"] .item-identity-preview,html[data-theme="dark"] .item-logistics-readonly,html[data-theme="dark"] .item-logistics-readonly-grid>div,html[data-theme="dark"] .item-weight-chip-list span,html[data-theme="dark"] .item-master-view-switcher,html[data-theme="dark"] .item-code-card,html[data-theme="dark"] .item-card,html[data-theme="dark"] .stock-card-empty-state,html[data-theme="dark"] .stock-card-history-placeholder,html[data-theme="dark"] .barcode-history-snapshot>div{border-color:#34463f;background:#1b2723;color:#e7efec}html[data-theme="dark"] .item-weight-chip-list span{border-color:#3c5048;background:#24342e}html[data-theme="dark"] .item-master-view-switcher a,html[data-theme="dark"] .item-master-view-switcher button{color:#b4c3be}html[data-theme="dark"] .item-master-view-switcher .active{background:#245a4c;color:#fff}
html[data-theme="dark"] .item-color-dropdown summary,html[data-theme="dark"] .item-color-dropdown-list,html[data-theme="dark"] .item-color-dropdown-list a{border-color:#3b4c46;background:#18231f;color:#e5edea}html[data-theme="dark"] .item-color-dropdown-list a:hover{background:#26362f}
html[data-theme="dark"] .alert{border-color:#47663d;background:#1d3020;color:#b8dca9}html[data-theme="dark"] .dashboard-price-alert{border-color:#425c52;background:#1b2925}html[data-theme="dark"] .dashboard-logistics-alert{border-color:#574b72;background:#241e31}html[data-theme="dark"] .status,html[data-theme="dark"] .role{background:#26312e;color:#d7e0dd}html[data-theme="dark"] .status.on{background:#203d29;color:#a8dda2}html[data-theme="dark"] .status.off{background:#402626;color:#e8aaaa}html[data-theme="dark"] .status-chip{border-color:#465650;background:#27322f;color:#cbd7d3}html[data-theme="dark"] .status-chip.warning{border-color:#6c5b31;background:#342d1b;color:#edcf83}html[data-theme="dark"] .status-chip.success{border-color:#3f6543;background:#203324;color:#afe0ad}html[data-theme="dark"] .identity-lock-badge{border-color:#735d2c;background:#322a17;color:#edc76f}
html[data-theme="dark"] .plan-head,html[data-theme="dark"] .phase,html[data-theme="dark"] .phase li{border-color:#33433f}html[data-theme="dark"] .plan-head button,html[data-theme="dark"] .phase header{background:#202b27;color:#e6efec}html[data-theme="dark"] .progress-box{background:#1d2824}html[data-theme="dark"] .progress{background:#34443e}
html[data-theme="dark"] .stock-card-help-row{border-color:#33433f;background:#17211e;color:#e7efec}html[data-theme="dark"] .stock-card-help-row:nth-child(even){background:#1d2824}html[data-theme="dark"] .stock-card-help-row:hover{background:#26362f}html[data-theme="dark"] dialog::backdrop{background:rgba(0,0,0,.68)}
html[data-theme="dark"] *{scrollbar-color:#465951 #111815}html[data-theme="dark"] ::-webkit-scrollbar{width:11px;height:11px}html[data-theme="dark"] ::-webkit-scrollbar-track{background:#111815}html[data-theme="dark"] ::-webkit-scrollbar-thumb{border:2px solid #111815;border-radius:10px;background:#40524b}html[data-theme="dark"] img{color-scheme:normal}
@media(max-width:900px){.theme-toggle{width:36px;height:36px;flex-basis:36px}}@media(max-width:620px){.theme-toggle{margin-left:auto}}

/* =========================================================
   V125 - CARI BARANG
   ========================================================= */
.item-search-page{max-width:1500px}
.item-search-intro{margin-bottom:10px}
.item-search-filter-card{max-width:900px;padding:14px 18px!important}
.item-search-filter-card>label{margin:0}
.item-search-filter-card>label>small{display:block;margin-top:6px;font-size:9px;color:var(--muted)}
.item-search-picker{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px;margin-top:5px}
.item-search-picker input{height:42px;margin:0!important}
.item-search-picker .help-search-button{height:42px;margin:0}

.item-search-results{margin-top:10px}
.item-search-empty{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    min-height:240px;border:1px dashed var(--line);border-radius:13px;background:#fafbf9
}
.item-search-empty strong{font-size:14px;font-weight:500}
.item-search-empty span{margin-top:5px;font-size:10px;color:var(--muted)}
.item-search-message{padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-size:10px}
.item-search-message.error{border-color:#ebc5c5;background:#fff1f1;color:#9c3232}

.item-search-selected-head{
    display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;
    padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff
}
.item-search-selected-head>div:first-child>small,
.item-search-selected-head>div:first-child>strong,
.item-search-selected-head>div:first-child>span{display:block}
.item-search-selected-head>div:first-child>small{font-size:7px;letter-spacing:.7px;color:var(--muted)}
.item-search-selected-head>div:first-child>strong{margin-top:3px;font-size:16px;font-weight:500}
.item-search-selected-head>div:first-child>span{margin-top:3px;font-size:9px;color:var(--muted)}
.item-search-selected-stats{display:flex;gap:7px}
.item-search-selected-stats>div{
    min-width:94px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#f8faf7
}
.item-search-selected-stats small,.item-search-selected-stats strong,.item-search-selected-stats span{display:block}
.item-search-selected-stats small{font-size:7px;color:var(--muted);letter-spacing:.45px}
.item-search-selected-stats strong{margin-top:2px;font-size:16px;font-weight:500}
.item-search-selected-stats span{font-size:8px;color:var(--muted)}

.item-search-grid-head{display:flex;align-items:end;justify-content:space-between;margin:10px 2px 6px}
.item-search-grid-head strong,.item-search-grid-head small{display:block}
.item-search-grid-head strong{font-size:13px}
.item-search-grid-head small{margin-top:2px;font-size:9px;color:var(--muted)}

.item-search-table-wrap{max-height:calc(100vh - 410px);min-height:220px;overflow:auto}
.item-search-table{width:100%;min-width:760px}
.item-search-table thead th{position:sticky;top:0;z-index:5}
.item-search-caret-col{width:42px;text-align:center!important}
.item-search-qty-col{width:95px;text-align:right!important}
.item-search-group-row{cursor:pointer}
.item-search-group-row.is-selected-color{box-shadow:inset 3px 0 0 #4f876f}
.item-search-group-row:focus{outline:2px solid rgba(20,76,61,.22);outline-offset:-2px}
.item-search-caret{display:inline-block;font-size:20px;line-height:1;color:#667b74;transition:transform .14s ease}
.item-search-group-row[aria-expanded="true"] .item-search-caret{transform:rotate(90deg)}
.item-search-selected-label{
    display:inline-flex!important;margin-left:7px!important;padding:3px 6px;border-radius:999px;
    background:#e3efe0;color:#2f6a4d!important;font-size:7px!important;line-height:1
}
.item-search-location-code{display:block}
.item-search-group-row td small{display:block;margin-top:2px;font-size:8px;color:var(--muted)}
.item-search-other-divider td{
    padding:7px 12px!important;background:#f1f4ef!important;color:#64766f;
    font-size:8px!important;letter-spacing:.65px;font-weight:600!important
}

.item-search-barcode-row>td{padding:0!important;background:#f7f9f6!important}
.item-search-barcode-panel{
    margin:0 12px 10px 42px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff
}
.item-search-barcode-panel-head{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:8px 10px;border-bottom:1px solid var(--line);background:#f7f9f6
}
.item-search-barcode-panel-head span{font-size:9px;color:var(--muted)}
.item-search-barcode-panel-head strong{font-size:9px;font-weight:500}
.item-search-barcode-panel table{width:100%;border-collapse:collapse}
.item-search-barcode-panel th{padding:7px 10px;text-align:left;font-size:7px;letter-spacing:.55px;color:var(--muted)}
.item-search-barcode-panel td{padding:7px 10px;font-size:9px;border-top:1px solid var(--line)}
.item-search-barcode-panel tbody tr:nth-child(even){background:#edf2ea}

.item-search-help-dialog{
    width:min(760px,92vw);max-height:82vh;padding:0;border:0;border-radius:15px;
    box-shadow:0 22px 70px rgba(17,39,33,.24);overflow:hidden
}
.item-search-help-dialog::backdrop{background:rgba(15,39,33,.48)}
.item-search-help-head{display:flex;align-items:center;justify-content:space-between;padding:15px 16px 9px}
.item-search-help-head strong,.item-search-help-head small{display:block}
.item-search-help-head strong{font-size:14px}
.item-search-help-head small{margin-top:2px;font-size:8px;color:var(--muted)}
.item-search-help-head button{
    width:32px;height:32px;border:0;border-radius:50%;background:#eef1ed;font-size:18px;cursor:pointer
}
.item-search-help-dialog>input{width:calc(100% - 32px);height:42px;margin:0 16px 10px}
.item-search-help-list{max-height:62vh;overflow:auto;border-top:1px solid var(--line)}
.item-search-help-row{
    display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;
    width:100%;padding:10px 16px;border:0;border-bottom:1px solid var(--line);
    text-align:left;background:#fff;cursor:pointer
}
.item-search-help-row:nth-child(even){background:#edf2ea}
.item-search-help-row:hover{background:#e3ebe0}
.item-search-help-row>span:first-child strong,.item-search-help-row>span:first-child small{display:block}
.item-search-help-row>span:first-child strong{font-size:10px;font-weight:400}
.item-search-help-row>span:first-child small{margin-top:2px;font-size:8px;color:var(--muted)}
.item-search-help-ready{min-width:70px;text-align:right;font-size:9px;white-space:nowrap}
.item-search-help-ready.has-stock{color:#2f704e}
.item-search-help-ready.no-stock{color:var(--muted)}

html[data-theme="dark"] .item-search-empty,
html[data-theme="dark"] .item-search-selected-head,
html[data-theme="dark"] .item-search-help-dialog,
html[data-theme="dark"] .item-search-barcode-panel{
    border-color:#33433f;background:#17211e;color:var(--ink)
}
html[data-theme="dark"] .item-search-selected-stats>div,
html[data-theme="dark"] .item-search-barcode-panel-head{border-color:#34453f;background:#1d2925}
html[data-theme="dark"] .item-search-group-row.is-selected-color{box-shadow:inset 3px 0 0 #77b293}
html[data-theme="dark"] .item-search-selected-label{background:#244536;color:#bde2c8!important}
html[data-theme="dark"] .item-search-other-divider td{background:#202c28!important;color:#a8b8b2}
html[data-theme="dark"] .item-search-barcode-row>td{background:#131c19!important}
html[data-theme="dark"] .item-search-barcode-panel td{border-color:#31413c}
html[data-theme="dark"] .item-search-barcode-panel tbody tr:nth-child(even){background:#1d2824}
html[data-theme="dark"] .item-search-help-row{border-color:#33433f;background:#17211e;color:#e7efec}
html[data-theme="dark"] .item-search-help-row:nth-child(even){background:#1d2824}
html[data-theme="dark"] .item-search-help-row:hover{background:#26362f}
html[data-theme="dark"] .item-search-help-head button{background:#26342f;color:#e7efec}
html[data-theme="dark"] .item-search-message.error{border-color:#6a4141;background:#321e1e;color:#efaaaa}
html[data-theme="dark"] .item-search-help-ready.has-stock{color:#9bd2aa}

@media(max-width:900px){
    .item-search-selected-head{grid-template-columns:1fr}
    .item-search-selected-stats{overflow-x:auto}
}

/* =========================================================
   V126 - CARI BARANG: FOTO + SPESIFIKASI
   ========================================================= */
.item-search-product-main{
    display:flex;
    align-items:flex-start;
    gap:12px;
    min-width:0;
}
.item-search-product-title{
    min-width:0;
    flex:1;
}
.item-search-photo-thumb{
    position:relative;
    width:76px;
    height:76px;
    flex:0 0 76px;
    padding:0;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:9px;
    background:#f4f6f2;
    cursor:zoom-in;
}
.item-search-photo-thumb img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.item-search-photo-thumb span{
    position:absolute;
    right:4px;
    bottom:4px;
    padding:3px 5px;
    border-radius:5px;
    background:rgba(17,38,32,.78);
    color:#fff;
    font-size:7px;
    letter-spacing:.4px;
}
.item-search-photo-empty{
    display:grid;
    width:76px;
    height:76px;
    flex:0 0 76px;
    place-items:center;
    border:1px dashed var(--line);
    border-radius:9px;
    background:#f7f8f6;
    color:var(--muted);
    text-align:center;
    font-size:8px;
    line-height:1.2;
}
.item-search-specs{
    width:min(660px,100%);
    margin-top:8px;
}
.item-search-specs summary{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:5px 9px;
    border:1px solid var(--line);
    border-radius:7px;
    background:#f7f9f6;
    font-size:9px;
    cursor:pointer;
    user-select:none;
}
.item-search-specs-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1px;
    margin-top:6px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:8px;
    background:var(--line);
}
.item-search-specs-grid>div{
    padding:7px 9px;
    background:#fff;
}
.item-search-specs-grid small,
.item-search-specs-grid span{display:block}
.item-search-specs-grid small{
    font-size:7px;
    letter-spacing:.45px;
    color:var(--muted);
}
.item-search-specs-grid span{
    margin-top:2px;
    font-size:9px;
}

/* Fullscreen viewer: zoom 100–500% + drag/pan ketika zoom. */
.item-search-photo-viewer{
    position:fixed;
    inset:0;
    z-index:10020;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    gap:8px;
    padding:16px;
    background:rgba(6,14,12,.92);
    outline:none;
}
.item-search-photo-viewer[hidden]{display:none!important}
.item-search-photo-toolbar{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
}
.item-search-photo-toolbar button{
    min-width:38px;
    height:36px;
    padding:0 10px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:8px;
    background:rgba(255,255,255,.12);
    color:#fff;
    cursor:pointer;
}
.item-search-photo-toolbar button:hover{background:rgba(255,255,255,.2)}
.item-search-photo-toolbar [data-photo-close]{
    position:absolute;
    top:16px;
    right:16px;
    width:40px;
    padding:0;
    font-size:21px;
}
.item-search-photo-toolbar span{
    min-width:54px;
    text-align:center;
    color:#fff;
    font-size:10px;
}
.item-search-photo-stage{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:0;
    overflow:hidden;
    border-radius:9px;
    touch-action:none;
    user-select:none;
}
.item-search-photo-stage img{
    display:block;
    max-width:88vw;
    max-height:78vh;
    object-fit:contain;
    transform-origin:center center;
    transition:transform .05s linear;
    user-select:none;
    -webkit-user-drag:none;
}
.item-search-photo-help{
    display:block;
    text-align:center;
    color:rgba(255,255,255,.72);
    font-size:9px;
}
body.item-search-photo-open{overflow:hidden}

/* Detail barcode dibuat ringkas: Barcode + Posisi Rak. */
.item-search-barcode-panel table{table-layout:fixed}
.item-search-barcode-panel th:first-child,
.item-search-barcode-panel td:first-child{width:50%}

/* Dark theme */
html[data-theme="dark"] .item-search-photo-thumb,
html[data-theme="dark"] .item-search-photo-empty,
html[data-theme="dark"] .item-search-specs summary,
html[data-theme="dark"] .item-search-specs-grid{
    border-color:#3a4b45;
    background:#1d2925;
    color:#e7efec;
}
html[data-theme="dark"] .item-search-specs-grid{
    background:#34453f;
}
html[data-theme="dark"] .item-search-specs-grid>div{
    background:#17211e;
}

@media(max-width:900px){
    .item-search-specs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
    .item-search-product-main{align-items:flex-start}
    .item-search-photo-thumb,
    .item-search-photo-empty{
        width:66px;
        height:66px;
        flex-basis:66px;
    }
    .item-search-specs-grid{grid-template-columns:1fr}
}

/* =========================================================
   V127 - GLOBAL FORM DENSITY + TYPOGRAPHY
   3 kolom desktop, 2 kolom medium, 1 kolom mobile.
   Kontrol lebih pendek secara horizontal tetapi lebih nyaman dibaca.
   ========================================================= */

/* Typography form dibuat lebih nyaman untuk pemakaian lama. */
.form-card{
    padding:24px;
}
.form-card label{
    font-size:13px;
    line-height:1.35;
}
.form-card input,
.form-card select,
.form-card textarea{
    font-size:14px;
    line-height:1.35;
}
.form-card input,
.form-card select{
    min-height:42px;
    padding:10px 12px;
}
.form-card textarea{
    padding:11px 12px;
}
.form-card label>small,
.form-hint,
.page-subtitle{
    font-size:10px;
    line-height:1.45;
}
.section-title-row h3,
.form-card section h3{
    font-size:16px;
    line-height:1.25;
}
.primary,
.secondary{
    font-size:14px;
}
.primary.compact,
.secondary.compact{
    font-size:13px;
}

/* Standar global: form utama memakai tiga kolom pada desktop. */
.form-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:18px;
    row-gap:16px;
    align-items:start;
}
.form-grid>*{
    min-width:0;
}
.form-grid-wide{
    grid-column:1/-1;
}

/* Field yang memang panjang tetap boleh mengambil lebar penuh. */
.form-grid textarea{
    width:100%;
}

/* Header transaksi mendapat ritme vertikal lebih rapat dan konsisten. */
.purchase-header-section .form-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.purchase-header-section{
    padding-bottom:22px;
}
.purchase-detail-section{
    padding-top:22px;
}

/* Filter/list input juga sedikit lebih besar agar konsisten dengan form. */
.toolbar input,
.toolbar select,
.master-toolbar input,
.master-toolbar select,
.transaction-filter-field input,
.transaction-filter-field select{
    min-height:42px;
    font-size:14px;
}
.transaction-filter-field>span{
    font-size:9px;
}

/* Grid data tetap compact, tetapi teks sedikit lebih nyaman dibaca. */
table tbody td{
    font-size:14px;
}
table thead th{
    font-size:10px;
}
.no-data{
    font-size:13px;
}

/* Read-only / disabled tetap jelas pada ukuran baru. */
.form-card input:disabled,
.form-card select:disabled,
.form-card input[readonly],
.form-card textarea[readonly]{
    opacity:1;
}

/* Responsive: jangan paksakan 3 kolom kalau lebar tidak cukup. */
@media(max-width:1180px){
    .form-grid,
    .purchase-header-section .form-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:760px){
    .form-card{
        padding:18px;
    }
    .form-grid,
    .purchase-header-section .form-grid{
        grid-template-columns:1fr;
    }
    .form-card label{
        font-size:13px;
    }
    .form-card input,
    .form-card select,
    .form-card textarea{
        font-size:14px;
    }
}


/* =========================================================
   V128 - DENSE DESKTOP UI / GRID FIRST
   Prinsip: helper copy dibuang, form ringkas, grid mendapat area utama.
   ========================================================= */

/* Repetitive action = icon only + tooltip/title. */
.ui-icon{width:18px;height:18px;display:block;pointer-events:none}
.icon-action{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    flex:0 0 38px;
    border-radius:8px!important;
}
.list-refresh-button span{display:none!important}

/* Workspace content lebih rapat. Topbar sudah memegang judul halaman. */
.workspace-frame-content{
    padding:9px 16px 16px;
}
.workspace-frame-page .page-intro{
    min-height:0;
    margin:0 0 7px;
    align-items:center;
    justify-content:flex-end;
}
/* Judul/subjudul yang duplikat dengan topbar tidak perlu memakan ruang. */
.workspace-frame-page .page-intro>div:first-child{
    display:none;
}
.workspace-frame-page .page-intro-actions{
    gap:6px;
    margin-left:auto;
}

/* Default: helper/instructional copy tidak ditampilkan. Error/alert tetap tampil. */
.workspace-frame-page .page-intro p,
.workspace-frame-page .page-subtitle,
.workspace-frame-page .form-hint,
.workspace-frame-page .form-card label>small:not(.keep-helper),
.workspace-frame-page .section-title-row>div>small,
.workspace-frame-page .item-help-card>header small,
.workspace-frame-page .rack-help-head small,
.workspace-frame-page .barcode-help-head small,
.workspace-frame-page .stock-card-grid-head small{
    display:none!important;
}

/* Form global: font tetap nyaman, ruang kosong dikurangi. */
.workspace-frame-page .form-card{
    padding:11px 13px;
    border-radius:11px;
}
.workspace-frame-page .form-grid{
    gap:8px 12px;
}
.workspace-frame-page .form-card label{
    font-size:12px;
    line-height:1.2;
}
.workspace-frame-page .form-card input,
.workspace-frame-page .form-card select{
    min-height:38px;
    height:38px;
    margin-top:4px;
    padding:7px 10px;
    font-size:14px;
}
.workspace-frame-page .form-card textarea{
    margin-top:4px;
    padding:8px 10px;
    font-size:14px;
}
.workspace-frame-page .section-title-row{
    min-height:38px;
    margin-bottom:6px;
    gap:8px;
}
.workspace-frame-page .section-title-row h3,
.workspace-frame-page .form-card section h3{
    font-size:14px;
}
.workspace-frame-page .form-actions{
    gap:6px;
    margin-top:10px;
    padding-top:9px;
}

/* Toolbar/filter list dibuat satu strip pendek. */
.workspace-frame-page .toolbar,
.workspace-frame-page .master-toolbar{
    min-height:38px;
    gap:6px;
    margin-bottom:7px;
}
.workspace-frame-page .toolbar input,
.workspace-frame-page .toolbar select,
.workspace-frame-page .master-toolbar input,
.workspace-frame-page .master-toolbar select,
.workspace-frame-page .transaction-filter-field input,
.workspace-frame-page .transaction-filter-field select{
    min-height:38px;
    height:38px;
    padding:7px 10px;
    font-size:13px;
}
.transaction-list-filter{
    gap:7px;
    margin-bottom:7px;
    padding:8px 10px;
    border-radius:10px;
}
.transaction-list-filter-fields{gap:7px}
.transaction-filter-field{gap:3px}
.transaction-filter-field>span{font-size:8px}
.transaction-list-filter-actions{gap:5px}

/* Grid umum: font tetap terbaca tetapi row jauh lebih efisien. */
.workspace-frame-page table thead th{
    padding:8px 12px;
    font-size:9px;
}
.workspace-frame-page table tbody td{
    padding:8px 12px;
    font-size:13.5px;
    line-height:1.25;
}
.workspace-frame-page .master-name small{
    margin-top:2px;
    font-size:9px;
}
.no-data{padding:22px!important}

/* Page action add/create pada intro dibuat icon-only by markup/CSS. */
.page-intro-actions .primary.icon-action,
.page-intro-actions .secondary.icon-action{box-shadow:none}

/* ---------------- Cari Barang: grid first ---------------- */
.item-search-page{max-width:none}
.item-search-filter-card{
    max-width:none;
    padding:8px 10px!important;
    margin:0;
}
.item-search-filter-card>label{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    align-items:center;
    gap:8px;
    font-size:12px!important;
}
.item-search-picker{margin:0}
.item-search-picker input,
.item-search-picker .help-search-button{height:38px!important;min-height:38px!important}
.item-search-results{margin-top:7px}
.item-search-selected-head{
    min-height:68px;
    padding:7px 9px;
    border-radius:10px;
    gap:9px;
}
.item-search-product-main{gap:9px;align-items:center}
.item-search-photo-thumb,
.item-search-photo-empty{
    width:56px;
    height:56px;
    flex-basis:56px;
    border-radius:7px;
}
.item-search-product-title>strong{
    font-size:15px!important;
    line-height:1.15;
}
.item-search-product-title>span{
    margin-top:1px!important;
    font-size:10px!important;
}
.item-search-specs{margin-top:4px;width:auto}
.item-search-specs summary{
    width:30px;
    height:27px;
    padding:0;
    align-items:center;
    justify-content:center;
    border-radius:6px;
    list-style:none;
}
.item-search-specs summary::-webkit-details-marker{display:none}
.item-search-specs summary .ui-icon{width:15px;height:15px}
.item-search-specs-grid{
    position:absolute;
    z-index:40;
    width:min(640px,calc(100vw - 180px));
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:4px;
    box-shadow:0 12px 34px rgba(20,40,34,.16);
}
.item-search-selected-stats{gap:5px}
.item-search-selected-stats>div{
    min-width:80px;
    min-height:48px;
    padding:6px 8px;
    border-radius:7px;
}
.item-search-selected-stats strong{font-size:15px}
.item-search-grid-head{
    height:29px;
    margin:4px 2px 2px;
    align-items:center;
}
.item-search-grid-head strong{font-size:12px}
.item-search-grid-head small{display:none!important}
.item-search-table-wrap{
    height:calc(100vh - 286px);
    min-height:360px;
    max-height:none;
    border-radius:10px;
}
.item-search-table thead th{padding-top:8px!important;padding-bottom:8px!important}
.item-search-table .item-search-group-row td{
    padding-top:9px!important;
    padding-bottom:9px!important;
}
.item-search-selected-label{font-size:6px!important;padding:2px 5px!important}
.item-search-barcode-panel{margin:0 8px 7px 35px}
.item-search-barcode-panel-head{padding:6px 8px}
.item-search-barcode-panel th,.item-search-barcode-panel td{padding:6px 8px!important}

/* ---------------- Purchase: header compact, detail gets height ---------------- */
.purchase-form-card{padding:10px 12px!important}
.purchase-header-section{
    padding-bottom:8px!important;
}
.purchase-detail-section{
    padding-top:8px!important;
}
.purchase-header-section .section-title-row,
.purchase-detail-section .section-title-row{
    margin-bottom:5px;
}
.purchase-detail-actions{gap:5px}
.purchase-note-drawer{
    margin-top:0;
}
.purchase-note-drawer>summary{
    display:inline-flex;
    align-items:center;
    gap:6px;
    height:30px;
    padding:0 8px;
    border:1px solid var(--line);
    border-radius:7px;
    background:#f7f9f6;
    color:var(--muted);
    font-size:10px;
    cursor:pointer;
    list-style:none;
}
.purchase-note-drawer>summary::-webkit-details-marker{display:none}
.purchase-note-drawer>summary .ui-icon{width:14px;height:14px}
.purchase-note-drawer>label{display:block;margin-top:5px}
.purchase-note-drawer textarea{min-height:56px!important}
.purchase-detail-list{
    gap:7px;
    min-height:calc(100vh - 355px);
}
.purchase-detail-empty{
    min-height:calc(100vh - 370px);
    border-radius:9px;
}
.purchase-detail-empty span{display:none}
.purchase-detail-card{border-radius:9px}
.purchase-detail-card>header{padding:8px 10px}
.purchase-detail-body{gap:9px;padding:9px}
.purchase-summary{gap:5px;margin-top:7px}
.purchase-summary>div{min-width:115px;padding:7px 9px;border-radius:7px}
.purchase-summary strong{font-size:13px}
.purchase-summary small{font-size:7px}

/* ---------------- Master Barang: left page tabs ---------------- */
.compact-form-tabs{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:8px;
    min-height:330px;
}
.compact-form-tab-rail{
    display:flex;
    flex-direction:column;
    gap:5px;
    padding-right:7px;
    border-right:1px solid var(--line);
}
.compact-form-tab-rail button{
    display:grid;
    width:36px;
    height:36px;
    padding:0;
    place-items:center;
    border:1px solid transparent;
    border-radius:8px;
    background:transparent;
    color:#74827d;
    cursor:pointer;
}
.compact-form-tab-rail button:hover{background:#eef2ed;color:var(--green)}
.compact-form-tab-rail button.active{
    border-color:#b9cfb8;
    background:#e7f0e2;
    color:var(--green);
}
.compact-form-tab-pages{min-width:0}
.compact-form-tab-page[hidden]{display:none!important}
.compact-form-tab-page.active{display:block}
.compact-form-tab-page .item-logistics-readonly,
.compact-form-tab-page .item-photo-section{
    margin-top:0!important;
    padding-top:0!important;
    border-top:0!important;
}
.item-code-preview{margin-top:7px!important}
.photo-picker-actions>span{display:none!important}
.item-photo-grid,.photo-upload-preview{grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:8px}
.item-photo-card img,.pending-photo-card img{height:112px}

/* Dark additions */
html[data-theme="dark"] .purchase-note-drawer>summary{
    border-color:#3a4b45;background:#1d2925;color:#b8c7c2
}
html[data-theme="dark"] .compact-form-tab-rail{border-color:#35453f}
html[data-theme="dark"] .compact-form-tab-rail button:hover{background:#21302b;color:#dceae5}
html[data-theme="dark"] .compact-form-tab-rail button.active{
    border-color:#416e5f;background:#22483c;color:#dceee8
}

@media(max-width:1180px){
    .item-search-table-wrap{height:calc(100vh - 305px)}
    .purchase-detail-list,.purchase-detail-empty{min-height:300px}
}
@media(max-width:760px){
    .workspace-frame-content{padding:8px 10px 14px}
    .item-search-filter-card>label{grid-template-columns:1fr}
    .item-search-selected-head{grid-template-columns:1fr}
    .item-search-table-wrap{height:auto;min-height:300px}
    .compact-form-tabs{grid-template-columns:1fr}
    .compact-form-tab-rail{flex-direction:row;padding:0 0 6px;border-right:0;border-bottom:1px solid var(--line)}
}

/* =========================================================
   V129 - INTERNAL SYSTEM / NO TUTORIAL COPY / RIGHT ACTION RAIL
   ========================================================= */

/* Internal portal: instructional copy is hidden by default. */
.workspace-frame-page .page-intro p,
.workspace-frame-page .page-subtitle,
.workspace-frame-page .form-hint:not(.form-error):not(.keep-helper),
.workspace-frame-page .form-card label>small:not(.keep-helper):not(.form-error),
.workspace-frame-page .item-search-filter-card>label>small,
.workspace-frame-page .item-search-grid-head small,
.workspace-frame-page .item-search-photo-help,
.workspace-frame-page .stock-card-intro p,
.workspace-frame-page .stock-card-grid-head small,
.workspace-frame-page .stock-card-empty-state span,
.workspace-frame-page .purchase-detail-empty span,
.workspace-frame-page .rack-help-head small,
.workspace-frame-page .barcode-help-head small,
.workspace-frame-page .item-help-card>header small,
.workspace-frame-page .item-logistics-section .section-title-row small,
.workspace-frame-page .empty-dashboard p{
    display:none!important;
}

/* Purchase is now a content area + vertical action rail, Accurate-style. */
.purchase-rail-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 46px;
    gap:8px;
    align-items:start;
    padding:8px!important;
    overflow:visible!important;
}
.purchase-form-main{
    min-width:0;
}
.purchase-action-rail{
    position:sticky;
    top:8px;
    z-index:12;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    padding:5px 4px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#f8faf7;
}
.purchase-rail-button{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    border-radius:8px!important;
}
.purchase-rail-post{
    display:grid;
    place-items:center;
    border:0;
    background:#75a632;
    color:#fff;
    cursor:pointer;
}
.purchase-rail-post:hover{background:#638e2b}
.purchase-rail-status{
    display:grid;
    width:38px;
    height:38px;
    place-items:center;
    border-radius:8px;
    background:#e4f1df;
    color:#2f6c2d;
}
.purchase-rail-corrected{
    display:grid;
    min-width:22px;
    height:22px;
    padding:0 5px;
    place-items:center;
    border-radius:999px;
    background:#fff0cc;
    color:#7c5c12;
    font-size:9px;
    font-weight:700;
}
.purchase-rail-separator{
    width:28px;
    height:1px;
    margin:1px 0;
    background:var(--line);
}
.purchase-hidden-file-input[hidden]{
    display:none!important;
}

/* Purchase header uses one row on wide screens. */
.purchase-header-section{
    padding:0 0 7px!important;
}
.purchase-header-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px 10px!important;
}
.purchase-header-grid label{
    font-size:11.5px!important;
}
.purchase-header-grid input,
.purchase-header-grid select{
    height:37px!important;
    min-height:37px!important;
}
.purchase-detail-section{
    padding-top:7px!important;
}
.purchase-detail-label{
    height:24px;
    display:flex;
    align-items:center;
    margin-bottom:4px;
    font-size:12px;
    font-weight:700;
}
.purchase-detail-list{
    min-height:calc(100vh - 250px)!important;
}
.purchase-detail-empty{
    min-height:calc(100vh - 265px)!important;
}

/* Note moves out of the form flow. */
.purchase-note-dialog{
    width:min(560px,calc(100vw - 30px));
    padding:0;
    border:0;
    border-radius:12px;
    background:#fff;
    box-shadow:0 24px 80px rgba(0,0,0,.28);
}
.purchase-note-dialog::backdrop{
    background:rgba(6,25,21,.48);
}
.purchase-note-dialog header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 12px;
    border-bottom:1px solid var(--line);
}
.purchase-note-dialog header strong{font-size:13px}
.purchase-note-dialog header button{
    width:30px;
    height:30px;
    padding:0;
    border:0;
    border-radius:7px;
    background:#eef1ed;
    cursor:pointer;
    font-size:18px;
}
.purchase-note-dialog textarea{
    display:block;
    width:calc(100% - 20px);
    min-height:130px;
    margin:10px;
    padding:10px 11px;
    border:1px solid var(--line);
    border-radius:9px;
    font:inherit;
    font-size:14px;
    resize:vertical;
}

/* Detail and summary get priority over ornamental space. */
.purchase-summary{
    margin-top:5px!important;
}
.purchase-detail-card>header{
    padding-top:7px!important;
    padding-bottom:7px!important;
}
.purchase-detail-body{
    padding:8px!important;
}

/* Dark */
html[data-theme="dark"] .purchase-action-rail{
    border-color:#35453f;
    background:#17211e;
}
html[data-theme="dark"] .purchase-rail-status{
    background:#203d29;
    color:#a8dda2;
}
html[data-theme="dark"] .purchase-rail-corrected{
    background:#382f19;
    color:#e5c76d;
}
html[data-theme="dark"] .purchase-note-dialog{
    background:#17211e;
    color:var(--ink);
}
html[data-theme="dark"] .purchase-note-dialog header{
    border-color:#35453f;
}
html[data-theme="dark"] .purchase-note-dialog header button{
    background:#26342f;
    color:#e7efec;
}
html[data-theme="dark"] .purchase-note-dialog textarea{
    border-color:#3d4d48;
    background:#111a17;
    color:#e8efed;
}

@media(max-width:1280px){
    .purchase-header-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .purchase-detail-list,
    .purchase-detail-empty{
        min-height:320px!important;
    }
}
@media(max-width:760px){
    .purchase-rail-form{
        grid-template-columns:1fr!important;
    }
    .purchase-action-rail{
        position:static;
        flex-direction:row;
        justify-content:flex-end;
        order:-1;
    }
    .purchase-header-grid{
        grid-template-columns:1fr!important;
    }
}

/* =========================================================
   V130 - CLEAN SEARCH GRID + DETAIL ACTION SEPARATION
   ========================================================= */

/* Icon buttons: fill the square better and keep balanced proportions. */
.icon-action .ui-icon{
    width:23px;
    height:23px;
}
.purchase-action-rail .ui-icon,
.purchase-detail-toolbar-actions .ui-icon{
    width:24px;
    height:24px;
}
.purchase-rail-button,
.purchase-detail-tool-button{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    flex:0 0 40px!important;
    border-radius:8px!important;
}
.purchase-action-rail{
    grid-column:auto;
    width:48px;
    padding:5px 3px;
}
.purchase-rail-status{
    width:40px;
    height:40px;
}
.purchase-rail-status .ui-icon{
    width:24px;
    height:24px;
}

/* Detail-related actions live beside Detail Barang. */
.purchase-detail-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-height:42px;
    margin-bottom:4px;
}
.purchase-detail-toolbar>span{
    font-size:12px;
    font-weight:700;
}
.purchase-detail-toolbar-actions{
    display:flex;
    align-items:center;
    gap:5px;
}
.purchase-detail-corrected{
    display:grid;
    min-width:24px;
    height:24px;
    padding:0 5px;
    place-items:center;
    border-radius:999px;
    background:#fff0cc;
    color:#7c5c12;
    font-size:9px;
    font-weight:700;
}

/* Cari Barang: no selected-color decoration. */
.item-search-group-row{
    box-shadow:none!important;
}
.item-search-group-row.is-selected-color{
    box-shadow:none!important;
}
.item-search-selected-label{
    display:none!important;
}

/* Force visible zebra on the main Cari Barang grid.
   Explicit classes avoid hidden expand rows breaking nth-child striping. */
.item-search-table tbody .item-search-group-row.item-search-zebra-a{
    background:#ffffff!important;
}
.item-search-table tbody .item-search-group-row.item-search-zebra-b{
    background:#e9efe6!important;
}
.item-search-table tbody .item-search-group-row:hover{
    background:#dde8d9!important;
}
.item-search-table tbody .item-search-group-row[aria-expanded="true"]{
    background:#e2eadf!important;
}

/* Expanded barcode table begins immediately; parent QTY already shows count. */
.item-search-barcode-panel{
    margin-top:0!important;
}
.item-search-barcode-panel-head{
    display:none!important;
}

/* No ZOOM label overlay. */
.item-search-photo-thumb>span{
    display:none!important;
}

/* Per-color stock summary. Every color is named; scroll when many. */
.item-search-color-summary-wrap{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:stretch;
    gap:7px;
    min-width:0;
    max-width:min(760px,55vw);
}
.item-search-color-summary-scroll{
    display:flex;
    align-items:stretch;
    gap:6px;
    min-width:0;
    overflow-x:auto;
    overflow-y:hidden;
    padding:1px 1px 3px;
    scrollbar-width:thin;
}
.item-search-color-stat,
.item-search-total-stat{
    flex:0 0 auto;
    min-width:86px;
    padding:7px 10px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#f8faf7;
}
.item-search-color-stat small,
.item-search-color-stat strong,
.item-search-total-stat small,
.item-search-total-stat strong{
    display:block;
}
.item-search-color-stat small,
.item-search-total-stat small{
    font-size:7px;
    letter-spacing:.45px;
    color:var(--muted);
    white-space:nowrap;
}
.item-search-color-stat strong,
.item-search-total-stat strong{
    margin-top:2px;
    font-size:16px;
    line-height:1;
    font-weight:500;
}
.item-search-total-stat{
    background:#eef3eb;
}

/* Remove obsolete gap created by deleted heading. */
.item-search-selected-head{
    margin-bottom:7px;
}
.item-search-table-wrap{
    margin-top:0!important;
}

/* Dark mode zebra and controls. */
html[data-theme="dark"] .item-search-table tbody .item-search-group-row.item-search-zebra-a{
    background:#17211e!important;
}
html[data-theme="dark"] .item-search-table tbody .item-search-group-row.item-search-zebra-b{
    background:#202d28!important;
}
html[data-theme="dark"] .item-search-table tbody .item-search-group-row:hover{
    background:#2a3a34!important;
}
html[data-theme="dark"] .item-search-table tbody .item-search-group-row[aria-expanded="true"]{
    background:#26372f!important;
}
html[data-theme="dark"] .item-search-color-stat,
html[data-theme="dark"] .item-search-total-stat{
    border-color:#364740;
    background:#1c2824;
}
html[data-theme="dark"] .item-search-total-stat{
    background:#24332d;
}
html[data-theme="dark"] .purchase-detail-corrected{
    background:#382f19;
    color:#e5c76d;
}

@media(max-width:900px){
    .item-search-color-summary-wrap{
        max-width:100%;
    }
}

/* =========================================================
   V131 - COMPACT RACK + CLEAN STOCK CARD
   ========================================================= */

/* Isi Rak: card height follows actual controls, not old fixed/min height. */
.rack-action-grid{
    gap:8px!important;
    margin-bottom:5px!important;
    align-items:start!important;
}
.rack-control-card{
    min-height:0!important;
    height:auto!important;
    padding:9px 10px!important;
}
.rack-control-card>label{
    margin:0 0 5px!important;
    font-size:11.5px!important;
}
.rack-control-card>input,
.rack-control-card .rack-inline,
.rack-control-card .rack-mass-controls{
    margin:0!important;
}
.rack-control-card input{
    height:38px!important;
    min-height:38px!important;
}
.rack-control-card .rack-inline .help-search-button,
.rack-style-card .primary,
.rack-mass-controls .primary{
    height:38px!important;
    min-height:38px!important;
}
.rack-control-card .form-hint{
    display:none!important;
}
.rack-contents-head{
    margin:5px 2px 4px!important;
}
.rack-contents-head strong{
    font-size:12px!important;
}
.rack-contents-table-wrap{
    max-height:calc(100vh - 270px)!important;
    min-height:0!important;
}
.rack-contents-table-wrap tbody:empty{
    display:table-row-group;
}

/* Kartu Stok: strip out tutorial-like secondary text and favor the grid. */
.stock-card-filter-card{
    padding:9px 10px!important;
    margin-bottom:6px!important;
}
.stock-card-filter-grid{
    gap:8px!important;
}
.stock-card-filter-grid select,
.stock-card-filter-grid input,
.stock-card-filter-picker .help-search-button{
    height:38px!important;
}
.stock-card-product-head{
    margin-top:6px!important;
    padding:8px 10px!important;
    gap:8px!important;
}
.stock-card-product-info h3{
    margin:0!important;
    font-size:15px!important;
}
.stock-card-filter-badge,
.stock-card-photo-count{
    display:none!important;
}
.stock-card-photo-strip{
    gap:5px!important;
}
.stock-card-photo-thumb{
    width:46px!important;
    height:46px!important;
    flex-basis:46px!important;
}
.stock-card-summary-grid{
    gap:6px!important;
    margin-top:6px!important;
}
.stock-card-summary-grid>div{
    min-height:48px!important;
    padding:7px 9px!important;
}
.stock-card-summary-grid small{
    font-size:7px!important;
}
.stock-card-summary-grid strong{
    margin-top:2px!important;
    font-size:16px!important;
}
.stock-card-summary-grid>div>span{
    display:none!important;
}
.stock-card-grid-head{
    display:none!important;
}
.stock-card-table-wrap{
    max-height:calc(100vh - 335px)!important;
    min-height:260px!important;
    margin-top:6px!important;
}
.stock-card-history-section:empty{
    display:none!important;
}
.stock-card-empty-state{
    min-height:160px!important;
    margin-top:6px!important;
}
.stock-card-empty-state span{
    display:none!important;
}
.stock-card-help-head small,
.stock-card-photo-count{
    display:none!important;
}

/* Dark theme keeps the same compact geometry. */
html[data-theme="dark"] .rack-control-card,
html[data-theme="dark"] .stock-card-product-head,
html[data-theme="dark"] .stock-card-summary-grid>div{
    border-color:#33433f;
}

/* Keep responsive behavior, only geometry changes. */
@media(max-width:1000px){
    .rack-action-grid{
        grid-template-columns:1fr!important;
    }
}

/* =========================================================
   V132 - PURCHASE FINAL ACTION + DISTINCT ICONS
   ========================================================= */
.purchase-action-rail{
    min-height:206px;
}
.purchase-rail-final-separator{
    margin-top:auto!important;
}
.purchase-rail-final-action{
    margin-top:0!important;
}
.purchase-detail-toolbar-actions [title="Import Textfile"] .ui-icon{
    width:25px;
    height:25px;
}
.purchase-action-rail [title="Catatan"] .ui-icon{
    width:24px;
    height:24px;
}

/* =========================================================
   V133 - PURCHASE ACTION RAIL FULL HEIGHT
   ========================================================= */
@media(min-width:761px){
    .purchase-rail-form{
        align-items:stretch!important;
    }

    .purchase-form-main{
        align-self:stretch;
    }

    .purchase-action-rail{
        position:relative!important;
        top:auto!important;
        align-self:stretch!important;
        height:auto!important;
        min-height:100%!important;
        box-sizing:border-box;
    }

    .purchase-rail-final-separator{
        margin-top:auto!important;
    }

    .purchase-rail-final-action{
        margin-top:0!important;
        margin-bottom:0!important;
    }
}

/* =========================================================
   V134 - DAMAGE + MUTATION WORKFLOW + WORK CENTER
   ========================================================= */
.damage-inline{display:inline-block;margin-top:2px;padding:2px 6px;border-radius:999px;background:#fff0f0;color:#b13d3d;font-size:8px;font-weight:700;line-height:1.35;max-width:320px;white-space:normal}

/* Header work center is intentionally a visible work control, not a tiny notification dot. */
.work-center{position:relative;flex:0 0 auto}
.work-center-trigger{display:flex;align-items:center;gap:7px;height:42px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#f6f8f5;color:var(--ink);cursor:pointer}
.work-center-trigger svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.work-center-trigger span{font-size:9px;font-weight:700;letter-spacing:.55px}
.work-center-trigger b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#e7ece4;font-size:10px}
.work-center.has-work .work-center-trigger{border-color:#92ad77;background:#eef5e9}
.work-center.has-work .work-center-trigger b{background:#6f9e3e;color:white}
.work-center-panel{position:absolute;right:0;top:calc(100% + 7px);z-index:90;width:min(390px,calc(100vw - 30px));max-height:min(560px,72vh);overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 18px 55px rgba(22,40,32,.2)}
.work-center-panel>header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line)}
.work-center-panel>header strong{font-size:13px}.work-center-panel>header button{width:30px;height:30px;border:0;border-radius:7px;background:#eef1ed;cursor:pointer;font-size:17px}
.work-center-list{max-height:500px;overflow:auto;padding:6px}
.work-center-item{display:block;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer}
.work-center-item:hover{background:#eef4eb}.work-center-item strong,.work-center-item span{display:block}.work-center-item strong{font-size:11px}.work-center-item span{margin-top:3px;font-size:9px;color:var(--muted)}
.work-center-empty{padding:22px 12px;text-align:center;color:var(--muted);font-size:10px}

/* Barang rusak */
.damage-layout{display:grid;grid-template-columns:minmax(310px,380px) minmax(0,1fr);gap:8px;align-items:start}
.damage-entry-card{padding:10px!important}.damage-entry-grid{display:grid;gap:8px}.damage-entry-grid label{font-size:11.5px}.damage-entry-grid input[type=text],.damage-entry-grid textarea{font-size:14px}
.damage-entry-grid input[type=text]{height:38px}.damage-entry-grid textarea{min-height:82px}.damage-product-summary{padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:#f7f9f6}.damage-product-summary strong,.damage-product-summary span{display:block}.damage-product-summary strong{font-size:12px}.damage-product-summary span{margin-top:3px;font-size:9px;color:var(--muted)}
.damage-photo-field input{display:block;width:100%;margin-top:5px}.damage-entry-actions{display:flex;justify-content:flex-end;margin-top:8px}.damage-entry-actions button{height:38px}
.damage-list-area{min-width:0}.damage-table-wrap{max-height:calc(100vh - 200px);overflow:auto}.damage-table thead th{position:sticky;top:0;z-index:3}.damage-photo-count{display:inline-grid;place-items:center;min-width:25px;height:22px;border-radius:999px;font-size:9px;font-weight:700}.damage-photo-count.has-photo{background:#e5f0df;color:#3b702f}.damage-photo-count.missing-photo{background:#fff0d7;color:#8b641c}

/* Mutasi barang */
.transfer-form{display:grid!important;grid-template-columns:minmax(0,1fr) 48px;gap:8px;align-items:stretch;padding:8px!important;overflow:visible!important}
.transfer-main{min-width:0}.transfer-header-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px 10px!important;padding-bottom:7px}.transfer-header-grid label{font-size:11.5px!important}.transfer-header-grid input,.transfer-header-grid select{height:38px!important;min-height:38px!important}
.transfer-detail-section{border-top:1px solid var(--line);padding-top:6px}.transfer-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;margin-bottom:4px}.transfer-detail-toolbar>strong{font-size:12px}.transfer-scan-box{display:grid;grid-template-columns:minmax(230px,390px) auto;gap:6px;align-items:center}.transfer-scan-box input{height:38px!important;margin:0!important}.transfer-scan-box>span{display:grid;place-items:center;min-width:50px;height:38px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:#f7f9f6;font-size:11px;font-weight:700}
.transfer-message{margin:0 0 5px;padding:7px 9px;border-radius:8px;background:#fff1f1;color:#9d3434;font-size:10px}.transfer-message.warning{background:#fff8df;color:#806316}.transfer-table-wrap{min-height:330px;max-height:calc(100vh - 285px);overflow:auto}.transfer-table{min-width:700px}.transfer-table thead th{position:sticky;top:0;z-index:3}.transfer-table tr.is-received-scan{background:#eaf3e7!important}.transfer-remove{width:44px;text-align:center!important}.transfer-remove button{width:28px;height:28px;padding:0;border:1px solid #edc5c5;border-radius:7px;background:#fff4f4;color:#b64242;cursor:pointer}
.transfer-action-rail{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:100%;padding:5px 3px;border:1px solid var(--line);border-radius:10px;background:#f8faf7}.transfer-rail-button,.transfer-transit-icon,.transfer-received-icon{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:0!important;border-radius:8px!important}.transfer-rail-button .ui-icon,.transfer-received-icon .ui-icon{width:24px;height:24px}.transfer-rail-separator{width:28px;height:1px;margin-top:auto;background:var(--line)}.transfer-final-button{display:grid;place-items:center;border:0;background:#75a632;color:#fff;cursor:pointer}.transfer-final-button:disabled{opacity:.35;cursor:not-allowed}.transfer-transit-icon,.transfer-received-icon{display:grid;place-items:center;background:#eef2eb;font-size:18px}.transfer-received-icon{background:#e4f1df;color:#2f6c2d}
.transfer-status{display:inline-block;padding:3px 7px;border-radius:999px;font-size:8px;font-weight:700}.transfer-status.draft{background:#eef0ed}.transfer-status.in_transit{background:#fff2ce;color:#825f14}.transfer-status.received{background:#e3f0df;color:#366e30}
.transfer-refill-recommendation{margin:0 0 6px;padding:7px 8px;border:1px solid #cad8c2;border-radius:9px;background:#f6faf3}.transfer-refill-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}.transfer-refill-head strong{font-size:9px;letter-spacing:.3px}.transfer-refill-head span{font-size:9px;color:var(--muted)}.transfer-refill-scroll{display:flex;gap:5px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.transfer-refill-item{flex:0 0 auto;min-width:145px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:#fff}.transfer-refill-item b,.transfer-refill-item span{display:block}.transfer-refill-item b{font-size:9px}.transfer-refill-item span{margin-top:2px;font-size:8px;color:var(--muted)}

html[data-theme="dark"] .work-center-trigger,html[data-theme="dark"] .transfer-action-rail,html[data-theme="dark"] .transfer-scan-box>span,html[data-theme="dark"] .damage-product-summary{border-color:#34463f;background:#17211e;color:#e7efec}
html[data-theme="dark"] .work-center.has-work .work-center-trigger{background:#203226;border-color:#56744b}html[data-theme="dark"] .work-center-panel{background:#17211e;border-color:#34463f}html[data-theme="dark"] .work-center-panel>header{border-color:#34463f}html[data-theme="dark"] .work-center-panel>header button{background:#26342f;color:#e7efec}html[data-theme="dark"] .work-center-item:hover{background:#22302b}
html[data-theme="dark"] .transfer-refill-recommendation{background:#1b2922;border-color:#425944}html[data-theme="dark"] .transfer-refill-item{background:#15201c;border-color:#34463f}html[data-theme="dark"] .damage-inline{background:#3a2222;color:#efaaaa}

@media(max-width:1050px){.damage-layout{grid-template-columns:1fr}.transfer-header-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.transfer-form{grid-template-columns:1fr!important}.transfer-action-rail{order:-1;min-height:0;flex-direction:row;justify-content:flex-end}.transfer-rail-separator{width:1px;height:28px;margin:0}.transfer-header-grid{grid-template-columns:1fr!important}.transfer-detail-toolbar{align-items:flex-start;flex-direction:column}.transfer-scan-box{width:100%;grid-template-columns:minmax(0,1fr) auto}}
.transfer-refill-item.is-scanned{border-color:#77a655;background:#eaf4e4;opacity:.72}.transfer-refill-item.is-scanned::after{content:'SUDAH SCAN';display:block;margin-top:3px;font-size:7px;font-weight:700;color:#477433}
html[data-theme="dark"] .transfer-refill-item.is-scanned{background:#223924;border-color:#567d4b}

/* =========================================================
   V135 - DAMAGE LIST + RECEIVE LOCATION GUARD + SCANNER UX
   ========================================================= */

/* Barang Rusak search: one compact, aligned control. */
.damage-search-form{
    display:flex;
    justify-content:flex-start;
    margin:0 0 7px;
}
.damage-search-group{
    display:grid;
    grid-template-columns:minmax(220px,360px) 40px;
    align-items:stretch;
    width:min(100%,400px);
}
.damage-search-group input{
    height:40px;
    min-height:40px;
    margin:0!important;
    border:1px solid var(--line);
    border-right:0;
    border-radius:8px 0 0 8px!important;
    font-size:13px;
}
.damage-search-button{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
    border:1px solid var(--line)!important;
    border-radius:0 8px 8px 0!important;
    background:#f7f9f6!important;
    color:var(--ink)!important;
}
.damage-search-button .ui-icon{width:20px;height:20px}

/* Main list stays compact; long note is ellipsized and full text lives in expand row. */
.damage-list-row{cursor:pointer}
.damage-list-row:focus-visible{outline:2px solid #6f9b56;outline-offset:-2px}
.damage-note-cell{max-width:260px}
.damage-note-cell>span{
    display:block;
    max-width:260px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.damage-list-detail-row[hidden]{display:none!important}
.damage-list-detail-row>td{
    padding:0!important;
    border-top:0!important;
    background:#f8faf7!important;
}
.damage-list-detail{
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(0,auto);
    gap:10px;
    padding:10px 12px 12px;
    border-top:1px solid var(--line);
}
.damage-list-full-note{min-width:0}
.damage-list-full-note small{
    display:block;
    margin-bottom:4px;
    font-size:7px;
    letter-spacing:.7px;
    color:var(--muted);
}
.damage-list-full-note p{
    margin:0;
    max-height:140px;
    overflow:auto;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    font-size:12px;
    line-height:1.45;
}
.damage-list-photo-strip{
    display:flex;
    gap:6px;
    max-width:440px;
    overflow-x:auto;
    padding-bottom:2px;
    scrollbar-width:thin;
}
.damage-list-photo-thumb{
    flex:0 0 78px;
    width:78px;
    height:78px;
    padding:0;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    cursor:zoom-in;
}
.damage-list-photo-thumb img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.damage-list-photo-dialog{
    width:min(900px,calc(100vw - 36px));
    height:min(760px,calc(100vh - 36px));
    padding:0;
    border:0;
    border-radius:12px;
    overflow:hidden;
    background:#101815;
    box-shadow:0 24px 80px rgba(0,0,0,.4);
}
.damage-list-photo-dialog::backdrop{background:rgba(5,13,11,.72)}
.damage-list-photo-dialog header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:48px;
    padding:0 10px 0 14px;
    background:#fff;
}
.damage-list-photo-dialog header strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12px;
}
.damage-list-photo-dialog header button{
    width:34px;
    height:34px;
    padding:0;
    border:0;
    border-radius:8px;
    background:#edf0ec;
    font-size:20px;
    cursor:pointer;
}
.damage-list-photo-stage{
    display:grid;
    width:100%;
    height:calc(100% - 48px);
    place-items:center;
    overflow:auto;
}
.damage-list-photo-stage img{
    display:block;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
}

/* Scanner field is focusable even for employee, while JS still blocks manual characters. */
input[data-secure-barcode]:focus,
input[data-secure-barcode].is-scanner-focused{
    outline:2px solid rgba(53,103,80,.22)!important;
    border-color:#356750!important;
    box-shadow:0 0 0 2px rgba(53,103,80,.08)!important;
}

/* Read-only transfer header must still look like data, not disabled/unselected controls. */
.transfer-header-grid input[readonly]{
    background:#fbfcfa;
    color:var(--ink);
    cursor:default;
}

html[data-theme="dark"] .damage-search-button,
html[data-theme="dark"] .damage-list-detail-row>td{
    background:#17211e!important;
    border-color:#35453f!important;
    color:#e7efec!important;
}
html[data-theme="dark"] .damage-list-photo-dialog header{
    background:#17211e;
    color:#e7efec;
}
html[data-theme="dark"] .damage-list-photo-dialog header button{
    background:#26342f;
    color:#e7efec;
}
html[data-theme="dark"] .transfer-header-grid input[readonly]{
    background:#111a17;
    color:#e7efec;
}

@media(max-width:800px){
    .damage-list-detail{grid-template-columns:1fr}
    .damage-list-photo-strip{max-width:100%}
}

/* =========================================================
   V137 - GLOBAL UNIT / LOCATION WORKSPACE ISOLATION
   ========================================================= */
.workspace-host.is-context-switching .workspace-tab-strip,
.workspace-host.is-context-switching .workspace-panels{
    visibility:hidden!important;
}
.workspace-host.is-context-switching{
    pointer-events:none!important;
}

/* =========================================================
   V140 - CARI BARANG DAMAGE DETAIL
   ========================================================= */

/* Barcode rusak selalu menonjol di dalam detail barcode. */
.item-search-barcode-table tbody tr.item-search-damaged-barcode-row{
    background:#fde8e8!important;
    color:#7e2424;
    cursor:pointer;
}
.item-search-barcode-table tbody tr.item-search-damaged-barcode-row:hover{
    background:#fbdada!important;
}
.item-search-barcode-table tbody tr.item-search-damaged-barcode-row td{
    border-bottom-color:#efc5c5!important;
}
.item-search-barcode-table .damage-inline{
    display:inline-flex;
    align-items:center;
    min-height:22px;
    padding:2px 7px;
    border-radius:999px;
    background:#f7caca;
    color:#8c2525;
    font-size:9px;
    font-weight:700;
    letter-spacing:.35px;
}

/* Detail rusak muncul tepat di bawah barcode yang diklik. */
.item-search-damage-detail-row td{
    padding:0!important;
    background:#fff7f7!important;
}
.item-search-damage-detail{
    display:grid;
    grid-template-columns:minmax(220px,1fr) auto;
    gap:10px;
    padding:9px 10px;
    border-top:1px solid #efcccc;
}
.item-search-damage-note{
    min-width:0;
}
.item-search-damage-note small{
    display:block;
    margin-bottom:3px;
    font-size:7px;
    letter-spacing:.55px;
    color:#9a5a5a;
}
.item-search-damage-note p{
    max-height:92px;
    margin:0;
    overflow:auto;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    font-size:12px;
    line-height:1.45;
    color:#542d2d;
}
.item-search-damage-photos{
    display:flex;
    gap:6px;
    max-width:390px;
    overflow-x:auto;
}
.item-search-damage-photo{
    flex:0 0 70px;
    width:70px;
    height:70px;
    padding:0;
    overflow:hidden;
    border:1px solid #e5bcbc;
    border-radius:8px;
    background:#fff;
    cursor:pointer;
}
.item-search-damage-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

/* Damage photo viewer. */
.item-search-damage-photo-viewer{
    position:fixed;
    inset:0;
    z-index:9990;
    display:grid;
    place-items:center;
    padding:24px;
    background:rgba(8,18,15,.7);
}
.item-search-damage-photo-viewer[hidden]{
    display:none!important;
}
.item-search-damage-photo-window{
    width:min(900px,94vw);
    max-height:90vh;
    overflow:hidden;
    border-radius:12px;
    background:#fff;
    box-shadow:0 24px 80px rgba(0,0,0,.34);
}
.item-search-damage-photo-window header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    height:44px;
    padding:0 12px;
    border-bottom:1px solid var(--line);
}
.item-search-damage-photo-window header strong{
    font-size:12px;
}
.item-search-damage-photo-window header button{
    width:32px;
    height:32px;
    padding:0;
    border:0;
    border-radius:7px;
    background:#eef1ed;
    cursor:pointer;
    font-size:18px;
}
.item-search-damage-photo-stage{
    display:grid;
    place-items:center;
    max-height:calc(90vh - 44px);
    overflow:auto;
    padding:12px;
}
.item-search-damage-photo-stage img{
    max-width:100%;
    max-height:calc(90vh - 70px);
    object-fit:contain;
}

/* Dark */
html[data-theme="dark"] .item-search-barcode-table tbody tr.item-search-damaged-barcode-row{
    background:#472828!important;
    color:#f1b1b1;
}
html[data-theme="dark"] .item-search-barcode-table tbody tr.item-search-damaged-barcode-row:hover{
    background:#553030!important;
}
html[data-theme="dark"] .item-search-barcode-table .damage-inline{
    background:#663232;
    color:#ffc0c0;
}
html[data-theme="dark"] .item-search-damage-detail-row td{
    background:#2b1d1d!important;
}
html[data-theme="dark"] .item-search-damage-note p{
    color:#f1cccc;
}
html[data-theme="dark"] .item-search-damage-photo-window{
    background:#17211e;
    color:#eaf0ee;
}
html[data-theme="dark"] .item-search-damage-photo-window header button{
    background:#26342f;
    color:#e7efec;
}

@media(max-width:760px){
    .item-search-damage-detail{
        grid-template-columns:1fr;
    }
    .item-search-damage-photos{
        max-width:100%;
    }
}

/* =========================================================
   V141 - AUTO SCROLL + HIGHLIGHT PENERIMAAN MUTASI
   ========================================================= */
.transfer-table tbody tr.is-receive-current{
    position:relative;
    z-index:2;
    background:#dcefd3!important;
    box-shadow:inset 4px 0 0 #6e9f37, inset 0 0 0 1px #b9d9aa;
}
.transfer-table tbody tr.is-receive-current td{
    background:transparent!important;
}
html[data-theme="dark"] .transfer-table tbody tr.is-receive-current{
    background:#29432d!important;
    box-shadow:inset 4px 0 0 #8fbd5d, inset 0 0 0 1px #45684a;
}

/* =========================================================
   V142 - RUSAK SEBAGAI GROUP TERPISAH DI CARI BARANG
   ========================================================= */
.item-search-status-col{
    width:92px;
}
.item-search-group-row.item-search-damaged-group-row{
    background:#f9dede!important;
    color:#792727;
    box-shadow:inset 4px 0 0 #c84b4b!important;
}
.item-search-group-row.item-search-damaged-group-row:hover,
.item-search-group-row.item-search-damaged-group-row[aria-expanded="true"]{
    background:#f5d0d0!important;
}
.item-search-group-row.item-search-damaged-group-row td{
    border-bottom-color:#e9baba!important;
}
.item-search-group-damage-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:22px;
    padding:2px 8px;
    border-radius:999px;
    background:#efbcbc;
    color:#8c2525;
    font-size:9px;
    font-weight:700;
    letter-spacing:.35px;
}

html[data-theme="dark"] .item-search-group-row.item-search-damaged-group-row{
    background:#472828!important;
    color:#f1b1b1;
    box-shadow:inset 4px 0 0 #b95c5c!important;
}
html[data-theme="dark"] .item-search-group-row.item-search-damaged-group-row:hover,
html[data-theme="dark"] .item-search-group-row.item-search-damaged-group-row[aria-expanded="true"]{
    background:#553030!important;
}
html[data-theme="dark"] .item-search-group-damage-badge{
    background:#663232;
    color:#ffc0c0;
}

/* =========================================================
   V143 - BARANG RUSAK EDIT + FULL EXPAND GROUP RUSAK
   ========================================================= */
.damage-scan-info{
    display:block;
    min-height:16px;
    margin-top:3px;
    font-size:9px;
    line-height:1.35;
}
.damage-scan-info.error{color:#b33b3b}
.damage-scan-info.success{color:#39783b}

.damage-barcode-edit-cell{padding:0!important}
.damage-barcode-edit-button{
    width:100%;
    min-height:42px;
    padding:8px 12px;
    border:0;
    background:transparent;
    color:inherit;
    font:inherit;
    font-weight:700;
    text-align:left;
    cursor:pointer;
}
.damage-barcode-edit-button:hover{text-decoration:underline}
.damage-list-row.is-editing-damage{
    box-shadow:inset 4px 0 0 #315f4e;
}

.damage-edit-photo-preview{
    display:flex;
    gap:7px;
    max-width:100%;
    overflow-x:auto;
    padding:2px 0 4px;
}
.damage-edit-photo-card{
    position:relative;
    flex:0 0 82px;
    width:82px;
    height:82px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
}
.damage-edit-photo-card.is-new{border-style:dashed}
.damage-edit-photo-card img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.damage-edit-photo-card button{
    position:absolute;
    top:4px;
    right:4px;
    width:22px;
    height:22px;
    padding:0;
    border:0;
    border-radius:999px;
    background:rgba(116,28,28,.88);
    color:#fff;
    font-size:15px;
    line-height:1;
    cursor:pointer;
}
.damage-entry-actions{
    display:flex!important;
    justify-content:flex-end;
    gap:6px;
}
.damage-entry-actions .secondary,
.damage-entry-actions .primary{
    min-height:40px;
}
.damage-entry-card input[readonly][data-damage-barcode]{
    background:#eef2ee!important;
    cursor:default;
}
html[data-theme="dark"] .damage-entry-card input[readonly][data-damage-barcode]{
    background:#1d2824!important;
}
html[data-theme="dark"] .damage-edit-photo-card{
    border-color:#3d4d48;
    background:#17211e;
}

/* Main damaged group stays clearly red; full details open on first click. */
.item-search-group-row.item-search-damaged-group-row{
    background:#f7d6d6!important;
    color:#782626!important;
    box-shadow:inset 4px 0 0 #c24343!important;
}
.item-search-group-row.item-search-damaged-group-row[aria-expanded="true"]{
    background:#f1c8c8!important;
}
html[data-theme="dark"] .item-search-group-row.item-search-damaged-group-row{
    background:#472626!important;
    color:#f2b5b5!important;
}
html[data-theme="dark"] .item-search-group-row.item-search-damaged-group-row[aria-expanded="true"]{
    background:#563030!important;
}

/* =========================================================
   V144 - SETIAP BARCODE RUSAK = SATU ROW UTAMA
   ========================================================= */
.item-search-status-col{
    width:28%;
    min-width:210px;
}
.item-search-group-damage-note{
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
}
.item-search-group-damage-note>span:last-child{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11.5px;
    color:#742c2c;
}
.item-search-group-row.item-search-damaged-group-row{
    background:#f6d5d5!important;
    color:#702626!important;
}
.item-search-group-row.item-search-damaged-group-row .item-search-qty-col{
    font-weight:700;
    color:#8d2d2d;
}
html[data-theme="dark"] .item-search-group-damage-note>span:last-child{
    color:#efbcbc;
}

/* =========================================================
   V147 - REFILL BARANG TOKO / PICK LIST ONLY
   ========================================================= */
.refill-store-page{
    display:grid;
    gap:7px;
}
.refill-store-filter{
    display:flex;
    align-items:end;
    gap:10px;
    padding:9px 10px!important;
}
.refill-store-origin,
.refill-store-destination-locked{
    display:grid;
    gap:2px;
    min-width:220px;
    min-height:38px;
    padding:6px 9px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#f8faf7;
}
.refill-store-origin small,
.refill-store-destination-locked small{
    font-size:7px;
    letter-spacing:.55px;
    color:var(--muted);
}
.refill-store-origin strong,
.refill-store-destination-locked strong{
    font-size:12px;
}
.refill-store-destination-form{
    width:min(460px,100%);
}
.refill-store-destination-form label{
    display:grid;
    gap:4px;
    font-size:11px;
    font-weight:700;
}
.refill-store-destination-form select{
    height:38px;
}
.refill-store-selection{
    display:grid;
    gap:7px;
}
.refill-store-toolbar{
    position:sticky;
    top:0;
    z-index:5;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:46px;
    padding:5px 9px;
    border:1px solid var(--line);
    border-radius:9px;
    background:var(--panel,#fff);
}
.refill-store-select-all{
    display:flex;
    align-items:center;
    gap:7px;
    font-size:11px;
    font-weight:700;
    cursor:pointer;
}
.refill-store-select-all input,
.refill-style-head input{
    width:17px;
    height:17px;
    accent-color:#164c3e;
}
.refill-store-toolbar-right{
    display:flex;
    align-items:center;
    gap:8px;
}
.refill-store-selected-count{
    font-size:10px;
    color:var(--muted);
}
.refill-store-print-button{
    min-height:38px!important;
}
.refill-store-print-button:disabled{
    opacity:.45;
    cursor:not-allowed;
}
.refill-style-card{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
}
.refill-style-head{
    min-height:43px;
    padding:6px 10px;
    border-bottom:1px solid var(--line);
    background:#f3f6f1;
}
.refill-style-head label{
    display:flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
}
.refill-style-head label>span{
    display:flex;
    align-items:baseline;
    gap:8px;
}
.refill-style-head strong{
    font-size:12.5px;
}
.refill-style-head small{
    font-size:9px;
    color:var(--muted);
}
.refill-style-table-wrap{
    overflow:auto;
}
.refill-style-table{
    min-width:720px;
}
.refill-style-table th,
.refill-style-table td{
    padding-top:7px!important;
    padding-bottom:7px!important;
}
.refill-style-table th:nth-child(2),
.refill-style-table td:nth-child(2){
    width:100px;
}
.refill-style-table th:nth-child(3),
.refill-style-table td:nth-child(3){
    width:220px;
}
.refill-style-table th:nth-child(4),
.refill-style-table td:nth-child(4){
    width:170px;
}
.refill-store-empty{
    display:grid;
    min-height:180px;
    place-items:center;
    border:1px dashed var(--line);
    border-radius:10px;
    color:var(--muted);
    font-size:12px;
}
html[data-theme="dark"] .refill-store-origin,
html[data-theme="dark"] .refill-store-destination-locked,
html[data-theme="dark"] .refill-style-card,
html[data-theme="dark"] .refill-store-toolbar{
    background:#17211e;
    border-color:#35453f;
}
html[data-theme="dark"] .refill-style-head{
    background:#202d28;
    border-color:#35453f;
}
@media(max-width:760px){
    .refill-store-filter{
        align-items:stretch;
        flex-direction:column;
    }
    .refill-store-origin,
    .refill-store-destination-locked,
    .refill-store-destination-form{
        width:100%;
        min-width:0;
    }
}

/* =========================================================
   V149 - REFILL CHECKBOX PER BARCODE
   ========================================================= */
.refill-select-col{
    width:42px!important;
    min-width:42px!important;
    text-align:center!important;
}
.refill-select-col input[type="checkbox"]{
    width:17px;
    height:17px;
    margin:0;
    accent-color:#164c3e;
    cursor:pointer;
}
.refill-style-table th:nth-child(2),
.refill-style-table td:nth-child(2){
    width:auto;
}
.refill-style-table th:nth-child(3),
.refill-style-table td:nth-child(3){
    width:100px;
}
.refill-style-table th:nth-child(4),
.refill-style-table td:nth-child(4){
    width:220px;
}
.refill-style-table th:nth-child(5),
.refill-style-table td:nth-child(5){
    width:170px;
}

/* =========================================================
   V154 - POS
   ========================================================= */
.workspace-host.pos-open .workspace-tab-strip,
.workspace-host.pos-open .workspace-panels{display:none!important}
.pos-host-overlay{position:absolute;inset:0;z-index:80;background:var(--page-bg,#f5f4ef)}
.pos-host-frame{display:block;width:100%;height:100%;border:0;background:transparent}

.pos-screen{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:8px;height:calc(100vh - 16px);padding:8px}
.pos-screen-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.pos-screen-head>div{display:flex;align-items:baseline;gap:10px}.pos-screen-head strong{font-size:18px}.pos-screen-head small{font-size:10px;color:var(--muted)}
.pos-close-button{min-height:38px;padding:0 16px;border:1px solid #c9d0cc;border-radius:8px;background:#fff;font-weight:800;cursor:pointer}
.pos-scan-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.pos-scan-bar input{height:52px!important;border:2px solid #174c3f!important;border-radius:10px!important;font-size:20px!important;font-weight:700;padding:0 16px!important}
.pos-inline-message{min-width:280px;font-size:11px;font-weight:700}.pos-inline-message.error{color:#b73333}.pos-inline-message.warning{color:#9a6813}.pos-inline-message.success{color:#2d7b3f}.pos-inline-message.info{color:#315f77}

.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:8px;min-height:0}
.pos-product-panel{display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:8px;min-height:0}
.pos-product-photo{grid-row:1/3;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;min-height:0}
.pos-product-photo img{width:100%;height:100%;object-fit:contain}.pos-product-photo span{font-size:11px;color:var(--muted)}
.pos-last-product{min-height:66px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;align-content:center;gap:3px}
.pos-last-product strong{font-size:17px}.pos-last-product span{font-size:12px;color:var(--muted)}
.pos-cart-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
.pos-cart{width:100%;border-collapse:collapse}.pos-cart th{position:sticky;top:0;z-index:2;background:#eef2ec;padding:9px 8px;font-size:9px;letter-spacing:.45px;text-align:left}
.pos-cart td{padding:9px 8px;border-top:1px solid #e7eae6;font-size:12px;vertical-align:middle}.pos-cart tbody tr:nth-child(even){background:#eef4e9}.pos-cart td small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.pos-cart td input{width:120px;height:36px}
.pos-cart tr.is-damaged-pos{background:#f8dede!important}.pos-remove-item{width:34px;height:34px;border:1px solid #efbcbc;border-radius:8px;background:#fff3f3;color:#a62d2d;font-size:18px;cursor:pointer}

.pos-receipt-preview{min-height:0;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#dfe3df;padding:10px}
.pos-receipt-paper{width:100%;min-height:100%;padding:12px 10px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08);display:flex;flex-direction:column;align-items:stretch;text-align:center;font-family:Arial,sans-serif;font-size:10px}
.pos-preview-logo{max-width:120px;max-height:60px;object-fit:contain;margin:0 auto 4px}.pos-preview-store{font-size:14px}.pos-receipt-paper>span,.pos-receipt-paper>p{margin:2px 0}.pos-receipt-paper hr{width:100%;border:0;border-top:1px dashed #555;margin:7px 0}
.pos-preview-line,.pos-preview-total,.pos-preview-payment{display:flex;justify-content:space-between;gap:8px;text-align:left}.pos-preview-line{padding:3px 0}.pos-preview-line span{min-width:0;overflow-wrap:anywhere}.pos-preview-line strong{white-space:nowrap}.pos-preview-total{font-size:14px}.pos-preview-campaign{max-width:150px;max-height:110px;object-fit:contain;margin:5px auto}

.pos-actions{display:grid;grid-template-columns:minmax(0,1fr) 210px 250px;gap:8px;min-height:82px}
.pos-payment-box{display:grid;grid-template-columns:180px 220px 180px;align-items:end;gap:8px;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:#fff}
.pos-payment-box label{display:grid;gap:3px;font-size:10px;font-weight:700}.pos-payment-box select,.pos-payment-box input{height:42px;font-size:16px}
.pos-change-box{display:grid;gap:3px}.pos-change-box small{font-size:9px}.pos-change-box strong{font-size:20px}
.pos-big-button{border:0;border-radius:10px;font-size:16px;font-weight:800;cursor:pointer}.pos-big-button.primary{background:#124b3d;color:#fff}.pos-big-button.primary:disabled{opacity:.4}.pos-big-button.muted{background:#e7ebe7;color:#25332e}

.pos-printer-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pos-return-page{display:grid;gap:8px}.is-return-selected{background:#e5f1de!important}

html[data-theme="dark"] .pos-screen-head,
html[data-theme="dark"] .pos-product-photo,
html[data-theme="dark"] .pos-last-product,
html[data-theme="dark"] .pos-cart-wrap,
html[data-theme="dark"] .pos-payment-box{background:#17211e;border-color:#35453f}
html[data-theme="dark"] .pos-cart th{background:#22312b}
html[data-theme="dark"] .pos-cart tbody tr:nth-child(even){background:#1e2a26}
html[data-theme="dark"] .pos-receipt-preview{background:#111814}
html[data-theme="dark"] .pos-receipt-paper{background:#fff;color:#000}

@media(max-width:1100px){
 .pos-layout{grid-template-columns:minmax(0,1fr) 270px}.pos-product-panel{grid-template-columns:170px minmax(0,1fr)}.pos-actions{grid-template-columns:1fr 180px 210px}.pos-payment-box{grid-template-columns:1fr 1fr 140px}
}
@media(max-width:800px){
 .pos-screen{height:auto;min-height:calc(100vh - 16px)}.pos-layout{grid-template-columns:1fr}.pos-product-panel{grid-template-columns:130px minmax(0,1fr)}.pos-receipt-preview{max-height:340px}.pos-actions{grid-template-columns:1fr 1fr}.pos-payment-box{grid-column:1/-1;grid-template-columns:1fr 1fr 1fr}.pos-scan-bar{grid-template-columns:1fr}.pos-inline-message{min-width:0}
}

.workspace-host{position:relative}

/* =========================================================
   V155 - POS UX refinement
   ========================================================= */
.sidebar-menu-panel{
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(200,232,107,.38) transparent;
}
.sidebar-menu-panel::-webkit-scrollbar{width:7px}
.sidebar-menu-panel::-webkit-scrollbar-thumb{background:rgba(200,232,107,.30);border-radius:999px}
.sidebar-menu-panel::-webkit-scrollbar-track{background:transparent}
.sidebar-menu-panel>header{position:sticky;top:-18px;z-index:4;background:#12372f;padding-top:18px}

.pos-screen{grid-template-rows:auto auto minmax(0,1fr) auto}
.pos-scan-bar{display:grid;grid-template-columns:1fr;gap:3px;width:100%}
.pos-scan-bar input{width:100%!important;min-width:0}
.pos-inline-message{min-width:0;min-height:16px;padding:0 4px;font-size:10px}
.pos-layout{grid-template-columns:240px minmax(0,1fr) 300px;align-items:stretch}
.pos-product-summary{display:flex;flex-direction:column;gap:8px;min-width:0}
.pos-product-photo{width:100%;aspect-ratio:1/1;grid-row:auto!important;min-height:0!important;flex:0 0 auto}
.pos-product-photo img{width:100%;height:100%;object-fit:contain}
.pos-last-product{min-height:84px;align-content:start}
.pos-cart-wrap{min-height:0}
.pos-actions{grid-template-columns:minmax(190px,1fr) 220px 280px}
.pos-payment-box{grid-template-columns:minmax(180px,260px);align-items:center}
.pos-payment-box select{height:48px;font-size:18px;font-weight:700}
.pos-receipt-paper .pos-preview-payment{margin-top:4px}

.pos-setting-layout,.pos-campaign-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:10px;align-items:start}
.pos-settings-preview-card{position:sticky;top:8px;border:1px solid var(--line);border-radius:10px;background:#dde2de;padding:10px;min-height:420px}
.pos-settings-receipt{width:100%;min-height:400px;background:#fff;color:#000;padding:14px 12px;font-family:Arial,sans-serif;font-size:10px;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.07)}
.pos-settings-receipt img{display:block;max-width:130px;max-height:75px;object-fit:contain;margin:0 auto 5px}
.pos-settings-receipt .store-name{font-size:15px;font-weight:700}
.pos-settings-receipt p{margin:3px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.pos-settings-receipt hr{border:0;border-top:1px dashed #555;margin:7px 0}
.pos-settings-receipt .sample-item,.pos-settings-receipt .sample-total{display:flex;justify-content:space-between;gap:8px;text-align:left;padding:2px 0}
.pos-settings-receipt .sample-total{font-size:13px;font-weight:700}
.pos-campaign-preview-image{max-width:190px!important;max-height:140px!important;margin-top:8px!important}

.pos-sales-layout{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:10px;align-items:start}
.pos-sales-left{min-width:0}
.pos-sales-search{display:flex;align-items:center;gap:6px;margin-bottom:7px}
.pos-sales-search input{height:38px;max-width:420px;flex:1}
.pos-sales-table tbody tr[data-pos-sale-row]{cursor:pointer}
.pos-sales-table tbody tr[data-pos-sale-row]:hover{outline:1px solid rgba(21,76,62,.20);outline-offset:-1px}
.pos-sales-table tbody tr.is-selected{background:#dfead9!important}
.pos-sale-preview{position:sticky;top:8px;min-height:360px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.pos-sale-preview-empty{display:grid;place-items:center;min-height:360px;color:var(--muted);font-size:12px}
.pos-sale-preview-body{padding:10px}
.pos-sale-preview-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding-bottom:8px;border-bottom:1px solid var(--line)}
.pos-sale-preview-head strong{font-size:15px}.pos-sale-preview-meta{font-size:10px;color:var(--muted)}
.pos-sale-preview-items{max-height:380px;overflow:auto;margin-top:7px}
.pos-sale-preview-item{padding:7px 0;border-bottom:1px solid #e7eae6}
.pos-sale-preview-item>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:700}
.pos-sale-preview-item small{display:block;margin-top:2px;color:var(--muted);font-size:9px}
.pos-sale-preview-totals{display:grid;gap:3px;padding-top:8px;font-size:11px}.pos-sale-preview-total{display:flex;justify-content:space-between;font-size:14px;font-weight:800}
.pos-sale-preview-actions{display:flex;justify-content:flex-end;padding-top:9px}

.pos-return-page{max-width:1100px}
.pos-return-scan-card{display:grid;grid-template-columns:minmax(0,1fr);gap:5px}
.pos-return-scan-card input{height:48px!important;font-size:18px!important;font-weight:700}
.pos-return-item-card{display:grid;grid-template-columns:1fr 220px;gap:8px;align-items:start}
.pos-return-item-info{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pos-return-item-info>div{display:grid;gap:2px}.pos-return-item-info small{font-size:8px;color:var(--muted);letter-spacing:.05em}.pos-return-item-info strong{font-size:12px;overflow-wrap:anywhere}
.pos-return-side{display:grid;gap:8px}.pos-return-side textarea{min-height:84px}
.pos-return-save{min-height:48px;font-size:14px;font-weight:800}

.pos-printer-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.pos-printer-row .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.pos-printer-bridge-status{min-height:38px;display:flex;align-items:center;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#f5f7f4;font-size:10px;font-weight:700}
.pos-printer-bridge-status.is-ready{background:#e4f0dc;color:#205f32}
.pos-printer-detect{height:38px;white-space:nowrap}

html[data-theme="dark"] .pos-settings-preview-card{background:#111814;border-color:#35453f}
html[data-theme="dark"] .pos-sale-preview,html[data-theme="dark"] .pos-return-item-info{background:#17211e;border-color:#35453f}
html[data-theme="dark"] .pos-printer-bridge-status{background:#202d28;border-color:#35453f}

@media(max-width:1180px){
 .pos-layout{grid-template-columns:200px minmax(0,1fr) 270px}
 .pos-sales-layout{grid-template-columns:minmax(0,1fr) 360px}
}
@media(max-width:900px){
 .pos-setting-layout,.pos-campaign-layout,.pos-sales-layout{grid-template-columns:1fr}
 .pos-settings-preview-card,.pos-sale-preview{position:static}
 .pos-return-item-card{grid-template-columns:1fr}
 .pos-printer-row .form-grid{grid-template-columns:1fr 1fr}
}


/* =========================================================
   V156 - POS ADMIN / RETUR FULL WIDTH POLISH
   ========================================================= */
.pos-return-page{max-width:none!important;width:100%;display:grid;gap:8px}
.pos-return-item-card{display:grid!important;grid-template-columns:1fr!important;gap:8px;align-items:stretch;width:100%}
.pos-return-item-info{width:100%;grid-template-columns:repeat(6,minmax(0,1fr));padding:10px 12px}
.pos-return-reason{display:grid;gap:5px;width:100%;font-size:12px;font-weight:700}
.pos-return-reason textarea{width:100%;min-height:96px;resize:vertical}
.pos-return-actions{display:flex;justify-content:flex-end}
.pos-return-save{min-width:190px;min-height:44px}
.pos-return-history-card{width:100%;overflow:hidden}
.pos-return-history-card .section-title-row{padding:7px 10px;margin:0;border-bottom:1px solid var(--line)}
.pos-return-history-wrap{width:100%;overflow:auto;max-height:calc(100vh - 500px);min-height:160px}
.pos-return-history-wrap .master-table{min-width:1250px}
.pos-return-history-wrap .master-table thead th{position:sticky;top:0;z-index:2}

.pos-printer-settings-grid{display:grid!important;grid-template-columns:1fr!important;gap:8px;width:100%}
.pos-printer-row{display:grid!important;grid-template-columns:1fr!important;gap:9px;align-items:stretch;width:100%;padding:13px 14px!important}
.pos-printer-title{font-size:17px;min-height:28px;display:flex;align-items:center;border-bottom:1px solid var(--line);padding-bottom:7px}
.pos-printer-fields{display:grid;grid-template-columns:180px minmax(320px,1fr) 180px;gap:12px;align-items:end;width:100%}
.pos-printer-fields label{display:grid;gap:4px;font-size:11px;font-weight:700;min-width:0}
.pos-printer-fields input,.pos-printer-fields select{width:100%;height:40px}
.pos-printer-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.pos-printer-footer .form-actions{margin:0;display:flex;gap:8px;justify-content:flex-end}
.pos-printer-bridge-status{width:100%}

.pos-setting-layout{grid-template-columns:minmax(0,1fr) 360px!important;gap:12px}
.pos-receipt-design-form{width:100%}
.pos-settings-preview-card{width:100%}
.pos-settings-receipt .pos-settings-logo-preview{display:block!important;width:100%!important;max-width:none!important;height:90px!important;max-height:none!important;object-fit:fill!important;margin:0 0 8px!important}
.pos-preview-logo{width:100%!important;max-width:none!important;height:64px!important;max-height:none!important;object-fit:fill!important;margin:0 0 5px!important}

.pos-campaign-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px!important;gap:12px;align-items:start}
.pos-campaign-form{display:grid;gap:10px;width:100%;padding:13px 14px!important}
.pos-campaign-fields{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(220px,1.2fr) minmax(155px,.8fr) minmax(155px,.8fr);gap:10px 12px;align-items:end}
.pos-campaign-fields label,.pos-campaign-text,.pos-campaign-file{display:grid;gap:4px;font-size:11px;font-weight:700;min-width:0}
.pos-campaign-fields input,.pos-campaign-fields select{width:100%;height:40px}
.pos-campaign-text textarea{width:100%;min-height:94px;resize:vertical}
.pos-campaign-media-row{display:grid;grid-template-columns:minmax(300px,1fr) 120px auto;gap:12px;align-items:end;padding-top:2px}
.pos-campaign-file input{width:100%}
.pos-campaign-active{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:1px solid var(--line);border-radius:8px;background:#f6f8f5;font-size:11px;font-weight:700}
.pos-campaign-active input{width:18px!important;height:18px!important;margin:0!important;accent-color:#164c3e}
.pos-campaign-submit{height:40px;white-space:nowrap}
.pos-campaign-preview-card{min-height:405px}
.pos-campaign-receipt-preview{min-height:383px}
.pos-campaign-preview-title{display:block;font-size:12px;margin-top:2px}
.pos-campaign-preview-image{display:block;max-width:100%!important;width:auto!important;max-height:190px!important;object-fit:contain!important;margin:9px auto 0!important}
.pos-campaign-list{margin-top:10px}

html[data-theme="dark"] .pos-campaign-active{background:#202d28;border-color:#35453f}

@media(max-width:1180px){
 .pos-return-item-info{grid-template-columns:repeat(3,minmax(0,1fr))}
 .pos-printer-fields{grid-template-columns:160px minmax(260px,1fr) 150px}
 .pos-setting-layout,.pos-campaign-layout{grid-template-columns:minmax(0,1fr) 320px!important}
 .pos-campaign-fields{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
 .pos-return-item-info{grid-template-columns:1fr 1fr}
 .pos-printer-fields,.pos-printer-footer,.pos-campaign-media-row{grid-template-columns:1fr}
 .pos-printer-footer .form-actions{justify-content:stretch}.pos-printer-footer .form-actions>*{flex:1}
 .pos-setting-layout,.pos-campaign-layout{grid-template-columns:1fr!important}
 .pos-settings-preview-card{position:static}
 .pos-campaign-fields{grid-template-columns:1fr}
}

/* V157 - Cari Barang scope lokasi */
.item-search-filter-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:10px;
    max-width:none!important;
}
.item-search-all-locations{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    min-height:38px;
    margin:0!important;
    padding:0 4px 0 2px;
    white-space:nowrap;
    font-size:11px!important;
    font-weight:700;
    cursor:pointer;
}
.item-search-all-locations input{
    width:17px!important;
    height:17px!important;
    margin:0!important;
    accent-color:#164c3e;
}
@media(max-width:760px){
    .item-search-filter-card{grid-template-columns:1fr}
}

/* =========================================================
   V158 - POS / RETUR HEADER + NUMERIC DISCOUNT
   ========================================================= */
.pos-return-header-card,
.pos-return-detail-card{
    width:100%;
    padding:10px 12px!important;
}
.pos-return-header-card .section-title-row,
.pos-return-detail-card .section-title-row{
    margin:0 0 8px!important;
}
.pos-return-header-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px 12px;
}
.pos-return-header-grid label{
    display:grid;
    gap:4px;
    font-size:11px;
    font-weight:700;
}
.pos-return-header-grid input{
    width:100%;
    height:38px;
    font-size:13px;
    font-weight:700;
}
.pos-return-header-card .pos-return-reason{
    margin-top:9px;
}
.pos-return-header-card .pos-return-reason textarea{
    min-height:70px;
}
.pos-return-detail-title{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
}
.pos-return-detail-title span{
    font-size:10px;
    color:var(--muted);
    font-weight:700;
}
.pos-return-scan-row{
    width:100%;
    margin-bottom:5px;
}
.pos-return-scan-row input{
    width:100%;
    height:48px!important;
    border:2px solid #2f695a!important;
    border-radius:10px!important;
    padding:0 14px!important;
    font-size:18px!important;
    font-weight:700;
}
.pos-return-detail-wrap{
    width:100%;
    min-height:155px;
    max-height:calc(100vh - 610px);
    overflow:auto;
    border:1px solid var(--line);
    border-radius:9px;
}
.pos-return-detail-wrap .master-table{
    min-width:1000px;
}
.pos-return-detail-wrap .master-table thead th{
    position:sticky;
    top:0;
    z-index:2;
}
.pos-cart td input[data-pos-extra]{
    width:120px;
    height:36px;
    padding:0 10px;
    text-align:right;
    font-size:13px;
    font-weight:700;
}

@media(max-width:1100px){
    .pos-return-header-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
    .pos-return-header-grid{grid-template-columns:1fr}
}

/* =========================================================
   V159 - RETUR JUAL POS AS TRANSACTION MODULE
   ========================================================= */
.pos-return-transaction-card{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 54px;
    gap:8px;
    width:100%;
    min-height:calc(100vh - 250px);
    padding:8px 8px 8px 10px!important;
}
.pos-return-main{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px}
.pos-return-header-section{padding-bottom:8px;border-bottom:1px solid var(--line)}
.pos-return-header-grid{display:grid!important;grid-template-columns:190px minmax(0,1fr)!important;gap:8px 12px!important;align-items:end}
.pos-return-header-grid>label{min-width:0;display:block!important}
.pos-return-header-grid .pos-return-reason-field{grid-column:auto!important}
.pos-return-detail-section{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;min-height:0;gap:6px}
.pos-return-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px}
.pos-return-detail-toolbar>strong{font-size:14px}
.pos-return-detail-toolbar>span{font-size:11px;color:var(--muted)}
.pos-return-scan-box{display:grid;grid-template-columns:minmax(340px,520px) 52px;align-items:center;gap:6px;margin-left:auto}
.pos-return-scan-box input{height:42px!important;font-size:15px!important;font-weight:700}
.pos-return-scan-box>span{display:grid;place-items:center;height:42px;border:1px solid var(--line);border-radius:9px;background:var(--soft-bg,#f3f6f2);font-weight:800}
.pos-return-message{padding:7px 9px;border-radius:8px;font-size:11px;font-weight:700;background:#fff5cf;color:#735716}
.pos-return-message.error{background:#fde4e4;color:#a72e2e}
.pos-return-message.success{background:#e6f4df;color:#2c6b32}
.pos-return-source-sale{display:flex;align-items:center;gap:8px;padding:6px 9px;border:1px solid #d9e4d3;border-radius:8px;background:#f3f7f0}
.pos-return-source-sale span{font-size:8px;letter-spacing:.08em;color:var(--muted)}
.pos-return-source-sale strong{font-size:12px}.pos-return-source-sale small{font-size:10px;color:var(--muted)}
.pos-return-detail-grid{min-height:300px;height:calc(100vh - 430px);overflow:auto;border-radius:10px}
.pos-return-detail-grid .master-table{min-width:760px}
.pos-return-detail-grid .master-table thead th{position:sticky;top:0;z-index:2}
.pos-return-remove{width:32px;height:32px;border:1px solid #efbbbb;border-radius:7px;background:#fff4f4;color:#aa2f2f;font-size:17px;cursor:pointer}
.pos-return-row-focus{outline:2px solid #67a05e;outline-offset:-2px;background:#e8f5df!important}
.pos-return-summary{display:flex;justify-content:flex-end;gap:6px}
.pos-return-summary>div{min-width:135px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--soft-bg,#f5f7f4);display:grid;gap:2px}
.pos-return-summary small{font-size:8px;color:var(--muted);letter-spacing:.05em}.pos-return-summary strong{font-size:13px}
.pos-return-action-rail{display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:8px;padding:0 0 0 2px;border-left:1px solid var(--line)}
.pos-return-rail-button{width:46px;height:46px;margin-left:auto}
.pos-return-list-table td:nth-child(6){max-width:380px;white-space:normal}

html[data-theme="dark"] .pos-return-source-sale{background:#1b2923;border-color:#34483e}
html[data-theme="dark"] .pos-return-summary>div{background:#1a2421}

@media(max-width:900px){
    .pos-return-header-grid{grid-template-columns:1fr!important}
    .pos-return-scan-box{grid-template-columns:minmax(0,1fr) 48px;width:100%}
    .pos-return-detail-toolbar{align-items:stretch;flex-direction:column}
    .pos-return-transaction-card{grid-template-columns:1fr;min-height:auto}
    .pos-return-action-rail{border-left:0;border-top:1px solid var(--line);padding-top:8px;align-items:flex-end}
    .pos-return-detail-grid{height:auto;max-height:55vh}
}

/* =========================================================
   V160 - POS mobile camera barcode scanner
   ========================================================= */
.pos-scan-input-wrap{position:relative;min-width:0;width:100%}
.pos-mobile-camera-hint{display:none}
.pos-camera-modal[hidden]{display:none!important}
.pos-camera-modal{position:fixed;inset:0;z-index:9999;background:rgba(3,18,14,.94);display:grid;place-items:center;padding:0}
.pos-camera-panel{width:100%;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#071d17;color:#fff}
.pos-camera-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#0d342a;border-bottom:1px solid rgba(255,255,255,.16)}
.pos-camera-head strong{font-size:16px;letter-spacing:.03em}
.pos-camera-head>div{display:flex;gap:8px;align-items:center}
.pos-camera-tool,.pos-camera-close{height:40px;border:1px solid rgba(255,255,255,.28);border-radius:9px;background:rgba(255,255,255,.09);color:#fff;font-weight:800;padding:0 12px}
.pos-camera-close{width:40px;padding:0;font-size:25px;line-height:1}
.pos-camera-stage{position:relative;overflow:hidden;background:#000;min-height:0}
.pos-camera-stage video{display:block;width:100%;height:100%;object-fit:cover}
.pos-camera-guide{position:absolute;left:50%;top:50%;width:min(84vw,540px);height:min(32vw,180px);transform:translate(-50%,-50%);pointer-events:none}
.pos-camera-guide i{position:absolute;width:34px;height:34px;border-color:#d8ff66;border-style:solid}
.pos-camera-guide i:nth-child(1){left:0;top:0;border-width:4px 0 0 4px;border-radius:8px 0 0 0}
.pos-camera-guide i:nth-child(2){right:0;top:0;border-width:4px 4px 0 0;border-radius:0 8px 0 0}
.pos-camera-guide i:nth-child(3){right:0;bottom:0;border-width:0 4px 4px 0;border-radius:0 0 8px 0}
.pos-camera-guide i:nth-child(4){left:0;bottom:0;border-width:0 0 4px 4px;border-radius:0 0 0 8px}
.pos-camera-guide span{position:absolute;left:5%;right:5%;top:50%;height:2px;background:rgba(216,255,102,.8);box-shadow:0 0 12px rgba(216,255,102,.8)}
.pos-camera-status{min-height:54px;display:grid;place-items:center;padding:10px 16px;text-align:center;font-size:13px;font-weight:700;background:#0d342a}
.pos-camera-status[data-kind="error"]{color:#ffb3b3}
.pos-camera-status[data-kind="success"]{color:#d8ff66}
body.pos-camera-open{overflow:hidden}

@media(max-width:800px){
  html.pos-camera-device .pos-mobile-camera-hint{display:flex;position:absolute;right:10px;top:50%;transform:translateY(-50%);height:34px;align-items:center;padding:0 10px;border-radius:8px;background:#e9f3e4;color:#174c3f;font-size:10px;font-weight:900;letter-spacing:.05em;pointer-events:none}
  html.pos-camera-device .pos-scan-bar input.pos-camera-trigger{padding-right:88px!important;cursor:pointer;caret-color:transparent;user-select:none}
  html.pos-camera-device .pos-scan-bar input.pos-camera-trigger::placeholder{color:#174c3f;opacity:1}
}

/* =========================================================
   V162 - POS MOBILE SINGLE COLUMN / TOUCH FIRST
   ========================================================= */
@media(max-width:800px){
  .pos-screen{
    display:flex!important;
    flex-direction:column;
    width:100%;
    height:auto!important;
    min-height:100vh!important;
    gap:10px!important;
    padding:10px 10px 28px!important;
    overflow:visible!important;
  }

  .pos-screen-head{
    order:1;
    width:100%;
    min-height:54px;
    padding:8px 10px!important;
    border-radius:12px;
    gap:8px;
  }
  .pos-screen-head>div{
    min-width:0;
    display:grid!important;
    gap:1px!important;
  }
  .pos-screen-head strong{
    font-size:18px!important;
    line-height:1.15;
    overflow-wrap:anywhere;
  }
  .pos-screen-head small{font-size:10px!important}
  .pos-close-button{
    flex:0 0 auto;
    min-height:40px!important;
    padding:0 12px!important;
    border-radius:10px!important;
    font-size:12px!important;
    white-space:nowrap;
  }

  .pos-scan-bar{
    order:2;
    width:100%;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:4px!important;
  }
  .pos-scan-input-wrap{width:100%}
  .pos-scan-bar input{
    width:100%!important;
    height:60px!important;
    min-height:60px!important;
    border-radius:12px!important;
    padding:0 14px!important;
    font-size:19px!important;
    line-height:1!important;
    text-align:left;
  }
  html.pos-camera-device .pos-scan-bar input.pos-camera-trigger{
    padding-right:92px!important;
  }
  .pos-mobile-camera-hint{
    right:8px!important;
    height:38px!important;
    border-radius:9px!important;
    font-size:10px!important;
  }
  .pos-inline-message{
    display:block;
    width:100%;
    min-height:0!important;
    padding:0 5px!important;
    font-size:11px!important;
    line-height:1.35;
  }
  .pos-inline-message:empty{display:none}
  .pos-inline-message.error,
  .pos-inline-message.warning,
  .pos-inline-message.success,
  .pos-inline-message.info{
    margin-top:1px;
    padding:7px 9px!important;
    border-radius:8px;
    background:#fff;
    border:1px solid var(--line);
  }

  .pos-layout{
    order:3;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    gap:10px!important;
    overflow:visible!important;
  }

  .pos-product-summary{
    order:1;
    width:100%;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .pos-product-photo{
    width:100%!important;
    max-width:none!important;
    aspect-ratio:1/1!important;
    min-height:0!important;
    max-height:none!important;
    border-radius:14px!important;
    overflow:hidden!important;
    background:#fff;
  }
  .pos-product-photo img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
  }
  .pos-product-photo span{
    font-size:12px!important;
    letter-spacing:.02em;
  }
  .pos-last-product{
    width:100%;
    min-height:72px!important;
    padding:12px 14px!important;
    border-radius:12px!important;
    gap:4px!important;
  }
  .pos-last-product strong{
    font-size:18px!important;
    line-height:1.18;
    overflow-wrap:anywhere;
  }
  .pos-last-product span{
    font-size:12px!important;
    line-height:1.35;
  }

  .pos-cart-wrap{
    order:2;
    width:100%;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  .pos-cart{
    display:block!important;
    width:100%!important;
    border-collapse:separate!important;
  }
  .pos-cart thead{display:none!important}
  .pos-cart tbody{
    display:grid!important;
    gap:8px!important;
    width:100%;
  }
  .pos-cart tbody:empty::before{
    content:'Belum ada item transaksi';
    display:grid;
    place-items:center;
    min-height:84px;
    padding:16px;
    border:1px dashed var(--line);
    border-radius:12px;
    background:rgba(255,255,255,.55);
    color:var(--muted);
    font-size:12px;
    font-weight:700;
  }
  .pos-cart tbody tr{
    position:relative;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px 12px!important;
    width:100%;
    padding:12px!important;
    border:1px solid var(--line)!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 1px 2px rgba(0,0,0,.025);
  }
  .pos-cart tbody tr:nth-child(even){background:#f1f5ed!important}
  .pos-cart tr.is-damaged-pos{background:#f8dede!important;border-color:#e8b4b4!important}
  .pos-cart td{
    display:grid!important;
    gap:2px;
    width:auto!important;
    min-width:0;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    font-size:12px!important;
  }
  .pos-cart td:first-child{
    grid-column:1/-1;
    padding-right:42px!important;
  }
  .pos-cart td:first-child strong{font-size:15px;line-height:1.22;overflow-wrap:anywhere}
  .pos-cart td:first-child small{font-size:10px!important;line-height:1.3}
  .pos-cart td:nth-child(2)::before{content:'HARGA'}
  .pos-cart td:nth-child(3)::before{content:'DISC TETAP'}
  .pos-cart td:nth-child(4)::before{content:'DISC TAMBAHAN'}
  .pos-cart td:nth-child(5)::before{content:'FINAL'}
  .pos-cart td:nth-child(2)::before,
  .pos-cart td:nth-child(3)::before,
  .pos-cart td:nth-child(4)::before,
  .pos-cart td:nth-child(5)::before{
    color:var(--muted);
    font-size:8px;
    font-weight:800;
    letter-spacing:.08em;
  }
  .pos-cart td:nth-child(2),
  .pos-cart td:nth-child(3),
  .pos-cart td:nth-child(5){
    align-content:start;
    font-weight:700;
  }
  .pos-cart td:nth-child(4){grid-column:1/-1}
  .pos-cart td input[data-pos-extra]{
    width:100%!important;
    height:44px!important;
    padding:0 12px!important;
    border-radius:9px!important;
    text-align:left!important;
    font-size:15px!important;
  }
  .pos-cart td:last-child{
    position:absolute!important;
    top:8px;
    right:8px;
    display:block!important;
  }
  .pos-remove-item{
    width:36px!important;
    height:36px!important;
    border-radius:9px!important;
  }

  .pos-receipt-preview{
    order:3;
    width:100%;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding:10px!important;
    border-radius:14px!important;
  }
  .pos-receipt-paper{
    width:100%!important;
    max-width:430px;
    min-height:280px!important;
    margin:0 auto;
    padding:15px 13px!important;
    border-radius:2px;
    font-size:11px!important;
  }
  .pos-preview-store{font-size:16px!important}
  .pos-preview-line{padding:4px 0!important}
  .pos-preview-total{font-size:16px!important;margin-top:2px}
  .pos-preview-logo{max-width:100%!important;width:100%!important;max-height:90px!important;object-fit:fill!important}

  .pos-actions{
    order:4;
    display:flex!important;
    flex-direction:column!important;
    width:100%;
    gap:8px!important;
    min-height:0!important;
  }
  .pos-payment-box{
    order:1;
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%;
    padding:10px!important;
    border-radius:12px!important;
  }
  .pos-payment-box label{font-size:11px!important;gap:5px!important}
  .pos-payment-box select{
    width:100%;
    height:50px!important;
    border-radius:10px!important;
    font-size:18px!important;
    padding:0 12px!important;
  }
  .pos-big-button{
    width:100%;
    min-height:58px!important;
    border-radius:12px!important;
    font-size:16px!important;
  }
  .pos-big-button.primary{order:2}
  .pos-big-button.muted{order:3}

  html[data-theme="dark"] .pos-cart tbody tr{background:#17211e!important;border-color:#35453f!important}
  html[data-theme="dark"] .pos-cart tbody tr:nth-child(even){background:#1e2a26!important}
  html[data-theme="dark"] .pos-cart tbody:empty::before{background:#17211e}
}

@media(max-width:480px){
  .pos-screen{padding:8px 8px 24px!important;gap:8px!important}
  .pos-screen-head strong{font-size:16px!important}
  .pos-close-button{padding:0 9px!important;font-size:11px!important}
  .pos-scan-bar input{height:56px!important;min-height:56px!important;font-size:17px!important}
  .pos-product-photo{border-radius:12px!important}
  .pos-cart tbody tr{grid-template-columns:1fr!important}
  .pos-cart td:nth-child(2),
  .pos-cart td:nth-child(3),
  .pos-cart td:nth-child(4),
  .pos-cart td:nth-child(5){grid-column:1/-1!important}
}


/* =========================================================
   V163 - POS MOBILE TRUE SINGLE COLUMN
   ========================================================= */
.pos-mobile-detail{display:none}

.pos-frame-page{
  max-width:100vw!important;
  overflow-x:hidden!important;
}
.pos-frame-page .workspace-frame-content{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
}

@media(max-width:800px){
  .pos-frame-page,
  .pos-frame-page body,
  .pos-frame-page .workspace-frame-content,
  .pos-screen,
  .pos-layout,
  .pos-product-summary,
  .pos-mobile-detail,
  .pos-receipt-preview,
  .pos-actions{
    min-width:0!important;
    max-width:100%!important;
    width:100%!important;
  }

  .pos-screen{
    padding:8px!important;
    gap:8px!important;
  }

  .pos-layout{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
  }

  /* Desktop transaction table is intentionally disabled on mobile. */
  .pos-cart-wrap{display:none!important}

  .pos-mobile-detail{
    display:block!important;
    order:2;
    border:1px solid var(--line);
    border-radius:13px;
    background:#fff;
    overflow:hidden;
  }
  .pos-mobile-detail-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-height:42px;
    padding:8px 11px;
    border-bottom:1px solid var(--line);
    background:#f1f4ef;
  }
  .pos-mobile-detail-head strong{
    font-size:11px;
    letter-spacing:.07em;
  }
  .pos-mobile-detail-head span{
    flex:0 0 auto;
    padding:4px 7px;
    border-radius:999px;
    background:#e5eadf;
    color:#486157;
    font-size:9px;
    font-weight:800;
  }
  .pos-mobile-detail-body{
    display:grid;
    gap:7px;
    padding:8px;
  }
  .pos-mobile-detail-empty{
    display:grid;
    place-items:center;
    min-height:72px;
    padding:14px;
    color:var(--muted);
    font-size:12px;
    font-weight:700;
    text-align:center;
  }
  .pos-mobile-item{
    display:grid;
    gap:9px;
    min-width:0;
    padding:11px;
    border:1px solid #dfe5df;
    border-radius:11px;
    background:#fff;
  }
  .pos-mobile-item:nth-child(even){background:#f4f7f1}
  .pos-mobile-item.is-damaged-pos{background:#fbe2e2!important;border-color:#ebb9b9!important}
  .pos-mobile-item-top{
    display:grid;
    grid-template-columns:minmax(0,1fr) 36px;
    gap:8px;
    align-items:start;
  }
  .pos-mobile-item-top>div{min-width:0}
  .pos-mobile-item-top strong{
    display:block;
    font-size:15px;
    line-height:1.22;
    overflow-wrap:anywhere;
  }
  .pos-mobile-item-top small{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:10px;
    overflow-wrap:anywhere;
  }
  .pos-mobile-remove{
    width:36px;
    height:36px;
    padding:0;
    border:1px solid #efc1c1;
    border-radius:9px;
    background:#fff5f5;
    color:#aa3434;
    font-size:20px;
    line-height:1;
  }
  .pos-mobile-damage{
    padding:7px 8px;
    border-radius:8px;
    background:#f3caca;
    color:#8f2f2f;
    font-size:10px;
    font-weight:800;
  }
  .pos-mobile-price-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
  }
  .pos-mobile-price-grid>div{
    min-width:0;
    padding:8px 9px;
    border-radius:9px;
    background:#f4f6f3;
  }
  .pos-mobile-price-grid small,
  .pos-mobile-extra-label,
  .pos-mobile-final span{
    display:block;
    color:#7c8a83;
    font-size:8px;
    font-weight:800;
    letter-spacing:.07em;
  }
  .pos-mobile-price-grid strong{
    display:block;
    margin-top:2px;
    font-size:13px;
  }
  .pos-mobile-price-grid em{
    display:block;
    margin-top:2px;
    color:var(--muted);
    font-size:8px;
    font-style:normal;
  }
  .pos-mobile-extra-label{
    display:grid;
    gap:4px;
  }
  .pos-mobile-extra-label input{
    width:100%!important;
    height:46px!important;
    margin:0!important;
    padding:0 11px!important;
    border:1px solid #d8ddd8!important;
    border-radius:9px!important;
    background:#fff!important;
    font-size:16px!important;
    font-weight:700;
  }
  .pos-mobile-final{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:10px;
    padding-top:8px;
    border-top:1px solid #e4e7e3;
  }
  .pos-mobile-final strong{
    font-size:18px;
    line-height:1;
  }

  .pos-product-summary{order:1!important}
  .pos-receipt-preview{order:3!important}

  .pos-product-photo{
    aspect-ratio:1/1!important;
    width:100%!important;
    max-width:100%!important;
  }
  .pos-product-photo img{max-width:100%!important}

  .pos-receipt-preview{
    padding:7px!important;
    overflow:hidden!important;
  }
  .pos-receipt-paper{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .pos-preview-line>span{
    min-width:0;
    overflow-wrap:anywhere;
  }

  .pos-payment-box,
  .pos-payment-box label,
  .pos-payment-box select,
  .pos-big-button{
    min-width:0!important;
    max-width:100%!important;
    width:100%!important;
  }

  html[data-theme="dark"] .pos-mobile-detail,
  html[data-theme="dark"] .pos-mobile-item{background:#17211e;border-color:#35453f}
  html[data-theme="dark"] .pos-mobile-item:nth-child(even),
  html[data-theme="dark"] .pos-mobile-price-grid>div{background:#1e2a26}
  html[data-theme="dark"] .pos-mobile-detail-head{background:#22312b;border-color:#35453f}
}


/* =========================================================
   V164 - POS transaction UX refinements
   ========================================================= */
.pos-sales-expand-page{width:100%;min-width:0}
.pos-sales-expand-wrap{width:100%;overflow:auto}
.pos-sales-expand-wrap .master-table{min-width:880px}
.pos-sale-detail-row>td{padding:0!important;background:#f8faf7!important;border-top:0!important}
.pos-sale-expand-panel{padding:10px 12px 12px;border-top:2px solid #bfd0b8;border-bottom:1px solid var(--line)}
.pos-sale-expand-panel>header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.pos-sale-expand-panel>header>div{display:grid;gap:2px}.pos-sale-expand-panel>header strong{font-size:13px}.pos-sale-expand-panel>header small{font-size:9px;color:var(--muted)}
.pos-sale-expand-items{display:grid;gap:5px}
.pos-sale-expand-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:9px;align-items:center;padding:6px 8px;border:1px solid #dfe6db;border-radius:8px;background:#fff}
.pos-sale-expand-photo{width:58px;height:58px;border:1px solid var(--line);border-radius:7px;overflow:hidden;display:grid;place-items:center;background:#f7f8f6;color:var(--muted);font-size:8px}
.pos-sale-expand-photo img{width:100%;height:100%;object-fit:cover}.pos-sale-expand-info{display:grid;gap:2px;min-width:0}.pos-sale-expand-info>strong{font-size:11px;overflow-wrap:anywhere}.pos-sale-expand-info small{font-size:9px;color:var(--muted)}.pos-sale-damage{color:#b32f2f!important;font-weight:700}.pos-sale-expand-price{font-size:12px;white-space:nowrap}
.pos-sale-expand-panel>footer{display:flex;justify-content:flex-end;align-items:center;gap:16px;flex-wrap:wrap;padding-top:8px;font-size:10px}.pos-sale-expand-panel>footer strong{font-size:13px}
.pos-sale-detail-loading{padding:18px;text-align:center;color:var(--muted)}.pos-sale-detail-loading.error{color:#b52f2f}
html[data-theme="dark"] .pos-sale-detail-row>td{background:#16211d!important}html[data-theme="dark"] .pos-sale-expand-item{background:#1a2521;border-color:#34463e}

.barcode-reprint-message{min-height:18px;margin-top:5px;font-size:10px;font-weight:700;color:var(--muted)}
.barcode-reprint-message.error{color:#b52f2f}.barcode-reprint-message.success{color:#2d7838}.barcode-reprint-message.warning{color:#8d6712}.barcode-reprint-message.checking{color:#3c6670}
.barcode-reprint-picker .barcode-inline input{width:100%}

.pos-receipt-logo-field{grid-column:span 1}.pos-receipt-logo-action{display:flex;align-items:end}.pos-receipt-logo-action .secondary{height:38px}

.pos-campaign-single-head{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:12px;align-items:end}.pos-campaign-single-head label{display:grid;gap:4px;font-size:11px;font-weight:700}.pos-campaign-single-head input{height:40px}.pos-campaign-location{height:40px;border:1px solid var(--line);border-radius:8px;padding:5px 10px;display:grid;align-content:center}.pos-campaign-location small{font-size:7px;color:var(--muted);letter-spacing:.07em}.pos-campaign-location strong{font-size:11px}.pos-campaign-media-single{grid-template-columns:minmax(300px,1fr) auto auto!important}.pos-campaign-single .pos-campaign-preview-title:empty{display:none}.pos-campaign-single .pos-campaign-preview-title:empty + p:empty{display:none}

@media(max-width:760px){
 .pos-sale-expand-panel>header{align-items:stretch;flex-direction:column}.pos-sale-expand-item{grid-template-columns:52px minmax(0,1fr)}.pos-sale-expand-photo{width:48px;height:48px}.pos-sale-expand-price{grid-column:2;justify-self:start}.pos-sale-expand-panel>footer{justify-content:flex-start;gap:8px}
 .pos-campaign-single-head,.pos-campaign-media-single{grid-template-columns:1fr!important}
}

/* =========================================================
   V165 - Selling Unit context + Batch Sale detail workflow
   ========================================================= */
.pos-campaign-single-head{display:block}
.pos-campaign-single-head label{width:100%}

.pos-receipt-logo-row{display:flex;align-items:flex-end;gap:12px;min-width:0}
.pos-receipt-logo-row .pos-receipt-logo-field{display:grid;gap:4px;min-width:0;width:min(430px,100%)}
.pos-receipt-logo-row .pos-receipt-logo-field input{width:100%}
.pos-receipt-logo-delete{height:38px;white-space:nowrap;margin:0}

.batch-sale-form{padding:10px 13px}
.batch-sale-header{padding-bottom:9px;border-bottom:1px solid var(--line)}
.batch-sale-header-grid{grid-template-columns:minmax(190px,1.25fr) repeat(4,minmax(150px,1fr)) auto;gap:8px 12px;align-items:end}
.batch-sale-header-grid>label{min-width:0}
.batch-sale-header-grid input,.batch-sale-header-grid select{height:38px}
.batch-sale-active-toggle{display:flex!important;align-items:center;gap:8px;height:38px;padding:0 8px;white-space:nowrap;cursor:pointer}
.batch-sale-active-toggle>input{position:absolute;opacity:0;pointer-events:none;width:1px!important;height:1px!important}
.batch-switch-track{position:relative;width:38px;height:22px;border-radius:999px;background:#cbd3cf;transition:.15s;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.batch-switch-track span{position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;left:3px;top:3px;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.15s}
.batch-sale-active-toggle>input:checked + .batch-switch-track{background:#124b3d}
.batch-sale-active-toggle>input:checked + .batch-switch-track span{transform:translateX(16px)}
.batch-sale-active-toggle>input:focus-visible + .batch-switch-track{outline:2px solid #7da99c;outline-offset:2px}
.batch-sale-active-toggle strong{font-size:12px}

.batch-sale-detail{margin-top:9px}
.batch-sale-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;margin-bottom:7px}
.batch-sale-detail-toolbar>strong{font-size:14px}
.batch-sale-detail-actions{display:flex;align-items:center;gap:7px;margin-left:auto}
.batch-sale-counter{height:38px;min-width:132px;padding:4px 9px;border:1px solid var(--line);border-radius:8px;background:var(--card-bg,#fff);display:grid;align-content:center}
.batch-sale-counter.compact{min-width:94px}
.batch-sale-counter small{font-size:7px;letter-spacing:.07em;color:var(--muted);line-height:1.1}.batch-sale-counter strong{font-size:15px;line-height:1.15}
.batch-round-button{height:38px;white-space:nowrap}
.batch-sale-grid-wrap{height:calc(100vh - 385px);min-height:300px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--card-bg,#fff)}
.batch-sale-grid{margin:0}.batch-sale-grid thead th{position:sticky;top:0;z-index:2}.batch-sale-grid td{vertical-align:middle}
.batch-sale-grid th:nth-child(1){width:31%}.batch-sale-grid th:nth-child(2){width:20%}.batch-sale-grid th:nth-child(3),.batch-sale-grid th:nth-child(4){width:20%}.batch-sale-grid th:last-child{width:54px}
.batch-remove-item{width:32px;height:32px;border:1px solid #efbcbc;border-radius:8px;background:#fff3f3;color:#a62d2d;font-size:18px;cursor:pointer}
.batch-sale-save-actions{margin-top:8px}
.batch-sale-help-dialog .item-help-card{width:min(920px,calc(100vw - 36px))}
.batch-sale-help-dialog .item-help-table-wrap{max-height:52vh}

html[data-theme="dark"] .batch-sale-counter{background:#17211e}
html[data-theme="dark"] .batch-switch-track{background:#4a5551}

@media(max-width:1180px){
 .batch-sale-header-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .batch-sale-grid-wrap{height:calc(100vh - 430px)}
}
@media(max-width:760px){
 .pos-receipt-logo-row{align-items:stretch;flex-direction:column}.pos-receipt-logo-row .pos-receipt-logo-field{width:100%}.pos-receipt-logo-delete{align-self:flex-start}
 .batch-sale-header-grid{grid-template-columns:1fr 1fr}.batch-sale-detail-toolbar{align-items:flex-start;flex-direction:column}.batch-sale-detail-actions{width:100%;margin:0;flex-wrap:wrap}.batch-sale-counter{flex:1}.batch-sale-grid-wrap{height:auto;min-height:280px}
}

/* =========================================================
   V166 - unified POS receipt preview + discount receipt
   ========================================================= */
.pos-preline{white-space:pre-line!important;overflow-wrap:anywhere}
.pos-current-file{display:block;margin-top:4px;font-size:10px;color:var(--muted);font-weight:500;overflow-wrap:anywhere}
.pos-settings-logo-preview[hidden],.pos-campaign-preview-image[hidden],.pos-preview-campaign-section[hidden]{display:none!important}

.pos-unified-receipt-preview .pos-receipt-sample-item,
.pos-preview-sale-item{padding:4px 0;text-align:left}
.pos-receipt-item-name{font-weight:700;overflow-wrap:anywhere;word-break:break-word;line-height:1.3;margin-bottom:2px;text-align:left}
.pos-receipt-price-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;text-align:left;line-height:1.35;padding:1px 0}
.pos-receipt-price-row>span{min-width:0}
.pos-receipt-price-row>strong{white-space:nowrap}
.pos-receipt-price-row.discount strong{font-weight:700}
.pos-receipt-price-row.final{font-weight:700;margin-top:1px}
.pos-receipt-price-row.grand{font-size:13px;font-weight:800;margin-top:2px}
.pos-preview-footer-section:has(>p:empty){display:none}
.pos-preview-campaign-section .pos-campaign-preview-title:empty{display:none}
.pos-preview-campaign-section p:empty{display:none}

.pos-receipt-paper .pos-preview-sale-item+.pos-preview-sale-item{border-top:1px dotted #bbb}
.pos-receipt-paper .pos-receipt-item-name{font-size:10px}
.pos-receipt-paper .pos-receipt-price-row{font-size:9px}
.pos-receipt-paper .pos-receipt-price-row.grand{font-size:13px}
.pos-receipt-paper .pos-preline{display:block;margin:2px 0}

.pos-settings-receipt .pos-receipt-item-name{font-size:10px}
.pos-settings-receipt .pos-receipt-price-row{font-size:9.5px}
.pos-settings-receipt .pos-receipt-price-row.grand{font-size:13px}
.pos-settings-receipt .pos-preview-campaign-section{margin-top:0}
.pos-settings-receipt .pos-preview-campaign-section img{max-width:85%!important;max-height:140px!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:6px auto 0!important}

.pos-receipt-logo-row{display:flex!important;align-items:flex-end!important;gap:12px!important}
.pos-receipt-logo-field{flex:1;min-width:0}
.pos-receipt-logo-delete{align-self:flex-end;margin-bottom:0;min-height:38px}

@media(max-width:800px){
  .pos-receipt-logo-row{align-items:stretch!important;flex-direction:column}
  .pos-receipt-logo-delete{align-self:flex-start}
}

/* =========================================================
   V167 - POS SALES + KETERANGAN
   ========================================================= */
.pos-transaction-meta{
  display:grid!important;
  grid-template-columns:minmax(160px,220px) minmax(150px,200px) minmax(260px,1fr)!important;
  gap:8px!important;
  align-items:end!important;
  width:100%!important;
  max-width:none!important;
}
.pos-transaction-meta label{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
  font-size:10px!important;
  font-weight:700!important;
}
.pos-transaction-meta select,
.pos-transaction-meta input{
  width:100%!important;
  min-width:0!important;
  height:48px!important;
  padding:0 12px!important;
  border-radius:9px!important;
  font-size:15px!important;
}
.pos-note-field{min-width:0!important}

@media(max-width:800px){
  .pos-transaction-meta{
    grid-template-columns:1fr!important;
    padding:10px!important;
  }
  .pos-transaction-meta select,
  .pos-transaction-meta input{
    height:50px!important;
    font-size:16px!important;
  }
}

/* V169 · Penjualan Online */
.online-sale-form{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:10px;align-items:stretch;padding:0!important;overflow:hidden}.online-sale-main{min-width:0;padding:10px}.online-sale-action-rail{border-left:1px solid var(--line);padding:8px 6px;background:var(--paper);display:flex;flex-direction:column;align-items:center}.online-sale-rail-button{width:40px;height:40px}.online-sale-header-section,.online-sale-detail-section,.online-sale-print-section{border:1px solid var(--line);border-radius:8px;background:var(--white);padding:10px}.online-sale-detail-section,.online-sale-print-section{margin-top:10px}.online-sale-header-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px}.online-sale-address-field,.online-sale-notes-field{grid-column:span 2}.online-sale-detail-toolbar,.online-sale-print-head,.online-picking-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.online-sale-detail-table-wrap{max-height:36vh;overflow:auto}.online-sale-detail-table th{position:sticky;top:0;z-index:1}.online-sale-detail-table .online-price-input{min-width:110px;width:100%;text-align:right}.online-sale-summary{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.online-sale-summary>div{min-width:150px;border:1px solid var(--line);border-radius:7px;padding:7px 10px;background:var(--paper)}.online-sale-summary small{display:block}.online-sale-summary strong{display:block;font-size:16px;margin-top:2px}.online-sale-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;white-space:nowrap}.online-sale-status.draft{background:#fff4d6;color:#765400}.online-sale-status.printed{background:#dff7e8;color:#17683a}.online-sale-print-head small{display:block;margin-top:2px;color:var(--muted)}.online-sale-validation-box{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;align-items:center}.online-sale-validation-message{margin-top:7px;border-radius:6px;padding:7px 9px;font-weight:700}.online-sale-validation-message.error{background:#fee2e2;color:#991b1b}.online-sale-validation-message.warning{background:#fff4d6;color:#765400}.online-sale-validation-message.success{background:#dff7e8;color:#17683a}.online-sale-scan-checks{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.online-sale-scan-checks span{border:1px solid var(--line);border-radius:999px;padding:3px 7px;font-size:11px}.online-sale-scan-checks span.checked{background:#dff7e8;color:#17683a;border-color:#8bd1a6}.online-sale-print-meta{display:flex;justify-content:space-between;align-items:center;gap:10px}.online-sale-help-dialog{width:min(1180px,96vw);padding:0;border:0;border-radius:10px;background:transparent}.online-sale-help-card{background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden}.online-sale-help-card>header,.online-sale-help-card>footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;border-bottom:1px solid var(--line)}.online-sale-help-card>footer{border-top:1px solid var(--line);border-bottom:0}.online-sale-help-card>header small{display:block;color:var(--muted);margin-top:2px}.online-sale-help-card>header>button{border:0;background:transparent;color:inherit;font-size:24px;cursor:pointer}.online-sale-help-search{display:flex;gap:7px;padding:8px 10px}.online-sale-help-search input{flex:1}.online-sale-help-table-wrap{max-height:58vh;overflow:auto;padding:0 10px 10px}.online-help-selectable{cursor:pointer}.online-help-disabled{opacity:.62}.online-help-state{display:inline-flex;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800;white-space:nowrap}.online-help-state.ready{background:#dff7e8;color:#17683a}.online-help-state.move{background:#fff4d6;color:#765400}.online-help-damaged{background:rgba(190,24,93,.07)!important}.online-damage-note{display:block;margin-top:2px;color:#b4234d;font-weight:700}.online-picking-search{display:flex;gap:7px;margin-bottom:8px}.online-picking-search input{flex:1}.online-picking-toolbar{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--white);margin-bottom:8px}.online-picking-toolbar label{display:flex;align-items:center;gap:6px;font-weight:700}.online-picking-consumer{display:block;color:var(--muted);margin-top:2px}.online-sale-list-table td{vertical-align:middle}
@media(max-width:1050px){.online-sale-header-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.online-sale-form{display:block}.online-sale-main{padding:7px}.online-sale-action-rail{border-left:0;border-top:1px solid var(--line);padding:7px;flex-direction:row;justify-content:flex-end}.online-sale-header-grid{grid-template-columns:1fr}.online-sale-address-field,.online-sale-notes-field{grid-column:span 1}.online-sale-detail-table-wrap{overflow:auto}.online-sale-validation-box{grid-template-columns:1fr}.online-sale-print-meta{align-items:flex-start;flex-direction:column}.online-picking-toolbar{align-items:flex-start;flex-wrap:wrap}.online-picking-toolbar button{width:100%}.online-picking-search{flex-wrap:wrap}.online-picking-search input{flex-basis:100%}}


/* Portal build/version marker: intentionally subtle but always visible. */
.portal-version-footer{position:fixed;right:10px;bottom:6px;z-index:12000;font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--muted,#718096);background:rgba(255,255,255,.82);border:1px solid rgba(15,76,67,.14);border-radius:6px;padding:2px 6px;line-height:1.2;pointer-events:none;user-select:none;box-shadow:0 1px 3px rgba(0,0,0,.06)}
html[data-theme="dark"] .portal-version-footer{background:rgba(18,28,26,.84);color:#a8b8b5;border-color:rgba(255,255,255,.12)}
/* V174 - Penjualan Online: Help Table status ringkas + double-click pilih */
.online-sale-recipient-group{margin:8px 0;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:8px 10px}.online-sale-group-title{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--muted);margin-bottom:6px;text-transform:uppercase}.online-sale-recipient-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr);gap:8px 10px}.online-sale-recipient-address{grid-column:auto}.online-sale-header-grid-bottom{margin-top:0}.online-sale-item-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.online-sale-item-toggle:hover span:first-child{text-decoration:underline}.online-sale-item-toggle-icon{font-size:16px;line-height:1;color:var(--muted);transition:transform .15s ease}.online-sale-item-toggle[aria-expanded="true"] .online-sale-item-toggle-icon{transform:rotate(180deg)}.online-sale-item-extra-row td{padding:0!important;background:var(--paper)!important}.online-sale-item-extra{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px dashed var(--line);border-bottom:1px solid var(--line)}.online-sale-item-photo{width:96px;height:96px;flex:0 0 96px;border:1px solid var(--line);border-radius:8px;background:var(--white);overflow:hidden;display:grid;place-items:center}.online-sale-item-photo img{width:100%;height:100%;object-fit:cover;display:block}.online-sale-item-no-photo{font-size:11px;color:var(--muted);text-align:center;padding:8px}.online-sale-item-meta{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:8px 18px;min-width:0}.online-sale-item-meta small{display:block;color:var(--muted);font-size:10px;letter-spacing:.06em}.online-sale-item-meta strong{display:block;margin-top:2px;font-size:14px}.online-help-market-code{display:block;color:var(--muted);margin-top:2px;font-size:10px}.online-sale-detail-table td:nth-child(4){min-width:145px}.online-sale-detail-table .online-price-input{text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:1050px){.online-sale-recipient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.online-sale-recipient-address{grid-column:span 2}}
@media(max-width:700px){.online-sale-recipient-grid{grid-template-columns:1fr}.online-sale-recipient-address{grid-column:span 1}.online-sale-item-extra{align-items:flex-start}.online-sale-item-meta{grid-template-columns:1fr;gap:7px}.online-sale-item-photo{width:82px;height:82px;flex-basis:82px}}

/* V176 - Penjualan Online read mode + print validation dialog */
.online-sale-action-rail{gap:7px}.online-sale-action-rail .icon-action{display:grid;place-items:center;text-decoration:none}
.online-sale-read-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.online-sale-read-toolbar>div{display:flex;align-items:center;gap:8px;min-width:0}.online-sale-read-toolbar small{color:var(--muted)}
.online-sale-print-dialog{width:min(720px,94vw);padding:0;border:0;border-radius:11px;background:transparent}
.online-sale-print-dialog::backdrop{background:rgba(15,23,20,.46)}
.online-sale-print-card{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--white);box-shadow:0 22px 65px rgba(0,0,0,.28)}
.online-sale-print-card>header,.online-sale-print-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}
.online-sale-print-card>header strong{display:block;font-size:16px}.online-sale-print-card>header small{display:block;margin-top:3px;color:var(--muted)}
.online-sale-print-card>header>button{border:0;background:transparent;color:inherit;font-size:24px;line-height:1;cursor:pointer}
.online-sale-print-card>footer{justify-content:flex-end;border-top:1px solid var(--line);border-bottom:0}
.online-sale-print-body{padding:14px}.online-sale-validation-dialog-box{grid-template-columns:minmax(250px,1fr) auto}
.online-sale-validation-dialog-box>strong{min-width:58px;text-align:center;font-size:16px;font-variant-numeric:tabular-nums}
.online-sale-print-hint{display:block;margin-top:10px;color:var(--muted)}
.online-sale-print-frame{position:fixed!important;left:-10000px!important;top:-10000px!important;width:1px!important;height:1px!important;border:0!important;opacity:0!important;pointer-events:none!important}
@media(max-width:700px){.online-sale-read-toolbar>div{align-items:flex-start;flex-direction:column}.online-sale-validation-dialog-box{grid-template-columns:1fr}.online-sale-validation-dialog-box>strong{text-align:left}}

/* V177 - Penjualan Online: detail barang pada validasi print + pembeda read/edit mode */
.online-sale-form{position:relative}
.online-sale-main{position:relative;isolation:isolate}
.online-sale-main>section,.online-sale-main>.online-sale-read-toolbar,.online-sale-main>.online-sale-edit-toolbar{position:relative;z-index:2}
.online-sale-mode-watermark{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-18deg);font-size:clamp(64px,10vw,150px);line-height:1;font-weight:900;letter-spacing:.12em;color:rgba(21,61,53,.055);white-space:nowrap;pointer-events:none;user-select:none}
.online-sale-form.is-read-mode .online-sale-header-section,.online-sale-form.is-read-mode .online-sale-detail-section{background:rgba(250,251,249,.88)}
.online-sale-form.is-read-mode input[readonly],.online-sale-form.is-read-mode textarea[readonly],.online-sale-form.is-read-mode select:disabled{background:#f7f8f5;color:#28332f;opacity:1;cursor:default}
.online-sale-edit-toolbar{display:flex;align-items:center;gap:9px;margin-bottom:10px;padding:8px 10px;border:1px solid #e6c76e;border-radius:8px;background:#fff8dd}
.online-sale-edit-toolbar small{color:#765400}
.online-sale-mode-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;letter-spacing:.05em;white-space:nowrap}
.online-sale-mode-badge.edit{background:#f3d66f;color:#604700}
.online-sale-form.is-edit-mode .online-sale-header-section,.online-sale-form.is-edit-mode .online-sale-detail-section{border-color:#e5d296}
.online-sale-print-dialog{width:min(820px,95vw)}
.online-sale-print-items-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:14px;margin-bottom:7px;padding-top:11px;border-top:1px solid var(--line)}
.online-sale-print-items-head>strong{font-size:11px;letter-spacing:.08em}.online-sale-print-items-head>small{color:var(--muted);text-align:right}
.online-sale-scan-item-list{display:grid!important;grid-template-columns:1fr;gap:7px!important;max-height:330px;overflow:auto;padding-right:3px;margin-top:0!important}
.online-sale-scan-item{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:7px 9px;background:var(--white);transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}
.online-sale-scan-item.checked{border-color:#8bd1a6;background:#f0fbf4;box-shadow:inset 3px 0 0 #44a36a}
.online-sale-scan-thumb{width:58px;height:58px;border:1px solid var(--line);border-radius:7px;background:var(--paper);overflow:hidden;display:grid;place-items:center}
.online-sale-scan-thumb img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}.online-sale-scan-no-photo{font-size:9px;font-weight:800;color:var(--muted)}
.online-sale-scan-item-info{min-width:0}.online-sale-scan-barcode{display:flex;align-items:center;gap:6px}.online-sale-scan-barcode>span{font-weight:900;color:var(--muted)}.online-sale-scan-item.checked .online-sale-scan-barcode>span{color:#17683a}
.online-sale-scan-barcode strong{font-size:14px;font-variant-numeric:tabular-nums}.online-sale-scan-product{margin-top:2px;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.online-sale-scan-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:3px;color:var(--muted);font-size:10px}.online-sale-scan-meta strong{color:var(--ink);margin-left:3px}
.online-sale-scan-damage{display:block;margin-top:3px;color:#b4234d;font-weight:800}.online-sale-scan-state{min-width:82px;text-align:center;border-radius:999px;padding:5px 8px;background:#eef0ec;color:#65716b;font-size:9px;font-weight:900;letter-spacing:.03em}
.online-sale-scan-item.checked .online-sale-scan-state{background:#dff7e8;color:#17683a}
@media(max-width:700px){.online-sale-mode-watermark{font-size:58px}.online-sale-print-items-head{align-items:flex-start;flex-direction:column}.online-sale-print-items-head>small{text-align:left}.online-sale-scan-item{grid-template-columns:50px minmax(0,1fr)}.online-sale-scan-thumb{width:50px;height:50px}.online-sale-scan-state{grid-column:2;justify-self:start;min-width:0}.online-sale-scan-product{white-space:normal}}

/* V178 - Penjualan Online: nota thermal bergaya shipping label; No Pesanan Marketplace diprioritaskan besar untuk CCTV packing */


/* V180 - Penjualan Online: print preview via srcdoc agar selalu tampil */
.online-sale-receipt-preview-dialog{width:min(760px,96vw);max-width:96vw;padding:0;border:0;border-radius:12px;background:transparent}
.online-sale-receipt-preview-dialog::backdrop{background:rgba(15,23,20,.58)}
.online-sale-receipt-preview-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:0 24px 70px rgba(0,0,0,.34)}
.online-sale-receipt-preview-card>header,.online-sale-receipt-preview-card>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}
.online-sale-receipt-preview-card>header strong{display:block;font-size:16px}.online-sale-receipt-preview-card>header small{display:block;margin-top:3px;color:var(--muted)}
.online-sale-receipt-preview-card>header>button{border:0;background:transparent;color:inherit;font-size:24px;line-height:1;cursor:pointer}
.online-sale-receipt-preview-card>footer{justify-content:flex-end;border-top:1px solid var(--line);border-bottom:0}
.online-sale-receipt-preview-card>footer .primary{display:inline-flex;align-items:center;gap:7px}
.online-sale-receipt-preview-card>footer .primary svg{width:17px;height:17px}
.online-sale-receipt-preview-body{height:min(72vh,720px);min-height:520px;padding:14px;background:#d9dde1;display:grid;place-items:center}
.online-sale-receipt-preview-body iframe{width:min(100%,540px);height:100%;border:0;background:#dfe3e7;box-shadow:0 2px 10px rgba(0,0,0,.14)}
@media(max-width:700px){.online-sale-receipt-preview-dialog{width:98vw}.online-sale-receipt-preview-body{padding:8px;min-height:460px;height:70vh}.online-sale-receipt-preview-card>header small{font-size:10px}}

/* V188 - Online Sale compact header layout */
.online-sale-main{padding:8px}
.online-sale-header-section,.online-sale-detail-section,.online-sale-print-section{padding:8px}
.online-sale-detail-section,.online-sale-print-section{margin-top:8px}
.online-sale-header-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 8px}
.online-sale-recipient-group{margin-top:6px}
.online-sale-group-title{font-size:11px;font-weight:800;color:var(--muted);margin:0 0 5px 2px;text-transform:uppercase;letter-spacing:.04em}
.online-sale-recipient-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 8px}
.online-sale-recipient-address,.online-sale-notes-field{grid-column:span 2}
.online-sale-inline-field{display:grid;grid-template-columns:108px minmax(0,1fr);align-items:center;gap:4px 8px;margin:0;min-width:0}
.online-sale-inline-field>.online-sale-field-label{grid-column:1;font-size:12px;font-weight:700;line-height:1.1;color:var(--ink)}
.online-sale-inline-field>input,.online-sale-inline-field>select,.online-sale-inline-field>textarea{grid-column:2;min-width:0;width:100%}
.online-sale-inline-field>.form-error{grid-column:2;font-size:11px;margin-top:-1px}
.online-sale-inline-field>textarea{min-height:42px;resize:vertical}
.online-sale-header-section input,.online-sale-header-section select,.online-sale-header-section textarea{padding:7px 9px;min-height:36px}
.online-sale-header-section textarea{padding-top:8px;padding-bottom:8px}
.online-sale-header-grid-bottom{margin-top:6px}
.online-sale-detail-toolbar{margin-bottom:6px}
.online-sale-detail-table-wrap{max-height:48vh}
.online-sale-summary{margin-top:6px;gap:6px}
.online-sale-summary>div{min-width:138px;padding:6px 9px}
.online-sale-summary small{font-size:11px}
.online-sale-summary strong{font-size:15px}
.online-sale-read-toolbar,.online-sale-edit-toolbar{margin-bottom:8px;padding:7px 9px}
@media(max-width:1280px){.online-sale-inline-field{grid-template-columns:94px minmax(0,1fr)}.online-sale-inline-field>.online-sale-field-label{font-size:11px}}
@media(max-width:1050px){.online-sale-recipient-grid,.online-sale-header-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.online-sale-recipient-address,.online-sale-notes-field{grid-column:span 2}}
@media(max-width:700px){.online-sale-inline-field{grid-template-columns:1fr;gap:4px}.online-sale-inline-field>.online-sale-field-label,.online-sale-inline-field>.form-error,.online-sale-inline-field>input,.online-sale-inline-field>select,.online-sale-inline-field>textarea{grid-column:1}.online-sale-recipient-grid,.online-sale-header-grid{grid-template-columns:1fr}.online-sale-recipient-address,.online-sale-notes-field{grid-column:span 1}}


/* V189 - Online Sale extra compact form */
.online-sale-main{padding:6px}
.online-sale-header-section,.online-sale-detail-section,.online-sale-print-section{padding:6px;border-radius:7px}
.online-sale-detail-section,.online-sale-print-section{margin-top:6px}
.online-sale-header-grid{gap:4px 8px}
.online-sale-recipient-group{margin-top:4px}
.online-sale-recipient-grid{gap:4px 8px}
.online-sale-header-grid-bottom{margin-top:4px}
.online-sale-inline-field{grid-template-columns:120px minmax(0,1fr);gap:3px 8px;margin:0;align-items:center}
.online-sale-inline-field>.online-sale-field-label{font-size:11px;font-weight:700;line-height:1.05;margin:0}
.online-sale-inline-field.online-sale-recipient-address,.online-sale-inline-field.online-sale-notes-field{align-items:start}
.online-sale-inline-field.online-sale-recipient-address>.online-sale-field-label,.online-sale-inline-field.online-sale-notes-field>.online-sale-field-label{padding-top:8px}
.online-sale-header-section input,.online-sale-header-section select,.online-sale-header-section textarea{padding:5px 8px;min-height:32px;border-radius:12px}
.online-sale-header-section textarea{padding-top:6px;padding-bottom:6px;min-height:32px;line-height:1.25;resize:vertical;overflow:auto}
.online-sale-recipient-address,.online-sale-notes-field{grid-column:span 2}
.online-sale-detail-toolbar{margin-bottom:5px}.online-sale-detail-toolbar strong{font-size:14px}
.online-sale-detail-table-wrap{max-height:52vh}
.online-sale-summary{margin-top:5px;gap:5px}.online-sale-summary>div{min-width:132px;padding:5px 8px;border-radius:6px}
.online-sale-summary strong{font-size:14px;margin-top:1px}
.online-sale-read-toolbar,.online-sale-edit-toolbar{margin-bottom:6px;padding:6px 8px}
@media(max-width:1280px){.online-sale-inline-field{grid-template-columns:108px minmax(0,1fr)}}
@media(max-width:1050px){.online-sale-recipient-grid,.online-sale-header-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.online-sale-recipient-address,.online-sale-notes-field{grid-column:span 2}}
@media(max-width:700px){.online-sale-inline-field{grid-template-columns:1fr;gap:3px}.online-sale-inline-field.online-sale-recipient-address>.online-sale-field-label,.online-sale-inline-field.online-sale-notes-field>.online-sale-field-label{padding-top:0}.online-sale-recipient-grid,.online-sale-header-grid{grid-template-columns:1fr}.online-sale-recipient-address,.online-sale-notes-field{grid-column:span 1}}


/* V193 - Online Sale ultra compact rows */
.online-sale-main{padding:5px}
.online-sale-header-section,.online-sale-detail-section,.online-sale-print-section{padding:5px}
.online-sale-detail-section,.online-sale-print-section{margin-top:5px}
.online-sale-header-grid,.online-sale-recipient-grid{gap:2px 7px}
.online-sale-recipient-group{margin-top:2px}
.online-sale-header-grid-bottom{margin-top:2px}
.online-sale-inline-field{grid-template-columns:120px minmax(0,1fr);gap:1px 7px}
.online-sale-header-section input,.online-sale-header-section select,.online-sale-header-section textarea{padding:3px 7px;min-height:28px;border-radius:10px;line-height:1.1}
.online-sale-header-section textarea{padding-top:4px;padding-bottom:4px;min-height:28px}
.online-sale-inline-field.online-sale-recipient-address>.online-sale-field-label,.online-sale-inline-field.online-sale-notes-field>.online-sale-field-label{padding-top:6px}
.online-sale-detail-toolbar{margin-bottom:4px}
.online-sale-detail-table-wrap{max-height:56vh}
.online-sale-summary{margin-top:4px}
.online-sale-summary>div{padding:4px 8px}
.online-sale-read-toolbar,.online-sale-edit-toolbar{margin-bottom:5px;padding:5px 8px}
@media(max-width:1280px){.online-sale-inline-field{grid-template-columns:108px minmax(0,1fr)}}
@media(max-width:700px){.online-sale-inline-field{grid-template-columns:1fr;gap:2px}}


/* V194 - Online Sale ultra tight label-to-input spacing */
.online-sale-header-grid,.online-sale-recipient-grid{gap:2px 5px}
.online-sale-inline-field{grid-template-columns:max-content minmax(0,1fr);gap:1px 5px}
.online-sale-inline-field>.online-sale-field-label{white-space:nowrap}
.online-sale-header-section input,.online-sale-header-section select,.online-sale-header-section textarea{padding:2px 6px;min-height:26px;border-radius:9px}
.online-sale-header-section textarea{padding-top:3px;padding-bottom:3px;min-height:26px}
.online-sale-inline-field.online-sale-recipient-address>.online-sale-field-label,.online-sale-inline-field.online-sale-notes-field>.online-sale-field-label{padding-top:5px}
.online-sale-summary{margin-top:3px}.online-sale-summary>div{padding:4px 7px}
@media(max-width:1280px){.online-sale-inline-field{grid-template-columns:max-content minmax(0,1fr)}}
@media(max-width:700px){.online-sale-inline-field{grid-template-columns:1fr;gap:2px}.online-sale-inline-field>.online-sale-field-label{white-space:normal}}


/* V195 - rapatkan jarak antar field, bukan label ke textbox */
.online-sale-header-grid,.online-sale-recipient-grid{column-gap:2px;row-gap:2px}
.online-sale-header-grid-bottom{margin-top:2px}
.online-sale-inline-field{column-gap:6px}
.online-sale-inline-field>.online-sale-field-label{padding-right:0}
.online-sale-header-section input,.online-sale-header-section select,.online-sale-header-section textarea{width:100%}
@media(max-width:700px){.online-sale-header-grid,.online-sale-recipient-grid{column-gap:0;row-gap:2px}.online-sale-inline-field{column-gap:0}}

/* V196 - align input starts consistently across rows */
.online-sale-header-grid,
.online-sale-recipient-grid{
    column-gap:8px;
    row-gap:2px;
}
.online-sale-inline-field{
    grid-template-columns:132px minmax(0,1fr);
    column-gap:8px;
    row-gap:1px;
    align-items:center;
}
.online-sale-inline-field>.online-sale-field-label{
    white-space:nowrap;
    padding-right:0;
}
.online-sale-inline-field.online-sale-recipient-address,
.online-sale-inline-field.online-sale-notes-field{
    align-items:start;
}
.online-sale-inline-field.online-sale-recipient-address>.online-sale-field-label,
.online-sale-inline-field.online-sale-notes-field>.online-sale-field-label{
    padding-top:5px;
}
@media(max-width:1280px){
    .online-sale-inline-field{grid-template-columns:122px minmax(0,1fr);column-gap:7px}
}
@media(max-width:700px){
    .online-sale-header-grid,.online-sale-recipient-grid{column-gap:0;row-gap:2px}
    .online-sale-inline-field{grid-template-columns:1fr;column-gap:0}
    .online-sale-inline-field>.online-sale-field-label{white-space:normal}
}


/* V197 - Marketplace connection / Shopee Open Platform */
.marketplace-connection-intro{align-items:flex-end}
.marketplace-connection-intro p{margin:3px 0 0;color:var(--muted);font-size:12px}
.marketplace-context-badge{display:flex;flex-direction:column;gap:2px;min-width:180px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--white)}
.marketplace-context-badge small,.marketplace-config-info small,.marketplace-account-table td>small{font-size:9px;font-weight:800;color:var(--muted);letter-spacing:.05em}
.marketplace-context-badge strong{font-size:12px}
.marketplace-connect-grid{display:grid;grid-template-columns:minmax(0,760px);gap:10px}
.marketplace-connect-card{padding:12px}
.marketplace-connect-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.marketplace-connect-head>div:nth-child(2){display:flex;flex-direction:column;gap:2px}.marketplace-connect-head>div:nth-child(2)>strong{font-size:15px}.marketplace-connect-head>div:nth-child(2)>small{font-size:10px;color:var(--muted)}
.marketplace-logo{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-size:22px;font-weight:900;border:1px solid var(--line);background:var(--paper)}
.marketplace-logo-shopee{font-family:Arial,sans-serif}
.marketplace-state{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.04em;white-space:nowrap}
.marketplace-state.ok{background:#e7f7ec;color:#17683a;border:1px solid #b9e1c8}.marketplace-state.warn{background:#fff5d8;color:#765400;border:1px solid #efd994}.marketplace-state.error{background:#fde9ed;color:#9a2441;border:1px solid #efbec9}
.marketplace-config-info{display:grid;grid-template-columns:160px 160px minmax(0,1fr);gap:8px;margin:10px 0}
.marketplace-config-info>div{display:flex;flex-direction:column;gap:3px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}
.marketplace-config-info code{font-size:10px;overflow-wrap:anywhere;color:var(--ink)}
.marketplace-connect-button{min-width:230px}.marketplace-connect-button:disabled{opacity:.45;cursor:not-allowed}
.marketplace-config-warning{margin:8px 0 0;font-size:10px;color:#8a5a00}
.marketplace-account-title{margin-top:12px;margin-bottom:6px}
.marketplace-account-table td{vertical-align:middle}.marketplace-account-table td:first-child strong{display:block}.marketplace-error-text{display:block;max-width:420px;margin-top:3px;color:#a32846!important;white-space:normal}
.marketplace-date{display:block;margin-top:2px;font-size:10px;white-space:nowrap}.marketplace-account-table .table-actions form{margin:0}.marketplace-account-table .table-actions button{padding:5px 8px;font-size:9px;font-weight:900;white-space:nowrap}
@media(max-width:900px){.marketplace-config-info{grid-template-columns:1fr 1fr}.marketplace-config-info .wide{grid-column:1/-1}.marketplace-connect-head{grid-template-columns:42px minmax(0,1fr)}.marketplace-connect-head>.marketplace-state{grid-column:2;justify-self:start}.marketplace-connection-intro{align-items:flex-start}.marketplace-context-badge{min-width:0}}
@media(max-width:600px){.marketplace-config-info{grid-template-columns:1fr}.marketplace-config-info .wide{grid-column:auto}.marketplace-connect-button{width:100%;min-width:0}}


/* V201 - Shopee connection result visibility */
.marketplace-connection-notice{margin:10px 0;padding:10px 12px;border:1px solid #a8d7b8;border-radius:9px;background:#eefaf2;color:#174d2c;display:flex;gap:8px 12px;align-items:flex-start;flex-wrap:wrap}
.marketplace-connection-notice strong{font-size:11px;letter-spacing:.04em}.marketplace-connection-notice span{font-size:12px;font-weight:700}
.marketplace-connection-notice.is-error{border-color:#efb7b7;background:#fff1f1;color:#8a1f1f}


/* V202 - Sidebar menu lebih ringkas dan terkelompok */
.sidebar-menu-panel .menu-tree-group{margin:4px 5px 5px}
.sidebar-menu-panel .menu-tree-group summary{padding:8px 10px}
.sidebar-menu-panel .menu-tree-children{padding:0 4px 5px}
.sidebar-menu-panel .menu-tree-children .nav-item{margin:0;padding-top:7px;padding-bottom:7px}

/* V203 - Online fulfillment: picking, mass label, shipment */
.online-pick-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px}.online-pick-stat{padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--white)}.online-pick-stat small{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em}.online-pick-stat strong{display:block;margin-top:2px;font-size:22px}.online-pick-action-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;padding:10px 12px}.online-pick-action-card>div{display:grid;gap:2px}.online-pick-action-card small{color:var(--muted)}
.online-validation-head{display:grid;grid-template-columns:minmax(0,520px) 1fr;gap:8px;align-items:center;margin-bottom:8px}.online-validation-scan{display:grid;grid-template-columns:1fr auto;gap:6px}.online-validation-scan input{min-height:40px;font-size:16px;font-weight:800}.online-validation-scan strong{display:grid;place-items:center;min-width:80px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--white);font-size:16px}.online-validation-message,.bulk-label-message,.bulk-shipment-message{padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-weight:700}.online-validation-message.success,.bulk-label-message.success,.bulk-shipment-message.success{background:#ecf8ef;border-color:#9bd4a8;color:#17683a}.online-validation-message.error,.bulk-label-message.error,.bulk-shipment-message.error{background:#fff0f0;border-color:#efb0b0;color:#9d1d1d}.online-validation-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.online-validation-title{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--line)}.online-validation-title span{display:grid;place-items:center;min-width:32px;height:24px;border-radius:999px;background:var(--paper);font-weight:900}.online-validation-title.success span{background:#e4f6e9;color:#17683a}.online-validation-table-wrap{max-height:62vh;overflow:auto}
.bulk-label-console,.bulk-shipment-console{display:grid;gap:8px}.bulk-label-scan-row,.bulk-shipment-scan{display:grid;grid-template-columns:1fr auto;gap:7px}.bulk-label-scan-row input,.bulk-shipment-scan input{min-height:44px;font-size:17px;font-weight:800}.bulk-shipment-scan strong{display:grid;place-items:center;min-width:90px;border:1px solid var(--line);border-radius:8px;background:var(--white)}.bulk-label-current{border:1px solid var(--line);border-radius:9px;background:var(--white);overflow:hidden}.bulk-label-current header{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-bottom:1px solid var(--line)}.bulk-label-current header>div{display:grid;gap:1px}.bulk-label-current header small{font-size:9px;color:var(--muted);font-weight:800}.bulk-label-current header strong{font-size:18px}.bulk-label-current header span{font-size:11px;color:var(--muted)}.bulk-label-current header>b{font-size:20px}.bulk-label-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:7px}.bulk-label-item{display:grid;grid-template-columns:24px 110px 1fr;gap:6px;align-items:center;padding:7px 8px;border:1px solid var(--line);border-radius:7px}.bulk-label-item.done{background:#ecf8ef;border-color:#9bd4a8}.bulk-label-item>span{font-size:18px;font-weight:900}.bulk-label-item>div{font-size:11px}.bulk-label-print-frame{position:fixed!important;left:-10000px!important;top:-10000px!important;width:1px!important;height:1px!important;border:0!important;opacity:0!important;pointer-events:none!important}
.online-shipment-main{padding:5px}.shipment-scan-box{display:grid;grid-template-columns:minmax(260px,520px) 1fr;gap:7px;align-items:center;margin-top:5px;padding:6px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}.shipment-scan-box input{min-height:38px;font-size:15px;font-weight:800}.shipment-scan-box>div{font-size:11px;font-weight:700}.shipment-scan-box>div.success{color:#17683a}.shipment-scan-box>div.error{color:#9d1d1d}
.bulk-expedition-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:7px}.bulk-expedition-summary article{display:grid;grid-template-columns:1fr auto;gap:1px 8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--white)}.bulk-expedition-summary article small{font-weight:900}.bulk-expedition-summary article strong{font-size:18px}.bulk-expedition-summary article span{grid-column:1/-1;color:var(--muted);font-size:10px}.online-sale-status.shipped{background:#dff4ff;color:#075d84}.online-sale-status.cancelled{background:#f3e7e7;color:#8a2424}
@media(max-width:900px){.online-pick-dashboard{grid-template-columns:1fr}.online-validation-grid{grid-template-columns:1fr}.online-validation-head{grid-template-columns:1fr}.bulk-label-items{grid-template-columns:1fr}.shipment-scan-box{grid-template-columns:1fr}}

/* V204 - Online fulfillment UI refinements */
.online-pick-dashboard-action{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:stretch}
.online-pick-stat-toggle{width:100%;text-align:left;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font:inherit}
.online-pick-stat-toggle:disabled{cursor:default;opacity:.65}
.online-pick-stat-toggle>b{font-size:18px;color:var(--muted);transition:transform .15s ease}
.online-pick-stat-toggle[aria-expanded="true"]>b{transform:rotate(180deg)}
.online-pick-print-button{height:100%;min-width:150px;white-space:nowrap}
.online-pick-preview{margin:-1px 0 8px}
.online-pick-preview>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;border-bottom:1px solid var(--line)}
.online-pick-preview>header small{color:var(--muted)}
.online-pick-preview-wrap{max-height:38vh;overflow:auto}
.online-pick-preview-wrap .master-table{min-width:100%}
.online-pick-batch-table{margin-top:0}
.online-validation-grid>.table-card{display:flex;flex-direction:column;min-height:calc(100dvh - 215px)}
.online-validation-table-wrap{flex:1;max-height:none;overflow:auto}
.online-validation-table-wrap .master-table{min-width:100%}
.online-validation-table-wrap th:nth-child(1){width:28%}
.online-validation-table-wrap th:nth-child(3){width:12%}
.bulk-shipment-scan{grid-template-columns:1fr}
.online-shipment-form{display:grid!important;grid-template-columns:minmax(0,1fr) 54px!important;gap:10px!important;align-items:stretch!important;padding:0!important;overflow:hidden!important}
.online-shipment-form>.online-sale-main{grid-column:1;grid-row:1;min-width:0}
.online-shipment-form>.online-sale-action-rail{grid-column:2;grid-row:1;border-left:1px solid var(--line);border-top:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
@media(max-width:900px){.online-pick-dashboard-action{grid-template-columns:1fr 1fr}.online-pick-print-button{min-height:46px}.online-validation-grid>.table-card{min-height:360px}}
@media(max-width:700px){.online-pick-dashboard-action{grid-template-columns:1fr}.online-shipment-form{display:block!important}.online-shipment-form>.online-sale-action-rail{border-left:0;border-top:1px solid var(--line);flex-direction:row;justify-content:flex-end}}

/* V205 - Validasi Picking List Online full-height sampai dasar workspace */
.online-validation-grid{
    height:calc(100dvh - 70px);
    min-height:520px;
    align-items:stretch;
}
.online-validation-grid>.table-card{
    height:100%;
    min-height:0;
    overflow:hidden;
}
.online-validation-table-wrap{
    min-height:0;
    height:100%;
    flex:1 1 auto;
    max-height:none;
    overflow:auto;
}
@media(max-width:900px){
    .online-validation-grid{height:auto;min-height:0}
    .online-validation-grid>.table-card{height:auto;min-height:360px}
}


/* V206 - Validasi picking: scanner bersih tanpa counter/status */
.online-validation-head{display:block;margin-bottom:8px}
.online-validation-scan{display:block}
.online-validation-scan input{width:100%}

/* V208 - Printer routing per perangkat */
.direct-printer-status{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 6px;padding:6px 9px;border:1px solid #e2b95f;border-radius:7px;background:#fff8de;color:#765400;font-size:11px;font-weight:700}
.direct-printer-status.is-ready{border-color:#9acaae;background:#effaf3;color:#17683a}.direct-printer-status.is-error{border-color:#e3b29f;background:#fff2ec;color:#8d331c}.direct-printer-status a{font-size:10px;font-weight:900;color:inherit;text-decoration:underline;white-space:nowrap}
.device-printer-page{display:grid;gap:8px}.device-printer-card{padding:10px}.device-printer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.device-printer-head small{display:block;font-size:9px;color:var(--muted);font-weight:800}.device-printer-head strong{display:block;margin-top:2px;font-size:14px}.printer-health{padding:5px 8px;border-radius:999px;background:#eef0ec;color:#68736e;font-size:9px;font-weight:900}.printer-health.is-ready{background:#e4f8eb;color:#17683a}.printer-health.is-error{background:#ffe9e3;color:#a33a22}.device-printer-name{display:grid;grid-template-columns:130px minmax(0,360px);align-items:center;gap:8px;margin-bottom:8px;font-size:11px;font-weight:800}.device-printer-name input{padding:6px 8px;min-height:32px}.device-printer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.device-printer-role{border:1px solid var(--line);border-radius:8px;padding:8px;background:var(--white)}.device-printer-role header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:7px}.device-printer-role header strong{font-size:12px}.device-printer-role header small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.device-printer-role header span{font-size:8px;font-weight:900;border-radius:999px;background:#eef0ec;color:#69746f;padding:4px 6px;white-space:nowrap}.device-printer-role header span.is-ready{background:#e4f8eb;color:#17683a}.device-printer-role select{width:100%;min-height:34px}.device-printer-actions{display:flex;justify-content:flex-end;margin-top:6px}.device-printer-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;padding-top:8px;border-top:1px solid var(--line)}.device-printer-footer>span{font-size:10px;color:var(--muted)}.device-printer-footer>span.is-error{color:#a33a22;font-weight:700}.device-printer-footer>div{display:flex;gap:6px}.device-printer-note{padding:8px 10px}.device-printer-note strong{font-size:11px}.device-printer-note p{margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.35}
@media(max-width:800px){.device-printer-grid{grid-template-columns:1fr}.device-printer-head,.device-printer-footer{align-items:flex-start;flex-direction:column}.device-printer-name{grid-template-columns:1fr}.device-printer-name input{width:100%}}


/* V210 - Download installer Direct Printing dari Pengaturan Printer */
.device-printer-downloads{margin-top:8px}
.device-printer-downloads-head p{margin:4px 0 0;color:var(--muted);font-size:12px}
.device-printer-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.device-printer-download-card{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);text-decoration:none}
.device-printer-download-card:hover{border-color:#8aa99f;background:#f7faf8}
.device-printer-download-card strong{font-size:13px}
.device-printer-download-card span{font-size:12px;font-weight:700}
.device-printer-download-card small{font-size:11px;color:var(--muted)}
@media(max-width:700px){.device-printer-download-grid{grid-template-columns:1fr}}


/* V213 - Enam menu utama + thumbnail mega menu */
.sidebar-menu-panel.menu-thumbnail-panel{
    left:64px;
    width:min(720px,calc(100vw - 84px));
    height:100vh;
    padding:18px 20px 24px;
    background:var(--paper);
    color:var(--ink);
    border-right:1px solid var(--line);
    box-shadow:16px 0 42px rgba(10,31,27,.22);
}
.sidebar-menu-panel.menu-thumbnail-panel>header{
    top:-18px;
    margin-bottom:14px;
    padding:18px 2px 14px;
    background:var(--paper);
    border-bottom:1px solid var(--line);
}
.sidebar-menu-panel.menu-thumbnail-panel>header small{color:var(--muted);font-size:9px;letter-spacing:.12em}
.sidebar-menu-panel.menu-thumbnail-panel>header strong{color:var(--ink);font-size:23px;line-height:1.05}
.sidebar-menu-panel.menu-thumbnail-panel>header span{display:block;margin-top:5px;color:var(--muted);font-size:11px;font-weight:500}
.sidebar-menu-panel.menu-thumbnail-panel>header button{background:var(--white);color:var(--ink);border:1px solid var(--line)}
.menu-thumbnail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-content:start}
.sidebar-menu-panel .nav-item.menu-thumbnail{
    display:flex;
    min-width:0;
    min-height:112px;
    margin:0;
    padding:13px 10px 11px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--white);
    color:var(--ink);
    text-align:center;
    box-shadow:0 1px 2px rgba(10,31,27,.025);
    transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,background .12s ease;
}
.sidebar-menu-panel .nav-item.menu-thumbnail:hover{
    background:#f6faf7;
    color:#123d34;
    border-color:#9bb7ad;
    box-shadow:0 5px 16px rgba(10,31,27,.08);
    transform:translateY(-1px);
}
.sidebar-menu-panel .nav-item.menu-thumbnail.active{background:#edf7f0;color:#123d34;border-color:#8eb3a2}
.sidebar-menu-panel .nav-item.menu-thumbnail>.menu-icon{
    width:46px;
    height:46px;
    border:1px solid #c7d8d1;
    border-radius:10px;
    background:#eef6f2;
    color:#0f6a55;
}
.sidebar-menu-panel .nav-item.menu-thumbnail>.menu-icon svg{width:27px;height:27px;stroke-width:1.65}
.sidebar-menu-panel .nav-item.menu-thumbnail:hover>.menu-icon,.sidebar-menu-panel .nav-item.menu-thumbnail.active>.menu-icon{
    border-color:#7aa692;
    background:#e2f2e9;
    color:#0c5948;
    transform:none;
}
.sidebar-menu-panel .nav-item.menu-thumbnail>span:last-child{
    width:100%;
    min-width:0;
    flex:0 0 auto;
    overflow:visible;
    color:inherit;
    font-size:11px;
    font-weight:750;
    line-height:1.2;
    text-overflow:clip;
    white-space:normal;
}
.menu-thumbnail-empty{grid-column:1/-1;display:grid;min-height:120px;place-items:center;padding:20px;border:1px dashed var(--line);border-radius:10px;background:var(--white);color:var(--muted);font-size:12px;text-align:center}
@media(max-width:900px){
    .sidebar-menu-panel.menu-thumbnail-panel{left:54px;width:min(640px,calc(100vw - 54px));padding-left:14px;padding-right:14px}
    .menu-thumbnail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:620px){
    .menu-thumbnail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .sidebar-menu-panel .nav-item.menu-thumbnail{min-height:100px;padding:10px 8px}
}


/* V214 - Thumbnail menu lebih padat */
.sidebar-menu-panel.menu-thumbnail-panel{
    width:min(690px,calc(100vw - 84px));
    padding:12px 14px 18px;
}
.sidebar-menu-panel.menu-thumbnail-panel>header{
    top:-12px;
    margin-bottom:8px;
    padding:12px 2px 10px;
}
.sidebar-menu-panel.menu-thumbnail-panel>header strong{
    font-size:21px;
    line-height:1.05;
}
.menu-thumbnail-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:7px;
}
.sidebar-menu-panel .nav-item.menu-thumbnail{
    min-height:86px;
    padding:8px 7px 7px;
    gap:5px;
    border-radius:8px;
}
.sidebar-menu-panel .nav-item.menu-thumbnail>.menu-icon{
    width:38px;
    height:38px;
    border-radius:8px;
}
.sidebar-menu-panel .nav-item.menu-thumbnail>.menu-icon svg{
    width:22px;
    height:22px;
}
.sidebar-menu-panel .nav-item.menu-thumbnail>span:last-child{
    font-size:10.5px;
    line-height:1.15;
}
.menu-thumbnail-empty{min-height:90px;padding:14px}
@media(max-width:900px){
    .sidebar-menu-panel.menu-thumbnail-panel{width:min(620px,calc(100vw - 54px));padding-left:12px;padding-right:12px}
    .menu-thumbnail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
}
@media(max-width:620px){
    .menu-thumbnail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
    .sidebar-menu-panel .nav-item.menu-thumbnail{min-height:82px;padding:7px 5px}
}
@media(max-width:430px){
    .menu-thumbnail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* V215 - Layer 2 menu: minimum 3 kolom, tambah kolom hanya jika tinggi layar penuh */
.sidebar-menu-panel.menu-thumbnail-panel{
    width:var(--menu-panel-width,450px);
    max-width:calc(100vw - 84px);
}
.menu-thumbnail-grid{
    grid-template-columns:repeat(var(--menu-cols,3),136px);
    justify-content:start;
    align-content:start;
    gap:7px;
}
.sidebar-menu-panel .nav-item.menu-thumbnail{
    width:136px;
    min-width:136px;
    max-width:136px;
}
@media(max-width:900px){
    .sidebar-menu-panel.menu-thumbnail-panel{max-width:calc(100vw - 54px)}
}
@media(max-width:620px){
    .sidebar-menu-panel.menu-thumbnail-panel{width:calc(100vw - 54px)!important;max-width:calc(100vw - 54px)}
    .menu-thumbnail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .sidebar-menu-panel .nav-item.menu-thumbnail{width:auto;min-width:0;max-width:none}
}


/* V216 - Shopee LIVE connection readiness */
.marketplace-config-live{margin:8px 0 0;padding:7px 9px;border:1px solid #b9dec8;border-radius:7px;background:#eef9f2;color:#17683a;font-size:11px}
.marketplace-auth-warning{display:block;margin-top:2px;color:#b45309;font-weight:800}


/* V217 - Hubungkan Toko Online thumbnail cards */
.online-store-page{padding:2px 0 12px}
.online-store-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}
.online-store-toolbar h2{margin:0;font-size:20px}.online-store-toolbar p{margin:3px 0 0;color:var(--muted);font-size:11px}
.online-store-context{display:flex;flex-direction:column;gap:2px;min-width:150px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--white)}
.online-store-context small{font-size:9px;color:var(--muted);font-weight:800}.online-store-context strong{font-size:11px}
.online-store-add-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--white)}
.online-store-add-head>div{display:flex;flex-direction:column;gap:2px}.online-store-add-head strong{font-size:14px}.online-store-add-head small{font-size:10px;color:var(--muted)}
.online-store-add-form{display:flex;align-items:center;gap:8px;margin:0}.online-store-add-form select{min-width:210px;height:36px}.online-store-add-form button{height:36px;white-space:nowrap}
.online-store-config-error{font-size:10px;color:#9a2441;font-weight:800}
.online-store-section-title{display:flex;align-items:center;justify-content:space-between;margin:13px 2px 7px}.online-store-section-title strong{font-size:14px}.online-store-section-title span{font-size:10px;color:var(--muted);font-weight:800}
.online-store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.online-store-card{padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--white);box-shadow:0 2px 8px rgba(21,61,53,.035)}
.online-store-card.is-connected{border-top:3px solid #78b992}.online-store-card.is-error{border-top:3px solid #cf6d7f}
.online-store-card-top{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:center;padding-bottom:9px;border-bottom:1px solid var(--line)}
.online-store-logo{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:20px;font-weight:900}.online-store-logo.is-shopee{background:#fff0eb;color:#ee4d2d;border:1px solid #ffd1c6}
.online-store-card-title{display:flex;flex-direction:column;gap:2px;min-width:0}.online-store-card-title small{font-size:8px;letter-spacing:.07em;color:var(--muted);font-weight:900}.online-store-card-title strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.online-store-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;padding:10px 0}.online-store-detail-grid>div{min-width:0}.online-store-detail-grid small{display:block;font-size:8px;letter-spacing:.04em;color:var(--muted);font-weight:800}.online-store-detail-grid strong{display:block;margin-top:2px;font-size:10px;overflow-wrap:anywhere}.online-store-detail-grid em{display:block;margin-top:1px;font-size:9px;font-style:normal;color:var(--muted)}.online-store-detail-grid em.warn{color:#b45309;font-weight:800}
.online-store-error{margin:0 0 8px;padding:6px 7px;border-radius:6px;background:#fff0f2;color:#9a2441;font-size:9px;font-weight:700;overflow-wrap:anywhere}
.online-store-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding-top:8px;border-top:1px solid var(--line)}.online-store-card-actions form{margin:0}.online-store-card-actions button{padding:6px 9px;font-size:9px;font-weight:900}
.danger-outline{border:1px solid #e6b3bd;background:#fff;color:#9a2441;border-radius:7px;cursor:pointer}.danger-outline:hover{background:#fff1f4}.danger{border:1px solid #9a2441;background:#9a2441;color:#fff;border-radius:7px;cursor:pointer}.danger:disabled{opacity:.45;cursor:not-allowed}
.online-store-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:28px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);background:var(--white)}.online-store-empty strong{color:var(--ink);font-size:13px}.online-store-empty span{font-size:10px}
.online-store-delete-modal[hidden]{display:none}.online-store-delete-modal{position:fixed;z-index:9999;inset:0;display:grid;place-items:center}.online-store-delete-backdrop{position:absolute;inset:0;background:rgba(15,23,20,.55)}
.online-store-delete-dialog{position:relative;width:min(430px,92vw);padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:0 24px 70px rgba(0,0,0,.28)}.online-store-delete-dialog h3{margin:0 0 7px;font-size:17px}.online-store-delete-dialog p{margin:5px 0;font-size:11px;color:var(--muted)}.online-store-delete-warning{color:#9a2441!important}.online-store-delete-dialog input{width:100%;margin-top:8px}.online-store-delete-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.online-store-delete-actions form{margin:0}
@media(max-width:1200px){.online-store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.online-store-toolbar,.online-store-add-card{align-items:stretch;flex-direction:column}.online-store-add-form{align-items:stretch;flex-direction:column}.online-store-add-form select{min-width:0;width:100%}.online-store-grid{grid-template-columns:1fr}}


/* V218 - Hubungkan Toko Online: container rapi, dialog tambah, group per Unit Usaha */
.online-store-page-v218{padding:12px 16px 18px}
.online-store-page-v218 .marketplace-connection-notice{margin-bottom:10px}
.online-store-shell{padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--white);box-shadow:0 2px 8px rgba(21,61,53,.025)}
.online-store-shell-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.online-store-shell-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}.online-store-shell-head>div>strong{font-size:15px}.online-store-shell-head>div>small{font-size:10px;color:var(--muted)}
.online-store-add-button{height:36px;white-space:nowrap}
.online-store-unit-groups{display:flex;flex-direction:column;gap:14px;margin-top:12px}
.online-store-unit-group{min-width:0}
.online-store-unit-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 7px}
.online-store-unit-head>div{display:flex;align-items:baseline;gap:7px}.online-store-unit-head strong{font-size:14px}.online-store-unit-head span{font-size:10px;color:var(--muted)}.online-store-unit-head small{font-size:9px;color:var(--muted);font-weight:800}
.online-store-page-v218 .online-store-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.online-store-page-v218 .online-store-card{padding:10px}
.online-store-page-v218 .online-store-detail-wide{grid-column:1/-1}
.online-store-add-modal[hidden]{display:none}.online-store-add-modal{position:fixed;z-index:9999;inset:0;display:grid;place-items:center}.online-store-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,20,.55)}
.online-store-add-dialog{position:relative;width:min(460px,92vw);padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:0 24px 70px rgba(0,0,0,.28)}
.online-store-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.online-store-dialog-head h3{margin:0;font-size:17px}.online-store-dialog-head p{margin:4px 0 0;font-size:10px;color:var(--muted)}
.online-store-dialog-close{width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:var(--white);font-size:20px;line-height:1;cursor:pointer}
.online-store-dialog-field{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px;align-items:center}.online-store-dialog-field>span{font-size:11px;font-weight:800}.online-store-dialog-field select{width:100%;height:36px}
.online-store-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
@media(max-width:1200px){.online-store-page-v218 .online-store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.online-store-page-v218{padding:8px}.online-store-shell-head{align-items:stretch;flex-direction:column}.online-store-add-button{align-self:flex-end}.online-store-page-v218 .online-store-grid{grid-template-columns:1fr}.online-store-dialog-field{grid-template-columns:1fr;gap:4px}}


/* V219 - Dashboard tes API Shopee LIVE */
.dashboard-shopee-live{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:var(--white);overflow:hidden}
.dashboard-shopee-live>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid var(--line)}
.dashboard-shopee-live>header h3{margin:2px 0 1px;font-size:17px}.dashboard-shopee-live>header small{color:var(--muted)}
.dashboard-shopee-live-status{display:inline-flex;align-items:center;gap:6px;border:1px solid #b9dec8;border-radius:999px;padding:5px 9px;background:#eef9f2;color:#17683a;font-size:10px;font-weight:900;white-space:nowrap}
.dashboard-shopee-live-status span{width:7px;height:7px;border-radius:50%;background:#2ea866}
.dashboard-shopee-table-wrap{max-height:430px}.dashboard-shopee-table th,.dashboard-shopee-table td{white-space:nowrap}.dashboard-shopee-table td:first-child{font-variant-numeric:tabular-nums}
.dashboard-shopee-status{display:inline-block;border-radius:999px;padding:3px 7px;background:#f1f3ef;font-size:10px;font-weight:800}
.dashboard-shopee-error,.dashboard-shopee-empty{padding:16px 14px}.dashboard-shopee-error{display:flex;flex-direction:column;gap:3px;background:#fff5f5;color:#8d1d1d}.dashboard-shopee-error span{font-size:11px}.dashboard-shopee-empty{color:var(--muted)}
@media(max-width:700px){.dashboard-shopee-live>header{align-items:flex-start;flex-direction:column}.dashboard-shopee-table-wrap{max-height:360px}}

/* V222 - Dashboard Shopee 4 status */
.dashboard-shopee-table-wrap{max-height:none!important;overflow:visible!important}
.dashboard-shopee-filterbar{display:flex;flex-wrap:wrap;gap:7px;padding:10px 14px;border-bottom:1px solid var(--line);background:#fafbf9}
.dashboard-shopee-filter{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:#fff;color:var(--ink);cursor:pointer;font-size:11px;font-weight:800}
.dashboard-shopee-filter strong{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#eef1ec;font-size:11px}
.dashboard-shopee-filter.is-active{border-color:#6c9c8c;background:#eef8f3;color:#135a44}
.dashboard-shopee-filter.is-active strong{background:#d8eee4}
.dashboard-shopee-table tbody tr[hidden]{display:none!important}
@media(max-width:700px){.dashboard-shopee-filterbar{padding:8px}.dashboard-shopee-filter{padding:5px 8px}}

/* V223 - Dashboard Shopee lazy load */
.dashboard-shopee-panel-state{padding:18px 14px;color:var(--muted);font-size:12px;text-align:center}
.dashboard-shopee-table-wrap{max-height:none!important;overflow:visible!important}


/* V224 - Detail Shopee untuk Belum Bayar & Perlu Dikirim */
.dashboard-shopee-table td{vertical-align:top}
.shopee-cell-sub{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-weight:600}
.shopee-detail-toggle{padding:5px 9px;min-height:28px;font-size:11px}
.shopee-order-detail-row>td{padding:0!important;background:#f7f9f6}
.shopee-order-detail-card{padding:12px 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.shopee-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.shopee-detail-grid>div{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}
.shopee-detail-grid small{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em}
.shopee-detail-grid strong{font-size:12px;line-height:1.25}
.shopee-detail-grid span{font-size:11px;line-height:1.3;color:#4b5563}
.shopee-detail-address{grid-column:span 2}
.shopee-detail-section{margin-top:10px}
.shopee-detail-section h4{margin:0 0 6px;font-size:12px}
.shopee-detail-section p{margin:3px 0;font-size:11px}
.shopee-order-items{display:grid;gap:4px}
.shopee-order-item{display:grid;grid-template-columns:26px minmax(0,1fr) 48px 120px;gap:8px;align-items:start;padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:#fff}
.shopee-item-no{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#eef2ed;font-size:10px;font-weight:900}
.shopee-item-main{display:flex;flex-direction:column;gap:1px;min-width:0}
.shopee-item-main strong{font-size:11px;line-height:1.25}
.shopee-item-main span{font-size:10px;color:#5b6572;line-height:1.25;overflow-wrap:anywhere}
.shopee-item-qty{text-align:center;font-size:12px;font-weight:900}
.shopee-item-price{display:flex;flex-direction:column;align-items:flex-end;gap:1px;white-space:nowrap}
.shopee-item-price strong{font-size:11px}
.shopee-item-price span{font-size:10px;color:var(--muted);text-decoration:line-through}
.shopee-package-line{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:10px}
.shopee-package-line span{overflow-wrap:anywhere}
.shopee-detail-empty{padding:8px;border:1px dashed var(--line);border-radius:7px;background:#fff;color:var(--muted);font-size:11px}
@media(max-width:900px){.shopee-detail-grid{grid-template-columns:1fr 1fr}.shopee-detail-address{grid-column:span 2}.shopee-order-item{grid-template-columns:24px minmax(0,1fr) 42px}.shopee-item-price{grid-column:2/4;align-items:flex-start}.shopee-package-line{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.shopee-detail-grid{grid-template-columns:1fr}.shopee-detail-address{grid-column:auto}.shopee-package-line{grid-template-columns:1fr}}


/* V225 - Bedakan Perlu Dikirim belum/sudah diproses */
.shopee-processing-stage{display:block;width:max-content;margin-top:3px;padding:2px 6px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.02em}
.shopee-processing-stage.is-unprocessed{background:#fff3d8;color:#8a5700;border:1px solid #ecd39b}
.shopee-processing-stage.is-processed{background:#e6f5ed;color:#176540;border:1px solid #b9ddca}

/* V226 - status resi Shopee setelah arrange shipment */
.shopee-tracking-pending{color:#9a6700;font-weight:800}


/* V230 - Video Packing Penjualan Online */
.online-sale-packing-history{margin-top:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff);overflow:hidden}
.online-sale-packing-history-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border-bottom:1px solid var(--line)}
.online-sale-packing-history-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.online-sale-packing-history-head strong{font-size:14px}
.online-sale-packing-history-head small{color:var(--muted);font-size:11px}
.online-sale-packing-history-head>span{font-size:10px;font-weight:900;padding:4px 7px;border-radius:999px;background:#eef2ee;white-space:nowrap}
.online-sale-packing-video-card{padding:12px;border-bottom:1px solid var(--line)}
.online-sale-packing-video-card:last-child{border-bottom:0}
.online-sale-packing-video-card video{display:block;width:min(100%,760px);max-height:430px;background:#101312;border-radius:10px;object-fit:contain}
.online-sale-packing-video-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
.online-sale-packing-video-meta>div{display:flex;flex-direction:column;gap:2px}
.online-sale-packing-video-meta small{color:var(--muted)}
.online-sale-packing-empty{padding:18px 13px;color:var(--muted);font-size:12px}

.online-sale-packing-dialog{width:min(980px,calc(100vw - 24px));max-width:980px;border:0;border-radius:16px;padding:0;background:transparent}
.online-sale-packing-dialog::backdrop{background:rgba(7,20,17,.72)}
.online-sale-packing-card{background:var(--surface,#fff);border-radius:16px;overflow:hidden;box-shadow:0 22px 70px rgba(0,0,0,.3)}
.online-sale-packing-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border-bottom:1px solid var(--line)}
.online-sale-packing-card>header>div{display:flex;flex-direction:column;gap:2px}
.online-sale-packing-card>header strong{font-size:16px}
.online-sale-packing-card>header small{font-size:11px;color:var(--muted)}
.online-sale-packing-rec-indicator{font-size:10px;font-weight:900;border-radius:999px;padding:5px 8px;background:#f0f2f0;color:#56625e;white-space:nowrap}
.online-sale-packing-rec-indicator.is-recording{background:#ffe7e7;color:#a81717;animation:packingRecPulse 1.15s infinite}
@keyframes packingRecPulse{0%,100%{opacity:1}50%{opacity:.52}}
.online-sale-packing-body{padding:14px}
.online-sale-packing-camera{position:relative;border-radius:12px;overflow:hidden;background:#101312;min-height:360px;display:grid;place-items:center}
.online-sale-packing-camera video{width:100%;max-height:58vh;min-height:360px;object-fit:contain;background:#101312}
.online-sale-packing-clock{position:absolute;right:12px;bottom:10px;background:rgba(0,0,0,.68);color:#fff;border-radius:7px;padding:5px 8px;font:700 13px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace}
.online-sale-packing-status{margin-top:10px;padding:9px 11px;border-radius:9px;background:#f1f3f1;font-size:12px;font-weight:700}
.online-sale-packing-status.success{background:#e8f6ed;color:#17633c}
.online-sale-packing-status.warning{background:#fff4dd;color:#7a5205}
.online-sale-packing-status.error{background:#ffe9e9;color:#9a2222}
.online-sale-packing-stop{margin-top:10px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fbfcfb}
.online-sale-packing-stop label{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:10px}
.online-sale-packing-stop label>span{font-size:12px;font-weight:800}
.online-sale-packing-stop input{width:100%;font-size:15px;font-weight:800}
.online-sale-packing-stop>small{display:block;margin-top:6px;color:var(--muted);font-size:10px}

@media(max-width:760px){
  .online-sale-packing-video-meta{align-items:flex-start;flex-direction:column}
  .online-sale-packing-camera,.online-sale-packing-camera video{min-height:240px}
  .online-sale-packing-stop label{grid-template-columns:1fr}
}


/* V231 - Pengaturan Perangkat + Webcam */
.device-setting-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.device-setting-section-title>div{display:flex;flex-direction:column;gap:1px}
.device-setting-section-title strong{font-size:15px}
.device-setting-section-title small{font-size:10px;color:var(--muted)}
.device-webcam-card{margin-top:10px}
.device-webcam-status{font-size:9px;font-weight:900;padding:4px 7px;border-radius:999px;background:#eef1ee;color:#59635f}
.device-webcam-status.is-ready{background:#e4f5e9;color:#17633c}
.device-webcam-status.is-error{background:#ffe9e9;color:#9a2222}
.device-webcam-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}
.device-webcam-row label{display:flex;flex-direction:column;gap:5px}
.device-webcam-row label>span{font-size:11px;font-weight:800}
.device-webcam-row select{width:100%}
.device-webcam-actions{display:flex;gap:7px}
.device-webcam-help{display:block;margin-top:7px;color:var(--muted);font-size:10px}
.device-webcam-help.is-error{color:#a52929}
.device-webcam-test-dialog{width:min(760px,calc(100vw - 24px));border:0;padding:0;border-radius:14px;background:transparent}
.device-webcam-test-dialog::backdrop{background:rgba(7,20,17,.66)}
.device-webcam-test-card{background:var(--surface,#fff);border-radius:14px;overflow:hidden;box-shadow:0 22px 65px rgba(0,0,0,.3)}
.device-webcam-test-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid var(--line)}
.device-webcam-test-card>header>div{display:flex;flex-direction:column;gap:1px}
.device-webcam-test-card>header small{font-size:10px;color:var(--muted)}
.device-webcam-test-card>header button{border:0;background:transparent;font-size:22px;cursor:pointer}
.device-webcam-test-card video{display:block;width:100%;max-height:62vh;min-height:300px;background:#101312;object-fit:contain}
.device-webcam-test-card>footer{display:flex;justify-content:flex-end;padding:10px 12px;border-top:1px solid var(--line)}
@media(max-width:720px){.device-webcam-row{grid-template-columns:1fr}.device-webcam-actions{flex-wrap:wrap}}


/* V232 - Pengaturan Perangkat grouping + tab Penjualan Online */
.device-webcam-role{grid-column:1/-1}
.device-webcam-role .device-webcam-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.device-webcam-role .device-webcam-help{margin:0 auto 0 0;min-width:220px;text-align:left}
.device-webcam-role .device-webcam-status{margin-left:auto}

.online-sale-page-tabs{display:flex;align-items:flex-end;justify-content:flex-start;gap:4px;margin:5px 0 6px;padding:0 2px;border-bottom:1px solid var(--line);position:relative;z-index:3;overflow-x:auto}
.online-sale-page-tabs button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;background:var(--paper);color:var(--muted);font-size:11px;font-weight:800;padding:7px 11px;cursor:pointer;white-space:nowrap}
.online-sale-page-tabs button.is-active{background:var(--white);color:var(--ink);border-color:#89a79c;box-shadow:inset 0 2px 0 #174f41}
.online-sale-page-tabs button span{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e9eeea;font-size:9px}
.online-sale-page-pane[hidden]{display:none!important}
.online-sale-page-pane{position:relative;z-index:2}
.online-sale-page-pane .online-sale-packing-history{margin-top:0}

@media(max-width:700px){
  .device-webcam-role{grid-column:auto}
  .device-webcam-role .device-webcam-actions{justify-content:flex-start}
  .device-webcam-role .device-webcam-help{flex-basis:100%}
}


/* V234 - area scan akhir packing via webcam */
.online-sale-packing-finish-zone{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}
.online-sale-packing-finish-zone-box{width:70%;height:52%;border:2px dashed rgba(255,255,255,.62);border-radius:12px;box-shadow:0 0 0 9999px rgba(0,0,0,.04)}
.online-sale-packing-finish-zone strong{position:absolute;left:50%;bottom:44px;transform:translateX(-50%);max-width:86%;padding:5px 9px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:10px;font-weight:900;white-space:nowrap}
.online-sale-packing-finish-zone small{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);max-width:90%;padding:3px 7px;border-radius:6px;background:rgba(0,0,0,.48);color:rgba(255,255,255,.92);font-size:9px;white-space:nowrap}
.online-sale-packing-finish-zone.is-ready .online-sale-packing-finish-zone-box{border-color:rgba(255,238,130,.95)}
.online-sale-packing-finish-zone.is-detected .online-sale-packing-finish-zone-box{border-style:solid;border-color:rgba(126,255,170,.98);box-shadow:0 0 0 3px rgba(68,210,117,.2)}
.online-sale-packing-finish-zone.is-detected strong{background:rgba(20,112,55,.88)}
.online-sale-packing-finish-zone.is-unavailable .online-sale-packing-finish-zone-box{border-color:rgba(255,255,255,.25)}
@media(max-width:760px){
 .online-sale-packing-finish-zone strong{bottom:38px;font-size:9px}
 .online-sale-packing-finish-zone small{bottom:14px;font-size:8px}
}


/* V236 - mode print Penjualan Online */
.online-sale-print-mode{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:9px 0 10px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fafbf9}
.online-sale-print-mode>div{display:flex;flex-direction:column;gap:1px;min-width:0}
.online-sale-print-mode>div>strong{font-size:12px}
.online-sale-print-mode>div>small{font-size:10px;color:var(--muted)}
.online-sale-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none;white-space:nowrap}
.online-sale-switch input{position:absolute;opacity:0;pointer-events:none}
.online-sale-switch-track{position:relative;width:38px;height:21px;border-radius:999px;background:#c9cfcc;transition:.16s}
.online-sale-switch-track::after{content:"";position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.22);transition:.16s}
.online-sale-switch input:checked + .online-sale-switch-track{background:#1e7258}
.online-sale-switch input:checked + .online-sale-switch-track::after{transform:translateX(17px)}
.online-sale-switch>strong{font-size:10px;min-width:76px;text-align:right}
@media(max-width:650px){.online-sale-print-mode{align-items:flex-start;flex-direction:column}.online-sale-switch>strong{text-align:left}}

/* V237 - Retur Beli */
.purchase-return-header-grid{grid-template-columns:minmax(320px,1.35fr) minmax(220px,.65fr)}
.purchase-return-detail-section{min-height:0}
.purchase-return-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.purchase-return-scan-box{display:flex;align-items:center;gap:8px;min-width:min(520px,58vw)}
.purchase-return-scan-box input{min-width:0;flex:1}
.purchase-return-scan-box>span{min-width:44px;text-align:center;font-weight:800}
.purchase-return-table-wrap{max-height:calc(100vh - 360px);overflow:auto}
.purchase-return-table{min-width:1020px}
.purchase-return-table .master-name small{display:block;margin-top:2px}
.purchase-return-table .transfer-remove button{width:30px;height:30px;padding:0;border:0;border-radius:6px;font-size:20px;line-height:1;cursor:pointer}
.purchase-return-readonly-label,.purchase-return-item-state{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:800;white-space:nowrap}
.purchase-return-item-state.ready{background:#e8f7ee;color:#166534}
.purchase-return-item-state.damage{background:#fff1df;color:#9a4b00}
.purchase-status.returned{background:#fff1df;color:#9a4b00}
.purchase-status.cancelled{background:#f1f3f5;color:#555}
.purchase-return-readonly-label{background:#eef2f6;color:#475569}
.purchase-return-cancel-button,.purchase-return-cancelled-status{display:inline-flex;align-items:center;justify-content:center}
.purchase-return-summary{grid-template-columns:repeat(2,minmax(160px,1fr))}
@media(max-width:900px){.purchase-return-header-grid{grid-template-columns:1fr 1fr}.purchase-return-scan-box{min-width:0;width:100%}.purchase-return-toolbar{align-items:stretch;flex-direction:column}.purchase-return-table-wrap{max-height:none}}
@media(max-width:640px){.purchase-return-header-grid{grid-template-columns:1fr}}

/* =========================================================
   V242 - FULL HEIGHT WORK PANELS
   Semua panel kerja utama di workspace mengisi sisa tinggi layar,
   walaupun field / row masih sedikit.
   ========================================================= */
.workspace-frame-page:not(.workspace-module-page) .workspace-frame-content{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

/* Form dan tabel utama yang menjadi panel terakhir halaman selalu turun
   sampai batas bawah workspace. Selector direct-child menjaga filter/card
   kecil di dalam halaman lain agar tidak ikut dipaksa tinggi. */
.workspace-frame-page:not(.workspace-module-page) .workspace-frame-content > .form-card:last-child,
.workspace-frame-page:not(.workspace-module-page) .workspace-frame-content > .table-card:last-child,
.workspace-frame-page:not(.workspace-module-page) .workspace-frame-content > .empty-dashboard:last-child,
.workspace-frame-page:not(.workspace-module-page) .workspace-frame-content > .module-workspace:last-child{
    flex:1 1 auto;
    min-height:0;
    align-self:stretch;
}

/* Retur Beli: panel transaksi mengikuti standar full-height workspace. */
.workspace-frame-page:not(.workspace-module-page) .workspace-frame-content > .purchase-return-form:last-child{
    flex:1 1 auto;
    min-height:0;
}

/* Retur Jual Online: panel full-height dan tombol Simpan berada di atas
   action rail, bukan menempel di bawah. */
.workspace-frame-page:not(.workspace-module-page) .workspace-frame-content > [data-online-sale-return-form]:last-child{
    flex:1 1 auto;
    min-height:0;
}
[data-online-sale-return-form] .pos-return-action-rail{
    justify-content:flex-start!important;
}

/* Pada layar kecil tinggi tetap natural agar tidak memaksa layout mobile. */
@media(max-width:760px){
    .workspace-frame-page:not(.workspace-module-page) .workspace-frame-content{
        min-height:100vh;
    }
    .workspace-frame-page:not(.workspace-module-page) .workspace-frame-content > .form-card:last-child,
    .workspace-frame-page:not(.workspace-module-page) .workspace-frame-content > .table-card:last-child,
    .workspace-frame-page:not(.workspace-module-page) .workspace-frame-content > .empty-dashboard:last-child,
    .workspace-frame-page:not(.workspace-module-page) .workspace-frame-content > .module-workspace:last-child{
        flex:0 0 auto;
    }
}

/* =========================================================
   V243 - WORK PANEL FULL HEIGHT (FIX)
   V242 masih bergantung pada :last-child dan mengecualikan
   workspace-module-page. Form transaksi punya dialog/form bantu setelah
   panel utama, sehingga selector tersebut tidak pernah kena.
   ========================================================= */
.workspace-frame-page .workspace-frame-content{
    min-height:100vh!important;
    box-sizing:border-box;
}

/* Semua form kerja utama mengisi tinggi viewport iframe, meskipun field
   atau isi tabel masih sedikit. Tidak memakai :last-child agar dialog,
   form helper, dan hidden action form setelah panel tidak mengganggu. */
.workspace-frame-page:not(.workspace-module-page) .workspace-frame-content > form.form-card[data-workspace-form],
.workspace-frame-page:not(.workspace-module-page) .workspace-frame-content > form.form-card[data-master-form]{
    min-height:calc(100vh - 46px)!important;
    height:auto;
    align-self:stretch;
}

/* Form yang berada sebagai sub-panel module memakai frame tanpa padding. */
.workspace-module-page .workspace-frame-content > form.form-card[data-workspace-form],
.workspace-module-page .workspace-frame-content > form.form-card[data-master-form]{
    min-height:100vh!important;
    height:100%!important;
    align-self:stretch;
}

/* Panel transaksi khusus tetap stretch sampai bawah. */
.workspace-frame-page .purchase-rail-form,
.workspace-frame-page .online-sale-form,
.workspace-frame-page [data-online-sale-return-form]{
    align-self:stretch!important;
}

/* Retur Jual Online: action Simpan tetap di bagian atas rail. */
[data-online-sale-return-form] .pos-return-action-rail{
    justify-content:flex-start!important;
}

@media(max-width:760px){
    .workspace-frame-page:not(.workspace-module-page) .workspace-frame-content > form.form-card[data-workspace-form],
    .workspace-frame-page:not(.workspace-module-page) .workspace-frame-content > form.form-card[data-master-form],
    .workspace-module-page .workspace-frame-content > form.form-card[data-workspace-form],
    .workspace-module-page .workspace-frame-content > form.form-card[data-master-form]{
        min-height:auto!important;
        height:auto!important;
    }
}

/* =========================================================
   V244 - PANEL AKSI KONTRAS + SUMMARY KANDAS KE BAWAH
   Menyeragamkan tampilan rail aksi seperti Transaksi Pembelian,
   khususnya untuk Retur Jual Online dan Penjualan Online.
   ========================================================= */

/* Retur Jual Online: rail aksi berada dalam panel terpisah, kontras,
   dan tombol Simpan berada di bagian atas rail. */
[data-online-sale-return-form].pos-return-transaction-card{
    grid-template-columns:minmax(0,1fr) 46px!important;
    gap:8px!important;
    padding:8px!important;
}
[data-online-sale-return-form] .pos-return-main{
    min-width:0;
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    gap:8px;
}
[data-online-sale-return-form] .pos-return-detail-section{
    display:grid;
    grid-template-rows:auto auto auto minmax(0,1fr) auto;
    min-height:0;
    gap:6px;
}
[data-online-sale-return-form] .pos-return-detail-grid{
    min-height:0;
    height:100%;
    max-height:none;
}
[data-online-sale-return-form] .pos-return-action-rail{
    position:sticky;
    top:8px;
    z-index:12;
    align-self:stretch;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start!important;
    gap:6px;
    padding:5px 4px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#f8faf7;
}
[data-online-sale-return-form] .pos-return-rail-button{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    margin-left:0!important;
    padding:0!important;
    border-radius:8px!important;
}
[data-online-sale-return-form] .pos-return-summary{
    margin-top:0;
}

/* Penjualan Online: rail aksi dibuat panel terpisah seperti pembelian,
   sementara area detail mengisi tinggi dan summary tetap kandas di bawah. */
.online-sale-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 46px!important;
    gap:8px!important;
    align-items:stretch!important;
    min-height:calc(100vh - 250px);
    padding:8px!important;
    overflow:visible!important;
}
.online-sale-main{
    min-width:0;
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    gap:8px;
}
.online-sale-header-section,
.online-sale-detail-section,
.online-sale-print-section{
    border:1px solid var(--line);
    border-radius:8px;
    background:var(--white);
    padding:10px;
}
.online-sale-detail-section{
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    min-height:0;
    margin-top:0!important;
}
.online-sale-detail-table-wrap{
    min-height:0;
    height:100%;
    max-height:none;
    overflow:auto;
}
.online-sale-summary{
    margin-top:0;
}
.online-sale-action-rail{
    position:sticky;
    top:8px;
    z-index:12;
    align-self:stretch;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    padding:5px 4px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#f8faf7;
}
.online-sale-rail-button,
.online-sale-action-rail .icon-action,
.online-sale-action-rail > button,
.online-sale-action-rail > a{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    border-radius:8px!important;
}

/* Dark mode mengikuti panel rail baru. */
html[data-theme="dark"] [data-online-sale-return-form] .pos-return-action-rail,
html[data-theme="dark"] .online-sale-action-rail{
    border-color:#34463f;
    background:#17211e;
}

@media(max-width:900px){
    [data-online-sale-return-form].pos-return-transaction-card,
    .online-sale-form{
        grid-template-columns:1fr!important;
        min-height:auto;
    }
    [data-online-sale-return-form] .pos-return-action-rail,
    .online-sale-action-rail{
        position:static;
        border-left:0;
        border-top:1px solid var(--line);
        flex-direction:row;
        justify-content:flex-end!important;
        align-items:center;
        width:100%;
    }
    [data-online-sale-return-form] .pos-return-detail-grid,
    .online-sale-detail-table-wrap{
        height:auto;
        max-height:55vh;
    }
}

/* =========================================================
   V245 - TRANSACTION WORKSPACE FIXED FRAME
   Standard desain transaksi:
   - rail aksi kanan = panel kontras setinggi form
   - tombol aksi mulai dari atas
   - summary selalu kandas ke bawah
   - hanya grid detail yang scroll; header + summary tetap terlihat
   ========================================================= */

/* Form transaksi mengunci tinggi pada viewport iframe.
   workspace-frame-content memakai padding atas+bawah total 25px. */
.workspace-frame-page .purchase-return-form,
.workspace-frame-page [data-online-sale-return-form],
.workspace-frame-page .online-sale-form{
    height:calc(100vh - 25px)!important;
    min-height:calc(100vh - 25px)!important;
    max-height:calc(100vh - 25px)!important;
    overflow:hidden!important;
    align-items:stretch!important;
}

/* ---------- RETUR BELI ---------- */
.purchase-return-form{
    grid-template-columns:minmax(0,1fr) 46px!important;
    gap:8px!important;
}
.purchase-return-form .purchase-form-main{
    min-width:0;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.purchase-return-form .purchase-header-section{
    flex:0 0 auto;
}
.purchase-return-form .purchase-return-detail-section{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.purchase-return-form .purchase-return-toolbar,
.purchase-return-form .transfer-message,
.purchase-return-form .purchase-return-summary,
.purchase-return-form .block-error{
    flex:0 0 auto;
}
.purchase-return-form .purchase-return-table-wrap{
    flex:1 1 auto;
    min-height:0;
    height:auto;
    max-height:none!important;
    overflow:auto;
}
.purchase-return-form .purchase-return-summary{
    margin-top:6px;
}
.purchase-return-form .purchase-action-rail{
    position:static!important;
    top:auto!important;
    align-self:stretch!important;
    height:100%;
    min-height:0;
    justify-content:flex-start;
    border:1px solid var(--line);
    border-radius:10px;
    background:#f8faf7;
}

/* ---------- RETUR JUAL ONLINE ---------- */
[data-online-sale-return-form].pos-return-transaction-card{
    grid-template-columns:minmax(0,1fr) 46px!important;
    gap:8px!important;
    padding:8px!important;
}
[data-online-sale-return-form] .pos-return-main{
    min-width:0;
    min-height:0;
    display:flex!important;
    flex-direction:column;
    overflow:hidden;
}
[data-online-sale-return-form] .pos-return-header-section{
    flex:0 0 auto;
}
[data-online-sale-return-form] .pos-return-detail-section{
    flex:1 1 auto;
    min-height:0;
    display:flex!important;
    flex-direction:column;
    gap:6px;
    overflow:hidden;
}
[data-online-sale-return-form] .pos-return-detail-toolbar,
[data-online-sale-return-form] .pos-return-message,
[data-online-sale-return-form] .pos-return-source-sale,
[data-online-sale-return-form] .pos-return-summary,
[data-online-sale-return-form] .block-error{
    flex:0 0 auto;
}
[data-online-sale-return-form] .pos-return-detail-grid{
    flex:1 1 auto;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:auto;
}
[data-online-sale-return-form] .pos-return-summary{
    align-items:stretch;
    margin-top:0;
}
[data-online-sale-return-form] .pos-return-summary>div{
    min-height:50px;
    height:auto!important;
}
[data-online-sale-return-form] .pos-return-action-rail{
    position:static!important;
    top:auto!important;
    align-self:stretch!important;
    height:100%;
    min-height:0;
    justify-content:flex-start!important;
    padding:5px 4px!important;
    border:1px solid var(--line)!important;
    border-radius:10px;
    background:#f8faf7;
}
[data-online-sale-return-form] .pos-return-rail-button{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    margin:0!important;
    padding:0!important;
    border-radius:8px!important;
}

/* ---------- PENJUALAN ONLINE ---------- */
.online-sale-form{
    grid-template-columns:minmax(0,1fr) 46px!important;
    gap:8px!important;
    padding:8px!important;
}
.online-sale-form .online-sale-main{
    min-width:0;
    min-height:0;
    display:flex!important;
    flex-direction:column;
    gap:6px;
    padding:0!important;
    overflow:hidden;
}
.online-sale-form .online-sale-read-toolbar,
.online-sale-form .online-sale-edit-toolbar,
.online-sale-form .online-sale-page-tabs{
    flex:0 0 auto;
}
.online-sale-form .online-sale-page-pane[data-online-page-pane="data"]:not([hidden]){
    flex:1 1 auto;
    min-height:0;
    display:flex!important;
    flex-direction:column;
    overflow:hidden;
}
.online-sale-form .online-sale-header-section{
    flex:0 0 auto;
}
.online-sale-form .online-sale-detail-section{
    flex:1 1 auto;
    min-height:0;
    display:flex!important;
    flex-direction:column;
    margin-top:8px!important;
    overflow:hidden;
}
.online-sale-form .online-sale-detail-toolbar,
.online-sale-form .online-sale-summary,
.online-sale-form .block-error{
    flex:0 0 auto;
}
.online-sale-form .online-sale-detail-table-wrap{
    flex:1 1 auto;
    min-height:0;
    height:auto!important;
    max-height:none!important;
    overflow:auto;
}
.online-sale-form .online-sale-summary{
    margin-top:6px;
}
.online-sale-form .online-sale-page-pane[data-online-page-pane="packing"]:not([hidden]){
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
}
.online-sale-form .online-sale-action-rail{
    position:static!important;
    top:auto!important;
    align-self:stretch!important;
    height:100%;
    min-height:0;
    justify-content:flex-start!important;
    padding:5px 4px!important;
    border:1px solid var(--line)!important;
    border-radius:10px;
    background:#f8faf7;
}

/* Rail baru tetap kontras pada dark mode. */
html[data-theme="dark"] .purchase-return-form .purchase-action-rail,
html[data-theme="dark"] [data-online-sale-return-form] .pos-return-action-rail,
html[data-theme="dark"] .online-sale-form .online-sale-action-rail{
    border-color:#34463f!important;
    background:#17211e;
}

/* Mobile kembali ke flow natural; tidak mengunci viewport. */
@media(max-width:900px){
    .workspace-frame-page .purchase-return-form,
    .workspace-frame-page [data-online-sale-return-form],
    .workspace-frame-page .online-sale-form{
        height:auto!important;
        min-height:auto!important;
        max-height:none!important;
        overflow:visible!important;
    }
    .purchase-return-form,
    [data-online-sale-return-form].pos-return-transaction-card,
    .online-sale-form{
        grid-template-columns:1fr!important;
    }
    .purchase-return-form .purchase-action-rail,
    [data-online-sale-return-form] .pos-return-action-rail,
    .online-sale-form .online-sale-action-rail{
        height:auto;
        flex-direction:row;
        justify-content:flex-end!important;
        border-left:1px solid var(--line)!important;
        border-top:1px solid var(--line)!important;
    }
    .purchase-return-form .purchase-return-table-wrap,
    [data-online-sale-return-form] .pos-return-detail-grid,
    .online-sale-form .online-sale-detail-table-wrap{
        flex:0 1 auto;
        max-height:55vh!important;
    }
}

/* =========================================================
   V246 - TEMPLATE DESAIN FORM / GRID GLOBAL
   Keyword internal: "template desain form"
   - action rail kanan full-height
   - header/form control tetap terlihat
   - grid detail punya scroll internal sendiri
   - summary/footer tetap terlihat dan kandas di bawah
   - panel kerja mengisi tinggi workspace meski row kosong
   ========================================================= */

/* Semua halaman workspace yang memiliki grid menggunakan frame tetap.
   Dialog tetap berada di luar alur sehingga tidak ikut menjadi scroll form. */
.workspace-frame-page:has(.master-table) .workspace-frame-content{
    height:100vh!important;
    min-height:0!important;
    max-height:100vh!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
}
.workspace-frame-page:has(.master-table) .workspace-frame-content > .page-intro,
.workspace-frame-page:has(.master-table) .workspace-frame-content > .toolbar,
.workspace-frame-page:has(.master-table) .workspace-frame-content > .transaction-list-filter,
.workspace-frame-page:has(.master-table) .workspace-frame-content > .form-card:not(:has(.master-table)){
    flex:0 0 auto;
}

/* Grid list/master yang langsung berada di workspace mengambil sisa tinggi. */
.workspace-frame-page:has(.master-table) .workspace-frame-content > .master-table-card,
.workspace-frame-page:has(.master-table) .workspace-frame-content > .table-card{
    flex:1 1 auto;
    min-height:0!important;
    max-height:none!important;
    overflow:auto!important;
}

/* Header tabel tetap terlihat ketika isi grid discroll. */
.workspace-frame-page .master-table thead th{
    position:sticky;
    top:0;
    z-index:4;
}

/* ---------- TRANSAKSI PEMBELIAN ---------- */
.workspace-frame-page .purchase-rail-form{
    height:calc(100vh - 25px)!important;
    min-height:calc(100vh - 25px)!important;
    max-height:calc(100vh - 25px)!important;
    overflow:hidden!important;
    align-items:stretch!important;
}
.purchase-rail-form .purchase-form-main{
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.purchase-rail-form .purchase-header-section{flex:0 0 auto}
.purchase-rail-form .purchase-detail-section{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.purchase-rail-form .purchase-detail-toolbar,
.purchase-rail-form .purchase-import-status,
.purchase-rail-form .purchase-summary,
.purchase-rail-form .block-error{flex:0 0 auto}
.purchase-rail-form .purchase-detail-list{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
}
.purchase-rail-form .purchase-summary{margin-top:6px}
.purchase-rail-form .purchase-correction-history{
    flex:0 1 34%;
    min-height:0;
    overflow:auto;
}
.purchase-rail-form .purchase-action-rail{
    position:static!important;
    top:auto!important;
    align-self:stretch!important;
    height:100%;
    min-height:0;
    justify-content:flex-start;
}

/* ---------- RETUR BELI ---------- */
.purchase-return-form .purchase-return-table-wrap{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:auto!important;
}
.purchase-return-form .purchase-return-summary{margin-top:6px!important}

/* ---------- MUTASI BARANG ---------- */
.workspace-frame-page .transfer-form{
    height:calc(100vh - 25px)!important;
    min-height:calc(100vh - 25px)!important;
    max-height:calc(100vh - 25px)!important;
    overflow:hidden!important;
    align-items:stretch!important;
}
.transfer-form .transfer-main{
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.transfer-form .transfer-header-grid{flex:0 0 auto}
.transfer-form .transfer-detail-section{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.transfer-form .transfer-detail-toolbar,
.transfer-form .transfer-message,
.transfer-form .transfer-refill-recommendation,
.transfer-form .block-error{flex:0 0 auto}
.transfer-form .transfer-table-wrap{
    flex:1 1 auto;
    min-height:0!important;
    max-height:none!important;
    overflow:auto!important;
}
.transfer-form .transfer-action-rail{
    align-self:stretch;
    height:100%;
    min-height:0;
    justify-content:flex-start;
}

/* ---------- RETUR JUAL POS + ONLINE ---------- */
.workspace-frame-page [data-pos-return-form],
.workspace-frame-page [data-online-sale-return-form],
.workspace-frame-page .pos-return-transaction-card:not(form){
    height:calc(100vh - 25px)!important;
    min-height:calc(100vh - 25px)!important;
    max-height:calc(100vh - 25px)!important;
    overflow:hidden!important;
    align-items:stretch!important;
}
[data-pos-return-form] .pos-return-main,
[data-online-sale-return-form] .pos-return-main,
.pos-return-transaction-card:not(form) .pos-return-main{
    min-height:0;
    display:flex!important;
    flex-direction:column;
    overflow:hidden;
}
[data-pos-return-form] .pos-return-detail-section,
[data-online-sale-return-form] .pos-return-detail-section,
.pos-return-transaction-card:not(form) .pos-return-detail-section{
    flex:1 1 auto;
    min-height:0;
    display:flex!important;
    flex-direction:column;
    overflow:hidden;
}
[data-pos-return-form] .pos-return-detail-grid,
[data-online-sale-return-form] .pos-return-detail-grid,
.pos-return-transaction-card:not(form) .pos-return-detail-grid{
    flex:1 1 auto;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:auto!important;
}
[data-pos-return-form] .pos-return-summary,
[data-online-sale-return-form] .pos-return-summary,
.pos-return-transaction-card:not(form) .pos-return-summary{
    flex:0 0 auto;
    margin-top:6px!important;
}
[data-pos-return-form] .pos-return-action-rail,
[data-online-sale-return-form] .pos-return-action-rail{
    align-self:stretch!important;
    height:100%;
    min-height:0;
    justify-content:flex-start!important;
    padding:5px 4px!important;
    border:1px solid var(--line)!important;
    border-radius:10px;
    background:#f8faf7;
}

/* ---------- PENJUALAN ONLINE + PENGIRIMAN BARANG ---------- */
.workspace-frame-page .online-sale-form{
    height:calc(100vh - 25px)!important;
    min-height:calc(100vh - 25px)!important;
    max-height:calc(100vh - 25px)!important;
    overflow:hidden!important;
    align-items:stretch!important;
}
.online-shipment-form .online-shipment-main{
    min-height:0;
    display:flex!important;
    flex-direction:column;
    overflow:hidden;
}
.online-shipment-form .online-sale-read-toolbar,
.online-shipment-form .online-sale-header-section,
.online-shipment-form .shipment-scan-box{flex:0 0 auto}
.online-shipment-form .online-sale-detail-section{
    flex:1 1 auto;
    min-height:0;
    display:flex!important;
    flex-direction:column;
    overflow:hidden;
}
.online-shipment-form .online-sale-detail-table-wrap{
    flex:1 1 auto;
    min-height:0!important;
    max-height:none!important;
    overflow:auto!important;
}
.online-sale-form .online-sale-action-rail{
    align-self:stretch!important;
    height:100%;
    min-height:0;
    justify-content:flex-start!important;
}

/* ---------- BATCH SALE ---------- */
.workspace-frame-page .batch-sale-form{
    height:calc(100vh - 25px)!important;
    min-height:calc(100vh - 25px)!important;
    max-height:calc(100vh - 25px)!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 46px;
    gap:8px;
    padding:8px!important;
    overflow:hidden!important;
    align-items:stretch;
}
.batch-sale-main{
    min-width:0;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.batch-sale-header{flex:0 0 auto}
.batch-sale-detail{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.batch-sale-detail-toolbar{flex:0 0 auto}
.batch-sale-grid-wrap{
    flex:1 1 auto;
    min-height:0;
    max-height:none!important;
    overflow:auto!important;
}
.batch-sale-action-rail{
    align-self:stretch;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    height:100%;
    padding:5px 4px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#f8faf7;
}
.batch-sale-rail-button{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    border-radius:8px!important;
}

/* ---------- DIMENSI & BERAT ---------- */
.workspace-frame-page .item-logistics-form{
    height:calc(100vh - 25px)!important;
    min-height:calc(100vh - 25px)!important;
    max-height:calc(100vh - 25px)!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 46px;
    gap:8px;
    padding:8px!important;
    overflow:hidden!important;
    align-items:stretch;
}
.item-logistics-main{
    min-width:0;
    min-height:0;
    display:flex;
    flex-direction:column;
    gap:8px;
    overflow:hidden;
}
.item-logistics-main .item-logistics-section:first-of-type{flex:0 0 auto}
.item-logistics-main .item-logistics-section:last-of-type{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.item-logistics-main .item-weight-table-wrap{
    flex:1 1 auto;
    min-height:0;
    max-height:none!important;
    overflow:auto!important;
}
.item-logistics-action-rail{
    align-self:stretch;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    height:100%;
    padding:5px 4px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#f8faf7;
}
.item-logistics-rail-button{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    border-radius:8px!important;
}

/* ---------- GRID OPERASIONAL / LIST ---------- */
.rack-operation-page,
.stock-card-page,
.item-search-page{
    flex:1 1 auto;
    min-height:0;
    height:100%;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.rack-operation-page .rack-action-grid,
.rack-operation-page .rack-session-message,
.rack-operation-page .rack-contents-head,
.stock-card-page .stock-card-filter-card,
.stock-card-page .stock-card-product-head,
.stock-card-page .stock-card-summary-grid,
.item-search-page .item-search-filter-card{
    flex:0 0 auto;
}
.rack-operation-page .rack-log-table-wrap,
.stock-card-page .stock-card-table-wrap,
.item-search-page .item-search-results{
    flex:1 1 auto;
    min-height:0;
}
.rack-operation-page .rack-log-table-wrap,
.stock-card-page .stock-card-table-wrap,
.item-search-results .item-search-table-wrap{
    max-height:none!important;
    overflow:auto!important;
}
.item-search-page .item-search-results{
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.item-search-results .item-search-selected-head{flex:0 0 auto}
.item-search-results .item-search-table-wrap{flex:1 1 auto;min-height:0}

.damage-layout{
    flex:1 1 auto;
    min-height:0;
    height:100%;
    overflow:hidden;
    align-items:stretch!important;
}
.damage-entry-card{align-self:flex-start}
.damage-list-area{
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.damage-search-form,.damage-list-area .pagination{flex:0 0 auto}
.damage-table-wrap{
    flex:1 1 auto;
    min-height:0;
    max-height:none!important;
    overflow:auto!important;
}

.online-validation-grid{
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
}
.online-validation-grid > .table-card{
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.online-validation-grid .online-validation-title{flex:0 0 auto}
.online-validation-grid .online-validation-table-wrap{
    flex:1 1 auto;
    min-height:0;
    max-height:none!important;
    overflow:auto!important;
}

.barcode-print-page{
    flex:1 1 auto;
    min-height:0;
    height:100%;
    width:100%!important;
    max-width:none!important;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding-bottom:0!important;
}
.barcode-print-page .barcode-print-toolbar,
.barcode-print-page .page-intro{flex:0 0 auto}
.barcode-print-list-form{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.barcode-selection-head{flex:0 0 auto}
.barcode-print-table-wrap{
    flex:1 1 auto;
    min-height:0!important;
    max-height:none!important;
    overflow:auto!important;
}

/* Master-list standar: filter tetap, tabel mengambil sisa layar. */
.workspace-frame-page .workspace-frame-content > .master-table-card{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:auto!important;
}

/* Rail mengikuti dark mode. */
html[data-theme="dark"] .batch-sale-action-rail,
html[data-theme="dark"] .item-logistics-action-rail,
html[data-theme="dark"] [data-pos-return-form] .pos-return-action-rail{
    border-color:#34463f!important;
    background:#17211e;
}

/* Mobile kembali ke layout natural. */
@media(max-width:900px){
    .workspace-frame-page:has(.master-table) .workspace-frame-content{
        height:auto!important;
        min-height:100vh!important;
        max-height:none!important;
        overflow:visible!important;
    }
    .workspace-frame-page .purchase-rail-form,
    .workspace-frame-page .transfer-form,
    .workspace-frame-page [data-pos-return-form],
    .workspace-frame-page [data-online-sale-return-form],
    .workspace-frame-page .online-sale-form,
    .workspace-frame-page .batch-sale-form,
    .workspace-frame-page .item-logistics-form{
        height:auto!important;
        min-height:auto!important;
        max-height:none!important;
        overflow:visible!important;
    }
    .batch-sale-form,
    .item-logistics-form{
        grid-template-columns:1fr!important;
    }
    .batch-sale-action-rail,
    .item-logistics-action-rail{
        height:auto;
        flex-direction:row;
        justify-content:flex-end;
    }
    .rack-operation-page,
    .stock-card-page,
    .item-search-page,
    .damage-layout{
        height:auto;
        overflow:visible;
    }
}

/* =========================================================
   V247 - Penjualan Online: tab samping ala Master Barang
   ========================================================= */
.online-sale-form .online-sale-page-layout{
    flex:1 1 auto;
    min-height:0;
    min-width:0;
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:8px;
    overflow:hidden;
}
.online-sale-form .online-sale-page-tabs{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:5px;
    min-width:0;
    margin:0!important;
    padding:0 7px 0 0!important;
    border:0!important;
    border-right:1px solid var(--line)!important;
    background:transparent!important;
    overflow:visible!important;
}
.online-sale-form .online-sale-page-tabs button{
    position:relative;
    display:grid;
    place-items:center;
    width:36px;
    min-width:36px;
    height:36px;
    min-height:36px;
    padding:0!important;
    border:1px solid var(--line)!important;
    border-radius:9px!important;
    background:#f8faf7!important;
    color:#74827d!important;
    box-shadow:none!important;
    cursor:pointer;
}
.online-sale-form .online-sale-page-tabs button:hover{
    background:#eef2ed!important;
    color:var(--green)!important;
}
.online-sale-form .online-sale-page-tabs button.is-active{
    border-color:#b9cfb8!important;
    background:#e7f0e2!important;
    color:var(--green)!important;
    box-shadow:none!important;
}
.online-sale-form .online-sale-page-tabs button .ui-icon{
    width:18px;
    height:18px;
}
.online-sale-form .online-sale-page-tabs .online-sale-page-tab-count{
    position:absolute;
    top:-5px;
    right:-5px;
    display:grid;
    place-items:center;
    min-width:17px;
    height:17px;
    padding:0 4px;
    border:2px solid var(--white);
    border-radius:999px;
    background:var(--green);
    color:#fff;
    font-size:8px;
    line-height:1;
    font-weight:900;
}
.online-sale-form .online-sale-page-pages{
    min-width:0;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.online-sale-form .online-sale-page-pages>.online-sale-page-pane[data-online-page-pane="data"]:not([hidden]){
    flex:1 1 auto;
    min-height:0;
    display:flex!important;
    flex-direction:column;
    overflow:hidden;
}
.online-sale-form .online-sale-page-pages>.online-sale-page-pane[data-online-page-pane="packing"]:not([hidden]){
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
}
html[data-theme="dark"] .online-sale-form .online-sale-page-tabs{
    border-right-color:#35453f!important;
}
html[data-theme="dark"] .online-sale-form .online-sale-page-tabs button{
    border-color:#35453f!important;
    background:#1b2723!important;
    color:#9eaaa6!important;
}
html[data-theme="dark"] .online-sale-form .online-sale-page-tabs button:hover{
    background:#21302b!important;
    color:#dceae5!important;
}
html[data-theme="dark"] .online-sale-form .online-sale-page-tabs button.is-active{
    border-color:#416e5f!important;
    background:#22483c!important;
    color:#dceee8!important;
}
html[data-theme="dark"] .online-sale-form .online-sale-page-tabs .online-sale-page-tab-count{
    border-color:#101917;
}
@media(max-width:900px){
    .online-sale-form .online-sale-page-layout{
        display:flex;
        flex-direction:column;
        overflow:visible;
    }
    .online-sale-form .online-sale-page-tabs{
        flex-direction:row;
        align-items:center;
        gap:5px;
        padding:0 0 6px!important;
        border-right:0!important;
        border-bottom:1px solid var(--line)!important;
    }
    .online-sale-form .online-sale-page-pages{
        overflow:visible;
    }
    html[data-theme="dark"] .online-sale-form .online-sale-page-tabs{
        border-bottom-color:#35453f!important;
    }
}

/* =========================================================
   V248 - Penjualan Online: tab Informasi + log transaksi
   ========================================================= */
.online-sale-form .online-sale-page-pages>.online-sale-page-pane[data-online-page-pane="info"]:not([hidden]){
    flex:1 1 auto;
    min-height:0;
    display:block!important;
    overflow:auto;
}
.online-sale-form .online-sale-direct-print-indicator{
    position:relative;
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    min-width:28px;
    min-height:28px;
    margin:0 4px 3px;
    margin-top:auto;
    border:1px solid #e0b3ad;
    border-radius:8px;
    background:#fff2f0;
    color:#a73f35;
    cursor:default;
}
.online-sale-form .online-sale-direct-print-indicator.is-ready{
    border-color:#9fceb0;
    background:#edf8f1;
    color:#18713d;
}
.online-sale-form .online-sale-direct-print-indicator.is-error{
    border-color:#e0b3ad;
    background:#fff2f0;
    color:#a73f35;
}
.online-sale-form .online-sale-direct-print-indicator .ui-icon{
    width:15px;
    height:15px;
}
.online-sale-form .online-sale-direct-print-indicator [data-printer-status-text]{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}
.online-sale-info-panel{
    min-height:100%;
    border:1px solid var(--line);
    border-radius:11px;
    background:var(--white);
    overflow:hidden;
}
.online-sale-info-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:13px 15px;
    border-bottom:1px solid var(--line);
    background:#fafbf9;
}
.online-sale-info-head>div{min-width:0}
.online-sale-info-head strong,.online-sale-info-head small{display:block}
.online-sale-info-head>div>strong{font-size:14px;color:var(--ink)}
.online-sale-info-head>div>small{margin-top:2px;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}
.online-sale-info-timeline{
    position:relative;
    padding:8px 14px 14px 14px;
}
.online-sale-info-event{
    position:relative;
    display:grid;
    grid-template-columns:32px minmax(0,1fr);
    gap:10px;
    padding:10px 0;
}
.online-sale-info-event:not(:last-child):after{
    content:"";
    position:absolute;
    left:15px;
    top:40px;
    bottom:-2px;
    width:1px;
    background:var(--line);
}
.online-sale-info-event-icon{
    position:relative;
    z-index:1;
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border:1px solid #dce3de;
    border-radius:9px;
    background:#f5f7f4;
    color:#64736d;
}
.online-sale-info-event-icon .ui-icon{width:15px;height:15px}
.online-sale-info-event.event-created .online-sale-info-event-icon,
.online-sale-info-event.event-printed .online-sale-info-event-icon,
.online-sale-info-event.event-shipped .online-sale-info-event-icon{
    border-color:#b9d7c5;
    background:#eef8f2;
    color:#236d46;
}
.online-sale-info-event.event-edited .online-sale-info-event-icon,
.online-sale-info-event.event-reprinted .online-sale-info-event-icon,
.online-sale-info-event.event-packing_recorded .online-sale-info-event-icon{
    border-color:#cfd7df;
    background:#f2f5f8;
    color:#4b6276;
}
.online-sale-info-event.event-cancelled .online-sale-info-event-icon,
.online-sale-info-event.event-shipment_cancelled .online-sale-info-event-icon{
    border-color:#e0b3ad;
    background:#fff2f0;
    color:#a73f35;
}
.online-sale-info-event-body{min-width:0;padding-top:1px}
.online-sale-info-event-title{display:flex;align-items:center;gap:7px;min-width:0}
.online-sale-info-event-title strong{font-size:12px;color:var(--ink)}
.online-sale-info-event-title span{
    display:inline-flex;
    align-items:center;
    min-height:18px;
    padding:2px 6px;
    border-radius:999px;
    background:#eef1ed;
    color:#68766f;
    font-size:7px;
    line-height:1;
    font-weight:800;
    letter-spacing:.45px;
    white-space:nowrap;
}
.online-sale-info-event-body>small{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:10px;
    font-variant-numeric:tabular-nums;
}
.online-sale-info-event-body p{
    margin:4px 0 0;
    color:#53615b;
    font-size:10px;
    line-height:1.45;
}
.online-sale-info-empty{
    padding:26px 12px;
    text-align:center;
    color:var(--muted);
    font-size:11px;
}
html[data-theme="dark"] .online-sale-form .online-sale-direct-print-indicator{
    border-color:#69443f;
    background:#33211f;
    color:#ef9a8d;
}
html[data-theme="dark"] .online-sale-form .online-sale-direct-print-indicator.is-ready{
    border-color:#35694d;
    background:#173326;
    color:#78d49c;
}
html[data-theme="dark"] .online-sale-info-panel{
    border-color:#34463f;
    background:#17211e;
}
html[data-theme="dark"] .online-sale-info-head{
    border-bottom-color:#34463f;
    background:#1b2723;
}
html[data-theme="dark"] .online-sale-info-event:not(:last-child):after{background:#34463f}
html[data-theme="dark"] .online-sale-info-event-icon{
    border-color:#3a4c45;
    background:#1d2a26;
    color:#a6b3ae;
}
html[data-theme="dark"] .online-sale-info-event-title span{
    background:#26342f;
    color:#aebbb6;
}
html[data-theme="dark"] .online-sale-info-event-body p{color:#aab6b1}
@media(max-width:900px){
    .online-sale-form .online-sale-direct-print-indicator{
        margin-top:0;
        margin-left:auto;
        margin-bottom:0;
    }
    .online-sale-info-panel{min-height:320px}
}

/* =========================================================
   V249 - Penjualan Online: filter tanggal + sortable grid
   ========================================================= */
.online-sale-list-filter .transaction-list-filter-fields{
    grid-template-columns:minmax(250px,1.25fr) minmax(240px,1.1fr) minmax(145px,.55fr) minmax(145px,.55fr);
}
.online-sale-list-table thead th.is-sortable{
    padding:0!important;
}
.online-sale-list-table .online-sale-sort-link{
    display:flex;
    align-items:center;
    gap:7px;
    width:100%;
    min-height:100%;
    padding:8px 12px;
    color:inherit;
    font:inherit;
    letter-spacing:inherit;
    text-transform:inherit;
    cursor:pointer;
}
.online-sale-list-table .online-sale-sort-link span{
    min-width:0;
}
.online-sale-list-table .online-sale-sort-link b{
    min-width:9px;
    margin-left:auto;
    font-size:8px;
    line-height:1;
    color:var(--green);
}
.online-sale-list-table thead th.is-sortable:hover .online-sale-sort-link{
    background:#eef3ee;
    color:var(--green);
}
.online-sale-list-table thead th.is-sortable.is-active .online-sale-sort-link{
    color:var(--green);
    background:#f1f5f1;
}
html[data-theme="dark"] .online-sale-list-table thead th.is-sortable:hover .online-sale-sort-link,
html[data-theme="dark"] .online-sale-list-table thead th.is-sortable.is-active .online-sale-sort-link{
    background:#20302a;
    color:#dceee8;
}
html[data-theme="dark"] .online-sale-list-table .online-sale-sort-link b{
    color:#9ec9b9;
}
@media(max-width:1200px){
    .online-sale-list-filter .transaction-list-filter-fields{
        grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(140px,.65fr) minmax(140px,.65fr);
    }
}
@media(max-width:900px){
    .online-sale-list-filter .transaction-list-filter-fields{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:620px){
    .online-sale-list-filter .transaction-list-filter-fields{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   V250 - Operational Period / Tutup Periode
   ========================================================= */
.topbar-period-chip{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:92px;
    height:47px;
    padding:6px 11px;
    border:1px solid #d8ddd7;
    border-radius:11px;
    background:#fff;
    color:var(--green);
    line-height:1.1;
    font-variant-numeric:tabular-nums;
    transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.topbar-period-chip:hover{border-color:#aebbb4;box-shadow:0 6px 18px rgba(24,35,40,.07)}
.topbar-period-chip small{font-size:6px;font-weight:800;letter-spacing:1.15px;color:#849087}
.topbar-period-chip strong{margin-top:4px;font-size:11px;white-space:nowrap}
.topbar-period-chip.is-behind{border-color:#e2b7a4;background:#fff3ed;color:#9b402a}
.topbar-period-chip.is-behind small{color:#b46750}

.period-page{display:grid;gap:14px;max-width:1380px;margin:0 auto}
.period-head-card,.period-blocker-card,.period-summary-card,.period-actions-card,.period-history-card{
    border:1px solid var(--line);
    border-radius:15px;
    background:#fff;
    box-shadow:0 5px 22px rgba(24,35,40,.025);
}
.period-head-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 20px}
.period-head-card>div:first-child small,.period-summary-card>header small{font-size:7px;font-weight:800;letter-spacing:1.2px;color:var(--muted)}
.period-head-card h2{margin:4px 0 2px;font-size:20px}
.period-head-card p{margin:0;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.5px}
.period-date-box{min-width:240px;padding:11px 14px;border:1px solid #dfe4de;border-radius:11px;background:#f8faf7;text-align:right;font-variant-numeric:tabular-nums}
.period-date-box small,.period-date-box strong,.period-date-box span{display:block}
.period-date-box small{font-size:7px;font-weight:800;letter-spacing:1.2px;color:#7b8982}
.period-date-box strong{margin-top:3px;color:var(--green);font-size:20px}
.period-date-box span{margin-top:3px;color:var(--muted);font-size:9px}
.period-date-box.is-behind{border-color:#e3b6a2;background:#fff1ea}
.period-date-box.is-behind strong{color:#9b402a}

.period-blocker-card{overflow:hidden;border-color:#e8c8bf;background:#fff9f7}
.period-blocker-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid #efd9d2}
.period-blocker-card>header strong{color:#9d3f32;font-size:13px}
.period-blocker-card>header span{color:#a6675b;font-size:10px}
.period-blocker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;padding:12px}
.period-blocker-grid>div{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #efd8d2;border-radius:10px;background:#fff}
.period-blocker-grid b{display:grid;place-items:center;min-width:30px;height:30px;padding:0 7px;border-radius:8px;background:#a84d3f;color:#fff;font-size:12px}
.period-blocker-grid span{font-size:10px;font-weight:700;color:#714943}

.period-summary-card{overflow:hidden}
.period-summary-card>header{padding:12px 15px;border-bottom:1px solid var(--line);background:#fafbf9}
.period-summary-card>header strong{display:block;margin-top:2px;font-size:13px;color:var(--green)}
.period-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:1px;background:var(--line)}
.period-summary-grid article{min-height:104px;padding:15px;background:#fff}
.period-summary-grid article small,.period-summary-grid article strong,.period-summary-grid article span,.period-summary-grid article b{display:block}
.period-summary-grid article small{font-size:7px;font-weight:800;letter-spacing:1px;color:var(--muted)}
.period-summary-grid article strong{margin-top:7px;font-size:13px;color:var(--ink)}
.period-summary-grid article span{margin-top:3px;color:var(--muted);font-size:10px}
.period-summary-grid article b{margin-top:8px;color:var(--green);font-size:15px}
.period-payment-block,.period-transit-block{padding:15px;border-top:1px solid var(--line)}
.period-summary-card>header+.period-payment-block,.period-summary-card>header+.period-transit-block{border-top:0}
.period-payment-block h3,.period-transit-block h3{margin:0 0 10px;font-size:11px;color:var(--green)}
.period-payment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.period-payment-grid>div{padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fafbf9}
.period-payment-grid span,.period-payment-grid strong,.period-payment-grid small{display:block}
.period-payment-grid span{font-size:8px;font-weight:800;letter-spacing:.7px;color:var(--muted)}
.period-payment-grid strong{margin-top:5px;font-size:13px}
.period-payment-grid small{margin-top:3px;color:var(--muted);font-size:9px}
.period-transit-block{background:#fffdf7}
.period-transit-block h3{color:#8b6518}
.period-transit-table{border-radius:10px}
.period-transit-table .master-table th,.period-transit-table .master-table td{white-space:nowrap}

.period-actions-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px}
.period-actions-card>form:first-child{flex:0 0 auto}
.period-actions-card .primary:disabled{opacity:.4;cursor:not-allowed}
.period-rewind-form{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1}
.period-rewind-form input{width:min(430px,100%);height:37px;padding:8px 10px;border:1px solid #dfe2dc;border-radius:9px;background:#fff;font-size:10px}
.period-history-card{overflow:hidden}
.period-history-card>header{padding:12px 15px;border-bottom:1px solid var(--line);background:#fafbf9}
.period-history-card>header strong{font-size:12px}
.period-history-card .table-card{border:0;border-radius:0}
.period-history-card .secondary{padding:6px 9px;font-size:9px}
.period-recap-page .period-summary-card{box-shadow:none}

html[data-theme="dark"] .topbar-period-chip,
html[data-theme="dark"] .period-head-card,
html[data-theme="dark"] .period-summary-card,
html[data-theme="dark"] .period-actions-card,
html[data-theme="dark"] .period-history-card{border-color:#33433f;background:#17211e;color:var(--ink)}
html[data-theme="dark"] .topbar-period-chip{background:#18231f;color:#d8eee7}
html[data-theme="dark"] .topbar-period-chip:hover{border-color:#50645d;box-shadow:none}
html[data-theme="dark"] .topbar-period-chip.is-behind{border-color:#714a40;background:#35241f;color:#efaa95}
html[data-theme="dark"] .period-date-box{border-color:#34463f;background:#1d2925}
html[data-theme="dark"] .period-date-box strong{color:#c8e7dc}
html[data-theme="dark"] .period-date-box.is-behind{border-color:#70493f;background:#34231f}
html[data-theme="dark"] .period-date-box.is-behind strong{color:#efa28d}
html[data-theme="dark"] .period-blocker-card{border-color:#6b443d;background:#2b1d1a}
html[data-theme="dark"] .period-blocker-card>header{border-bottom-color:#604039}
html[data-theme="dark"] .period-blocker-grid>div{border-color:#604039;background:#241a18}
html[data-theme="dark"] .period-summary-card>header,
html[data-theme="dark"] .period-history-card>header{border-color:#33433f;background:#1d2824}
html[data-theme="dark"] .period-summary-grid{background:#33433f}
html[data-theme="dark"] .period-summary-grid article{background:#17211e}
html[data-theme="dark"] .period-summary-grid article b,
html[data-theme="dark"] .period-summary-card>header strong,
html[data-theme="dark"] .period-payment-block h3{color:#c8e7dc}
html[data-theme="dark"] .period-payment-block,
html[data-theme="dark"] .period-transit-block{border-color:#33433f}
html[data-theme="dark"] .period-payment-grid>div{border-color:#33433f;background:#1d2824}
html[data-theme="dark"] .period-transit-block{background:#27251b}
html[data-theme="dark"] .period-transit-block h3{color:#e0c878}
html[data-theme="dark"] .period-rewind-form input{border-color:#3a4a45;background:#18231f;color:var(--ink)}

@media(max-width:1280px){
    .topbar-period-chip{min-width:82px;padding-left:8px;padding-right:8px}
}
@media(max-width:900px){
    .period-head-card{align-items:stretch;flex-direction:column}
    .period-date-box{min-width:0;text-align:left}
    .period-actions-card{align-items:stretch;flex-direction:column}
    .period-rewind-form{justify-content:stretch}
    .period-rewind-form input{width:100%}
}
@media(max-width:760px){
    .topbar-period-chip{height:39px;min-width:74px;padding:5px 7px}
    .topbar-period-chip strong{font-size:9px}
    .topbar-period-chip small{font-size:5px}
    .period-summary-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
    .period-summary-grid,.period-payment-grid{grid-template-columns:1fr}
    .period-rewind-form{flex-direction:column;align-items:stretch}
}

/* V255 - Readonly/disabled fields: visually different from editable inputs */
input:not([type="checkbox"]):not([type="radio"]):read-only,
textarea:read-only,
input:not([type="checkbox"]):not([type="radio"]):disabled,
textarea:disabled,
select:disabled {
    background:#eef0ed !important;
    border-color:#d8ddd8 !important;
    color:#5f6965 !important;
    box-shadow:none !important;
}
input:not([type="checkbox"]):not([type="radio"]):disabled,
textarea:disabled,
select:disabled { cursor:not-allowed; }
html[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]):read-only,
html[data-theme="dark"] textarea:read-only,
html[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]):disabled,
html[data-theme="dark"] textarea:disabled,
html[data-theme="dark"] select:disabled {
    background:#222b28 !important;
    border-color:#3a4743 !important;
    color:#9eaaa5 !important;
}

/* V256 - Rekap Tutup Periode dalam kanvas kertas A4 */
.period-recap-stage{min-height:100%;padding:12px 0 28px;overflow:auto;background:#eef0ec}
.period-a4-report{width:min(210mm,calc(100% - 24px));min-height:297mm;margin:0 auto;padding:14mm 14mm 16mm;background:#fff;color:#17202b;border:1px solid #d8ddd8;box-shadow:0 10px 32px rgba(24,35,40,.10);font-variant-numeric:tabular-nums}
.period-a4-header{margin-bottom:9mm}
.period-a4-title{text-align:center}
.period-a4-title small{display:block;font-size:8px;font-weight:800;letter-spacing:1.8px;color:#6f7d77}
.period-a4-title h1{margin:4px 0 0;font-size:20px;letter-spacing:.4px;color:#153d35}
.period-a4-rule{height:2px;margin:7mm 0 5mm;background:#153d35}
.period-a4-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4mm 7mm}
.period-a4-meta div{min-width:0}
.period-a4-meta span,.period-a4-meta strong{display:block}
.period-a4-meta span{font-size:7px;font-weight:800;letter-spacing:.9px;color:#7a8680;text-transform:uppercase}
.period-a4-meta strong{margin-top:2px;font-size:10px;line-height:1.35;overflow-wrap:anywhere}
.period-a4-section{margin-top:8mm;break-inside:avoid}
.period-a4-section h2{margin:0 0 3mm;padding-bottom:2mm;border-bottom:1px solid #cfd6d1;font-size:9px;letter-spacing:1px;color:#153d35}
.period-a4-table{width:100%;border-collapse:collapse;font-size:9px}
.period-a4-table th{padding:2.5mm 2.4mm;border:1px solid #d8ddd9;background:#f1f4f0;color:#56645e;text-align:left;font-size:7px;letter-spacing:.65px}
.period-a4-table td{padding:2.8mm 2.4mm;border:1px solid #dde2de;vertical-align:top}
.period-a4-table .num{text-align:right;white-space:nowrap}
.period-a4-transit .period-a4-table{font-size:8px}
html[data-theme="dark"] .period-recap-stage{background:#101714}
html[data-theme="dark"] .period-a4-report{background:#fff;color:#17202b;border-color:#394640;box-shadow:0 10px 32px rgba(0,0,0,.35)}
@media(max-width:760px){.period-a4-report{width:calc(100% - 12px);min-height:0;padding:18px 14px}.period-a4-meta{grid-template-columns:1fr 1fr;gap:10px 14px}.period-a4-table{font-size:8px}.period-a4-table th,.period-a4-table td{padding:7px 6px}}
@media print{body.workspace-frame-page{background:#fff}.workspace-frame-content{padding:0!important}.period-recap-stage{padding:0;background:#fff}.period-a4-report{width:210mm;min-height:297mm;margin:0;padding:14mm;box-shadow:none;border:0}.portal-version-footer,.portal-toast{display:none!important}}

/* V257 - Rekap Tutup Periode: header sederhana + waktu tutup di footer */
.period-a4-report{display:flex;flex-direction:column}
.period-a4-header-simple{margin-bottom:0}
.period-a4-title-simple{text-align:left}
.period-a4-title-simple h1{margin:0;font-size:20px;letter-spacing:.35px;color:#153d35}
.period-a4-simple-meta{display:grid;gap:2mm;margin-top:5mm}
.period-a4-simple-meta div{display:grid;grid-template-columns:31mm minmax(0,1fr);align-items:baseline}
.period-a4-simple-meta span{font-size:8px;font-weight:800;letter-spacing:.7px;color:#65736d}
.period-a4-simple-meta strong{font-size:10px;line-height:1.4;color:#17202b}
.period-a4-header-simple .period-a4-rule{margin:5mm 0 0;height:1px;background:#153d35}
.period-a4-body{display:block}
.period-a4-body>.period-a4-section:first-child{margin-top:7mm}
.period-a4-footer{margin-top:auto;padding-top:7mm;border-top:1px solid #d8ddd9;font-size:8px;color:#727f79;text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:760px){.period-a4-simple-meta div{grid-template-columns:110px minmax(0,1fr)}.period-a4-footer{margin-top:36px}}
@media print{.period-a4-footer{margin-top:auto}}

/* V259 - Rekap Tutup Periode: header centered and tighter */
.period-a4-title-simple{text-align:center}
.period-a4-title-simple h1{margin:0;font-size:25px;line-height:1.05;letter-spacing:.45px;color:#153d35}
.period-a4-period-date,.period-a4-location-name{display:block;color:#17202b;text-align:center}
.period-a4-period-date{margin-top:2.2mm;font-size:17px;line-height:1.08}
.period-a4-location-name{margin-top:.8mm;font-size:14px;line-height:1.08;letter-spacing:.15px}
.period-a4-header-simple .period-a4-rule{margin:3.5mm 0 0;height:1px;background:#153d35}
.period-a4-footer{border-top-color:#000;color:#000;font-size:8px;font-weight:600}
@media(max-width:760px){.period-a4-title-simple h1{font-size:22px}.period-a4-period-date{font-size:16px}.period-a4-location-name{font-size:13px}}
@media print{.period-a4-footer{border-top-color:#000;color:#000}}

/* V261 - operational feature bundle */
.simple-feature-page,.report-page{display:flex;flex-direction:column;gap:12px;min-height:0}
.feature-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.feature-head-row>div:first-child{display:flex;flex-direction:column;gap:2px}
.feature-head-row>div:first-child>strong{font-size:14px;color:var(--ink)}
.feature-head-row>div:first-child>small{font-size:10px;color:var(--muted)}
.feature-actions{display:flex;align-items:center;gap:8px}
.inline-search{display:flex;align-items:center;gap:7px;min-width:min(520px,100%)}
.inline-search input{width:min(390px,70vw);min-height:38px;border:1px solid var(--line);border-radius:9px;padding:8px 11px;background:#fff}
.feature-note{padding:9px 11px;border:1px solid #dfe4df;border-radius:9px;background:#f7f9f6;color:#55635e;font-size:10px;line-height:1.45}
.compact-form-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px}
.compact-form-card>label{display:block;margin-top:12px;font-size:11px;font-weight:700}
.compact-form-card textarea{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #dfe2dc;border-radius:9px;resize:vertical;background:#fff}
.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-action-row{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.exchange-preview{min-height:52px;margin-top:10px;border:1px dashed #cfd7d1;border-radius:9px;background:#fafbf9;padding:10px;font-size:11px;color:#53635d;line-height:1.5}
.exchange-preview strong{color:var(--green)}
.opname-scan-box{display:grid;grid-template-columns:minmax(260px,440px) 1fr;gap:10px;align-items:center;padding:11px;border:1px solid #cdd8d1;border-radius:10px;background:#f7faf6}
.opname-scan-box input{height:42px;border:1px solid #b9c8be;border-radius:9px;padding:0 12px;font-size:16px;font-weight:700;letter-spacing:.6px;background:#fff}
.opname-scan-box span{font-size:11px;color:var(--muted)}
.row-counted td{background:#f0f7ed!important}
.report-filter-bar{display:grid;grid-template-columns:180px 180px minmax(240px,1fr) auto auto;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.report-filter-bar label{display:flex;flex-direction:column;gap:4px;font-size:9px;font-weight:700;color:#52605a}
.report-filter-bar input[type=date],.report-filter-bar input[type=search]{width:100%;height:36px;border:1px solid #dce1dc;border-radius:8px;padding:0 9px;background:#fff;color:var(--ink)}
.report-filter-search{min-width:0}
.report-hpp-toggle{height:36px!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;padding:0 9px;border:1px solid #dce1dc;border-radius:8px;background:#fafbf9;white-space:nowrap}
.report-context-line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}
.report-context-line strong{color:var(--ink);font-size:12px}
.report-summary-row{display:flex;gap:8px;flex-wrap:wrap}
.report-summary-row>div{min-width:145px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}
.report-summary-row small,.member-profile-head small{display:block;font-size:7px;font-weight:800;letter-spacing:.8px;color:var(--muted)}
.report-summary-row strong{display:block;margin-top:2px;font-size:15px;color:var(--ink)}
.report-table-card{min-height:0;overflow:auto}
.report-table{min-width:780px}
.report-table thead a{display:flex;align-items:center;gap:5px;color:inherit}
.report-table td{white-space:nowrap}
.member-profile-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff}
.member-profile-head>div{display:flex;flex-direction:column;gap:2px}
.member-profile-head strong{font-size:18px;color:var(--green)}
.member-profile-head span{font-size:11px;color:var(--muted)}
.check-line{display:flex!important;flex-direction:row!important;align-items:center!important;gap:7px!important;padding-top:20px}
[data-pos-member-status]{display:block;min-height:12px;margin-top:3px;color:#47705f;font-size:8px;white-space:normal}
@media(max-width:1000px){.report-filter-bar{grid-template-columns:1fr 1fr}.report-filter-search{grid-column:1/-1}.form-grid.three{grid-template-columns:1fr 1fr}.opname-scan-box{grid-template-columns:1fr}}
@media(max-width:650px){.form-grid.three{grid-template-columns:1fr}.report-filter-bar{grid-template-columns:1fr}.report-filter-search{grid-column:auto}.feature-head-row{align-items:stretch}.inline-search{min-width:0}.inline-search input{width:100%}.report-context-line{align-items:flex-start;flex-direction:column}}

/* =========================================================
   V262 - Operational bundle workspace polish
   ========================================================= */
.workspace-module-page .feature-workspace-surface{
  height:100%;
  min-height:0;
  margin:0;
  padding:10px 14px 14px;
  gap:8px;
  overflow:hidden;
  background:var(--paper);
}
.workspace-frame-page:not(.workspace-module-page) .feature-workspace-surface{
  min-height:calc(100vh - 28px);
  padding:0;
  gap:8px;
}
.feature-workspace-surface>.feature-toolbar-card{
  flex:0 0 auto;
  min-height:54px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--white);
}
.feature-workspace-surface>.feature-grid-fill{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  margin:0;
  border-radius:10px;
}
.feature-workspace-surface>.feature-grid-fill>table thead th{
  position:sticky;
  top:0;
  z-index:2;
}
.feature-workspace-surface>.pagination{flex:0 0 auto;margin-top:0}
.feature-form-fill{flex:1 1 auto;min-height:0;margin:0;overflow:auto}
.feature-toolbar-card .inline-search{min-width:min(560px,75%)}
.feature-toolbar-card .primary,.feature-toolbar-card .secondary{min-height:36px}

/* Reports: compact filter + grid fills workspace. */
.report-page.feature-workspace-surface .report-filter-bar{flex:0 0 auto;margin:0}
.report-page.feature-workspace-surface .report-context-line{flex:0 0 auto;padding:0 2px}
.report-page.feature-workspace-surface .report-summary-row{flex:0 0 auto}
.report-page.feature-workspace-surface .report-table-card{flex:1 1 auto;min-height:0}

/* POS Member: selected member is a button; management stays in a dialog. */
.pos-member-field{display:grid;gap:4px;min-width:0;font-size:10px;font-weight:700}
.pos-member-field>span{display:block}
.pos-member-button{
  width:100%;height:48px;min-width:0;padding:6px 11px;
  border:1px solid #dfe2dc;border-radius:9px;background:#fff;color:var(--ink);
  text-align:left;cursor:pointer;overflow:hidden
}
.pos-member-button:hover,.pos-member-button:focus-visible{border-color:#66867d;box-shadow:0 0 0 3px rgba(21,61,53,.07);outline:0}
.pos-member-button strong,.pos-member-button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pos-member-button strong{font-size:12px;color:var(--green)}
.pos-member-button small{margin-top:2px;font-size:8px;color:var(--muted);font-weight:600}
.pos-member-dialog{width:min(720px,calc(100vw - 24px));max-height:min(720px,calc(100vh - 30px));padding:0;border:0;border-radius:14px;background:transparent}
.pos-member-dialog::backdrop{background:rgba(11,28,25,.55);backdrop-filter:blur(2px)}
.pos-member-dialog-card{display:flex;max-height:min(720px,calc(100vh - 30px));flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.pos-member-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line)}
.pos-member-dialog-head strong,.pos-member-dialog-head small{display:block}.pos-member-dialog-head strong{font-size:16px;color:var(--green)}.pos-member-dialog-head small{margin-top:2px;font-size:9px;color:var(--muted)}
.pos-member-dialog-close{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:8px;background:#f1f3ef;color:var(--ink);font-size:22px;cursor:pointer}
.pos-member-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:10px 14px;border-bottom:1px solid var(--line)}
.pos-member-search-row input{height:40px;border:1px solid #dfe2dc;border-radius:8px;padding:0 11px;background:#fff}
.pos-member-results{min-height:180px;max-height:360px;overflow:auto;padding:8px 10px}
.pos-member-result{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:0;border-bottom:1px solid #edf0ec;background:#fff;color:var(--ink);text-align:left;cursor:pointer}
.pos-member-result:hover{background:#f4f7f2}.pos-member-result span{min-width:0}.pos-member-result strong,.pos-member-result small{display:block}.pos-member-result strong{font-size:12px;color:var(--green)}.pos-member-result small{margin-top:2px;font-size:9px;color:var(--muted)}.pos-member-result b{flex:0 0 auto;font-size:10px;color:var(--muted)}
.pos-member-empty{padding:30px 12px;text-align:center;color:var(--muted);font-size:11px}.pos-member-empty.error{color:#9c3c3c}
.pos-member-dialog-actions{display:flex;justify-content:space-between;gap:8px;padding:10px 14px;border-top:1px solid var(--line)}
.pos-member-quick-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 14px;border-top:1px solid var(--line);background:#f8faf7}
.pos-member-quick-form[hidden]{display:none}.pos-member-quick-form label{display:grid;gap:4px;font-size:9px;font-weight:700}.pos-member-quick-form input{height:38px;border:1px solid #dfe2dc;border-radius:8px;padding:0 10px;background:#fff}
.pos-member-quick-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px}.pos-member-quick-message{grid-column:1/-1;color:#9c3c3c}
html[data-theme="dark"] .pos-member-dialog-card,html[data-theme="dark"] .pos-member-button,html[data-theme="dark"] .pos-member-result,html[data-theme="dark"] .pos-member-search-row input,html[data-theme="dark"] .pos-member-quick-form input{background:#17211e;border-color:#33433f;color:var(--ink)}
html[data-theme="dark"] .pos-member-result:hover,html[data-theme="dark"] .pos-member-quick-form{background:#1d2925}
@media(max-width:700px){.workspace-module-page .feature-workspace-surface{padding:7px}.feature-toolbar-card{align-items:stretch!important}.feature-toolbar-card .inline-search{min-width:0;width:100%}.pos-member-quick-form{grid-template-columns:1fr}}

/* =========================================================
   V263 - Rapikan field form modul baru
   ========================================================= */
.compact-form-card .form-grid>label:not(.check-line),
.compact-form-card>label:not(.check-line){
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:0;
  color:var(--ink);
  font-size:11px;
  font-weight:700;
  line-height:1.25;
}
.compact-form-card .form-grid>label:not(.check-line)>small,
.compact-form-card>label:not(.check-line)>small{
  color:var(--muted);
  font-size:9px;
  font-weight:500;
}
.compact-form-card .form-grid input:not([type="checkbox"]):not([type="radio"]),
.compact-form-card .form-grid select,
.compact-form-card .form-grid textarea,
.compact-form-card>label>input:not([type="checkbox"]):not([type="radio"]),
.compact-form-card>label>select,
.compact-form-card>label>textarea{
  display:block;
  width:100%;
  min-width:0;
  height:42px;
  margin:0;
  padding:0 12px;
  border:1px solid #d6ddd7;
  border-radius:9px;
  outline:0;
  background:#fff;
  color:var(--ink);
  font-size:13px;
  font-weight:500;
  box-shadow:0 1px 2px rgba(24,35,40,.025);
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.compact-form-card .form-grid select,
.compact-form-card>label>select{
  cursor:pointer;
}
.compact-form-card .form-grid textarea,
.compact-form-card>label>textarea{
  height:auto;
  min-height:150px;
  padding:10px 12px;
  line-height:1.45;
  resize:vertical;
}
.compact-form-card .form-grid input:not([type="checkbox"]):not([type="radio"]):focus,
.compact-form-card .form-grid select:focus,
.compact-form-card .form-grid textarea:focus,
.compact-form-card>label>input:not([type="checkbox"]):not([type="radio"]):focus,
.compact-form-card>label>select:focus,
.compact-form-card>label>textarea:focus{
  border-color:#6f8f85;
  box-shadow:0 0 0 3px rgba(21,61,53,.08);
}
.compact-form-card input::placeholder,
.compact-form-card textarea::placeholder{
  color:#9aa39e;
  font-weight:400;
}
.compact-form-card .form-grid.three{gap:14px 16px}
.compact-form-card .feature-note{margin-top:12px}
.compact-form-card .form-action-row{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
html[data-theme="dark"] .compact-form-card .form-grid input:not([type="checkbox"]):not([type="radio"]),
html[data-theme="dark"] .compact-form-card .form-grid select,
html[data-theme="dark"] .compact-form-card .form-grid textarea,
html[data-theme="dark"] .compact-form-card>label>input:not([type="checkbox"]):not([type="radio"]),
html[data-theme="dark"] .compact-form-card>label>select,
html[data-theme="dark"] .compact-form-card>label>textarea{
  background:#17211e;
  border-color:#33433f;
  color:var(--ink);
}

/* V264 · Adjust Stock mengikuti template desain form */
.adjust-list-intro{margin-bottom:14px}.adjust-list-intro p{margin:3px 0 0;color:var(--muted)}
.adjust-list-toolbar{margin-bottom:10px}.adjust-list-toolbar input{min-width:0}.adjust-list-grid{min-height:0;flex:1}
.adjust-status{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.4px;background:#eef0ed;color:#52615b}.adjust-status.draft{background:#fff4d8;color:#8a5a00}.adjust-status.sah{background:#e6f3e7;color:#285c30}
.adjust-form-card{height:calc(100vh - 155px);min-height:570px;display:grid;grid-template-columns:minmax(0,1fr) 64px;padding:0!important;overflow:hidden}
.adjust-form-main{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.adjust-header-section{padding:16px 18px 12px;border-bottom:1px solid var(--line);background:#fff}.adjust-header-grid{margin-bottom:10px}.adjust-reason-field{display:block}.adjust-reason-field input{margin-top:6px}
.adjust-detail-section{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:#fff}
.adjust-detail-toolbar{min-height:56px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);background:#fafbf9}.adjust-detail-toolbar strong,.adjust-detail-toolbar small{display:block}.adjust-detail-toolbar strong{font-size:13px}.adjust-detail-toolbar small{margin-top:2px;color:var(--muted);font-size:10px}.adjust-scan-box{display:flex;align-items:center;gap:7px;min-width:min(390px,42vw)}.adjust-scan-box input{flex:1;height:38px}.adjust-scan-box .icon-action{width:38px;height:38px;padding:0}
.adjust-inline-error{margin:8px 12px 0;padding:8px 10px;border:1px solid #efc4c4;border-radius:8px;background:#fff1f1;color:#9d3f3f;font-size:11px;font-weight:650}
.adjust-detail-scroll{min-height:0;overflow:auto}.adjust-detail-table{min-width:900px}.adjust-detail-table thead th{position:sticky;top:0;z-index:2}.adjust-detail-table td{vertical-align:middle}.adjust-detail-table td strong,.adjust-detail-table td small{display:block}.adjust-detail-table td small{margin-top:2px;color:var(--muted);font-size:9px}.adjust-detail-table td:last-child{width:48px}
.adjust-target-cell{display:grid;grid-template-columns:minmax(170px,1fr) auto 92px;gap:8px;align-items:center}.adjust-target-cell>strong,.adjust-target-cell>small{grid-column:1}.adjust-target-cell>small{margin-top:-5px}.adjust-target-cell>button{grid-column:2;grid-row:1/3}.adjust-target-cell>label{grid-column:3;grid-row:1/3;margin:0;font-size:9px}.adjust-target-cell>label input{margin-top:3px;height:34px;padding:7px 8px}.adjust-target-empty{color:#9b8370;font-size:11px}.adjust-effect-loss{font-size:10px;font-weight:800;color:#9d3f3f}
.adjust-summary{min-height:54px;padding:8px 14px;display:flex;align-items:center;gap:28px;border-top:1px solid var(--line);background:#fafbf9}.adjust-summary span small,.adjust-summary span strong{display:block}.adjust-summary span small{font-size:8px;letter-spacing:1px;color:var(--muted)}.adjust-summary span strong{margin-top:2px;font-size:14px;color:var(--green)}
.adjust-action-rail{height:100%;min-height:0}.adjust-log-section{max-height:170px;overflow:auto;border-top:1px solid var(--line);padding:10px 14px;background:#fbfcfa}.adjust-section-title{font-size:10px;font-weight:800;letter-spacing:1px;margin-bottom:7px}
.adjust-item-dialog .item-help-card{width:min(800px,92vw)}.adjust-item-dialog header small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.adjust-item-dialog tbody tr{cursor:pointer}.adjust-item-dialog tbody tr:hover{background:#f1f5ee}
.adjust-form-card input[readonly],.adjust-form-card textarea[readonly],.adjust-form-card select:disabled{background:#ecefeb!important;color:#59645f!important;border-color:#d9ddd8!important;cursor:not-allowed}
@media(max-width:900px){.adjust-form-card{height:auto;min-height:0;grid-template-columns:1fr}.adjust-action-rail{min-height:62px;height:auto}.adjust-form-main{display:block}.adjust-detail-section{min-height:520px}.adjust-scan-box{min-width:0;width:100%}.adjust-detail-toolbar{align-items:flex-start;flex-direction:column}.adjust-target-cell{grid-template-columns:1fr}.adjust-target-cell>strong,.adjust-target-cell>small,.adjust-target-cell>button,.adjust-target-cell>label{grid-column:1;grid-row:auto}}

/* V268 - Kartu Stok: riwayat barcode expand/collapse langsung di dalam grid */
.stock-card-barcode-row.stock-card-row-odd{background:#fff!important}
.stock-card-barcode-row.stock-card-row-even{background:#f1f5ed!important}
.stock-card-barcode-row.stock-card-row-odd:hover,
.stock-card-barcode-row.stock-card-row-even:hover{background:#e7eee3!important}
.stock-card-barcode-row.is-selected{background:#dce8d7!important;box-shadow:inset 3px 0 0 var(--green)}
.stock-card-row-toggle{
    display:inline-block;
    width:14px;
    margin-right:4px;
    color:var(--green);
    font-size:16px;
    line-height:1;
    transform:rotate(0deg);
    transform-origin:center;
    transition:transform .14s ease;
    vertical-align:-1px;
}
.stock-card-barcode-row.is-expanded .stock-card-row-toggle{transform:rotate(90deg)}
.stock-card-inline-history-row[hidden]{display:none!important}
.stock-card-inline-history-row>td{
    padding:0!important;
    border-top:0!important;
    background:#f7f9f5!important;
}
.stock-card-inline-history{
    padding:10px 14px 12px;
    border-top:1px solid #d7dfd3;
    border-bottom:1px solid #d7dfd3;
    box-shadow:inset 3px 0 0 var(--green);
}
.stock-card-inline-history .stock-card-history-head{margin-bottom:6px}
.stock-card-inline-history .stock-card-history-timeline{
    max-height:260px;
    overflow:auto;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
}
.stock-card-inline-history .barcode-history-event:last-child{border-bottom:0}
html[data-theme="dark"] .stock-card-barcode-row.stock-card-row-odd{background:#17211e!important}
html[data-theme="dark"] .stock-card-barcode-row.stock-card-row-even{background:#1d2824!important}
html[data-theme="dark"] .stock-card-barcode-row.stock-card-row-odd:hover,
html[data-theme="dark"] .stock-card-barcode-row.stock-card-row-even:hover{background:#26352f!important}
html[data-theme="dark"] .stock-card-barcode-row.is-selected{background:#29483c!important}
html[data-theme="dark"] .stock-card-inline-history-row>td{background:#18231f!important}
html[data-theme="dark"] .stock-card-inline-history{border-color:#33433f}
html[data-theme="dark"] .stock-card-inline-history .stock-card-history-timeline{background:#17211e;border-color:#33433f}


/* V269 - Adjust Stock: ukuran normal dan identitas lama/baru lebih jelas */
.adjust-target-cell{grid-template-columns:minmax(220px,1fr) auto minmax(150px,170px)}
.adjust-target-cell>label{font-size:11px;font-weight:700}
.adjust-target-cell>label input{width:100%;min-width:150px;height:40px;padding:9px 10px;font-size:13px}
.adjust-identity-full{font-size:12px;line-height:1.35;font-weight:700;white-space:normal}
.adjust-before-size{display:block;margin-top:3px;color:var(--text);font-size:12px;line-height:1.3;font-weight:600}
.adjust-target-cell-readonly{display:block}
.adjust-target-cell-readonly>small{display:block;margin-top:4px!important}
@media(max-width:900px){.adjust-target-cell{grid-template-columns:1fr}.adjust-target-cell>label input{min-width:0;width:100%}}


/* V270 - Adjust Stock table alignment */
.adjust-detail-table{table-layout:fixed;width:100%}
.adjust-detail-table th:nth-child(1),.adjust-detail-table td:nth-child(1){width:16%}
.adjust-detail-table th:nth-child(2),.adjust-detail-table td:nth-child(2){width:34%}
.adjust-detail-table th:nth-child(3),.adjust-detail-table td:nth-child(3){width:auto;text-align:left}
.adjust-detail-table td.actions,.adjust-detail-table th:last-child:has(+ *){width:48px}
.adjust-detail-table td.actions{width:48px;text-align:center}
.adjust-detail-table tbody td:nth-child(3){text-align:left!important}
.adjust-detail-table thead th[data-adjust-target-head]{text-align:left!important}
.adjust-target-cell-readonly{display:block;width:100%;text-align:left}
.adjust-target-cell-readonly .adjust-identity-full{display:inline-block;max-width:100%;white-space:normal;word-break:normal}
.adjust-identity-inline{display:inline-block;white-space:nowrap}
.adjust-before-size{display:inline;margin:0}
@media(max-width:900px){.adjust-detail-table{table-layout:auto}.adjust-detail-table th:nth-child(1),.adjust-detail-table td:nth-child(1),.adjust-detail-table th:nth-child(2),.adjust-detail-table td:nth-child(2){width:auto}.adjust-identity-inline{white-space:normal}}

/* V271 - Global grid columns: resize + reorder */
.workspace-frame-page table.portal-grid-columns th.portal-grid-col{
    position:relative;
    padding-left:24px;
}
.portal-grid-col-grip{
    position:absolute;
    left:6px;
    top:50%;
    width:10px;
    height:14px;
    transform:translateY(-50%);
    display:grid;
    grid-template-columns:repeat(2,2px);
    grid-auto-rows:2px;
    gap:2px;
    align-content:center;
    justify-content:center;
    cursor:grab;
    opacity:.18;
    transition:opacity .12s ease;
    z-index:7;
}
.portal-grid-col-grip i{width:2px;height:2px;border-radius:50%;background:currentColor;display:block}
th.portal-grid-col:hover>.portal-grid-col-grip{opacity:.62}
.portal-grid-col-grip:active{cursor:grabbing}
.portal-grid-col-resizer{
    position:absolute;
    top:0;
    right:-4px;
    width:9px;
    height:100%;
    cursor:col-resize;
    z-index:8;
    touch-action:none;
}
.portal-grid-col-resizer::after{
    content:"";
    position:absolute;
    top:22%;
    bottom:22%;
    left:4px;
    width:1px;
    background:rgba(21,61,53,.22);
    opacity:0;
    transition:opacity .12s ease,background .12s ease;
}
th.portal-grid-col:hover>.portal-grid-col-resizer::after,
.portal-grid-resizing .portal-grid-col-resizer::after{opacity:1}
.portal-grid-resizing{cursor:col-resize!important;user-select:none!important}
.portal-grid-resizing *{cursor:col-resize!important}
th.portal-grid-col.is-grid-dragging{opacity:.48}
th.portal-grid-col.is-grid-drop-before::before,
th.portal-grid-col.is-grid-drop-after::before{
    content:"";
    position:absolute;
    top:3px;
    bottom:3px;
    width:2px;
    background:var(--green);
    z-index:12;
}
th.portal-grid-col.is-grid-drop-before::before{left:-1px}
th.portal-grid-col.is-grid-drop-after::before{right:-1px}
html[data-theme="dark"] .portal-grid-col-resizer::after{background:rgba(200,232,107,.32)}


/* V279 - Referensi Tukar Ukuran pada Penjualan Online */
.online-sale-exchange-grid{margin-top:8px;padding-top:8px;border-top:1px solid #e2e6e1}
.online-sale-exchange-summary{display:flex;gap:12px;align-items:center;margin-top:6px;padding:8px 10px;border:1px solid #d9e1da;border-radius:10px;background:#f6f8f5;font-size:12px}
.online-sale-exchange-summary strong{color:#0f4b40}
.online-sale-exchange-summary small{margin-left:auto;color:#66736e}

/* V281 - restore global transaction READ MODE watermark after V279 app.css replacement */
.transaction-read-mode-host{position:relative}
.transaction-read-mode-watermark{
    position:absolute;
    z-index:3;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%) rotate(-18deg);
    font-size:clamp(64px,10vw,150px);
    line-height:1;
    font-weight:900;
    letter-spacing:.12em;
    color:rgba(21,61,53,.055);
    white-space:nowrap;
    pointer-events:none;
    user-select:none;
}
html[data-theme="dark"] .transaction-read-mode-watermark{color:rgba(218,238,231,.055)}
@media(max-width:700px){.transaction-read-mode-watermark{font-size:58px}}

/* =========================================================
   V281 - Tukar Ukuran Online mengikuti Template Desain Form
   ========================================================= */
.online-size-exchange-form{
    width:100%;
    height:100%;
    min-height:0;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 46px!important;
    gap:8px!important;
    padding:8px!important;
    overflow:hidden;
}
.online-size-exchange-main{
    min-width:0;
    min-height:0;
    display:flex;
    flex-direction:column;
    gap:8px;
    overflow:hidden;
}
.online-size-exchange-header-section{
    flex:0 0 auto;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--white);
    padding:9px 10px;
}
.online-size-exchange-header-grid{gap:8px!important}
.online-size-exchange-header-grid label{margin:0!important}
.online-size-exchange-header-grid input{min-height:36px}
.online-size-exchange-notes-field{grid-column:span 2}
.online-size-exchange-detail-section{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    gap:6px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--white);
    padding:8px;
}
.online-size-exchange-detail-toolbar{
    flex:0 0 auto;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:10px;
    min-height:39px;
}
.online-size-exchange-detail-toolbar>strong{font-size:12px;color:var(--ink)}
.online-size-exchange-detail-toolbar>span{font-size:11px;font-weight:800;color:var(--green)}
.online-size-exchange-scan-group{
    display:grid;
    grid-template-columns:repeat(2,minmax(190px,250px));
    gap:7px;
    margin-left:auto;
}
.online-size-exchange-scan-group label{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:7px!important;
    margin:0!important;
    font-size:9px!important;
    font-weight:800!important;
    color:var(--muted);
    white-space:nowrap;
}
.online-size-exchange-scan-group input{
    width:100%;
    min-height:36px;
    font-size:13px;
    font-weight:700;
    letter-spacing:.3px;
}
.online-size-exchange-message{
    flex:0 0 auto;
    border-radius:8px;
    padding:7px 9px;
    font-size:10px;
    font-weight:700;
}
.online-size-exchange-message.error{background:#fee2e2;color:#991b1b}
.online-size-exchange-message.success{background:#dff7e8;color:#17683a}
.online-size-exchange-detail-grid{
    flex:1 1 auto;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:auto;
    border-radius:8px;
}
.online-size-exchange-detail-table{min-width:760px}
.online-size-exchange-detail-table thead th{position:sticky;top:0;z-index:2}
.online-size-exchange-detail-table td{vertical-align:middle}
.online-size-exchange-summary{
    flex:0 0 auto;
    display:flex;
    gap:7px;
    align-items:stretch;
}
.online-size-exchange-summary>div{
    min-width:150px;
    min-height:48px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fafbf9;
    padding:7px 10px;
}
.online-size-exchange-summary small{
    font-size:7px;
    font-weight:800;
    letter-spacing:.8px;
    color:var(--muted);
}
.online-size-exchange-summary strong{margin-top:2px;font-size:13px;color:var(--ink)}
.online-size-exchange-summary span{margin-top:2px;font-size:9px;color:var(--muted)}
.online-size-exchange-action-rail{
    min-height:0;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    padding:5px 4px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#f8faf7;
}
.online-size-exchange-action-rail form{margin:0;width:100%;display:grid;place-items:center}
.online-size-exchange-rail-button{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    margin:0!important;
    padding:0!important;
    border-radius:8px!important;
    display:grid!important;
    place-items:center!important;
    text-decoration:none!important;
}
.online-size-exchange-rail-spacer{flex:1 1 auto}
.online-size-exchange-form.is-read-mode input[readonly]{background:#f7f8f5;color:#28332f;opacity:1;cursor:default}
html[data-theme="dark"] .online-size-exchange-header-section,
html[data-theme="dark"] .online-size-exchange-detail-section{background:var(--white)}
html[data-theme="dark"] .online-size-exchange-action-rail{background:#17231f}
html[data-theme="dark"] .online-size-exchange-summary>div{background:#151f1c}
@media(max-width:900px){
    .online-size-exchange-form{height:auto;min-height:0;grid-template-columns:1fr!important;overflow:visible}
    .online-size-exchange-main{overflow:visible}
    .online-size-exchange-action-rail{height:auto;min-height:50px;flex-direction:row;justify-content:flex-end}
    .online-size-exchange-rail-spacer{display:none}
    .online-size-exchange-scan-group{grid-template-columns:1fr 1fr;width:100%}
    .online-size-exchange-detail-toolbar{align-items:stretch;flex-direction:column}
    .online-size-exchange-notes-field{grid-column:span 1}
}
@media(max-width:650px){
    .online-size-exchange-scan-group{grid-template-columns:1fr}
    .online-size-exchange-scan-group label{grid-template-columns:1fr}
    .online-size-exchange-summary{flex-direction:column}
    .online-size-exchange-summary>div{min-width:0}
}

/* V283 — Tukar Ukuran Online: satu baris per barcode kembali + Help Table pengganti */
.online-size-exchange-entry-toolbar{align-items:center;gap:14px}
.online-size-exchange-old-scan{margin-left:auto!important;display:grid!important;grid-template-columns:auto minmax(260px,390px);align-items:center;gap:9px;font-size:10px;font-weight:800;color:var(--muted);white-space:nowrap}
.online-size-exchange-old-scan input{min-height:34px;padding:7px 10px;border:1px solid #d8ddd8;border-radius:8px;background:#fff;color:var(--ink);font-size:13px;font-weight:700}
.online-size-exchange-old-scan input:focus{outline:0;border-color:#6d8e84;box-shadow:0 0 0 3px rgba(21,61,53,.08)}
.online-size-exchange-entry-table{min-width:980px}
.online-size-exchange-entry-table th:nth-child(1){width:150px}
.online-size-exchange-entry-table th:nth-child(3),.online-size-exchange-entry-table th:nth-child(5){width:105px;text-align:center}
.online-size-exchange-entry-table td:nth-child(3),.online-size-exchange-entry-table td:nth-child(5),.online-size-exchange-entry-table td:nth-child(6){text-align:center}
.online-size-exchange-entry-table th:last-child,.online-size-exchange-entry-table td:last-child{width:46px;text-align:center}
.online-size-exchange-pair-table{min-width:920px}
.online-size-exchange-pair-table td:nth-child(3),.online-size-exchange-pair-table td:nth-child(5){text-align:center}
.online-size-exchange-pick-button{width:100%;min-height:31px;padding:5px 9px!important;justify-content:flex-start!important;gap:7px;border-radius:7px!important;font-size:11px!important;white-space:nowrap;overflow:hidden}
.online-size-exchange-pick-button span:last-child{overflow:hidden;text-overflow:ellipsis}
.online-size-exchange-search-icon{font-size:17px;line-height:1;color:var(--green);flex:0 0 auto}
.online-size-exchange-help-dialog{width:min(760px,calc(100vw - 28px));max-height:82vh;border:0;border-radius:16px;padding:0;background:#fff;box-shadow:0 30px 100px rgba(10,30,25,.28)}
.online-size-exchange-help-dialog::backdrop{background:rgba(10,28,24,.52);backdrop-filter:blur(2px)}
.online-size-exchange-help-card{display:flex;flex-direction:column;max-height:82vh}
.online-size-exchange-help-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 18px 13px;border-bottom:1px solid var(--line)}
.online-size-exchange-help-card>header strong,.online-size-exchange-help-card>header small{display:block}
.online-size-exchange-help-card>header strong{font-size:14px}.online-size-exchange-help-card>header small{margin-top:3px;font-size:10px;color:var(--muted)}
.online-size-exchange-help-card>header button{border:0;background:transparent;font-size:25px;line-height:1;cursor:pointer;color:var(--muted)}
.online-size-exchange-help-search{display:flex;gap:8px;padding:12px 18px 8px}
.online-size-exchange-help-search input{flex:1;min-width:0;border:1px solid #dfe3de;border-radius:8px;padding:8px 10px}
.online-size-exchange-help-context{padding:0 18px 9px;font-size:10px;font-weight:700;color:var(--green)}
.online-size-exchange-help-table-wrap{overflow:auto;border-top:1px solid var(--line);min-height:180px}
.online-size-exchange-help-table-wrap table{margin:0;min-width:560px}
.online-size-exchange-help-row{cursor:pointer}.online-size-exchange-help-row:hover,.online-size-exchange-help-row:focus{outline:0;background:#eef4ee}
html[data-theme="dark"] .online-size-exchange-help-dialog{background:var(--white)}
@media(max-width:900px){.online-size-exchange-old-scan{margin-left:0!important;grid-template-columns:1fr;width:100%}.online-size-exchange-old-scan input{width:100%}}

/* =========================================================
   V284 - Tukar Ukuran Online: grid ringkas + header lebih bersih
   ========================================================= */
.online-size-exchange-create-header-grid .online-size-exchange-notes-field{
    grid-column:1 / -1!important;
}
.online-size-exchange-detail-grid{
    display:block!important;
}
.online-size-exchange-entry-table{
    min-width:900px!important;
    height:auto!important;
    table-layout:fixed;
    align-self:flex-start;
}
.online-size-exchange-entry-table tbody{
    height:auto!important;
}
.online-size-exchange-entry-table tbody tr{
    height:44px!important;
}
.online-size-exchange-entry-table tbody td{
    height:44px!important;
    padding:6px 12px!important;
    vertical-align:middle!important;
}
.online-size-exchange-entry-table tbody .no-data{
    height:auto!important;
    padding:34px 12px!important;
}
.online-size-exchange-entry-table th:nth-child(1){width:150px}
.online-size-exchange-entry-table th:nth-child(2){width:290px}
.online-size-exchange-entry-table th:nth-child(3),
.online-size-exchange-entry-table th:nth-child(5){width:100px;text-align:center}
.online-size-exchange-entry-table td:nth-child(3),
.online-size-exchange-entry-table td:nth-child(5){text-align:center}
.online-size-exchange-entry-table th:last-child,
.online-size-exchange-entry-table td:last-child{width:46px;text-align:center}
.online-size-exchange-pick-button{
    min-height:30px!important;
    height:30px!important;
}

/* V297 · Global transaction ergonomics */
.workspace-tab-activity{flex:0 0 42px;min-width:42px;max-width:42px}
.workspace-tab-activity .workspace-tab-select{width:42px;min-width:42px;padding:0;justify-content:center}
.workspace-tab-select-icon .workspace-tab-icon{width:18px;height:18px;display:grid;place-items:center}
.workspace-tab-select-icon .workspace-tab-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.has-global-transaction-info{position:relative}
.global-transaction-info-tab{position:absolute;left:7px;top:8px;z-index:23;width:32px;height:32px;border:1px solid #cdd7d1;border-radius:9px;background:#f7faf7;color:#153d35;font-weight:800;font-size:16px;cursor:pointer;display:grid;place-items:center}
.global-transaction-info-tab.active,.global-transaction-info-tab:hover{background:#153d35;color:#fff}
.global-transaction-info-drawer{position:absolute;left:45px;top:7px;z-index:24;width:min(390px,calc(100% - 60px));max-height:calc(100% - 14px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px rgba(20,48,41,.18)}
.global-transaction-info-drawer>header{position:sticky;top:0;background:#fff;z-index:2;display:flex;gap:12px;align-items:center;padding:12px 13px;border-bottom:1px solid var(--line)}
.global-transaction-info-drawer>header>div{min-width:0;flex:1}.global-transaction-info-drawer>header strong,.global-transaction-info-drawer>header small{display:block}.global-transaction-info-drawer>header small{font-size:10px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.global-transaction-info-drawer>header button{border:0;background:#eef1ed;border-radius:8px;width:28px;height:28px;cursor:pointer}
.global-transaction-info-list{padding:8px 10px 12px}.global-transaction-info-list article{display:grid;grid-template-columns:118px 1fr;gap:10px;padding:9px 5px;border-bottom:1px solid #edf0ec}.global-transaction-info-list article:last-child{border-bottom:0}.global-transaction-info-list time{font-size:10px;color:var(--muted)}.global-transaction-info-list strong,.global-transaction-info-list span{display:block;font-size:11px}.global-transaction-info-list span{color:var(--muted);margin-top:2px}.global-info-empty{padding:28px 12px;text-align:center;color:var(--muted);font-size:12px}

.global-read-mode-surface{position:relative;overflow:hidden}.global-read-mode-watermark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1;color:rgba(24,55,47,.055);font-size:clamp(62px,9vw,150px);font-weight:800;letter-spacing:.08em;transform:rotate(-17deg)}
.global-read-mode-statuses{position:absolute;left:50%;top:calc(50% + 78px);transform:translateX(-50%) rotate(17deg);display:flex;gap:6px;flex-wrap:wrap;justify-content:center;width:max-content;max-width:80vw;font-size:9px;letter-spacing:.05em}
.online-sale-mode-watermark .global-read-mode-statuses,.read-mode-watermark .global-read-mode-statuses{position:static;transform:none;margin-top:7px}
.global-read-status{display:inline-flex;align-items:center;min-height:20px;padding:3px 7px;border-radius:999px;background:#eff1ee;color:#607068;font-weight:800;white-space:nowrap;opacity:1}
.global-read-status.status-success{background:#e2f3df;color:#26703a}.global-read-status.status-danger{background:#f9e2e5;color:#a3253b}.global-read-status.status-warning{background:#fff0cf;color:#996200}.global-read-status.status-muted{background:#ecefed;color:#66716b}

.transaction-list-filter-fields{align-items:end}.transaction-filter-date{min-width:145px;max-width:190px}.transaction-filter-date input{min-height:38px}
.item-help-search input[type="search"],.online-sale-help-search input[type="search"],.online-size-exchange-help-search input[type="search"]{width:100%}
.item-help-search:has(> input:only-child),.online-sale-help-search:has(> input:only-child),.online-size-exchange-help-search:has(> input:only-child){display:block}
.online-size-exchange-help-row.is-selected{outline:2px solid rgba(21,61,53,.25);outline-offset:-2px}
.auto-transaction-number-field[hidden]{display:none!important}
@media(max-width:700px){.global-transaction-info-drawer{left:5px;top:45px;width:calc(100% - 10px);max-height:70vh}.global-transaction-info-list article{grid-template-columns:96px 1fr}.transaction-filter-date{max-width:none}}
.transaction-read-mode-watermark .global-read-mode-statuses{position:static;transform:none;margin-top:7px}


/* =========================================================
   V298 · Global transaction polish
   ========================================================= */

/* READ MODE status: satu strip tipis, tidak menempel/berputar bersama watermark. */
.global-read-mode-statuses{display:none!important}
.has-global-read-statebar{position:relative}
.global-read-mode-statebar{
    position:absolute;
    top:8px;
    right:10px;
    z-index:22;
    display:flex;
    align-items:center;
    gap:8px;
    min-height:25px;
    max-width:calc(100% - 70px);
    padding:4px 8px;
    border:1px solid rgba(202,211,205,.92);
    border-radius:8px;
    background:rgba(255,255,255,.88);
    box-shadow:0 3px 12px rgba(28,55,47,.06);
    backdrop-filter:blur(4px);
    color:#64716c;
    pointer-events:none;
    white-space:nowrap;
}
.online-sale-form .global-read-mode-statebar{right:62px}
.global-read-mode-label{
    font-size:8px;
    font-weight:900;
    letter-spacing:.11em;
    color:#87918c;
}
.global-read-state{
    display:inline-flex;
    align-items:center;
    gap:5px;
    font-size:8.5px;
    font-weight:850;
    letter-spacing:.035em;
    color:#5d6964;
}
.global-read-state i{
    display:block;
    width:6px;
    height:6px;
    flex:0 0 6px;
    border-radius:50%;
    background:#9ba49f;
}
.global-read-state.status-success{color:#2e6d43}
.global-read-state.status-success i{background:#4e9a61}
.global-read-state.status-danger{color:#a12f42}
.global-read-state.status-danger i{background:#c84b60}
.global-read-state.status-warning{color:#8d6416}
.global-read-state.status-warning i{background:#d59a29}
.global-read-state.status-muted{color:#66716b}
.global-read-state.status-muted i{background:#9aa49f}
html[data-theme="dark"] .global-read-mode-statebar{
    border-color:#3a4944;
    background:rgba(24,34,31,.9);
    color:#b7c0bd;
}

/* Info/Log global memakai rail kiri seperti Penjualan Online. */
.global-transaction-tabbed-surface{
    position:relative!important;
    padding-left:52px!important;
}
.global-transaction-page-tabs{
    position:absolute;
    left:7px;
    top:8px;
    z-index:24;
    width:36px;
    display:flex;
    flex-direction:column;
    gap:5px;
}
.global-transaction-page-tabs button{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    padding:0;
    border:1px solid var(--line);
    border-radius:9px;
    background:#f8faf7;
    color:#74827d;
    cursor:pointer;
}
.global-transaction-page-tabs button:hover{
    background:#eef2ed;
    color:var(--green);
}
.global-transaction-page-tabs button.is-active{
    border-color:#b9cfb8;
    background:#e7f0e2;
    color:var(--green);
}
.global-transaction-page-tabs svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.global-transaction-info-page{
    grid-column:1/-1;
    min-width:0;
    min-height:360px;
    height:100%;
    overflow:auto;
    padding:10px 12px 14px;
    border:1px solid var(--line);
    border-radius:9px;
    background:var(--white);
}
.global-transaction-info-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:4px 4px 10px;
    border-bottom:1px solid var(--line);
}
.global-transaction-info-head strong,
.global-transaction-info-head small{display:block}
.global-transaction-info-head strong{font-size:13px}
.global-transaction-info-head small{margin-top:2px;color:var(--muted);font-size:9px}
.global-info-active>.global-transaction-data-node{display:none!important}
.global-info-active>.transaction-read-mode-watermark,
.global-info-active>.global-read-mode-watermark{display:none!important}

/* Help Table: ukuran dialog stabil, row lama tetap tampil saat query berikutnya dimuat. */
.item-help-dialog,
.online-sale-help-dialog,
.online-size-exchange-help-dialog,
.batch-sale-help-dialog{
    width:min(1080px,calc(100vw - 28px))!important;
    max-width:1080px!important;
}
.item-help-card,
.online-sale-help-card,
.online-size-exchange-help-card,
.batch-sale-help-card{
    width:100%;
    height:min(76vh,680px);
    min-height:min(560px,calc(100vh - 72px));
    max-height:min(88vh,760px)!important;
}
.item-help-table-wrap,
.online-sale-help-table-wrap,
.online-size-exchange-help-table-wrap,
.batch-sale-help-dialog .item-help-table-wrap{
    position:relative;
    flex:1 1 auto;
    min-height:0!important;
    height:auto!important;
    overflow:auto;
    contain:layout paint;
}
.item-help-table-wrap.is-help-loading::after,
.online-sale-help-table-wrap.is-help-loading::after,
.online-size-exchange-help-table-wrap.is-help-loading::after,
.batch-sale-help-dialog .item-help-table-wrap.is-help-loading::after{
    content:"";
    position:sticky;
    z-index:5;
    top:8px;
    float:right;
    width:15px;
    height:15px;
    margin:8px 9px -23px 0;
    border:2px solid rgba(21,61,53,.18);
    border-top-color:var(--green);
    border-radius:50%;
    animation:portal-help-spin .7s linear infinite;
    pointer-events:none;
}
@keyframes portal-help-spin{to{transform:rotate(360deg)}}

/* Filter list desktop harus satu baris; baru turun responsif pada layar lebih sempit. */
.transaction-list-filter{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
}
.transaction-list-filter-fields{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:end!important;
    gap:7px!important;
    min-width:0;
}
.transaction-list-filter-fields>.transaction-filter-date{
    flex:0 0 142px;
    min-width:142px;
    max-width:142px;
}
.transaction-list-filter-fields>.transaction-filter-field:not(.transaction-filter-date){
    flex:1 1 210px;
    min-width:150px;
    max-width:none;
}
.transaction-list-filter-fields>label:not(.transaction-filter-field),
.transaction-list-filter-fields>select{
    flex:0 1 170px;
    min-width:130px;
}
.transaction-list-filter-actions{align-self:end}

@media(max-width:1100px){
    .transaction-list-filter{grid-template-columns:1fr!important}
    .transaction-list-filter-fields{flex-wrap:wrap!important}
    .transaction-list-filter-fields>.transaction-filter-date{flex:0 0 calc(50% - 4px);max-width:none}
    .transaction-list-filter-fields>.transaction-filter-field:not(.transaction-filter-date){flex:1 1 calc(50% - 4px)}
    .transaction-list-filter-actions{justify-content:flex-end}
}
@media(max-width:700px){
    .global-transaction-tabbed-surface{
        padding-left:10px!important;
        padding-top:52px!important;
    }
    .global-transaction-page-tabs{
        left:10px;
        top:8px;
        width:auto;
        flex-direction:row;
    }
    .global-read-mode-statebar{
        top:10px;
        right:10px!important;
        max-width:calc(100% - 110px);
        overflow:hidden;
    }
    .item-help-card,
    .online-sale-help-card,
    .online-size-exchange-help-card,
    .batch-sale-help-card{
        height:min(82vh,620px);
        min-height:min(500px,calc(100vh - 44px));
    }
    .transaction-list-filter-fields{
        display:grid!important;
        grid-template-columns:1fr!important;
    }
    .transaction-list-filter-fields>.transaction-filter-date,
    .transaction-list-filter-fields>.transaction-filter-field:not(.transaction-filter-date){
        min-width:0;
        max-width:none;
        width:100%;
    }
}


/* =========================================================
   V299 · Read status kiri bawah + Online Sale compact + Retur rail
   ========================================================= */

/* Status transaksi: hanya status, tanpa mengulang tulisan READ MODE.
   Ditempatkan kecil di kiri bawah supaya watermark tetap jadi penanda mode. */
.global-read-mode-statebar{
    top:auto!important;
    right:auto!important;
    left:10px!important;
    bottom:8px!important;
    min-height:23px;
    max-width:calc(100% - 78px);
    padding:4px 7px;
    gap:7px;
    border-radius:7px;
    box-shadow:0 2px 9px rgba(28,55,47,.05);
    white-space:normal;
    flex-wrap:wrap;
    justify-content:flex-start;
}
.global-read-mode-label{display:none!important}
.online-sale-form .global-read-mode-statebar{
    left:62px!important;
    right:auto!important;
}
.global-transaction-tabbed-surface .global-read-mode-statebar{
    left:58px!important;
}
.global-read-state{
    font-size:8.5px;
    line-height:1.05;
}

/* Keterangan + Referensi Tukar Barang berbagi satu baris. */
.online-sale-header-tail{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:2px 8px;
    margin-top:2px;
    align-items:start;
}
.online-sale-header-tail .online-sale-notes-field,
.online-sale-header-tail .online-sale-exchange-field{
    grid-column:auto!important;
}
.online-sale-header-tail .online-sale-notes-field textarea{
    min-height:36px;
}
.online-sale-header-tail .online-sale-exchange-field select{
    min-width:0;
    width:100%;
}

/* Retur Jual Online: rail kiri dibuat kolom nyata, bukan overlay absolut. */
[data-online-sale-return-form].global-transaction-tabbed-surface{
    grid-template-columns:46px minmax(0,1fr) 46px!important;
    column-gap:8px!important;
    padding:8px!important;
}
[data-online-sale-return-form].global-transaction-tabbed-surface > .global-transaction-page-tabs{
    position:static!important;
    grid-column:1!important;
    grid-row:1!important;
    align-self:stretch;
    width:46px!important;
    height:100%;
    padding:5px 4px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#f8faf7;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:5px;
}
[data-online-sale-return-form].global-transaction-tabbed-surface > .global-transaction-page-tabs button{
    width:38px;
    min-width:38px;
    height:38px;
    min-height:38px;
}
[data-online-sale-return-form].global-transaction-tabbed-surface > .pos-return-main{
    grid-column:2!important;
    grid-row:1!important;
}
[data-online-sale-return-form].global-transaction-tabbed-surface > .pos-return-action-rail{
    grid-column:3!important;
    grid-row:1!important;
}
[data-online-sale-return-form].global-transaction-tabbed-surface > .global-transaction-info-page{
    grid-column:2!important;
    grid-row:1!important;
    height:100%;
    min-height:0;
}
[data-online-sale-return-form].global-info-active > .pos-return-main{
    display:none!important;
}
[data-online-sale-return-form].global-info-active > .pos-return-action-rail{
    visibility:hidden;
}

/* Pos Retur memakai struktur rail yang sama supaya standar tidak pecah. */
[data-pos-return-form].global-transaction-tabbed-surface{
    grid-template-columns:46px minmax(0,1fr) 46px!important;
    column-gap:8px!important;
    padding:8px!important;
}
[data-pos-return-form].global-transaction-tabbed-surface > .global-transaction-page-tabs{
    position:static!important;
    grid-column:1!important;
    grid-row:1!important;
    align-self:stretch;
    width:46px!important;
    height:100%;
    padding:5px 4px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#f8faf7;
}
[data-pos-return-form].global-transaction-tabbed-surface > .pos-return-main{
    grid-column:2!important;
    grid-row:1!important;
}
[data-pos-return-form].global-transaction-tabbed-surface > .pos-return-action-rail{
    grid-column:3!important;
    grid-row:1!important;
}
[data-pos-return-form].global-transaction-tabbed-surface > .global-transaction-info-page{
    grid-column:2!important;
    grid-row:1!important;
}

@media(max-width:1050px){
    .online-sale-header-tail{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:700px){
    .global-read-mode-statebar,
    .online-sale-form .global-read-mode-statebar,
    .global-transaction-tabbed-surface .global-read-mode-statebar{
        left:10px!important;
        right:auto!important;
        bottom:8px!important;
        max-width:calc(100% - 20px);
    }
    .online-sale-header-tail{
        grid-template-columns:1fr;
        gap:2px;
    }
    [data-online-sale-return-form].global-transaction-tabbed-surface,
    [data-pos-return-form].global-transaction-tabbed-surface{
        display:grid!important;
        grid-template-columns:1fr 46px!important;
        grid-template-rows:46px minmax(0,1fr)!important;
        padding:8px!important;
    }
    [data-online-sale-return-form].global-transaction-tabbed-surface > .global-transaction-page-tabs,
    [data-pos-return-form].global-transaction-tabbed-surface > .global-transaction-page-tabs{
        grid-column:1/-1!important;
        grid-row:1!important;
        width:auto!important;
        height:46px!important;
        flex-direction:row!important;
        padding:4px!important;
    }
    [data-online-sale-return-form].global-transaction-tabbed-surface > .pos-return-main,
    [data-pos-return-form].global-transaction-tabbed-surface > .pos-return-main,
    [data-online-sale-return-form].global-transaction-tabbed-surface > .global-transaction-info-page,
    [data-pos-return-form].global-transaction-tabbed-surface > .global-transaction-info-page{
        grid-column:1!important;
        grid-row:2!important;
    }
    [data-online-sale-return-form].global-transaction-tabbed-surface > .pos-return-action-rail,
    [data-pos-return-form].global-transaction-tabbed-surface > .pos-return-action-rail{
        grid-column:2!important;
        grid-row:2!important;
    }
}

/* =========================================================
   V300 · Rail konsisten + container transaksi + printer status
   ========================================================= */

/* Dua tab permanen paling kiri sama-sama icon-only. */
.workspace-tab-dashboard,
.workspace-tab-activity{
    flex:0 0 42px;
    min-width:42px;
    max-width:42px;
}
.workspace-tab-dashboard .workspace-tab-select,
.workspace-tab-activity .workspace-tab-select{
    width:42px;
    min-width:42px;
    padding:0;
    justify-content:center;
}

/* Semua form transaksi menjadi satu container putih yang utuh.
   Rail kiri berada di dalam container dan hanya dipisahkan garis vertikal,
   mengikuti Penjualan Online. */
.global-transaction-form-shell{
    position:relative!important;
    background:var(--white)!important;
    border:1px solid var(--line)!important;
    border-radius:10px!important;
    box-shadow:none!important;
}
.global-transaction-tabbed-surface{
    position:relative!important;
    padding-left:54px!important;
}
.global-transaction-tabbed-surface > .global-transaction-page-tabs{
    position:absolute!important;
    left:8px!important;
    top:8px!important;
    bottom:8px!important;
    z-index:24!important;
    width:39px!important;
    height:auto!important;
    margin:0!important;
    padding:0 7px 0 0!important;
    border:0!important;
    border-right:1px solid var(--line)!important;
    border-radius:0!important;
    background:transparent!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:5px!important;
    overflow:visible!important;
}
.global-transaction-page-tabs button{
    position:relative;
    display:grid!important;
    place-items:center!important;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0!important;
    border:1px solid var(--line)!important;
    border-radius:9px!important;
    background:#f8faf7!important;
    color:#74827d!important;
    box-shadow:none!important;
}
.global-transaction-page-tabs button:hover{
    background:#eef2ed!important;
    color:var(--green)!important;
}
.global-transaction-page-tabs button.is-active{
    border-color:#b9cfb8!important;
    background:#e7f0e2!important;
    color:var(--green)!important;
}

/* V299 sempat membuat rail Retur menjadi kotak tersendiri.
   V300 mengembalikannya ke pola Penjualan Online: latar sama + separator vertikal. */
[data-online-sale-return-form].global-transaction-tabbed-surface,
[data-pos-return-form].global-transaction-tabbed-surface{
    padding-left:54px!important;
}
[data-online-sale-return-form].global-transaction-tabbed-surface > .global-transaction-page-tabs,
[data-pos-return-form].global-transaction-tabbed-surface > .global-transaction-page-tabs{
    position:absolute!important;
    left:8px!important;
    top:8px!important;
    bottom:8px!important;
    grid-column:auto!important;
    grid-row:auto!important;
    align-self:auto!important;
    width:39px!important;
    height:auto!important;
    padding:0 7px 0 0!important;
    border:0!important;
    border-right:1px solid var(--line)!important;
    border-radius:0!important;
    background:transparent!important;
}
[data-online-sale-return-form].global-transaction-tabbed-surface > .pos-return-main,
[data-pos-return-form].global-transaction-tabbed-surface > .pos-return-main,
[data-online-sale-return-form].global-transaction-tabbed-surface > .global-transaction-info-page,
[data-pos-return-form].global-transaction-tabbed-surface > .global-transaction-info-page{
    grid-column:1!important;
    grid-row:1!important;
}
[data-online-sale-return-form].global-transaction-tabbed-surface > .pos-return-action-rail,
[data-pos-return-form].global-transaction-tabbed-surface > .pos-return-action-rail{
    grid-column:2!important;
    grid-row:1!important;
}

/* Printer indicator global mengikuti indikator Penjualan Online:
   hanya icon di bawah rail, hijau connected / merah disconnect. */
.global-direct-printer-indicator{
    position:relative!important;
    display:grid!important;
    place-items:center!important;
    width:28px!important;
    min-width:28px!important;
    height:28px!important;
    min-height:28px!important;
    margin:0 4px 3px!important;
    margin-top:auto!important;
    padding:0!important;
    border:1px solid #e0b3ad!important;
    border-radius:8px!important;
    background:#fff2f0!important;
    color:#a73f35!important;
    box-shadow:none!important;
    overflow:hidden!important;
    cursor:default;
}
.global-direct-printer-indicator.is-ready{
    border-color:#9fceb0!important;
    background:#edf8f1!important;
    color:#18713d!important;
}
.global-direct-printer-indicator.is-error{
    border-color:#e0b3ad!important;
    background:#fff2f0!important;
    color:#a73f35!important;
}
.global-direct-printer-indicator .global-printer-icon{
    width:15px!important;
    height:15px!important;
}
.global-direct-printer-indicator [data-printer-status-text],
.global-direct-printer-indicator > a{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

/* Bila menu printer bukan form transaksi/tabbed, status tetap compact icon-only
   di lokasi semula agar tidak kembali menjadi banner panjang. */
.direct-printer-status.global-direct-printer-indicator:not(.global-transaction-page-tabs *){
    margin:4px 0 7px!important;
}

/* Info page menggunakan area input yang sama; bukan container kedua di luar form. */
.global-transaction-info-page{
    border:1px solid var(--line)!important;
    border-radius:8px!important;
    background:var(--white)!important;
}

html[data-theme="dark"] .global-transaction-form-shell{
    background:#101917!important;
    border-color:#35453f!important;
}
html[data-theme="dark"] .global-transaction-tabbed-surface > .global-transaction-page-tabs{
    border-right-color:#35453f!important;
}
html[data-theme="dark"] .global-transaction-page-tabs button{
    border-color:#35453f!important;
    background:#1b2723!important;
    color:#9eaaa6!important;
}
html[data-theme="dark"] .global-transaction-page-tabs button.is-active{
    border-color:#416e5f!important;
    background:#22483c!important;
    color:#dceee8!important;
}

@media(max-width:700px){
    .global-transaction-tabbed-surface,
    [data-online-sale-return-form].global-transaction-tabbed-surface,
    [data-pos-return-form].global-transaction-tabbed-surface{
        padding-left:8px!important;
        padding-top:54px!important;
    }
    .global-transaction-tabbed-surface > .global-transaction-page-tabs,
    [data-online-sale-return-form].global-transaction-tabbed-surface > .global-transaction-page-tabs,
    [data-pos-return-form].global-transaction-tabbed-surface > .global-transaction-page-tabs{
        left:8px!important;
        right:8px!important;
        top:8px!important;
        bottom:auto!important;
        width:auto!important;
        height:39px!important;
        padding:0 0 7px!important;
        border-right:0!important;
        border-bottom:1px solid var(--line)!important;
        flex-direction:row!important;
        align-items:flex-start!important;
    }
    .global-direct-printer-indicator{
        margin:4px 0 4px auto!important;
        margin-left:auto!important;
    }
    html[data-theme="dark"] .global-transaction-tabbed-surface > .global-transaction-page-tabs{
        border-bottom-color:#35453f!important;
    }
}

/* =========================================================
   V301 · Hotfix rail Retur + status Edit + printer indicator
   ========================================================= */

/*
   V300 mengubah rail menjadi absolute seperti Penjualan Online, tetapi rule V299
   masih meninggalkan grid 3 kolom (rail + main + action) pada Retur Jual.
   Akibatnya pos-return-main masuk ke kolom 46px. V301 mengembalikan grid utama
   menjadi hanya MAIN + ACTION; rail Data/Info absolute di sisi kiri.
*/
[data-online-sale-return-form].global-transaction-tabbed-surface,
[data-pos-return-form].global-transaction-tabbed-surface{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 46px!important;
    grid-template-rows:minmax(0,1fr)!important;
    gap:8px!important;
    padding:8px 8px 8px 54px!important;
    min-width:0!important;
}
[data-online-sale-return-form].global-transaction-tabbed-surface > .pos-return-main,
[data-pos-return-form].global-transaction-tabbed-surface > .pos-return-main,
[data-online-sale-return-form].global-transaction-tabbed-surface > .global-transaction-info-page,
[data-pos-return-form].global-transaction-tabbed-surface > .global-transaction-info-page{
    grid-column:1!important;
    grid-row:1!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
}
[data-online-sale-return-form].global-transaction-tabbed-surface > .pos-return-action-rail,
[data-pos-return-form].global-transaction-tabbed-surface > .pos-return-action-rail{
    grid-column:2!important;
    grid-row:1!important;
    width:46px!important;
    min-width:46px!important;
}
[data-online-sale-return-form].global-transaction-tabbed-surface > .global-transaction-page-tabs,
[data-pos-return-form].global-transaction-tabbed-surface > .global-transaction-page-tabs{
    left:8px!important;
    top:8px!important;
    bottom:8px!important;
    width:39px!important;
}

/* Status transaksi berlaku juga di Edit Mode; tetap di kiri bawah dan tidak
   mengambil ruang layout. */
.global-read-mode-statebar{
    z-index:28!important;
}

/* Printer status harus benar-benar satu garis dengan tombol rail Data / Info.
   Bentuk dibuat 36px seperti tombol rail supaya tidak terlihat menggantung. */
.global-transaction-page-tabs > .global-direct-printer-indicator,
.global-transaction-page-tabs > .direct-printer-status.global-direct-printer-indicator{
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    margin:0!important;
    margin-top:auto!important;
    border-radius:9px!important;
    flex:0 0 36px!important;
}
.global-transaction-page-tabs > .global-direct-printer-indicator .global-printer-icon{
    width:17px!important;
    height:17px!important;
}

/* Halaman tanpa rail transaksi (contoh Scan Pengiriman Massal): printer status
   tidak lagi nongkrong sebagai banner/icon di atas. Dock kecil di kiri bawah. */
.global-standalone-printer-indicator{
    position:fixed!important;
    left:10px!important;
    bottom:10px!important;
    z-index:80!important;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    margin:0!important;
    border-radius:9px!important;
    box-shadow:0 2px 10px rgba(28,55,47,.08)!important;
}
.global-standalone-printer-indicator .global-printer-icon{
    width:17px!important;
    height:17px!important;
}

@media(max-width:700px){
    [data-online-sale-return-form].global-transaction-tabbed-surface,
    [data-pos-return-form].global-transaction-tabbed-surface{
        grid-template-columns:minmax(0,1fr) 46px!important;
        grid-template-rows:minmax(0,1fr)!important;
        padding:54px 8px 8px!important;
    }
    [data-online-sale-return-form].global-transaction-tabbed-surface > .global-transaction-page-tabs,
    [data-pos-return-form].global-transaction-tabbed-surface > .global-transaction-page-tabs{
        left:8px!important;
        right:8px!important;
        top:8px!important;
        bottom:auto!important;
        width:auto!important;
        height:39px!important;
    }
    [data-online-sale-return-form].global-transaction-tabbed-surface > .pos-return-main,
    [data-pos-return-form].global-transaction-tabbed-surface > .pos-return-main,
    [data-online-sale-return-form].global-transaction-tabbed-surface > .global-transaction-info-page,
    [data-pos-return-form].global-transaction-tabbed-surface > .global-transaction-info-page{
        grid-column:1!important;
        grid-row:1!important;
    }
    [data-online-sale-return-form].global-transaction-tabbed-surface > .pos-return-action-rail,
    [data-pos-return-form].global-transaction-tabbed-surface > .pos-return-action-rail{
        grid-column:2!important;
        grid-row:1!important;
    }
    .global-transaction-page-tabs > .global-direct-printer-indicator{
        margin-left:auto!important;
        margin-top:0!important;
    }
    .global-standalone-printer-indicator{
        left:8px!important;
        bottom:8px!important;
    }
}


/* =========================================================
   V302 · Printer status persis pola Penjualan Online
   ========================================================= */

/* Icon printer generic dibuat sama persis dengan indikator native Penjualan Online. */
.portal-printer-indicator,
.global-direct-printer-indicator.portal-printer-indicator{
    position:relative!important;
    display:grid!important;
    place-items:center!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    margin:0 4px 3px!important;
    margin-top:auto!important;
    padding:0!important;
    border:1px solid #e0b3ad!important;
    border-radius:8px!important;
    background:#fff2f0!important;
    color:#a73f35!important;
    box-shadow:none!important;
    overflow:hidden!important;
    cursor:default!important;
}
.portal-printer-indicator.is-ready,
.global-direct-printer-indicator.portal-printer-indicator.is-ready{
    border-color:#9fceb0!important;
    background:#edf8f1!important;
    color:#18713d!important;
}
.portal-printer-indicator.is-error,
.global-direct-printer-indicator.portal-printer-indicator.is-error{
    border-color:#e0b3ad!important;
    background:#fff2f0!important;
    color:#a73f35!important;
}
.portal-printer-indicator .ui-icon,
.portal-printer-indicator .global-printer-icon{
    width:15px!important;
    height:15px!important;
}
.portal-printer-indicator [data-printer-status-text]{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

/* Halaman operasional tanpa Data/Info rail memakai rail printer yang
   struktur dan ukuran kolomnya sama dengan online-sale-page-layout. */
.printer-status-page-layout{
    width:100%;
    height:100%;
    min-height:0;
    min-width:0;
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:8px;
    overflow:hidden;
}
.printer-status-page-rail{
    min-width:0;
    min-height:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:5px;
    margin:0!important;
    padding:0 7px 0 0!important;
    border:0!important;
    border-right:1px solid var(--line)!important;
    background:transparent!important;
    overflow:visible!important;
}
.printer-status-page-body{
    min-width:0;
    min-height:0;
    height:100%;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}

/* Jangan pernah pakai lagi printer indicator fixed/floating dari versi sebelumnya. */
.global-standalone-printer-indicator{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    z-index:auto!important;
    box-shadow:none!important;
}

/* Printer yang dipindah ke global Data/Info rail juga kembali ke ukuran native Online Sale. */
.global-transaction-page-tabs > .global-direct-printer-indicator{
    width:28px!important;
    min-width:28px!important;
    height:28px!important;
    min-height:28px!important;
    margin:0 4px 3px!important;
    margin-top:auto!important;
    border-radius:8px!important;
    flex:0 0 28px!important;
}
.global-transaction-page-tabs > .global-direct-printer-indicator .global-printer-icon,
.global-transaction-page-tabs > .global-direct-printer-indicator .ui-icon{
    width:15px!important;
    height:15px!important;
}

html[data-theme="dark"] .printer-status-page-rail{
    border-right-color:#35453f!important;
}

@media(max-width:900px){
    .printer-status-page-layout{
        display:flex;
        flex-direction:column;
        overflow:visible;
    }
    .printer-status-page-rail{
        min-height:36px;
        flex-direction:row;
        align-items:center;
        padding:0 0 6px!important;
        border-right:0!important;
        border-bottom:1px solid var(--line)!important;
    }
    .printer-status-page-rail .portal-printer-indicator{
        margin:0 3px!important;
    }
    .printer-status-page-body{
        height:auto;
        overflow:visible;
    }
    html[data-theme="dark"] .printer-status-page-rail{
        border-bottom-color:#35453f!important;
    }
}


/* =========================================================
   V303 · Standalone printer status: floating compact button
   ========================================================= */

/* Menu operasional tanpa Data/Info rail tidak memakai rail printer lagi. */
.printer-status-page-layout,
.printer-status-page-body,
.printer-status-page-rail{
    all:unset;
}

/* Floating printer status: benar-benar di kiri bawah area halaman.
   Icon diposisikan absolut 50/50 supaya center horizontal + vertical presisi. */
.portal-printer-indicator.printer-status-floating,
.global-direct-printer-indicator.portal-printer-indicator.printer-status-floating{
    position:fixed!important;
    left:10px!important;
    bottom:10px!important;
    z-index:85!important;
    display:block!important;
    width:32px!important;
    min-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    margin:0!important;
    padding:0!important;
    border-radius:9px!important;
    line-height:0!important;
    box-sizing:border-box!important;
    box-shadow:0 2px 10px rgba(28,55,47,.10)!important;
}
.portal-printer-indicator.printer-status-floating > .ui-icon,
.portal-printer-indicator.printer-status-floating > .global-printer-icon{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    display:block!important;
    width:16px!important;
    height:16px!important;
    margin:0!important;
    padding:0!important;
    transform:translate(-50%,-50%)!important;
}
@media(max-width:900px){
    .portal-printer-indicator.printer-status-floating,
    .global-direct-printer-indicator.portal-printer-indicator.printer-status-floating{
        left:8px!important;
        bottom:8px!important;
    }
}


/* =========================================================
   V305 · Printer icon rail center presisi
   ========================================================= */

/* Untuk form yang punya rail Data/Info seperti Pengiriman Barang:
   icon printer dipusatkan absolut di dalam tombol, persis tengah horizontal + vertical. */
.global-transaction-page-tabs > .global-direct-printer-indicator,
.global-transaction-page-tabs > .direct-printer-status.global-direct-printer-indicator{
    position:relative!important;
    display:block!important;
    width:28px!important;
    min-width:28px!important;
    height:28px!important;
    min-height:28px!important;
    margin:0 4px 3px!important;
    margin-top:auto!important;
    padding:0!important;
    line-height:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
}
.global-transaction-page-tabs > .global-direct-printer-indicator > .ui-icon,
.global-transaction-page-tabs > .global-direct-printer-indicator > .global-printer-icon,
.global-transaction-page-tabs > .direct-printer-status.global-direct-printer-indicator > .ui-icon,
.global-transaction-page-tabs > .direct-printer-status.global-direct-printer-indicator > .global-printer-icon{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    display:block!important;
    width:15px!important;
    height:15px!important;
    margin:0!important;
    padding:0!important;
    transform:translate(-50%,-50%)!important;
}


/* =========================================================
   V306 · Printer button rail wajib 1:1
   ========================================================= */

/* Samakan ukuran kotak printer dengan tombol rail Data/Info: 36 x 36.
   aspect-ratio + flex-basis mencegah tombol gepeng walau parent flex berubah. */
.global-transaction-page-tabs > .global-direct-printer-indicator,
.global-transaction-page-tabs > .direct-printer-status.global-direct-printer-indicator{
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    aspect-ratio:1 / 1!important;
    flex:0 0 36px!important;
    margin:0!important;
    margin-top:auto!important;
    padding:0!important;
    border-radius:9px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
}
.global-transaction-page-tabs > .global-direct-printer-indicator > .ui-icon,
.global-transaction-page-tabs > .global-direct-printer-indicator > .global-printer-icon,
.global-transaction-page-tabs > .direct-printer-status.global-direct-printer-indicator > .ui-icon,
.global-transaction-page-tabs > .direct-printer-status.global-direct-printer-indicator > .global-printer-icon{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:17px!important;
    height:17px!important;
    transform:translate(-50%,-50%)!important;
    margin:0!important;
    padding:0!important;
}


/* =========================================================
   V317 · 4 kelompok warna pastel untuk submenu
   1 Hijau · 2 Orange · 3 Biru · 4 Ungu
   Menu utama/rail tetap memakai warna Portal seperti sebelumnya.
   ========================================================= */

.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-1{
    background:#EAF7EC;
    border-color:#B9DDBF;
}
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-1>.menu-icon{
    background:#D8F0DD;
    border-color:#A9D6B2;
    color:#347A46;
}
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-1:hover,
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-1.active{
    background:#E0F3E4;
    border-color:#8FC99B;
    color:#244D30;
}
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-1:hover>.menu-icon,
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-1.active>.menu-icon{
    background:#CCEACF;
    border-color:#83BE90;
    color:#28693A;
}

.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-2{
    background:#FFF1E5;
    border-color:#F1C9A7;
}
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-2>.menu-icon{
    background:#FFE1C8;
    border-color:#ECC099;
    color:#B75E21;
}
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-2:hover,
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-2.active{
    background:#FDE8D5;
    border-color:#E7AD7C;
    color:#6E421F;
}
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-2:hover>.menu-icon,
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-2.active>.menu-icon{
    background:#FFD7B6;
    border-color:#DF9E68;
    color:#A94D12;
}

.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-3{
    background:#EAF3FF;
    border-color:#B8D4F5;
}
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-3>.menu-icon{
    background:#D9E9FD;
    border-color:#A9C9EF;
    color:#326FB2;
}
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-3:hover,
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-3.active{
    background:#DFECFC;
    border-color:#91BCEB;
    color:#294D77;
}
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-3:hover>.menu-icon,
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-3.active>.menu-icon{
    background:#CEE1F9;
    border-color:#82AFE1;
    color:#2864A7;
}

.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-4{
    background:#F2EAFE;
    border-color:#D4BDF1;
}
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-4>.menu-icon{
    background:#E6D7FA;
    border-color:#C9ABE9;
    color:#7549B3;
}
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-4:hover,
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-4.active{
    background:#EBDDFA;
    border-color:#B994E2;
    color:#533778;
}
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-4:hover>.menu-icon,
.sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-4.active>.menu-icon{
    background:#DDC9F6;
    border-color:#AD84DB;
    color:#6639A5;
}

/* Placeholder hanya menyediakan button visual; belum menjalankan fitur apa pun. */
.sidebar-menu-panel button.nav-item.menu-thumbnail.menu-placeholder{
    width:100%;
    font:inherit;
    cursor:default;
}
.sidebar-menu-panel button.nav-item.menu-thumbnail.menu-placeholder:hover{
    transform:none;
    box-shadow:0 1px 2px rgba(10,31,27,.025);
}

/* Dark mode tetap membedakan 4 kelompok tanpa warna terlalu keras. */
html[data-theme="dark"] .sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-1{background:#21372A;border-color:#45644D;color:#E1EFE5}
html[data-theme="dark"] .sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-1>.menu-icon{background:#294733;border-color:#52725B;color:#9DD2A9}
html[data-theme="dark"] .sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-2{background:#3C3026;border-color:#6A5240;color:#F3E7DD}
html[data-theme="dark"] .sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-2>.menu-icon{background:#4B382A;border-color:#765943;color:#E6AE7B}
html[data-theme="dark"] .sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-3{background:#243341;border-color:#465E74;color:#E4EDF5}
html[data-theme="dark"] .sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-3>.menu-icon{background:#2D4051;border-color:#54718A;color:#9BC1E8}
html[data-theme="dark"] .sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-4{background:#332B3F;border-color:#5B4C70;color:#EEE7F5}
html[data-theme="dark"] .sidebar-menu-panel .nav-item.menu-thumbnail.menu-group-4>.menu-icon{background:#403450;border-color:#69557F;color:#C3A5E5}


/* V320 - Tambah Barcode: tanpa rail kiri, tombol Help Table sejajar area Barang */
.barcode-correction-item-picker{
    display:flex;
    align-items:center;
    gap:8px;
    margin:16px 0 10px;
}
.barcode-correction-item-picker .selected-barcode-item{
    flex:1 1 auto;
    min-width:0;
    margin:0;
}
.barcode-correction-item-picker .help-search-button{
    flex:0 0 44px;
    margin:0;
}
@media(max-width:700px){
    .barcode-correction-item-picker{align-items:center}
    .barcode-correction-item-picker .selected-barcode-item{flex-direction:column;align-items:flex-start}
}

/* V321 - Kotak barang Tambah Barcode dibuat setinggi tombol Help Table */
.barcode-correction-item-picker .selected-barcode-item{
    min-height:44px;
    padding:6px 12px;
    align-items:center;
}


/* =========================================================
   V324 - Rapikan visual Transaksi Pembelian
   Hierarki dibuat stabil: Header -> Kode -> Warna -> Ukuran.
   ========================================================= */

/* Header transaksi: satu baseline, jarak konsisten. */
.workspace-frame-page .purchase-header-section{
    padding:2px 0 8px!important;
}
.workspace-frame-page .purchase-header-grid{
    align-items:end;
    column-gap:10px!important;
    row-gap:7px!important;
}
.workspace-frame-page .purchase-header-grid label{
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:flex-end;
    gap:5px;
    line-height:1.15;
}
.workspace-frame-page .purchase-header-grid label>input,
.workspace-frame-page .purchase-header-grid label>select{
    margin-top:0!important;
}

/* Toolbar detail menjadi pemisah yang tenang, bukan elemen mengambang. */
.workspace-frame-page .purchase-detail-toolbar{
    min-height:44px;
    margin:0 0 7px;
    padding:0 2px 6px;
    border-bottom:1px solid #e4e8e3;
}
.workspace-frame-page .purchase-detail-toolbar>span{
    font-size:12px;
    font-weight:800;
}

/* Level KODE: satu header rata dengan identitas, program, dan subtotal. */
.workspace-frame-page .purchase-code-group{
    margin:0 0 10px;
    padding:0;
    overflow:hidden;
    border:1px solid #dce3dd;
    border-radius:11px;
    background:#fff;
    box-shadow:0 1px 2px rgba(9,39,32,.025);
}
.workspace-frame-page .purchase-code-group-head{
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(230px,310px) auto;
    gap:12px;
    align-items:end;
    padding:10px 12px;
    border-bottom:1px solid #e3e8e4;
    background:#f7faf6;
}
.workspace-frame-page .purchase-code-identity{
    min-width:0;
    align-self:center;
}
.workspace-frame-page .purchase-code-group-head>div:first-child small{
    margin:0;
    color:#7b8882;
    font-size:7px;
    font-weight:800;
    letter-spacing:1px;
}
.workspace-frame-page .purchase-code-group-head>div:first-child strong{
    margin:2px 0 1px;
    color:#0e4f41;
    font-size:15px;
    line-height:1.15;
}
.workspace-frame-page .purchase-code-meta{
    margin-top:3px;
}
.workspace-frame-page .purchase-code-meta>span{
    color:#7a8781;
    font-size:9px;
}
.workspace-frame-page .purchase-code-group-actions{
    display:contents;
}
.workspace-frame-page .purchase-program-picker{
    grid-column:2;
    min-width:0;
    margin:0;
    color:#31433c;
    font-size:10px;
    font-weight:750;
}
.workspace-frame-page .purchase-program-picker select{
    width:100%;
    height:37px;
    min-height:37px;
    margin:5px 0 0;
    padding:0 10px;
    border:1px solid #d9e0da;
    border-radius:8px;
    background:#fff;
    font-size:12px;
}
.workspace-frame-page .purchase-program-picker small{
    display:none!important;
}
.workspace-frame-page .purchase-code-subtotal{
    grid-column:3;
    align-self:end;
    min-height:37px;
    padding:0 12px;
    border-radius:8px;
    background:#eaf4e6;
    border-color:#c5dac0;
}
.workspace-frame-page .purchase-code-subtotal small{
    font-size:7px;
}
.workspace-frame-page .purchase-code-subtotal strong,
.workspace-frame-page .purchase-code-subtotal span{
    font-size:10.5px;
}
.workspace-frame-page .purchase-code-group-items{
    display:grid;
    gap:8px;
    padding:9px 10px 10px;
    background:#fff;
}

/* Level WARNA: hilangkan efek kotak bertumpuk, semua baseline dibuat lurus. */
.workspace-frame-page .purchase-detail-card{
    margin:0!important;
    overflow:hidden;
    border:1px solid #e0e5e1;
    border-radius:9px;
    background:#fff;
    box-shadow:none;
}
.workspace-frame-page .purchase-detail-card>header{
    min-height:58px;
    padding:7px 9px!important;
    border-bottom:1px solid #e7ebe7;
    background:#fbfcfa;
}
.workspace-frame-page .purchase-detail-identity{
    gap:9px;
}
.workspace-frame-page .purchase-detail-photo{
    width:46px;
    height:46px;
    flex-basis:46px;
    border-radius:7px;
}
.workspace-frame-page .purchase-detail-card>header strong{
    color:#0d4d40;
    font-size:12.5px;
    line-height:1.15;
}
.workspace-frame-page .purchase-detail-card>header small{
    margin-top:2px;
    font-size:8.5px;
    line-height:1.15;
}
.workspace-frame-page .purchase-detail-header-actions{
    gap:7px;
}
.workspace-frame-page .purchase-color-total{
    min-height:34px;
    padding:0 10px;
    border-radius:8px;
    background:#f2f7ef;
    border-color:#d1dfce;
}
.workspace-frame-page .purchase-color-total small{
    font-size:7px;
}
.workspace-frame-page .purchase-color-total strong,
.workspace-frame-page .purchase-color-total span{
    font-size:10px;
}

/* Isi warna: tiga kolom dengan label dan tinggi kontrol seragam. */
.workspace-frame-page .purchase-detail-body{
    display:grid;
    grid-template-columns:minmax(170px,210px) minmax(170px,210px) minmax(360px,1fr);
    gap:10px;
    align-items:start;
    padding:9px!important;
}
.workspace-frame-page .purchase-detail-body>label{
    display:flex;
    min-width:0;
    flex-direction:column;
    margin:0;
    color:#33453e;
    font-size:9.5px;
    font-weight:750;
    line-height:14px;
}
.workspace-frame-page .purchase-detail-body .input-prefix{
    height:37px;
    min-height:37px;
    margin-top:5px;
}
.workspace-frame-page .purchase-detail-body .input-prefix>span{
    min-width:42px;
    border-radius:8px 0 0 8px;
    background:#f4f6f3;
    font-size:10px;
}
.workspace-frame-page .purchase-detail-body .input-prefix>input{
    height:37px!important;
    min-height:37px!important;
    padding:0 10px!important;
    border-radius:0 8px 8px 0!important;
    font-size:12px;
}

/* Harga jual dibuat seperti field read-only agar sejajar dengan HPP. */
.workspace-frame-page .purchase-active-price{
    display:flex;
    min-width:0;
    flex-direction:column;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
}
.workspace-frame-page .purchase-active-price small{
    height:14px;
    margin:0 0 5px;
    color:#596861;
    font-size:9px;
    font-weight:750;
    letter-spacing:0;
    line-height:14px;
}
.workspace-frame-page .purchase-active-price>strong{
    display:flex;
    height:37px;
    min-height:37px;
    align-items:center;
    margin:0;
    padding:0 10px;
    border:1px solid #dfe4df;
    border-radius:8px;
    background:#f8faf7;
    color:#0e5b4a;
    font-size:12px;
}
.workspace-frame-page .purchase-active-price>.price-missing-badge{
    display:flex;
    height:37px;
    min-height:37px;
    align-items:center;
    padding:0 10px;
    border-radius:8px;
}

/* Ukuran + jumlah jadi satu bidang datar, bukan kotak bertingkat. */
.workspace-frame-page .purchase-size-box{
    min-width:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
}
.workspace-frame-page .purchase-size-heading{
    min-height:14px;
    margin:0 0 5px;
    gap:7px;
}
.workspace-frame-page .purchase-size-heading>strong{
    color:#33453e;
    font-size:9.5px;
    font-weight:750;
    line-height:14px;
}
.workspace-frame-page .purchase-size-list{
    min-height:37px;
    align-items:center;
    gap:5px;
    padding:3px 4px;
    border:1px solid #dfe4df;
    border-radius:8px;
    background:#fbfcfb;
}
.workspace-frame-page .purchase-size-row{
    height:29px;
    border-color:#d8dfd9;
    border-radius:6px;
}
.workspace-frame-page .purchase-size-row input{
    font-size:10.5px;
}
.workspace-frame-page .purchase-size-row input[data-field=size]{width:54px}
.workspace-frame-page .purchase-size-row input[data-field=quantity]{width:48px}
.workspace-frame-page .purchase-size-row>button{width:25px}
.workspace-frame-page .purchase-size-tools{
    gap:4px;
}
.workspace-frame-page .purchase-quick-sizes button{
    min-width:27px;
    height:25px;
    border-radius:6px;
    font-size:9px;
}
.workspace-frame-page .purchase-custom-size input{
    width:72px;
    height:25px;
}
.workspace-frame-page .purchase-custom-size button{
    width:26px;
    height:25px;
}

/* Summary bawah diperlakukan sebagai satu footer, bukan tiga kotak terpisah. */
.workspace-frame-page .purchase-summary{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(115px,1fr));
    width:max-content;
    max-width:100%;
    margin:6px 0 0 auto!important;
    gap:0!important;
    overflow:hidden;
    border:1px solid #dfe5df;
    border-radius:8px;
    background:#f7f9f6;
}
.workspace-frame-page .purchase-summary>div{
    min-width:115px;
    padding:6px 10px;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
}
.workspace-frame-page .purchase-summary>div+div{
    border-left:1px solid #dfe5df!important;
}
.workspace-frame-page .purchase-summary small{
    font-size:6.8px;
    letter-spacing:.55px;
}
.workspace-frame-page .purchase-summary strong{
    margin-top:2px;
    font-size:12px;
    line-height:1.1;
}

/* Dark mode */
html[data-theme="dark"] .workspace-frame-page .purchase-detail-toolbar{
    border-color:#35453f;
}
html[data-theme="dark"] .workspace-frame-page .purchase-code-group,
html[data-theme="dark"] .workspace-frame-page .purchase-detail-card{
    border-color:#34463f;
    background:#17211e;
}
html[data-theme="dark"] .workspace-frame-page .purchase-code-group-head,
html[data-theme="dark"] .workspace-frame-page .purchase-detail-card>header{
    border-color:#34463f;
    background:#1c2824;
}
html[data-theme="dark"] .workspace-frame-page .purchase-code-group-items{
    background:#17211e;
}
html[data-theme="dark"] .workspace-frame-page .purchase-program-picker select,
html[data-theme="dark"] .workspace-frame-page .purchase-active-price>strong,
html[data-theme="dark"] .workspace-frame-page .purchase-size-list{
    border-color:#3b4c46;
    background:#111a17;
    color:#e6efeb;
}
html[data-theme="dark"] .workspace-frame-page .purchase-code-subtotal,
html[data-theme="dark"] .workspace-frame-page .purchase-color-total{
    border-color:#425e4c;
    background:#21372a;
}
html[data-theme="dark"] .workspace-frame-page .purchase-summary{
    border-color:#394a44;
    background:#1b2723;
}
html[data-theme="dark"] .workspace-frame-page .purchase-summary>div+div{
    border-left-color:#394a44!important;
}

@media(max-width:1050px){
    .workspace-frame-page .purchase-code-group-head{
        grid-template-columns:minmax(200px,1fr) minmax(210px,280px);
    }
    .workspace-frame-page .purchase-code-subtotal{
        grid-column:1 / -1;
        width:max-content;
        justify-self:end;
    }
    .workspace-frame-page .purchase-detail-body{
        grid-template-columns:repeat(2,minmax(170px,1fr));
    }
    .workspace-frame-page .purchase-size-box{
        grid-column:1/-1;
    }
}
@media(max-width:700px){
    .workspace-frame-page .purchase-code-group-head{
        display:flex;
        align-items:stretch;
        flex-direction:column;
    }
    .workspace-frame-page .purchase-code-group-actions{
        display:flex;
        align-items:stretch;
        flex-direction:column;
    }
    .workspace-frame-page .purchase-code-subtotal{
        width:100%;
        justify-content:center;
    }
    .workspace-frame-page .purchase-detail-body{
        grid-template-columns:1fr;
    }
    .workspace-frame-page .purchase-size-box{
        grid-column:auto;
    }
    .workspace-frame-page .purchase-summary{
        width:100%;
        grid-template-columns:repeat(3,1fr);
    }
}


/* =========================================================
   V325 - Finalisasi kerapian form Pembelian
   - mandatory star tetap satu baris dengan label
   - tanggal diterima = tanggal periode dan read-only
   - Program Pembelian satu baris agar header kode lebih pendek
   ========================================================= */
.workspace-frame-page .purchase-field-label{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    align-items:center;
    gap:2px;
    white-space:nowrap;
}
.workspace-frame-page .purchase-field-label .required-mark{
    display:inline!important;
    flex:0 0 auto;
    margin:0!important;
    line-height:1;
}
.workspace-frame-page .purchase-period-date[readonly]{
    cursor:default;
    background:#f2f5f1;
    color:#263a33;
}

/* Header per kode: seluruh kontrol dimulai dari sisi atas dan tetap compact. */
.workspace-frame-page .purchase-code-group-head{
    align-items:start!important;
}
.workspace-frame-page .purchase-code-identity{
    align-self:start!important;
    padding-top:2px;
}
.workspace-frame-page .purchase-program-picker{
    display:grid!important;
    grid-template-columns:max-content minmax(150px,1fr);
    min-height:37px;
    align-items:center;
    gap:7px;
    align-self:start!important;
}
.workspace-frame-page .purchase-program-picker>span{
    color:#31433c;
    font-size:9.5px;
    font-weight:750;
    white-space:nowrap;
}
.workspace-frame-page .purchase-program-picker select{
    height:37px!important;
    min-height:37px!important;
    margin:0!important;
}
.workspace-frame-page .purchase-code-subtotal{
    align-self:start!important;
}

@media(max-width:1050px){
    .workspace-frame-page .purchase-program-picker{
        grid-template-columns:1fr;
        gap:4px;
    }
}
@media(max-width:700px){
    .workspace-frame-page .purchase-program-picker{
        width:100%;
        grid-template-columns:1fr;
    }
}


/* =========================================================
   V326 - Pembelian: Program Pembelian rata atas + detail scroll stabil
   ========================================================= */

/* Header KODE selalu satu baris di desktop: identitas, program, subtotal.
   Program Pembelian tidak lagi ikut auto-flow ke baris bawah. */
.workspace-frame-page .purchase-code-group-head{
    grid-template-columns:minmax(220px,1fr) minmax(300px,390px) auto!important;
    grid-template-rows:auto!important;
    align-items:start!important;
}
.workspace-frame-page .purchase-code-identity{
    grid-column:1!important;
    grid-row:1!important;
    align-self:start!important;
    padding-top:0!important;
}
.workspace-frame-page .purchase-program-picker{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    min-width:0!important;
    min-height:37px!important;
    margin:0!important;
    padding:0!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    gap:8px!important;
    align-self:start!important;
}
.workspace-frame-page .purchase-program-picker>span{
    display:flex!important;
    height:37px!important;
    align-items:center!important;
    flex:0 0 auto!important;
    margin:0!important;
    padding:0!important;
    line-height:1!important;
}
.workspace-frame-page .purchase-program-picker select{
    width:min(230px,100%)!important;
    min-width:170px!important;
    height:37px!important;
    min-height:37px!important;
    margin:0!important;
}
.workspace-frame-page .purchase-code-subtotal{
    grid-column:3!important;
    grid-row:1!important;
    align-self:start!important;
    margin:0!important;
}

/* Rule lama memberi min-height viewport dengan !important sehingga flex-item
   tidak bisa mengecil dan area detail gagal membentuk viewport scroll.
   Reset di scope form Pembelian agar hanya grid detail yang scroll. */
.workspace-frame-page .purchase-rail-form .purchase-detail-list{
    flex:1 1 0!important;
    min-height:0!important;
    height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    align-content:start!important;
    scrollbar-gutter:stable;
    overscroll-behavior:contain;
}
.workspace-frame-page .purchase-rail-form .purchase-code-group:last-child{
    margin-bottom:2px;
}

@media(max-width:1050px){
    .workspace-frame-page .purchase-code-group-head{
        grid-template-columns:minmax(190px,1fr) minmax(240px,330px) auto!important;
    }
    .workspace-frame-page .purchase-program-picker{
        grid-template-columns:none!important;
    }
    .workspace-frame-page .purchase-program-picker select{
        min-width:150px!important;
    }
    .workspace-frame-page .purchase-code-subtotal{
        grid-column:3!important;
        grid-row:1!important;
        width:auto!important;
        justify-self:auto!important;
    }
}
@media(max-width:780px){
    .workspace-frame-page .purchase-code-group-head{
        display:flex!important;
        flex-direction:column!important;
        gap:7px!important;
    }
    .workspace-frame-page .purchase-program-picker{
        width:100%!important;
        justify-content:flex-start!important;
    }
    .workspace-frame-page .purchase-program-picker select{
        width:100%!important;
        max-width:none!important;
    }
    .workspace-frame-page .purchase-code-subtotal{
        width:100%!important;
        justify-content:center!important;
    }
}

/* =========================================================
   V327 - Pembelian lebih ringkas
   - Foto + detail produk hanya muncul sebagai tooltip di header KODE
   - Baris warna hanya berisi input operasional
   - Scroll grid detail dibuat eksplisit dan selalu bisa dipakai
   ========================================================= */

/* Header kode menjadi titik informasi produk. */
.workspace-frame-page .purchase-code-group{
    position:relative;
    overflow:visible!important;
}
.workspace-frame-page .purchase-code-group:focus-within,
.workspace-frame-page .purchase-code-group:hover{
    z-index:20;
}
.workspace-frame-page .purchase-code-info-wrap{
    position:relative;
    min-width:0;
    align-self:start;
}
.workspace-frame-page .purchase-code-info-trigger{
    display:flex;
    width:max-content;
    max-width:100%;
    min-width:0;
    margin:0;
    padding:0;
    flex-direction:column;
    align-items:flex-start;
    border:0;
    background:transparent;
    color:inherit;
    font:inherit;
    text-align:left;
    cursor:default;
    outline:none;
}
.workspace-frame-page .purchase-code-info-trigger>small{
    margin:0;
    color:#7b8882;
    font-size:7px;
    font-weight:800;
    letter-spacing:1px;
}
.workspace-frame-page .purchase-code-info-trigger>strong{
    margin:2px 0 1px;
    color:#0e4f41;
    font-size:15px;
    line-height:1.15;
}
.workspace-frame-page .purchase-code-info-trigger>span{
    color:#7a8781;
    font-size:9px;
    line-height:1.2;
}
.workspace-frame-page .purchase-code-info-trigger:hover>strong,
.workspace-frame-page .purchase-code-info-trigger:focus>strong{
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}
.workspace-frame-page .purchase-code-info-popover{
    position:absolute;
    top:calc(100% + 7px);
    left:0;
    z-index:80;
    display:grid;
    width:min(430px,calc(100vw - 180px));
    grid-template-columns:108px minmax(0,1fr);
    gap:12px;
    padding:11px;
    visibility:hidden;
    border:1px solid #cfd9d2;
    border-radius:10px;
    background:#fff;
    box-shadow:0 14px 35px rgba(9,39,32,.18);
    opacity:0;
    pointer-events:none;
    transform:translateY(-3px);
    transition:opacity .12s ease,transform .12s ease,visibility .12s ease;
}
.workspace-frame-page .purchase-code-info-wrap:hover .purchase-code-info-popover,
.workspace-frame-page .purchase-code-info-wrap:focus-within .purchase-code-info-popover{
    visibility:visible;
    opacity:1;
    transform:translateY(0);
}
.workspace-frame-page .purchase-code-info-photo{
    display:grid;
    width:108px;
    height:108px;
    place-items:center;
    overflow:hidden;
    border:1px solid #e0e6e1;
    border-radius:9px;
    background:#f6f8f5;
}
.workspace-frame-page .purchase-code-info-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.workspace-frame-page .purchase-code-info-no-photo{
    color:#83908a;
    font-size:9px;
}
.workspace-frame-page .purchase-code-info-copy{
    min-width:0;
}
.workspace-frame-page .purchase-code-info-copy>strong{
    display:block;
    margin:1px 0 7px;
    color:#0e4f41;
    font-size:12px;
}
.workspace-frame-page .purchase-code-info-copy dl{
    display:grid;
    gap:5px;
    margin:0;
}
.workspace-frame-page .purchase-code-info-copy dl>div{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    gap:7px;
    align-items:start;
}
.workspace-frame-page .purchase-code-info-copy dt{
    color:#7c8983;
    font-size:8px;
    font-weight:800;
    text-transform:uppercase;
}
.workspace-frame-page .purchase-code-info-copy dd{
    min-width:0;
    margin:0;
    color:#2e4039;
    font-size:9px;
    font-weight:650;
    overflow-wrap:anywhere;
}

/* Baris warna tidak lagi mengulang foto/kode/market code/pabrik. */
.workspace-frame-page .purchase-detail-card-compact>header{
    min-height:42px!important;
    padding:5px 8px!important;
}
.workspace-frame-page .purchase-color-identity{
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:center;
}
.workspace-frame-page .purchase-color-identity>small{
    margin:0 0 1px!important;
    color:#7b8882!important;
    font-size:6.8px!important;
    font-weight:800;
    letter-spacing:.85px;
}
.workspace-frame-page .purchase-color-identity>strong{
    margin:0!important;
    color:#0e4f41!important;
    font-size:12px!important;
    line-height:1.15!important;
}
.workspace-frame-page .purchase-detail-card-compact .purchase-detail-body{
    padding:7px 8px!important;
}
.workspace-frame-page .purchase-detail-card-compact .purchase-active-price{
    min-height:57px;
}
.workspace-frame-page .purchase-detail-card-compact .purchase-size-box{
    min-height:57px;
}

/* Scroll grid: area detail adalah satu-satunya viewport scroll di form. */
.workspace-frame-page .purchase-rail-form .purchase-detail-section{
    min-height:0!important;
    overflow:hidden!important;
}
.workspace-frame-page .purchase-rail-form .purchase-detail-list{
    display:grid!important;
    flex:1 1 0!important;
    min-height:120px!important;
    height:auto!important;
    max-height:none!important;
    padding:0 5px 2px 0;
    overflow-y:scroll!important;
    overflow-x:hidden!important;
    align-content:start!important;
    scrollbar-gutter:stable;
    overscroll-behavior:contain;
    touch-action:pan-y;
}
.workspace-frame-page .purchase-rail-form .purchase-detail-list::-webkit-scrollbar{
    width:10px;
}
.workspace-frame-page .purchase-rail-form .purchase-detail-list::-webkit-scrollbar-track{
    background:#eef1ed;
    border-radius:10px;
}
.workspace-frame-page .purchase-rail-form .purchase-detail-list::-webkit-scrollbar-thumb{
    border:2px solid #eef1ed;
    border-radius:10px;
    background:#98a59f;
}
.workspace-frame-page .purchase-rail-form .purchase-detail-list>.purchase-detail-empty{
    min-height:100%!important;
    height:100%;
}

html[data-theme="dark"] .workspace-frame-page .purchase-code-info-popover{
    border-color:#40524b;
    background:#17211e;
    box-shadow:0 14px 35px rgba(0,0,0,.35);
}
html[data-theme="dark"] .workspace-frame-page .purchase-code-info-photo{
    border-color:#3b4c46;
    background:#111a17;
}
html[data-theme="dark"] .workspace-frame-page .purchase-code-info-copy dd{
    color:#dfe9e5;
}
html[data-theme="dark"] .workspace-frame-page .purchase-rail-form .purchase-detail-list::-webkit-scrollbar-track{
    background:#1d2925;
}
html[data-theme="dark"] .workspace-frame-page .purchase-rail-form .purchase-detail-list::-webkit-scrollbar-thumb{
    border-color:#1d2925;
    background:#62736c;
}

@media(max-width:780px){
    .workspace-frame-page .purchase-code-info-popover{
        width:min(360px,calc(100vw - 95px));
        grid-template-columns:86px minmax(0,1fr);
    }
    .workspace-frame-page .purchase-code-info-photo{
        width:86px;
        height:86px;
    }
}


/* =========================================================
   V328 · Pembelian: HPP rapi, tombol ukuran di header warna
   ========================================================= */

/* Tombol ukuran diletakkan di header, tepat di kiri Total Warna. */
.workspace-frame-page .purchase-detail-card-compact .purchase-detail-header-actions{
    display:flex;
    min-width:0;
    flex:1 1 auto;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
}
.workspace-frame-page .purchase-detail-card-compact>header .purchase-size-tools{
    display:flex;
    min-width:0;
    margin-left:auto;
    flex:0 1 auto;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:flex-end;
    gap:5px;
}
.workspace-frame-page .purchase-detail-card-compact>header .purchase-quick-sizes{
    display:flex;
    flex-wrap:nowrap;
    gap:4px;
}
.workspace-frame-page .purchase-detail-card-compact>header .purchase-quick-sizes button{
    min-width:29px;
    height:28px;
    padding:0 6px;
}
.workspace-frame-page .purchase-detail-card-compact>header .purchase-custom-size{
    flex:0 0 auto;
}
.workspace-frame-page .purchase-detail-card-compact>header .purchase-custom-size input{
    width:82px;
    height:28px;
}
.workspace-frame-page .purchase-detail-card-compact>header .purchase-custom-size button{
    width:29px;
    height:28px;
}

/* Body tinggal tiga bidang input yang benar-benar sejajar: HPP, Harga Jual Aktif, Ukuran dan Jumlah. */
.workspace-frame-page .purchase-detail-card-compact .purchase-size-heading{
    min-height:14px;
    height:14px;
    margin:0 0 5px;
}
.workspace-frame-page .purchase-detail-card-compact .purchase-size-heading>strong{
    line-height:14px;
}

/* HPP dijadikan satu control utuh; kotak Rp tidak tampak terpisah/naik turun. */
.workspace-frame-page .purchase-detail-body .purchase-hpp-input{
    display:grid;
    height:37px;
    min-height:37px;
    grid-template-columns:46px minmax(0,1fr);
    margin-top:5px;
    overflow:hidden;
    border:1px solid #dfe4df;
    border-radius:8px;
    background:#fff;
    transition:border-color .12s ease,box-shadow .12s ease;
}
.workspace-frame-page .purchase-detail-body .purchase-hpp-input:focus-within{
    border-color:#315e53;
    box-shadow:0 0 0 1px #315e53;
}
.workspace-frame-page .purchase-detail-body .purchase-hpp-input>span{
    display:grid;
    min-width:0;
    height:35px;
    place-items:center;
    border:0!important;
    border-right:1px solid #dfe4df!important;
    border-radius:0!important;
    background:#f4f6f3;
    color:#65726c;
    font-size:10px;
    font-weight:800;
}
.workspace-frame-page .purchase-detail-body .purchase-hpp-input>input{
    width:100%;
    height:35px!important;
    min-height:35px!important;
    margin:0!important;
    padding:0 10px!important;
    border:0!important;
    border-radius:0!important;
    outline:0!important;
    background:#fff;
    box-shadow:none!important;
    font-size:12px;
}
.workspace-frame-page .purchase-detail-body .purchase-hpp-input>input::-webkit-inner-spin-button,
.workspace-frame-page .purchase-detail-body .purchase-hpp-input>input::-webkit-outer-spin-button{
    margin:0;
    -webkit-appearance:none;
}
.workspace-frame-page .purchase-detail-body .purchase-hpp-input>input[type=number]{
    appearance:textfield;
    -moz-appearance:textfield;
}

/* Label harga jual memakai kapital normal, bukan visual all-caps. */
.workspace-frame-page .purchase-active-price small{
    text-transform:none!important;
    letter-spacing:0!important;
}

html[data-theme="dark"] .workspace-frame-page .purchase-detail-body .purchase-hpp-input{
    border-color:#405149;
    background:#17211e;
}
html[data-theme="dark"] .workspace-frame-page .purchase-detail-body .purchase-hpp-input>span{
    border-right-color:#405149!important;
    background:#202c28;
    color:#b7c4be;
}
html[data-theme="dark"] .workspace-frame-page .purchase-detail-body .purchase-hpp-input>input{
    background:#17211e;
    color:#e5ede9;
}

@media(max-width:1100px){
    .workspace-frame-page .purchase-detail-card-compact>header{
        align-items:flex-start;
    }
    .workspace-frame-page .purchase-detail-card-compact .purchase-detail-header-actions{
        flex-wrap:wrap;
    }
    .workspace-frame-page .purchase-detail-card-compact>header .purchase-size-tools{
        flex-wrap:wrap;
    }
}


/* =========================================================
   V330 · kembali ke layout V328, tanpa Harga Jual Aktif di baris warna
   Harga jual tetap tersedia di tooltip header KODE.
   Help Table: harga jual belum diatur hanya informasi/read-only.
   ========================================================= */

.workspace-frame-page .purchase-detail-card-compact .purchase-detail-body.purchase-detail-body-no-price{
    grid-template-columns:minmax(220px,.62fr) minmax(520px,2fr)!important;
    align-items:start;
}
.workspace-frame-page .purchase-detail-card-compact .purchase-detail-body-no-price .purchase-size-box{
    min-width:0;
}

.workspace-frame-page .item-help-table-wrap tr.purchase-help-readonly{
    background:#faf8f1;
    color:#8a8f8b;
}
.workspace-frame-page .item-help-table-wrap tr.purchase-help-readonly:hover{
    background:#faf8f1;
}
.workspace-frame-page .item-help-table-wrap tr.purchase-help-readonly td{
    cursor:default;
}
.workspace-frame-page .item-help-table-wrap tr.purchase-help-readonly input[type=checkbox]{
    cursor:not-allowed;
    opacity:.45;
}
.workspace-frame-page .item-help-table-wrap tr.purchase-help-readonly .master-name strong{
    color:#7d8580;
}

html[data-theme="dark"] .workspace-frame-page .item-help-table-wrap tr.purchase-help-readonly{
    background:#2a271d;
    color:#a8aaa6;
}
html[data-theme="dark"] .workspace-frame-page .item-help-table-wrap tr.purchase-help-readonly:hover{
    background:#2a271d;
}

@media(max-width:900px){
    .workspace-frame-page .purchase-detail-card-compact .purchase-detail-body.purchase-detail-body-no-price{
        grid-template-columns:1fr!important;
    }
}


/* =========================================================
   V332 - Purchase LIST ala Accurate
   Filter header/detail tetap dipertahankan; custom filter & custom columns ditambah.
   ========================================================= */
.purchase-list-page{position:relative;min-height:0}
.purchase-accurate-filter{margin-bottom:8px!important}
.purchase-custom-filter-row{display:flex;align-items:center;gap:7px;grid-column:1/-1;flex-wrap:wrap;margin-top:7px;padding-top:7px;border-top:1px solid var(--line)}
.purchase-custom-filter-chip{display:flex;align-items:center;min-width:210px;height:38px;overflow:hidden;border:1px solid #cfd6d1;border-radius:8px;background:#fff}
.purchase-custom-filter-chip[hidden]{display:none!important}
.purchase-custom-filter-chip>span{flex:0 0 auto;padding:0 8px;color:#5f6d66;font-size:9px;font-weight:750;white-space:nowrap}
.purchase-custom-filter-chip>input{min-width:100px;height:36px!important;margin:0!important;padding:6px 7px!important;border:0!important;border-left:1px solid #e0e5e1!important;border-radius:0!important;background:#fff;font-size:11px!important}
.purchase-custom-filter-chip>button{width:30px;height:36px;flex:0 0 30px;padding:0;border:0;border-left:1px solid #e0e5e1;background:#fff;color:#bd5a45;font-size:16px;cursor:pointer}
.purchase-filter-menu-wrap,.purchase-column-menu-wrap{position:relative}
.purchase-filter-menu-trigger{width:42px!important;height:38px!important;min-height:38px!important}
.purchase-popup-menu{position:absolute;z-index:80;top:calc(100% + 6px);left:0;width:265px;padding:8px;border:1px solid #d4dad5;border-radius:8px;background:#fff;box-shadow:0 12px 32px rgba(16,45,38,.18)}
.purchase-column-menu{right:0;left:auto;width:290px;max-height:390px;overflow:auto}
.purchase-popup-menu>input[type=search]{width:100%;height:36px;margin:0 0 6px!important;padding:7px 9px!important;border:1px solid #d4dad5!important;border-radius:6px!important;font-size:11px!important}
.purchase-popup-menu>label{display:flex;align-items:center;gap:8px;min-height:36px;padding:6px 7px;border-radius:6px;color:#1f2d29;font-size:11px;font-weight:600;cursor:pointer}
.purchase-popup-menu>label:hover{background:#f2f6f3}
.purchase-popup-menu>label[hidden]{display:none!important}
.purchase-popup-menu input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:var(--green)}
.purchase-column-reset{width:100%;margin-top:5px;padding:7px 9px;border:1px solid #d8dfda;border-radius:6px;background:#f6f8f6;color:#40524b;font-size:10px;font-weight:750;cursor:pointer}
.purchase-list-actionbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;padding:0 2px}
.purchase-list-actionbar-left,.purchase-list-actionbar-right{display:flex;align-items:center;gap:6px}
.purchase-list-actionbar .icon-action{width:42px;height:40px;min-height:40px;padding:0!important}
.purchase-list-add{background:#13493f!important}
.purchase-list-count{width:74px!important;height:40px!important;margin:0!important;padding:7px 9px!important;border:1px solid #cfd6d1!important;border-radius:8px!important;background:#f7f8f6!important;color:#26342f!important;text-align:center;font-size:12px!important;font-weight:750}
.purchase-column-optional{display:none}
.purchase-accurate-table-wrap{margin-top:0!important}
.purchase-accurate-table-wrap .purchase-list-table{min-width:980px}
.purchase-accurate-table-wrap .purchase-list-table thead th{position:sticky;top:0;z-index:3;background:#617991;color:#fff;border-color:#748aa0;font-size:10px}
.purchase-accurate-table-wrap .purchase-list-table tbody tr:nth-child(even){background:#f7f8f7}
.purchase-accurate-table-wrap .purchase-list-table tbody tr:hover{background:#eef5ef}
html[data-theme="dark"] .purchase-custom-filter-chip,
html[data-theme="dark"] .purchase-popup-menu,
html[data-theme="dark"] .purchase-custom-filter-chip>input,
html[data-theme="dark"] .purchase-custom-filter-chip>button{background:#17211e;border-color:#34443e;color:#e5ece9}
html[data-theme="dark"] .purchase-popup-menu>label:hover{background:#26342f}
html[data-theme="dark"] .purchase-list-count{background:#17211e!important;border-color:#34443e!important;color:#e5ece9!important}
@media(max-width:900px){
    .purchase-list-actionbar{align-items:stretch;flex-direction:column}
    .purchase-list-actionbar-left,.purchase-list-actionbar-right{justify-content:flex-start;flex-wrap:wrap}
    .purchase-custom-filter-chip{flex:1 1 230px}
}

/* V334 - hardening layout LIST Pembelian ala Accurate */
.purchase-list-page .purchase-list-actionbar{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-direction:row!important;
}
.purchase-list-page .purchase-list-actionbar-left,
.purchase-list-page .purchase-list-actionbar-right{
    display:flex!important;
    align-items:center!important;
    flex-direction:row!important;
    gap:6px!important;
}
.purchase-list-page .purchase-popup-menu[hidden]{display:none!important}
.purchase-list-page .purchase-column-optional{display:none}
.purchase-list-page .purchase-accurate-table-wrap{
    min-height:0;
    overflow:auto;
    scrollbar-gutter:stable;
}
@media(max-width:760px){
    .purchase-list-page .purchase-list-actionbar{
        align-items:stretch!important;
        flex-direction:column!important;
    }
    .purchase-list-page .purchase-list-actionbar-left,
    .purchase-list-page .purchase-list-actionbar-right{
        flex-wrap:wrap;
    }
}


/* =========================================================
   V335 - LIST Pembelian compact + master dropdown custom filter
   Desktop: filter utama hanya memakai sekitar setengah lebar layar,
   custom filter sejajar di kanan Status, tombol Search tetap di ujung kanan.
   ========================================================= */
.purchase-list-page .purchase-accurate-filter{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
    column-gap:10px!important;
    padding:8px 10px!important;
}
.purchase-list-page .purchase-accurate-filter .transaction-list-filter-fields{
    display:flex!important;
    align-items:end!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    width:max-content!important;
    max-width:calc(100vw - 240px)!important;
}
.purchase-list-page .purchase-accurate-filter .transaction-filter-date{
    flex:0 0 112px!important;
    min-width:112px!important;
    max-width:112px!important;
}
.purchase-list-page .purchase-accurate-filter .transaction-filter-field:not(.transaction-filter-date):not(.transaction-filter-status){
    flex:0 0 185px!important;
    min-width:185px!important;
    max-width:185px!important;
}
.purchase-list-page .purchase-accurate-filter .transaction-filter-status{
    flex:0 0 128px!important;
    min-width:128px!important;
    max-width:128px!important;
}
.purchase-list-page .purchase-accurate-filter .transaction-filter-field>span{
    margin-bottom:3px!important;
    font-size:7px!important;
    letter-spacing:.35px!important;
}
.purchase-list-page .purchase-accurate-filter .transaction-filter-field input,
.purchase-list-page .purchase-accurate-filter .transaction-filter-field select{
    height:36px!important;
    min-height:36px!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
    font-size:10px!important;
}
.purchase-list-page .purchase-accurate-filter .transaction-list-filter-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
    margin-left:auto!important;
    align-self:end!important;
}
.purchase-list-page .purchase-accurate-filter .transaction-list-filter-actions .icon-action{
    width:42px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0!important;
}
.purchase-list-page .purchase-inline-tool-wrap{
    flex:0 0 40px!important;
    align-self:end!important;
}
.purchase-list-page .purchase-filter-menu-trigger{
    width:40px!important;
    height:36px!important;
    min-height:36px!important;
}

/* Selected custom filters stay on a second compact row only when used. */
.purchase-list-page .purchase-custom-filter-row{
    grid-column:1/-1!important;
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    flex-wrap:wrap!important;
    min-height:0!important;
    margin-top:5px!important;
    padding-top:5px!important;
}
.purchase-list-page .purchase-custom-filter-row:has(.purchase-custom-filter-chip:not([hidden])){
    border-top:1px solid var(--line)!important;
}
.purchase-list-page .purchase-custom-filter-row:not(:has(.purchase-custom-filter-chip:not([hidden]))){
    display:none!important;
}
.purchase-list-page .purchase-custom-filter-chip{
    min-width:205px!important;
    height:36px!important;
    border-radius:8px!important;
}
.purchase-list-page .purchase-custom-filter-chip>input,
.purchase-list-page .purchase-custom-filter-chip>select{
    min-width:110px!important;
    height:34px!important;
    margin:0!important;
    padding:5px 24px 5px 7px!important;
    border:0!important;
    border-left:1px solid #e0e5e1!important;
    border-radius:0!important;
    background:#fff!important;
    color:var(--ink)!important;
    font-size:10px!important;
}
.purchase-list-page .purchase-custom-filter-chip>select{
    max-width:260px;
    cursor:pointer;
}
.purchase-list-page .purchase-custom-filter-chip>button{
    height:34px!important;
}

/* Satu keluarga visual untuk custom filter / import / pengaturan kolom. */
.purchase-list-page .purchase-tool-button{
    border:1px solid #aabdb5!important;
    border-radius:8px!important;
    background:#f8fbf9!important;
    color:#174f42!important;
    box-shadow:0 1px 2px rgba(12,55,45,.04)!important;
}
.purchase-list-page .purchase-tool-button svg{
    width:19px!important;
    height:19px!important;
    stroke-width:1.8!important;
}
.purchase-list-page .purchase-tool-button:hover,
.purchase-list-page .purchase-tool-button[aria-expanded="true"]{
    border-color:#6f9c8d!important;
    background:#eaf4ef!important;
    color:#0f654f!important;
}
.purchase-list-page .purchase-list-actionbar-left .secondary.icon-action{
    border-color:#aabdb5!important;
    background:#f8fbf9!important;
    color:#174f42!important;
}
.purchase-list-page .purchase-list-actionbar-left .secondary.icon-action:hover{
    border-color:#6f9c8d!important;
    background:#eaf4ef!important;
}
.purchase-list-page .purchase-list-count{
    border-color:#c4d0ca!important;
    background:#f3f6f4!important;
}

html[data-theme="dark"] .purchase-list-page .purchase-custom-filter-chip>select{
    border-color:#34443e!important;
    background:#17211e!important;
    color:#e5ece9!important;
}
html[data-theme="dark"] .purchase-list-page .purchase-tool-button,
html[data-theme="dark"] .purchase-list-page .purchase-list-actionbar-left .secondary.icon-action{
    border-color:#496158!important;
    background:#1c2925!important;
    color:#dce9e4!important;
}

@media(max-width:1180px){
    .purchase-list-page .purchase-accurate-filter .transaction-list-filter-fields{
        width:auto!important;
        max-width:none!important;
        flex-wrap:wrap!important;
    }
    .purchase-list-page .purchase-accurate-filter .transaction-filter-date{
        flex:0 0 120px!important;
        min-width:120px!important;
        max-width:120px!important;
    }
}
@media(max-width:760px){
    .purchase-list-page .purchase-accurate-filter{
        grid-template-columns:1fr!important;
    }
    .purchase-list-page .purchase-accurate-filter .transaction-list-filter-fields{
        width:100%!important;
        flex-wrap:wrap!important;
    }
    .purchase-list-page .purchase-accurate-filter .transaction-filter-date,
    .purchase-list-page .purchase-accurate-filter .transaction-filter-field:not(.transaction-filter-date),
    .purchase-list-page .purchase-accurate-filter .transaction-filter-status{
        flex:1 1 calc(50% - 4px)!important;
        min-width:150px!important;
        max-width:none!important;
    }
}


/* V336 - tombol Import & Pengaturan ala Accurate */
.purchase-list-page .purchase-accurate-split-button{
    display:inline-flex;
    width:58px;
    height:40px;
    min-height:40px;
    align-items:stretch;
    overflow:hidden;
    padding:0;
    border:1px solid #8ba7bd;
    border-radius:7px;
    background:#fff;
    color:#2d6f9f;
    box-shadow:0 1px 2px rgba(25,55,75,.05);
    cursor:pointer;
    transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,color .14s ease;
}
.purchase-list-page .purchase-accurate-split-button:hover,
.purchase-list-page .purchase-accurate-split-button[aria-expanded="true"]{
    border-color:#4f89b5;
    background:#f3f8fc;
    color:#1f6394;
    box-shadow:0 2px 7px rgba(45,111,159,.12);
}
.purchase-list-page .purchase-accurate-split-icon{display:grid;width:38px;flex:0 0 38px;place-items:center}
.purchase-list-page .purchase-accurate-split-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.purchase-list-page .purchase-accurate-split-caret{display:grid;width:19px;flex:0 0 19px;place-items:center;border-left:1px solid #c7d7e3;background:#f8fbfd}
.purchase-list-page .purchase-accurate-split-caret svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.purchase-list-page .purchase-accurate-split-button:hover .purchase-accurate-split-caret,
.purchase-list-page .purchase-accurate-split-button[aria-expanded="true"] .purchase-accurate-split-caret{border-left-color:#a9c3d5;background:#eaf3f9}
.purchase-list-page .purchase-list-actionbar-right{gap:6px!important}
html[data-theme="dark"] .purchase-list-page .purchase-accurate-split-button{border-color:#52728a;background:#17232b;color:#9ec8e7}
html[data-theme="dark"] .purchase-list-page .purchase-accurate-split-caret{border-left-color:#425b6c;background:#1d2c35}


/* =========================================================
   V338 - STANDARD LIST + INPUT PORTAL
   Semua menu CRUD/list+input mengikuti bahasa visual LIST ala Accurate.
   Pembelian mempertahankan template khusus yang sudah disepakati.
   ========================================================= */
.unified-list-intro-hidden{display:none!important}
.unified-crud-list-page .workspace-frame-content{padding-bottom:8px}
.unified-crud-list-page .unified-list-filter{
    display:flex!important;align-items:flex-end!important;gap:6px!important;flex-wrap:nowrap!important;
    margin:0 0 6px!important;padding:8px 10px!important;border:1px solid #dfe4df!important;border-radius:10px!important;background:#fff!important;
}
.unified-crud-list-page .unified-list-filter>label{min-width:0!important;margin:0!important}
.unified-crud-list-page .unified-list-filter input,
.unified-crud-list-page .unified-list-filter select{height:40px!important;min-height:40px!important;margin:0!important;padding:7px 10px!important;border-radius:7px!important;font-size:11px!important}
.unified-crud-list-page .unified-list-filter>input[type=search],
.unified-crud-list-page .unified-list-filter .transaction-filter-header,
.unified-crud-list-page .unified-list-filter .transaction-filter-detail{flex:1 1 210px!important;max-width:320px!important}
.unified-crud-list-page .unified-list-filter button[type=submit],
.unified-crud-list-page .unified-list-filter .primary.icon-action{margin-left:auto!important;width:42px!important;min-width:42px!important;height:40px!important;padding:0!important}
.unified-list-actionbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 6px}
.unified-list-actionbar-left,.unified-list-actionbar-right{display:flex;align-items:center;gap:6px}
.unified-add-button,.unified-refresh-button{display:grid!important;width:42px!important;height:40px!important;min-width:42px!important;place-items:center!important;padding:0!important;border-radius:7px!important}
.unified-add-button svg,.unified-refresh-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.unified-split-button{display:inline-flex;width:58px;height:40px;min-height:40px;align-items:stretch;overflow:hidden;padding:0;border:1px solid #8ba7bd;border-radius:7px;background:#fff;color:#2d6f9f;box-shadow:0 1px 2px rgba(25,55,75,.05);cursor:pointer;transition:.14s}
a.unified-split-button{text-decoration:none}
.unified-split-button:hover,.unified-split-button[aria-expanded=true]{border-color:#4f89b5;background:#f3f8fc;color:#1f6394;box-shadow:0 2px 7px rgba(45,111,159,.12)}
.unified-split-icon{display:grid;width:38px;flex:0 0 38px;place-items:center}
.unified-split-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.unified-split-caret{display:grid;width:19px;flex:0 0 19px;place-items:center;border-left:1px solid #c7d7e3;background:#f8fbfd}
.unified-split-caret svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.unified-list-count{width:78px!important;height:40px!important;margin:0!important;padding:0 8px!important;border:1px solid #d7ddd8!important;border-radius:7px!important;background:#eef1ed!important;color:#42524a!important;text-align:center!important;font-size:12px!important;font-weight:800!important}
.unified-popup-wrap{position:relative;display:inline-flex}
.unified-list-popup{position:absolute;z-index:90;top:calc(100% + 5px);right:0;width:260px;max-height:360px;padding:9px;border:1px solid #d4ddd7;border-radius:9px;background:#fff;box-shadow:0 12px 32px rgba(14,42,34,.18)}
.unified-filter-wrap .unified-list-popup{right:auto;left:0}
.unified-list-popup[hidden]{display:none!important}
.unified-popup-search{width:100%!important;height:36px!important;margin:0 0 7px!important;padding:6px 9px!important;border:1px solid #ccd6cf!important;border-radius:6px!important}
.unified-popup-options{max-height:280px;overflow:auto}
.unified-popup-option{display:flex!important;min-height:34px!important;align-items:center!important;gap:8px!important;padding:5px 6px!important;border-radius:5px!important;font-size:11px!important;font-weight:600!important;cursor:pointer}
.unified-popup-option:hover{background:#f0f5f1}
.unified-popup-option input{width:16px!important;height:16px!important;margin:0!important;accent-color:var(--green)}
.unified-filter-button{display:grid;width:42px;height:40px;min-width:42px;place-items:center;padding:0;border:1px solid #8eb7a9;border-radius:7px;background:#edf6f2;color:#0f594c;cursor:pointer}
.unified-filter-button:hover,.unified-filter-button[aria-expanded=true]{border-color:#5f9684;background:#e1f0ea}
.unified-filter-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.unified-custom-filter-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 6px}
.unified-custom-filter-row:empty{display:none}
.unified-custom-filter-chip{display:flex;align-items:center;height:36px;overflow:hidden;border:1px solid #cfd8d2;border-radius:7px;background:#fff}
.unified-custom-filter-chip>span{padding:0 8px;color:#34483f;font-size:10px;font-weight:800;white-space:nowrap}
.unified-custom-filter-chip input,.unified-custom-filter-chip select{width:180px;height:34px;margin:0!important;padding:5px 8px!important;border:0!important;border-left:1px solid #e0e5e1!important;border-radius:0!important;font-size:11px!important}
.unified-custom-filter-chip button{width:30px;height:34px;padding:0;border:0;border-left:1px solid #e0e5e1;background:#f4f6f4;color:#46564f;font-size:18px;cursor:pointer}
.unified-list-table-card{margin:0!important;min-height:0!important;max-height:calc(100vh - 330px)!important;overflow:auto!important;scrollbar-gutter:stable!important;border-radius:10px!important}
.unified-list-table thead th{position:sticky!important;top:0!important;z-index:4!important;background:#68839c!important;color:#fff!important;box-shadow:0 1px 0 rgba(0,0,0,.08)!important}
.unified-list-table tbody tr:nth-child(even){background:#eef3eb}
.unified-list-table tbody tr:hover{background:#e5eee5}
.unified-list-table td,.unified-list-table th{padding-top:8px!important;padding-bottom:8px!important}

/* Form input: satu bahasa visual untuk master CRUD. Transaction form custom tetap tidak dipaksa. */
.workspace-frame-page .master-form-intro{margin:6px 10px!important;padding:0!important}
.workspace-frame-page .master-form-intro h2{font-size:15px!important;margin:0!important}
.workspace-frame-page .master-form-intro .page-subtitle,.workspace-frame-page .master-form-intro p{font-size:10px!important;margin-top:2px!important}
.workspace-frame-page .master-form-intro + .form-card,
.workspace-frame-page .simple-feature-page .compact-form-card{max-width:none!important;margin:6px 10px!important;padding:14px!important;border-radius:10px!important}
.workspace-frame-page .master-form-intro + .form-card .form-grid,
.workspace-frame-page .simple-feature-page .compact-form-card .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px 12px!important}
.workspace-frame-page .master-form-intro + .form-card label,
.workspace-frame-page .simple-feature-page .compact-form-card label{font-size:10px!important;font-weight:750!important}
.workspace-frame-page .master-form-intro + .form-card input,
.workspace-frame-page .master-form-intro + .form-card select,
.workspace-frame-page .master-form-intro + .form-card textarea,
.workspace-frame-page .simple-feature-page .compact-form-card input,
.workspace-frame-page .simple-feature-page .compact-form-card select,
.workspace-frame-page .simple-feature-page .compact-form-card textarea{margin-top:5px!important}
.workspace-frame-page .master-form-intro + .form-card .form-actions,
.workspace-frame-page .simple-feature-page .compact-form-card .form-actions{display:flex!important;justify-content:flex-end!important;gap:8px!important;margin-top:12px!important;padding-top:10px!important;border-top:1px solid var(--line)!important}
.required-mark{display:inline!important;vertical-align:baseline!important;margin-left:2px!important}
.workspace-frame-page .form-card input:not([type=checkbox]):not([type=radio]),
.workspace-frame-page .form-card select{min-height:40px;border-radius:8px}
.workspace-frame-page .form-card textarea{border-radius:8px}
.workspace-frame-page .form-card .form-actions button,
.workspace-frame-page .form-card .form-actions a{min-height:40px;border-radius:8px}

@media(max-width:1050px){
    .unified-crud-list-page .unified-list-filter{flex-wrap:wrap!important}
    .unified-crud-list-page .unified-list-filter button[type=submit],.unified-crud-list-page .unified-list-filter .primary.icon-action{margin-left:0!important}
    .workspace-frame-page .master-form-intro + .form-card .form-grid,.workspace-frame-page .simple-feature-page .compact-form-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
    .unified-list-actionbar{align-items:flex-start;flex-direction:column}
    .unified-list-actionbar-right{width:100%;justify-content:flex-end;flex-wrap:wrap}
    .unified-list-table-card{max-height:none!important}
    .workspace-frame-page .master-form-intro + .form-card .form-grid,.workspace-frame-page .simple-feature-page .compact-form-card .form-grid{grid-template-columns:1fr!important}
}
html[data-theme=dark] .unified-crud-list-page .unified-list-filter,html[data-theme=dark] .unified-list-popup,html[data-theme=dark] .unified-custom-filter-chip{background:#17211e;border-color:#35453f;color:#e7efec}
html[data-theme=dark] .unified-split-button{border-color:#52728a;background:#17232b;color:#9ec8e7}
html[data-theme=dark] .unified-split-caret{border-left-color:#425b6c;background:#1d2c35}


/* =========================================================
   V339 - HOTFIX STANDARD LIST / INPUT GLOBAL
   - Custom filter aman di TransactionListFilter nested action.
   - Checkbox popup tetap 16px (tidak ikut tinggi textbox filter).
   - Count selalu terlihat.
   - Master/input biasa tidak dipaksa punya rail Data/Info (JS).
   - Funnel Pembelian disamakan dengan funnel global.
   ========================================================= */
.unified-crud-list-page .unified-list-filter .unified-popup-option input[type="checkbox"],
.unified-crud-list-page .unified-list-filter .unified-filter-popup input[type="checkbox"]{
    width:16px!important;
    min-width:16px!important;
    height:16px!important;
    min-height:16px!important;
    margin:0!important;
    padding:0!important;
    border-radius:3px!important;
    flex:0 0 16px!important;
    accent-color:var(--green)!important;
}
.unified-crud-list-page .unified-list-filter .unified-popup-search{
    width:100%!important;
    height:36px!important;
    min-height:36px!important;
    margin:0 0 7px!important;
}
.unified-filter-button{
    display:inline-flex!important;
    width:48px!important;
    height:40px!important;
    min-width:48px!important;
    align-items:stretch!important;
    overflow:hidden!important;
    padding:0!important;
    border:1px solid #8eb7a9!important;
    border-radius:7px!important;
    background:#edf6f2!important;
    color:#0f594c!important;
}
.unified-filter-main-icon{
    display:grid;
    width:31px;
    flex:0 0 31px;
    place-items:center;
}
.unified-filter-main-icon svg{width:19px!important;height:19px!important}
.unified-filter-caret{
    display:grid;
    width:16px;
    flex:0 0 16px;
    place-items:center;
    border-left:1px solid #bfd5cd;
    background:#f5faf7;
}
.unified-filter-caret svg{width:9px!important;height:9px!important}
.unified-filter-button:hover,.unified-filter-button[aria-expanded="true"]{
    border-color:#5f9684!important;
    background:#e1f0ea!important;
}
.unified-filter-button:hover .unified-filter-caret,.unified-filter-button[aria-expanded="true"] .unified-filter-caret{
    border-left-color:#9fc0b5;
    background:#d7eae2;
}
.unified-list-count:placeholder-shown{color:#42524a!important}

/* Pembelian memakai tombol Funnel yang sama dengan seluruh LIST. */
.purchase-list-page .purchase-unified-filter-button{
    display:inline-flex;
    width:48px;
    height:38px;
    min-width:48px;
    align-items:stretch;
    overflow:hidden;
    padding:0;
    border:1px solid #8eb7a9;
    border-radius:7px;
    background:#edf6f2;
    color:#0f594c;
    cursor:pointer;
    box-shadow:0 1px 2px rgba(15,89,76,.04);
}
.purchase-list-page .purchase-unified-filter-icon{display:grid;width:31px;flex:0 0 31px;place-items:center}
.purchase-list-page .purchase-unified-filter-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.purchase-list-page .purchase-unified-filter-caret{display:grid;width:16px;flex:0 0 16px;place-items:center;border-left:1px solid #bfd5cd;background:#f5faf7}
.purchase-list-page .purchase-unified-filter-caret svg{width:9px;height:9px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.purchase-list-page .purchase-unified-filter-button:hover,
.purchase-list-page .purchase-unified-filter-button[aria-expanded="true"]{border-color:#5f9684;background:#e1f0ea}
.purchase-list-page .purchase-unified-filter-button:hover .purchase-unified-filter-caret,
.purchase-list-page .purchase-unified-filter-button[aria-expanded="true"] .purchase-unified-filter-caret{border-left-color:#9fc0b5;background:#d7eae2}

/* Checkbox popup Pembelian juga dikunci agar tidak membesar oleh rule form/filter lain. */
.purchase-list-page .purchase-popup-menu label input[type="checkbox"]{
    width:16px!important;
    min-width:16px!important;
    height:16px!important;
    min-height:16px!important;
    margin:0!important;
    padding:0!important;
    flex:0 0 16px!important;
}

html[data-theme="dark"] .unified-filter-button,
html[data-theme="dark"] .purchase-list-page .purchase-unified-filter-button{
    border-color:#4f7669!important;
    background:#20322c!important;
    color:#a9d8ca!important;
}
html[data-theme="dark"] .unified-filter-caret,
html[data-theme="dark"] .purchase-list-page .purchase-unified-filter-caret{
    border-left-color:#426459;
    background:#263c35;
}


/* V340 - samakan margin semua LIST dengan Transaksi Pembelian */
.unified-crud-list-page .unified-list-filter{margin-left:0!important;margin-right:0!important;margin-top:0!important}
.unified-crud-list-page .unified-list-actionbar{margin-left:0!important;margin-right:0!important}
.unified-crud-list-page .unified-custom-filter-row{margin-left:0!important;margin-right:0!important}
.unified-crud-list-page .unified-list-table-card{margin-left:0!important;margin-right:0!important}
\n\n/* =========================================================\n   V341 - FINALISASI STANDAR FILTER LIST GLOBAL\n   - Search selalu paling kanan dan warna hijau/putih konsisten.\n   - Reset filter dihilangkan.\n   - Checkbox popup selalu 16x16.\n   - Count record selalu terlihat.\n   ========================================================= */\n.unified-crud-list-page .unified-list-filter{width:100%!important}\n.unified-crud-list-page .unified-list-filter .transaction-list-filter-fields{flex:1 1 auto!important;min-width:0!important}\n.unified-crud-list-page .unified-list-filter .transaction-list-filter-actions{\n    display:flex!important;align-items:center!important;gap:6px!important;flex:0 0 auto!important;margin-left:auto!important;\n}\n.unified-crud-list-page .unified-list-filter .unified-search-button,\n.unified-crud-list-page .unified-list-filter button[aria-label="Cari"],\n.unified-crud-list-page .unified-list-filter button[aria-label="Terapkan filter"]{\n    display:grid!important;width:42px!important;min-width:42px!important;height:40px!important;min-height:40px!important;\n    margin-left:auto!important;padding:0!important;place-items:center!important;border:1px solid #0f594c!important;border-radius:7px!important;\n    background:#0f4f43!important;color:#fff!important;box-shadow:none!important;\n}\n.unified-crud-list-page .unified-list-filter .unified-search-button:hover,\n.unified-crud-list-page .unified-list-filter button[aria-label="Cari"]:hover,\n.unified-crud-list-page .unified-list-filter button[aria-label="Terapkan filter"]:hover{background:#0c4439!important;border-color:#0c4439!important}\n.unified-crud-list-page .unified-list-filter .unified-search-button svg,\n.unified-crud-list-page .unified-list-filter button[aria-label="Cari"] svg,\n.unified-crud-list-page .unified-list-filter button[aria-label="Terapkan filter"] svg{\n    width:20px!important;height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;\n}\n/* Reset filter tidak lagi menjadi bagian toolbar standar. */\n.unified-crud-list-page .unified-list-filter [aria-label="Reset filter"],\n.unified-crud-list-page .unified-list-filter [title="Reset filter"]{display:none!important}\n/* Funnel selalu satu tema split-button hijau. */\n.unified-filter-button{box-shadow:0 1px 2px rgba(15,89,76,.04)!important}\n/* Cegah rule input global membesarkan checkbox popup custom filter / pengaturan kolom. */\n.unified-list-popup .unified-popup-option>input[type="checkbox"],\n.unified-list-popup input[type="checkbox"],\n.purchase-list-page .purchase-popup-menu label>input[type="checkbox"]{\n    appearance:auto!important;-webkit-appearance:auto!important;\n    width:16px!important;min-width:16px!important;max-width:16px!important;\n    height:16px!important;min-height:16px!important;max-height:16px!important;\n    margin:0!important;padding:0!important;flex:0 0 16px!important;border-radius:3px!important;box-sizing:border-box!important;\n}\n.unified-list-count{color:#42524a!important;opacity:1!important}\nhtml[data-theme="dark"] .unified-crud-list-page .unified-list-filter .unified-search-button,\nhtml[data-theme="dark"] .unified-crud-list-page .unified-list-filter button[aria-label="Cari"],\nhtml[data-theme="dark"] .unified-crud-list-page .unified-list-filter button[aria-label="Terapkan filter"]{\n    border-color:#367968!important;background:#194d41!important;color:#fff!important;\n}\n
/* =========================================================
   V344 - PENJUALAN ONLINE: FILTER UTAMA SETENGAH LEBAR
   Empat field utama tidak lagi memenuhi seluruh toolbar.
   Tombol Filter Tambahan tetap menempel setelah kelompok filter,
   sehingga popup membuka di area yang cukup dan tidak mepet kanan layar.
   ========================================================= */
@media (min-width:1201px){
    .unified-crud-list-page .online-sale-list-filter.unified-list-filter{
        justify-content:flex-start!important;
    }
    .unified-crud-list-page .online-sale-list-filter.unified-list-filter .transaction-list-filter-fields{
        flex:0 1 50%!important;
        width:50%!important;
        max-width:50%!important;
        min-width:0!important;
    }
    .unified-crud-list-page .online-sale-list-filter.unified-list-filter .transaction-filter-field{
        min-width:0!important;
    }
}


/* =========================================================
   V345 - FILTER MASTER BARANG + SORT HEADER PENJUALAN ONLINE
   - Thumbnail Master Barang memakai filter compact seperti mode list.
   - Header sortable Penjualan Online tidak berubah putih/hijau saat hover/active.
   - Tombol Search filter sudah dihapus via markup + list-global.js.
   ========================================================= */

/* Master Barang Thumbnail tidak memiliki table enhancer, jadi kunci toolbar
   filter pada lebar compact agar tidak memenuhi satu layar. */
@media (min-width:901px){
    body:not(.unified-crud-list-page) .master-barang-filter{
        display:grid!important;
        grid-template-columns:minmax(300px,400px) minmax(190px,260px)!important;
        justify-content:start!important;
        align-items:stretch!important;
        width:100%!important;
        gap:8px!important;
    }
    body:not(.unified-crud-list-page) .master-barang-filter>input[type="hidden"]{
        display:none!important;
    }
    body:not(.unified-crud-list-page) .master-barang-filter>input[type="search"],
    body:not(.unified-crud-list-page) .master-barang-filter>select{
        width:100%!important;
        min-width:0!important;
        max-width:none!important;
        margin:0!important;
    }
}
@media (max-width:900px){
    .master-barang-filter{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
    }
    .master-barang-filter>input[type="search"],
    .master-barang-filter>select{
        width:100%!important;
        min-width:0!important;
    }
}

/* Sort tetap terlihat sebagai header biru. Active/hover hanya mempertahankan
   header, tidak membuat satu kolom berubah menjadi blok putih/hijau. */
.unified-list-table.online-sale-list-table thead th.is-sortable:hover .online-sale-sort-link,
.unified-list-table.online-sale-list-table thead th.is-sortable.is-active .online-sale-sort-link{
    background:transparent!important;
    color:#fff!important;
}
.unified-list-table.online-sale-list-table .online-sale-sort-link b{
    color:rgba(255,255,255,.88)!important;
}
html[data-theme="dark"] .unified-list-table.online-sale-list-table thead th.is-sortable:hover .online-sale-sort-link,
html[data-theme="dark"] .unified-list-table.online-sale-list-table thead th.is-sortable.is-active .online-sale-sort-link{
    background:transparent!important;
    color:#fff!important;
}

/* =========================================================
   V346 - RAPIIKAN FILTER / BARANG RUSAK / DIMENSI / HOTFIX MASTER BARANG
   1) Adjust Stock: 4 filter utama cukup setengah lebar pada desktop.
   2) Barang Rusak: bukan transaksi, rail Data/Info kiri tidak dipakai.
   3) Dimensi & Berat: margin kiri/kanan konsisten dengan list lain.
   4) Master Barang: view server dikembalikan ke markup stabil; tombol Cari/Reset
      disembunyikan dan live-filter ditangani list-global.js.
   ========================================================= */

/* Adjust Stock - jangan biarkan empat field menghabiskan seluruh baris. */
@media (min-width:1201px){
    .unified-crud-list-page .adjust-list-toolbar.unified-list-filter{
        justify-content:flex-start!important;
    }
    .unified-crud-list-page .adjust-list-toolbar.unified-list-filter .transaction-list-filter-fields{
        flex:0 1 50%!important;
        width:50%!important;
        max-width:50%!important;
        min-width:0!important;
    }
    .unified-crud-list-page .adjust-list-toolbar.unified-list-filter .transaction-filter-field{
        min-width:0!important;
    }
}

/* Barang Rusak - fallback visual kalau browser sempat memuat JS lama dari cache. */
.damage-entry-card.global-transaction-tabbed-surface{
    display:block!important;
    grid-template-columns:1fr!important;
    padding:10px!important;
}
.damage-entry-card.global-transaction-tabbed-surface > .global-transaction-page-tabs{
    display:none!important;
}
.damage-entry-card.global-transaction-tabbed-surface > .global-transaction-data-node{
    grid-column:auto!important;
    grid-row:auto!important;
}

/* Search Barang Rusak sekarang live; tombol kaca pembesar tidak diperlukan. */
.damage-search-form .damage-search-button,
.damage-search-form button[aria-label="Cari"],
.damage-search-form button[title="Cari"]{
    display:none!important;
}
.damage-search-form .damage-search-group{
    width:min(430px,100%)!important;
    grid-template-columns:minmax(0,1fr)!important;
}
.damage-search-form .damage-search-group input{
    width:100%!important;
}

/* Dimensi & Berat - jangan menempel ke tepi frame. */
.workspace-frame-page .workspace-frame-content:has(> form.master-toolbar > input[placeholder="Cari merk;kode"]){
    padding-left:16px!important;
    padding-right:16px!important;
}
.workspace-frame-page .workspace-frame-content:has(> form.master-toolbar > input[placeholder="Cari merk;kode"]) > .toolbar,
.workspace-frame-page .workspace-frame-content:has(> form.master-toolbar > input[placeholder="Cari merk;kode"]) > .master-toolbar,
.workspace-frame-page .workspace-frame-content:has(> form.master-toolbar > input[placeholder="Cari merk;kode"]) > .table-card{
    margin-left:0!important;
    margin-right:0!important;
    width:100%!important;
    max-width:100%!important;
}

/* Master Barang: markup dikembalikan ke versi stabil. Hilangkan Search/Reset secara
   presentasional; list-global.js akan melakukan hal yang sama dan submit live. */
.item-view-switcher + .master-toolbar button[aria-label="Cari"],
.item-view-switcher + .master-toolbar button[title="Cari"],
.item-view-switcher + .master-toolbar a[aria-label="Reset filter"],
.item-view-switcher + .master-toolbar a[title="Reset filter"]{
    display:none!important;
}

/* Thumbnail Master Barang tidak melewati enhancer table, jadi filter dibuat compact
   dengan selector struktur yang tidak memerlukan perubahan Blade. */
@media (min-width:901px){
    body:not(.unified-crud-list-page) .item-view-switcher + .master-toolbar{
        display:grid!important;
        grid-template-columns:minmax(300px,400px) minmax(190px,260px)!important;
        justify-content:start!important;
        align-items:stretch!important;
        width:100%!important;
        gap:8px!important;
    }
    body:not(.unified-crud-list-page) .item-view-switcher + .master-toolbar > input[type="hidden"]{
        display:none!important;
    }
    body:not(.unified-crud-list-page) .item-view-switcher + .master-toolbar > input[type="search"],
    body:not(.unified-crud-list-page) .item-view-switcher + .master-toolbar > select{
        width:100%!important;
        min-width:0!important;
        max-width:none!important;
        margin:0!important;
    }
}
@media (max-width:900px){
    .item-view-switcher + .master-toolbar{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
    }
}

/* =========================================================
   V347 - HOTFIX ADJUST STOCK FILTER
   Jangan mengecilkan container filter tanpa mengecilkan child.
   Empat field dibuat grid compact supaya tombol funnel selalu berada
   sesudah field, tidak menimpa Filter Detail.
   ========================================================= */
@media (min-width:1201px){
    .unified-crud-list-page .adjust-list-toolbar.unified-list-filter{
        display:flex!important;
        align-items:flex-end!important;
        justify-content:flex-start!important;
        gap:7px!important;
    }
    .unified-crud-list-page .adjust-list-toolbar.unified-list-filter .transaction-list-filter-fields{
        display:grid!important;
        grid-template-columns:150px 150px 220px minmax(240px,1fr)!important;
        gap:7px!important;
        flex:0 0 790px!important;
        width:790px!important;
        max-width:790px!important;
        min-width:0!important;
        overflow:visible!important;
    }
    .unified-crud-list-page .adjust-list-toolbar.unified-list-filter .transaction-list-filter-fields>.transaction-filter-field,
    .unified-crud-list-page .adjust-list-toolbar.unified-list-filter .transaction-list-filter-fields>.transaction-filter-date{
        width:auto!important;
        min-width:0!important;
        max-width:none!important;
        flex:none!important;
    }
    .unified-crud-list-page .adjust-list-toolbar.unified-list-filter>.unified-filter-wrap{
        flex:0 0 48px!important;
        width:48px!important;
        min-width:48px!important;
        margin-left:0!important;
        align-self:flex-end!important;
    }
}
@media (min-width:1201px) and (max-width:1450px){
    .unified-crud-list-page .adjust-list-toolbar.unified-list-filter .transaction-list-filter-fields{
        grid-template-columns:135px 135px 200px minmax(220px,1fr)!important;
        flex-basis:720px!important;
        width:720px!important;
        max-width:720px!important;
    }
}

/* Master Barang: jangan pakai rule V345 berbasis class khusus lagi.
   View dikembalikan ke file asli yang sudah terbukti jalan sebelum V345. */
.master-barang-filter{all:unset}


/* =========================================================
   V348 - FINAL HOTFIX ADJUST STOCK FILTER LAYOUT
   Penyebab utama: rule legacy .adjust-list-toolbar input{min-width:360px}
   membuat input keluar dari grid compact dan menimpa tombol funnel.
   ========================================================= */
@media (min-width:1201px){
    .unified-crud-list-page .adjust-list-toolbar.unified-list-filter{
        display:flex!important;
        flex-wrap:nowrap!important;
        align-items:flex-end!important;
        justify-content:flex-start!important;
        gap:8px!important;
        width:100%!important;
    }
    .unified-crud-list-page .adjust-list-toolbar.unified-list-filter .transaction-list-filter-fields{
        display:grid!important;
        grid-template-columns:140px 140px 220px 300px!important;
        gap:8px!important;
        flex:0 0 auto!important;
        width:auto!important;
        max-width:none!important;
        min-width:0!important;
        overflow:visible!important;
    }
    .unified-crud-list-page .adjust-list-toolbar.unified-list-filter .transaction-list-filter-fields > .transaction-filter-field,
    .unified-crud-list-page .adjust-list-toolbar.unified-list-filter .transaction-list-filter-fields > .transaction-filter-date{
        display:block!important;
        width:auto!important;
        min-width:0!important;
        max-width:none!important;
        flex:none!important;
        overflow:hidden!important;
    }
    /* KUNCI FIX: lawan min-width:360px legacy Adjust Stock. */
    .unified-crud-list-page .adjust-list-toolbar.unified-list-filter .transaction-list-filter-fields input,
    .unified-crud-list-page .adjust-list-toolbar.unified-list-filter .transaction-list-filter-fields select{
        display:block!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        box-sizing:border-box!important;
    }
    .unified-crud-list-page .adjust-list-toolbar.unified-list-filter > .unified-filter-wrap{
        position:relative!important;
        inset:auto!important;
        flex:0 0 48px!important;
        width:48px!important;
        min-width:48px!important;
        max-width:48px!important;
        margin:0!important;
        align-self:flex-end!important;
        transform:none!important;
    }
}
@media (min-width:1201px) and (max-width:1400px){
    .unified-crud-list-page .adjust-list-toolbar.unified-list-filter .transaction-list-filter-fields{
        grid-template-columns:132px 132px 200px 270px!important;
    }
}


/* =========================================================
   V349 - ADJUST STOCK FILTER FINAL + MASTER BARANG COLLECTION FIX
   Adjust Stock memakai markup khusus: 4 field compact + funnel setelah field.
   Tidak bergantung lagi pada action wrapper TransactionListFilter.
   ========================================================= */
@media (min-width:1201px){
    .unified-crud-list-page form.adjust-list-toolbar.unified-list-filter[data-adjust-list-filter]{
        display:flex!important;
        flex-wrap:nowrap!important;
        align-items:flex-end!important;
        justify-content:flex-start!important;
        gap:8px!important;
        width:100%!important;
        padding:8px 10px!important;
    }
    .unified-crud-list-page form.adjust-list-toolbar.unified-list-filter[data-adjust-list-filter] > .adjust-list-filter-fields{
        display:grid!important;
        grid-template-columns:152px 152px 220px 300px!important;
        gap:8px!important;
        flex:0 0 auto!important;
        width:848px!important;
        max-width:848px!important;
        min-width:0!important;
        margin:0!important;
        overflow:visible!important;
    }
    .unified-crud-list-page form.adjust-list-toolbar.unified-list-filter[data-adjust-list-filter] > .adjust-list-filter-fields > .transaction-filter-field{
        display:flex!important;
        width:auto!important;
        min-width:0!important;
        max-width:none!important;
        margin:0!important;
        overflow:visible!important;
        flex-direction:column!important;
    }
    .unified-crud-list-page form.adjust-list-toolbar.unified-list-filter[data-adjust-list-filter] > .adjust-list-filter-fields input,
    .unified-crud-list-page form.adjust-list-toolbar.unified-list-filter[data-adjust-list-filter] > .adjust-list-filter-fields select{
        display:block!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        height:40px!important;
        box-sizing:border-box!important;
        margin:0!important;
    }
    .unified-crud-list-page form.adjust-list-toolbar.unified-list-filter[data-adjust-list-filter] > .unified-filter-wrap{
        position:relative!important;
        inset:auto!important;
        display:inline-flex!important;
        flex:0 0 50px!important;
        width:50px!important;
        min-width:50px!important;
        max-width:50px!important;
        margin:0!important;
        align-self:flex-end!important;
        transform:none!important;
    }
}
@media (min-width:1201px) and (max-width:1450px){
    .unified-crud-list-page form.adjust-list-toolbar.unified-list-filter[data-adjust-list-filter] > .adjust-list-filter-fields{
        grid-template-columns:138px 138px 205px 270px!important;
        width:775px!important;
        max-width:775px!important;
    }
}
@media (max-width:1200px){
    .unified-crud-list-page form.adjust-list-toolbar.unified-list-filter[data-adjust-list-filter]{
        display:flex!important;
        flex-wrap:wrap!important;
    }
    .unified-crud-list-page form.adjust-list-toolbar.unified-list-filter[data-adjust-list-filter] > .adjust-list-filter-fields{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        width:100%!important;
        max-width:100%!important;
        flex:1 1 100%!important;
        gap:8px!important;
    }
    .unified-crud-list-page form.adjust-list-toolbar.unified-list-filter[data-adjust-list-filter] > .adjust-list-filter-fields input{
        width:100%!important;min-width:0!important;max-width:100%!important;
    }
}
@media (max-width:700px){
    .unified-crud-list-page form.adjust-list-toolbar.unified-list-filter[data-adjust-list-filter] > .adjust-list-filter-fields{
        grid-template-columns:1fr!important;
    }
}

/* =========================================================
   V350 - MASTER BARANG ACTIONBAR + RAIL FIX
   - Thumbnail memakai actionbar di bawah filter, sama posisi dengan list.
   - Import Master Barang memakai split-button ala Pembelian pada semua view.
   - Rail form Master Barang dikunci dalam track 44px agar tidak menimpa konten.
   ========================================================= */
.master-barang-thumbnail-actionbar{
    margin:6px 0 8px!important;
    padding:0 2px!important;
}
.master-barang-thumbnail-actionbar .unified-add-button,
.master-barang-thumbnail-actionbar .unified-refresh-button{
    width:42px!important;
    min-width:42px!important;
    height:40px!important;
    min-height:40px!important;
}
.master-barang-thumbnail-actionbar .master-barang-import-button{
    width:58px!important;
    height:40px!important;
    min-height:40px!important;
}
.master-barang-thumbnail-actionbar .master-barang-import-button svg{
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}
.workspace-frame-page .item-form-card .compact-form-tabs{
    grid-template-columns:44px minmax(0,1fr)!important;
    column-gap:8px!important;
}
.workspace-frame-page .item-form-card .compact-form-tab-rail{
    box-sizing:border-box!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    padding-right:7px!important;
    overflow:hidden!important;
}
.workspace-frame-page .item-form-card .compact-form-tab-rail button{
    box-sizing:border-box!important;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
}
.workspace-frame-page .item-form-card .compact-form-tab-pages{
    min-width:0!important;
    overflow:visible!important;
}
@media(max-width:760px){
    .workspace-frame-page .item-form-card .compact-form-tab-rail{
        width:100%!important;
        min-width:0!important;
        max-width:none!important;
        padding-right:0!important;
        overflow:visible!important;
    }
}

/* =========================================================
   V351 - MASTER BARANG THUMBNAIL CONTROLS + RAIL NORMALIZATION
   ========================================================= */
/* Thumbnail: kontrol list tetap sama seperti mode tabel; yang berubah hanya grid datanya. */
.master-thumbnail-filterbar{
    display:flex!important;
    align-items:flex-end!important;
    gap:8px!important;
    flex-wrap:nowrap!important;
    width:min(760px,100%)!important;
    margin:0 0 6px!important;
    padding:8px 10px!important;
    border:1px solid #dfe4df!important;
    border-radius:10px!important;
    background:#fff!important;
}
.master-thumbnail-filterbar>input[type="search"]{flex:1 1 340px!important;min-width:220px!important;height:40px!important;margin:0!important}
.master-thumbnail-filterbar>select{flex:0 0 280px!important;width:280px!important;min-width:0!important;height:40px!important;margin:0!important}
.master-thumbnail-filterbar>.master-thumbnail-filter-wrap{flex:0 0 48px!important;width:48px!important;margin:0!important}
.master-thumbnail-filter-chips{margin-top:0!important}
.master-barang-thumbnail-actionbar{width:100%!important;margin:0 0 8px!important;padding:0 2px!important}
.master-barang-thumbnail-actionbar .unified-list-actionbar-right{margin-left:auto!important}
.master-barang-thumbnail-actionbar .unified-refresh-button svg{
    width:21px!important;height:21px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}
.master-barang-thumbnail-card[data-module-open],
.master-barang-group-row[data-module-open]{cursor:pointer}
.master-barang-thumbnail-card[data-module-open]:hover{box-shadow:0 4px 16px rgba(19,58,48,.12)}
.master-barang-thumbnail-card[hidden]{display:none!important}
.master-thumbnail-settings-popup,.master-thumbnail-filter-popup{z-index:120!important}

/* Master Barang punya rail section native Umum/Dimensi/Foto. Pastikan rail itu satu-satunya rail kiri. */
.workspace-frame-page #barangForm.global-transaction-tabbed-surface{
    padding-left:14px!important;
}
.workspace-frame-page #barangForm>.global-transaction-page-tabs{display:none!important}
.workspace-frame-page #barangForm .compact-form-tabs{
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:8px!important;
}
.workspace-frame-page #barangForm .compact-form-tab-rail{
    position:relative!important;
    inset:auto!important;
    width:44px!important;min-width:44px!important;max-width:44px!important;
    margin:0!important;padding:0 7px 0 0!important;
    border-right:1px solid var(--line)!important;
    overflow:visible!important;
    z-index:2!important;
}
.workspace-frame-page #barangForm .compact-form-tab-rail button{
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    width:36px!important;min-width:36px!important;max-width:36px!important;
    height:36px!important;min-height:36px!important;
    margin:0!important;padding:0!important;
    place-items:center!important;
    transform:none!important;
    z-index:3!important;
}
.workspace-frame-page #barangForm .compact-form-tab-pages{min-width:0!important;position:relative!important;z-index:1!important}

/* Adjust Stock: rail kanan pakai geometri persis seperti Pembelian. */
@media(min-width:761px){
    .workspace-frame-page .adjust-form-card.purchase-rail-form{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) 46px!important;
        gap:8px!important;
        align-items:stretch!important;
        height:calc(100vh - 25px)!important;
        min-height:calc(100vh - 25px)!important;
        max-height:calc(100vh - 25px)!important;
        padding:8px!important;
        overflow:hidden!important;
        box-sizing:border-box!important;
    }
    .workspace-frame-page .adjust-form-card .adjust-form-main{
        min-width:0!important;min-height:0!important;height:100%!important;
    }
    .workspace-frame-page .adjust-form-card .adjust-action-rail.purchase-action-rail{
        position:static!important;
        top:auto!important;
        align-self:stretch!important;
        width:auto!important;
        min-width:0!important;
        height:100%!important;
        min-height:0!important;
        margin:0!important;
        padding:5px 4px!important;
        box-sizing:border-box!important;
        justify-content:flex-start!important;
    }
}
@media(max-width:900px){
    .master-thumbnail-filterbar{width:100%!important;flex-wrap:wrap!important}
    .master-thumbnail-filterbar>input[type="search"],.master-thumbnail-filterbar>select{flex:1 1 260px!important;width:auto!important}
}

/* =========================================================
   V352 - MASTER BARANG THUMBNAIL FILTER + IMPORT CLEANUP
   ========================================================= */
/* Thumbnail: search + status + funnel harus selalu satu baris di desktop. */
@media(min-width:901px){
    .master-thumbnail-filterbar{
        display:grid!important;
        grid-template-columns:minmax(320px,430px) 280px 48px!important;
        align-items:end!important;
        column-gap:8px!important;
        row-gap:0!important;
        width:min(800px,100%)!important;
        max-width:800px!important;
        min-width:0!important;
        margin:0 0 6px!important;
        padding:8px 10px!important;
        box-sizing:border-box!important;
        overflow:visible!important;
    }
    .master-thumbnail-filterbar>input[type="search"]{
        grid-column:1!important;
        width:100%!important;
        min-width:0!important;
        max-width:none!important;
        margin:0!important;
    }
    .master-thumbnail-filterbar>select{
        grid-column:2!important;
        width:100%!important;
        min-width:0!important;
        max-width:none!important;
        margin:0!important;
    }
    .master-thumbnail-filterbar>.master-thumbnail-filter-wrap{
        grid-column:3!important;
        position:relative!important;
        display:inline-flex!important;
        width:48px!important;
        min-width:48px!important;
        max-width:48px!important;
        margin:0!important;
        align-self:end!important;
        justify-self:start!important;
        transform:none!important;
    }
}
/* Popup custom filter khusus Thumbnail: jangan mewarisi ukuran textbox filter global. */
.master-thumbnail-filter-wrap .master-thumbnail-filter-popup{
    left:auto!important;
    right:0!important;
    width:250px!important;
    min-width:250px!important;
    max-width:250px!important;
    padding:8px!important;
    border-radius:9px!important;
    z-index:180!important;
    box-sizing:border-box!important;
}
.master-thumbnail-filter-popup .unified-popup-search{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:36px!important;
    min-height:36px!important;
    margin:0 0 7px!important;
    padding:6px 9px!important;
    box-sizing:border-box!important;
}
.master-thumbnail-filter-popup .unified-popup-options{
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
    max-height:260px!important;
    overflow:auto!important;
}
.master-thumbnail-filter-popup .unified-popup-option{
    display:grid!important;
    grid-template-columns:18px minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    min-height:32px!important;
    margin:0!important;
    padding:5px 6px!important;
    box-sizing:border-box!important;
    border-radius:6px!important;
}
.master-thumbnail-filter-popup .unified-popup-option input[type="checkbox"]{
    display:block!important;
    width:16px!important;
    min-width:16px!important;
    max-width:16px!important;
    height:16px!important;
    min-height:16px!important;
    max-height:16px!important;
    margin:0!important;
    padding:0!important;
    border-radius:3px!important;
    flex:0 0 16px!important;
    box-sizing:border-box!important;
    accent-color:var(--green)!important;
}
.master-thumbnail-filter-popup .unified-popup-option span{
    display:block!important;
    min-width:0!important;
    font-size:11px!important;
    font-weight:700!important;
    line-height:1.25!important;
    color:#24342e!important;
    white-space:normal!important;
}
@media(max-width:900px){
    .master-thumbnail-filterbar{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) minmax(180px,240px) 48px!important;
        gap:8px!important;
        width:100%!important;
        max-width:100%!important;
    }
    .master-thumbnail-filterbar>input[type="search"],
    .master-thumbnail-filterbar>select,
    .master-thumbnail-filterbar>.master-thumbnail-filter-wrap{width:100%!important;min-width:0!important;margin:0!important}
}
@media(max-width:650px){
    .master-thumbnail-filterbar{
        grid-template-columns:minmax(0,1fr) 48px!important;
    }
    .master-thumbnail-filterbar>input[type="search"]{grid-column:1 / -1!important}
    .master-thumbnail-filterbar>select{grid-column:1!important}
    .master-thumbnail-filterbar>.master-thumbnail-filter-wrap{grid-column:2!important;width:48px!important;min-width:48px!important}
}

/* Import Master Barang bukan transaksi: jangan buat rail Data/Info global. */
.workspace-frame-page #barangImportForm.global-transaction-tabbed-surface,
#barangImportForm.global-transaction-tabbed-surface{
    padding-left:18px!important;
}
.workspace-frame-page #barangImportForm>.global-transaction-page-tabs,
#barangImportForm>.global-transaction-page-tabs{
    display:none!important;
}
.workspace-frame-page #barangImportForm,
#barangImportForm{
    max-width:none!important;
    margin:8px 10px 10px!important;
    padding:18px!important;
    border-radius:12px!important;
    box-sizing:border-box!important;
}
#barangImportForm .item-import-template-action{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    margin:0!important;
    padding-top:2px!important;
}
#barangImportForm .item-import-template-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:40px!important;
    padding:0 16px!important;
    border-radius:8px!important;
    text-decoration:none!important;
    font-weight:700!important;
}

/* =========================================================
   V353 - MASTER BARANG THUMBNAIL FILTER FULL WIDTH
   Container filter memenuhi lebar area kerja; field tetap compact di kiri.
   ========================================================= */
@media(min-width:901px){
    .master-thumbnail-filterbar{
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }
}

/* =========================================================
   V354 - MASTER BARANG FORM ALIGNMENT + LOCK DELETE NOTE
   ========================================================= */
/* Master Barang bukan transaksi: gunakan rail native dan margin sama seperti form workspace lain. */
.workspace-frame-page .master-form-intro + #barangForm,
.workspace-frame-page #barangForm{
    margin:6px 0 0!important;
    padding:8px!important;
    max-width:none!important;
    box-sizing:border-box!important;
}
.workspace-frame-page #barangForm .compact-form-tabs{
    grid-template-columns:44px minmax(0,1fr)!important;
    column-gap:8px!important;
}
.workspace-frame-page #barangForm .compact-form-tab-rail{
    padding-right:7px!important;
}
.item-delete-locked{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    min-width:0;
}
.item-delete-locked small{
    display:block!important;
    max-width:320px;
    margin:0!important;
    color:var(--muted);
    font-size:10px!important;
    font-weight:600!important;
    line-height:1.25;
}
.item-delete-locked .danger:disabled{
    opacity:.45;
    cursor:not-allowed;
    pointer-events:auto;
}
@media(max-width:760px){
    .workspace-frame-page .master-form-intro + #barangForm,
    .workspace-frame-page #barangForm{margin:4px 0 0!important;padding:8px!important}
    .item-delete-locked{flex-wrap:wrap;justify-content:flex-end}
    .item-delete-locked small{max-width:220px}
}

/* V369 - Batch Penjualan Online + mapping akun marketplace */
.online-store-transaction-map{margin:2px 0 9px;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fafcfb}
.online-store-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.online-store-map-head>div{min-width:0}.online-store-map-head strong{display:block;font-size:10.5px}.online-store-map-head small{display:block;margin-top:2px;color:var(--muted);font-size:8.5px;line-height:1.35}
.online-store-map-state{flex:0 0 auto;padding:3px 6px;border-radius:999px;font-size:7.5px;font-weight:900;letter-spacing:.04em;background:#fff2d8;color:#8a5a09}.online-store-map-state.is-ready{background:#e5f4e9;color:#17633c}
.online-store-map-form{display:grid;grid-template-columns:1fr 1fr;gap:7px 8px;margin:0}.online-store-map-form label{display:flex;flex-direction:column;gap:3px;min-width:0}.online-store-map-form label>span{font-size:8px;font-weight:900;color:var(--muted);letter-spacing:.03em}.online-store-map-form select,.online-store-map-form input{width:100%;min-width:0;height:31px;padding:5px 7px;font-size:9.5px}.online-store-map-save{grid-column:1/-1;display:flex;justify-content:flex-end}.online-store-map-save button{padding:6px 9px;font-size:9px;font-weight:900}

.market-batch-page{padding:12px 16px 18px}
.market-batch-shell{border:1px solid var(--line);border-radius:11px;background:var(--white);box-shadow:0 2px 8px rgba(21,61,53,.025);overflow:hidden}
.market-batch-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border-bottom:1px solid var(--line)}
.market-batch-head-copy{min-width:0}.market-batch-kicker{margin-bottom:2px;font-size:8px;font-weight:900;letter-spacing:.08em;color:#28705b}.market-batch-head h2{margin:0;font-size:16px}.market-batch-head p{max-width:920px;margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.4}
.market-batch-refresh{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:7px 10px;font-size:9px;font-weight:900}.market-batch-refresh span{font-size:14px;line-height:1}
.market-batch-context{display:grid;grid-template-columns:1.1fr 1.25fr .9fr .8fr;border-bottom:1px solid var(--line);background:#fafbf9}.market-batch-context>div{min-width:0;padding:8px 11px;border-right:1px solid var(--line)}.market-batch-context>div:last-child{border-right:0}.market-batch-context small{display:block;font-size:7.5px;letter-spacing:.05em;color:var(--muted);font-weight:900}.market-batch-context strong{display:block;margin-top:2px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.market-batch-account-strip{display:flex;align-items:stretch;gap:7px;padding:9px 11px;border-bottom:1px solid var(--line);overflow-x:auto;background:#fff}.market-batch-account{display:grid;grid-template-columns:28px minmax(130px,1fr);align-items:center;gap:7px;min-width:205px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb}.market-batch-account.is-ready{border-color:#badbc6;background:#f5fbf7}.market-batch-account.is-pending{border-color:#ead3a6;background:#fffaf0}.market-batch-shopee-mark{display:grid;place-items:center;width:28px;height:28px;border:1px solid #ffd1c6;border-radius:8px;background:#fff0eb;color:#ee4d2d;font-size:14px;font-weight:900}.market-batch-account strong{display:block;max-width:165px;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-batch-account small{display:block;margin-top:1px;color:var(--muted);font-size:7.8px;white-space:nowrap}
.market-batch-alert{display:flex;align-items:center;gap:8px;margin:9px 11px 0;padding:7px 9px;border-radius:8px;font-size:9px}.market-batch-alert strong{font-size:9px}.market-batch-alert span{color:inherit}.market-batch-alert.is-error{border:1px solid #e9b7c0;background:#fff1f3;color:#8f243a}.market-batch-alert.is-warning{border:1px solid #ecd6a9;background:#fff9eb;color:#80560a}
.market-batch-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:10px 11px 7px}.market-batch-stat{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb}.market-batch-stat small{font-size:7.8px;font-weight:900;letter-spacing:.04em;color:var(--muted)}.market-batch-stat strong{font-size:15px}.market-batch-stat.is-ready{border-color:#badbc6;background:#f4fbf6}.market-batch-stat.is-used{border-color:#cdd8e4;background:#f7f9fc}.market-batch-stat.is-attention{border-color:#ead3a6;background:#fffaf0}
.market-batch-filter{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(190px,.75fr) minmax(190px,.75fr) 92px;align-items:end;gap:7px;padding:7px 11px 10px;border-bottom:1px solid var(--line)}.market-batch-filter label{display:flex;flex-direction:column;gap:3px;min-width:0}.market-batch-filter label>span,.market-batch-filter-count small{font-size:8px;font-weight:900;color:var(--muted);letter-spacing:.03em}.market-batch-filter input,.market-batch-filter select{width:100%;height:32px;padding:5px 8px;font-size:10px}.market-batch-filter-count{display:flex;align-items:center;justify-content:space-between;gap:8px;height:32px;padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:#fafbf9}.market-batch-filter-count strong{font-size:13px}
.market-batch-table-wrap{width:100%;overflow:auto}.market-batch-table{width:100%;min-width:1040px;margin:0;border:0;border-radius:0}.market-batch-table thead th{position:sticky;top:0;z-index:1;background:#f6f8f6;font-size:8.5px;letter-spacing:.025em}.market-batch-table tbody td{vertical-align:middle;padding-top:7px;padding-bottom:7px;font-size:9.5px}.market-batch-table tbody tr.market-batch-order-row:hover{background:#f8fbf9}.market-batch-col-toggle{width:34px!important;min-width:34px!important;text-align:center!important}.market-batch-col-action{width:118px;text-align:right!important}.market-batch-toggle{width:24px;height:24px;padding:0;border:1px solid var(--line);border-radius:6px;background:#fff;color:#34584d;font-size:14px;font-weight:900;cursor:pointer}.market-batch-shop,.market-batch-order-number{display:block;font-size:9.5px}.market-batch-order-status,.market-batch-table td small{display:block;margin-top:2px;font-size:7.8px;color:var(--muted)}.market-batch-order-number{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.market-batch-state{display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;font-size:7.8px;font-weight:900;white-space:nowrap;background:#eef1ef;color:#52605b}.market-batch-state.is-ready{background:#e4f5e9;color:#17633c}.market-batch-state.is-used{background:#e9eef4;color:#43576e}.market-batch-state.is-selling_unit,.market-batch-state.is-config{background:#fff1d7;color:#855a0a}.market-batch-state.is-out_of_stock,.market-batch-state.is-sku_error{background:#ffe8ec;color:#912840}.market-batch-use{min-width:74px;padding:6px 8px;font-size:8.5px;font-weight:900}.market-batch-use:disabled{opacity:.52;cursor:not-allowed}.market-batch-used-ref{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.market-batch-used-ref strong{font-size:8.8px}.market-batch-used-ref small{font-size:7.6px;color:var(--muted)}
.market-batch-detail-row td{padding:0!important;background:#f8faf8!important;border-top:0!important}.market-batch-detail-card{margin:0 8px 8px 34px;padding:9px 10px;border:1px solid #d9e3dd;border-radius:9px;background:#fff}.market-batch-detail-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:9px;margin-bottom:8px}.market-batch-detail-grid>div{min-width:0;padding-right:9px;border-right:1px solid var(--line)}.market-batch-detail-grid>div:last-child{border-right:0}.market-batch-detail-grid small{display:block;font-size:7.5px;font-weight:900;letter-spacing:.04em;color:var(--muted)}.market-batch-detail-grid strong{display:block;margin-top:2px;font-size:9.5px}.market-batch-detail-grid p{margin:2px 0 0;font-size:8.8px;line-height:1.4;color:#46544f;overflow-wrap:anywhere}.market-batch-item-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px}.market-batch-item-table{width:100%;min-width:760px;border-collapse:collapse}.market-batch-item-table th{padding:5px 7px;background:#f5f7f5;border-bottom:1px solid var(--line);font-size:7.7px;text-align:left;color:#58645f}.market-batch-item-table td{padding:5px 7px!important;border-bottom:1px solid #edf0ee!important;font-size:8.8px!important;background:#fff!important}.market-batch-item-table tr:last-child td{border-bottom:0!important}.market-batch-item-state{font-size:7.7px;font-weight:900}.market-batch-item-state.is-ok{color:#17633c}.market-batch-item-state.is-warn{color:#915b05}.market-batch-detail-note{margin:7px 1px 0;color:var(--muted);font-size:8.2px;line-height:1.4}.market-batch-empty{height:150px;text-align:center!important;color:var(--muted)!important}.market-batch-empty strong{display:block;color:var(--ink);font-size:11px}.market-batch-empty span{display:block;margin-top:3px;font-size:9px}.market-batch-table .nowrap,.market-batch-item-table .nowrap{white-space:nowrap}.market-batch-table .num,.market-batch-item-table .num{text-align:right!important}

@media(max-width:1050px){.market-batch-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.market-batch-filter{grid-template-columns:1fr 1fr}.market-batch-filter-search{grid-column:1/-1}.market-batch-context{grid-template-columns:1fr 1fr}.market-batch-context>div:nth-child(2){border-right:0}.market-batch-context>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:720px){.online-store-map-form{grid-template-columns:1fr}.online-store-map-save{grid-column:auto}.market-batch-page{padding:8px}.market-batch-head{align-items:flex-start;flex-direction:column}.market-batch-refresh{align-self:flex-end}.market-batch-context,.market-batch-summary,.market-batch-filter,.market-batch-detail-grid{grid-template-columns:1fr}.market-batch-filter-search{grid-column:auto}.market-batch-context>div{border-right:0;border-bottom:1px solid var(--line)}.market-batch-context>div:last-child{border-bottom:0}.market-batch-detail-grid>div{padding:0 0 7px;border-right:0;border-bottom:1px solid var(--line)}.market-batch-detail-card{margin-left:8px}}
/* V373 - Master Harga Jual: satu grid, aksi Isi/Update via dialog */
.selling-price-grid-page{display:grid;gap:8px;min-height:0}.selling-price-toolbar{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(180px,.65fr) auto;gap:7px;align-items:center;margin:0}.selling-price-toolbar .list-refresh-button{width:42px;height:40px;justify-self:end}.selling-price-grid-card{margin:0;min-height:0;overflow:auto}.selling-price-table{min-width:1040px}.selling-price-table th,.selling-price-table td{vertical-align:middle}.selling-price-action-head,.selling-price-action-cell{width:110px;text-align:center}.selling-price-row-action{min-width:76px;height:32px;padding:0 12px;border-radius:8px;font-size:10px;font-weight:800}.selling-price-dialog{width:min(470px,calc(100vw - 28px));max-width:470px;padding:0;border:0;border-radius:14px;background:transparent}.selling-price-dialog::backdrop{background:rgba(7,30,25,.48);backdrop-filter:blur(1px)}.selling-price-dialog-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--white);box-shadow:0 26px 85px rgba(4,28,23,.28)}.selling-price-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line)}.selling-price-dialog-head strong,.selling-price-dialog-head small{display:block}.selling-price-dialog-head strong{font-size:16px;color:var(--green)}.selling-price-dialog-head small{margin-top:3px;color:var(--muted);font-size:10px;font-weight:700}.selling-price-dialog-head>button{display:grid;width:32px;height:32px;padding:0;place-items:center;border:0;border-radius:8px;background:#eef2ed;color:var(--ink);font-size:21px;line-height:1;cursor:pointer}.selling-price-dialog-body{display:grid;gap:13px;padding:14px}.selling-price-dialog-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.selling-price-dialog-summary>div{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.selling-price-dialog-summary small,.selling-price-dialog-summary strong{display:block}.selling-price-dialog-summary small{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.55px}.selling-price-dialog-summary strong{margin-top:3px;overflow:hidden;color:var(--ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.selling-price-dialog-field>span{display:block;margin-bottom:5px;font-size:10px;font-weight:800}.selling-price-dialog-field .input-prefix{margin-top:0}.selling-price-dialog-field .input-prefix input{height:40px;font-size:13px;font-weight:800}.selling-price-dialog-error{padding:9px 10px;border:1px solid #efb4b4;border-radius:8px;background:#fff0f0;color:#982f2f;font-size:10px;font-weight:700}.selling-price-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:11px 14px;border-top:1px solid var(--line);background:#fafbf9}.selling-price-dialog-actions button{min-width:104px}.selling-price-dialog-actions button:disabled{opacity:.6;cursor:wait}@media(max-width:680px){.selling-price-toolbar{grid-template-columns:1fr}.selling-price-toolbar .list-refresh-button{justify-self:start}.selling-price-dialog-summary{grid-template-columns:1fr}}
html[data-theme="dark"] .selling-price-dialog-card,html[data-theme="dark"] .selling-price-dialog-actions,html[data-theme="dark"] .selling-price-dialog-head>button{background:var(--white);color:var(--ink)}html[data-theme="dark"] .selling-price-dialog-summary>div{background:var(--paper)}

/* V374 - Batch Penjualan Online: grid tunggal, segmented status, internal continuous scroll */
.market-batch-page{
    height:calc(100vh - 24px);
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.market-batch-page>.market-batch-alert{flex:0 0 auto}
.market-batch-shell{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.market-batch-head{flex:0 0 auto;padding:10px 12px}
.market-batch-head-copy{display:flex;align-items:center;min-width:0}
.market-batch-head h2{font-size:15px;line-height:1.2}
.market-batch-account-strip,.market-batch-summary,.market-batch-stage-tabs,.market-batch-filter{flex:0 0 auto}
.market-batch-stage-tabs{
    display:flex;
    align-items:center;
    gap:5px;
    padding:2px 11px 7px;
    border-bottom:1px solid var(--line);
    background:#fff;
}
.market-batch-stage-tab{display:inline-flex;cursor:pointer;user-select:none}
.market-batch-stage-tab input{position:absolute;opacity:0;pointer-events:none}
.market-batch-stage-tab span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-width:108px;
    height:30px;
    padding:0 11px;
    border:1px solid #d9dfdb;
    border-radius:7px;
    background:#f8faf8;
    color:#66716d;
    font-size:9px;
    font-weight:800;
    transition:.12s ease;
}
.market-batch-stage-tab span b{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:21px;
    height:18px;
    padding:0 5px;
    border-radius:999px;
    background:#e9eeeb;
    color:#53605b;
    font-size:8px;
}
.market-batch-stage-tab input:checked+span{
    border-color:#8bb7a8;
    background:#eaf4ee;
    color:#0d5848;
    box-shadow:inset 0 0 0 1px rgba(24,91,71,.03);
}
.market-batch-stage-tab input:checked+span b{background:#0f5a49;color:#fff}
.market-batch-stage-tab:hover span{border-color:#a9c7bc;background:#f2f8f4}
.market-batch-filter{padding-top:7px}
.market-batch-table-wrap{
    flex:1 1 auto;
    min-height:180px;
    max-height:none;
    overflow:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
}
.market-batch-table{margin:0}
.market-batch-table thead th{top:0;z-index:4}
@media(max-width:720px){
    .market-batch-page{height:calc(100vh - 16px);padding:8px}
    .market-batch-stage-tabs{overflow-x:auto;justify-content:flex-start;padding-left:8px;padding-right:8px}
    .market-batch-stage-tab span{min-width:100px}
    .market-batch-table-wrap{min-height:220px}
}


/* =========================================================
   V375 - Master Harga Jual: container, grid header, dialog field
   ========================================================= */
.selling-price-grid-page{
    height:100%;
    min-height:0;
    padding:9px 12px 12px;
    gap:8px;
    overflow:hidden;
    background:var(--paper);
}
.selling-price-toolbar{
    margin:0!important;
    padding:8px 10px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--white);
}
.selling-price-toolbar input,
.selling-price-toolbar select{
    border-color:#d7ddd8;
    border-radius:8px;
    background:var(--white);
}
.selling-price-grid-card{
    min-height:0!important;
    border:1px solid var(--line);
    border-radius:10px!important;
    background:var(--white);
    overflow:auto!important;
    scrollbar-gutter:stable;
}
.selling-price-table thead th{
    position:sticky!important;
    top:0!important;
    z-index:4!important;
    background:#68839c!important;
    color:#fff!important;
    border-color:#7892aa!important;
    box-shadow:0 1px 0 rgba(0,0,0,.08)!important;
}
.selling-price-table tbody tr:nth-child(even){background:#eef3eb}
.selling-price-table tbody tr:hover{background:#e5eee5}
.selling-price-table th,
.selling-price-table td{padding-top:8px!important;padding-bottom:8px!important}

/* Dialog mengikuti bahasa visual field form Portal, bukan textbox browser polos. */
.selling-price-dialog-body{padding:14px 16px 16px}
.selling-price-dialog-field{display:grid;gap:5px}
.selling-price-dialog-field>span{margin:0!important;font-size:10px;font-weight:800}
.selling-price-dialog-field .input-prefix{
    display:flex;
    width:100%;
    height:40px;
    margin:0;
    overflow:hidden;
    border:1px solid #dfe2dc;
    border-radius:8px;
    background:#fff;
    transition:border-color .12s ease,box-shadow .12s ease;
}
.selling-price-dialog-field .input-prefix:focus-within{
    border-color:#6f8f85;
    box-shadow:0 0 0 3px rgba(21,61,53,.08);
}
.selling-price-dialog-field .input-prefix>span{
    display:grid;
    min-width:48px;
    height:100%;
    place-items:center;
    border:0;
    border-right:1px solid #dfe2dc;
    border-radius:0;
    background:#f3f5f1;
    color:#68736d;
    font-size:13px;
    font-weight:800;
}
.selling-price-dialog-field .input-prefix>input{
    width:100%;
    min-width:0;
    height:100%!important;
    margin:0!important;
    padding:0 11px!important;
    border:0!important;
    border-radius:0!important;
    outline:0!important;
    background:#fff;
    color:var(--ink);
    font-size:13px;
    font-weight:700;
    box-shadow:none!important;
}
.selling-price-dialog-actions{padding:11px 16px 13px}
html[data-theme="dark"] .selling-price-grid-page{background:var(--paper)}
html[data-theme="dark"] .selling-price-toolbar,
html[data-theme="dark"] .selling-price-grid-card,
html[data-theme="dark"] .selling-price-dialog-field .input-prefix,
html[data-theme="dark"] .selling-price-dialog-field .input-prefix>input{background:#17211e;border-color:#33433f;color:var(--ink)}
html[data-theme="dark"] .selling-price-dialog-field .input-prefix>span{border-color:#33433f;background:#202926;color:#a9b8b3}
@media(max-width:680px){
    .selling-price-grid-page{padding:7px}
    .selling-price-toolbar{padding:7px}
}

/* =========================================================
   V376 - Batch Penjualan Online: UI ringkas, radio jelas,
   harga jual seller tampil, header grid setema Portal
   ========================================================= */
.market-batch-page{padding:9px 12px 12px;background:var(--paper)}
.market-batch-shell{border-radius:10px}
.market-batch-head{padding:9px 11px;background:var(--white)}
.market-batch-head h2{font-size:14px}
.market-batch-summary{padding:8px 10px 6px;gap:6px}
.market-batch-stat{padding:6px 8px;border-radius:7px}
.market-batch-stat strong{font-size:14px}

.market-batch-stage-tabs{
    gap:13px;
    padding:5px 10px 8px;
    background:var(--white);
}
.market-batch-stage-tab{
    display:inline-flex;
    align-items:center;
    gap:6px;
    cursor:pointer;
    user-select:none;
}
.market-batch-stage-tab input{
    position:relative;
    opacity:1;
    pointer-events:auto;
    appearance:none;
    -webkit-appearance:none;
    width:14px;
    height:14px;
    min-width:14px;
    margin:0;
    border:1.5px solid #9aa8a2;
    border-radius:50%;
    background:#fff;
    cursor:pointer;
}
.market-batch-stage-tab input:checked{
    border-color:#0f5a49;
    box-shadow:inset 0 0 0 3px #fff;
    background:#0f5a49;
}
.market-batch-stage-tab span{
    min-width:0;
    height:auto;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent!important;
    color:#56625d;
    font-size:9px;
    font-weight:800;
    box-shadow:none!important;
}
.market-batch-stage-tab input:checked+span{color:#0f5a49}
.market-batch-stage-tab span b{
    min-width:20px;
    height:17px;
    padding:0 5px;
    background:#e9eeeb;
    color:#53605b;
    font-size:8px;
}
.market-batch-stage-tab input:checked+span b{background:#0f5a49;color:#fff}
.market-batch-stage-tab:hover span{background:transparent!important;color:#0f5a49}

.market-batch-filter{padding:7px 10px 9px}
.market-batch-table{min-width:1180px}
.market-batch-table thead th{
    position:sticky;
    top:0;
    z-index:5;
    background:#68839c!important;
    color:#fff!important;
    border-color:#7892aa!important;
    box-shadow:0 1px 0 rgba(0,0,0,.08);
    font-weight:800;
}
.market-batch-table tbody tr:nth-child(even).market-batch-order-row{background:#eef3eb}
.market-batch-table tbody tr.market-batch-order-row:hover{background:#e5eee5}
.market-batch-col-price{width:118px;white-space:nowrap}
.market-batch-order-price{white-space:nowrap}
.market-batch-order-price strong{font-size:9.5px;color:#153f35}
.market-batch-order-price>span{color:var(--muted)}
.market-batch-state.is-price_error{background:#fff1d7;color:#855a0a}

.market-batch-detail-card{margin:7px 9px 9px 35px;padding:9px 10px}
.market-batch-item-table{min-width:980px}
.market-batch-item-table th{
    background:#68839c!important;
    color:#fff!important;
    border-color:#7892aa!important;
    font-weight:800;
}
.market-batch-item-price{white-space:nowrap}
.market-batch-item-price span{display:block;line-height:1.35}
.market-batch-item-price .muted{color:var(--muted)}
.market-batch-detail-note.is-warning{
    margin-top:7px;
    padding:6px 8px;
    border:1px solid #ead3a6;
    border-radius:7px;
    background:#fff9eb;
    color:#80560a;
}

@media(max-width:720px){
    .market-batch-page{padding:8px}
    .market-batch-stage-tabs{gap:10px}
    .market-batch-stage-tab span{min-width:0}
}


/* =========================================================
   V377 - Master Harga Jual: toolbar filter compact & stabil
   ========================================================= */
.selling-price-grid-page{
    grid-template-rows:auto minmax(0,1fr)!important;
    align-content:start!important;
}
.selling-price-toolbar{
    align-self:start!important;
    min-height:58px!important;
    height:auto!important;
    grid-template-columns:minmax(280px,390px) minmax(190px,260px) 42px!important;
    justify-content:start!important;
    align-items:center!important;
    column-gap:8px!important;
    row-gap:8px!important;
    padding:8px 10px!important;
}
.selling-price-toolbar>input[type="search"],
.selling-price-toolbar>select{
    width:100%!important;
    min-width:0!important;
    height:40px!important;
    margin:0!important;
    padding:0 12px!important;
}
.selling-price-toolbar .list-refresh-button{
    width:42px!important;
    min-width:42px!important;
    height:40px!important;
    margin:0!important;
    justify-self:start!important;
    align-self:center!important;
}
.selling-price-grid-card{
    height:100%!important;
    align-self:stretch!important;
}
@media(max-width:760px){
    .selling-price-grid-page{grid-template-rows:auto minmax(0,1fr)!important}
    .selling-price-toolbar{
        grid-template-columns:minmax(0,1fr) minmax(150px,.62fr) 42px!important;
    }
}
@media(max-width:560px){
    .selling-price-toolbar{
        grid-template-columns:minmax(0,1fr) 42px!important;
    }
    .selling-price-toolbar>select{grid-column:1/2}
    .selling-price-toolbar .list-refresh-button{grid-column:2/3;grid-row:1/2}
}

/* =========================================================
   V378 - Batch Penjualan Online: No Resi wajib + atur pengiriman Shopee
   ========================================================= */
.market-batch-table{min-width:1320px}
.market-batch-receipt{min-width:142px;white-space:nowrap}
.market-batch-receipt strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8.8px;color:#153f35}
.market-batch-receipt span{font-size:8px;color:var(--muted)}
.market-batch-state.is-no_tracking{background:#fff1d7;color:#855a0a}
.market-batch-state.is-multi_package{background:#ffe8ec;color:#912840}
.market-batch-shipping-action{min-width:96px;border-color:#94aa9f;color:#244f42;background:#f7faf8}
.market-batch-shipping-action:hover:not(:disabled){border-color:#6f8f85;background:#edf5f0}
.market-batch-detail-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}

.market-batch-shipping-dialog{
    width:min(720px,calc(100vw - 28px));
    max-height:min(78vh,680px);
    padding:0;
    border:1px solid #cfd9d3;
    border-radius:12px;
    background:var(--white);
    color:var(--ink);
    box-shadow:0 20px 60px rgba(18,44,36,.24);
    overflow:hidden;
}
.market-batch-shipping-dialog::backdrop{background:rgba(20,35,31,.38);backdrop-filter:blur(1.5px)}
.market-batch-shipping-dialog-head{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:11px 13px;border-bottom:1px solid var(--line);background:#f8faf8
}
.market-batch-shipping-dialog-head small{display:block;font-size:7.5px;font-weight:900;letter-spacing:.08em;color:#28705b}
.market-batch-shipping-dialog-head h3{margin:1px 0 0;font-size:14px;line-height:1.2}
.market-batch-dialog-close{
    width:30px;height:30px;padding:0;border:1px solid #d6ded9;border-radius:8px;background:#fff;color:#53615c;
    font-size:19px;line-height:1;cursor:pointer
}
.market-batch-dialog-close:hover{background:#f0f5f2;color:#173f34}
.market-batch-shipping-dialog-body{padding:12px 13px 13px;overflow:auto;max-height:calc(78vh - 54px)}
.market-batch-shipping-summary{
    display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;padding:8px 9px;
    border:1px solid var(--line);border-radius:9px;background:#fafcfb
}
.market-batch-shipping-summary small{display:block;font-size:7.5px;font-weight:900;letter-spacing:.04em;color:var(--muted)}
.market-batch-shipping-summary strong{display:block;margin-top:2px;font-size:9.5px;overflow-wrap:anywhere}
.market-batch-shipping-loading{
    display:grid;place-items:center;min-height:96px;border:1px dashed #d8e0db;border-radius:9px;background:#fbfcfb;
    color:var(--muted);font-size:9px;font-weight:700
}
.market-batch-shipping-message{
    margin:0 0 9px;padding:8px 9px;border:1px solid #d8e0db;border-radius:8px;background:#f7faf8;
    color:#3f534c;font-size:9px;line-height:1.4
}
.market-batch-shipping-message[data-kind="success"]{border-color:#badbc6;background:#f1faf4;color:#17633c}
.market-batch-shipping-message[data-kind="warning"]{border-color:#ead3a6;background:#fff9eb;color:#80560a}
.market-batch-shipping-message[data-kind="error"]{border-color:#e9b7c0;background:#fff1f3;color:#8f243a}
.market-batch-shipping-methods{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:9px}
.market-batch-shipping-method{
    display:flex;align-items:flex-start;gap:7px;min-width:150px;padding:8px 9px;border:1px solid #d8dfdb;
    border-radius:8px;background:#fbfcfb;cursor:pointer;user-select:none
}
.market-batch-shipping-method:has(input:checked){border-color:#7aa594;background:#eef7f1;box-shadow:inset 0 0 0 1px rgba(24,91,71,.05)}
.market-batch-shipping-method.is-disabled{opacity:.56;cursor:not-allowed}
.market-batch-shipping-method input{width:14px;height:14px;margin:1px 0 0;accent-color:#0f5a49}
.market-batch-shipping-method span{display:block;min-width:0}
.market-batch-shipping-method strong{display:block;font-size:9.5px}
.market-batch-shipping-method small{display:block;margin-top:2px;font-size:7.8px;line-height:1.35;color:var(--muted)}
.market-batch-shipping-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.market-batch-shipping-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.market-batch-shipping-field>span{font-size:8px;font-weight:900;color:var(--muted);letter-spacing:.025em}
.market-batch-shipping-field select,.market-batch-shipping-field input{
    width:100%;height:36px;margin:0;padding:0 9px;border:1px solid #d7ddd8;border-radius:8px;background:#fff;
    color:var(--ink);font-size:9.5px;outline:0;box-shadow:none
}
.market-batch-shipping-field select:focus,.market-batch-shipping-field input:focus{
    border-color:#6f8f85;box-shadow:0 0 0 3px rgba(21,61,53,.07)
}
.market-batch-shipping-dialog-actions{
    display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)
}
.market-batch-shipping-dialog-actions button{min-width:94px;padding:7px 10px;font-size:9px;font-weight:900}

html[data-theme="dark"] .market-batch-shipping-dialog,
html[data-theme="dark"] .market-batch-dialog-close,
html[data-theme="dark"] .market-batch-shipping-field select,
html[data-theme="dark"] .market-batch-shipping-field input{background:#17211e;border-color:#33433f;color:var(--ink)}
html[data-theme="dark"] .market-batch-shipping-dialog-head,
html[data-theme="dark"] .market-batch-shipping-summary,
html[data-theme="dark"] .market-batch-shipping-method,
html[data-theme="dark"] .market-batch-shipping-loading{background:#1c2723;border-color:#33433f}

@media(max-width:720px){
    .market-batch-shipping-summary,.market-batch-shipping-fields{grid-template-columns:1fr}
    .market-batch-shipping-method{width:100%}
}

/* =========================================================
   V379 - Batch Penjualan Online: grup ekspedisi + aksi massal
   ========================================================= */
.market-batch-carrier-tabs{
    display:flex;align-items:center;gap:8px;flex-wrap:wrap;
    padding:0 10px 8px;background:var(--white)
}
.market-batch-carrier-tab{
    display:inline-flex;align-items:center;gap:6px;cursor:pointer;user-select:none
}
.market-batch-carrier-tab input{
    appearance:none;-webkit-appearance:none;width:13px;height:13px;min-width:13px;margin:0;
    border:1.5px solid #9aa8a2;border-radius:50%;background:#fff;cursor:pointer
}
.market-batch-carrier-tab input:checked{
    border-color:#0f5a49;box-shadow:inset 0 0 0 3px #fff;background:#0f5a49
}
.market-batch-carrier-tab span{
    display:inline-flex;align-items:center;gap:5px;font-size:8.5px;font-weight:800;color:#5d6964
}
.market-batch-carrier-tab input:checked+span{color:#0f5a49}
.market-batch-carrier-tab b{
    min-width:18px;height:16px;padding:0 5px;border-radius:999px;background:#e9eeeb;color:#53605b;
    display:inline-flex;align-items:center;justify-content:center;font-size:7.5px
}
.market-batch-carrier-tab input:checked+span b{background:#0f5a49;color:#fff}

.market-batch-bulkbar{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    margin:0 10px 7px;padding:7px 9px;border:1px solid #d6ded9;border-radius:8px;background:#f8faf8
}
.market-batch-bulkbar-copy{min-width:0}
.market-batch-bulkbar-copy strong{display:block;font-size:9px;color:#23483d}
.market-batch-bulkbar-copy small{display:block;margin-top:1px;font-size:7.7px;color:var(--muted);line-height:1.3}
.market-batch-bulk-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.market-batch-bulk-actions button{min-height:32px;padding:6px 9px;font-size:8.5px;font-weight:900;white-space:nowrap}
.market-batch-bulk-actions button:disabled{opacity:.45;cursor:not-allowed}

.market-batch-col-toggle{width:58px;min-width:58px;text-align:center!important}
.market-batch-row-controls{display:flex;align-items:center;justify-content:center;gap:5px}
.market-batch-checkbox{
    appearance:none;-webkit-appearance:none;width:14px;height:14px;min-width:14px;margin:0;
    border:1.4px solid #95a59e;border-radius:4px;background:#fff;cursor:pointer;position:relative
}
.market-batch-checkbox:checked{border-color:#0f5a49;background:#0f5a49}
.market-batch-checkbox:checked::after{
    content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:900;line-height:1
}
.market-batch-checkbox:indeterminate{border-color:#0f5a49;background:#0f5a49}
.market-batch-checkbox:indeterminate::after{
    content:'−';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:900;line-height:1
}
.market-batch-table thead .market-batch-checkbox{border-color:rgba(255,255,255,.82);background:rgba(255,255,255,.16)}
.market-batch-table thead .market-batch-checkbox:checked,
.market-batch-table thead .market-batch-checkbox:indeterminate{background:#fff;border-color:#fff}
.market-batch-table thead .market-batch-checkbox:checked::after,
.market-batch-table thead .market-batch-checkbox:indeterminate::after{color:#49667e}

html[data-theme="dark"] .market-batch-carrier-tabs{background:var(--white)}
html[data-theme="dark"] .market-batch-bulkbar{background:#1c2723;border-color:#33433f}
html[data-theme="dark"] .market-batch-carrier-tab input,
html[data-theme="dark"] .market-batch-checkbox{background:#17211e;border-color:#566760}
html[data-theme="dark"] .market-batch-carrier-tab input:checked,
html[data-theme="dark"] .market-batch-checkbox:checked{background:#2e8068;border-color:#2e8068}

@media(max-width:760px){
    .market-batch-bulkbar{align-items:flex-start;flex-direction:column}
    .market-batch-bulk-actions{width:100%;justify-content:flex-start}
}


/* =========================================================
   V381 - Batch Penjualan Online: radio bertingkat rapi &
   ekspedisi dinamis mengikuti status proses yang dipilih
   ========================================================= */
.market-batch-stage-tabs,
.market-batch-carrier-tabs{
    margin-left:10px;
    margin-right:10px;
    border:1px solid #dde4df;
    border-radius:8px;
    background:#fbfcfb;
}
.market-batch-stage-tabs{
    gap:16px;
    margin-top:2px;
    margin-bottom:7px;
    padding:8px 10px;
}
.market-batch-carrier-tabs{
    gap:13px;
    margin-bottom:9px;
    padding:8px 10px;
}
.market-batch-stage-tab,
.market-batch-carrier-tab{
    min-height:24px;
    align-items:center;
}
.market-batch-stage-tab span,
.market-batch-carrier-tab span{
    display:inline-flex;
    align-items:center;
    gap:6px;
    line-height:1.2;
}
.market-batch-stage-tab input,
.market-batch-carrier-tab input{
    flex:0 0 auto;
}
.market-batch-stage-tab span b,
.market-batch-carrier-tab b{
    flex:0 0 auto;
}
.market-batch-carrier-tab[hidden]{display:none!important}
.market-batch-bulkbar{margin-top:0}
html[data-theme="dark"] .market-batch-stage-tabs,
html[data-theme="dark"] .market-batch-carrier-tabs{
    background:#1c2723;
    border-color:#33433f;
}
@media(max-width:760px){
    .market-batch-stage-tabs,
    .market-batch-carrier-tabs{
        margin-left:7px;
        margin-right:7px;
        padding:7px 8px;
        gap:10px;
    }
}

/* =========================================================
   V382 - Atur Pengiriman Shopee: metode seperti Seller Centre
   ========================================================= */
.market-batch-shipping-methods{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:10px
}
.market-batch-shipping-method{
    min-width:0;min-height:86px;padding:11px 12px;border-radius:10px;background:#fbfcfb
}
.market-batch-shipping-method strong{font-size:10px;line-height:1.25}
.market-batch-shipping-method small{margin-top:4px;font-size:8px;line-height:1.42}
.market-batch-shipping-method .market-batch-shipping-disabled-reason{color:#9b5c22}
.market-batch-shipping-method:has(input:checked){border-color:#e96a3a;background:#fff8f4;box-shadow:inset 0 0 0 1px rgba(233,106,58,.08)}
.market-batch-shipping-method:has(input:checked) input{accent-color:#e95f2f}
.market-batch-shipping-address-locked{
    grid-column:1/-1;display:flex;flex-direction:column;gap:4px;padding:10px 11px;
    border:1px solid #d7ddd8;border-radius:9px;background:#f8faf8;color:var(--ink)
}
.market-batch-shipping-address-locked .market-batch-shipping-address-title{
    font-size:8px;font-weight:900;letter-spacing:.03em;color:var(--muted);text-transform:uppercase
}
.market-batch-shipping-address-contact{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.market-batch-shipping-address-contact b{font-size:10px;line-height:1.3;color:var(--ink)}
.market-batch-shipping-address-contact span{font-size:9.5px;line-height:1.3;color:var(--ink);font-variant-numeric:tabular-nums}
.market-batch-shipping-address-contact em{
    display:inline-flex;align-items:center;padding:2px 5px;border-radius:5px;background:#fff1eb;color:#e95f2f;
    font-size:7px;font-style:normal;font-weight:900;letter-spacing:.03em
}
.market-batch-shipping-address-copy{display:block;font-size:9.5px;line-height:1.48;color:var(--ink);white-space:pre-line}
.market-batch-shipping-inline-note{
    grid-column:1/-1;padding:8px 9px;border:1px solid #ead3a6;border-radius:8px;
    background:#fff9eb;color:#80560a;font-size:8.5px;line-height:1.4
}
html[data-theme="dark"] .market-batch-shipping-address-locked{background:#1c2723;border-color:#33433f}
@media(max-width:720px){
    .market-batch-shipping-methods{grid-template-columns:1fr}
}

/* =========================================================
   V385 - Batch Penjualan Online: hirarki filter final
   Akun Shopee -> Status tarik -> Ekspedisi
   ========================================================= */
.market-batch-account-tabs{
    display:flex;align-items:center;gap:13px;flex-wrap:wrap;
    margin:0 10px 7px;padding:8px 10px;
    border:1px solid #dde4df;border-radius:8px;background:#fbfcfb
}
.market-batch-account-tab{
    display:inline-flex;align-items:center;gap:6px;min-height:24px;
    cursor:pointer;user-select:none
}
.market-batch-account-tab input{
    appearance:none;-webkit-appearance:none;width:13px;height:13px;min-width:13px;margin:0;
    border:1.5px solid #9aa8a2;border-radius:50%;background:#fff;cursor:pointer
}
.market-batch-account-tab input:checked{
    border-color:#0f5a49;box-shadow:inset 0 0 0 3px #fff;background:#0f5a49
}
.market-batch-account-tab span{
    display:inline-flex;align-items:center;gap:6px;font-size:8.5px;font-weight:800;
    color:#5d6964;line-height:1.2
}
.market-batch-account-tab input:checked+span{color:#0f5a49}
.market-batch-account-tab b{
    min-width:18px;height:16px;padding:0 5px;border-radius:999px;background:#e9eeeb;color:#53605b;
    display:inline-flex;align-items:center;justify-content:center;font-size:7.5px
}
.market-batch-account-tab input:checked+span b{background:#0f5a49;color:#fff}
.market-batch-account-tab.is-empty{opacity:.58}
.market-batch-account-tab.is-empty:has(input:checked){opacity:1}
.market-batch-account-tab.is-empty input{cursor:pointer}
.market-batch-carrier-tabs{margin-bottom:9px}
.market-batch-filter{grid-template-columns:minmax(320px,1.55fr) minmax(220px,.8fr) 92px}
html[data-theme="dark"] .market-batch-account-tabs{background:#1c2723;border-color:#33433f}
html[data-theme="dark"] .market-batch-account-tab input{background:#17211e;border-color:#566760}
html[data-theme="dark"] .market-batch-account-tab input:checked{background:#2e8068;border-color:#2e8068}
@media(max-width:1050px){
    .market-batch-filter{grid-template-columns:minmax(0,1fr) minmax(180px,.65fr) 92px}
}
@media(max-width:760px){
    .market-batch-account-tabs{margin-left:7px;margin-right:7px;padding:7px 8px;gap:10px;overflow-x:auto;flex-wrap:nowrap}
    .market-batch-account-tab{flex:0 0 auto}
    .market-batch-filter{grid-template-columns:1fr}
    .market-batch-filter-search{grid-column:auto}
}
\n\n/* =========================================================\n   V386 - Batch Penjualan Online: area atas compact + dialog ship rapi\n   ========================================================= */\n.market-batch-shipping-loading[hidden],\n.market-batch-bulkbar[hidden]{display:none!important}\n.market-batch-shipping-loading{min-height:48px;margin-bottom:0}\n.market-batch-shipping-methods.is-single{grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:7px}\n.market-batch-shipping-methods.is-single .market-batch-shipping-method{min-height:0;padding:7px 9px}\n.market-batch-shipping-methods.is-single .market-batch-shipping-method small{margin-top:2px}\n\n/* Tiga layer filter dibuat sebagai satu stack agar grid mendapat ruang lebih besar. */\n.market-batch-account-tabs,\n.market-batch-stage-tabs,\n.market-batch-carrier-tabs{\n    min-height:29px;\n    margin-left:10px;\n    margin-right:10px;\n    padding:4px 8px;\n    gap:11px;\n    border-color:#dde4df;\n    background:#fbfcfb;\n}\n.market-batch-account-tabs{\n    margin-top:1px;\n    margin-bottom:0;\n    border-radius:8px 8px 0 0;\n}\n.market-batch-stage-tabs{\n    margin-top:-1px;\n    margin-bottom:0;\n    border-radius:0;\n}\n.market-batch-carrier-tabs{\n    margin-top:-1px;\n    margin-bottom:5px;\n    border-radius:0 0 8px 8px;\n}\n.market-batch-account-tab,\n.market-batch-stage-tab,\n.market-batch-carrier-tab{min-height:20px}\n.market-batch-account-tab span,\n.market-batch-stage-tab span,\n.market-batch-carrier-tab span{font-size:8.2px;gap:5px}\n.market-batch-account-tab input,\n.market-batch-stage-tab input,\n.market-batch-carrier-tab input{width:12px;height:12px;min-width:12px}\n.market-batch-account-tab b,\n.market-batch-stage-tab span b,\n.market-batch-carrier-tab b{min-width:17px;height:15px;padding:0 4px;font-size:7px}\n\n.market-batch-summary{padding:6px 10px 5px;gap:5px}\n.market-batch-stat{padding:5px 7px;min-height:31px}\n.market-batch-stat strong{font-size:13px}\n.market-batch-stat small{font-size:7.2px}\n\n/* Bulk action tidak mengambil tinggi layar sebelum ada row yang dipilih. */\n.market-batch-bulkbar{\n    min-height:34px;\n    margin:0 10px 5px;\n    padding:5px 7px;\n}\n.market-batch-bulk-actions button{height:28px;padding-top:0;padding-bottom:0;font-size:8px}\n.market-batch-bulkbar-copy strong{font-size:8.5px}\n.market-batch-bulkbar-copy small{font-size:7.2px}\n\n.market-batch-filter{padding:5px 10px 7px;gap:6px}\n.market-batch-filter input,\n.market-batch-filter select,\n.market-batch-filter-count{height:30px}\n.market-batch-filter label>span,\n.market-batch-filter-count small{font-size:7.4px}\n.market-batch-head{padding-top:7px;padding-bottom:7px}\n.market-batch-head h2{font-size:13.5px}\n\n@media(max-width:760px){\n    .market-batch-account-tabs,\n    .market-batch-stage-tabs,\n    .market-batch-carrier-tabs{\n        margin-left:7px;margin-right:7px;padding:4px 7px;gap:9px;overflow-x:auto;flex-wrap:nowrap\n    }\n}\n\n\n/* =========================================================
   V387 - Batch: header grid tetap + mass shipping tidak false-disable
   ========================================================= */
.market-batch-table-wrap{
    position:relative!important;
    min-height:0!important;
    overflow:auto!important;
    isolation:isolate;
}
.market-batch-table{
    border-collapse:separate!important;
    border-spacing:0!important;
}
.market-batch-table thead{
    position:sticky!important;
    top:0!important;
    z-index:40!important;
}
.market-batch-table thead th{
    position:sticky!important;
    top:0!important;
    z-index:41!important;
    background:#68839c!important;
    color:#fff!important;
    box-shadow:0 2px 0 rgba(58,81,101,.20)!important;
}

/* =========================================================
   V388 - Batch Penjualan: header ringkas + detail dialog
   ========================================================= */
.market-batch-summary,
.market-batch-filter{display:none!important}
.market-batch-head-compact{
    display:grid!important;
    grid-template-columns:max-content minmax(260px,1fr) 34px!important;
    align-items:center!important;
    gap:10px!important;
    padding:6px 10px!important;
    min-height:48px!important;
}
.market-batch-head-compact .market-batch-head-copy{min-width:0!important}
.market-batch-head-compact .market-batch-head-copy h2{font-size:13.5px!important;white-space:nowrap}
.market-batch-account-box{
    min-width:0;
    display:flex;
    align-items:center;
    gap:8px;
    padding:4px 7px;
    border:1px solid #dce4df;
    border-radius:8px;
    background:#f8faf8;
}
.market-batch-account-box>small{
    flex:0 0 auto;
    font-size:7px;
    font-weight:900;
    letter-spacing:.05em;
    color:var(--muted);
}
.market-batch-account-box .market-batch-account-tabs{
    flex:1 1 auto!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    margin:0!important;
    padding:0!important;
    min-height:22px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
}
.market-batch-account-box .market-batch-account-tab{flex:0 0 auto!important;min-height:20px!important}
.market-batch-account-box .market-batch-account-tab span{font-size:8px!important;gap:4px!important}
.market-batch-account-box .market-batch-account-tab input{width:12px!important;height:12px!important;min-width:12px!important}
.market-batch-account-box .market-batch-account-tab b{min-width:16px!important;height:15px!important;padding:0 4px!important;font-size:7px!important}
.market-batch-refresh-icon{
    width:34px!important;
    min-width:34px!important;
    height:32px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border-radius:8px!important;
}
.market-batch-refresh-icon span{font-size:17px;line-height:1}

.market-batch-stage-tabs,
.market-batch-carrier-tabs{
    min-height:30px!important;
    margin:0 10px!important;
    padding:4px 7px!important;
    gap:12px!important;
    border:1px solid #dde4df!important;
    background:#fbfcfb!important;
}
.market-batch-stage-tabs{margin-top:5px!important;border-radius:8px 8px 0 0!important}
.market-batch-carrier-tabs{margin-top:-1px!important;margin-bottom:5px!important;border-radius:0 0 8px 8px!important}
.market-batch-stage-tab,
.market-batch-carrier-tab{min-height:20px!important}
.market-batch-stage-tab span,
.market-batch-carrier-tab span{font-size:8px!important;gap:4px!important}
.market-batch-stage-tab input,
.market-batch-carrier-tab input{width:12px!important;height:12px!important;min-width:12px!important}
.market-batch-stage-tab span b,
.market-batch-carrier-tab b{min-width:16px!important;height:15px!important;padding:0 4px!important;font-size:7px!important}

.market-batch-bulkbar{
    margin:0 10px 5px!important;
    min-height:34px!important;
    padding:5px 7px!important;
}
.market-batch-bulkbar[hidden]{display:none!important}
.market-batch-table-wrap{flex:1 1 auto!important;min-height:0!important;overflow:auto!important}
.market-batch-table thead,
.market-batch-table thead th{position:sticky!important;top:0!important;z-index:42!important}
.market-batch-table thead th{background:#68839c!important;color:#fff!important}
.market-batch-detail-row{display:none!important}
.market-batch-col-toggle{width:38px!important;min-width:38px!important}
.market-batch-col-action{width:150px!important;min-width:150px!important}
.market-batch-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap}
.market-batch-row-primary-action{display:flex;align-items:center;justify-content:flex-end;min-width:0}
.market-batch-detail-button{
    width:30px!important;height:28px!important;min-width:30px!important;padding:0!important;
    display:grid!important;place-items:center!important;border-radius:7px!important;
    border:1px solid #c8d4ce!important;background:#f8fbf9!important;color:#315d50!important
}
.market-batch-detail-button:hover{background:#edf5f0!important;border-color:#8fa99f!important}
.market-batch-detail-button svg{width:16px;height:16px;display:block}

.market-batch-detail-dialog{
    width:min(1120px,calc(100vw - 34px));
    max-height:min(88vh,820px);
    padding:0;
    border:1px solid #cfd9d3;
    border-radius:12px;
    background:var(--white);
    color:var(--ink);
    box-shadow:0 24px 70px rgba(18,44,36,.28);
    overflow:hidden;
}
.market-batch-detail-dialog::backdrop{background:rgba(20,35,31,.42);backdrop-filter:blur(1.5px)}
.market-batch-detail-dialog-head{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:10px 12px;border-bottom:1px solid var(--line);background:#f8faf8
}
.market-batch-detail-dialog-head small{display:block;font-size:7.5px;font-weight:900;letter-spacing:.07em;color:#28705b}
.market-batch-detail-dialog-head h3{margin:1px 0 0;font-size:14px;line-height:1.2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.market-batch-detail-dialog-body{padding:10px 12px 12px;overflow:auto;max-height:calc(88vh - 55px)}
.market-batch-detail-dialog-body .market-batch-detail-card{margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.market-batch-detail-summary-grid{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:9px
}
.market-batch-detail-summary-grid>div{
    min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:#f8faf8
}
.market-batch-detail-summary-grid small{display:block;font-size:7px;font-weight:900;letter-spacing:.035em;color:var(--muted)}
.market-batch-detail-summary-grid strong{display:block;margin-top:2px;font-size:9px;overflow-wrap:anywhere}
.market-batch-detail-dialog .market-batch-detail-grid{margin-bottom:9px}
.market-batch-detail-dialog .market-batch-item-table-wrap{max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:8px}
.market-batch-detail-dialog .market-batch-item-table{min-width:980px;margin:0}
.market-batch-detail-dialog .market-batch-item-table thead th{position:sticky;top:0;z-index:2}

/* Loading pilihan pengiriman cukup berupa pesan kecil, tidak lagi memakan area dialog. */
.market-batch-shipping-loading{display:none!important}
.market-batch-shipping-message[data-kind="info"]{border-color:#d8e0db;background:#f7faf8;color:#52615b}
.market-batch-shipping-methods.is-single .market-batch-shipping-method{min-height:0!important;padding:8px 10px!important}

html[data-theme="dark"] .market-batch-account-box,
html[data-theme="dark"] .market-batch-stage-tabs,
html[data-theme="dark"] .market-batch-carrier-tabs,
html[data-theme="dark"] .market-batch-detail-summary-grid>div,
html[data-theme="dark"] .market-batch-detail-dialog-head{background:#1c2723;border-color:#33433f}

@media(max-width:900px){
    .market-batch-head-compact{grid-template-columns:1fr 34px!important}
    .market-batch-head-compact .market-batch-head-copy{grid-column:1/2}
    .market-batch-account-box{grid-column:1/2;grid-row:2/3}
    .market-batch-refresh-icon{grid-column:2/3;grid-row:1/3;align-self:center}
    .market-batch-detail-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
    .market-batch-page{padding:7px!important}
    .market-batch-head-compact{display:flex!important;flex-wrap:wrap!important;align-items:center!important}
    .market-batch-head-compact .market-batch-head-copy{flex:1 1 auto}
    .market-batch-account-box{order:3;flex:1 1 100%}
    .market-batch-detail-summary-grid{grid-template-columns:1fr}
}


/* =========================================================
   V390 - Batch Penjualan Online: loading dialog + auto refresh
   ========================================================= */
.market-batch-loading-dialog{
    width:min(390px,calc(100vw - 32px));
    padding:0;
    border:0;
    border-radius:12px;
    background:transparent;
    color:var(--ink);
    overflow:visible;
}
.market-batch-loading-dialog::backdrop{
    background:rgba(18,32,28,.46);
    backdrop-filter:blur(2px);
}
.market-batch-loading-card{
    display:flex;
    align-items:center;
    gap:13px;
    min-height:88px;
    padding:16px 17px;
    border:1px solid #cfd9d3;
    border-radius:12px;
    background:var(--white);
    box-shadow:0 22px 65px rgba(18,44,36,.28);
}
.market-batch-loading-spinner{
    width:30px;
    height:30px;
    flex:0 0 30px;
    border:3px solid #d9e4de;
    border-top-color:#1d6b56;
    border-radius:50%;
    animation:market-batch-loading-spin .72s linear infinite;
}
.market-batch-loading-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.market-batch-loading-copy strong{font-size:12px;line-height:1.25;color:var(--ink)}
.market-batch-loading-copy small{font-size:8.5px;line-height:1.45;color:var(--muted)}
@keyframes market-batch-loading-spin{to{transform:rotate(360deg)}}
html[data-theme="dark"] .market-batch-loading-card{
    background:#17211e;
    border-color:#33433f;
}
html[data-theme="dark"] .market-batch-loading-spinner{
    border-color:#31433d;
    border-top-color:#7dc1aa;
}


/* =========================================================
   V391 - Batch Penjualan Online: refresh tanpa blank + aksi sejajar
   ========================================================= */
.market-batch-col-action{
    width:156px!important;
    min-width:156px!important;
}
.market-batch-row-actions{
    display:grid!important;
    grid-template-columns:30px 112px!important;
    align-items:center!important;
    justify-content:end!important;
    column-gap:6px!important;
    white-space:nowrap;
}
.market-batch-detail-button{
    grid-column:1!important;
    justify-self:start!important;
}
.market-batch-row-primary-action{
    grid-column:2!important;
    width:112px!important;
    min-width:112px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:stretch!important;
}
.market-batch-row-primary-action>form,
.market-batch-row-primary-action>.market-batch-used-ref,
.market-batch-row-primary-action>button{
    width:100%!important;
    min-width:0!important;
}
.market-batch-row-primary-action form>button{
    width:100%!important;
    min-width:0!important;
}

/* =========================================================
   V392 - Batch Penjualan Online: tipografi lebih terbaca,
          tetap compact dan proporsional
   ========================================================= */

/* Header + filter bertingkat: huruf diperbesar tanpa membesarkan bar. */
.market-batch-head-compact .market-batch-head-copy h2{
    font-size:15px!important;
    line-height:1.2!important;
}
.market-batch-account-box{
    gap:9px!important;
    padding:4px 8px!important;
}
.market-batch-account-box>small{
    font-size:8.5px!important;
    line-height:1.15!important;
}
.market-batch-account-box .market-batch-account-tab span,
.market-batch-stage-tab span,
.market-batch-carrier-tab span{
    font-size:9.5px!important;
    line-height:1.2!important;
    gap:5px!important;
}
.market-batch-account-box .market-batch-account-tab input,
.market-batch-stage-tab input,
.market-batch-carrier-tab input{
    width:13px!important;
    height:13px!important;
    min-width:13px!important;
}
.market-batch-account-box .market-batch-account-tab b,
.market-batch-stage-tab span b,
.market-batch-carrier-tab b{
    min-width:18px!important;
    height:16px!important;
    padding:0 4px!important;
    font-size:8px!important;
    line-height:16px!important;
}
.market-batch-stage-tabs,
.market-batch-carrier-tabs{
    min-height:31px!important;
    padding:4px 8px!important;
    gap:14px!important;
}

/* Bulk action ikut skala baca yang sama, tetap rendah. */
.market-batch-bulkbar-copy strong{font-size:9.5px!important}
.market-batch-bulkbar-copy small{font-size:8.5px!important;line-height:1.25!important}
.market-batch-bulk-actions button{font-size:9.5px!important}

/* Grid utama: naikkan keterbacaan, tetapi row tetap padat. */
.market-batch-table thead th{
    font-size:9.6px!important;
    line-height:1.15!important;
    letter-spacing:.015em!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
}
.market-batch-table tbody td{
    font-size:10.5px!important;
    line-height:1.22!important;
    padding-top:6px!important;
    padding-bottom:6px!important;
}
.market-batch-shop,
.market-batch-order-number{
    font-size:10.3px!important;
    line-height:1.18!important;
}
.market-batch-order-status,
.market-batch-table td small{
    margin-top:2px!important;
    font-size:8.6px!important;
    line-height:1.18!important;
}
.market-batch-receipt strong{
    font-size:9.8px!important;
    line-height:1.2!important;
}
.market-batch-receipt span{
    font-size:8.7px!important;
    line-height:1.2!important;
}
.market-batch-state{
    padding:3px 7px!important;
    font-size:8.6px!important;
    line-height:1.15!important;
}
.market-batch-use,
.market-batch-shipping-action{
    font-size:9.4px!important;
    line-height:1.15!important;
}
.market-batch-used-ref strong{font-size:9.5px!important}
.market-batch-used-ref small{font-size:8.3px!important}

/* Detail pesanan: kotak tetap compact, teks dinaikkan signifikan. */
.market-batch-detail-dialog-head{
    padding:9px 12px!important;
}
.market-batch-detail-dialog-head small{
    font-size:8.8px!important;
    line-height:1.15!important;
}
.market-batch-detail-dialog-head h3{
    margin-top:2px!important;
    font-size:15.5px!important;
    line-height:1.2!important;
}
.market-batch-detail-dialog-body{
    padding:9px 12px 11px!important;
}
.market-batch-detail-summary-grid{
    gap:6px!important;
    margin-bottom:8px!important;
}
.market-batch-detail-summary-grid>div{
    padding:6px 8px!important;
}
.market-batch-detail-summary-grid small{
    font-size:8.4px!important;
    line-height:1.15!important;
    letter-spacing:.025em!important;
}
.market-batch-detail-summary-grid strong{
    margin-top:2px!important;
    font-size:10.8px!important;
    line-height:1.22!important;
}
.market-batch-detail-dialog .market-batch-detail-grid{
    align-items:start!important;
    gap:10px!important;
    margin-bottom:8px!important;
}
.market-batch-detail-grid>div{
    align-self:start!important;
    padding-right:10px!important;
}
.market-batch-detail-grid small{
    font-size:8.6px!important;
    line-height:1.15!important;
}
.market-batch-detail-grid strong{
    margin-top:2px!important;
    font-size:10.7px!important;
    line-height:1.25!important;
}
.market-batch-detail-grid p{
    margin-top:2px!important;
    font-size:10.1px!important;
    line-height:1.36!important;
}

/* Grid item di dalam dialog. */
.market-batch-item-table th{
    padding:6px 8px!important;
    font-size:9.3px!important;
    line-height:1.15!important;
}
.market-batch-item-table td{
    padding:6px 8px!important;
    font-size:10.1px!important;
    line-height:1.25!important;
}
.market-batch-item-state{
    font-size:8.8px!important;
    line-height:1.18!important;
}
.market-batch-detail-note{
    font-size:9.2px!important;
    line-height:1.35!important;
}

/* Dialog Atur Pengiriman disamakan skalanya agar tidak kembali mini. */
.market-batch-shipping-dialog-head small{font-size:8.7px!important}
.market-batch-shipping-dialog-head h3{font-size:15px!important}
.market-batch-shipping-summary small{font-size:8.5px!important}
.market-batch-shipping-summary strong{font-size:10.6px!important;line-height:1.22!important}
.market-batch-shipping-method strong{font-size:10.7px!important;line-height:1.24!important}
.market-batch-shipping-method small{font-size:9px!important;line-height:1.35!important}
.market-batch-shipping-field>span{font-size:8.6px!important}
.market-batch-shipping-field select,
.market-batch-shipping-field input{font-size:10.2px!important}
.market-batch-shipping-dialog-actions button{font-size:9.6px!important}
.market-batch-shipping-address-title{font-size:8.6px!important}
.market-batch-shipping-address-contact b{font-size:10.5px!important}
.market-batch-shipping-address-contact span{font-size:10px!important}
.market-batch-shipping-address-copy{font-size:10px!important;line-height:1.42!important}
.market-batch-shipping-inline-note{font-size:9px!important;line-height:1.35!important}
.market-batch-shipping-message{font-size:9.5px!important;line-height:1.35!important}

/* Loading juga dibaca nyaman. */
.market-batch-loading-copy strong{font-size:13px!important}
.market-batch-loading-copy small{font-size:9.5px!important;line-height:1.4!important}

@media(max-width:760px){
    .market-batch-account-box .market-batch-account-tab span,
    .market-batch-stage-tab span,
    .market-batch-carrier-tab span{font-size:9.2px!important}
    .market-batch-table tbody td{font-size:10.2px!important}
    .market-batch-detail-summary-grid strong{font-size:10.5px!important}
}

/* V393 - Dashboard audit harga coret Shopee */
.dashboard-shopee-price-audit{
    margin:0 0 10px;
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--white);
    overflow:hidden;
}
.dashboard-shopee-price-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:11px 13px;
    border-bottom:1px solid var(--line);
}
.dashboard-shopee-price-head h3{margin:2px 0 1px;font-size:16px;line-height:1.2}
.dashboard-shopee-price-head small{color:var(--muted);font-size:10.5px;line-height:1.3}
.dashboard-shopee-price-refresh{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 10px;font-size:10.5px;font-weight:800;white-space:nowrap}
.dashboard-shopee-price-refresh svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dashboard-shopee-price-refresh.is-loading svg{animation:dashboard-shopee-spin .8s linear infinite}
@keyframes dashboard-shopee-spin{to{transform:rotate(360deg)}}
.dashboard-shopee-price-stats{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    border-bottom:1px solid var(--line);
    background:#fafbf9;
}
.dashboard-shopee-price-stats>div{
    min-width:0;
    padding:7px 10px;
    border-right:1px solid var(--line);
}
.dashboard-shopee-price-stats>div:last-child{border-right:0}
.dashboard-shopee-price-stats small{display:block;color:var(--muted);font-size:8.5px;font-weight:900;letter-spacing:.045em;line-height:1.1}
.dashboard-shopee-price-stats strong{display:block;margin-top:2px;font-size:14px;line-height:1.05;font-variant-numeric:tabular-nums}
.dashboard-shopee-price-stats .is-warning strong{color:#a65f00}
.dashboard-shopee-price-state{padding:18px 14px;color:var(--muted);font-size:11px;text-align:center}
.dashboard-shopee-price-state strong{color:var(--ink)}
.dashboard-shopee-price-warning{display:flex;align-items:center;gap:8px;padding:7px 12px;border-bottom:1px solid #ecd39b;background:#fff8e6;color:#735000;font-size:10px;line-height:1.35}
.dashboard-shopee-price-warning strong{white-space:nowrap}
.dashboard-shopee-price-table-wrap{max-height:520px;overflow:auto!important}
.dashboard-shopee-price-table{min-width:920px}
.dashboard-shopee-price-table thead th{position:sticky;top:0;z-index:2;padding:7px 9px;font-size:9.5px;line-height:1.1;white-space:nowrap}
.dashboard-shopee-price-table tbody td{padding:6px 9px;font-size:10.5px;line-height:1.22;vertical-align:middle}
.dashboard-shopee-price-table tbody td small{display:block;margin-top:2px;color:var(--muted);font-size:8.8px;line-height:1.2}
.dashboard-shopee-price-table tbody tr.is-group{background:#f7fbf8}
.dashboard-shopee-price-table tbody tr.is-sku-detail{background:#fffaf0}
.dashboard-shopee-price-table tbody tr.is-invalid-sku{background:#fff4f4}
.dashboard-shopee-price-table tbody tr:hover{filter:brightness(.985)}
.dashboard-shopee-price-table th:nth-child(1),.dashboard-shopee-price-table td:nth-child(1){width:15%}
.dashboard-shopee-price-table th:nth-child(2),.dashboard-shopee-price-table td:nth-child(2){width:17%}
.dashboard-shopee-price-table th:nth-child(3),.dashboard-shopee-price-table td:nth-child(3){width:36%}
.dashboard-shopee-price-table th:nth-child(4),.dashboard-shopee-price-table td:nth-child(4){width:9%;text-align:center}
.dashboard-shopee-price-table th:nth-child(5),.dashboard-shopee-price-table td:nth-child(5){width:12%;text-align:right}
.dashboard-shopee-price-table th:nth-child(6),.dashboard-shopee-price-table td:nth-child(6){width:11%}
.dashboard-shopee-merk-kode,.dashboard-shopee-sku-code{font-weight:800;overflow-wrap:anywhere}
.dashboard-shopee-sku-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px}
.dashboard-shopee-all-sku{color:#315d4d;font-size:9.5px;font-weight:800}
.dashboard-shopee-promotion-price{font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
.dashboard-shopee-price-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:8.5px;font-weight:900;line-height:1;white-space:nowrap}
.dashboard-shopee-price-badge.is-ok{border:1px solid #b9ddca;background:#eaf7f0;color:#176540}
.dashboard-shopee-price-badge.is-warning{border:1px solid #ecd39b;background:#fff3d8;color:#8a5700}
.dashboard-shopee-listing-status{margin-top:3px!important;font-size:8.2px!important;font-weight:800!important;letter-spacing:.02em}
.dashboard-shopee-price-foot{padding:6px 10px;border-top:1px solid var(--line);background:#fafbf9;color:var(--muted);font-size:8.8px;line-height:1.25}
@media(max-width:1100px){.dashboard-shopee-price-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-shopee-price-stats>div:nth-child(3){border-right:0}.dashboard-shopee-price-stats>div:nth-child(-n+3){border-bottom:1px solid var(--line)}}
@media(max-width:700px){.dashboard-shopee-price-head{align-items:flex-start;flex-direction:column}.dashboard-shopee-price-refresh{align-self:flex-end}.dashboard-shopee-price-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-shopee-price-stats>div:nth-child(odd){border-right:1px solid var(--line)}.dashboard-shopee-price-stats>div:nth-child(even){border-right:0}.dashboard-shopee-price-stats>div{border-bottom:1px solid var(--line)}.dashboard-shopee-price-stats>div:nth-last-child(-n+2){border-bottom:0}}

/* =========================================================
   V401 - GLOBAL TOPBAR POLISH
   Berlaku langsung pada parent workspace, tanpa class dari iframe.
   ========================================================= */

/* Last Update Stock tidak digunakan lagi: sembunyikan seluruh kontrolnya. */
.workspace-host-page .stock-update-menu,
.workspace-host-page #stockUpdateMenu{
    display:none !important;
}

/* Topbar lebih rapat setelah kontrol stock dihilangkan. */
.workspace-host-page .topbar{
    padding-left:22px;
    padding-right:18px;
    gap:12px;
}
.workspace-host-page .topbar-actions{
    gap:8px;
}

/* Unit Usaha + Lokasi Aktif: lebih compact, teks tetap jelas. */
.workspace-host-page .portal-context-picker{
    min-height:40px;
    gap:2px;
    padding:3px 5px;
    border-radius:11px;
}
.workspace-host-page .portal-context-picker label{
    min-width:94px;
    padding:0 4px;
}
.workspace-host-page .portal-context-picker label+label{
    min-width:124px;
}
.workspace-host-page .portal-context-picker small{
    margin:0 3px 1px;
    font-size:6px;
    line-height:1;
    letter-spacing:.9px;
}
.workspace-host-page .portal-context-picker select{
    max-width:138px;
    padding:2px 19px 2px 3px;
    font-size:10px;
    line-height:1.15;
    font-weight:800;
}

/* Pekerjaan: icon kecil + angka saja. */
.workspace-host-page .work-center-trigger{
    width:auto;
    min-width:44px;
    height:42px;
    padding:0 8px;
    gap:5px;
    border-radius:11px;
}
.workspace-host-page .work-center-trigger>span{
    display:none !important;
}
.workspace-host-page .work-center-trigger svg{
    width:18px;
    height:18px;
}
.workspace-host-page .work-center-trigger b{
    min-width:20px;
    height:20px;
    padding:0 6px;
    border-radius:999px;
    font-size:10px;
    line-height:20px;
}

/* Development Plan: icon kecil + persentase saja. */
.workspace-host-page .plan-trigger{
    width:auto;
    min-width:44px;
    height:42px;
    padding:0 7px;
    gap:5px;
    border-radius:11px;
}
.workspace-host-page .plan-trigger>span{
    display:none !important;
}
.workspace-host-page .plan-trigger::before{
    content:"";
    display:block;
    width:18px;
    height:18px;
    background:center/18px 18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23153d35' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V9M10 19V5M16 19v-7M22 19V3'/%3E%3C/svg%3E");
}
.workspace-host-page .plan-trigger b{
    padding:4px 6px;
    border-radius:999px;
    font-size:10px;
}

/* Status koneksi yang diinjeksi Dashboard ke parent topbar. */
.workspace-host-page .portal-connectivity-indicator{
    display:flex;
    min-width:92px;
    height:42px;
    align-items:center;
    gap:8px;
    padding:0 10px;
    border:1px solid #d9ded7;
    border-radius:11px;
    background:#fff;
    white-space:nowrap;
}
.workspace-host-page .portal-connectivity-indicator .portal-connectivity-dot{
    width:9px;
    height:9px;
    flex:0 0 auto;
    border-radius:50%;
    background:#d0aa3e;
    box-shadow:0 0 0 4px rgba(208,170,62,.14);
}
.workspace-host-page .portal-connectivity-copy small,
.workspace-host-page .portal-connectivity-copy strong{
    display:block;
}
.workspace-host-page .portal-connectivity-copy small{
    color:#89948f;
    font-size:6px;
    font-weight:800;
    line-height:1;
    letter-spacing:.85px;
}
.workspace-host-page .portal-connectivity-copy strong{
    margin-top:2px;
    color:#8b6a21;
    font-size:10px;
    line-height:1;
}
.workspace-host-page .portal-connectivity-indicator.is-online .portal-connectivity-dot{
    background:#3e9a51;
    box-shadow:0 0 0 4px rgba(62,154,81,.14);
}
.workspace-host-page .portal-connectivity-indicator.is-online strong{color:#276d3b}
.workspace-host-page .portal-connectivity-indicator.is-offline .portal-connectivity-dot{
    background:#c24e4e;
    box-shadow:0 0 0 4px rgba(194,78,78,.14);
}
.workspace-host-page .portal-connectivity-indicator.is-offline strong{color:#a23939}
.workspace-host-page .portal-connectivity-indicator.is-checking .portal-connectivity-dot{
    background:#d0aa3e;
    box-shadow:0 0 0 4px rgba(208,170,62,.14);
}

/* Sedikit ruang ekstra karena item topbar sekarang lebih kecil. */
.workspace-host-page .live-clock{min-width:148px}

@media(max-width:1280px){
    .workspace-host-page .portal-context-picker label{min-width:82px}
    .workspace-host-page .portal-context-picker label+label{min-width:108px}
    .workspace-host-page .portal-context-picker select{max-width:122px}
    .workspace-host-page .portal-connectivity-indicator{min-width:42px;padding:0 9px}
    .workspace-host-page .portal-connectivity-copy small{display:none}
}


/* =========================================================
   V402 - TOPBAR POLISH REFINEMENT
   ========================================================= */
/* Berlaku umum, jangan bergantung pada class host tertentu. */
.topbar .stock-update-menu,
.topbar #stockUpdateMenu,
.topbar .stock-update-trigger,
.topbar .stock-update-dropdown,
.topbar [data-stock-update-menu]{display:none!important}

.topbar .topbar-actions{gap:8px;align-items:center}
.topbar .portal-context-picker{min-height:40px;padding:3px 5px;gap:2px;border-radius:11px}
.topbar .portal-context-picker label{min-width:94px;padding:0 4px}
.topbar .portal-context-picker label+label{min-width:122px}
.topbar .portal-context-picker small{margin:0 3px 1px;font-size:6px;line-height:1;letter-spacing:.9px}
.topbar .portal-context-picker select{max-width:138px;padding:2px 19px 2px 3px;font-size:10px;line-height:1.15;font-weight:800}

.topbar .work-center-trigger{min-width:44px;width:auto;height:42px;padding:0 8px;gap:5px;border-radius:11px}
.topbar .work-center-trigger>span{display:none!important}
.topbar .work-center-trigger svg{width:18px;height:18px}
.topbar .work-center-trigger b{min-width:20px;height:20px;padding:0 6px;border-radius:999px;font-size:10px;line-height:20px}

.topbar .plan-trigger{min-width:44px;width:auto;height:42px;padding:0 7px;gap:5px;border-radius:11px}
.topbar .plan-trigger>span{display:none!important}
.topbar .plan-trigger::before{content:"";display:block;width:18px;height:18px;background:center/18px 18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23153d35' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V9M10 19V5M16 19v-7M22 19V3'/%3E%3C/svg%3E")}
.topbar .plan-trigger b{padding:4px 6px;border-radius:999px;font-size:10px}

.topbar .topbar-period-chip{height:42px;min-width:94px;padding:5px 11px;border-radius:11px}
.topbar .topbar-period-chip small{font-size:6px;letter-spacing:1px}
.topbar .topbar-period-chip strong{margin-top:3px;font-size:11px}

.topbar .portal-connectivity-indicator{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid #d9ded7;border-radius:11px;background:#fff;flex:0 0 auto}
.topbar .portal-connectivity-indicator .portal-connectivity-copy{display:none!important}
.topbar .portal-connectivity-indicator .portal-connectivity-cloud{display:block;width:18px;height:18px;color:#d0aa3e}
.topbar .portal-connectivity-indicator .portal-connectivity-cloud svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.topbar .portal-connectivity-indicator.is-online .portal-connectivity-cloud{color:#2c9b49}
.topbar .portal-connectivity-indicator.is-offline .portal-connectivity-cloud{color:#cf4747}
.topbar .portal-connectivity-indicator.is-checking .portal-connectivity-cloud{color:#d0aa3e}

@media(max-width:1280px){
  .topbar .portal-context-picker label{min-width:84px}
  .topbar .portal-context-picker label+label{min-width:108px}
  .topbar .portal-context-picker select{max-width:122px}
}


/* =========================================================
   V403 - CONNECTION ICON MINIMAL + REMOVE STOCK UPDATE DOM
   ========================================================= */
.topbar .portal-connectivity-indicator{
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    padding:0!important;
    margin:0 2px 0 4px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
}
.topbar .portal-connectivity-indicator .portal-connectivity-copy{display:none!important}
.topbar .portal-connectivity-indicator .portal-connectivity-cloud{
    display:grid!important;
    place-items:center!important;
    width:26px!important;
    height:26px!important;
    color:#d0aa3e;
}
.topbar .portal-connectivity-indicator .portal-connectivity-cloud svg{
    display:block!important;
    width:24px!important;
    height:24px!important;
    fill:currentColor!important;
    stroke:none!important;
}
.topbar .portal-connectivity-indicator.is-online .portal-connectivity-cloud{color:#259443!important}
.topbar .portal-connectivity-indicator.is-offline .portal-connectivity-cloud{color:#cf3f3f!important}
.topbar .portal-connectivity-indicator.is-checking .portal-connectivity-cloud{color:#d0aa3e!important}

/* =========================================================
   V404 - OFFLINE CLOUD BLINK RED / WHITE
   ========================================================= */
@keyframes portal-cloud-offline-blink{
    0%,42%{color:#d83d3d}
    43%,82%{color:#ffffff}
    83%,100%{color:#d83d3d}
}
.topbar .portal-connectivity-indicator.is-offline .portal-connectivity-cloud{
    color:#d83d3d!important;
    animation:portal-cloud-offline-blink 1s steps(1,end) infinite!important;
    filter:drop-shadow(0 0 1px rgba(18,33,29,.35));
}
.topbar .portal-connectivity-indicator.is-online .portal-connectivity-cloud,
.topbar .portal-connectivity-indicator.is-checking .portal-connectivity-cloud{
    animation:none!important;
}
@media(prefers-reduced-motion:reduce){
    .topbar .portal-connectivity-indicator.is-offline .portal-connectivity-cloud{
        animation:none!important;
        color:#d83d3d!important;
    }
}


/* =========================================================
   V406 - RESTORE WORKSPACE + POS COMPACT FINAL
   ========================================================= */
/* topbar */
.topbar .stock-update-menu,.topbar #stockUpdateMenu{display:none!important}
.topbar .topbar-actions{gap:8px;align-items:center}
.topbar .portal-context-picker{min-height:40px;padding:3px 5px;gap:2px;border-radius:11px}
.topbar .portal-context-picker label{min-width:92px;padding:0 4px}.topbar .portal-context-picker label+label{min-width:118px}
.topbar .portal-context-picker small{margin:0 3px 1px;font-size:6px;line-height:1;letter-spacing:.9px}
.topbar .portal-context-picker select{max-width:136px;padding:2px 19px 2px 3px;font-size:10px;line-height:1.15;font-weight:800}
.topbar .topbar-period-chip{height:42px;min-width:94px;padding:5px 11px;border-radius:11px}.topbar .topbar-period-chip small{font-size:6px}.topbar .topbar-period-chip strong{margin-top:3px;font-size:11px}
.topbar .work-center-trigger{min-width:44px;width:auto;height:42px;padding:0 8px;gap:5px;border-radius:11px}.topbar .work-center-trigger>span{display:none!important}.topbar .work-center-trigger svg{width:18px;height:18px}.topbar .work-center-trigger b{min-width:20px;height:20px;padding:0 6px;border-radius:999px;font-size:10px;line-height:20px}
.topbar .plan-trigger{min-width:44px;width:auto;height:42px;padding:0 7px;gap:5px;border-radius:11px}.topbar .plan-trigger>span{display:none!important}.topbar .plan-trigger::before{content:"";display:block;width:18px;height:18px;background:center/18px 18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23153d35' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V9M10 19V5M16 19v-7M22 19V3'/%3E%3C/svg%3E")}.topbar .plan-trigger b{padding:4px 6px;border-radius:999px;font-size:10px}
.topbar .portal-connectivity-indicator{display:inline-flex;align-items:center;justify-content:center;width:24px;height:42px;padding:0;border:0;background:transparent;box-shadow:none;cursor:default;appearance:none}
.topbar .portal-connectivity-cloud{display:block;width:22px;height:22px;line-height:0;color:#d2aa3f}.topbar .portal-connectivity-cloud svg{display:block;width:22px;height:22px}
.topbar .portal-connectivity-indicator.is-online .portal-connectivity-cloud{color:#2ea44f}.topbar .portal-connectivity-indicator.is-checking .portal-connectivity-cloud{color:#d2aa3f}.topbar .portal-connectivity-indicator.is-offline .portal-connectivity-cloud{animation:portalCloudOfflineV406 .72s steps(1,end) infinite}
@keyframes portalCloudOfflineV406{0%,49%{color:#d74444}50%,100%{color:#fff}}

/* POS: header dibuang, scan + tombol tutup satu baris */
.pos-screen{grid-template-rows:auto minmax(0,1fr) auto auto;gap:7px;height:calc(100vh - 16px);padding:8px}
.pos-scan-bar{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;width:100%}.pos-scan-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:7px;align-items:center}.pos-scan-input-wrap{min-width:0}.pos-scan-bar input{width:100%!important;height:52px!important}.pos-close-inline{width:52px;height:52px;min-height:52px;padding:0;border:1px solid #c9d0cc;border-radius:10px;background:#fff;color:#273630;font-size:25px;font-weight:600;line-height:1;cursor:pointer}.pos-inline-message{min-width:0!important;min-height:15px;padding:0 3px;font-size:10px}
.pos-layout{grid-template-columns:240px minmax(0,1fr) 300px;gap:8px;min-height:0}.pos-product-summary{display:flex;flex-direction:column;gap:8px;min-width:0}.pos-product-photo{width:100%;aspect-ratio:1/1;min-height:0!important;flex:0 0 auto}.pos-last-product{min-height:78px}.pos-cart-wrap{min-height:0}
/* ringkasan tepat di bawah area grid */
.pos-summary-strip{display:flex;justify-content:flex-end;gap:7px;min-height:42px}.pos-summary-strip>div{display:grid;align-content:center;min-width:130px;padding:5px 10px;border:1px solid #d7dfd5;border-radius:9px;background:#f4f7f3}.pos-summary-strip>div.is-total{min-width:180px}.pos-summary-strip small{font-size:7px;font-weight:800;letter-spacing:.08em;color:var(--muted)}.pos-summary-strip strong{margin-top:2px;font-size:16px;line-height:1;color:var(--green)}.pos-summary-strip .is-total strong{font-size:18px}
/* 4 field + 2 tombol dalam satu baris, tinggi sama */
.pos-actions{display:grid!important;grid-template-columns:minmax(120px,.85fr) minmax(120px,.85fr) minmax(180px,1.25fr) minmax(180px,1.45fr) 125px 170px;gap:7px;min-height:64px;align-items:stretch}.pos-payment-box{display:contents!important}.pos-action-field{height:64px;min-width:0;padding:5px 8px;border:1px solid var(--line);border-radius:9px;background:#fff;display:grid!important;grid-template-rows:13px minmax(0,1fr);gap:3px;font-size:9px!important;font-weight:700}.pos-action-field>span{font-size:9px;font-weight:700}.pos-action-field select,.pos-action-field input,.pos-action-field .pos-member-button{width:100%;height:39px!important;min-height:39px!important;margin:0!important;border-radius:7px;font-size:14px!important}.pos-member-button{padding:4px 8px!important;text-align:left}.pos-member-button strong{font-size:12px}.pos-member-button small{font-size:8px}.pos-action-button{height:64px;border:0;border-radius:9px;font-size:13px;font-weight:800;cursor:pointer}.pos-action-button.primary{background:#124b3d;color:#fff}.pos-action-button.primary:disabled{opacity:.4}.pos-action-button.muted{background:#e7ebe7;color:#25332e}
@media(max-width:1320px){.pos-layout{grid-template-columns:210px minmax(0,1fr) 270px}.pos-actions{grid-template-columns:110px 115px minmax(160px,1fr) minmax(160px,1.1fr) 110px 150px}}
@media(max-width:980px){.pos-layout{grid-template-columns:1fr}.pos-receipt-preview{max-height:300px}.pos-summary-strip{justify-content:stretch}.pos-summary-strip>div{flex:1}.pos-actions{grid-template-columns:1fr 1fr}.pos-action-field{height:auto;min-height:62px}.pos-action-button{height:62px}}


/* =========================================================
   V407 - POS SUMMARY IN GRID + MAXIMIZE MAIN AREA
   ========================================================= */
.pos-screen{grid-template-rows:auto minmax(0,1fr) auto!important;gap:7px!important;height:calc(100vh - 16px)!important;padding:8px!important}
.pos-layout{grid-template-columns:240px minmax(0,1fr) 300px!important;gap:8px!important;min-height:0!important;height:100%!important}
.pos-cart-wrap{position:relative!important;min-height:0!important;height:100%!important;overflow:auto!important;padding-bottom:0!important}
.pos-receipt-preview{height:100%!important;min-height:0!important}
.pos-summary-in-grid{position:absolute!important;right:10px!important;bottom:10px!important;z-index:6!important;display:flex!important;justify-content:flex-end!important;gap:7px!important;min-height:0!important;pointer-events:none}
.pos-summary-in-grid>div{display:grid!important;align-content:center!important;min-width:112px!important;height:44px!important;padding:5px 10px!important;border:1px solid #ced9cf!important;border-radius:9px!important;background:rgba(244,247,243,.96)!important;box-shadow:0 4px 14px rgba(22,53,45,.06)!important;backdrop-filter:blur(2px)}
.pos-summary-in-grid>div.is-total{min-width:174px!important}
.pos-summary-in-grid small{font-size:7px!important;font-weight:800!important;letter-spacing:.08em!important;color:var(--muted)!important}
.pos-summary-in-grid strong{margin-top:2px!important;font-size:16px!important;line-height:1!important;color:var(--green)!important}.pos-summary-in-grid .is-total strong{font-size:18px!important}
.pos-cart tbody tr:last-child td{padding-bottom:58px}
.pos-actions{margin-top:0!important}
@media(max-width:1320px){.pos-layout{grid-template-columns:210px minmax(0,1fr) 270px!important}}
@media(max-width:980px){.pos-layout{grid-template-columns:1fr!important;height:auto!important}.pos-summary-in-grid{position:sticky!important;right:auto!important;bottom:0!important;justify-content:stretch!important;padding:7px!important;background:rgba(255,255,255,.94)!important}.pos-summary-in-grid>div{flex:1!important}.pos-receipt-preview{height:auto!important;max-height:300px!important}}


/* =========================================================
   V408 - USER SECURITY / TRUSTED DEVICE / SESSION LOCK
   ========================================================= */
.security-gate-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:#f4f5f1;color:var(--ink)}
.security-gate-card{width:min(470px,100%);padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 22px 70px rgba(24,35,40,.12)}
.security-gate-kicker,.security-lock-kicker{display:block;color:#6f7d77;font-size:8px;font-weight:900;letter-spacing:1.5px}
.security-gate-card h1{margin:7px 0 6px;font-size:25px}.security-gate-card>p{margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.55}
.security-gate-card form{display:grid;gap:12px}.security-gate-card label{display:grid;gap:6px;font-size:11px;font-weight:800}
.security-gate-card input{width:100%;height:44px;padding:0 12px;border:1px solid #d9dfda;border-radius:10px;background:#fff}
.security-password-rule{margin:0 0 18px;padding:11px 12px;border:1px solid #d9e5d3;border-radius:10px;background:#f5f9f2}
.security-password-rule strong,.security-password-rule span{display:block}.security-password-rule strong{font-size:10px}.security-password-rule span{margin-top:3px;color:#5f6d66;font-size:10px;line-height:1.45}
.security-device-summary{display:grid;grid-template-columns:1fr 132px;gap:8px;margin-bottom:14px}.security-device-summary>div{padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fafbf9}.security-device-summary>div:first-child{grid-column:1/-1}.security-device-summary small,.security-device-summary strong{display:block}.security-device-summary small{font-size:7px;font-weight:900;letter-spacing:.9px;color:var(--muted)}.security-device-summary strong{margin-top:4px;font-size:11px}.security-device-summary .challenge strong{font-size:28px;letter-spacing:4px;color:var(--green)}
.security-waiting{display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:10px;background:#fff7d8;color:#745914;font-size:11px;font-weight:800}.security-waiting i{width:9px;height:9px;border-radius:50%;background:#d2aa3f;animation:securityPulse 1s infinite}.security-waiting.is-approved{background:#e7f4df;color:#2f6f35}.security-waiting.is-rejected{background:#fde7e7;color:#9b3030}@keyframes securityPulse{50%{opacity:.3}}
.security-bootstrap-box{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.security-bootstrap-box>strong,.security-bootstrap-box>span{display:block}.security-bootstrap-box>strong{font-size:11px}.security-bootstrap-box>span{margin-top:3px;color:var(--muted);font-size:10px}.security-bootstrap-box form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:9px}.security-bootstrap-box .secondary{height:44px}
.security-request-table td small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.security-challenge-cell{font-size:17px;letter-spacing:2px}.security-request-actions{display:flex;gap:6px;justify-content:flex-end}.security-request-actions form{margin:0}
.security-device-count{display:inline-flex;align-items:center;min-height:25px;padding:0 8px;border-radius:999px;background:#eef3eb;color:#315f46;font-size:10px;font-weight:800}
.security-user-device-section{margin-top:14px}.security-user-device-section .section-title-row p{margin:3px 0 0;color:var(--muted);font-size:10px}
.security-device-list{display:grid;gap:7px}.security-device-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fff}.security-device-row.is-revoked{opacity:.55;background:#f5f5f3}.security-device-row>div:first-child{min-width:0}.security-device-row strong,.security-device-row span,.security-device-row small{display:block}.security-device-row strong{font-size:11px}.security-device-row>div:first-child>span{margin-top:2px;color:#52635b;font-size:9px}.security-device-row small{margin-top:3px;color:var(--muted);font-size:8px}.security-device-row-action{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.portal-security-lock[hidden]{display:none!important}.portal-security-lock{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:24px;background:rgba(9,22,18,.92);backdrop-filter:blur(14px)}.portal-security-lock-card{width:min(390px,100%);padding:24px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:#fff;box-shadow:0 30px 100px rgba(0,0,0,.4);text-align:center}.portal-security-lock-card h2{margin:7px 0 2px;font-size:23px}.portal-security-lock-card>p{margin:3px 0;color:var(--muted);font-size:11px}.portal-security-lock-card>p strong{color:var(--green);font-size:13px}.security-lock-note{min-height:32px!important;margin:8px 0 12px!important}.portal-security-lock-card form{display:grid;gap:9px}.portal-security-lock-card input{height:44px;padding:0 12px;border:1px solid #d8ded9;border-radius:10px;text-align:center}.portal-security-lock-card .form-error{text-align:left}
@media(max-width:700px){.security-device-summary{grid-template-columns:1fr}.security-device-summary>div:first-child{grid-column:auto}.security-device-row{align-items:flex-start;flex-direction:column}.security-device-row-action{width:100%;justify-content:space-between}}

/* V412 hotfix */
.portal-security-lock-card .primary.full,.security-gate-card .primary.full{justify-content:center;text-align:center;}
.security-lock-note:empty{display:none;}
.portal-security-lock-card>p{font-weight:700;color:#184b3e;}

/* =========================================================
   V414 - TRUSTED DEVICE ACTION BUTTON CONSISTENT SIZE
   ========================================================= */
.security-request-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
}
.security-request-actions form{
    margin:0;
}
.security-request-actions .compact{
    width:76px !important;
    min-width:76px !important;
    height:40px !important;
    min-height:40px !important;
    padding:0 10px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    line-height:1 !important;
    border-radius:10px !important;
    box-sizing:border-box !important;
}


/* =========================================================
   V415 - HAK AKSES + HPP MASK
   ========================================================= */
.portal-access-section .section-title-row p{margin:3px 0 0;color:var(--muted);font-size:10px}
.portal-access-utility{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#f7f9f6}
.portal-access-utility strong,.portal-access-utility small{display:block}.portal-access-utility strong{font-size:11px}.portal-access-utility small{margin-top:3px;color:var(--muted);font-size:9px}
.portal-access-switch{display:flex!important;align-items:center;gap:8px!important;min-width:220px;padding:8px 10px;border:1px solid #d8e0d5;border-radius:9px;background:#fff;font-size:10px!important}
.portal-access-switch input{width:18px!important;height:18px!important;margin:0!important;accent-color:#174b3e}
.portal-menu-access-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-bottom:7px;border-bottom:1px solid var(--line)}
.portal-menu-access-head strong,.portal-menu-access-head small{display:block}.portal-menu-access-head strong{font-size:11px}.portal-menu-access-head small{margin-top:2px;color:var(--muted);font-size:9px}
.portal-menu-access-global-actions{display:flex;gap:6px;align-items:center}
.portal-menu-access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.portal-menu-access-group{min-width:0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.portal-menu-access-group summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;background:#f5f7f4;cursor:pointer;list-style:none}.portal-menu-access-group summary::-webkit-details-marker{display:none}
.portal-menu-access-group summary strong{font-size:10px}.portal-menu-group-toggle{padding:0;border:0;background:transparent;color:#316a55;font-size:8px;font-weight:800;cursor:pointer}
.portal-menu-access-items{display:grid;grid-template-columns:1fr;gap:1px;padding:5px}
.portal-menu-access-items label{display:flex!important;align-items:center;gap:7px!important;min-width:0;padding:7px 8px;border-radius:7px;font-size:9px!important;font-weight:650!important;cursor:pointer}
.portal-menu-access-items label:hover{background:#f1f5ef}.portal-menu-access-items input{width:16px!important;height:16px!important;flex:0 0 auto;margin:0!important;accent-color:#174b3e}
.portal-menu-access-items span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1180px){.portal-menu-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.portal-access-utility,.portal-menu-access-head{align-items:stretch;flex-direction:column}.portal-menu-access-grid{grid-template-columns:1fr}.portal-access-switch{min-width:0}}

/* HPP global masked-by-default */
.portal-hpp-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-height:34px;margin:0 0 7px;padding:5px 8px;border:1px solid #e5dec6;border-radius:9px;background:#fffaf0}
.portal-hpp-toolbar label{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:800;cursor:pointer}.portal-hpp-toolbar input{width:16px;height:16px;margin:0;accent-color:#174b3e}.portal-hpp-toolbar small{color:#8a7d5e;font-size:8px}
.portal-hpp-masked{position:relative!important;cursor:help!important;font-weight:800!important;letter-spacing:1px}
.portal-hpp-masked:hover::after,.portal-hpp-masked:focus::after{content:attr(data-hpp-tooltip);position:absolute;z-index:9999;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%);min-width:max-content;max-width:260px;padding:7px 9px;border-radius:7px;background:#132d26;color:#fff;font-size:10px;font-weight:700;letter-spacing:0;white-space:nowrap;box-shadow:0 7px 20px rgba(0,0,0,.22);pointer-events:none}
.portal-hpp-masked:hover::before,.portal-hpp-masked:focus::before{content:"";position:absolute;z-index:9999;left:50%;bottom:calc(100% + 2px);transform:translateX(-50%);border:5px solid transparent;border-top-color:#132d26;pointer-events:none}
html[data-theme="dark"] .portal-access-utility,html[data-theme="dark"] .portal-menu-access-group,html[data-theme="dark"] .portal-access-switch{background:#18231f;border-color:#34463f}html[data-theme="dark"] .portal-menu-access-group summary{background:#202d28}html[data-theme="dark"] .portal-hpp-toolbar{background:#2c291f;border-color:#594f32}


/* =========================================================
   V417 - HPP READ MODE INPUT MASK
   ========================================================= */
.portal-hpp-readonly-masked{
    position:relative!important;
}
.portal-hpp-readonly-masked:hover::after,
.portal-hpp-readonly-masked:focus-within::after{
    content:attr(data-hpp-tooltip);
    position:absolute;
    z-index:9999;
    left:50%;
    bottom:calc(100% + 7px);
    transform:translateX(-50%);
    min-width:max-content;
    padding:7px 9px;
    border-radius:7px;
    background:#132d26;
    color:#fff;
    font-size:10px;
    font-weight:700;
    line-height:1;
    white-space:nowrap;
    box-shadow:0 7px 20px rgba(0,0,0,.22);
    pointer-events:none;
}
.portal-hpp-readonly-masked:hover::before,
.portal-hpp-readonly-masked:focus-within::before{
    content:"";
    position:absolute;
    z-index:9999;
    left:50%;
    bottom:calc(100% + 2px);
    transform:translateX(-50%);
    border:5px solid transparent;
    border-top-color:#132d26;
    pointer-events:none;
}
.portal-hpp-readonly-masked input{
    font-weight:800!important;
    letter-spacing:1px!important;
}
.portal-hpp-toolbar-inline{
    min-height:38px!important;
    margin:0 4px 0 0!important;
    padding:0 9px!important;
    border-radius:9px!important;
    flex:0 0 auto;
}
.portal-hpp-toolbar-inline label{
    white-space:nowrap;
}

/* V418 - HPP focus reveal */
.portal-hpp-masked,.portal-hpp-readonly-masked input{transition:none!important}
.portal-hpp-readonly-masked:hover::after,.portal-hpp-readonly-masked:focus-within::after,.portal-hpp-readonly-masked:hover::before,.portal-hpp-readonly-masked:focus-within::before{display:none!important}


/* V438 · Konversi Point harus selalu vertikal, tidak mengikuti form-grid global */
.member-point-conversion-stack{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
    align-items:flex-start!important;
}
.member-point-conversion-stack>label{
    display:flex!important;
    width:min(620px,100%)!important;
    flex-direction:column!important;
    gap:6px!important;
    margin:0!important;
    color:var(--ink);
    font-size:11px!important;
    font-weight:700!important;
    line-height:1.25;
}
.member-point-conversion-stack>label.check-line{
    width:auto!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:7px!important;
    padding-top:2px!important;
}
.member-point-conversion-stack>label:not(.check-line) input:not([type="checkbox"]):not([type="radio"]){
    display:block;
    width:100%;
    min-width:0;
    height:42px;
    margin:0;
    padding:0 12px;
    border:1px solid #d6ddd7;
    border-radius:9px;
    background:#fff;
}
html[data-theme="dark"] .member-point-conversion-stack>label:not(.check-line) input:not([type="checkbox"]):not([type="radio"]){
    background:#17211e;
    border-color:#33433f;
    color:var(--ink);
}
