:root{--g:#00a859;--g2:#28a745;--ink:#17362a;--muted:#708078;--bg:#f4f8f5;--line:#dce8e0;--danger:#c62828}
*{box-sizing:border-box}.sipos-app{max-width:1220px;margin:18px auto;padding:12px;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);min-height:90vh}.top{padding:22px 4px}.eyebrow{color:var(--g);font-weight:900;font-size:12px;letter-spacing:2px}.top h1{margin:4px 0;font-size:32px}.top p{margin:4px 0;color:var(--muted)}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin:14px 0;box-shadow:0 8px 25px #17362a0b}.card-lite{background:#f8fbf9;border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:15px}.card-title{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:850;margin-bottom:12px}.card-title a{color:var(--g);text-decoration:none;font-size:13px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px}.kpi span{display:block;color:var(--muted);font-size:13px}.kpi b{display:block;font-size:25px;margin-top:6px}.dash-grid,.pos-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.input,.small-input{border:1px solid #cbdad1;border-radius:10px;padding:12px;background:#fff;color:var(--ink);font-size:15px;width:100%}.input:focus{outline:2px solid #00a8592e;border-color:var(--g)}.big{font-size:18px;padding:15px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.btn{border:0;border-radius:10px;padding:12px 17px;background:linear-gradient(135deg,var(--g),var(--g2));color:#fff;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center}.btn.secondary{background:#e9f0ec;color:var(--ink)!important}.btn.whatsapp{background:#1c9d54}.btn.danger{background:var(--danger)}.wide{width:100%}.form-actions{display:flex;gap:10px;align-items:center;margin-top:12px}.search-item{display:flex;width:100%;justify-content:space-between;text-align:left;border:1px solid var(--line);border-top:0;background:#fff;padding:13px;cursor:pointer}.search-item span{color:var(--muted);font-size:13px}.cart-row{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.cart-row small{display:block;color:var(--muted)}.qty,.remove{border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 9px;cursor:pointer}.remove{color:var(--danger)}.totals label{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.small-input{width:135px;padding:8px}.grand{border-top:2px solid var(--line);font-size:21px;font-weight:900;margin-top:5px;padding-top:13px}.receipt-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.calc-grid{display:grid;grid-template-columns:1fr 65px 1fr;gap:8px;align-items:center}.calc-result{font-size:22px;font-weight:900;text-align:center}.stock-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.stock-row small{display:block;color:var(--muted)}.badge{background:#fff0c5;color:#725500;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:900}.mini-edit,.mini-dup,.mini-del,.text-btn{border:0;background:none;color:var(--g);cursor:pointer;font-weight:800}.mini-del{color:var(--danger)}.mini-edit{color:var(--g)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.lock{background:#fff7e6;border:1px solid #efd28c;border-radius:13px;padding:15px;margin-bottom:15px}.success{color:#167b42;padding:8px 0}.error{color:#b72b2b;padding:8px 0}.empty{padding:14px;color:var(--muted)}.auth{max-width:520px;margin:45px auto}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:18px}.tabs button{flex:1;border:0;background:none;padding:12px;font-weight:800;color:var(--muted);cursor:pointer}.tabs button.active{color:var(--g);border-bottom:2px solid var(--g)}.auth-form{display:grid;gap:11px}
@media(max-width:820px){.kpis{grid-template-columns:repeat(2,1fr)}.dash-grid,.pos-grid{grid-template-columns:1fr}}@media(max-width:520px){.sipos-app{padding:8px}.top h1{font-size:25px}.kpis,.form-grid{grid-template-columns:1fr}.card{padding:14px}.cart-row{grid-template-columns:1fr auto}.cart-row>b:nth-child(3){grid-column:2}.remove{grid-column:2}.form-actions,.receipt-actions{grid-template-columns:1fr;display:grid}.calc-grid{grid-template-columns:1fr 55px 1fr}}


/* Subscription & payment center */
.lock{border:1px solid #cfe8d8;background:linear-gradient(180deg,#f8fffb,#ffffff);border-radius:18px;padding:22px;margin:18px 0;text-align:center}
.lock h3{margin:4px 0 8px;font-size:24px}.lock p{margin:0 auto 14px;max-width:620px;color:#5d6b64}
.pay-icon{font-size:38px}.price-box{display:flex;align-items:center;justify-content:center;gap:14px;margin:15px auto;padding:12px 18px;background:#fff;border:1px solid #d8eee0;border-radius:14px;max-width:360px}.price-box strong{font-size:24px;color:#00a859}.pay-details{padding:12px;border-radius:12px;background:#f0fff5;margin:12px auto;max-width:430px;line-height:1.7}.payment-box{max-width:560px;margin:16px auto 0;padding:16px;border:1px solid #e2ebe6;border-radius:14px;background:#fff;text-align:left}.payment-box h4{margin:0 0 8px}.payment-center{margin-top:14px;padding:15px;border:1px solid #e1ebe5;border-radius:14px;background:#fbfffc}.pay-method{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin-bottom:12px}.pay-method strong{font-size:20px;color:#00a859}.pay-method span{grid-column:1/-1;color:#63736b;font-size:13px}.access-line{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:#f0fff5}.payment-history{margin-top:14px}.payment-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1ee;font-size:13px}.badge.ok{background:#dff7e7;color:#087b3d}.badge.bad{background:#ffe4e4;color:#b42318}.muted{color:#7a8780;font-size:13px;margin-top:8px}
@media(max-width:640px){.pay-method{grid-template-columns:1fr}.pay-method span{grid-column:auto}.payment-row{grid-template-columns:1fr auto}.payment-row span:last-child{grid-column:1/-1}}

/* DUKAN POS v1.4.0 — Quick Menu / Muhammad branding */
.sipos-app-layout{display:flex!important;align-items:flex-start;gap:18px;max-width:1500px;margin:0 auto;padding:10px}
.sipos-quick-menu{width:220px;min-width:220px;position:sticky;top:18px;border:1px solid #dce9e1;border-radius:18px;background:#fff;box-shadow:0 8px 30px rgba(16,70,42,.08);padding:12px;z-index:50}
.qm-brand{display:flex;align-items:center;gap:10px;padding:8px 8px 14px;border-bottom:1px solid #edf2ef;margin-bottom:8px}
.qm-logo{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#e8fff1;font-size:22px}
.qm-brand b{display:block;color:#087b3d;font-size:15px;letter-spacing:.4px}
.qm-brand small{display:block;color:#829088;margin-top:2px;font-size:10px}
.qm-link{display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:11px;color:#3e4c45;text-decoration:none;font-weight:600;margin:4px 0;transition:all .15s ease}
.qm-link:hover,.qm-link.active{background:#eafff1;color:#008c4a;transform:translateX(2px)}
.qm-ico{width:27px;text-align:center;font-size:18px}
.qm-footer{border-top:1px solid #edf2ef;margin-top:10px;padding:12px 8px 5px;color:#89958f;font-size:11px;line-height:1.5}
.qm-footer a{color:#00a859;text-decoration:none}
.sipos-main-content{min-width:0;flex:1}
.auth-brand{max-width:520px;margin:0 auto 10px;text-align:center;color:#087b3d;font-size:20px}
.auth-brand small{font-size:11px;color:#7b8981}
.kpi{position:relative;overflow:hidden}
.kpi:after{content:"";position:absolute;right:-20px;top:-20px;width:75px;height:75px;border-radius:50%;background:#eafff1;opacity:.8;pointer-events:none}
@media(max-width:850px){
 .sipos-app-layout{display:block!important;padding:6px}
 .sipos-quick-menu{position:sticky;top:5px;width:100%;min-width:0;padding:7px;display:flex;align-items:center;gap:5px;overflow-x:auto;border-radius:14px}
 .qm-brand{border:0;margin:0;padding:3px 8px;min-width:120px}
 .qm-logo{width:34px;height:34px;font-size:18px}
 .qm-brand b{font-size:12px}.qm-brand small{font-size:9px}
 .qm-link{margin:0;padding:8px 9px;white-space:nowrap;font-size:12px}
 .qm-ico{font-size:16px;width:auto}.qm-footer{display:none}
}


/* DUKAN POS v3.1 */
.v2-command{position:relative}
.v2-head-row{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 0 18px}
.v2-eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;color:#37c1e5}
.v2-head-row h2{margin:4px 0;font-size:28px}
.v2-head-row p{margin:0;opacity:.7}
.v2-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.v2-btn,.v2-bell{border:1px solid rgba(55,193,229,.35);background:#10191b;color:#fff;padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:700;cursor:pointer}
.v2-btn{background:#0db17b;border-color:#0db17b}
.v2-btn.secondary{background:#162225}
.v2-bell{position:relative}
.v2-bell span{display:inline-flex;min-width:20px;height:20px;border-radius:20px;align-items:center;justify-content:center;background:#e63946;font-size:11px;margin-left:4px}
.v2-notif-panel{position:absolute;right:0;top:76px;width:min(420px,92vw);z-index:50;background:#101719;border:1px solid rgba(55,193,229,.3);border-radius:14px;padding:12px;box-shadow:0 18px 45px rgba(0,0,0,.35)}
.v2-notif-head{display:flex;justify-content:space-between;padding:4px 4px 10px}
.v2-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}
.v2-kpi{background:#101719;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:16px;min-height:88px}
.v2-kpi span{display:block;opacity:.7;font-size:12px;margin-bottom:8px}
.v2-kpi b{font-size:20px;color:#37c1e5}
.v2-two{display:grid;grid-template-columns:1.7fr 1fr;gap:14px;margin-bottom:14px}
.v2-three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}
.v2-chart{height:190px;display:flex;align-items:flex-end;gap:8px;padding:8px 2px 0}
.v2-bar-col{flex:1;height:180px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px}
.v2-bars{height:145px;display:flex;align-items:flex-end;gap:3px}
.v2-bars i,.v2-bars em{display:block;width:9px;border-radius:5px 5px 0 0;background:#0db17b}
.v2-bars em{background:#37c1e5}
.v2-bar-col small{font-size:10px;opacity:.65}
.v2-balance,.v2-list{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.v2-balance:last-child,.v2-list:last-child{border-bottom:0}
.v2-list span{display:flex;flex-direction:column;gap:3px}
.v2-list small{opacity:.55;font-size:11px}
.v2-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v2-form .btn{grid-column:1/-1}
.v2-page{margin-top:14px}
.v2-note{padding:10px;border-radius:10px;margin:5px 0;background:rgba(255,255,255,.035)}
.v2-note.unread{border-left:3px solid #0db17b}
.v2-note p{margin:4px 0;opacity:.75}
.v2-note small{opacity:.5}
.v2-cash-total{font-size:20px;padding:15px 0;color:#37c1e5}
@media(max-width:1100px){.v2-kpis{grid-template-columns:repeat(3,1fr)}.v2-three{grid-template-columns:1fr 1fr}.v2-three .card:last-child{grid-column:1/-1}}
@media(max-width:760px){.v2-head-row{align-items:flex-start;flex-direction:column}.v2-head-row h2{font-size:23px}.v2-kpis{grid-template-columns:repeat(2,1fr)}.v2-two,.v2-three{grid-template-columns:1fr}.v2-form{grid-template-columns:1fr}.v2-chart{overflow-x:auto}.v2-bar-col{min-width:35px}.v2-notif-panel{right:0;left:0;width:auto}}

.v2-inv-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.v2-inv-head h2{margin:0 0 5px}.v2-inv-head p{margin:0;opacity:.65}.v2-crud-table th,.v2-crud-table td{vertical-align:middle}.v2-row-actions{white-space:nowrap;display:flex;gap:6px}.v2-action{border:1px solid rgba(55,193,229,.3);background:#152124;color:#fff;border-radius:7px;padding:6px 9px;cursor:pointer;font-size:12px}.v2-action:hover{border-color:#0db17b}.v2-action.danger{border-color:rgba(255,80,80,.35)}.v2-product-form,.v2-expense-form{margin:14px 0;padding:14px;border:1px solid rgba(55,193,229,.2);border-radius:12px;background:rgba(255,255,255,.025)}@media(max-width:700px){.v2-inv-head{align-items:flex-start;flex-direction:column}.v2-row-actions{flex-direction:column}.v2-action{width:100%}}

/* DUKAN POS v3.1 — dark command-center theme */
.sipos-app{background:#0b1112;color:#e8f5f0;border-color:rgba(255,255,255,.08)}
.sipos-app .top h1,.sipos-app h2,.sipos-app h3,.sipos-app h4,.sipos-app b,.sipos-app strong{color:#f4fffb}
.sipos-app .top p,.sipos-app .muted,.sipos-app .card-title span,.sipos-app small{color:#9db0aa}
.sipos-app .card,.sipos-app .kpi,.sipos-app .card-lite{background:#10191b;border-color:rgba(255,255,255,.08);box-shadow:0 12px 35px rgba(0,0,0,.22)}
.sipos-app .input,.sipos-app .small-input,.sipos-app select,.sipos-app textarea{background:#0d1517;color:#edf9f5;border-color:rgba(255,255,255,.14)}
.sipos-app th,.sipos-app td{border-color:rgba(255,255,255,.08)}
.sipos-app .search-item,.sipos-app .qty,.sipos-app .remove{background:#0d1517;color:#edf9f5;border-color:rgba(255,255,255,.12)}
.sipos-app .btn{background:linear-gradient(135deg,#0db17b,#37c1e5)}
.sipos-app .btn.secondary{background:#172426;color:#e8f5f0!important}
.sipos-app .text-btn,.sipos-app .mini-edit,.sipos-app .mini-dup{color:#37c1e5}
.sipos-app .success{color:#55e39d}.sipos-app .error{color:#ff7c86}
.sipos-app .sipos-quick-menu{background:#10191b;border-color:rgba(255,255,255,.08)}
.sipos-app .qm-link{color:#d8ebe5}
.sipos-app .qm-link.active{background:#0db17b;color:#fff}
.sipos-app .qm-brand b{color:#fff}
@media(max-width:760px){.pos-grid,.dash-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.cart-row{grid-template-columns:1fr auto auto}.cart-row .remove{grid-column:3}.small-input{width:120px}}
@media(max-width:460px){.kpis{grid-template-columns:1fr}.v2-kpis{grid-template-columns:1fr}.v2-kpi{min-height:74px}}


/* DUKAN POS v3.1 — full-width, readable, mobile-first polish + camera scanner */
.sipos-app-layout{width:100%;max-width:none;margin:0;padding:10px 14px}
.sipos-main-content{width:100%;min-width:0}
.sipos-app{width:100%;max-width:none;margin:0;padding:16px;min-height:100vh;background:#0b1112;color:#e8f5f0}
.sipos-app *{text-shadow:none}
.sipos-app a,.sipos-app button,.sipos-app label,.sipos-app th,.sipos-app td,.sipos-app p,.sipos-app span,.sipos-app small,.sipos-app div{color:inherit}
.sipos-app .card-title,.sipos-app h1,.sipos-app h2,.sipos-app h3,.sipos-app h4{color:#f4fffb}
.sipos-app .muted,.sipos-app .top p,.sipos-app small{color:#9db0aa!important}
.sipos-app input::placeholder,.sipos-app textarea::placeholder{color:#82958e!important;opacity:1}
.sipos-app select option{background:#10191b;color:#edf9f5}
.sipos-app .btn,.sipos-app .v2-btn,.sipos-app .v2-action,.sipos-app .v2-bell{color:#fff!important}
.sipos-app .btn.secondary,.sipos-app .v2-btn.secondary{color:#e8f5f0!important}
.sipos-app .text-btn,.sipos-app .mini-edit,.sipos-app .mini-dup{color:#37c1e5!important}
.sipos-app .mini-del,.sipos-app .v2-action.danger{color:#ff7c86!important}
.sipos-app .search-item:hover,.sipos-app .qty:hover,.sipos-app .remove:hover{background:#162326!important;color:#fff!important}
.sipos-app .qm-link:hover{color:#fff!important;background:#12372d}
.sipos-app .tabs button:hover{color:#fff!important}
.sipos-app .v2-action:hover{color:#fff!important;background:#0db17b}
.sipos-app .pos-search-row{display:flex;gap:10px;align-items:stretch}
.sipos-app .pos-search-row .input{min-width:0;flex:1}
.sipos-app .scan-btn{flex:0 0 auto;min-width:112px;white-space:nowrap}
.scanner-modal{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:99999;display:grid;place-items:center;padding:16px}
.scanner-modal[hidden]{display:none!important}
.scanner-box{width:min(520px,100%);background:#10191b;border:1px solid rgba(55,193,229,.35);border-radius:18px;padding:14px;box-shadow:0 24px 80px rgba(0,0,0,.55);position:relative}
.scanner-head{display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:17px;margin-bottom:10px}
.scanner-close{border:0;background:#202d30;color:#fff!important;width:36px;height:36px;border-radius:10px;font-size:24px;cursor:pointer}
#barcode-video{width:100%;aspect-ratio:4/3;object-fit:cover;background:#050808;border-radius:14px;display:block}
.scanner-line{height:2px;background:#0db17b;box-shadow:0 0 12px #0db17b;margin:-50% 12% 0;position:relative;z-index:2;opacity:.9}
.scanner-msg{color:#cfe5de!important;text-align:center;padding:14px 4px;min-height:48px}
.scanner-box .wide{margin-top:4px}
@media(max-width:760px){
 .sipos-app-layout{padding:4px;width:100%}.sipos-app{padding:10px;border-radius:0}
 .v2-head-row{width:100%}.v2-actions{width:100%}.v2-actions>*{flex:1;min-width:0}
 .pos-search-row{position:sticky;top:4px;z-index:40;background:#0b1112;padding:5px 0}
 .pos-search-row .big{font-size:16px;padding:13px 11px}.scan-btn{min-width:88px!important;padding:10px 9px!important}
 .cart-row{gap:8px}.cart-row>div:first-child{min-width:0}.cart-row b{overflow:hidden;text-overflow:ellipsis}
 .totals label{gap:10px}.small-input{max-width:48vw}
 .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 th,td{padding:9px 8px;font-size:13px}
}
@media(max-width:430px){
 .sipos-app{padding:8px}.top h1{font-size:23px}.v2-head-row h2{font-size:21px}
 .pos-search-row{gap:6px}.scan-btn{min-width:78px!important;font-size:13px}
 .kpis,.v2-kpis{gap:8px}.kpi,.v2-kpi{padding:12px}.kpi b,.v2-kpi b{font-size:18px}
 .cart-row{grid-template-columns:1fr auto auto}.cart-row .qtybox{grid-column:2}.cart-row> b:nth-child(3){grid-column:3}.cart-row .remove{grid-column:3}
 .small-input{width:115px;max-width:45vw}
}

/* v3.1.1 cash change display */
.return-cash{font-weight:800}.return-cash b{font-size:1.1em}
/* DUKAN POS v3.1.2 — advanced calculator + report email */
.calc-pad{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.calc-key{min-height:42px;border:1px solid rgba(55,193,229,.18);background:#162124;color:#f4fffb!important;border-radius:9px;font-weight:700;cursor:pointer}.calc-key:hover{background:#0db17b!important;color:#fff!important}.calc-key.danger{border-color:rgba(255,100,110,.35)}.report-email-card .form-grid{align-items:end}.report-email-card .muted{margin-top:-6px;margin-bottom:12px}.report-email-card .btn:disabled{opacity:.65;cursor:wait}@media(max-width:600px){.calc-pad{gap:5px}.calc-key{min-height:46px}.report-email-card .form-grid{grid-template-columns:1fr}.report-email-card .btn{width:100%}}

/* v3.1.2 dashboard daily chart */
.v2-daily-chart{overflow-x:auto;display:flex;align-items:flex-end;gap:5px;min-height:190px;padding:12px 4px 8px}
.v2-daily-chart .v2-bar-col{min-width:24px;flex:1}
.v2-daily-chart .v2-bar-col small{display:block;font-size:9px;white-space:nowrap;text-align:center}
.v2-daily-chart .v2-bars{height:145px}
.v2-bars i,.v2-bars em{display:inline-block;width:8px;max-width:45%;vertical-align:bottom}
.v2-bars i{margin-right:2px}
.v2-bars em{margin-left:2px}
.v2-bar-col{min-width:38px}
@media(max-width:900px){
 .v2-two{grid-template-columns:1fr}
 .v2-daily-chart{min-height:175px}
}
@media(max-width:600px){
 .v2-daily-chart .v2-bar-col{min-width:31px}
 .v2-daily-chart .v2-bar-col small{font-size:8px}
 .v2-daily-chart .v2-bars{height:125px}
}
