:root{--bg:#0a0c0b;--panel:#111512;--panel2:#171c18;--line:#283029;--text:#f2f4ef;--muted:#89938b;--accent:#b8ff3d;--accent2:#7fc91d;--danger:#ff5c5c;--warn:#ffca4b}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,#223018 0,#0a0c0b 45%)}.login-card{width:min(420px,92vw);padding:38px;background:#101411;border:1px solid #2a342a;border-radius:18px;text-align:center;box-shadow:0 25px 80px #0008}.brandmark{margin:auto;width:64px;height:64px;border:2px solid var(--accent);display:grid;place-items:center;font-weight:900;font-size:25px;transform:rotate(45deg);color:var(--accent)}.brandmark::first-line{transform:rotate(-45deg)}.login h1{font-size:22px;letter-spacing:2px;margin:25px 0 4px}.login p,.login small{color:var(--muted)}.login input{width:100%;padding:14px;margin:7px 0;background:#0a0d0b;border:1px solid var(--line);border-radius:8px;color:white}.login button,.primary{width:100%;padding:14px;margin:12px 0;background:var(--accent);border:0;border-radius:8px;font-weight:900;color:#101410;cursor:pointer}.app{display:grid;grid-template-columns:245px 1fr;min-height:100vh}aside{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column;background:#0c0f0d}.brand{display:flex;gap:12px;align-items:center;padding:4px 8px 25px}.brand>span{border:1px solid var(--accent);color:var(--accent);font-weight:900;padding:9px}.brand div{display:flex;flex-direction:column;letter-spacing:1px}.brand small{color:var(--muted);font-size:10px}nav{display:grid;gap:4px}nav button{background:transparent;color:#aab2ab;border:0;text-align:left;padding:11px 12px;border-radius:7px;cursor:pointer}nav button:hover,nav button.active{background:#1a211a;color:white}nav button.active{box-shadow:inset 3px 0 var(--accent)}.userbox{margin-top:auto;border-top:1px solid var(--line);padding:16px 5px 0;display:grid;grid-template-columns:36px 1fr 28px;gap:9px;align-items:center}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#111;font-weight:900}.userbox small{display:block;color:var(--muted)}.userbox button{background:none;border:0;color:var(--muted);cursor:pointer}main{min-width:0}header{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#0d100e}header h2{margin:0;font-size:20px}header p{margin:4px 0 0;color:var(--muted);font-size:12px}.header-actions{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:12px}section{padding:26px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px}.metric small{color:var(--muted);text-transform:uppercase;font-size:10px;letter-spacing:1px}.metric strong{font-size:26px;display:block;margin-top:10px}.metric em{font-style:normal;color:var(--accent);font-size:11px}.wide{grid-column:span 2}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.toolbar input,.toolbar select,.form-grid input,.form-grid select,.form-grid textarea{background:#0d110e;border:1px solid var(--line);color:white;padding:10px;border-radius:7px}.toolbar input{min-width:260px}.btn{border:1px solid var(--line);background:#181e19;color:white;padding:9px 12px;border-radius:7px;cursor:pointer}.btn.accent{background:var(--accent);color:#101410;border-color:var(--accent);font-weight:800}.btn.danger{color:#ff8a8a}.ghost{border:1px solid var(--line);background:transparent;color:#aab2ab;padding:8px 10px;border-radius:6px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px}table{width:100%;border-collapse:collapse;min-width:850px;background:var(--panel)}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid #202620;font-size:12px}th{color:#8e998f;background:#131713;text-transform:uppercase;font-size:9px;letter-spacing:.8px}tr:hover td{background:#151a16}.pill{padding:4px 8px;border-radius:99px;font-size:10px;background:#243022;color:#baff71}.pill.sold{background:#302323;color:#ff8c8c}.pill.warn{background:#332e1d;color:#ffd66e}.empty{text-align:center;color:var(--muted);padding:40px}.chart{height:180px;display:flex;align-items:flex-end;gap:9px;padding-top:20px}.bar{flex:1;background:linear-gradient(var(--accent),#395e16);border-radius:4px 4px 0 0;min-height:5px;position:relative}.bar span{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-size:9px;color:var(--muted)}.modal{position:fixed;inset:0;background:#000b;display:grid;place-items:center;z-index:10}.modal-card{width:min(700px,94vw);max-height:90vh;overflow:auto;background:#111512;border:1px solid #344034;border-radius:12px;padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head button{background:none;border:0;color:white;font-size:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{display:grid;gap:6px;color:#aab2ab;font-size:11px}.form-grid .full{grid-column:1/-1}.pos{display:grid;grid-template-columns:1.5fr .8fr;gap:16px}.product-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.product{background:#141914;border:1px solid var(--line);border-radius:9px;padding:13px;cursor:pointer}.product:hover{border-color:var(--accent)}.product b{display:block}.product small{color:var(--muted)}.product strong{display:block;color:var(--accent);margin-top:10px}.cart-row{display:grid;grid-template-columns:1fr auto;gap:6px;padding:10px 0;border-bottom:1px solid var(--line)}.cart-row small{color:var(--muted)}.total{display:flex;justify-content:space-between;font-size:20px;font-weight:900;margin:18px 0}.notice{border:1px solid #35452b;background:#172014;color:#b8d99a;padding:12px;border-radius:8px;margin-bottom:14px;font-size:12px}@media(max-width:950px){.app{grid-template-columns:72px 1fr}.brand div,.userbox div:not(.avatar),nav button span{display:none}.brand{padding-left:0}.brand>span{margin:auto}.userbox{grid-template-columns:1fr}.avatar{margin:auto}.grid{grid-template-columns:repeat(2,1fr)}.pos{grid-template-columns:1fr}.product-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){section{padding:14px}.grid{grid-template-columns:1fr}.wide{grid-column:auto}.product-list{grid-template-columns:1fr}.toolbar{flex-direction:column}.toolbar input{min-width:0}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}.shop-card{background:#111612;border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:10px}.shop-img{height:110px;border-radius:14px;background:linear-gradient(135deg,#1b241d,#0c0f0d);display:grid;place-items:center;font-size:42px}.shop-card h3{margin:0}.shop-card .price{font-size:24px;font-weight:800;color:var(--accent)}.shop-card .stock{font-size:12px;color:var(--muted)}.qtyrow{display:flex;gap:8px}.qtyrow input{width:70px}.order-layout{display:grid;grid-template-columns:1fr 360px;gap:18px}.order-card{border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:10px}.status-PENDING{color:#f4d35e}.status-PROCESSING{color:#5bc0eb}.status-COMPLETED{color:var(--accent)}.status-REJECTED,.status-CANCELLED{color:#ff5c5c}@media(max-width:900px){.order-layout{grid-template-columns:1fr}}

/* V4.3: item images cropped from the provided FiveM inventory screenshot */
.shop-card .shop-img{height:158px;overflow:hidden;background:#252729;border:1px solid #373b3d;border-radius:10px}
.catalog-image{width:100%;height:100%;object-fit:contain;image-rendering:auto}
.catalog-image-fallback{font-size:44px}
.shop-card{gap:9px}

/* V4.4: dual theme + compact storefront layout */
:root{--accent:#ed3945;--accent2:#c92637;--bg:#121518;--panel:#1b1f22;--panel2:#23282c;--line:#353b40;--text:#f6f7f8;--muted:#a8b0b7;--field:#24292d;--sidebar:#15191c;--header:#171b1e;--card:#1e2326;--input-text:#f6f7f8}
body[data-theme=light]{--bg:#f3f5f7;--panel:#fff;--panel2:#f5f6f8;--line:#d9dee3;--text:#1b2329;--muted:#63717c;--field:#fff;--sidebar:#fff;--header:#fff;--card:#fff;--input-text:#1b2329;color-scheme:light}
body[data-theme=dark]{color-scheme:dark}
body{background:var(--bg);color:var(--text);transition:background .2s,color .2s}
aside{background:var(--sidebar)}header{background:var(--header)}.card,.order-card{background:var(--panel)}.login{background:var(--bg)}.login-card,.modal-card{background:var(--panel);border-color:var(--line)}
.login input,.toolbar input,.toolbar select,.form-grid input,.form-grid select,.form-grid textarea,input,textarea,select{background:var(--field);color:var(--input-text);border:1px solid var(--line);border-radius:7px}
.login button,.primary,.btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn,.ghost{background:var(--panel2);color:var(--text);border-color:var(--line)}
nav button{color:var(--muted)}nav button:hover,nav button.active{background:var(--panel2);color:var(--text)}.brand>span{color:var(--accent)}
.brand small,.userbox small,header p,.metric small,.cart-row small{color:var(--muted)}
th{background:var(--panel2);color:var(--muted)}td{border-color:var(--line)}table{background:var(--panel)}tr:hover td{background:var(--panel2)}
.product{background:var(--panel2)}.product strong,.metric em{color:var(--accent)}.notice{background:var(--panel2);border-color:var(--line);color:var(--text)}
.theme-toggle{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:9px 13px;cursor:pointer;font-weight:700;white-space:nowrap}.theme-toggle:hover{border-color:var(--accent)}
body[data-theme=light] .login-card{box-shadow:0 18px 60px #192c391c}
body[data-theme=light] .modal{background:#14232b70}
body[data-theme=light] .avatar{color:#fff}
body[data-theme=light] .pill{background:#e7f7e7;color:#236b35}
body[data-theme=light] .pill.sold{background:#fff0ef;color:#ae3434}
body[data-theme=light] .shop-card .shop-img{background:#edf0f2}
body[data-theme=light] .product{color:var(--text)}
body[data-theme=light] .modal-head button{color:var(--text)}
body[data-theme=light] .form-grid label{color:var(--muted)}
body[data-theme=light] .login h1{color:var(--text)}
body[data-theme=light] .shop-card{box-shadow:0 3px 12px #192c3908}
/* Shop matches reference: compact image-first cards and a fixed-width cart */
.shop-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.shop-intro h2{margin:0 0 5px;font-size:26px}.shop-intro p{margin:0;color:var(--muted);font-size:13px}.shop-hint{max-width:320px;border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:12px;color:var(--muted);font-size:12px}
.shop-filters{display:flex;max-width:810px;margin-bottom:18px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.shop-filter{flex:1;border:0;border-right:1px solid var(--line);background:var(--panel);color:var(--text);padding:12px 8px;cursor:pointer}.shop-filter:last-child{border-right:0}.shop-filter.selected{background:var(--accent);color:#fff;font-weight:800}
.order-layout{grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.shop-card{background:var(--card);border:1px solid var(--line);border-radius:7px;padding:10px;gap:8px;min-width:0}.shop-card[hidden]{display:none}.shop-card .shop-img{height:125px;background:#282c2f;border:0;border-radius:5px;overflow:hidden}.shop-card .catalog-image{object-fit:contain}.shop-card h3{font-size:13px;line-height:1.3;min-height:18px;margin:0}.shop-card .price{font-size:17px;color:var(--accent);font-weight:800}.shop-card .stock{font-size:11px}.qtyrow{display:flex;align-items:center;gap:4px;margin-top:auto}.qtyrow input{width:31px;min-width:0;text-align:center;padding:6px 1px;appearance:textfield}.qtyrow input::-webkit-inner-spin-button,.qtyrow input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qtybtn{border:1px solid var(--line);border-radius:5px;background:var(--panel2);color:var(--text);padding:6px 8px;cursor:pointer}.qtyrow .btn{padding:7px 5px;font-size:11px;flex:1;min-width:0;white-space:nowrap}.qtyrow button:disabled,.primary:disabled{opacity:.45;cursor:not-allowed}
.shop-cart{position:sticky;top:16px;height:min(780px,calc(100vh - 120px));min-height:470px;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:0;display:flex;flex-direction:column}.cart-head{padding:18px 15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.cart-head h3{font-size:16px;margin:0}.cart-head span{background:var(--panel2);padding:6px 9px;border-radius:6px;font-size:12px}.shop-cart #shopCart{flex:1;min-height:0;display:flex;flex-direction:column}.shop-cart-items{flex:1;overflow:auto;padding:12px}.cart-empty{height:100%;min-height:170px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--muted);gap:12px}.cart-empty span{font-size:45px;opacity:.45}.cart-empty p{font-size:12px;max-width:220px;margin:0;line-height:1.5}.shop-cart-row{display:grid;grid-template-columns:56px 1fr 20px;gap:9px;align-items:center;border-bottom:1px solid var(--line);padding:9px 0}.shop-cart-thumb{height:55px;overflow:hidden;background:var(--panel2);border-radius:5px}.shop-cart-thumb img{width:100%;height:100%;object-fit:contain}.shop-cart-row b,.shop-cart-row small,.shop-cart-row strong{display:block;font-size:12px}.shop-cart-row small{color:var(--muted);margin:4px 0}.shop-cart-row strong{color:var(--accent)}.remove-item{background:none;color:var(--muted);border:0;cursor:pointer;font-size:20px}.shop-cart-total{border-top:1px solid var(--line);padding:14px}.shop-cart-total>div{display:flex;justify-content:space-between;margin:8px 0}.shop-cart-total .price{color:var(--accent);font-size:22px}.shop-cart-footer{padding:0 14px 14px}.shop-cart-footer label{display:block;font-size:12px;color:var(--muted);margin-bottom:9px}.shop-cart-footer input,.shop-cart-footer textarea{display:block;width:100%;margin-top:5px;padding:9px}.shop-cart-footer textarea{resize:vertical;min-height:45px;max-height:90px}.shop-cart-footer .primary{margin:5px 0 0}.shop-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);color:var(--muted);padding:18px 0;margin-top:28px;font-size:11px}
@media(max-width:1250px){.order-layout{grid-template-columns:minmax(0,1fr) 300px}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}}
@media(max-width:950px){.shop-intro{align-items:flex-start;flex-direction:column}.order-layout{grid-template-columns:1fr}.shop-cart{position:static;height:auto;min-height:350px}.shop-cart-items{min-height:130px;max-height:250px}}
@media(max-width:600px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shop-card{padding:8px}.shop-card .shop-img{height:100px}.shop-card .qtyrow{flex-wrap:wrap}.shop-card .qtyrow .btn{flex-basis:100%}.shop-filters{font-size:11px}.shop-intro h2{font-size:22px}.shop-footer{flex-direction:column}.header-actions{gap:5px}.theme-toggle{padding:7px;font-size:11px}}

/* Employee-only crafting calculator */
.craft-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}.craft-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.craft-recipe{min-width:0}.craft-title{display:flex;flex-direction:column;gap:6px;margin-bottom:15px}.craft-title b{font-size:17px}.craft-title small,.craft-materials>small{color:var(--muted)}.craft-recipe label{display:block;font-size:12px;color:var(--muted)}.craft-qty{display:block;width:100%;margin:7px 0 13px;padding:10px}.craft-line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.craft-line b{white-space:nowrap}.craft-summary{position:sticky;top:15px}.craft-summary h3{margin-top:0}@media(max-width:900px){.craft-layout{grid-template-columns:1fr}.craft-summary{position:static}}

/* V5.7: DSR logo on login, responsive in normal and dark mode */
.login-dsr-logo{display:block;width:min(240px,72vw);height:auto;max-height:240px;object-fit:contain;margin:0 auto 14px;filter:drop-shadow(0 7px 18px rgba(0,0,0,.25))}
.login-card{width:min(440px,92vw)}
.login h1{margin:12px 0 4px}
body[data-theme=light] .login-dsr-logo{background:#202327;border-radius:14px;padding:12px}
@media(max-width:480px){.login-dsr-logo{width:min(195px,65vw)}.login-card{padding:25px 20px}}
/* V5.8: wide Rollers Ammunation sign on login */
.login-card{width:min(620px,calc(100vw - 32px));max-width:620px}
.login-dsr-logo{width:min(540px,100%);max-height:none;object-fit:contain;margin:0 auto 22px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.22))}
body[data-theme=light] .login-dsr-logo{background:transparent;border-radius:0;padding:0}
@media(max-width:480px){.login-dsr-logo{width:100%;max-height:none}}

/* V6.4: tombol lihat/sembunyikan password */
.password-label{display:block}.password-input-wrap{display:flex;align-items:stretch;gap:8px;margin-top:6px}.password-input-wrap input{flex:1;min-width:0;margin:0}.password-input-wrap .password-toggle{min-width:105px;white-space:nowrap}.password-toggle:focus-visible{outline:2px solid #f4374b;outline-offset:2px}
@media(max-width:460px){.password-input-wrap .password-toggle{min-width:82px}}

/* V6.8: Logo DSR pada sidebar dan avatar */
.sidebar-dsr-logo{width:48px;height:48px;object-fit:contain;flex-shrink:0}
.avatar img{width:32px;height:32px;object-fit:contain}
@media(max-width:950px){.sidebar-dsr-logo{width:43px;height:43px;margin:auto}}

/* V7.3 — grouped, collapsible sidebar. Routes and permissions are unchanged. */
aside{min-height:0}
#nav{display:block;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 3px 12px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.nav-section{margin:4px 0 8px}
#nav .nav-section-toggle{display:flex;align-items:center;width:100%;gap:9px;padding:10px 9px;border-radius:8px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:1.1px;text-align:left}
#nav .nav-section-toggle:hover{background:var(--panel2);color:var(--text)}
.nav-group-icon{width:19px;text-align:center;font-size:14px;letter-spacing:0}
.nav-group-label{flex:1}
.nav-chevron{font-size:16px;transition:transform .2s;line-height:1}
.nav-section-toggle[aria-expanded=true] .nav-chevron{transform:rotate(180deg)}
.nav-section-items{padding:3px 0 3px 9px;border-left:1px solid var(--line);margin-left:17px}
.nav-section-items[hidden]{display:none}
#nav .nav-page{width:100%;display:flex;align-items:center;gap:10px;padding:10px 10px;font-size:13px;line-height:1.35;border-radius:7px;margin:1px 0}
.nav-page-icon{width:19px;flex-shrink:0;text-align:center;font-size:15px}
.nav-page-label{min-width:0;overflow-wrap:anywhere}
#nav .nav-page.active{box-shadow:inset 3px 0 var(--accent);background:var(--panel2);font-weight:700}
.brand{padding-bottom:15px}.userbox{flex-shrink:0}
@media(max-width:950px){
 #nav .nav-group-label,#nav .nav-chevron,#nav .nav-page-label{display:none}
 #nav .nav-section-toggle,#nav .nav-page{justify-content:center;padding:11px 4px}
 .nav-section-items{margin-left:0;padding:0;border-left:0}
 .nav-group-icon,.nav-page-icon{width:auto}
}

/* V7.4 dashboard statistik */
.dash-wrap{display:grid;gap:18px;max-width:1500px;margin:auto}.dash-intro{display:flex;justify-content:space-between;align-items:center;gap:15px}.dash-eyebrow{color:var(--accent);font-size:10px;letter-spacing:2px;font-weight:800}.dash-intro h2{font-size:25px;margin:7px 0}.dash-intro p,.dash-panel-head p{margin:0;color:var(--muted);font-size:12px}.dash-live{color:#7cdea3;font-size:12px;background:#20332a;border:1px solid #345641;border-radius:99px;padding:8px 12px;white-space:nowrap}.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dash-kpi,.dash-panel{border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:21px;min-width:0}.dash-kpi{position:relative;overflow:hidden}.dash-kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent)}.dash-kpi>span{color:var(--muted);font-size:10px;letter-spacing:1px;font-weight:750}.dash-kpi strong{display:block;font-size:clamp(22px,2.3vw,34px);margin:17px 0 10px;overflow-wrap:anywhere}.dash-kpi small{color:var(--muted);font-size:11px}.dash-columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,1fr);gap:18px}.dash-panel-head{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:24px}.dash-panel-head h3{font-size:17px;margin:0 0 6px}.dash-badge{font-size:10px;color:var(--accent);background:var(--panel2);padding:6px 10px;border-radius:7px}.dash-bars{height:250px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;align-items:end}.dash-bar-col{height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:8px;min-width:0}.dash-bar-value{height:15px;font-size:10px;color:var(--muted);white-space:nowrap}.dash-bar-track{width:100%;max-width:57px;height:175px;display:flex;align-items:flex-end;background:var(--panel2);border-radius:7px;overflow:hidden}.dash-bar-fill{width:100%;background:linear-gradient(0deg,#9d2432,var(--accent));border-radius:6px 6px 0 0;min-height:2px}.dash-bar-col small{text-align:center;font-size:11px;color:var(--muted);line-height:1.5}.dash-order-list{display:grid;gap:10px}.dash-order{display:flex;align-items:center;gap:12px;background:var(--panel2);border-radius:9px;padding:14px}.dash-order-dot{height:11px;width:11px;border-radius:50%;background:#f3be56}.dot-1{background:#5ea5e6}.dot-2{background:#63c991}.dash-order>div{flex:1}.dash-order b,.dash-order small{display:block}.dash-order small{color:var(--muted);font-size:10px;margin-top:5px}.dash-order strong{font-size:22px}.dash-stock-alert{border-top:1px solid var(--line);padding-top:15px;margin-top:20px;color:var(--muted);font-size:12px}.dash-top-row{display:grid;grid-template-columns:20px minmax(0,1fr) 75px;align-items:center;gap:12px;padding:10px 0}.dash-top-row>span{color:var(--muted)}.dash-top-row b{font-size:12px}.dash-top-row strong{text-align:right;font-size:12px}.dash-progress{height:5px;background:var(--panel2);border-radius:99px;overflow:hidden;margin-top:9px}.dash-progress i{display:block;height:100%;background:var(--accent);border-radius:99px}.dash-empty{padding:30px 0;color:var(--muted);font-size:12px;text-align:center}.dash-inventory{display:grid;gap:0}.dash-inventory>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:14px 0;font-size:13px}.dash-inventory>div:last-child{border:0}.dash-inventory span{color:var(--muted)}@media(max-width:1200px){.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-columns{grid-template-columns:1fr}}@media(max-width:650px){.dash-kpis{grid-template-columns:1fr}.dash-intro{align-items:flex-start;flex-direction:column}.dash-panel{padding:14px}.dash-bars{gap:4px}.dash-bar-value{font-size:8px}}

/* V7.6 — login redesign using the original supplied Rollers Ammunation logo.
   Scoped to login so the dashboard and sidebar remain unchanged. */
.login{min-height:100dvh;padding:28px 16px;background:radial-gradient(ellipse at 50% 40%,#222629 0%,#191c1e 47%,#141719 100%)}
.login-card{width:min(806px,100%);max-width:806px;padding:54px 46px 48px;background:#202426;border:1px solid #353a3e;border-radius:17px;box-shadow:0 28px 85px rgba(0,0,0,.28);color:#f6f7f8}
.login-rollers-logo{display:block;width:min(690px,100%);height:auto;margin:0 auto 32px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.16))}
.login h1{margin:0 0 10px;font-size:clamp(21px,3.1vw,30px);letter-spacing:.6px;font-weight:850;color:#fff}
.login p{margin:0 0 30px;font-size:17px;color:#bbc1c8}
.login form{display:flex;flex-direction:column;gap:16px;margin:0}
.login input{width:100%;margin:0;padding:17px 18px;min-height:58px;background:#282d31;border:1px solid #363d42;border-radius:9px;color:#f8f8f8;font-size:17px;outline:none}
.login input:focus{border-color:#c2d5e5;box-shadow:0 0 0 2px rgba(194,213,229,.17)}
.login input::placeholder{color:#9ba4ab}
.login button{margin:3px 0 0;min-height:59px;background:#f3374c;color:#fff;border-radius:9px;font-size:17px;font-weight:850;cursor:pointer}
.login button:hover{background:#dc2c40}
.login small{display:block;margin-top:24px;font-size:15px;color:#b8bec5}
body[data-theme=light] .login{background:radial-gradient(ellipse at 50% 40%,#222629 0%,#191c1e 47%,#141719 100%)}
body[data-theme=light] .login-card{background:#202426;color:#fff;border-color:#353a3e}
body[data-theme=light] .login h1{color:#fff}
body[data-theme=light] .login-rollers-logo{background:transparent;padding:0}
body[data-theme=light] .login input{background:#282d31;color:#fff;border-color:#363d42}
body[data-theme=light] .login p,body[data-theme=light] .login small{color:#bbc1c8}
@media(max-width:600px){.login{padding:16px}.login-card{padding:30px 20px 28px}.login-rollers-logo{width:100%;margin-bottom:25px}.login p{font-size:14px;margin-bottom:25px}.login input{font-size:16px}.login small{font-size:13px}}

/* V8.0: compact shop cards: keep quantity controls and add button inside each card. */
.shop-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));align-items:stretch}
.shop-card{min-width:0;overflow:hidden}
.shop-card .qtyrow{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:6px;width:100%;align-items:stretch;margin-top:auto}
.shop-card .qtyrow .qtybtn{width:34px;min-width:0;padding:7px 0;text-align:center}
.shop-card .qtyrow input{width:100%;min-width:0;box-sizing:border-box;text-align:center}
.shop-card .qtyrow .btn{grid-column:1/-1;width:100%;min-width:0;box-sizing:border-box;min-height:36px;padding:8px 10px;display:flex;align-items:center;justify-content:center;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.25}
@media(max-width:600px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-card .qtyrow{display:grid;grid-template-columns:32px minmax(0,1fr) 32px}.shop-card .qtyrow .qtybtn{width:32px}.shop-card .qtyrow .btn{grid-column:1/-1}}

/* V8.1: compact add-to-cart icon in customer shop */
.shop-card .qtyrow > button.btn.accent { flex: 0 0 38px; min-width: 38px; width: 38px; padding: 8px 0; text-align: center; white-space: nowrap; }

/* V8.2: icon-only add button; never overflow product cards */
.shop-card .qtyrow > .shop-add-icon {
  grid-column:1 / -1; display:flex; align-items:center; justify-content:center;
  width:100%; min-width:0; max-width:100%; box-sizing:border-box;
  padding:8px; font-size:18px; line-height:1; white-space:nowrap; overflow:hidden;
}


/* V10 — system cleanup */
.backup-card{max-width:980px}.backup-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.backup-hero h2{margin:7px 0}.backup-hero p{color:var(--muted)}.backup-safe{font-size:11px;color:#79d99a;background:#1d3025;border:1px solid #31513d;border-radius:999px;padding:8px 11px;white-space:nowrap}.backup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.backup-box{background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:18px}.backup-box b{display:block;margin-bottom:8px}.backup-box p{margin:0;color:var(--muted);line-height:1.6}.backup-download{max-width:330px;margin-top:4px}@media(max-width:700px){.backup-grid{grid-template-columns:1fr}.backup-hero{flex-direction:column}}

/* V10.0.1 — sidebar overlap/hierarchy hotfix */
#nav{display:flex;flex-direction:column;gap:4px;align-items:stretch;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 3px 14px}
#nav .nav-section{display:block;flex:0 0 auto;width:100%;margin:0 0 4px;position:relative;min-height:0}
#nav .nav-section-toggle{position:relative;display:flex;align-items:center;width:100%;min-height:42px;margin:0;padding:10px 9px;line-height:1.2;overflow:hidden}
#nav .nav-section-items{position:relative;display:block;width:auto;margin:2px 0 4px 17px;padding:3px 0 3px 9px;border-left:1px solid var(--line);overflow:visible}
#nav .nav-section-items[hidden]{display:none!important}
#nav .nav-page{position:relative;display:flex;align-items:center;width:100%;min-height:42px;margin:1px 0;padding:10px;line-height:1.3}
#nav .nav-group-label,#nav .nav-page-label{position:static;display:block;white-space:normal}
#nav .nav-group-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:950px){
 #nav .nav-group-label,#nav .nav-chevron,#nav .nav-page-label{display:none}
 #nav .nav-section-items{margin-left:0;padding:0;border-left:0}
}

/* V10.0.3 — cinematic right-side login */
.login-v1003{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:flex-end;padding:clamp(24px,5vw,84px);overflow:hidden;background:#090b0d url('assets/login-cinematic-v10.0.3.webp') center/cover no-repeat}
.login-v1003::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,9,.12) 0%,rgba(5,7,9,.08) 42%,rgba(5,7,9,.48) 68%,rgba(5,7,9,.76) 100%);pointer-events:none}
.login-v1003::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,5,7,.46),transparent 35%,rgba(4,5,7,.12));pointer-events:none}
.login-v1003 .login-card{position:relative;z-index:2;width:min(500px,42vw);max-width:500px;padding:38px 38px 30px;background:linear-gradient(145deg,rgba(17,18,21,.88),rgba(11,12,15,.78));border:1px solid rgba(255,72,82,.38);border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.5);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);text-align:center}
.login-v1003 .login-eyebrow{font-size:10px;font-weight:800;letter-spacing:5px;color:#d8dadd;margin-bottom:12px}
.login-v1003 .login-rollers-logo{width:min(360px,90%);max-height:120px;margin:0 auto 10px;object-fit:contain;filter:drop-shadow(0 8px 22px rgba(0,0,0,.3))}
.login-v1003 h1{margin:4px 0 5px;font-size:clamp(23px,2.1vw,30px);letter-spacing:1.5px;font-weight:900}
.login-v1003 p{margin:0;color:#c4c8cd;font-size:14px;letter-spacing:2.2px;text-transform:uppercase}
.login-divider{height:28px;display:flex;align-items:center;gap:12px;margin:8px 0 10px;color:#f3374c}.login-divider::before,.login-divider::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,#f3374c)}.login-divider::after{background:linear-gradient(90deg,#f3374c,transparent)}
.login-v1003 form{display:flex;flex-direction:column;gap:12px;margin:0}
.login-v1003 .login-field{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:8px;min-height:56px;padding:0 15px;background:rgba(39,43,48,.86);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#eef0f2;transition:.18s ease}
.login-v1003 .login-field:focus-within{border-color:rgba(243,55,76,.72);box-shadow:0 0 0 3px rgba(243,55,76,.11)}
.login-v1003 .login-field>span{font-size:18px;color:#d8dde2}
.login-v1003 .login-field input{min-height:auto;width:100%;padding:0;margin:0;background:transparent!important;border:0!important;box-shadow:none!important;color:#fff;font-size:15px;outline:0}
.login-v1003 button[type=submit]{min-height:56px;margin:3px 0 0;border-radius:10px;background:linear-gradient(135deg,#ff344b,#e91f37);color:#fff;font-size:15px;letter-spacing:.6px;box-shadow:0 12px 30px rgba(225,29,52,.2);transition:transform .18s ease,filter .18s ease}
.login-v1003 button[type=submit]:hover{background:linear-gradient(135deg,#ff4056,#ef293f);transform:translateY(-1px);filter:brightness(1.05)}
.login-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}
.login-categories span{padding:4px 6px;color:#c9cdd1;font-size:8px;font-weight:800;letter-spacing:1px;border-right:1px solid rgba(255,255,255,.1)}.login-categories span:last-child{border-right:0}
.login-v1003 .login-help{display:block;margin-top:16px;color:#8f969d;font-size:11px}
.login-scene-copy{position:absolute;z-index:2;left:clamp(28px,5vw,86px);top:clamp(28px,5vw,72px);display:flex;flex-direction:column;text-shadow:0 2px 16px #000}.login-scene-copy span{font-size:10px;letter-spacing:4px}.login-scene-copy strong{font-size:12px;letter-spacing:2.5px;margin-top:5px}.login-scene-copy small{position:fixed;left:clamp(28px,5vw,86px);bottom:34px;font-size:9px;letter-spacing:2.5px;color:#e2e4e6}
body[data-theme=light] .login-v1003{background:#090b0d url('assets/login-cinematic-v10.0.3.webp') center/cover no-repeat}.login-v1003 .login-card,body[data-theme=light] .login-v1003 .login-card{color:#fff;background:linear-gradient(145deg,rgba(17,18,21,.88),rgba(11,12,15,.78));border-color:rgba(255,72,82,.38)}
@media(max-width:900px){.login-v1003{justify-content:center;padding:24px;background-position:35% center}.login-v1003::before{background:rgba(5,7,9,.48)}.login-v1003 .login-card{width:min(500px,94vw)}.login-scene-copy{display:none}}
@media(max-width:520px){.login-v1003{padding:14px}.login-v1003 .login-card{padding:28px 20px 22px;border-radius:17px}.login-v1003 .login-rollers-logo{width:min(300px,92%)}.login-v1003 h1{font-size:21px}.login-v1003 p{font-size:11px;letter-spacing:1.4px}.login-categories span{font-size:7px;letter-spacing:.5px}.login-v1003 .login-help{font-size:10px}}

/* V10.0.4 — Shop product image frame: 4:3, full-object, centered */
.shop-card .shop-img{
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  box-sizing:border-box;
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:linear-gradient(145deg,#24282a,#1b1f21);
  border:1px solid var(--line);
  border-radius:7px;
}
.shop-card .shop-img .catalog-image{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
}
.shop-card .shop-img .catalog-image-fallback{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
}
body[data-theme=light] .shop-card .shop-img{background:#edf0f2}
@media(max-width:600px){
  .shop-card .shop-img{height:auto;aspect-ratio:4 / 3;padding:8px}
}

/* V10.0.7 — DSR-exclusive catalog visibility */
.dsr-exclusive-badge{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid rgba(255,55,75,.5);border-radius:999px;background:rgba(255,55,75,.12);color:#ff5264;font-size:11px;font-weight:800;letter-spacing:.06em;white-space:nowrap}
.shop-img{position:relative}
.shop-exclusive{position:absolute;top:10px;right:10px;z-index:2;background:rgba(15,18,20,.88);backdrop-filter:blur(5px)}

/* V10.2.1 — All Inventory filters */
.inventory-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr)) auto;gap:10px;margin:18px 0}
.inventory-filters input,.inventory-filters select{width:100%;min-height:44px}
.inventory-filters .btn{min-height:44px;white-space:nowrap}
@media(max-width:1100px){.inventory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-filters .btn{width:100%}}
@media(max-width:600px){.inventory-filters{grid-template-columns:1fr}}

/* V10.2.3 — Login YouTube music control */
.login-youtube-player{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;left:-9999px!important}
.login-music-toggle{position:absolute;z-index:4;right:clamp(18px,3vw,46px);top:clamp(18px,3vw,38px);border:1px solid rgba(255,255,255,.18);background:rgba(10,12,15,.62);color:#c9ced3;padding:9px 13px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:1.2px;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:.18s ease}
.login-music-toggle:hover,.login-music-toggle.active{border-color:rgba(255,72,82,.65);color:#fff;background:rgba(214,29,50,.3);box-shadow:0 0 22px rgba(225,29,52,.12)}
@media(max-width:520px){.login-music-toggle{right:14px;top:14px;padding:8px 10px;font-size:9px}}
/* V10.2.9 — organized owner-only reset cards */
.reset-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.reset-section-grid .backup-box{display:flex;flex-direction:column;align-items:flex-start;min-height:150px}.reset-section-grid .backup-box p{flex:1}.reset-section-grid .danger{width:100%}@media(max-width:800px){.reset-section-grid{grid-template-columns:1fr}}

/* V10.3.2 — compact music + Discord login controls */
.login-music-toggle{width:38px;height:38px;padding:0!important;display:grid;place-items:center;font-size:18px!important;letter-spacing:0!important;border-radius:50%!important}
.music-icon-toggle{width:38px;height:38px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--muted);font-size:18px;line-height:1;cursor:pointer;transition:.18s ease}
.music-icon-toggle:hover,.music-icon-toggle.active{color:var(--text);border-color:rgba(255,72,82,.65);background:rgba(214,29,50,.18)}
@media(max-width:600px){.music-icon-toggle{width:34px;height:34px;font-size:16px}.login-music-toggle{width:34px;height:34px}}

/* V10.3.2 — Discord shortcut beside the compact login music control */
.login-quick-actions{position:absolute;z-index:4;right:clamp(18px,3vw,46px);top:clamp(18px,3vw,38px);display:flex;align-items:center;gap:8px}
.login-quick-actions .login-music-toggle{position:static;right:auto;top:auto}
.login-discord-link{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(10,12,15,.62);color:#c9ced3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:.18s ease;text-decoration:none}
.login-discord-link svg{width:20px;height:20px;display:block}
.login-discord-link:hover{border-color:#5865f2;color:#fff;background:rgba(88,101,242,.34);box-shadow:0 0 22px rgba(88,101,242,.16);transform:translateY(-1px)}
@media(max-width:520px){.login-quick-actions{right:14px;top:14px;gap:7px}.login-discord-link{width:34px;height:34px}.login-discord-link svg{width:18px;height:18px}}

/* V10.3.3 — prominent login shortcuts below SIGN IN */
.login-v1003 .login-quick-actions{position:static;z-index:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.login-v1003 .login-quick-actions .login-music-toggle,.login-v1003 .login-discord-link{position:static;width:100%;height:52px;padding:0 16px!important;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:10px!important;font-size:13px!important;font-weight:900;letter-spacing:1px;border:1px solid rgba(255,255,255,.14);background:rgba(28,31,35,.92);color:#eef1f4;text-decoration:none;box-sizing:border-box;cursor:pointer;transition:.18s ease}
.login-v1003 .login-discord-link svg{width:25px;height:25px;flex:none}
.login-v1003 .login-discord-link:hover{border-color:#5865f2;background:rgba(88,101,242,.28);box-shadow:0 0 24px rgba(88,101,242,.18);transform:translateY(-1px)}
.login-v1003 .login-quick-actions .login-music-toggle:hover,.login-v1003 .login-quick-actions .login-music-toggle.active{border-color:rgba(255,72,82,.72);background:rgba(214,29,50,.28);box-shadow:0 0 24px rgba(225,29,52,.16);transform:translateY(-1px)}
.login-v1003 .login-music-glyph{font-size:23px;line-height:1}
.login-v1003 .login-music-label{font-size:11px;font-weight:900;letter-spacing:1.2px;white-space:nowrap}
@media(max-width:520px){.login-v1003 .login-quick-actions{gap:9px;margin-top:11px}.login-v1003 .login-quick-actions .login-music-toggle,.login-v1003 .login-discord-link{height:48px;padding:0 10px!important}.login-v1003 .login-discord-link svg{width:22px;height:22px}.login-v1003 .login-music-glyph{font-size:21px}.login-v1003 .login-music-label,.login-v1003 .login-discord-link span{font-size:10px}}
\n\n/* V10.3.4 — fixed professional login viewport + copyright */
body.login-active{overflow:hidden;height:100dvh}
body.login-active .login-v1003{height:100dvh;min-height:0;overflow:hidden;padding:clamp(18px,3.2vh,42px) clamp(24px,5vw,84px)}
.login-v1003 .login-card{max-height:calc(100dvh - clamp(36px,6.4vh,84px));padding:clamp(22px,3vh,34px) 38px clamp(18px,2.4vh,28px);display:flex;flex-direction:column;justify-content:center}
.login-v1003 .login-eyebrow{margin-bottom:clamp(6px,1vh,10px)}
.login-v1003 .login-rollers-logo{width:min(340px,86%);max-height:clamp(72px,11vh,104px);margin-bottom:clamp(4px,.8vh,8px)}
.login-v1003 h1{margin:2px 0 3px;font-size:clamp(21px,2vw,28px)}
.login-v1003 p{font-size:clamp(11px,1.2vw,14px)}
.login-v1003 .login-divider{height:clamp(20px,3.2vh,28px);margin:clamp(3px,.7vh,7px) 0 clamp(6px,1vh,10px)}
.login-v1003 form{gap:clamp(8px,1.2vh,12px)}
.login-v1003 .login-field{min-height:clamp(48px,6.5vh,56px)}
.login-v1003 button[type=submit]{min-height:clamp(48px,6.5vh,56px)}
.login-v1003 .login-quick-actions{margin-top:clamp(8px,1.4vh,13px);gap:10px}
.login-v1003 .login-quick-actions .login-music-toggle,.login-v1003 .login-discord-link{height:clamp(44px,5.8vh,50px)}
.login-v1003 .login-categories{margin-top:clamp(9px,1.5vh,15px);padding-top:clamp(8px,1.3vh,13px)}
.login-v1003 .login-help{margin-top:clamp(7px,1.2vh,12px);font-size:10px}
.login-copyright{display:flex;justify-content:center;align-items:center;gap:8px 12px;flex-wrap:wrap;margin-top:clamp(7px,1.2vh,12px);padding-top:clamp(7px,1.2vh,11px);border-top:1px solid rgba(255,255,255,.08);color:#777f87;font-size:9px;letter-spacing:.35px;line-height:1.35}
.login-copyright span+span::before{content:"•";margin-right:12px;color:#f3374c}
@media(max-height:760px) and (min-width:901px){
 .login-v1003 .login-card{padding-top:18px;padding-bottom:16px}
 .login-v1003 .login-rollers-logo{max-height:72px;width:min(300px,80%)}
 .login-v1003 h1{font-size:21px}.login-v1003 p{font-size:11px}
 .login-v1003 .login-field,.login-v1003 button[type=submit]{min-height:46px}
 .login-v1003 .login-quick-actions .login-music-toggle,.login-v1003 .login-discord-link{height:42px}
 .login-v1003 .login-categories{margin-top:8px;padding-top:7px}.login-v1003 .login-help{margin-top:6px}
 .login-copyright{margin-top:6px;padding-top:6px}
}
@media(max-width:900px){body.login-active .login-v1003{padding:14px}.login-v1003 .login-card{max-height:calc(100dvh - 28px);width:min(500px,94vw)}}
@media(max-width:520px){.login-v1003 .login-card{padding:18px 18px 15px}.login-copyright{font-size:8px;gap:3px 7px}.login-copyright span+span::before{margin-right:7px}}

/* V10.5.0 — smartphone-first responsive shell (iPhone/Safari + Android) */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:hidden}img,svg{max-width:100%}button,a,input,select,textarea{touch-action:manipulation}input,select,textarea{max-width:100%}
.mobile-menu-toggle,.mobile-nav-backdrop{display:none}.mobile-header-left{display:flex;align-items:center;min-width:0}.mobile-header-left>div{min-width:0}
@media(max-width:760px){
 body.mobile-nav-lock{overflow:hidden}
 .app{display:block;min-height:100dvh;width:100%;overflow-x:hidden}
 .app>aside{position:fixed;z-index:1002;left:0;top:0;bottom:0;width:min(86vw,320px);height:100dvh;padding:max(16px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 50px #0008;border-right:1px solid var(--line)}
 .app.mobile-nav-open>aside{transform:translateX(0)}
 .mobile-nav-backdrop{display:block;position:fixed;z-index:1001;inset:0;background:#0009;opacity:0;visibility:hidden;transition:.2s}
 .app.mobile-nav-open>.mobile-nav-backdrop{opacity:1;visibility:visible}
 .brand{padding:4px 8px 16px}.brand div{display:flex!important}.sidebar-dsr-logo{width:44px;height:44px;margin:0}
 #nav{padding-bottom:12px}#nav .nav-group-label,#nav .nav-chevron,#nav .nav-page-label{display:block}#nav .nav-section-items{margin:2px 0 4px 17px;padding:3px 0 3px 9px;border-left:1px solid var(--line)}
 .userbox{grid-template-columns:36px 1fr 28px}.userbox div:not(.avatar){display:block!important}.avatar{margin:0}
 main{width:100%;min-width:0}
 header{position:sticky;top:0;z-index:900;height:auto;min-height:64px;padding:10px max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left));gap:8px;background:color-mix(in srgb,var(--header) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
 .mobile-header-left{gap:9px;flex:1}.mobile-menu-toggle{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);font-size:20px}
 header h2{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:44vw}header p{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:44vw}
 .header-actions{gap:6px;flex-shrink:0}.header-actions #clock{display:none}.header-actions .ghost{display:none}.theme-toggle{width:40px;height:40px;padding:0;font-size:0}.theme-toggle::first-letter{font-size:16px}.music-icon-toggle{width:40px;height:40px;flex:0 0 40px}
 section{padding:12px max(10px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));width:100%;overflow:hidden}
 .card,.dash-panel,.dash-kpi,.order-card{border-radius:12px}.grid,.dash-kpis{grid-template-columns:1fr}.wide{grid-column:auto}.dash-wrap{gap:12px}.dash-intro{gap:8px}.dash-intro h2{font-size:21px}.dash-live{font-size:10px}.dash-columns{grid-template-columns:1fr}.dash-panel{padding:13px}.dash-bars{overflow-x:auto;grid-template-columns:repeat(7,minmax(44px,1fr));gap:5px}.dash-bar-track{height:135px}
 .toolbar{display:grid;grid-template-columns:1fr;gap:8px}.toolbar input,.toolbar select,.toolbar .btn{width:100%;min-width:0;min-height:44px}
 .inventory-filters{grid-template-columns:1fr!important}.inventory-filters>*{width:100%;min-width:0}
 .table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:10px}.table-wrap table{min-width:760px}th,td{padding:10px;font-size:11px;white-space:nowrap}.table-wrap:after{content:'Geser tabel ke samping →';display:block;position:sticky;left:0;padding:7px 10px;color:var(--muted);font-size:9px;background:var(--panel)}
 .form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:44px;font-size:16px}
 .modal{align-items:end;padding:0}.modal-card{width:100%;max-width:none;max-height:92dvh;border-radius:18px 18px 0 0;padding:16px max(14px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));overflow:auto;-webkit-overflow-scrolling:touch}.modal-head{position:sticky;top:-16px;z-index:2;background:var(--panel);padding:12px 0 8px}.modal-head h3{margin:0;font-size:18px}.modal-head button{min-width:44px;min-height:44px}
 .btn,.primary,.ghost{min-height:44px}.primary{width:100%;max-width:none!important}.pos,.order-layout,.craft-layout{grid-template-columns:1fr}.product-list{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shop-card{padding:9px;border-radius:12px}.shop-card .price{font-size:18px}.shop-card .shop-img{height:auto;aspect-ratio:4/3}.shop-cart,.craft-summary{position:static}.order-card{overflow:hidden}
 .backup-grid,.reset-section-grid{grid-template-columns:1fr}.backup-hero{flex-direction:column}.backup-download{max-width:none;width:100%}
}
@media(max-width:390px){
 header h2,header p{max-width:38vw}.theme-toggle{display:none}.product-list,.shop-grid{grid-template-columns:1fr}.login-v1003 .login-card{width:calc(100vw - 20px)}
}
@media(max-width:760px) and (orientation:landscape){.app>aside{width:min(72vw,320px)}.modal-card{max-height:96dvh}.login-v1003 .login-card{transform:scale(.9);transform-origin:center}}
/* iOS safe viewport and keyboard-friendly login */
@supports(-webkit-touch-callout:none){.login-v1003{min-height:100svh;height:100dvh}.app>aside{height:100dvh}input,select,textarea{font-size:16px}}
/* V10.6.0 Unified Order Processing */
.order-process-head{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.order-process-head>div,.order-step{background:var(--panel2,#20262b);border:1px solid var(--line,#343b40);border-radius:10px;padding:12px}.order-process-head small,.order-step small{display:block;color:var(--muted);margin-bottom:4px}.order-process-head b{display:block}.order-process-item{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line,#343b40)}.order-steps{display:grid;gap:8px;margin:12px 0}.order-step{display:grid;grid-template-columns:160px 1fr;align-items:center}.order-step small{grid-column:1/-1;margin-top:5px}.order-step.done{border-color:rgba(125,255,114,.35)}.order-step.done>span{color:#7dff72;font-weight:800}@media(max-width:640px){.order-process-head{grid-template-columns:1fr}.order-step{grid-template-columns:1fr}.order-process-item{font-size:14px}}

/* V10.6.1 — pixel-balanced Discord / Music login actions */
.login-v1003 .login-quick-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.login-v1003 .login-quick-actions>a,
.login-v1003 .login-quick-actions>button{min-width:0;width:100%;height:clamp(44px,5.8vh,50px);margin:0!important;padding:0 14px!important;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px}
.login-v1003 .login-discord-link svg,
.login-v1003 .login-music-glyph{width:24px;height:24px;min-width:24px;flex:0 0 24px;display:flex;align-items:center;justify-content:center}
.login-v1003 .login-discord-link svg{display:block}
.login-v1003 .login-music-glyph{font-size:20px!important;line-height:24px!important;font-family:Arial,sans-serif;font-weight:700;transform:none}
.login-v1003 .login-discord-link span,
.login-v1003 .login-music-label{font-size:11px!important;font-weight:900;letter-spacing:1.2px;line-height:1;white-space:nowrap}
@media(max-width:520px){
 .login-v1003 .login-quick-actions>a,.login-v1003 .login-quick-actions>button{height:46px;padding:0 10px!important;gap:8px}
 .login-v1003 .login-discord-link svg,.login-v1003 .login-music-glyph{width:22px;height:22px;min-width:22px;flex-basis:22px}
 .login-v1003 .login-music-glyph{font-size:18px!important;line-height:22px!important}
 .login-v1003 .login-discord-link span,.login-v1003 .login-music-label{font-size:10px!important}
}

/* V10.6.2 — exact-size login shortcuts; neutralize legacy .login button min-height */
.login-v1003 .login-quick-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.login-v1003 .login-quick-actions>.login-discord-link,
.login-v1003 .login-quick-actions>.login-music-toggle{
  width:100%!important;
  height:54px!important;
  min-height:54px!important;
  max-height:54px!important;
  margin:0!important;
  padding:0 14px!important;
  border-width:1px!important;
  border-style:solid!important;
  border-radius:11px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:26px auto;
  align-items:center;
  justify-content:center;
  column-gap:10px;
  line-height:1!important;
}
.login-v1003 .login-quick-actions>.login-discord-link svg,
.login-v1003 .login-quick-actions>.login-music-toggle .login-music-glyph{
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  display:grid!important;
  place-items:center;
  margin:0!important;
  padding:0!important;
}
.login-v1003 .login-quick-actions>.login-music-toggle .login-music-glyph{
  font-size:19px!important;
  line-height:24px!important;
}
.login-v1003 .login-quick-actions>.login-discord-link span,
.login-v1003 .login-quick-actions>.login-music-toggle .login-music-label{
  margin:0!important;
  padding:0!important;
  line-height:1!important;
}
@media(max-width:520px){
 .login-v1003 .login-quick-actions{gap:10px}
 .login-v1003 .login-quick-actions>.login-discord-link,
 .login-v1003 .login-quick-actions>.login-music-toggle{
   height:50px!important;min-height:50px!important;max-height:50px!important;
   padding:0 10px!important;grid-template-columns:24px auto;column-gap:8px;
 }
}


/* V10.8.0 — Smart Interactive Dashboard */
.dash-kpi-click{appearance:none;text-align:left;color:inherit;font:inherit;cursor:pointer;position:relative;width:100%}.dash-kpi-click:hover{transform:translateY(-2px);border-color:rgba(255,52,72,.55);box-shadow:0 12px 30px rgba(0,0,0,.18)}.dash-kpi-click i{display:block;margin-top:12px;color:#ff4657;font-size:10px;font-style:normal;font-weight:900;letter-spacing:.8px;opacity:.75}.dash-kpi-click:hover i{opacity:1}.dash-bar-col{appearance:none;background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0}.dash-bar-col:hover .dash-bar-fill{filter:brightness(1.18)}.dash-order-click{width:100%;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.dash-order-click em{margin-left:auto;font-style:normal;font-size:25px;color:#ff4657}.dash-alert-click{width:100%;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.dash-alert-click b{float:right;color:#ff4657;font-size:10px}.dash-row-click{width:100%;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.dash-row-click:hover,.dash-order-click:hover,.dash-alert-click:hover{filter:brightness(1.08)}.dash-detail-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.dash-detail-summary>div{background:var(--panel2,#20262b);border:1px solid var(--line,#343b40);border-radius:10px;padding:13px}.dash-detail-summary small{display:block;color:var(--muted);margin-bottom:5px}.dash-detail-summary b{font-size:20px}.dash-activity{display:grid;gap:7px}.dash-activity>div{display:grid;grid-template-columns:70px 1fr auto;gap:10px;align-items:center;padding:11px 12px;border-radius:9px;background:var(--panel2,#20262b)}.dash-activity span{color:#ff5968;font-size:10px;font-weight:900;text-transform:uppercase}.dash-activity small{color:var(--muted);white-space:nowrap}.modal-card:has(.dash-detail-summary){width:min(1100px,94vw)}
@media(max-width:760px){.dash-detail-summary{grid-template-columns:1fr}.dash-activity>div{grid-template-columns:58px 1fr}.dash-activity small{grid-column:2;white-space:normal}.dash-kpi-click i{margin-top:7px}.dash-order-click em{display:none}}

/* V10.8.4 — cleaner weapon inventory status separation */
.weapon-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}.weapon-stat{appearance:none;text-align:left;background:var(--panel,#1b2023);border:1px solid var(--line,#343b3f);border-radius:14px;padding:16px 18px;color:inherit;cursor:pointer;transition:.18s ease}.weapon-stat:hover,.weapon-stat.active{border-color:#f23b4d;transform:translateY(-1px)}.weapon-stat small{display:block;letter-spacing:.09em;font-weight:800;opacity:.7;margin-bottom:7px}.weapon-stat strong{display:block;font-size:28px;line-height:1;margin-bottom:7px}.weapon-stat span{font-size:13px;opacity:.65}.weapon-stat.active{box-shadow:inset 3px 0 0 #f23b4d}.weapon-stat.active small{color:#ff5363;opacity:1}@media(max-width:700px){.weapon-summary{grid-template-columns:1fr}.weapon-stat{display:grid;grid-template-columns:1fr auto;align-items:center}.weapon-stat strong{grid-column:2;grid-row:1/3;margin:0;font-size:24px}.weapon-stat span{grid-column:1}.weapon-stat small{margin:0 0 4px}}
/* V10.11 — DSR Wiki CMS */
.wiki-shell{max-width:1500px;margin:0 auto;display:grid;gap:24px}.wiki-hero{min-height:190px;border:1px solid #343b40;border-radius:18px;padding:32px;display:flex;align-items:end;justify-content:space-between;background:linear-gradient(135deg,#151a1e,#0c0f12);position:relative;overflow:hidden}.wiki-hero:after{content:'DSR';position:absolute;right:120px;top:-35px;font-size:180px;font-weight:900;opacity:.025}.wiki-kicker{color:#ff4050;font-size:12px;font-weight:900;letter-spacing:2px}.wiki-hero h1,.wiki-article h1{font-size:42px;margin:8px 0}.wiki-hero p{color:#aeb7bf;max-width:760px}.wiki-stat{text-align:center;min-width:130px}.wiki-stat b{font-size:38px;display:block}.wiki-stat span{font-size:10px;letter-spacing:2px;color:#89939c}.wiki-toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center}.wiki-search{display:flex;align-items:center;gap:10px;background:#20262b;border:1px solid #343b40;border-radius:12px;padding:0 14px;min-width:320px}.wiki-search input{border:0!important;background:transparent!important;padding-left:0!important}.wiki-actions{display:flex;gap:8px;flex-wrap:wrap}.wiki-featured{min-height:260px;border:1px solid #343b40;border-radius:18px;padding:32px;display:flex;flex-direction:column;justify-content:end;background-size:cover;background-position:center;cursor:pointer}.wiki-featured>span{font-size:11px;letter-spacing:2px;color:#ff4050;font-weight:900}.wiki-featured h2{font-size:32px;margin:8px 0}.wiki-featured p{max-width:700px;color:#bbc3c9}.wiki-featured .btn{align-self:flex-start}.wiki-section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}.wiki-section-title h2{margin:0}.wiki-section-title span{color:#8e99a2;font-size:13px}.wiki-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.wiki-cat{background:#1b2024;color:#e8edf0;border:1px solid #343b40;border-radius:12px;padding:15px;text-align:left;cursor:pointer}.wiki-cat b,.wiki-cat small{display:block}.wiki-cat small{margin-top:5px;color:#89939c}.wiki-cat:hover,.wiki-cat.active{border-color:#ff4050;background:#24282c}.wiki-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.wiki-card{background:#191e22;border:1px solid #30373c;border-radius:14px;overflow:hidden;cursor:pointer;transition:.18s transform,.18s border-color}.wiki-card:hover{transform:translateY(-2px);border-color:#ff4050}.wiki-card-cover{height:135px;background-size:cover;background-position:center}.wiki-no-cover{display:grid;place-items:center;font-size:52px;font-weight:900;color:#333b41;background:linear-gradient(135deg,#20262b,#111416)}.wiki-card-body{padding:16px}.wiki-card-body h3{margin:10px 0 7px}.wiki-card-body p{color:#9ea8b0;min-height:42px}.wiki-card-body small{color:#78838c}.wiki-feature-badge{margin-left:6px;color:#ffcb57}.wiki-review{margin-top:8px}.wiki-article{background:#171b1e;border:1px solid #30373c;border-radius:18px;overflow:hidden}.wiki-article-cover{height:320px;background-size:cover;background-position:center}.wiki-article>header{padding:34px;border-bottom:1px solid #30373c}.wiki-lead{font-size:18px;color:#aeb7bf;max-width:900px}.wiki-byline{font-size:13px;color:#7f8991}.wiki-admin-actions{display:flex;gap:8px;margin-top:18px}.wiki-article-layout{padding:34px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:30px}.wiki-prose{grid-column:1;line-height:1.8;font-size:16px}.wiki-prose h1,.wiki-prose h2,.wiki-prose h3{margin-top:1.5em}.wiki-prose blockquote{border-left:3px solid #ff4050;margin:20px 0;padding:10px 18px;background:#202529;color:#c8d0d5}.wiki-prose figure{margin:24px 0}.wiki-prose figure img{max-width:100%;border-radius:10px}.wiki-prose figcaption{font-size:12px;color:#7f8991;margin-top:6px}.wiki-prose a{color:#70b8ff}.wiki-infobox{grid-column:2;grid-row:1;align-self:start;border:1px solid #3b4349;border-radius:12px;overflow:hidden;background:#202529}.wiki-infobox-title{padding:14px;background:#ff3548;color:white;font-weight:900;text-align:center;letter-spacing:1px}.wiki-info-row{display:grid;grid-template-columns:90px 1fr;gap:8px;padding:10px 12px;border-top:1px solid #343b40;font-size:13px}.wiki-info-row b{color:#9fa9b1}.wiki-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:30px}.wiki-tags span{background:#252b30;border-radius:20px;padding:6px 10px;color:#9ea8b0;font-size:12px}.wiki-editor-bar{display:flex;gap:5px;flex-wrap:wrap;background:#161a1d;border:1px solid #343b40;border-bottom:0;border-radius:9px 9px 0 0;padding:8px}.wiki-editor-bar button{background:#272d32;border:1px solid #3b4349;color:#e8edf0;border-radius:6px;padding:7px 10px;cursor:pointer}.wiki-editor textarea#wikiContent{border-radius:0 0 9px 9px}.wiki-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:18px;max-height:42vh;overflow:auto}.wiki-media{border:1px solid #343b40;border-radius:10px;padding:8px}.wiki-media img{width:100%;height:100px;object-fit:cover;border-radius:6px}.wiki-media small{display:block;margin:6px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wiki-category-admin{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.wiki-category-admin .card{padding:12px}.wiki-category-admin small{display:block;color:#8d979f;margin-top:4px}
@media(max-width:760px){.wiki-hero{padding:22px;min-height:160px}.wiki-hero h1,.wiki-article h1{font-size:30px}.wiki-stat{display:none}.wiki-toolbar{align-items:stretch;flex-direction:column}.wiki-search{min-width:0;width:100%}.wiki-actions>*{flex:1}.wiki-featured{min-height:220px;padding:22px}.wiki-featured h2{font-size:25px}.wiki-categories{grid-template-columns:1fr 1fr}.wiki-grid{grid-template-columns:1fr}.wiki-article-cover{height:210px}.wiki-article>header,.wiki-article-layout{padding:20px}.wiki-article-layout{display:flex;flex-direction:column}.wiki-infobox{order:0}.wiki-prose{order:1}.wiki-admin-actions{flex-wrap:wrap}}

/* V10.12 - Fandom-inspired structured DSR Wiki */
.wiki-page-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0}.wiki-page-nav>div{display:flex;gap:4px;flex-wrap:wrap}.wiki-navlink{border:0;background:transparent;color:#b8c0c6;font-weight:800;padding:9px 12px;cursor:pointer;border-bottom:2px solid transparent}.wiki-navlink:hover{color:#fff;border-color:#ff4050}.wiki-toc{width:min(440px,100%);background:#202529;border:1px solid #394147;border-radius:10px;padding:16px 20px;margin:0 0 28px}.wiki-toc>b{font-size:18px}.wiki-toc ol{margin:10px 0 0;padding-left:22px}.wiki-toc li{padding:3px 0}.wiki-toc .toc-l3{margin-left:18px;font-size:14px}.wiki-toc a{color:#b9d9ff;text-decoration:none}.wiki-category-footer{margin-top:35px;padding:16px;border-top:1px solid #343b40;background:#1d2226}.wiki-category-footer span{display:inline-block;margin:4px 3px;padding:5px 9px;border:1px solid #3b454c;border-radius:4px;color:#b9d9ff}.wiki-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.wiki-template-grid button{background:#1c2226;color:#eef2f4;border:1px solid #384147;border-radius:10px;padding:18px;text-align:left;cursor:pointer}.wiki-template-grid button:hover{border-color:#ff4050;background:#242a2f}.wiki-template-grid b,.wiki-template-grid span{display:block}.wiki-template-grid b{font-size:17px;margin-bottom:6px}.wiki-template-grid span{font-size:12px;line-height:1.45;color:#919ca4}.wiki-template-head{background:linear-gradient(135deg,#20262b,#161a1d);border-left:4px solid #ff4050;padding:15px 18px;margin-bottom:15px}.wiki-template-head span{font-size:10px;letter-spacing:2px;color:#ff4050;font-weight:900}.wiki-template-head h3{margin:4px 0;font-size:24px}.wiki-template-head p{margin:0;color:#9ba5ad}.wiki-template-editor{display:grid;gap:11px}.wiki-infobox .wiki-info-row:has(b:first-child:nth-last-child(2)){min-height:0}
@media(max-width:760px){.wiki-page-nav{align-items:flex-start;flex-direction:column}.wiki-template-grid{grid-template-columns:1fr}.wiki-navlink{padding:7px}.wiki-toc{width:100%}}

.wiki-info-image{padding:10px;background:#15191c}.wiki-info-image img{width:100%;max-height:320px;object-fit:cover;border-radius:7px;display:block}


/* V10.16.1 — DSR package form layout */
.modal-card:has(.pkg-form){width:min(820px,94vw)}
.pkg-form{display:grid;gap:18px;padding-top:4px}
.pkg-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.pkg-form label{display:grid;gap:7px;min-width:0;color:var(--text);font-size:13px;font-weight:650}
.pkg-form label>span{color:var(--muted);font-size:12px;font-weight:700}
.pkg-form input,.pkg-form select,.pkg-form textarea{width:100%;min-width:0;background:var(--panel2);border:1px solid var(--line);color:var(--text);padding:11px 12px;border-radius:9px;outline:none}
.pkg-form textarea{resize:vertical;min-height:88px}
.pkg-form input:focus,.pkg-form select:focus,.pkg-form textarea:focus{border-color:#ff3448;box-shadow:0 0 0 2px rgba(255,52,72,.12)}
.pkg-form label small{color:var(--muted);font-weight:400;font-size:11px}
.pkg-full{grid-column:1/-1}
.pkg-section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;padding-top:4px}
.pkg-section-head>div{display:grid;gap:3px}.pkg-section-head b{font-size:15px}.pkg-section-head small{color:var(--muted);font-size:11px}
.pkg-items{display:grid;gap:10px}
.pkg-item-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 44px;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.018)}
.pkg-item-row label{gap:5px}.pkg-item-row label>span{font-size:10px;text-transform:uppercase;letter-spacing:.6px}
.pkg-remove{width:44px;height:42px;padding:0;font-size:19px;display:grid;place-items:center}
.pkg-notice{margin:0}
.pkg-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:2px;border-top:1px solid var(--line)}
.pkg-actions .btn{min-width:110px}.pkg-save{width:auto;min-width:190px;margin:0;padding:12px 22px}
@media(max-width:600px){.pkg-form-grid{grid-template-columns:1fr}.pkg-full{grid-column:auto}.pkg-section-head{align-items:stretch;flex-direction:column}.pkg-section-head .btn{width:100%}.pkg-item-row{grid-template-columns:minmax(0,1fr) 86px 44px;padding:10px}.pkg-actions{display:grid;grid-template-columns:1fr 1fr}.pkg-actions .btn,.pkg-save{width:100%;min-width:0}.modal-card:has(.pkg-form){width:100%}}

/* V10.16.2 — global layout polish */
html,body{max-width:100%;overflow-x:hidden}main,section,.card,.modal-card,.table-wrap,.toolbar,.form-grid{min-width:0}
header{min-width:0;gap:16px}.header-actions{min-width:0;flex-wrap:wrap;justify-content:flex-end}.header-actions>*{max-width:100%}
.toolbar{align-items:center;flex-wrap:wrap}.toolbar>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}.toolbar input,.toolbar select{max-width:100%}
.card{overflow-wrap:anywhere}.table-wrap{width:100%;max-width:100%;overscroll-behavior-inline:contain}td .btn,td .ghost{white-space:nowrap;margin:2px}
.form-grid{align-items:start}.form-grid label{min-width:0}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;max-width:100%}.form-grid textarea{resize:vertical;min-height:90px}
.modal{padding:20px;overflow:auto;align-items:center}.modal-card{width:min(760px,100%);max-width:100%;max-height:calc(100vh - 40px);padding:24px;border-radius:16px}.modal-head{gap:14px;margin-bottom:18px}.modal-head h2,.modal-head h3{margin:0;min-width:0}.modal-head button{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;cursor:pointer;border-radius:8px}.modal-head button:hover{background:var(--panel2)}
.modal-card .primary{margin-bottom:0}.modal-card .notice:last-child{margin-bottom:0}
.pos,.order-layout,.craft-layout{min-width:0}.shop-card,.product,.order-card{min-width:0}.shop-card h3,.product b{overflow-wrap:anywhere}.qtyrow{align-items:center;flex-wrap:wrap}.qtyrow input{min-width:64px;max-width:90px}
.grid>*{min-width:0}.metric strong{overflow-wrap:anywhere}.dash-kpi-grid,.dash-detail-summary{min-width:0}
.pkg-form-grid>*{min-width:0}.pkg-item-row>*{min-width:0}.pkg-actions{flex-wrap:wrap}
@media(max-width:950px){header{padding:0 18px}section{padding:20px}.modal{padding:14px}.modal-card{max-height:calc(100vh - 28px)}}
@media(max-width:700px){header{height:auto;min-height:76px;padding:12px 14px;align-items:flex-start}header>div:first-child{min-width:0}header h2{font-size:18px}.header-actions{justify-content:flex-start}.toolbar{align-items:stretch}.toolbar>div{width:100%}.toolbar input,.toolbar select,.toolbar .btn{min-width:0;flex:1 1 160px}.modal{padding:8px;place-items:start center}.modal-card{width:100%;max-height:calc(100vh - 16px);padding:18px;border-radius:12px}.modal-head{margin-bottom:14px}.form-grid{gap:10px}.table-wrap{border-radius:8px}.pkg-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}}
@media(max-width:480px){section{padding:12px}.modal-card{padding:15px}.modal-head h2,.modal-head h3{font-size:19px}.toolbar>div{display:grid;grid-template-columns:1fr}.toolbar input,.toolbar select,.toolbar .btn{width:100%;flex:none}.pkg-item-row{grid-template-columns:1fr 74px 42px;gap:7px}.pkg-remove{width:42px}.pkg-actions{grid-template-columns:1fr}.wiki-categories{grid-template-columns:1fr}.shop-grid{grid-template-columns:1fr}.grid{gap:10px}}

/* V10.18.0 — interactive productivity + filtering */
.header-tool{position:relative}.notify-count{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#f13a4a;color:#fff;font-size:10px;font-weight:800;margin-left:3px}.notify-count.zero{display:none}
.smart-filter{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.smart-filter input{flex:1 1 260px}.smart-filter select{min-width:150px}.smart-filter .muted{margin-left:auto}
.global-search-box{display:grid;gap:7px}.global-search-box input{font-size:18px;padding:14px}.global-results,.notification-list{display:grid;gap:7px;margin-top:14px;max-height:460px;overflow:auto}.global-result,.notif-row{width:100%;display:grid;grid-template-columns:90px minmax(0,1fr) 24px;gap:12px;align-items:center;text-align:left;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);cursor:pointer}.global-result>span,.notif-kind{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#ff5262;font-weight:800}.global-result div,.notif-row{min-width:0}.global-result small,.notif-row small{display:block;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.global-result:hover,.notif-row:hover{border-color:#ff5262}
.notif-row{grid-template-columns:82px minmax(0,1fr)}.notif-row b{display:block}.modal-search-row{display:flex;gap:10px;align-items:center}.modal-search-row input{flex:1}
.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-actions button{min-height:82px;text-align:left;padding:16px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);color:var(--text);font-weight:800;cursor:pointer}.quick-actions button small{display:block;color:var(--muted);font-weight:400;margin-top:6px}.quick-actions button:hover{border-color:#ff5262}
.activity-timeline{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.015)}.activity-timeline h3{margin:0 0 12px}.timeline-row{position:relative;display:grid;grid-template-columns:16px 1fr;gap:9px;padding:0 0 14px}.timeline-row:not(:last-child):before{content:"";position:absolute;left:6px;top:12px;bottom:-2px;width:1px;background:var(--line)}.timeline-dot{width:13px;height:13px;border-radius:50%;background:#f13a4a;margin-top:3px;z-index:1}.timeline-row small{display:block;color:var(--muted);margin-top:2px}
@media(max-width:700px){.header-tool{font-size:0}.header-tool .notify-count{font-size:10px}.quick-actions{grid-template-columns:1fr}.global-result{grid-template-columns:70px minmax(0,1fr) 18px}.smart-filter>*{width:100%;flex:1 1 100%}.smart-filter .muted{margin-left:0}}
\n/* V10.18.1 — polished Employee Permission Center */
.permission-page{max-width:1280px;margin:0 auto;padding:24px!important}.permission-page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--border)}.permission-page-title h3{margin:0 0 6px;font-size:22px}.permission-page-title p{margin:0}.permission-security-badge{white-space:nowrap;border:1px solid var(--border);border-radius:999px;padding:8px 12px;font-size:12px;color:var(--muted);background:rgba(255,255,255,.025)}
.permission-employee-picker{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:20px 0;padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.018)}.permission-employee-picker label{display:grid;gap:7px;margin:0;min-width:min(420px,100%);font-weight:700}.permission-employee-picker select{width:100%;min-height:44px}.permission-employee-picker small{color:var(--muted);max-width:520px;text-align:right}
.permission-help{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:0 0 14px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.02)}.permission-help>div{display:grid;gap:3px}.permission-help span{color:var(--muted);font-size:13px}.permission-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.permission-category{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.018);min-width:0}.permission-category-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.025)}.permission-category-title{display:flex;align-items:center;gap:11px;min-width:0}.permission-category-title>div{display:grid;gap:2px}.permission-category-title b{font-size:14px;letter-spacing:.05em}.permission-category-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border);border-radius:9px;color:var(--muted);background:rgba(255,255,255,.025)}.permission-count{font-size:11px;color:var(--muted);font-weight:500;white-space:nowrap}.permission-category-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.permission-category-actions .btn{min-height:32px;padding:6px 9px;font-size:11px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}.permission-option{position:relative;display:flex!important;align-items:center!important;gap:10px!important;margin:0!important;padding:11px 12px!important;border:1px solid var(--border)!important;border-radius:10px!important;background:rgba(255,255,255,.015)!important;cursor:pointer;min-width:0;transition:border-color .15s ease,background .15s ease}.permission-option:hover{background:rgba(255,255,255,.035)!important}.permission-option input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}.permission-checkmark{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border:1px solid #56606a;border-radius:6px;background:#15191c}.permission-option input:checked+.permission-checkmark{border-color:#f13b4b;background:#f13b4b}.permission-option input:checked+.permission-checkmark:after{content:'✓';font-size:13px;font-weight:900;color:white}.permission-option:has(input:checked){border-color:rgba(241,59,75,.48)!important;background:rgba(241,59,75,.06)!important}.permission-label{min-width:0;font-size:13px;line-height:1.35}.permission-savebar{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#1a1f23;box-shadow:0 10px 30px rgba(0,0,0,.25)}.permission-savebar span{color:var(--muted);font-size:12px}.permission-savebar .primary{width:auto;min-width:220px;margin:0}
@media(max-width:1100px){.permission-categories{grid-template-columns:1fr}}@media(max-width:720px){.permission-page{padding:16px!important}.permission-page-title,.permission-employee-picker,.permission-help,.permission-category-head,.permission-savebar{align-items:stretch;flex-direction:column}.permission-employee-picker small{text-align:left}.permission-category-actions{justify-content:flex-start}.permission-grid{grid-template-columns:1fr}.permission-savebar .primary{width:100%;min-width:0}.permission-security-badge{align-self:flex-start}}\n

/* V10.18.2 — Professional notifications */
.toast-root{position:fixed;top:20px;right:20px;z-index:10050;display:flex;flex-direction:column;gap:10px;width:min(390px,calc(100vw - 32px));pointer-events:none}
.pro-toast{--toast-duration:4500ms;position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 32px;gap:12px;align-items:start;overflow:hidden;padding:14px 12px 16px 14px;border:1px solid var(--border,#343b42);border-radius:14px;background:rgba(25,30,34,.97);box-shadow:0 18px 48px rgba(0,0,0,.34);backdrop-filter:blur(16px);color:var(--text,#f5f7f8);pointer-events:auto;animation:toastIn .22s ease-out both}
.toast-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:900;font-size:18px;background:#2b3238;color:#fff}
.toast-copy{min-width:0;padding-top:1px}.toast-copy b{display:block;font-size:14px;line-height:1.25;margin-bottom:4px}.toast-copy p{margin:0;color:var(--muted,#b5bec6);font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.toast-close{width:30px;height:30px;border:0!important;border-radius:8px;background:transparent!important;color:var(--muted,#aeb6bd)!important;font-size:20px;line-height:1;cursor:pointer;padding:0!important}.toast-close:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}
.toast-progress{position:absolute;left:0;bottom:0;height:3px;width:100%;transform-origin:left;background:#6d7880;animation:toastProgress var(--toast-duration) linear forwards}
.toast-success{border-color:rgba(62,191,125,.32)}.toast-success .toast-icon,.toast-success .toast-progress{background:#2fa86c}.toast-error{border-color:rgba(244,74,86,.38)}.toast-error .toast-icon,.toast-error .toast-progress{background:#ef3b49}.toast-warning{border-color:rgba(231,171,65,.38)}.toast-warning .toast-icon,.toast-warning .toast-progress{background:#d99a2b}.toast-info{border-color:rgba(95,157,225,.34)}.toast-info .toast-icon,.toast-info .toast-progress{background:#4e8fd2}
.toast-leave{animation:toastOut .2s ease-in both}.toast-leave .toast-progress{animation-play-state:paused}
@keyframes toastIn{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateX(18px) scale(.98)}}@keyframes toastProgress{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:600px){.toast-root{top:12px;right:12px;width:calc(100vw - 24px)}.pro-toast{grid-template-columns:38px minmax(0,1fr) 30px;padding:12px 10px 14px 12px}.toast-icon{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.pro-toast,.toast-leave,.toast-progress{animation:none!important}}

/* V10.18.8 Order processing polish */
.order-process-items{display:grid;gap:8px;margin-top:10px}.order-process-item.clean{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:12px 14px;border:1px solid var(--line,#343a40);border-radius:10px;background:rgba(255,255,255,.018)}.order-process-item.clean .item-meta{display:flex;align-items:center;gap:10px;min-width:0}.order-process-item.clean .qty-badge{min-width:38px;text-align:center;padding:4px 8px;border-radius:999px;background:rgba(244,55,72,.13);color:#ff6674;font-weight:800}.order-process-item.clean .item-name{font-weight:800}.order-process-item.clean .item-sub{display:block;margin-top:3px;color:var(--muted,#9da7b1);font-size:12px}.order-process-item.clean .item-price{text-align:right;font-weight:800;white-space:nowrap}.order-step-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.order-step-actions .primary{flex:1 1 300px}.order-step-actions .btn{flex:0 1 auto}.btn.back-step{border-color:#59616a;background:#20262b;color:#e8edf2}.btn.back-step:hover{background:#2a3137}.order-rollback-note{margin-top:8px;font-size:12px;color:var(--muted,#9da7b1)}
@media(max-width:700px){.order-process-item.clean{grid-template-columns:1fr}.order-process-item.clean .item-price{text-align:left}.order-step-actions>*{width:100%;flex-basis:100%!important}}

/* V10.18.10 — split active/completed order monitoring */
.order-monitor-section{margin-top:18px;border:1px solid var(--line,#2b2d34);border-radius:16px;padding:16px;background:rgba(255,255,255,.015)}
.order-monitor-section.completed-orders{margin-top:26px;opacity:.92}
.order-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.order-section-head h2{margin:0 0 4px;font-size:18px}
.order-section-head p{margin:0;opacity:.65;font-size:13px}
.order-count-badge{min-width:38px;height:30px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;background:rgba(220,45,55,.16);border:1px solid rgba(220,45,55,.35)}
.order-count-badge.completed{background:rgba(75,190,105,.12);border-color:rgba(75,190,105,.3)}
.completed-orders .table-wrap{max-height:430px;overflow:auto}
@media(max-width:720px){.order-monitor-section{padding:11px}.order-section-head{align-items:flex-start}.order-section-head p{font-size:12px}}

/* V10.18.12 — dashboard audit & profit center */
.audit-period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}
.audit-period-card{border:1px solid var(--line,#2b2d34);border-radius:16px;padding:16px;background:rgba(255,255,255,.018)}
.audit-period-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.audit-period-head small{opacity:.6;font-weight:700}.audit-period-head h3{margin:4px 0 0;font-size:18px}.audit-period-head>span{font-size:12px;padding:5px 8px;border-radius:999px;border:1px solid var(--line,#333);opacity:.8}
.audit-money-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.audit-money-grid>div{padding:11px;border-radius:11px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05)}.audit-money-grid small{display:block;opacity:.6;margin-bottom:5px}.audit-money-grid b{font-size:16px}.audit-money-grid .profit b{font-size:18px}
.dash-bar-col em{display:block;min-height:15px;margin-top:4px;font-size:10px;font-style:normal;opacity:.65}
@media(max-width:1050px){.audit-period-grid{grid-template-columns:1fr}}@media(max-width:600px){.audit-money-grid{grid-template-columns:1fr 1fr}.audit-period-card{padding:12px}}

/* V10.18.16 — package-only catalog mode */
.package-only-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.05em;border:1px solid rgba(244,188,70,.35);background:rgba(244,188,70,.10);color:#f4bc46;white-space:nowrap}

/* V10.18.19 — historical sale rows are interactive by Transaction ID */
.cash-sale-note{display:grid!important;gap:2px;width:100%;min-width:260px;text-align:left;border:1px solid rgba(255,61,77,.20)!important;background:rgba(255,61,77,.045)!important;color:inherit!important;border-radius:9px;padding:8px 10px;cursor:pointer}
.cash-sale-note:hover{border-color:rgba(255,61,77,.55)!important;background:rgba(255,61,77,.09)!important}
.cash-sale-note b{font-size:12px}.cash-sale-note small{font-size:11px;color:var(--muted);font-weight:400}.cash-sale-note span{font-size:10px;font-weight:900;color:#ff6673;letter-spacing:.04em}.cash-sale-note.mini{min-width:120px}

/* V10.18.32 — actual Inventory Umum stock badge stylesheet fix */
.general-stock-badge{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 width:max-content!important;
 min-width:44px!important;
 padding:5px 9px!important;
 border-radius:999px!important;
 font-size:12px!important;
 font-weight:900!important;
 line-height:1!important;
 font-variant-numeric:tabular-nums!important;
 white-space:nowrap!important;
}
.general-stock-badge.good{color:#8cff38!important;background:#17301c!important;border:1px solid #234328!important}
.general-stock-badge.medium{color:#ffe94a!important;background:#373416!important;border:1px solid #514c1c!important}
.general-stock-badge.low{color:#ffb62e!important;background:#3a2d13!important;border:1px solid #594319!important}
.general-stock-badge.empty{color:#ff6658!important;background:#3b1918!important;border:1px solid #5a2521!important}


/* V10.18.34 — fixed desktop sidebar, scoped ONLY to authenticated app.
   Login remains full-screen and the hidden app cannot reserve sidebar space. */
@media (min-width:951px){
  body:not(.login-active) #app.app:not(.hidden){
    display:block!important;
    min-height:100vh;
  }
  body:not(.login-active) #app.app:not(.hidden)>aside#sidebar{
    position:fixed!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:245px!important;
    height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:1000!important;
  }
  body:not(.login-active) #app.app:not(.hidden)>main{
    margin-left:245px!important;
    width:calc(100% - 245px)!important;
    min-width:0!important;
  }

  /* Explicit login isolation: sidebar/app must never leak into login layout. */
  body.login-active #app.app.hidden{
    display:none!important;
  }
  body.login-active #login.login-v1003{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    margin:0!important;
    z-index:2000!important;
  }
}

/* ===============================================================
   V10.19.0 — OPERATIONS HUB · Modern, accessible interface
   Scoped to authenticated app. Login artwork, store and legacy data remain.
   =============================================================== */
body[data-theme="dark"]{
  --bg:#0d0f14;--panel:#171a23;--panel2:#202530;--line:#303645;
  --sidebar:#11141b;--header:#151820;--field:#222631;--text:#f5f6fa;
  --muted:#a4acbc;--accent:#ee4b59;--accent2:#c73042;
}
body[data-theme="light"]{
  --bg:#f4f5f8;--panel:#fff;--panel2:#f0f2f7;--line:#e0e5ee;
  --sidebar:#fff;--header:#fff;--field:#f6f7fa;--text:#18202d;
  --muted:#667286;--accent:#ca3046;--accent2:#a9263b;
}
body:not(.login-active) #app.app{background:var(--bg)}
body:not(.login-active) #app.app>aside#sidebar{background:var(--sidebar);border-right:1px solid var(--line);padding:25px 15px 17px;box-shadow:12px 0 38px rgba(0,0,0,.035)}
body:not(.login-active) #app.app>aside#sidebar .brand{border-bottom:1px solid var(--line);margin-bottom:17px;padding:2px 9px 20px}
body:not(.login-active) #app.app>aside#sidebar .brand b{font-size:15px;letter-spacing:.13em;font-weight:950}
body:not(.login-active) #app.app>aside#sidebar .brand small{letter-spacing:.25em;font-weight:700;opacity:.78}
body:not(.login-active) #app.app #nav{padding:0 3px 20px;gap:7px}
body:not(.login-active) #app.app #nav .nav-section{margin-bottom:7px}
body:not(.login-active) #app.app #nav .nav-section-toggle{color:var(--muted);letter-spacing:.15em;padding:11px 10px;min-height:39px;font-size:10px}
body:not(.login-active) #app.app #nav .nav-section-items{margin:0 0 4px 7px;padding:5px 0 5px 11px;border-left:1px solid var(--line)}
body:not(.login-active) #app.app #nav .nav-page{border:1px solid transparent;min-height:43px;margin:2px 0;padding:10px 11px;border-radius:11px;font-weight:650;font-size:12px;gap:9px;transition:background .18s,transform .18s,border-color .18s}
body:not(.login-active) #app.app #nav .nav-page:hover{background:var(--panel2);border-color:var(--line);transform:translateX(2px)}
body:not(.login-active) #app.app #nav .nav-page.active{background:color-mix(in srgb,var(--accent) 12%,var(--panel2));border-color:color-mix(in srgb,var(--accent) 33%,var(--line));color:var(--text);box-shadow:inset 3px 0 var(--accent)}
body:not(.login-active) #app.app #nav .nav-page-icon{font-size:18px;color:var(--accent);width:24px}
body:not(.login-active) #app.app #nav .nav-page-count{background:var(--accent);color:#fff;font-size:10px;font-weight:900;padding:3px 7px;border-radius:999px;margin-left:auto}
body:not(.login-active) #app.app #nav .nav-page-count[hidden]{display:none!important}
body:not(.login-active) #app.app .userbox{margin-top:auto;border-top:1px solid var(--line);padding-top:17px}
.sidebar-version{font-size:8px!important;letter-spacing:.05em;opacity:.6;margin-top:3px}
body:not(.login-active) #app.app>main>header{background:color-mix(in srgb,var(--header) 96%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);min-height:84px;box-shadow:0 6px 20px rgba(0,0,0,.025)}
body:not(.login-active) #app.app>main>header h2{font-weight:860;letter-spacing:-.035em;font-size:21px}
body:not(.login-active) #app.app>main>header p{font-size:11px;max-width:440px}
body:not(.login-active) #app.app>main>header .ghost{border-radius:11px;min-height:38px}
.workspace-back{font-size:11px!important;white-space:nowrap;background:transparent!important;color:var(--accent)!important;border-color:var(--line)!important}
.workspace-back[hidden]{display:none!important}
body:not(.login-active) #app.app>main>section#content{padding:28px clamp(16px,2.6vw,42px) 52px;max-width:1900px;margin:0 auto;overflow:visible}
body:not(.login-active) #app.app .card,body:not(.login-active) #app.app .dash-panel,body:not(.login-active) #app.app .dash-kpi,body:not(.login-active) #app.app .order-card{border:1px solid var(--line);border-radius:18px;box-shadow:0 6px 28px rgba(0,0,0,.035)}
body:not(.login-active) #app.app .table-wrap{border:1px solid var(--line);border-radius:13px}
body:not(.login-active) #app.app .btn,body:not(.login-active) #app.app button{transition:background .16s,border-color .16s,transform .16s}
body:not(.login-active) #app.app :is(button,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* Dashboard command panel */
.control-hero{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:24px;padding:clamp(22px,3vw,38px);border-radius:24px;background:radial-gradient(ellipse at 78% 17%,rgba(248,67,92,.24),transparent 38%),linear-gradient(118deg,#202532,#171a24 54%,#211a26);border:1px solid rgba(255,255,255,.11);box-shadow:0 20px 48px rgba(0,0,0,.12);color:#fff!important;overflow:hidden}
.control-eyebrow,.ws-eyebrow{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.20em;color:#fa7a87;margin-bottom:13px}
.control-hero h2{font-size:clamp(29px,3vw,44px);font-weight:900;line-height:1.14;letter-spacing:-.045em;margin:0 0 14px;color:#fff}
.control-hero h2 em{font-style:normal;color:#ff6d7a}
.control-hero-copy>p{color:#b5bdcb;line-height:1.7;font-size:13px;max-width:480px;margin:0 0 23px}
.control-hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.control-hero-actions .hub-link{width:auto!important;min-height:57px;flex:1 1 148px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12);box-shadow:none;color:white;padding:11px 12px}
.control-hero-actions .hub-link small{color:#aeb4c3}.control-hero-actions .hub-link-arrow{display:none}.control-hero-actions .hub-link-icon{background:#71313b;color:#ff8d96}
.control-hero-actions .hub-link-count{background:rgba(255,255,255,.14);color:white}
.control-hero-side{align-self:stretch;background:rgba(6,8,13,.30);border:1px solid rgba(255,255,255,.11);border-radius:18px;padding:24px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.control-hero-side>small{font-weight:800;color:#91e3b7;letter-spacing:.12em;font-size:10px}.control-hero-side>b{font-size:21px;letter-spacing:-.03em}.control-hero-side>span{color:#abb5c4;font-size:12px}
.hero-live-pip{display:block;width:8px;height:8px;border-radius:50%;background:#64d9a2;box-shadow:0 0 0 6px rgba(84,213,154,.12)}
.hero-priority{margin-top:12px;padding-top:18px;border-top:1px solid rgba(255,255,255,.13);display:flex;flex-direction:column;gap:4px}.hero-priority strong{font-size:32px;line-height:1.1;color:#fff}.hero-priority span{font-size:11px;color:#cbd0dc}
/* Shared workspace primitives */
.ws-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px}
.ws-heading h2{font-weight:900;font-size:clamp(27px,2.8vw,38px);letter-spacing:-.05em;line-height:1.1;margin:0 0 11px}
.ws-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.7;max-width:660px}
.ws-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}
.ws-metrics>article,.ws-metrics>button{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:9px;min-height:132px;padding:22px;border:1px solid var(--line);background:var(--panel);border-radius:17px;text-align:left;color:var(--text)}
.ws-metrics>button{cursor:pointer}.ws-metrics>button:hover{border-color:var(--accent);transform:translateY(-2px)}
.ws-metrics span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.ws-metrics b{font-size:clamp(25px,2.7vw,39px);letter-spacing:-.055em;line-height:1.1;font-variant-numeric:tabular-nums}
.ws-metrics b.ws-amount{font-size:clamp(19px,2.1vw,29px);overflow-wrap:anywhere}
.ws-metrics small{color:var(--muted);font-size:11px}
.ws-panel{border:1px solid var(--line);background:var(--panel);border-radius:19px;padding:24px;margin-top:18px;min-width:0}
.ws-panel>h3,.ws-panel .ws-filter-head h3{font-size:17px;margin:0 0 7px;letter-spacing:-.03em}
.ws-filter-head{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:18px}
.ws-filter-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.ws-chip{display:inline-flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.04em;font-weight:850;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:999px;padding:7px 12px;white-space:nowrap}
.hub-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:12px;margin-top:17px}
.hub-link{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:17px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:14px;cursor:pointer;min-width:0;min-height:79px}
.hub-link:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));transform:translateY(-2px)}
.hub-link-icon{width:41px;height:41px;flex:0 0 41px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--accent) 13%,var(--panel));color:var(--accent);font-size:20px;font-weight:900}
.hub-link-text{display:grid;gap:3px;flex:1;min-width:0}.hub-link-text b{font-size:12px;line-height:1.3}.hub-link-text small{font-size:10px;color:var(--muted);line-height:1.4}
.hub-link-arrow{color:var(--muted);font-size:15px}.hub-link-count{background:var(--panel);border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;color:var(--accent)}
.ws-filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:15px}
.ws-filters select{min-height:44px;padding:10px 13px;background:var(--field);color:var(--text);border:1px solid var(--line);border-radius:10px;max-width:100%;min-width:140px}
.ws-search{display:flex;align-items:center;gap:9px;flex:1 1 270px;background:var(--field);border:1px solid var(--line);border-radius:10px;padding:0 13px;min-width:0;color:var(--muted)}
.ws-search input{background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;min-height:44px;width:100%;min-width:0;color:var(--text);font-size:12px}
.ws-data-table{min-width:780px;width:100%;border-collapse:collapse}
.ws-data-table th{font-weight:900;letter-spacing:.11em;font-size:9px;background:var(--panel2);padding:14px 13px;white-space:nowrap;text-align:left}
.ws-data-table td{padding:15px 13px;font-size:12px;vertical-align:middle;line-height:1.5;border-bottom:1px solid var(--line)}
.ws-data-table tr:last-child td{border-bottom:0}.ws-data-table b{font-weight:850}
.ws-table-sub{display:block;font-size:10px;color:var(--muted);margin-top:4px}
.ws-order-items{min-width:140px;max-width:270px;white-space:normal;overflow-wrap:anywhere;color:var(--muted)}
.ws-status{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:7px;font-weight:900;font-size:9px;letter-spacing:.07em;white-space:nowrap}
.ws-warning{background:rgba(251,174,71,.14);color:#f8b25a}.ws-progress{background:rgba(74,160,246,.14);color:#63b6f5}.ws-done{background:rgba(78,195,139,.14);color:#62d4a1}.ws-muted{background:var(--panel2);color:var(--muted)}
.ws-order-row[hidden]{display:none!important}.ws-empty-state{padding:34px 18px;text-align:center;font-size:12px;color:var(--muted)}.ws-empty-state[hidden]{display:none!important}
.discord-health-inline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 17px;padding:16px 21px;border:1px solid var(--line);background:var(--panel);border-radius:13px;font-size:12px;color:var(--text)}
.discord-health-inline b{display:block;margin-bottom:6px}.discord-health-inline small{display:block;color:var(--muted);line-height:1.6}
/* Add space without losing the existing table functionality */
body:not(.login-active) #app.app .dash-wrap{max-width:1680px;gap:19px}
body:not(.login-active) #app.app .dash-intro h2{font-weight:900;letter-spacing:-.03em}
@media(min-width:951px){
  body:not(.login-active) #app.app:not(.hidden)>aside#sidebar{width:260px!important}
  body:not(.login-active) #app.app:not(.hidden)>main{margin-left:260px!important;width:calc(100% - 260px)!important}
}
@media(min-width:761px) and (max-width:950px){
  body:not(.login-active) #app.app>aside#sidebar{padding:17px 7px}
  body:not(.login-active) #app.app #nav .nav-section-items{margin:0;padding:2px 0;border:0}
  body:not(.login-active) #app.app #nav .nav-page{justify-content:center;padding:11px 6px}
  body:not(.login-active) #app.app #nav .nav-page-count,body:not(.login-active) #app.app #nav .nav-page-label{display:none!important}
}
@media(max-width:1150px){.ws-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.control-hero{grid-template-columns:1fr}.control-hero-side{display:none}}
@media(max-width:760px){
  body:not(.login-active) #app.app>main>section#content{padding:17px 12px 34px;overflow:hidden}
  body:not(.login-active) #app.app>main>header{min-height:66px}
  body:not(.login-active) #app.app #nav .nav-section-items{margin:0 0 4px 7px;padding:4px 0 5px 9px}
  body:not(.login-active) #app.app #nav .nav-page-label{display:block!important}
  body:not(.login-active) #app.app #nav .nav-page-count{display:inline-flex}
  .control-hero{border-radius:18px;padding:23px 17px}.control-hero-actions{flex-direction:column}.control-hero-actions .hub-link{width:100%!important;flex:auto}
  .ws-heading{flex-direction:column;align-items:stretch}.ws-heading>.hub-link{width:100%}
  .ws-panel{padding:18px 13px;border-radius:15px}
  .ws-metrics{gap:9px}.ws-metrics>article,.ws-metrics>button{padding:16px 13px;min-height:120px}.ws-metrics b{font-size:26px}
  .ws-filters{display:grid;grid-template-columns:1fr}.ws-filters select,.ws-search{width:100%}
  .hub-links-grid{grid-template-columns:1fr}
}
@media(max-width:440px){.ws-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ws-metrics b.ws-amount{font-size:17px}.control-hero h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.hub-link,.ws-metrics>button,body:not(.login-active) #app.app button{transition:none!important}}
/* Preserved deep order screens: optional, secondary links beneath unified filters. */
.ws-direct-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 16px}
.ws-direct-tools>span{font-size:10px;color:var(--muted);font-weight:750;margin-right:2px}
.ws-direct-tools .hub-link{min-height:34px;width:auto;flex:none;border-radius:9px;padding:7px 11px;gap:8px}
.ws-direct-tools .hub-link-icon,.ws-direct-tools .hub-link-text small,.ws-direct-tools .hub-link-arrow,.ws-direct-tools .hub-link-count{display:none}
.ws-direct-tools .hub-link-text b{font-size:10px}
@media(max-width:600px){.ws-direct-tools>span{width:100%}}

/* V10.19.1 — accessible mobile sidebar close + productivity tools. */
.mobile-sidebar-close,.mobile-sidebar-tools{display:none}
@media(max-width:760px){
  #app.app>aside#sidebar{padding-top:max(20px,env(safe-area-inset-top))}
  #app.app .mobile-sidebar-close{display:grid;place-items:center;position:absolute;top:15px;right:14px;z-index:3;width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);color:var(--text);font-size:24px;cursor:pointer}
  #app.app>aside#sidebar .brand{padding-right:44px}
  #app.app .mobile-sidebar-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 4px 12px}
  #app.app .mobile-sidebar-tools button{border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);font-size:11px;font-weight:700;min-height:39px;padding:5px 2px;cursor:pointer}
  #app.app .mobile-sidebar-tools button:focus-visible,#app.app .mobile-sidebar-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
}

/* V10.19.1 — dashboard controls and long record IDs stay inside cards. */
#app .dash-alert-click,#app .dash-row-click{background:transparent;border:0;color:inherit;box-shadow:none}
#app .dash-alert-click{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;line-height:1.5}
#app .dash-alert-click b{float:none;flex-shrink:0}
#app .dash-top-row{min-width:0;max-width:100%;border-bottom:1px solid var(--line)}
#app .dash-top-row>div{min-width:0;overflow-wrap:anywhere}
#app .dash-activity>div{grid-template-columns:70px minmax(0,1fr) auto;min-width:0;max-width:100%;overflow:hidden}
#app .dash-activity b{min-width:0;overflow-wrap:anywhere;word-break:break-word}
#app .dash-activity small{white-space:normal;overflow-wrap:anywhere;text-align:right}
@media(max-width:760px){#app .dash-activity>div{grid-template-columns:58px minmax(0,1fr)}#app .dash-activity small{text-align:left}}

/* V10.20.1 — keep the white DSR mark visible in light mode. */
body[data-theme=light] .sidebar-dsr-logo{background:#17191d;border-radius:8px;padding:3px}

/* V10.20.3 — weekly reset schedule, editable only by Owner/Admin. */
.weekly-reset-panel{padding:22px;margin:0 0 28px;border:1px solid #434957;border-radius:14px;background:linear-gradient(130deg,#20242e,#151820 75%)}
.weekly-reset-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.weekly-reset-heading h3{margin:6px 0 8px;font-size:20px}
.weekly-reset-heading p{color:var(--muted);font-size:13px;line-height:1.6;margin:0;max-width:700px}
.weekly-reset-pill{font-size:11px;font-weight:800;color:var(--accent);border:1px solid var(--line);border-radius:999px;padding:7px 11px;white-space:nowrap}
.weekly-reset-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.weekly-reset-dates>div{padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:9px}
.weekly-reset-dates small,.weekly-reset-dates b{display:block}
.weekly-reset-dates small{color:var(--muted);margin-bottom:6px;font-size:11px}
.weekly-reset-dates b{font-size:13px;line-height:1.5}
.weekly-reset-controls{display:grid;grid-template-columns:1fr 1fr minmax(160px,1.3fr) auto;gap:12px;align-items:end}
.weekly-reset-controls label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted)}
.weekly-reset-controls input,.weekly-reset-controls select{width:100%;min-height:43px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--text);color-scheme:dark}
.weekly-reset-controls button{margin:0;min-height:43px;padding:10px 16px;width:auto;white-space:nowrap}
.weekly-reset-warning{display:block;color:var(--muted);margin-top:12px;line-height:1.5;font-size:11px}
@media(max-width:900px){.weekly-reset-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-reset-controls button{width:100%}}
@media(max-width:550px){.weekly-reset-heading{flex-direction:column}.weekly-reset-dates,.weekly-reset-controls{grid-template-columns:1fr}}

/* V10.20.4 — weapon attachment picker and management */
.attach-product-hint{font-size:11px;color:var(--muted);border:1px dashed var(--line);padding:7px 8px;border-radius:7px;background:var(--panel2)}
.attach-picker{display:grid;gap:15px;max-height:75vh;overflow-y:auto;padding:3px}
.attach-picker-intro{display:grid;gap:5px;padding:14px;background:var(--panel2);border:1px solid var(--line);border-radius:12px}
.attach-picker-intro b{font-size:18px}.attach-picker-intro small{color:var(--muted);line-height:1.5}
.attach-selected-count{display:inline-flex;width:max-content;max-width:100%;padding:5px 10px;border-radius:999px;background:rgba(240,72,90,.12);border:1px solid rgba(240,72,90,.28);color:var(--accent);font-size:12px;font-weight:800}
.attach-slot{min-width:0;display:grid;gap:8px;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel)}
.attach-slot legend{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:0 8px;color:var(--text)}
.attach-option{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);cursor:pointer}
.attach-option:has(input:checked){border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}
.attach-option input{flex:none;accent-color:var(--accent);width:17px;height:17px}
.attach-option span{flex:1;min-width:0;display:grid;gap:4px}.attach-option b{font-size:13px}.attach-option small{color:var(--muted);font-size:11px;line-height:1.4}
.attach-option strong{white-space:nowrap;color:var(--accent);font-size:13px}.attach-option.unavailable{opacity:.55;cursor:not-allowed}
.attach-option .attach-availability{color:#8fcb79}.attach-option.unavailable .attach-availability{color:#e9a08f}
.attach-picker-footer{position:sticky;bottom:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px}
.attach-picker-footer>div{display:grid;gap:4px}.attach-picker-footer small{color:var(--muted);font-size:11px}.attach-picker-footer strong{font-size:21px;color:var(--accent)}
.attach-picker-footer .primary{width:auto;min-width:180px;margin:0}
.attach-cart-list{display:block;line-height:1.5;color:var(--accent)!important;max-width:240px}
.attach-order-detail{border:1px solid var(--line);border-radius:9px;padding:12px;margin-top:10px;background:var(--panel2);display:grid;gap:8px}
.attach-order-detail>b{font-size:13px}.attach-order-detail>div{display:flex;gap:12px;justify-content:space-between;font-size:12px}.attach-order-detail strong{white-space:nowrap;color:var(--accent)}
.attach-order-detail>small{color:var(--muted)}
.attach-admin{margin-bottom:20px}.attach-admin-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:16px}.attach-admin-heading h2{margin:4px 0 8px}.attach-admin-heading p{color:var(--muted);max-width:680px;font-size:13px;line-height:1.5}
.attach-admin-heading>.primary{width:auto;white-space:nowrap;padding:12px 16px}.attach-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.attach-stats>div{display:grid;gap:8px;padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--panel2)}.attach-stats small{color:var(--muted)}.attach-stats b{font-size:23px}
.attach-low{color:#ffb36b;font-weight:700}.attach-weapon-select{display:grid;gap:7px;max-width:380px;margin-bottom:18px;color:var(--muted);font-size:12px}
.attach-weapon-select select{padding:11px;background:var(--field,var(--panel2));color:var(--text);border:1px solid var(--line);border-radius:9px}
.attach-compat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:12px;margin-bottom:18px}
.attach-compat-slot{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel2)}.attach-compat-slot h3{font-size:13px;margin:0 0 12px}
.attach-compat-option{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:12px;cursor:pointer}.attach-compat-option input{accent-color:var(--accent)}.attach-compat-option span{display:grid;gap:3px}.attach-compat-option small{font-size:11px;color:var(--muted)}
@media(max-width:600px){.attach-admin-heading{flex-direction:column}.attach-admin-heading>.primary{width:100%}.attach-stats{grid-template-columns:1fr 1fr}.attach-picker-footer{flex-direction:column;align-items:stretch}.attach-picker-footer .primary{width:100%}.attach-option{flex-wrap:wrap}.attach-option strong{margin-left:29px}}

.attach-option-image{width:62px;height:54px;object-fit:contain;flex:none;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.attach-admin-name{display:flex;gap:9px;align-items:center;min-width:180px}.attach-admin-name img,.attach-admin-name>span{width:48px;height:44px;object-fit:contain;background:var(--panel2);border-radius:7px;display:grid;place-items:center;font-size:21px}.attach-admin-name small{max-width:220px;color:var(--muted)}


/* V10.20.6 — sales funds routing, independent Uang Belanjaan ledger */
.fund-destination-panel{margin:14px 0;border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--panel2)}
.fund-destination-panel h3,.shopping-cash-card h3{margin-top:0}
.fund-destination-panel p,.shopping-cash-card p{color:var(--muted);font-size:12px;line-height:1.6}
.fund-destination-panel label{display:grid;gap:8px;font-size:12px;font-weight:650;max-width:560px}
.fund-destination-panel select{padding:11px;width:100%;min-width:0}
.shopping-cash-card{border-left:3px solid var(--accent)}
.shopping-cash-card .form-grid{grid-template-columns:1fr 1fr 2fr;align-items:end}
.shopping-cash-card .primary{width:auto;min-width:230px;max-width:100%;margin-top:15px}
@media(max-width:800px){.shopping-cash-card .form-grid{grid-template-columns:1fr}.shopping-cash-card .primary{width:100%}}

/* V10.20.7 — attachment products can be purchased without a weapon. */
.attach-standalone-note {
  border: 1px solid rgba(255,91,113,.28);
  border-radius: 9px;
  padding: 9px 10px;
  margin: 10px 0 6px;
  color: #ffb3bf;
  background: rgba(230,63,84,.08);
  font-size: 12px;
  font-weight: 700;
}
.attach-standalone-desc {
  margin: 5px 0 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

/* V10.20.8 Supplier & weekly recap */
.supplier-panel{margin-top:20px}
.supplier-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.supplier-head h2{margin:0 0 6px}
.supplier-head p{margin:0;max-width:800px}
.supplier-controls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:18px 0}
.supplier-controls label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted,#aeb4c4)}
.supplier-controls input,.supplier-controls select{min-height:41px;min-width:170px;background:var(--input-bg,#232936);color:inherit;border:1px solid var(--border,#38404d);border-radius:9px;padding:8px 12px}
.supplier-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0}
.supplier-metrics article{border:1px solid var(--border,#353b49);background:rgba(135,145,166,.075);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}
.supplier-metrics article small{color:var(--muted,#aeb4c4)}
.supplier-metrics article b{font-size:24px;overflow-wrap:anywhere}
.supplier-period{margin:10px 0 18px}
.supplier-group{border:1px solid var(--border,#353b49);border-radius:12px;overflow:hidden;margin:14px 0}
.supplier-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;background:rgba(140,150,175,.08)}
.supplier-group-head h3{margin:0;font-size:17px}
.supplier-group-head div{font-size:13px;color:var(--muted,#aeb4c4)}
.supplier-assignment-row input{width:100%;min-width:170px;max-width:310px;min-height:36px;border-radius:8px;border:1px solid var(--border,#353b49);background:var(--input-bg,#232936);color:inherit;padding:7px 10px}
@media(max-width:820px){.supplier-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-group-head{align-items:flex-start;flex-direction:column}.supplier-controls label{flex:1 1 150px}.supplier-controls input,.supplier-controls select{width:100%;min-width:0}}
@media(max-width:480px){.supplier-metrics{grid-template-columns:1fr 1fr}.supplier-metrics article{padding:10px}.supplier-metrics article b{font-size:19px}}

/* V10.20.9 — procurement checklist */
.supplier-group-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px}
.supplier-group-head .supplier-group-actions{font-size:13px}
.supplier-status{display:inline-block;font-weight:700;border-radius:8px;padding:5px 8px;font-size:12px;white-space:nowrap}
.supplier-status.done{color:#86efac;background:rgba(22,163,74,.15)}
.supplier-status.pending{color:#fbbf24;background:rgba(245,158,11,.12)}
.supplier-status.changed{color:#fda4af;background:rgba(244,63,94,.15)}
.supplier-completed-by{display:block;color:var(--muted,#aeb4c4);font-size:11px;margin-top:5px}
.supplier-item-done{background:rgba(34,197,94,.035)}
.supplier-progress{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.supplier-group td:last-child button{white-space:nowrap}

/* V10.20.9 — physical money custody */
.custody-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:15px 0}
.custody-summary article{background:rgba(135,145,166,.075);border:1px solid var(--border,#353b49);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:6px}
.custody-summary small,.custody-staff-list small{color:var(--muted,#aeb4c4)}
.custody-summary b{font-size:21px}
.custody-staff-list{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 22px}
.custody-staff-list>div{min-width:180px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;background:rgba(135,145,166,.065);border-radius:10px;border:1px solid var(--border,#353b49)}
.custody-staff-list span{display:flex;flex-direction:column;gap:3px}
.custody-tx{display:block;color:var(--muted,#aeb4c4);font-size:11px;margin-top:4px}
.custody-history{margin-top:18px}
.custody-history summary{cursor:pointer;font-weight:600;margin-bottom:12px}
@media(max-width:600px){.custody-summary{grid-template-columns:1fr}.custody-staff-list>div{flex:1 1 100%}}

/* V10.20.10 — focused supplier queue with finished orders in a separate history. */
.supplier-main-panel{padding:22px}
.supplier-simple-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:9px;margin-bottom:14px}
.supplier-simple-controls label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted,#aeb4c4)}
.supplier-simple-controls input,.supplier-advanced select{min-height:39px;border-radius:9px;border:1px solid var(--border,#38404d);background:var(--input-bg,#232936);color:inherit;padding:7px 11px}
.supplier-simple-controls .btn{min-height:39px}
.supplier-advanced{border-bottom:1px solid var(--border,#353b49);padding-bottom:10px;margin-bottom:15px}
.supplier-advanced summary{cursor:pointer;color:var(--muted,#aeb4c4);font-size:13px;padding:5px 0}
.supplier-advanced label{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:12px 0 5px;font-size:13px}
.supplier-advanced p{font-size:12px;margin:8px 0 0}
.supplier-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.supplier-mini-stats article{display:flex;flex-direction:column;gap:6px;background:rgba(135,145,166,.07);border:1px solid var(--border,#353b49);padding:13px 16px;border-radius:11px}
.supplier-mini-stats small{font-size:12px;color:var(--muted,#aeb4c4)}
.supplier-mini-stats strong{font-size:21px}
.supplier-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0 12px}
.supplier-section-heading h3{font-size:19px;margin:0 0 4px}
.supplier-section-heading p{font-size:13px;margin:0}
.supplier-simple-group{border:1px solid var(--border,#353b49);border-radius:12px;overflow:hidden;margin-bottom:12px}
.supplier-simple-group-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:rgba(135,145,166,.08)}
.supplier-simple-group-head>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.supplier-simple-group-head strong{font-size:16px}
.supplier-simple-group-head small{color:var(--muted,#aeb4c4);font-size:12px}
.supplier-compact-table{margin:0}
.supplier-compact-table th:nth-child(2),.supplier-compact-table td:nth-child(2){width:100px;text-align:center}
.supplier-compact-table th:last-child,.supplier-compact-table td:last-child{width:130px;text-align:right}
.supplier-compact-table td{padding:12px 16px}
.supplier-compact-table td .btn{white-space:nowrap}
.supplier-changed-note{display:block;color:#fda4af;font-size:12px;margin-top:4px}
.supplier-history-section{margin-top:25px;border-top:1px solid var(--border,#353b49);padding-top:6px}
.supplier-history-table td{vertical-align:middle}
.supplier-history-table td small{display:block;font-size:12px;margin-top:5px}
.supplier-history-table td:last-child{min-width:145px}
.supplier-reopen-btn{display:block;margin-top:6px;font-size:12px;padding:6px 10px}
.supplier-history-more{display:block;margin:13px auto 0}
.supplier-empty-done,.supplier-empty-history{padding:26px 14px;border:1px dashed var(--border,#353b49);border-radius:11px;text-align:center;color:var(--muted,#aeb4c4);background:rgba(135,145,166,.035)}
.supplier-empty-done{color:#86efac}
.supplier-legacy-note,.supplier-cost-note{font-size:12px;margin:15px 0 0}
.supplier-assignments{margin-top:18px;padding:0;overflow:hidden}
.supplier-assignments>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;cursor:pointer;list-style:none}
.supplier-assignments>summary::-webkit-details-marker{display:none}
.supplier-assignments>summary b{font-size:17px}
.supplier-assignments>summary small{display:block;margin-top:5px;font-size:12px}
.supplier-assignments[open]>summary{border-bottom:1px solid var(--border,#353b49)}
.supplier-assignments-body{padding:16px}
@media(max-width:650px){.supplier-main-panel{padding:14px}.supplier-mini-stats{gap:6px}.supplier-mini-stats article{padding:10px}.supplier-mini-stats strong{font-size:16px}.supplier-simple-controls label{flex:1}.supplier-simple-controls input{width:100%;min-width:0}.supplier-simple-group-head{flex-wrap:wrap}.supplier-compact-table td{padding:10px}.supplier-history-table th,.supplier-history-table td{padding:10px 8px}.supplier-history-table th:nth-child(3),.supplier-history-table td:nth-child(3){min-width:120px}.supplier-assignments>summary{padding:14px}}
