@font-face{font-family:'Nastaliq';src:url(vendor/fonts/nastaliq-400.woff2) format('woff2');font-weight:400}
@font-face{font-family:'Nastaliq';src:url(vendor/fonts/nastaliq-700.woff2) format('woff2');font-weight:700}
:root{--sb:#0f2a2e;--sb2:#16393e;--pri:#0f766e;--bs-primary:#0f766e;--bs-primary-rgb:15,118,110;--bs-link-color:#0f766e}
body{background:#f1f5f4;font-size:.92rem}
body.ur{font-family:'Nastaliq','Noto Nastaliq Urdu','Jameel Noori Nastaleeq',Tahoma,serif;line-height:2.1}
body.ur .btn,body.ur .form-control,body.ur .form-select,body.ur .badge,body.ur .nav-h,body.ur th{line-height:2}
body.ur input[type=number],body.ur input[type=date],body.ur .num,body.ur .money{font-family:system-ui,Tahoma,sans-serif;line-height:1.5}
.btn-primary{--bs-btn-bg:#0f766e;--bs-btn-border-color:#0f766e;--bs-btn-hover-bg:#115e59;--bs-btn-hover-border-color:#115e59;--bs-btn-active-bg:#134e4a}
.btn-outline-primary{--bs-btn-color:#0f766e;--bs-btn-border-color:#0f766e;--bs-btn-hover-bg:#0f766e;--bs-btn-hover-border-color:#0f766e}
.text-primary{color:#0f766e!important}.bg-primary-subtle{background:#ccfbf1!important}
.app{display:flex;min-height:100vh}
.sidebar{width:236px;background:var(--sb);color:#cbd5d1;flex:none;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:50}
.sidebar .brand{display:flex;gap:.6rem;align-items:center;padding:1rem 1.1rem;color:#fff;font-weight:700;font-size:1.15rem;text-decoration:none;background:var(--sb2)}
.sidebar .brand i{font-size:1.5rem;color:#5eead4}
.sidebar nav a{display:flex;gap:.7rem;align-items:center;padding:.5rem 1.1rem;color:#b6c5c1;text-decoration:none;border-inline-start:3px solid transparent}
.sidebar nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.sidebar nav a.active{background:rgba(94,234,212,.12);color:#fff;border-inline-start-color:#5eead4}
.nav-h{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#6b8a85;padding:.9rem 1.1rem .25rem}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;gap:.75rem;align-items:center;background:#fff;padding:.55rem 1rem;border-bottom:1px solid #e2e8e6;position:sticky;top:0;z-index:40}
.content{padding:1rem;flex:1}
.card{border-color:#e2e8e6}.card-header{background:#fff;font-weight:600}
.stat-ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:1.4rem;flex:none}
.table>:not(caption)>*>*{padding:.4rem .6rem}
.table thead th{background:#f6f9f8;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:#51635f;white-space:nowrap}
body.ur .table thead th{text-transform:none}
.num{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}
.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0f2a2e,#0f766e)}
.login-card{width:min(420px,92vw);border-radius:18px}
.login-logo{width:68px;height:68px;margin:auto;border-radius:18px;background:#0f766e;color:#fff;display:grid;place-items:center;font-size:2rem}
.chart-box{position:relative;height:280px}
/* POS */
body.compact .sidebar{width:64px}body.compact .sidebar span,body.compact .nav-h{display:none}body.compact .sidebar nav a{justify-content:center;padding:.7rem}
body.compact .content{padding:.5rem}
.pos{display:grid;grid-template-columns:1fr 400px;gap:.75rem;height:calc(100vh - 100px)}
.pos-left,.pos-right{display:flex;flex-direction:column;min-height:0}
.cart-wrap{flex:1;overflow:auto;background:#fff;border:1px solid #e2e8e6;border-radius:.5rem}
.scan-input{font-size:1.25rem;border:2px solid #0f766e}
.item-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;overflow:auto;flex:1;align-content:start;padding:2px}
.tile{background:#fff;border:1px solid #e2e8e6;border-radius:.6rem;padding:.5rem;cursor:pointer;text-align:start;line-height:1.3}
.tile:hover{border-color:#0f766e;box-shadow:0 0 0 2px #99f6e4}.tile .p{color:#0f766e;font-weight:700}
.tile.out{opacity:.45}
.totals .row-t{display:flex;justify-content:space-between;padding:.15rem 0}
.totals .grand{font-size:1.6rem;font-weight:800;color:#0f766e}
.qty-in{width:64px;text-align:center}
#suggest{position:absolute;z-index:60;background:#fff;border:1px solid #cbd5d1;border-radius:.5rem;width:100%;max-height:300px;overflow:auto;box-shadow:0 8px 24px rgba(0,0,0,.12)}
#suggest div{padding:.45rem .75rem;cursor:pointer;display:flex;justify-content:space-between;gap:1rem}#suggest div:hover,#suggest div.act{background:#ecfdf5}
.pay-quick .btn{padding:.15rem .5rem}
@media(max-width:992px){.pos{grid-template-columns:1fr;height:auto}.sidebar{position:fixed;inset-inline-start:-250px;transition:.2s}.sidebar.open{inset-inline-start:0}body.compact .sidebar{width:236px}}
@media print{.sidebar,.topbar,.no-print,.btn,form.card{display:none!important}.content{padding:0}body{background:#fff}.card{border:0!important;box-shadow:none!important}}
