:root{--navy:#0b2442;--blue:#1760aa;--gold:#c7a34b;--red:#b63a4b;--bg:#f4f7fb;--card:#fff;--text:#172234;--muted:#6e7b8d;--line:#e3e9f1;--green:#17845b;--shadow:0 10px 30px rgba(12,36,66,.07)}*{box-sizing:border-box}body{margin:0;font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#0b294b,#081d35);color:#fff;padding:22px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 5px 22px;border-bottom:1px solid rgba(255,255,255,.1)}.brand img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}.brand b{display:block;font-size:13px;letter-spacing:.8px}.brand small{color:#afbdd0}.sidebar nav{padding-top:20px;display:grid;gap:6px}.sidebar nav a{color:#c8d3df;padding:11px 13px;border-radius:10px;display:flex;gap:12px;align-items:center;font-weight:600}.sidebar nav a span{font-size:18px;width:22px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 3px 0 var(--gold)}.sidebar-user{margin-top:auto;padding:15px 10px;border-top:1px solid rgba(255,255,255,.1);display:grid}.sidebar-user small{color:var(--gold);text-transform:uppercase;font-size:10px}.sidebar-user a{margin-top:7px;color:#bdc8d5;font-size:12px}.main{min-width:0}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 30px;gap:15px;position:sticky;top:0;z-index:10}.topbar h1{margin:0;font-size:21px}.topbar small{color:var(--muted)}.top-user{margin-left:auto;background:#edf4fb;color:var(--navy);padding:9px 14px;border-radius:30px;font-weight:700}.menu-toggle{display:none;background:none;border:0;font-size:22px}.content{padding:28px;max-width:1500px;margin:auto}.alert{padding:12px 15px;border-radius:10px;margin-bottom:18px}.alert.success{background:#eaf8f2;color:#116b4a}.alert.error{background:#fff0f2;color:#9b2838}.filters,.brand-row{display:flex;gap:8px;margin-bottom:18px;overflow:auto}.chip{border:1px solid var(--line);background:#fff;border-radius:20px;padding:8px 14px;color:var(--muted);white-space:nowrap;cursor:pointer}.chip.active,.chip:hover{background:var(--navy);border-color:var(--navy);color:#fff}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat,.card{background:var(--card);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.stat{padding:21px;border-top:3px solid var(--blue)}.stat:nth-child(3){border-top-color:var(--gold)}.stat span,.stat small{display:block;color:var(--muted)}.stat strong{font-size:23px;display:block;margin:7px 0}.two-col{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;margin-bottom:18px}.card{padding:20px;margin-bottom:18px}.card-head,.page-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.card h2{margin:0;font-size:17px}.eyebrow{font-size:10px;letter-spacing:1.5px;color:var(--gold);font-weight:800;margin:0 0 4px}.muted{color:var(--muted)}.insights{display:grid;gap:12px}.insights>div{display:flex;align-items:center;gap:12px;padding:11px;background:#f8fafc;border-radius:10px}.insights i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-style:normal;color:#fff}.insights i.blue{background:var(--blue)}.insights i.gold{background:var(--gold)}.insights i.navy{background:var(--navy)}.insights span,.insights small{display:block}.insights small{color:var(--muted)}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid a{border:1px solid var(--line);padding:18px 10px;border-radius:12px;text-align:center;color:var(--text)}.quick-grid b{display:block;font-size:23px;color:var(--blue)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:10px;border-bottom:1px solid var(--line)}td{padding:13px 10px;border-bottom:1px solid var(--line)}td small,td b{display:block}.badge{display:inline-block;padding:5px 9px;border-radius:20px;font-size:10px;font-weight:800}.badge.success{background:#e8f7f0;color:var(--green)}.badge.warning{background:#fff5df;color:#946414}.empty{text-align:center;color:var(--muted);padding:30px}.btn{border:0;border-radius:10px;padding:10px 16px;font-weight:700;cursor:pointer;display:inline-block;text-align:center}.btn.primary{background:var(--blue);color:#fff}.btn.secondary{background:#fff;border:1px solid var(--line);color:var(--navy)}.btn.full{width:100%}.search{display:flex;gap:8px;flex:1;max-width:500px}.search input{flex:1}label{display:grid;gap:6px;color:#526073;font-size:12px;font-weight:700;margin-bottom:13px}input,select,textarea{width:100%;border:1px solid #d8e0ea;border-radius:9px;padding:10px 12px;background:#fff;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,96,170,.1)}textarea{min-height:75px;resize:vertical}dialog{border:0;border-radius:16px;padding:0;box-shadow:0 25px 70px rgba(0,0,0,.25);width:min(650px,94vw)}dialog::backdrop{background:rgba(6,20,38,.65)}.modal-form{padding:22px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-head h2{margin:0}.modal-head button{border:0;background:none;font-size:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.hidden{display:none}.auth-body{background:radial-gradient(circle at 70% 15%,#183f69,#071a30 55%);min-height:100vh}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:25px}.auth-card{width:min(420px,100%);background:#fff;padding:34px;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.3);text-align:center}.auth-card.wide{width:min(500px,100%)}.auth-logo{width:105px;height:105px;object-fit:cover;border-radius:50%;box-shadow:0 9px 25px rgba(11,36,66,.2);margin-bottom:10px}.auth-card h1{margin:2px 0}.auth-card form{text-align:left;margin-top:22px}.auth-help{display:block;margin-top:18px;color:var(--muted)}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;align-items:start}.pos-catalog,.cart-panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px}.pos-search input{font-size:16px;padding:13px;margin-bottom:14px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.product-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px;text-align:left;cursor:pointer;min-width:0}.product-card:hover{border-color:var(--blue);box-shadow:var(--shadow);transform:translateY(-1px)}.product-card:disabled{opacity:.45;cursor:not-allowed}.product-icon{width:42px;height:42px;background:#edf4fb;color:var(--blue);border-radius:12px;display:grid;place-items:center;font-weight:900;margin-bottom:10px}.product-card span,.product-card b,.product-card small,.product-card strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-brand{font-size:10px;color:var(--gold);font-weight:800}.product-card small{color:var(--muted);margin:4px 0}.product-card strong{color:var(--blue)}.cart-panel{position:sticky;top:100px}.cart-panel h2{margin-top:0}.cart-items{min-height:150px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:15px 0}.cart-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}.cart-item small{display:block;color:var(--muted)}.cart-item button{border:0;background:#fff0f2;color:var(--red);border-radius:7px}.totals>div{display:flex;justify-content:space-between;font-size:17px;padding:8px 0}.totals>div strong{font-size:23px;color:var(--navy)}.btn.pay{background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;padding:14px}.btn:disabled{opacity:.45}.filters-form{justify-content:flex-start}.filters-form label{margin:0}.narrow{max-width:700px}.total-row{font-weight:900;background:#f7f9fc}.empty-state{text-align:center;padding:50px}.big-icon{width:55px;height:55px;background:#fff0f2;color:var(--red);border-radius:50%;display:grid;place-items:center;margin:auto;font-size:28px;font-weight:900}
@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,1fr)}.stat-grid{grid-template-columns:1fr 1fr}}@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:30;transform:translateX(-105%);transition:.2s;width:250px}.sidebar.open{transform:translateX(0)}.menu-toggle{display:block}.content{padding:16px}.topbar{padding:0 16px}.pos-layout{grid-template-columns:1fr}.cart-panel{position:static}.product-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.top-user{display:none}}@media(max-width:520px){.stat-grid{grid-template-columns:1fr}.page-actions{align-items:stretch;flex-direction:column}.search{width:100%}.form-grid{grid-template-columns:1fr}.auth-card{padding:25px}.product-card{padding:10px}.quick-grid{grid-template-columns:1fr 1fr}}
.product-photo{width:100%;height:112px;object-fit:contain;background:linear-gradient(145deg,#f7f9fc,#edf2f8);border-radius:10px;margin-bottom:9px}.product-name-cell{display:flex;align-items:center;gap:10px}.product-name-cell img,.mini-placeholder{width:42px;height:42px;border-radius:9px;object-fit:contain;background:#f1f5f9}.mini-placeholder{display:grid;place-items:center;color:var(--blue);font-weight:900}.version-banner{background:linear-gradient(135deg,var(--navy),#164f82);color:#fff;border-radius:17px;padding:24px 28px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow)}.version-banner h2{margin:3px 0}.version-banner p{margin:0}.version-pill{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:8px 13px;border-radius:20px}.btn.gold{background:var(--gold);color:#fff}.update-note,.demo-credentials{margin-top:15px;background:#f6f8fb;border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--muted)}.demo-credentials{display:grid;gap:3px}.demo-credentials code{font-size:18px;color:var(--navy);font-weight:900}.demo-done{padding:15px;background:#eaf8f2;color:var(--green);border-radius:10px;font-weight:800}.account-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.account-grid>div{padding:13px;border:1px solid var(--line);border-radius:10px;display:grid}.account-grid span{font-size:10px;color:var(--gold);font-weight:900}.warning-text{color:#9a5f00;background:#fff6df;padding:11px;border-radius:9px;margin:15px 0 0}@media(max-width:620px){.account-grid{grid-template-columns:1fr}.version-banner{align-items:flex-start;gap:14px;flex-direction:column}}
.customer-picker{position:relative}.autocomplete-results{position:absolute;z-index:20;top:67px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 15px 35px rgba(0,0,0,.14);max-height:280px;overflow:auto;padding:5px}.autocomplete-results button{display:flex;width:100%;justify-content:space-between;text-align:left;border:0;background:#fff;padding:10px;border-radius:8px}.autocomplete-results button:hover{background:#eef5fb}.autocomplete-results small{color:var(--muted)}.no-result{padding:14px;color:var(--muted)}.selected-customer{display:flex;justify-content:space-between;align-items:center;background:#edf7f2;border:1px solid #c8e8da;border-radius:10px;padding:10px 12px;margin-bottom:12px}.selected-customer span,.selected-customer small{display:block}.selected-customer button{border:0;background:none;color:var(--blue);font-weight:700}.quick-row{display:flex;gap:6px;flex-wrap:wrap;margin:-5px 0 12px}.quick-row button{border:1px solid #ccd8e5;background:#f7f9fc;color:var(--navy);padding:7px 9px;border-radius:8px;font-size:11px;font-weight:800;cursor:pointer}.quick-row button:hover{background:#e7f0f9;border-color:var(--blue)}.limit-note{display:block;margin:-7px 0 13px;color:var(--muted)}.grand-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:13px}.payment-panel{background:#f7f9fc;border:1px solid var(--line);padding:12px;border-radius:11px;text-align:center;margin-bottom:13px}.payment-panel img{width:min(210px,100%);max-height:230px;object-fit:contain;display:block;margin:0 auto 8px}.payment-panel b,.payment-panel small{display:block}.bank-account{background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px;margin:6px 0;text-align:left;display:grid}.bank-account span{font-size:10px;font-weight:900;color:var(--gold)}.bank-account b{font-size:17px;color:var(--navy)}.change-preview{display:flex;justify-content:space-between;background:#eef7f3;padding:10px 12px;border-radius:9px;margin-bottom:12px;color:var(--green)}.stock-empty{color:var(--red)!important;font-weight:800}.warning-toast{position:fixed;right:22px;bottom:22px;z-index:60;width:min(390px,calc(100vw - 30px));background:#fff7df;border:1px solid #e8c56b;border-left:5px solid var(--gold);border-radius:12px;padding:13px;box-shadow:0 18px 40px rgba(0,0,0,.17);display:grid;gap:5px}.warning-toast button{justify-self:end;border:0;background:none;color:#8d6210;font-weight:800}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.switch-row{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:10px;padding:12px}.switch-row span,.switch-row small{display:block}.switch-row input{width:22px;height:22px}.qris-preview{display:block;width:min(230px,100%);max-height:250px;object-fit:contain;margin:0 auto 14px;border:1px solid var(--line);padding:8px;border-radius:12px}.settings-save{position:sticky;bottom:18px;display:block;margin-left:auto;box-shadow:0 9px 25px rgba(23,96,170,.3)}@media(max-width:820px){.settings-grid{grid-template-columns:1fr}.warning-toast{right:15px;bottom:15px}}
.hidden{display:none!important}
