:root {
  --brand: #1e6f5c;
  --brand-dark: #16513f;
  --brand-light: #e8f5f0;
  --sidebar-width: 250px;
}

body {
  background-color: #f4f6f8;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.app-navbar {
  background-color: var(--brand-dark);
  min-height: 56px;
}

.app-wrapper {
  display: flex;
  min-height: calc(100vh - 56px);
}

.app-sidebar {
  width: var(--sidebar-width);
  background-color: #ffffff;
  border-right: 1px solid #e3e6e9;
  flex-shrink: 0;
  overflow-y: auto;
}

.app-sidebar .nav-link {
  color: #3a3f44;
  padding: .55rem .9rem;
  border-radius: .4rem;
  font-size: .92rem;
  margin-bottom: 2px;
}

.app-sidebar .nav-link i {
  width: 20px;
  display: inline-block;
  text-align: center;
  margin-right: 6px;
}

.app-sidebar .nav-link:hover {
  background-color: var(--brand-light);
  color: var(--brand-dark);
}

.app-sidebar .nav-link.active {
  background-color: var(--brand);
  color: #fff;
}

.nav-section-title {
  text-transform: uppercase;
  font-size: .7rem;
  font-weight: 600;
  color: #9aa0a6;
  padding: .8rem .9rem .2rem;
  letter-spacing: .04em;
}

.app-content {
  flex-grow: 1;
  min-width: 0;
}

.app-footer {
  background-color: #fff;
  border-top: 1px solid #e3e6e9;
}

.stat-card {
  border: none;
  border-radius: .6rem;
  color: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.stat-card .stat-icon { font-size: 2rem; opacity: .85; }
.stat-card.bg-green   { background: linear-gradient(135deg, #1e6f5c, #2e9e82); }
.stat-card.bg-blue    { background: linear-gradient(135deg, #1d5fa8, #3b82d6); }
.stat-card.bg-orange  { background: linear-gradient(135deg, #c9701a, #e08c2f); }
.stat-card.bg-red     { background: linear-gradient(135deg, #b3312c, #d9463f); }

.table-card { border: none; border-radius: .6rem; box-shadow: 0 2px 8px rgba(0,0,0,.06); }

.badge-lunas { background-color: #1e6f5c; }
.badge-belum { background-color: #b3312c; }
.badge-sebagian { background-color: #c9701a; }

/* POS / Kasir */
.pos-product-card {
  cursor: pointer;
  border: 1px solid #e3e6e9;
  border-radius: .5rem;
  transition: all .15s ease;
  height: 100%;
}
.pos-product-card:hover { border-color: var(--brand); box-shadow: 0 2px 8px rgba(0,0,0,.1); transform: translateY(-2px); }
.pos-product-card .stok-habis { opacity: .45; pointer-events: none; }
.pos-cart-panel { background: #fff; border-radius: .6rem; box-shadow: 0 2px 8px rgba(0,0,0,.06); }

@media (max-width: 991.98px) {
  .app-sidebar {
    position: fixed;
    top: 56px;
    bottom: 0;
    left: -100%;
    z-index: 1040;
    transition: left .2s ease;
  }
  .app-sidebar.show { left: 0; }
  .sidebar-backdrop {
    display: none;
    position: fixed;
    inset: 56px 0 0 0;
    background: rgba(0,0,0,.4);
    z-index: 1030;
  }
  .sidebar-backdrop.show { display: block; }
}
