:root{ --pos-teal:#0d9488; --pos-dark:#0f172a; --pos-side:#111827;
    /* Square everything: neutralise Bootstrap's radius tokens */
    --bs-border-radius:0; --bs-border-radius-sm:0; --bs-border-radius-lg:0;
    --bs-border-radius-xl:0; --bs-border-radius-xxl:0; --bs-border-radius-2xl:0; --bs-border-radius-pill:0; }
*{box-sizing:border-box}
/* Global: no rounded corners anywhere. Exceptions get added explicitly. */
*,*::before,*::after{border-radius:0!important}
body{margin:0;background:#f1f5f9;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.pos-shell{display:flex;min-height:100vh}
.pos-sidebar{width:230px;background:var(--pos-side);color:#cbd5e1;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.pos-brand{font-size:1.25rem;font-weight:700;color:#fff;padding:18px 18px 8px}
.pos-shopname{font-size:.8rem;color:#94a3b8;padding:0 18px 12px;border-bottom:1px solid #1f2937}
.pos-nav{flex:1;padding:10px 0;overflow-y:auto}
.pos-nav a,.pos-logout{display:flex;align-items:center;gap:10px;padding:11px 18px;color:#cbd5e1;text-decoration:none;font-size:.92rem}
.pos-nav a i,.pos-logout i{font-size:1.05rem}
.pos-nav a:hover{background:#1f2937;color:#fff}
.pos-nav a.active{background:var(--pos-teal);color:#fff;font-weight:600}
.pos-logout{border-top:1px solid #1f2937;color:#fca5a5}
.pos-logout:hover{background:#1f2937;color:#fff}
.pos-main{flex:1;display:flex;flex-direction:column;min-width:0}
.pos-shell.hide-side .pos-sidebar{display:none}
.pos-topbar{display:flex;align-items:center;gap:12px;background:#fff;padding:12px 18px;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:20}
.pos-content{padding:18px;flex:1}
.pos-card{background:#fff;border:1px solid #e2e8f0}
.stat{background:#fff;border:1px solid #e2e8f0;padding:16px}
.stat .n{font-size:1.6rem;font-weight:700}
.stat .l{font-size:.78rem;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
/* POS sale screen */
.pos-sale{display:grid;grid-template-columns:1fr 380px;gap:16px}
.pos-cart-table td,.pos-cart-table th{vertical-align:middle}
.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.pos-prod{background:#fff;border:1px solid #e2e8f0;padding:10px;cursor:pointer;text-align:center;transition:.12s}
.pos-prod:hover{border-color:var(--pos-teal);box-shadow:0 4px 12px rgba(13,148,136,.15);transform:translateY(-2px)}
.pos-prod .p-name{font-size:.82rem;font-weight:600;line-height:1.2;min-height:2.4em}
.pos-prod .p-price{color:var(--pos-teal);font-weight:700;font-size:.9rem}
.pos-prod .p-stock{font-size:.68rem;color:#94a3b8}
.pos-pay{position:sticky;top:74px}
@media (max-width:991px){ .pos-sale{grid-template-columns:1fr} .pos-pay{position:static} }
@media (max-width:767px){
    .pos-sidebar{position:fixed;left:-240px;z-index:1050;transition:left .2s}
    .pos-sidebar.open{left:0}
}
.receipt{width:80mm;max-width:100%;margin:0 auto;font-family:'Courier New',monospace;font-size:12px;color:#000}
.receipt h5{text-align:center;margin:0}
.receipt table{width:100%;border-collapse:collapse}
.receipt .r-line{border-top:1px dashed #000;margin:6px 0}
@media print{ .no-print{display:none!important} body{background:#fff} .receipt{width:auto} }
