:root{--accent:#ff7a00;--dark:#16202b;--side:#111827;--muted:#6b7280;--bg:#f4f6f9}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#1f2937;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.card{border:0;border-radius:14px;box-shadow:0 3px 18px rgba(15,23,42,.06)}.admin-shell{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:var(--side);color:#fff;z-index:1040;overflow-y:auto}.brand{height:74px;padding:14px 18px;display:flex;gap:12px;align-items:center;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:42px;height:42px;background:var(--accent);display:grid;place-items:center;border-radius:12px}.brand b{display:block}.brand small{display:block;color:#9ca3af;font-size:10px;letter-spacing:1.3px}.side-nav{padding:12px}.side-nav a{display:flex;align-items:center;gap:10px;color:#cbd5e1;text-decoration:none;padding:10px 12px;border-radius:9px;margin:3px 0;font-size:14px}.side-nav a:hover,.side-nav a.active{background:#273548;color:#fff}.side-nav a.active{box-shadow:inset 3px 0 0 var(--accent)}.side-title{font-size:10px;color:#64748b;letter-spacing:1.2px;padding:16px 12px 6px}.main-area{margin-left:250px;min-height:100vh}.topbar{height:74px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;padding:0 24px;position:sticky;top:0;z-index:1020}.topbar-title b,.topbar-title small{display:block}.topbar-title small{color:var(--muted);font-size:12px}.content-wrap{padding:24px}.sidebar-toggle{display:none}.user-chip{display:flex;align-items:center;gap:9px;border-left:1px solid #e5e7eb;padding-left:12px}.user-chip>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff2e6;color:#c65f00;font-weight:800}.user-chip b,.user-chip small{display:block;font-size:12px}.user-chip small{color:var(--muted)}.page-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}.page-head h2,.page-head h3{margin:0}.page-sub{color:var(--muted);font-size:13px}.metric-card{padding:18px}.metric-label{color:var(--muted);font-size:13px}.metric-value{font-size:28px;font-weight:800;margin-top:6px}.metric-note{font-size:12px;color:#6b7280}.stat{font-size:1.8rem;font-weight:700}.table-card{overflow:hidden}.table-card .table{margin:0}.table>thead th{font-size:12px;text-transform:uppercase;color:#64748b;background:#f8fafc;border-bottom:1px solid #e5e7eb}.table td,.table th{vertical-align:middle}.badge-soft{background:#fff2e6;color:#c65f00}.btn-warning{background:var(--accent);border-color:var(--accent);color:#fff}.btn-warning:hover{background:#e86d00;border-color:#e86d00;color:#fff}.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.product-card{cursor:pointer;transition:.15s}.product-card:hover{transform:translateY(-2px)}.product-img{height:100px;object-fit:cover;background:#eee}.sticky-cart{position:sticky;top:95px}.low-stock{background:#fff7ed!important}.form-section{padding:18px}.section-title{font-size:14px;font-weight:700;margin-bottom:12px}.kpi-icon{font-size:24px}.quick-link{display:block;text-decoration:none;color:inherit}.quick-link:hover .card{transform:translateY(-2px)}@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.show{transform:translateX(0)}.main-area{margin-left:0}.sidebar-toggle{display:inline-block}.content-wrap{padding:16px}.sticky-cart{position:static}.topbar{padding:0 12px}.user-chip{display:none}}@media(max-width:576px){.topbar-title small{display:none}.page-head{align-items:flex-start;flex-direction:column}.metric-value{font-size:22px}}
.app-footer{padding:12px 24px;color:#6b7280;font-size:12px;text-align:center}.login-body{background:linear-gradient(135deg,#111827,#263449);min-height:100vh}.login-card{border-radius:20px}.login-logo{width:64px;height:64px;border-radius:18px;background:var(--accent);display:grid;place-items:center;font-size:30px;margin:0 auto 14px;box-shadow:0 12px 30px rgba(255,122,0,.25)}

/* v2.2 POS discount + menu image upload */
.product-img{width:100%;height:110px;object-fit:contain;background:#f8fafc;padding:4px}.discount-panel{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:10px}.pos-summary>div{padding:2px 0}.menu-image-preview{width:100%;height:180px;object-fit:contain;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:6px}.image-upload-box{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:12px}.menu-list-thumb{width:46px;height:46px;object-fit:contain;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:2px;flex:0 0 auto}

/* v2.3 classic POS layout + cash tender / discount / hold-pay actions */
.pos-cart-card{overflow:hidden}.pos-cart-items{max-height:310px;overflow:auto;padding-right:2px}.qty-btn{width:30px;height:30px;padding:0;display:grid;place-items:center}.qty-value{min-width:20px;text-align:center}.discount-editor{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:10px}.pos-summary>div{padding:2px 0}.cash-summary{font-size:13px}.change-row{color:#0f766e}.pos-actions{display:grid;grid-template-columns:auto auto 1fr;gap:8px}.pos-actions .btn{min-height:44px;font-weight:700}.pos-actions .btn-warning{display:flex;align-items:center;justify-content:space-between;gap:8px}.pos-actions #discountToggle{white-space:nowrap}@media(max-width:575px){.pos-actions{grid-template-columns:1fr 1fr}.pos-actions #payBtn{grid-column:1/-1}.pos-cart-items{max-height:none}}

/* v2.3.1 POS DESIGN LOCK — keep the approved v2.3 screenshot layout stable. */
.pos-design-lock .discount-editor[hidden]{display:none!important}
.pos-design-lock .pos-cart-card{overflow:hidden}
.pos-design-lock .pos-cart-items{max-height:310px;overflow:auto;padding-right:2px}
.pos-design-lock .pos-actions{display:grid;grid-template-columns:auto auto 1fr;gap:8px}
.pos-design-lock .pos-actions .btn{min-height:44px;font-weight:700}
.pos-design-lock #discountToggle.active{border-color:var(--accent);color:#c65f00;background:#fff7ed}
@media(max-width:575px){.pos-design-lock .pos-actions{grid-template-columns:1fr 1fr}.pos-design-lock .pos-actions #payBtn{grid-column:1/-1}.pos-design-lock .pos-cart-items{max-height:none}}
