:root{--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#7a8497;--line:#e8ecf3;--accent:#5b5cf0;--accent2:#7d5cff;--success:#16a06d;--warn:#f59e0b;--danger:#e5484d;--shadow:0 12px 30px rgba(25,35,58,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:linear-gradient(180deg,#eef1ff 0,#f7f8fc 220px);color:var(--text)}a{text-decoration:none;color:inherit}.app-shell{max-width:620px;margin:auto;min-height:100vh;padding-bottom:88px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:24px 18px 14px}.topbar h1{margin:2px 0 0;font-size:24px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--accent);font-weight:800}.avatar{width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:var(--shadow)}.main-content{padding:0 16px}.card{background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.8);border-radius:22px;padding:16px;box-shadow:var(--shadow);margin-bottom:14px}.hero{background:linear-gradient(135deg,#25275f,#6163ff);color:white;overflow:hidden;position:relative}.hero:after{content:'';position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.08);right:-55px;top:-80px}.hero .muted{color:#cdd1ff}.hero-value{font-size:34px;font-weight:850;margin:8px 0}.muted{color:var(--muted);font-size:13px}.grid{display:grid;gap:12px}.grid-2{grid-template-columns:repeat(2,1fr)}.stat{padding:15px;border-radius:18px;background:#fff;border:1px solid var(--line)}.stat b{font-size:21px;display:block;margin-top:6px}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick a,.quick button{border:0;background:#fff;border-radius:18px;min-height:84px;padding:10px 6px;box-shadow:0 8px 20px rgba(24,33,54,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-weight:700;color:var(--text)}.quick .icon{width:36px;height:36px;border-radius:12px;background:#f0efff;display:grid;place-items:center;color:var(--accent);font-size:19px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:18px 2px 10px}.section-title h3{margin:0;font-size:16px}.btn{border:0;border-radius:14px;padding:13px 16px;font-weight:800;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}.btn-light{background:#f0f2f7;color:var(--text)}.btn-danger{background:#fff0f1;color:var(--danger)}.btn-success{background:#eaf9f2;color:var(--success)}.btn-block{width:100%}.field{margin-bottom:12px}.field label{display:block;font-size:12px;font-weight:800;margin:0 0 7px;color:#546077}.input,select,textarea{width:100%;border:1px solid var(--line);background:#fbfcfe;border-radius:14px;padding:13px 14px;font:inherit;outline:none}.input:focus,select:focus,textarea:focus{border-color:#babaff;box-shadow:0 0 0 3px #eeeeff}.row{display:flex;gap:10px}.row>*{flex:1}.item-card{border:1px solid var(--line);border-radius:18px;padding:13px;margin-bottom:10px;background:#fff}.item-card .remove{float:right;border:0;background:#fff0f1;color:var(--danger);border-radius:10px;padding:7px 9px}.sticky-total{position:sticky;bottom:78px;z-index:3;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:20px;padding:13px;box-shadow:0 10px 35px rgba(35,38,80,.13)}.sticky-total .amount{font-size:27px;font-weight:900}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(620px,100%);height:72px;background:rgba(255,255,255,.96);backdrop-filter:blur(15px);display:flex;justify-content:space-around;align-items:center;border-top:1px solid var(--line);z-index:20;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav a{min-width:58px;text-align:center;color:#8992a3}.bottom-nav a span{display:block;font-size:21px;line-height:22px}.bottom-nav small{font-size:10px;font-weight:750}.bottom-nav a.active{color:var(--accent)}.bottom-nav .primary-nav span{background:linear-gradient(135deg,var(--accent),var(--accent2));color:white;width:44px;height:44px;border-radius:16px;display:grid;place-items:center;margin:-18px auto 2px;box-shadow:0 8px 18px rgba(91,92,240,.3)}.list{background:#fff;border-radius:20px;overflow:hidden;border:1px solid var(--line)}.list-row{display:flex;justify-content:space-between;align-items:center;padding:14px;border-bottom:1px solid var(--line);gap:12px}.list-row:last-child{border:0}.pill{display:inline-block;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800}.pill-success{background:#e8f8f1;color:var(--success)}.pill-warn{background:#fff5dd;color:#a66b00}.pill-danger{background:#ffeded;color:var(--danger)}.modal{position:fixed;inset:0;background:rgba(20,25,40,.45);display:none;align-items:flex-end;justify-content:center;z-index:50}.modal.open{display:flex}.sheet{width:min(620px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:26px 26px 0 0;padding:20px}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-box{width:min(440px,100%)}.brand{font-size:28px;font-weight:900;margin-bottom:6px}.brand-dot{color:var(--accent)}.notice{padding:12px 14px;border-radius:14px;margin-bottom:12px;font-size:13px}.notice-error{background:#ffeded;color:#9b2529}.notice-ok{background:#e9f8f1;color:#08794f}.canvas{max-width:800px;margin:20px auto;background:white;padding:20px}.invoice{font-family:Arial,sans-serif;color:#111}.invoice table{width:100%;border-collapse:collapse}.invoice th,.invoice td{padding:8px;border-bottom:1px solid #ddd;text-align:left}.invoice .right{text-align:right}@media(max-width:420px){.quick{grid-template-columns:repeat(4,1fr);gap:7px}.quick a{font-size:11px}.row.mobile-stack{display:block}}@media print{body{background:#fff}.no-print,.bottom-nav,.topbar{display:none!important}.app-shell{max-width:none;padding:0}.main-content{padding:0}.card{box-shadow:none;border:0}}

/* Barcode scanner */
.scan-shortcut{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.barcode-input-row{display:flex;gap:8px}.barcode-input-row .input{min-width:0}.scanner-modal{z-index:9999}.scanner-sheet{max-width:520px}.scanner-view{position:relative;background:#101217;border-radius:22px;overflow:hidden;aspect-ratio:4/3;margin-top:12px}.scanner-view video{width:100%;height:100%;object-fit:cover;display:block}.scanner-frame{position:absolute;inset:18% 10%;border:2px solid rgba(255,255,255,.9);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.28)}.scanner-frame:before,.scanner-frame:after{content:"";position:absolute;left:8%;right:8%;height:2px;background:#fff;opacity:.9}.scanner-frame:before{top:50%;animation:scanline 1.5s ease-in-out infinite}.scanner-frame:after{display:none}.stock-info{margin-top:7px}.stock-empty{color:#c62828!important;font-weight:700}@keyframes scanline{0%,100%{transform:translateY(-45px);opacity:.35}50%{transform:translateY(45px);opacity:1}}@media(max-width:480px){.scanner-sheet{width:100%;border-radius:26px 26px 0 0}.scanner-view{aspect-ratio:3/4}.scan-shortcut .btn{white-space:nowrap}}

/* ===== BillEase POS V3 ===== */
.pos-customer{background:#fff;border:1px solid #e9edf5;border-radius:20px;padding:14px;margin-bottom:12px;box-shadow:0 8px 24px rgba(18,24,40,.055)}
.pos-customer-head,.pos-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.pos-customer-head{margin-bottom:10px}.pos-customer-head strong{display:block;font-size:14px;margin-top:2px}.pos-kicker{font-size:9px;letter-spacing:1.35px;font-weight:900;color:#6d5dfc}.pos-badge{font-size:10px;font-weight:800;color:#778097;background:#f2f4f8;padding:5px 8px;border-radius:99px}.pos-customer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pos-field{background:#f7f8fb;border:1px solid #eef0f5;border-radius:14px;padding:8px 11px}.pos-field span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:#8a93a6;font-weight:800;margin-bottom:2px}.pos-field input{border:0;outline:0;background:transparent;width:100%;font:inherit;font-weight:750;color:#111827;padding:2px 0}
.scan-hero{margin-bottom:16px}.scan-main{width:100%;border:0;border-radius:20px;padding:15px;background:linear-gradient(135deg,#10162a,#2c3476);color:#fff;display:grid;grid-template-columns:48px 1fr 26px;gap:12px;align-items:center;text-align:left;box-shadow:0 12px 30px rgba(26,32,86,.2);cursor:pointer}.scan-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.13);font-size:24px}.scan-main b{display:block;font-size:16px}.scan-main small{display:block;color:#cbd2ef;margin-top:2px;font-size:11px}.scan-arrow{font-size:28px;color:#cdd4ff}.scan-status-strip{display:flex;align-items:center;gap:7px;padding:7px 10px 0;font-size:10px;color:#7b8497}.keyboard-hint{margin-left:auto}.live-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.1)}
.pos-section-title{margin:18px 2px 8px}.pos-section-title h3{margin:1px 0 0;font-size:16px}.pos-section-title h3 span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:20px;background:#eceaff;color:#5b5cf0;font-size:10px;vertical-align:2px}.mini-add{border:0;background:#eceaff;color:#5b5cf0;border-radius:11px;padding:9px 11px;font-weight:850;cursor:pointer}
.pos-cart{display:grid;gap:9px}.pos-item{background:#fff;border:1px solid #e9edf4;border-radius:18px;padding:12px;box-shadow:0 7px 22px rgba(18,24,40,.045)}.item-top{display:grid;grid-template-columns:27px 1fr 34px 30px;align-items:center;gap:8px}.item-index{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:#f1f0ff;color:#6257e8;font-size:11px;font-weight:900}.item-main{min-width:0}.name-input{width:100%;border:0;outline:0;background:transparent;font:inherit;font-weight:850;font-size:14px;color:#111827;padding:0}.name-input::placeholder{color:#a0a7b6;font-weight:650}.stock-pill{display:inline-block;margin-top:3px;font-size:9px;font-weight:800;padding:3px 6px;border-radius:99px}.stock-pill.ok{background:#e9f9f1;color:#087d50}.stock-pill.bad{background:#ffeded;color:#c0363b}.stock-pill.new{background:#f1f3f7;color:#7c8493}.row-scan,.row-remove{border:0;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;cursor:pointer;font-weight:900}.row-scan{background:#eff0ff;color:#5b5cf0}.row-remove{background:#fff1f2;color:#d54147;font-size:18px}.item-bottom{display:grid;grid-template-columns:1fr 1.25fr .8fr 1.05fr;gap:8px;align-items:end;margin-top:10px;padding-top:10px;border-top:1px dashed #e7eaf0}.item-bottom label>span,.line-box>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#8992a5;font-weight:850;margin-bottom:5px}.money-mini{height:35px;border:1px solid #e7eaf0;background:#fafbfc;border-radius:10px;display:flex;align-items:center;padding:0 8px;color:#697386;font-weight:800}.money-mini input,.gst-box input{border:0;outline:0;background:transparent;width:100%;min-width:0;font:inherit;font-weight:800;padding-left:3px}.gst-box input{height:35px;border:1px solid #e7eaf0;background:#fafbfc;border-radius:10px;padding:0 8px}.qty-box>div{display:grid;grid-template-columns:30px 1fr 30px;height:35px;border:1px solid #e7eaf0;border-radius:10px;overflow:hidden;background:#fafbfc}.qty-box button{border:0;background:#f0f2f6;font-size:15px;font-weight:900;color:#4f596e}.qty-input{min-width:0;width:100%;border:0;outline:0;text-align:center;background:#fff;font:inherit;font-weight:850}.line-box{text-align:right}.line-box strong{display:block;height:35px;line-height:35px;font-size:13px;white-space:nowrap}
.pos-summary{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:8px;margin:14px 0 100px}.pos-summary>div{background:#fff;border:1px solid #e8ecf3;border-radius:14px;padding:10px}.pos-summary span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#8b94a6;font-weight:800}.pos-summary strong{display:block;margin-top:3px;font-size:14px}.pos-summary-total{background:#11182c!important;color:#fff;border-color:#11182c!important}.pos-summary-total span{color:#abb4cf}.pos-summary-total strong{font-size:17px}
.checkout-dock{position:fixed;z-index:19;left:50%;bottom:71px;transform:translateX(-50%);width:min(620px,100%);padding:10px 16px;background:rgba(248,249,252,.92);backdrop-filter:blur(16px);display:flex;align-items:center;gap:12px;border-top:1px solid rgba(225,229,238,.85)}.checkout-dock>div{min-width:105px}.checkout-dock small{display:block;font-size:9px;color:#7b8498;font-weight:850;letter-spacing:.8px}.checkout-dock strong{display:block;font-size:23px;line-height:25px}.checkout-dock button{flex:1;border:0;border-radius:15px;background:linear-gradient(135deg,#5b5cf0,#795cff);color:#fff;height:50px;padding:0 15px;font-weight:900;display:flex;justify-content:space-between;align-items:center;box-shadow:0 8px 20px rgba(91,92,240,.25)}.checkout-dock button b{font-size:20px}
.sheet-handle{width:42px;height:4px;border-radius:4px;background:#dfe3eb;margin:-8px auto 15px}.close-round{border:0;width:34px;height:34px;border-radius:50%;background:#f1f3f7;font-size:20px;color:#697386}.pay-sheet{padding-bottom:calc(22px + env(safe-area-inset-bottom))}.pay-amount{background:linear-gradient(135deg,#11182c,#293256);color:#fff;border-radius:18px;padding:15px;margin:12px 0 15px}.pay-amount span{font-size:11px;color:#b9c0d6}.pay-amount strong{font-size:30px;display:block;margin-top:3px}.money-input{position:relative}.money-input>span{position:absolute;left:14px;top:13px;font-weight:900;color:#6c7587}.money-input input{padding-left:30px}.payment-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.payment-modes button{border:1px solid #e4e7ef;background:#f8f9fb;color:#5f687a;border-radius:12px;padding:10px 4px;font-weight:800}.payment-modes button.active{background:#5b5cf0;color:#fff;border-color:#5b5cf0}.pay-balance{display:flex;justify-content:space-between;align-items:center;background:#fff6df;color:#815500;padding:12px;border-radius:13px;margin:13px 0}.pay-balance span{font-size:12px;font-weight:750}.pay-balance strong{font-size:18px}.upi-action,.save-bill{width:100%;height:49px;border-radius:14px;font-weight:900;cursor:pointer}.upi-action{border:1px solid #d8dcE7;background:#fff;color:#20283a;margin-bottom:9px}.save-bill{border:0;background:linear-gradient(135deg,#5b5cf0,#795cff);color:#fff}.save-bill:disabled{opacity:.6}.upi-box{padding:10px;background:#f3f4ff;border-radius:12px;margin-bottom:9px;text-align:center}.upi-link{display:block;font-weight:850;color:#5149d8}
.manual-scan{display:flex;gap:8px;margin-top:12px}.manual-scan input{flex:1;min-width:0;border:1px solid #e2e6ee;background:#f8f9fb;border-radius:13px;padding:12px;font:inherit;outline:0}.manual-scan button{border:0;border-radius:13px;background:#5b5cf0;color:#fff;padding:0 17px;font-weight:850}.scanner-frame i{position:absolute;left:8%;right:8%;top:50%;height:2px;background:#ff435b;box-shadow:0 0 10px rgba(255,67,91,.9);animation:scannerSweep 1.45s ease-in-out infinite}@keyframes scannerSweep{0%,100%{transform:translateY(-62px)}50%{transform:translateY(62px)}}
.app-toast{position:fixed;left:50%;bottom:145px;transform:translate(-50%,14px);z-index:10000;max-width:calc(100% - 32px);padding:11px 14px;border-radius:12px;background:#1d2435;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.22);font-size:12px;font-weight:750;opacity:0;pointer-events:none;transition:.2s}.app-toast.show{opacity:1;transform:translate(-50%,0)}.app-toast.success{background:#087d50}.app-toast.warn{background:#9a6500}.app-toast.error{background:#b83238}
@media(max-width:430px){.main-content{padding:0 12px}.topbar{padding:18px 14px 10px}.topbar h1{font-size:21px}.avatar{width:39px;height:39px;border-radius:13px}.pos-customer-grid{grid-template-columns:1fr 1fr}.item-bottom{grid-template-columns:1fr 1.25fr 1fr}.line-box{grid-column:3}.gst-box+.line-box{grid-column:auto}.keyboard-hint{display:none}.pos-summary{gap:6px}.pos-summary>div{padding:9px 8px}.checkout-dock{padding:8px 12px}.checkout-dock button{height:48px}.checkout-dock strong{font-size:21px}}
