:root{--sb:#14213d;--sbw:240px}
body{background:#f4f6fa;font-size:.95rem}
.sidebar{background:var(--sb);color:#fff;width:var(--sbw)}
@media(min-width:992px){.sidebar{position:fixed;top:0;bottom:0;left:0;overflow-y:auto;z-index:100}.content{margin-left:var(--sbw);padding:1.25rem 1.5rem}}
@media(max-width:991.98px){.sidebar{background:var(--sb)}.content{padding:.75rem}}
.side-inner{display:flex;flex-direction:column;min-height:100%;padding:.75rem}
.brand{align-items:center;gap:.5rem;font-weight:600;padding:.5rem .5rem 1rem;font-size:1.05rem}
.sidebar .nav-link{color:#cfd8ea;border-radius:.5rem;padding:.55rem .75rem;display:flex;gap:.6rem;align-items:center}
.sidebar .nav-link:hover{background:rgba(255,255,255,.08);color:#fff}
.sidebar .nav-link.active{background:#0d6efd;color:#fff}
.side-foot{margin-top:auto;padding:.75rem .25rem}
.card{border:0;box-shadow:0 1px 3px rgba(20,33,61,.08);border-radius:.75rem}
.stat .v{font-size:1.5rem;font-weight:700}
.table>:not(caption)>*>*{padding:.55rem .6rem}
.table-responsive{border-radius:.5rem}
.btn{border-radius:.5rem}
.form-control,.form-select{border-radius:.5rem}
/* POS */
.pos-wrap{display:grid;grid-template-columns:1fr 380px;gap:1rem;height:calc(100vh - 2.5rem)}
@media(max-width:991.98px){.pos-wrap{grid-template-columns:1fr;height:auto}.cart-col{position:sticky;bottom:0}}
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;overflow-y:auto;max-height:calc(100vh - 11rem);padding:.25rem}
@media(max-width:991.98px){.prod-grid{max-height:50vh}}
.prod{background:#fff;border:1px solid #e3e8f0;border-radius:.6rem;padding:.5rem;cursor:pointer;text-align:left;min-height:78px}
.prod:hover{border-color:#0d6efd;box-shadow:0 0 0 2px rgba(13,110,253,.15)}
.prod .n{font-weight:600;font-size:.85rem;line-height:1.15}
.prod .p{color:#0d6efd;font-weight:700}
.cart-col{display:flex;flex-direction:column;background:#fff;border-radius:.75rem;box-shadow:0 1px 3px rgba(20,33,61,.1);overflow:hidden}
.cart-lines{flex:1;overflow-y:auto;min-height:140px;max-height:45vh}
.cart-line{display:flex;gap:.4rem;align-items:center;padding:.4rem .6rem;border-bottom:1px solid #eef1f6}
.cart-line .nm{flex:1;min-width:0;font-size:.88rem}
.cart-total{font-size:1.7rem;font-weight:800}
.qty-in{width:74px;text-align:center}
.big-btn{padding:.9rem;font-size:1.1rem;font-weight:600}
.pay-methods .btn{padding:.8rem}
#scanBox{font-size:1.1rem}
/* Receipt */
.receipt{font-family:"Courier New",monospace;font-size:12px;color:#000;margin:0 auto;padding:6px;background:#fff}
.receipt.w80{width:76mm}.receipt.w58{width:54mm;font-size:11px}
.receipt .c{text-align:center}.receipt hr{border:0;border-top:1px dashed #000;margin:5px 0}
.receipt table{width:100%}.receipt td{vertical-align:top;padding:1px 0}.receipt .r{text-align:right}
@media print{
  body{background:#fff}.no-print,.sidebar,.navbar{display:none!important}
  .content{margin:0!important;padding:0!important}.receipt{width:100%!important;padding:0}
  @page{margin:2mm}
}
