/* ===== WP POS PRO v1.2 — Acomm-Style Sidebar UI ===== */
:root {
  --p:       #6c2bd9;   /* sidebar purple */
  --p2:      #7c3aed;
  --p3:      #ede9fe;   /* purple tint bg */
  --acc:     #f59e0b;   /* amber accent */
  --acc2:    #fef3c7;
  --bg:      #f4f6fb;   /* page bg */
  --card:    #ffffff;
  --border:  #e8eaf0;
  --txt:     #1e1b4b;
  --txt2:    #6b7280;
  --green:   #10b981;
  --red:     #ef4444;
  --blue:    #3b82f6;
  --orange:  #f97316;
  --r:       10px;
  --shadow:  0 2px 10px rgba(108,43,217,.08);
  --shadow2: 0 4px 20px rgba(108,43,217,.14);
  --font:    13px;
  --sidebar: 210px;
}
.wppos-root*{box-sizing:border-box;margin:0;padding:0;}
.wppos-root{
  font-family:'Segoe UI',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:var(--font);
  background:var(--bg);
  display:flex;
  min-height:100vh;
  color:var(--txt);
}
.wppos-root ::-webkit-scrollbar{width:4px;height:4px;}
.wppos-root ::-webkit-scrollbar-thumb{background:var(--p3);border-radius:4px;}
.wppos-root ::-webkit-scrollbar-track{background:transparent;}

/* ============================================================
   SIDEBAR
   ============================================================ */
.wppos-sidebar{
  width:var(--sidebar);
  background:var(--p);
  display:flex;
  flex-direction:column;
  min-height:100vh;
  flex-shrink:0;
  position:sticky;
  top:0;
  height:100vh;
  overflow-y:auto;
  z-index:300;
  transition:width .3s;
}

/* Brand */
.wppos-brand{
  display:flex;align-items:center;gap:10px;
  padding:14px 12px 12px;
  border-bottom:1px solid rgba(255,255,255,.1);
  flex-shrink:0;position:relative;
}
/* Sidebar toggle button (inside brand) */
.wppos-sidebar-toggle{
  margin-left:auto;background:rgba(255,255,255,.12);
  border:none;color:#fff;border-radius:6px;
  width:26px;height:26px;cursor:pointer;
  font-size:11px;font-weight:700;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  transition:.2s;
}
.wppos-sidebar-toggle:hover{background:rgba(255,255,255,.25);}
/* Sidebar show button in topbar */
.wppos-sidebar-show-btn{
  width:34px;height:34px;flex-shrink:0;
  background:var(--p);color:#fff;border:none;
  border-radius:8px;cursor:pointer;font-size:16px;
  display:flex;align-items:center;justify-content:center;
  margin-right:4px;transition:.2s;
}
.wppos-sidebar-show-btn:hover{background:var(--p2);}
/* Collapsed sidebar */
.wppos-sidebar.wppos-sidebar-hidden{
  width:0!important;overflow:hidden;padding:0;min-width:0;
  transition:width .25s;
}
.wppos-sidebar.wppos-sidebar-hidden *{opacity:0;pointer-events:none;}
/* Show button outside sidebar */
.wppos-sidebar-show-btn{
  position:fixed;top:50%;left:0;transform:translateY(-50%);
  z-index:200;background:var(--p);color:#fff;border:none;
  padding:8px 6px;border-radius:0 8px 8px 0;cursor:pointer;
  font-size:16px;box-shadow:2px 2px 8px rgba(0,0,0,.2);
}
.wppos-brand-icon{
  width:38px;height:38px;
  background:var(--acc);
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;flex-shrink:0;
  box-shadow:0 3px 10px rgba(245,158,11,.4);
}
.wppos-brand-text{color:#fff;}
.wppos-brand-name{font-size:14px;font-weight:800;line-height:1.2;}
.wppos-brand-sub{font-size:10px;opacity:.6;font-weight:500;}

/* Nav items */
.wppos-nav{padding:10px 0;flex:1;}
.wppos-nav-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 16px;
  color:rgba(255,255,255,.7);
  cursor:pointer;
  border-radius:0;
  font-size:13px;font-weight:600;
  transition:all .18s;
  position:relative;
  border-left:3px solid transparent;
}
.wppos-nav-item:hover{
  background:rgba(255,255,255,.1);
  color:#fff;
}
.wppos-nav-item.wppos-nav-active{
  background:rgba(255,255,255,.15);
  color:#fff;
  border-left-color:var(--acc);
}
.wppos-nav-item.wppos-nav-active .wppos-nav-icon{opacity:1;}
.wppos-nav-icon{font-size:17px;flex-shrink:0;opacity:.75;width:22px;text-align:center;}
.wppos-nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.wppos-nav-divider{height:1px;background:rgba(255,255,255,.1);margin:6px 14px;}

/* Download btn in sidebar */
.wppos-nav-download{
  margin:10px 14px 6px;
  padding:10px 14px;
  background:rgba(245,158,11,.2);
  border:1.5px solid var(--acc);
  border-radius:var(--r);
  color:var(--acc);
  cursor:pointer;
  font-size:12px;font-weight:800;
  display:flex;align-items:center;gap:8px;
  transition:.2s;
}
.wppos-nav-download:hover{background:var(--acc);color:#1f2937;}

/* User at bottom */
.wppos-sidebar-user{
  padding:12px 14px;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;gap:10px;
  flex-shrink:0;
}
.wppos-sidebar-avatar{
  width:34px;height:34px;
  background:var(--acc);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:800;color:#1f2937;
  flex-shrink:0;
}
.wppos-sidebar-uname{font-size:12px;font-weight:700;color:#fff;line-height:1.2;}
.wppos-sidebar-urole{font-size:10px;color:rgba(255,255,255,.5);}

/* ============================================================
   MAIN AREA
   ============================================================ */
.wppos-main{
  flex:1;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:100vh;
}

/* Top header bar */
.wppos-topbar{
  background:var(--card);
  border-bottom:1px solid var(--border);
  padding:0 20px;
  height:54px;
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;
  position:sticky;top:0;z-index:100;
  flex-shrink:0;
}
.wppos-topbar-left{display:flex;align-items:center;gap:10px;}
.wppos-topbar-title{font-size:15px;font-weight:800;color:var(--txt);}
.wppos-topbar-right{display:flex;align-items:center;gap:8px;}

/* Order tabs in topbar */
/* ---- Order Tabs ---- */
.wppos-tabs-area{
  display:flex;align-items:center;gap:6px;margin-left:8px;
  flex:1;min-width:0;overflow:hidden;
}
.wppos-tab-bar{
  display:flex;align-items:center;gap:4px;
  overflow-x:auto;flex:1;min-width:0;
  padding-bottom:1px;
}
.wppos-tab-bar::-webkit-scrollbar{height:2px;}
.wppos-tab-bar::-webkit-scrollbar-thumb{background:var(--p3);}
.wppos-tab{
  display:inline-flex;align-items:center;gap:4px;
  padding:5px 8px 5px 11px;
  background:var(--p3);border:1.5px solid transparent;
  color:var(--p);border-radius:8px;
  cursor:pointer;font-size:11.5px;font-weight:700;
  white-space:nowrap;flex-shrink:0;
  transition:.15s;
}
.wppos-tab:hover{background:#ddd6fe;border-color:var(--p);}
.wppos-tab.wppos-tab-active{
  background:var(--p);color:#fff;border-color:var(--p);
  box-shadow:0 2px 8px rgba(108,43,217,.3);
}
/* Busy tab = has items */
.wppos-tab.wppos-tab-busy{
  border-color:#f59e0b;background:#fef3c7;color:#92400e;
}
.wppos-tab.wppos-tab-busy.wppos-tab-active{
  background:var(--p);color:#fff;border-color:var(--p);
  box-shadow:0 2px 8px rgba(108,43,217,.3);
}
.wppos-tab-close{
  width:13px;height:13px;border:none;
  background:rgba(0,0,0,.12);color:inherit;
  border-radius:3px;cursor:pointer;
  font-size:8px;font-weight:900;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
  transition:.12s;flex-shrink:0;
}
.wppos-tab-close:hover{background:rgba(220,38,38,.25);color:#dc2626;}
.wppos-new-tab-btn{
  width:28px;height:28px;flex-shrink:0;
  background:var(--acc);color:#1f2937;
  border:none;border-radius:8px;
  cursor:pointer;font-size:18px;font-weight:900;
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 2px 6px rgba(245,158,11,.35);
  transition:.15s;
}
.wppos-new-tab-btn:hover{transform:scale(1.1);}

.wppos-topbar-user{
  display:flex;align-items:center;gap:8px;
  font-size:12px;font-weight:700;color:var(--txt2);
}
.wppos-topbar-avatar{
  width:30px;height:30px;
  background:var(--p);color:#fff;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:800;
}

/* ============================================================
   PAGE CONTENT
   ============================================================ */
.wppos-content{flex:1;padding:20px;overflow-y:auto;}
.wppos-page{display:none;}
.wppos-page-active{display:block;}

/* Page header */
.wppos-page-hdr{
  display:flex;justify-content:space-between;align-items:flex-start;
  margin-bottom:20px;flex-wrap:wrap;gap:10px;
}
.wppos-page-hdr-left{}
.wppos-page-hdr-title{
  font-size:1.5em;font-weight:800;color:var(--txt);
  display:flex;align-items:center;gap:8px;line-height:1.2;
}
.wppos-page-hdr-sub{font-size:12px;color:var(--txt2);margin-top:3px;font-weight:500;}
.wppos-page-hdr-right{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}

/* ============================================================
   OPERATIONS GRID (PetPooja-style sections)
   ============================================================ */
.wppos-ops-section-title{
  font-size:11px;font-weight:800;text-transform:uppercase;
  letter-spacing:.07em;color:#9ca3af;
  margin:20px 0 10px;padding-left:2px;
}
.wppos-ops-section-title:first-of-type{margin-top:4px;}
.wppos-ops-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(110px,1fr));
  gap:12px;
  margin-bottom:4px;
}
.wppos-ops-card{
  background:var(--card);
  border:1.5px solid var(--border);
  border-radius:14px;
  padding:20px 10px 16px;
  cursor:pointer;
  text-align:center;
  transition:all .18s;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  box-shadow:0 1px 4px rgba(0,0,0,.04);
}
.wppos-ops-card:hover{
  box-shadow:0 6px 18px rgba(108,43,217,.13);
  border-color:var(--p3);
  transform:translateY(-2px);
}
.wppos-ops-card:active{transform:scale(.97);}
.wppos-ops-card-icon{
  width:48px;height:48px;
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;
}
.wppos-ops-card-label{font-size:12px;font-weight:700;color:var(--txt);line-height:1.3;}

/* Icon bg colors */
.ic-purple{background:#ede9fe;}
.ic-green{background:#d1fae5;}
.ic-blue{background:#dbeafe;}
.ic-orange{background:#ffedd5;}
.ic-red{background:#fee2e2;}
.ic-yellow{background:#fef3c7;}
.ic-teal{background:#ccfbf1;}
.ic-pink{background:#fce7f3;}

/* ============================================================
   POS LAYOUT
   ============================================================ */
.wppos-pos-layout{
  display:grid;grid-template-columns:2fr 1fr;gap:16px;
}

/* Products */
.wppos-products-section{
  background:var(--card);padding:16px;
  border-radius:var(--r);border:1px solid var(--border);
  box-shadow:var(--shadow);
}
.wppos-search-input{
  width:100%;padding:9px 14px;
  background:#f8f8fc;
  border:1.5px solid var(--border);border-radius:8px;
  font-size:13px;font-family:inherit;color:var(--txt);
  transition:.2s;
}
.wppos-search-input:focus{outline:none;border-color:var(--p);background:#fff;}
.wppos-search-input::placeholder{color:#aaa;}
.wppos-search-row{margin-bottom:12px;}

.wppos-cat-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;}
.wppos-cat-btn{
  padding:5px 13px;
  background:var(--card);border:1.5px solid var(--border);
  border-radius:18px;cursor:pointer;
  font-size:11.5px;font-weight:700;color:var(--txt2);
  transition:.18s;
}
.wppos-cat-btn:hover,.wppos-cat-btn.wppos-cat-active{
  background:var(--p);color:#fff;border-color:var(--p);
}

.wppos-products-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  gap:10px;max-height:500px;overflow-y:auto;padding-right:2px;
}
.wppos-product-card{
  background:#fafafa;
  border:1.5px solid var(--border);
  border-radius:var(--r);padding:10px;
  cursor:pointer;text-align:center;
  transition:all .18s;
}
.wppos-product-card:hover{
  border-color:var(--p);
  box-shadow:0 4px 14px rgba(108,43,217,.14);
  background:#fff;transform:translateY(-2px);
}
.wppos-product-card.wppos-out-of-stock{opacity:.45;cursor:not-allowed;}
.wppos-prod-icon{
  background:linear-gradient(135deg,var(--p),var(--p2));
  height:72px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.7em;margin-bottom:7px;
}
.wppos-prod-img{width:100%;height:72px;object-fit:cover;border-radius:8px;margin-bottom:7px;}
.wppos-prod-name{font-weight:700;font-size:11px;color:var(--txt);margin-bottom:3px;line-height:1.3;}
.wppos-prod-price{color:var(--p);font-weight:800;font-size:13px;}
.wppos-prod-stock{font-size:10px;color:#bbb;margin-top:2px;}
.wppos-card-minimal .wppos-prod-icon,.wppos-card-minimal .wppos-prod-img{display:none;}
.wppos-card-rounded{border-radius:18px;}
.wppos-loading{text-align:center;padding:30px;color:#bbb;}
.wppos-empty-cart{text-align:center;padding:24px;color:#bbb;font-size:12px;}

/* Billing */
.wppos-billing-section{
  background:var(--card);padding:14px;
  border-radius:var(--r);border:1px solid var(--border);
  box-shadow:var(--shadow);
  display:flex;flex-direction:column;gap:9px;
}
.wppos-cust-row{display:flex;gap:7px;}
.wppos-cust-row .wppos-input{flex:1;min-width:0;}
.wppos-input{
  width:100%;padding:8px 11px;
  border:1.5px solid var(--border);border-radius:8px;
  font-size:var(--font);font-family:inherit;color:var(--txt);
  background:#fff;transition:.18s;
}
.wppos-input:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 3px rgba(108,43,217,.08);}
select.wppos-input{cursor:pointer;}
textarea.wppos-input{resize:vertical;}

.wppos-cart-title{
  font-size:13px;font-weight:800;color:var(--txt);
  padding-bottom:8px;border-bottom:1.5px solid var(--border);
  display:flex;align-items:center;gap:6px;
}
.wppos-cart-items{flex:1;overflow-y:auto;max-height:200px;}
.wppos-cart-item{
  background:#fafafe;border:1px solid var(--border);
  padding:8px 10px;margin-bottom:5px;border-radius:8px;
  display:flex;justify-content:space-between;align-items:center;gap:6px;
}
.wppos-ci-name{font-weight:700;font-size:12px;color:var(--txt);}
.wppos-ci-price{color:var(--p);font-size:11px;font-weight:600;}
.wppos-ci-controls{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.wppos-qty-btn{
  width:24px;height:24px;border:none;
  background:var(--p);color:#fff;border-radius:5px;
  cursor:pointer;font-size:15px;transition:.15s;
  display:flex;align-items:center;justify-content:center;
}
.wppos-qty-btn:hover{background:var(--p2);}
.wppos-qty-display{min-width:22px;text-align:center;font-weight:800;font-size:12px;}
.wppos-remove-ci{
  background:#fee2e2;color:var(--red);border:none;
  padding:3px 7px;border-radius:5px;cursor:pointer;font-size:10px;font-weight:700;transition:.15s;
}
.wppos-remove-ci:hover{background:var(--red);color:#fff;}

/* Coupon */
.wppos-coupon-applied{
  display:flex;justify-content:space-between;align-items:center;
  background:#ecfdf5;border:1px solid #6ee7b7;
  padding:7px 10px;border-radius:8px;font-size:12px;font-weight:700;color:#065f46;
}
.wppos-remove-coupon{background:none;border:none;color:var(--red);cursor:pointer;font-size:12px;font-weight:700;}
.wppos-coupon-row{display:flex;gap:6px;}
.wppos-coupon-input{
  flex:1;padding:8px 11px;border:1.5px solid var(--border);border-radius:8px;
  font-size:var(--font);font-family:inherit;background:#fafafa;transition:.2s;
}
.wppos-coupon-input:focus{outline:none;border-color:var(--p);}
.wppos-coupon-btn{
  padding:8px 13px;background:var(--acc);color:#1f2937;
  border:none;border-radius:8px;cursor:pointer;font-size:12px;font-weight:800;transition:.18s;
}
.wppos-coupon-btn:hover{background:#d97706;}

/* Summary */
.wppos-summary{
  background:linear-gradient(135deg,#fafafe,#f3f0ff);
  border:1.5px solid var(--p3);padding:11px 12px;border-radius:10px;
}
.wppos-sum-row{display:flex;justify-content:space-between;padding:3px 0;font-size:12.5px;color:var(--txt2);}
.wppos-discount-row{color:var(--green);font-weight:700;}
.wppos-total-row{font-size:18px;font-weight:800;color:var(--p);border-top:2px solid var(--p3);margin-top:6px;padding-top:7px;}

.wppos-action-row{display:flex;gap:8px;padding:0 0 2px;}
.wppos-action-row-2{margin-top:6px;}
.wppos-btn-kot{
  flex:1;background:#1e1b4b;color:#fff;
  border:none;border-radius:8px;padding:10px 6px;
  font-size:12px;font-weight:700;cursor:pointer;
  transition:.15s;
}
.wppos-btn-kot:hover{background:#2d2a5e;}
.wppos-btn-due{
  flex:1.5;background:#fff3cd;color:#92400e;
  border:1.5px solid #fcd34d;border-radius:8px;padding:10px 6px;
  font-size:12px;font-weight:700;cursor:pointer;
  transition:.15s;
}
.wppos-btn-due:hover{background:#fef3c7;}
.wppos-action-row .wppos-btn-clear{flex:1;}
.wppos-action-row .wppos-btn-pay{flex:2;}

/* ============================================================
   BUTTONS
   ============================================================ */
.wppos-btn{
  padding:9px 18px;border:none;border-radius:8px;
  cursor:pointer;font-size:13px;font-weight:700;
  transition:all .18s;font-family:inherit;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
}
.wppos-btn:hover{transform:translateY(-1px);}
.wppos-btn:active{transform:translateY(0);}
.wppos-btn-cancel{background:#f3f4f6;color:#374151;border:1.5px solid #d1d5db;}
.wppos-btn-cancel:hover{background:#e5e7eb;}
.wppos-btn-pay{background:var(--p);color:#fff;box-shadow:0 3px 10px rgba(108,43,217,.3);}
.wppos-btn-pay:hover{background:var(--p2);box-shadow:0 5px 16px rgba(108,43,217,.4);}
.wppos-btn-clear{background:#fee2e2;color:var(--red);border:1.5px solid #fca5a5;}
.wppos-btn-clear:hover{background:var(--red);color:#fff;border-color:var(--red);}
.wppos-btn-add{background:var(--acc);color:#1f2937;box-shadow:0 2px 8px rgba(245,158,11,.25);}
.wppos-btn-add:hover{background:#d97706;}
.wppos-btn-filter{background:var(--p);color:#fff;}
.wppos-btn-sm{
  padding:4px 10px;border:none;border-radius:5px;
  cursor:pointer;font-size:11px;color:#fff;font-weight:700;margin-right:3px;transition:.15s;
}
.wppos-btn-sm:hover{opacity:.85;}
.wppos-btn-edit{background:var(--green);}
.wppos-btn-del{background:var(--red);}
.wppos-btn-view{background:var(--p);}

/* ============================================================
   STAT CARDS
   ============================================================ */
.wppos-stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px;}
.wppos-stat-card{
  background:var(--card);padding:16px 18px;
  border-radius:var(--r);border:1px solid var(--border);
  box-shadow:var(--shadow);
  position:relative;overflow:hidden;
}
.wppos-stat-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;}
.wppos-stat-icon{
  width:36px;height:36px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;font-size:16px;
}
.wppos-stat-badge{
  font-size:10.5px;font-weight:800;
  padding:2px 7px;border-radius:12px;
}
.wppos-stat-badge-up{background:#d1fae5;color:#065f46;}
.wppos-stat-badge-down{background:#fee2e2;color:#991b1b;}
.wppos-stat-card h3{color:var(--txt2);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;}
.wppos-stat-val{font-size:1.7em;font-weight:800;color:var(--txt);letter-spacing:-.5px;}

/* ============================================================
   FILTERS + TABLES
   ============================================================ */
.wppos-filters{
  background:var(--card);padding:14px;border-radius:var(--r);
  margin-bottom:14px;display:flex;gap:12px;flex-wrap:wrap;
  box-shadow:var(--shadow);border:1px solid var(--border);
}
.wppos-filter-group{flex:1;min-width:140px;}
.wppos-filter-group label{display:block;margin-bottom:4px;font-weight:700;font-size:11px;color:var(--txt2);text-transform:uppercase;letter-spacing:.4px;}

.wppos-table-wrap{background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);overflow-x:auto;}
.wppos-table{width:100%;border-collapse:collapse;min-width:500px;}
.wppos-table th{background:var(--p);color:#fff;padding:11px 14px;text-align:left;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;}
.wppos-table td{padding:9px 14px;border-bottom:1px solid #f3f4f6;font-size:12.5px;}
.wppos-table tbody tr:hover td{background:#fafafe;}
.wppos-table tbody tr:last-child td{border-bottom:none;}
.wppos-table-empty{text-align:center;padding:30px;color:#bbb;font-style:italic;}
.wppos-status-badge{padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700;}

/* ============================================================
   ITEMS / COUPONS GRIDS
   ============================================================ */
.wppos-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;}
.wppos-item-card{
  background:var(--card);padding:16px;border-radius:var(--r);
  box-shadow:var(--shadow);border:1px solid var(--border);transition:.2s;
}
.wppos-item-card:hover{box-shadow:var(--shadow2);border-color:var(--p3);}
.wppos-item-card h3{font-size:13.5px;margin-bottom:8px;color:var(--txt);}
.wppos-item-detail{font-size:12px;color:var(--txt2);margin-bottom:3px;}
.wppos-item-actions{display:flex;gap:7px;margin-top:12px;}
.wppos-item-actions .wppos-btn-sm{flex:1;padding:8px;font-size:12px;border-radius:7px;}

.wppos-coupon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;}
.wppos-coupon-card{
  background:var(--card);border:1.5px solid var(--border);
  padding:16px;border-radius:var(--r);box-shadow:var(--shadow);transition:.2s;
}
.wppos-coupon-card:hover{border-color:var(--p);}
.wppos-coupon-code{
  font-size:16px;font-weight:800;color:var(--p);
  font-family:'Courier New',monospace;letter-spacing:2px;
  background:var(--p3);padding:6px 10px;border-radius:6px;display:inline-block;margin-bottom:8px;
}
.wppos-coupon-detail{font-size:12px;color:var(--txt2);margin-bottom:3px;}
.wppos-coupon-actions{display:flex;gap:6px;margin-top:12px;}
.wppos-coupon-actions .wppos-btn-sm{flex:1;padding:8px;font-size:12px;border-radius:7px;}

/* ============================================================
   SETTINGS
   ============================================================ */
.wppos-settings-container{max-width:680px;}
.wppos-settings-section{
  background:var(--card);padding:20px;border-radius:var(--r);
  margin-bottom:14px;box-shadow:var(--shadow);border:1px solid var(--border);
}
.wppos-settings-section h3{
  font-size:13px;font-weight:800;margin-bottom:14px;color:var(--p);
  border-bottom:2px solid var(--p3);padding-bottom:8px;
  display:flex;align-items:center;gap:6px;
}
.wppos-form-group{margin-bottom:12px;}
.wppos-form-group label{display:block;margin-bottom:4px;font-weight:700;font-size:11.5px;color:#374151;}
.wppos-toggle-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;}
.wppos-toggle{position:relative;width:44px;height:24px;flex-shrink:0;}
.wppos-toggle input{opacity:0;width:0;height:0;}
.wppos-toggle-slider{position:absolute;inset:0;background:#d1d5db;border-radius:24px;cursor:pointer;transition:.3s;}
.wppos-toggle-slider:before{content:'';position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s;box-shadow:0 1px 4px rgba(0,0,0,.2);}
.wppos-toggle input:checked+.wppos-toggle-slider{background:var(--p);}
.wppos-toggle input:checked+.wppos-toggle-slider:before{transform:translateX(20px);}
.wppos-logo-upload{
  border:2px dashed #ddd6fe;border-radius:10px;padding:16px;
  text-align:center;cursor:pointer;background:#fafafe;transition:.2s;
  min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:var(--p);font-weight:700;font-size:13px;gap:4px;
}
.wppos-logo-upload:hover{border-color:var(--p);background:var(--p3);}
.wppos-remove-logo{background:none;border:none;color:var(--red);font-size:12px;cursor:pointer;font-weight:700;margin-top:6px;padding:0;}

/* ============================================================
   MODALS
   ============================================================ */
.wppos-modal{
  display:none;position:fixed;inset:0;
  background:rgba(15,5,40,.55);
  z-index:600;justify-content:center;align-items:center;
  padding:16px;backdrop-filter:blur(4px);
}
.wppos-modal.wppos-open{display:flex;}
.wppos-modal-inner{
  background:var(--card);padding:24px;border-radius:16px;
  width:100%;max-width:460px;max-height:90vh;overflow-y:auto;
  box-shadow:0 20px 60px rgba(108,43,217,.2);
  animation:posSlide .26s cubic-bezier(.4,0,.2,1);
}
@keyframes posSlide{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.wppos-modal-inner h2{
  font-size:1.15em;margin-bottom:16px;color:var(--txt);font-weight:800;
  display:flex;align-items:center;gap:8px;
  padding-bottom:12px;border-bottom:1.5px solid var(--border);
}
.wppos-modal-actions{display:flex;gap:8px;margin-top:18px;}
.wppos-modal-actions .wppos-btn{flex:1;padding:11px;font-size:13.5px;}

/* Payment */
.wppos-split-toggle-row{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:14px;font-weight:700;font-size:13px;
  background:#fafafe;padding:9px 12px;border-radius:8px;border:1px solid var(--border);
}
.wppos-pay-methods{display:flex;gap:8px;margin-bottom:14px;}
.wppos-pay-btn{
  flex:1;padding:11px 6px;border:2px solid var(--border);background:#fff;
  border-radius:10px;cursor:pointer;text-align:center;transition:.18s;
  display:flex;flex-direction:column;align-items:center;gap:5px;
}
.wppos-pay-btn:hover{border-color:var(--p);background:#fafafe;}
.wppos-pay-btn.wppos-pay-active{border-color:var(--p);background:var(--p);color:#fff;box-shadow:0 3px 10px rgba(108,43,217,.3);}
.wppos-pay-icon{font-size:20px;}
.wppos-pay-btn span:last-child{font-size:11.5px;font-weight:700;}
.wppos-change-row{
  background:#d1fae5;border:1px solid #6ee7b7;
  padding:9px 14px;border-radius:8px;
  display:flex;justify-content:space-between;font-weight:800;color:#065f46;margin-bottom:12px;
}
.wppos-pay-info{background:#fafafe;border:1px solid var(--border);padding:12px;border-radius:10px;margin-bottom:14px;}
.wppos-pay-info-row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px;}
.wppos-pay-info-total{font-weight:800;font-size:17px;color:var(--p);border-top:2px solid var(--border);margin-top:7px;padding-top:7px;}
.wppos-add-split{width:100%;background:none;border:2px dashed var(--p);color:var(--p);padding:8px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:700;margin-top:6px;transition:.2s;}
.wppos-add-split:hover{background:var(--p3);}
.wppos-split-row{display:flex;gap:7px;align-items:center;margin-bottom:8px;}
.wppos-split-row select,.wppos-split-row input{padding:8px 10px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;font-family:inherit;}
.wppos-split-row select{width:110px;flex-shrink:0;}
.wppos-split-row input{flex:1;}
.wppos-split-row .wppos-split-remove{background:#fee2e2;color:var(--red);border:none;width:30px;height:30px;border-radius:7px;cursor:pointer;font-size:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.wppos-split-row .wppos-split-remove:hover{background:var(--red);color:#fff;}

/* Receipt */
.wppos-receipt-modal{max-width:340px!important;font-family:'Courier New',monospace;}
.wppos-receipt{padding:16px;background:#fff;border-radius:8px;}
.wppos-r-center{text-align:center;margin-bottom:8px;}
.wppos-r-store{font-size:15px;font-weight:800;}
.wppos-r-addr{font-size:11px;color:#666;margin-top:2px;}
.wppos-r-div{border:none;border-top:2px dashed #ccc;margin:8px 0;}
.wppos-r-solid{border-top-style:solid;border-color:#333;}
.wppos-r-row{display:flex;justify-content:space-between;font-size:12px;margin-bottom:3px;}
.wppos-r-item-name{flex:1;font-weight:600;}
.wppos-r-item-qty{font-size:10px;color:var(--p);display:block;margin-top:1px;}
.wppos-r-total{display:flex;justify-content:space-between;font-size:16px;font-weight:800;color:var(--p);margin:6px 0;}
.wppos-r-footer{font-size:11px;color:#999;text-align:center;margin-top:8px;}
.wppos-receipt-btns{display:flex;gap:7px;margin-top:14px;}
.wppos-rcpt-wa{flex:1;padding:10px;background:#25d366;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:12px;font-weight:700;}
.wppos-rcpt-sms{flex:1;padding:10px;background:var(--p);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:12px;font-weight:700;}
.wppos-rcpt-print{flex:1;padding:10px;background:var(--green);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:12px;font-weight:700;}

/* ============================================================
   REPORT FILTERS (Today / Last 7 Days / Custom)
   ============================================================ */
.wppos-rpt-tabs{display:flex;gap:8px;flex-wrap:wrap;}
.wppos-rpt-tab{
  padding:7px 16px;border:1.5px solid var(--border);background:var(--card);
  border-radius:8px;cursor:pointer;font-size:12px;font-weight:700;color:var(--txt2);transition:.18s;
}
.wppos-rpt-tab.active,.wppos-rpt-tab:hover{background:var(--p);color:#fff;border-color:var(--p);}

/* ============================================================
   TOAST
   ============================================================ */
.wppos-toast{
  position:fixed;bottom:24px;left:50%;
  transform:translateX(-50%) translateY(80px);
  background:#1f2937;color:#fff;
  padding:10px 22px;border-radius:10px;
  font-size:13px;font-weight:700;z-index:9999;
  opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);
  box-shadow:0 6px 20px rgba(0,0,0,.2);white-space:nowrap;max-width:90vw;
}
.wppos-toast.wppos-toast-show{opacity:1;transform:translateX(-50%) translateY(0);}
.wppos-toast.wppos-toast-success{background:var(--green);}
.wppos-toast.wppos-toast-error{background:var(--red);}

/* Login */
.wppos-login-required{padding:48px;text-align:center;background:var(--card);border-radius:var(--r);margin:20px;box-shadow:var(--shadow);}
.wppos-login-required a{color:var(--p);font-weight:800;}

/* ============================================================
   PRINT
   ============================================================ */
@media print{
  body *{visibility:hidden!important;}
  .wppos-receipt,.wppos-receipt *{visibility:visible!important;}
  .wppos-receipt{position:fixed!important;top:0;left:0;width:340px;}
  .wppos-receipt-btns,.wppos-modal-inner>.wppos-btn{display:none!important;}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:900px){
  :root{--sidebar:60px;}
  .wppos-brand-text,.wppos-nav-label,.wppos-sidebar-uname,.wppos-sidebar-urole,.wppos-nav-download span:last-child{display:none;}
  .wppos-brand{justify-content:center;padding:14px 0;}
  .wppos-nav-item{justify-content:center;padding:12px;border-left:none;border-bottom:3px solid transparent;}
  .wppos-nav-item.wppos-nav-active{border-bottom-color:var(--acc);}
  .wppos-nav-icon{width:auto;font-size:18px;}
  .wppos-sidebar-user{justify-content:center;}
  .wppos-nav-download{justify-content:center;padding:10px;}
  .wppos-pos-layout{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .wppos-content{padding:12px;}
  .wppos-products-grid{grid-template-columns:repeat(3,1fr);}
  .wppos-stats-cards{grid-template-columns:repeat(2,1fr);}
  .wppos-filters{flex-direction:column;}
  .wppos-items-grid{grid-template-columns:1fr;}
  .wppos-coupon-grid{grid-template-columns:1fr;}
  .wppos-ops-grid{grid-template-columns:repeat(3,1fr);}
  .wppos-topbar-user span:not(.wppos-topbar-avatar){display:none;}
}
@media(max-width:480px){
  .wppos-products-grid{grid-template-columns:repeat(2,1fr);}
  .wppos-stats-cards{grid-template-columns:1fr 1fr;}
  .wppos-ops-grid{grid-template-columns:repeat(2,1fr);}
}

/* ===== KOT (Kitchen Order Ticket) ===== */
.wppos-kot-inner{max-width:520px!important;}
.wppos-kot-header{border-bottom:2px dashed #e5e7eb;padding-bottom:12px;margin-bottom:14px;}
.wppos-kot-header h2{font-size:16px!important;margin-bottom:4px!important;}
.wppos-kot-meta{display:flex;gap:14px;font-size:12px;color:var(--txt2);}
.wppos-kot-table-info{display:flex;gap:10px;margin-bottom:14px;}
.wppos-kot-items{background:#f9fafb;border-radius:8px;border:1px solid var(--border);padding:12px;margin-bottom:12px;}
.wppos-kot-item{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--border);}
.wppos-kot-item:last-child{border-bottom:none;}
.wppos-kot-item-name{font-weight:700;font-size:13px;}
.wppos-kot-item-qty{background:var(--p);color:#fff;border-radius:6px;padding:2px 10px;font-weight:800;font-size:13px;}
.wppos-kot-notes textarea{font-size:12px;}

/* ===== Manager Menu ===== */
.wppos-manager-menu-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;}
.wppos-mgr-item{
  display:flex;align-items:center;justify-content:space-between;
  background:#f8f9ff;border:1px solid var(--border);
  border-radius:8px;padding:10px 14px;
}
.wppos-mgr-item-left{display:flex;align-items:center;gap:10px;font-weight:600;font-size:13px;}
.wppos-mgr-item-icon{font-size:16px;}

/* ===== KOT Print styles ===== */
@media print {
  .wppos-root > :not(#wpposKotPrintArea) { display: none !important; }
  #wpposKotPrintArea {
    display:block!important;
    font-family:monospace;font-size:12px;width:80mm;
    padding:10px;
  }
  #wpposKotPrintArea .kot-title{text-align:center;font-size:16px;font-weight:800;border-bottom:2px dashed #000;padding-bottom:8px;margin-bottom:10px;}
  #wpposKotPrintArea .kot-meta{font-size:11px;margin-bottom:8px;}
  #wpposKotPrintArea .kot-item{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dashed #ccc;font-size:13px;}
  #wpposKotPrintArea .kot-item-qty{font-weight:800;}
  #wpposKotPrintArea .kot-footer{text-align:center;margin-top:10px;border-top:2px dashed #000;padding-top:8px;}
}

/* ===== LOGOUT BUTTON ===== */
.wppos-logout-btn {
  display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:8px;
  color:rgba(255,255,255,.6); background:transparent;
  transition:.2s; flex-shrink:0; text-decoration:none;
}
.wppos-logout-btn:hover { background:rgba(255,255,255,.15); color:#fff; }

/* Sidebar user row - make room for logout */
.wppos-sidebar-user { display:flex; align-items:center; gap:10px; }

/* ===== MY PLAN page loading ===== */
#wpposMyPlanContent .wppos-loading { padding:40px; text-align:center; color:#6b7280; }


/* ===== TABLE ORDER NOTIFICATION ALERT ===== */
@keyframes wpposSlideIn {
  from { transform: translateX(120%); opacity: 0; }
  to   { transform: translateX(0);    opacity: 1; }
}
#wpposOrderAlert { animation: wpposSlideIn .35s cubic-bezier(.34,1.2,.64,1); }

/* Nav badge pulse */
.wppos-nav-badge {
  animation: wpposBadgePulse 2s infinite;
}
@keyframes wpposBadgePulse {
  0%,100% { transform: scale(1); }
  50%      { transform: scale(1.2); }
}

/* ===== TOGGLE SWITCH ===== */
.wppos-toggle-switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0;}
.wppos-toggle-switch input{opacity:0;width:0;height:0;}
.wppos-toggle-slider{position:absolute;cursor:pointer;inset:0;background:#d1d5db;border-radius:22px;transition:.25s;}
.wppos-toggle-slider:before{content:'';position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.25s;}
.wppos-toggle-switch input:checked + .wppos-toggle-slider{background:var(--p);}
.wppos-toggle-switch input:checked + .wppos-toggle-slider:before{transform:translateX(18px);}

/* ===== SIDEBAR COLLAPSED ===== */
.wppos-sidebar{transition:width .25s;}
.wppos-sidebar.collapsed .wppos-nav-label{display:none;}
.wppos-sidebar.collapsed .wppos-brand-name{display:none;}
.wppos-sidebar.collapsed{width:56px!important;}
.wppos-sidebar.collapsed .wppos-nav-item{justify-content:center;padding:10px 0;}
.wppos-sidebar.collapsed .wppos-nav-icon{font-size:20px;}
.wppos-sidebar.collapsed .wppos-nav-badge{display:none!important;}
.wppos-sidebar-toggle{
  position:absolute;top:50%;right:-12px;transform:translateY(-50%);
  width:22px;height:22px;background:var(--p);color:#fff;border:none;
  border-radius:50%;cursor:pointer;font-size:11px;z-index:20;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
}

/* ===== PRODUCT CARD SIZES ===== */
.wppos-card-sm .wppos-prod-img,
.wppos-card-sm .wppos-prod-icon { height:50px; }
.wppos-card-sm .wppos-prod-name { font-size:10px; }
.wppos-card-sm .wppos-prod-price { font-size:11px; }
.wppos-card-sm { padding:7px; }

.wppos-card-lg .wppos-prod-img,
.wppos-card-lg .wppos-prod-icon { height:100px; }
.wppos-card-lg .wppos-prod-name { font-size:13px; }
.wppos-card-lg .wppos-prod-price { font-size:15px; }
.wppos-card-lg { padding:13px; }

/* List view */
.wppos-card-list {
  display:flex!important;flex-direction:row!important;
  align-items:center;gap:10px;padding:9px 12px;text-align:left;
}
.wppos-card-list .wppos-prod-img,
.wppos-card-list .wppos-prod-icon { width:42px;height:42px;flex-shrink:0;margin-bottom:0; }
.wppos-card-list .wppos-prod-name { font-size:12px;flex:1; }
.wppos-card-list .wppos-prod-price { font-size:13px;margin-left:auto; }
.wppos-card-list .wppos-prod-stock { display:none; }

/* Category label on card */
.wppos-prod-cat {
  font-size:9px;font-weight:700;text-transform:uppercase;
  color:#9ca3af;letter-spacing:.05em;margin-bottom:2px;
}
