/* ===== GLASS (CARDS) ===== */
.glass{
  background:var(--bg-card);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  padding:24px;transition:var(--transition);
}
[data-theme="dark"] .glass{backdrop-filter:blur(20px)}
.glass:hover{border-color:var(--border-hover);box-shadow:var(--shadow-hover)}
.glass-light{
  background:var(--bg-card-light);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-md);
  transition:var(--transition);
}
[data-theme="dark"] .glass-light{backdrop-filter:blur(10px)}

/* ===== BUTTONS ===== */
.btn{
  padding:10px 22px;border-radius:var(--radius-sm);
  font-weight:700;cursor:pointer;transition:var(--transition);
  font-family:inherit;border:none;font-size:13px;
  display:inline-flex;align-items:center;justify-content:center;
  gap:7px;white-space:nowrap;line-height:1.4;
}
.btn-primary{background:#0d9488;color:#fff;box-shadow:0 4px 14px rgba(13,148,136,0.2)}
.btn-primary:hover{background:#0f766e;transform:translateY(-1px);box-shadow:0 8px 20px rgba(13,148,136,0.3)}
.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}
.btn-success:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(16,185,129,0.3)}
.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}
.btn-danger:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(239,68,68,0.3)}
.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}
.btn-info{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}
.btn-info:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(59,130,246,0.3)}
.btn-ghost{
  background:rgba(13,148,136,0.06);color:var(--text-secondary);
  border:1px solid var(--border-subtle);
}
.btn-ghost:hover{background:rgba(13,148,136,0.1);color:#0d9488;border-color:rgba(13,148,136,0.2)}
.btn:active:not(:disabled){transform:scale(0.96)!important;box-shadow:none!important}
.btn:disabled{opacity:0.4;cursor:not-allowed;transform:none!important}

/* ===== INPUTS ===== */
.inp,select.inp,textarea.inp{
  width:100%;padding:12px 16px;
  border:2px solid var(--border-input);
  border-radius:var(--radius-sm);
  background:var(--bg-input)!important;
  color:var(--text-primary)!important;
  font-family:inherit;font-size:14px;
  box-sizing:border-box;transition:var(--transition);
  margin:0;line-height:1.5;min-height:46px;
  -webkit-appearance:none;
}
.inp:focus{
  outline:none;border-color:#0d9488;
  box-shadow:0 0 0 3px rgba(13,148,136,0.1);
  background:var(--bg-input-focus)!important;
}
.inp::placeholder{color:var(--text-placeholder)}
select.inp option{background:#f0f1f4;color:var(--text-primary);padding:10px}
[data-theme="dark"] select.inp option{background:#0d0e2c;color:#f1f5f9}
[data-theme="dark"] .inp{color-scheme:dark}
input[type="date"].inp::-webkit-calendar-picker-indicator{filter:invert(0.4);cursor:pointer}
[data-theme="dark"] input[type="date"].inp::-webkit-calendar-picker-indicator{filter:invert(0.7)}
textarea.inp{resize:vertical;min-height:80px}
input[type="file"].inp::file-selector-button{
  background:#0d9488;color:#fff;border:none;
  border-radius:8px;padding:6px 14px;
  font-weight:700;font-size:12px;cursor:pointer;
  margin-right:10px;font-family:inherit;
}

/* ===== TABLES ===== */
.tbl{width:100%;border-collapse:separate;border-spacing:0}
.tbl thead th{
  padding:12px 16px;text-align:left;
  font-weight:700;font-size:11px;letter-spacing:0.05em;text-transform:uppercase;
  color:var(--text-secondary);
  border-bottom:2px solid #0d9488;
  white-space:nowrap;background:#e8ecf1;
}
[data-theme="dark"] .tbl thead th{background:rgba(255,255,255,0.02);color:var(--text-muted);border-bottom-color:rgba(13,148,136,0.4)}
.tbl tbody tr{background:#f0f1f4;transition:all 0.2s ease}
.tbl tbody tr:nth-child(even){background:#e8ecf1}
.tbl tbody tr:hover{background:rgba(13,148,136,0.05)}
.tbl tbody tr.selected{background:rgba(13,148,136,0.08)}
.tbl tbody td{
  padding:13px 16px;font-size:13px;
  border-bottom:1px solid #dde1e7;
  color:var(--text-secondary);vertical-align:middle;
}
[data-theme="dark"] .tbl tbody tr{background:rgba(255,255,255,0.03)}
[data-theme="dark"] .tbl tbody tr:nth-child(even){background:rgba(255,255,255,0.05)}
[data-theme="dark"] .tbl tbody tr:hover{background:rgba(13,148,136,0.1)}
[data-theme="dark"] .tbl tbody td{border-bottom-color:rgba(255,255,255,0.04)}

/* ===== BADGES ===== */
.badge{padding:5px 12px;border-radius:20px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:5px}
.badge::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.badge-pending{background:rgba(245,158,11,0.1);color:#d97706}
.badge-confirm{background:rgba(16,185,129,0.1);color:#059669}
.badge-cancel{background:rgba(239,68,68,0.1);color:#dc2626}
.badge-income{background:rgba(16,185,129,0.1);color:#059669}
.badge-expense{background:rgba(239,68,68,0.1);color:#dc2626}
[data-theme="dark"] .badge-pending{background:rgba(245,158,11,0.15);color:#fbbf24}
[data-theme="dark"] .badge-confirm{background:rgba(16,185,129,0.15);color:#34d399}
[data-theme="dark"] .badge-cancel{background:rgba(239,68,68,0.15);color:#f87171}
[data-theme="dark"] .badge-income{background:rgba(16,185,129,0.15);color:#34d399}
[data-theme="dark"] .badge-expense{background:rgba(239,68,68,0.15);color:#f87171}

/* ===== STAT CARDS ===== */
.stat-card{
  position:relative;overflow:hidden;
  padding:22px;border-radius:var(--radius-md);
  background:var(--bg-card);
  border:1px solid var(--border-subtle);
  border-left:4px solid var(--primary);
  box-shadow:var(--shadow-card);transition:var(--transition);
}
.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.stat-card .stat-icon{
  width:48px;height:48px;border-radius:var(--radius-md);
  display:flex;align-items:center;justify-content:center;font-size:20px;
}
.stat-card p.stat-label{
  font-size:11px;color:var(--text-muted);font-weight:700;
  text-transform:uppercase;letter-spacing:0.05em;margin-top:4px;
}
.stat-card h3{font-size:1.6rem;font-weight:900;margin-top:4px;line-height:1.2;color:var(--text-primary)}
@media(max-width:768px){
  .glass{padding:16px;border-radius:var(--radius-md)}
  .stat-card{padding:16px}
  .stat-card h3{font-size:1.3rem}
}

/* ===== CATEGORY PILLS ===== */
.category-pill{
  padding:7px 16px;border-radius:var(--radius-sm);
  background:#e2e6ec;border:1px solid #d0d5dd;
  cursor:pointer;transition:var(--transition);
  font-weight:600;white-space:nowrap;font-size:12px;color:var(--text-secondary);
}
.category-pill.active{
  background:#0d9488;color:#fff;border-color:transparent;
  box-shadow:0 4px 12px rgba(13,148,136,0.25);
}
.category-pill:hover:not(.active){background:rgba(13,148,136,0.08);color:#0d9488;border-color:rgba(13,148,136,0.2)}
[data-theme="dark"] .category-pill{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.1);color:var(--text-muted)}
[data-theme="dark"] .category-pill:hover:not(.active){background:rgba(13,148,136,0.12);color:#2dd4bf}

/* ===== PRODUCT CARDS ===== */
.product-card{
  background:var(--bg-card-light);
  border:2px solid var(--border-subtle);
  border-radius:var(--radius-sm);
  cursor:pointer;transition:all 0.25s ease;
}
.product-card:hover{border-color:#0d9488;transform:translateY(-2px);box-shadow:0 8px 20px rgba(13,148,136,0.12)}
.product-card.in-cart{border-color:#10b981;background:rgba(16,185,129,0.05)}
.product-card.out-of-stock{opacity:0.4;pointer-events:none}
[data-theme="dark"] .product-card{background:rgba(15,12,50,0.65);border-color:rgba(13,148,136,0.2)}
[data-theme="dark"] .product-card:hover{border-color:#0d9488}

/* ===== SPINNER ===== */
.spinner{
  border:3px solid #dde1e7;border-top:3px solid #0d9488;border-right:3px solid rgba(124,58,237,0.4);
  border-radius:50%;width:36px;height:36px;
  animation:spin 0.7s linear infinite;margin:20px auto;
}
[data-theme="dark"] .spinner{border-color:rgba(13,148,136,0.12);border-top-color:#0d9488;border-right-color:rgba(124,58,237,0.35)}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== TAB BAR ===== */
.tab-bar{
  display:flex;gap:0;align-items:stretch;
  overflow-x:auto;scrollbar-width:none;
  flex-shrink:1;min-width:0;
  background:#e8ecf1;border-radius:12px;padding:4px;
  border:1px solid var(--border-subtle);margin-bottom:20px;
}
.tab-bar::-webkit-scrollbar{display:none}
.tab-btn{
  padding:9px 18px;border:none;border-radius:10px;
  background:transparent;color:var(--text-muted);
  font-family:'Hind Siliguri',inherit;font-size:13px;font-weight:700;
  cursor:pointer;transition:all 0.2s ease;
  white-space:nowrap;flex-shrink:0;
  display:flex;align-items:center;gap:6px;
}
.tab-btn.active{
  background:#0d9488;color:#ffffff;
  box-shadow:0 3px 10px rgba(13,148,136,0.25);
}
.tab-btn:not(.active):hover{
  background:rgba(13,148,136,0.08);color:#0d9488;
}
[data-theme="dark"] .tab-bar{background:rgba(255,255,255,0.03);border-color:rgba(13,148,136,0.15)}
[data-theme="dark"] .tab-btn:not(.active):hover{background:rgba(13,148,136,0.15);color:#2dd4bf}
[data-theme="dark"] .tab-btn.active{background:#0d9488}

/* ===== FILTER BAR ===== */
.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin-bottom:16px}
.filter-bar .inp{min-width:0;flex:1;min-height:42px}

/* ===== TOTAL BOX ===== */
.total-box{
  padding:18px 20px;border-radius:var(--radius-sm);
  border:2px solid rgba(16,185,129,0.2);
  background:rgba(16,185,129,0.04);
  display:flex;justify-content:space-between;align-items:center;
}
.total-box .total-label{font-weight:700;color:var(--text-primary);font-size:15px}
.total-box .total-amount{font-size:1.8rem;font-weight:900;color:#059669}

/* ===== SUMMARY FOOTER ===== */
.summary-footer{
  margin-top:16px;padding:14px 16px;
  border-top:1px solid var(--border-subtle);
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;
}
.summary-footer span{font-size:13px;font-weight:700;color:var(--text-muted)}

/* ===== DROPDOWN ===== */
.dropdown-menu{
  position:absolute;top:100%;left:0;right:0;
  background:var(--bg-card);border:1px solid var(--border-subtle);
  border-radius:var(--radius-sm);z-index:50;
  max-height:280px;overflow-y:auto;
  box-shadow:0 8px 30px rgba(0,0,0,0.1);
  display:none;margin-top:4px;
}
.dropdown-menu.open{display:block}
.dropdown-item{
  padding:12px 16px;cursor:pointer;transition:all 0.2s;
  border-bottom:1px solid var(--border-subtle);
  font-size:13px;color:var(--text-secondary);
}
.dropdown-item:hover{background:rgba(13,148,136,0.06);color:#0d9488}
[data-theme="dark"] .dropdown-item:hover{background:rgba(13,148,136,0.12)}
.dropdown-item:last-child{border-bottom:none}
