*,
*::before,
*::after {
  box-sizing:border-box;
}

html,body {
  margin:0;
  padding:0;
  font-family:'Vazirmatn',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:#050509;
  color:#fff;
}

.body-main {
  min-height:100vh;
  background:radial-gradient(circle at top,#111827 0,#020617 55%,#000 100%);
}

/* buttons */
.btn-primary,
.btn-outline {
  border-radius:999px;
  padding:.5rem 1.1rem;
  font-size:.85rem;
  border:none;
  cursor:pointer;
  transition:all .2s ease-out;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.btn-primary {
  background:linear-gradient(135deg,#f97316,#ef4444);
  color:#fff;
  box-shadow:0 10px 25px rgba(248,113,113,.4);
}

.btn-primary:hover {
  transform:translateY(-1px);
  box-shadow:0 12px 30px rgba(248,113,113,.55);
}

.btn-outline {
  background:transparent;
  color:#fff;
  border:1px solid rgba(255,255,255,.25);
}

.btn-outline:hover {
  background:rgba(255,255,255,.1);
}

.full-width { width:100%; }

/* glass card */
.glass {
  background:rgba(15,23,42,.9);
  border-radius:1.2rem;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 40px rgba(15,23,42,.7);
  backdrop-filter:blur(18px);
}

/* HOME PAGE */
.home-body {
  display:flex;
  align-items:center;
  justify-content:center;
}

.home-wrapper {
  width:100%;
  padding:2rem 1rem;
  display:flex;
  justify-content:center;
}

.home-card {
  max-width:420px;
  width:100%;
  text-align:center;
  border-radius:1.8rem;
  padding:2rem 1.6rem;
}

.home-logo-bubble {
  width:90px;
  height:90px;
  margin:0 auto 1rem;
  border-radius:50%;
  background:radial-gradient(circle at 0 0,#ff9966,#ff5e62);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 0 30px rgba(255,153,102,.7);
  animation:floatLogo 3s ease-in-out infinite;
}

.home-logo-img {
  max-width:70px;
  max-height:70px;
  border-radius:1.4rem;
}

.home-logo-emoji {
  font-size:2.2rem;
}

.home-title {
  margin:.3rem 0 .5rem;
  font-size:1.5rem;
}

.home-subtitle {
  font-size:.85rem;
  opacity:.8;
  margin:0 0 1.1rem;
}

.home-actions {
  display:flex;
  flex-direction:column;
  gap:.5rem;
  margin-bottom:1rem;
}

.home-btn {
  display:block;
}

.home-info {
  font-size:.78rem;
  opacity:.85;
}

@keyframes floatLogo {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-6px); }
}

/* HEADER & NAV */
.site-header {
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.6rem 1rem;
  background:rgba(15,23,42,.95);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(148,163,184,.25);
}

.header-left {
  display:flex;
  align-items:center;
  gap:1rem;
}

.brand {
  display:flex;
  align-items:center;
  gap:.6rem;
}

.brand-logo {
  width:40px;
  height:40px;
  border-radius:1.1rem;
  background:radial-gradient(circle at 0 0,#f97316,#ef4444);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.3rem;
}

.brand-logo-img img {
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
}

.brand-text strong {
  font-size:.95rem;
}

.brand-text small {
  font-size:.7rem;
  opacity:.7;
}

.nav-desktop {
  display:flex;
  gap:.6rem;
}

.nav-desktop a,
.nav-mobile a {
  color:#e5e7eb;
  text-decoration:none;
  font-size:.8rem;
}

.nav-desktop a:hover,
.nav-mobile a:hover {
  color:#fff;
}

.header-right {
  display:flex;
  align-items:center;
  gap:.6rem;
}

.order-type .badge {
  font-size:.85rem;
  padding:.2rem .7rem;
  border-radius:999px;
  font-weight:600;
}

.badge-green {
  background:rgba(22,163,74,.15);
  color:#bbf7d0;
}

.badge-blue {
  background:rgba(59,130,246,.15);
  color:#bfdbfe;
}

.search-box input {
  background:rgba(15,23,42,1);
  border-radius:999px;
  border:1px solid rgba(148,163,184,.7);
  padding:.35rem .8rem;
  font-size:.8rem;
  color:#e5e7eb;
}

.cart-btn {
  border-radius:999px;
  border:none;
  padding:.35rem .7rem;
  font-size:.9rem;
  background:rgba(31,41,55,1);
  color:#e5e7eb;
  cursor:pointer;
}

.nav-mobile-toggle {
  display:none;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.7);
  background:transparent;
  color:#e5e7eb;
  padding:.2rem .5rem;
}

.nav-mobile {
  display:none;
  flex-direction:column;
  gap:.5rem;
  padding:.5rem 1rem;
  background:rgba(15,23,42,.98);
  border-bottom:1px solid rgba(148,163,184,.3);
}

/* HERO */
.page-main {
  padding:1rem;
}

.hero {
  display:flex;
  flex-direction:column;
  gap:.6rem;
  margin-bottom:1rem;
}

.hero-text h1 {
  font-size:1.3rem;
  margin:0 0 .3rem;
}

.hero-text p {
  margin:0;
  font-size:.8rem;
  opacity:.8;
}

.hero-badges {
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  font-size:.75rem;
}

.hero-badges span {
  padding:.15rem .5rem;
  border-radius:999px;
  border:1px solid rgba(248,113,113,.6);
  background:rgba(15,23,42,.8);
}

/* Categories */
.category-bar {
  margin:.5rem 0 1rem;
}

.category-scroll {
  display:flex;
  gap:.4rem;
  overflow-x:auto;
  padding-bottom:.3rem;
}

.category-pill {
  white-space:nowrap;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.6);
  background:rgba(15,23,42,.9);
  color:#e5e7eb;
  font-size:.78rem;
  padding:.28rem .7rem;
  cursor:pointer;
}

.category-pill.active {
  background:linear-gradient(135deg,#f97316,#ef4444);
  border-color:transparent;
}

/* products */
.products-section { margin-bottom:2rem; }

.products-header h2 {
  margin:.2rem 0 .5rem;
  font-size:1rem;
}

.products-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
}

.product-card {
  border-radius:1rem;
  overflow:hidden;
  background:rgba(15,23,42,.9);
  border:1px solid rgba(30,64,175,.5);
  box-shadow:0 8px 20px rgba(15,23,42,.7);
  display:flex;
  flex-direction:column;
}

.product-thumb {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.7rem 0 .4rem;
}

.product-thumb img {
  width:96px;
  height:96px;
  object-fit:cover;
  display:block;
  border-radius:999px;
  box-shadow:0 6px 16px rgba(0,0,0,.55);
}

.product-info {
  padding:.6rem .7rem .9rem;
}

.product-info h3 {
  margin:0 0 .25rem;
  font-size:.9rem;
}

.product-desc {
  margin:0 0 .4rem;
  font-size:.76rem;
  opacity:.8;
}

.product-meta {
  margin-bottom:.4rem;
  font-size:.8rem;
}

.product-meta .price {
  font-weight:600;
}

.product-actions {
  display:flex;
  gap:.3rem;
}

/* contact */
.contact-section {
  margin:1rem 0 3rem;
}

.contact-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
  font-size:.78rem;
}

.contact-grid h3 {
  margin:.15rem 0 .25rem;
}

/* footer */
.main-footer {
  padding:.7rem 1rem 3rem;
  font-size:.75rem;
  text-align:center;
  opacity:.7;
}

/* cart panel */
.cart-panel {
  position:fixed;
  top:0;
  right:-360px;
  width:320px;
  max-width:85%;
  height:100vh;
  background:rgba(15,23,42,.98);
  border-left:1px solid rgba(148,163,184,.3);
  box-shadow:-12px 0 30px rgba(0,0,0,.8);
  z-index:30;
  display:flex;
  flex-direction:column;
  transition:transform .25s ease-out,right .25s ease-out;
}

.cart-panel.open {
  right:0;
}

.cart-panel-header,
.cart-panel-footer {
  padding:.7rem .8rem;
  border-bottom:1px solid rgba(148,163,184,.3);
}

.cart-panel-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.cart-panel-body {
  flex:1;
  overflow-y:auto;
  padding:.5rem .8rem;
  font-size:.78rem;
}

.cart-item {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:.4rem;
}

.cart-item span {
  font-size:.78rem;
}

.cart-total-row {
  display:flex;
  justify-content:space-between;
  font-size:.82rem;
  font-weight:600;
}

/* product sheet bottom */
.product-sheet {
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.5);
  display:none;
  justify-content:center;
  align-items:flex-end;
  z-index:35;
}

.product-sheet.show {
  display:flex;
}

.product-sheet-inner {
  width:100%;
  max-width:480px;
  background:rgba(15,23,42,1);
  border-radius:1.4rem 1.4rem 0 0;
  padding:1rem .9rem 1rem;
  box-shadow:0 -16px 40px rgba(0,0,0,.85);
  position:relative;
}

.sheet-handle {
  width:60px;
  height:4px;
  border-radius:999px;
  background:rgba(148,163,184,.7);
  margin:0 auto .6rem;
}

.sheet-close {
  position:absolute;
  top:.5rem;
  left:.7rem;
  border:none;
  background:transparent;
  color:#e5e7eb;
  font-size:1rem;
  cursor:pointer;
}

.sheet-image-wrap {
  text-align:center;
  margin-bottom:.5rem;
}

.sheet-image-wrap img {
  width:160px;
  height:120px;
  object-fit:cover;
  border-radius:1rem;
}

#sheetTitle {
  margin:.2rem 0 .3rem;
  font-size:1rem;
}

#sheetDesc {
  margin:0 0 .3rem;
  font-size:.78rem;
  opacity:.8;
}

.sheet-price {
  font-weight:600;
  font-size:.85rem;
}

/* toast */
.toast {
  position:fixed;
  bottom:4rem;
  right:1rem;
  background:rgba(15,23,42,.98);
  border-radius:.8rem;
  padding:.4rem .8rem;
  font-size:.78rem;
  opacity:0;
  transform:translateY(20px);
  transition:all .2s;
  pointer-events:none;
  z-index:40;
}

.toast.show {
  opacity:1;
  transform:translateY(0);
}

/* admin toast & notif popup */
.admin-toast {
  bottom:1rem;
}

.notif-popup {
  position:fixed;
  bottom:1rem;
  left:1rem;
  max-width:320px;
  background:rgba(5,5,15,.96);
  border-radius:1rem;
  padding:.7rem .8rem;
  box-shadow:0 12px 30px rgba(0,0,0,.8);
  font-size:.78rem;
  border:1px solid rgba(255,255,255,.12);
  opacity:0;
  transform:translateY(120%);
  transition:all .25s ease-out;
  z-index:50;
  cursor:pointer;
}

.notif-popup.show {
  opacity:1;
  transform:translateY(0);
}

.notif-popup-title {
  font-weight:700;
  margin-bottom:.25rem;
}

.notif-popup-body {
  opacity:.9;
  margin-bottom:.35rem;
}

/* admin layout */
.admin-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:.5rem 1rem;
  border-bottom:1px solid rgba(148,163,184,.3);
  background:rgba(15,23,42,.98);
}


.admin-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:.5rem 1rem;
  border-bottom:1px solid rgba(148,163,184,.3);
  background:rgba(15,23,42,.98);
}

.admin-header .admin-left,
.admin-header .admin-right {
  display:flex;
  align-items:center;
  gap:.5rem;
}

.admin-site-title {
  font-size:.8rem;
  opacity:.8;
}

.admin-toolbar {
  display:flex;
  align-items:center;
  gap:.35rem;
  padding-inline: .4rem;
  border-radius:999px;
  background:rgba(15,23,42,.85);
  box-shadow:0 8px 20px rgba(15,23,42,.5);
}

.admin-icon-btn {
  border:none;
  background:transparent;
  cursor:pointer;
  font-size:.85rem;
  width:1.9rem;
  height:1.9rem;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#e5e7eb;
  opacity:.8;
  transition:all .18s ease-out;
}

.admin-icon-btn:hover {
  opacity:1;
  transform:translateY(-1px);
  background:rgba(30,64,175,.6);
}

.admin-icon-btn.active {
  opacity:1;
  background:rgba(37,99,235,.9);
  box-shadow:0 8px 22px rgba(37,99,235,.7);
}

.layout-toggle,
.theme-toggle {
  display:flex;
  gap:.2rem;
}

.admin-nav {
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  padding:.4rem 1rem;
  border-bottom:1px solid rgba(148,163,184,.2);
  background:rgba(15,23,42,.96);
}

/* حالت چیدمان عمودی منو */
body.layout-vertical .admin-nav {
  position:fixed;
  top:3.1rem;
  right:0;
  bottom:0;
  width:190px;
  flex-direction:column;
  align-items:stretch;
  padding:.75rem .75rem 1rem;
  gap:.35rem;
  border-left:1px solid rgba(148,163,184,.35);
  border-bottom:none;
  background:rgba(15,23,42,.98);
  overflow-y:auto;
  z-index:30;
}

body.layout-vertical .admin-main {
  padding:1rem;
  margin-right:200px;
}

body.layout-horizontal .admin-main {
  padding:1rem;
}

/* لینک کد سفارش در داشبورد */
.admin-table a.order-link {
  color:#38bdf8;
  text-decoration:none;
  font-weight:600;
}

.admin-table a.order-link:hover {
  text-decoration:underline;
}

/* صفحه‌بندی سفارش‌ها */
.admin-pagination {
  margin-top:.75rem;
  display:flex;
  align-items:center;
  gap:.5rem;
  justify-content:flex-start;
  flex-wrap:wrap;
}

.admin-pagination .btn-outline {
  background:transparent;
  border:1px solid rgba(148,163,184,.7);
  color:#e5e7eb;
}

.admin-pagination .btn-outline:hover {
  background:rgba(30,64,175,.6);
}

.pagination-info {
  font-size:.8rem;
  opacity:.8;
}

/* تم‌ها */
body.theme-light .admin-header,
body.theme-light .admin-nav {
  background:#f8fafc;
  border-bottom:1px solid #e2e8f0;
}

body.theme-light .admin-header .admin-site-title {
  color:#0f172a;
}

body.theme-light .admin-header strong {
  color:#0f172a;
}

body.theme-light .admin-nav a {
  color:#0f172a;
}

body.theme-light .admin-nav a.active {
  background:#e0f2fe;
  color:#0f172a;
}

body.theme-light .admin-main {
  background:#e5e7eb;
}

body.theme-light .admin-card {
  background:#ffffff;
  border:1px solid #e2e8f0;
  color:#0f172a;
}

body.theme-light .admin-table th,
body.theme-light .admin-table td {
  border-bottom:1px solid #e2e8f0;
}

body.theme-light .status-pill {
  border-color:#e5e7eb;
}

body.theme-light .notif-bell {
  background:#ffffff;
  color:#0f172a;
}

body.theme-light .admin-toolbar {
  background:#0f172a;
}

body.theme-light .admin-icon-btn {
  color:#e5e7eb;
}

/* تم پیش‌فرض (تیره) */
body.theme-dark .admin-main {
  background:#020617;
}
.admin-nav {
  display:flex;
  gap:.5rem;
  padding:.4rem 1rem;
  border-bottom:1px solid rgba(148,163,184,.2);
  background:rgba(15,23,42,.96);
}

.admin-nav a {
  color:#e5e7eb;
  text-decoration:none;
  font-size:.78rem;
  padding:.2rem .6rem;
  border-radius:999px;
}

.admin-nav a.active {
  background:rgba(37,99,235,.4);
}

.admin-main {
  padding:1rem;
}

.admin-card {
  margin-bottom:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(15,23,42,.9);
  border:1px solid rgba(148,163,184,.4);
}

.admin-table {
  width:100%;
  border-collapse:collapse;
  font-size:.78rem;
}

.admin-table th,
.admin-table td {
  border-bottom:1px solid rgba(55,65,81,.9);
  padding:.25rem .35rem;
  text-align:right;
}

.admin-table.small th,
.admin-table.small td {
  font-size:.75rem;
}

.field-group {
  margin-bottom:.7rem;
}

.field-group label {
  display:block;
  font-size:.8rem;
  margin-bottom:.2rem;
}

.field-group input,
.field-group select,
.field-group textarea {
  width:100%;
  border-radius:.7rem;
  border:1px solid rgba(148,163,184,.6);
  background:#020617;
  color:#e5e7eb;
  padding:.3rem .6rem;
  font-size:.78rem;
}

.form-inline {
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  align-items:center;
  margin-bottom:.6rem;
}

.inline-price-form {
  margin:0;
}

.price-inline-input {
  width:90px;
  font-size:.72rem;
  padding:.2rem .35rem;
  border-radius:.5rem;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(8,8,16,.96);
  color:#fff;
}

.notif-bell {
  border:none;
  border-radius:999px;
  background:rgba(15,23,42,1);
  color:#e5e7eb;
  padding:.25rem .6rem;
}

/* mobile bottom nav */
.mobile-bottom-nav {
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  display:none;
  z-index:40;
  padding:.35rem .6rem .5rem;
  background:rgba(4,4,10,.96);
  border-top:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(16px);
  justify-content:space-between;
  gap:.4rem;
}

.mobile-bottom-nav button {
  flex:1;
  border-radius:1.1rem;
  border:none;
  background:rgba(15,15,25,.98);
  color:#fff;
  font-size:.78rem;
  padding:.4rem 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

/* checkout */
.checkout-page {
  display:flex;
  justify-content:center;
  padding:2rem 1rem;
}

.checkout-card {
  max-width:480px;
  width:100%;
}

.cart-summary-box {
  border-radius:.8rem;
  border:1px solid rgba(148,163,184,.6);
  padding:.6rem .7rem;
  margin:.7rem 0;
  font-size:.78rem;
}

/* login */
.login-page {
  display:flex;
  justify-content:center;
  align-items:center;
  padding:2rem 1rem;
}

.error-msg {
  color:#fecaca;
  background:rgba(127,29,29,.5);
  padding:.3rem .5rem;
  border-radius:.5rem;
  font-size:.78rem;
}

/* responsive */
@media(max-width:1024px){
  .products-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media(max-width:900px){
  .nav-desktop { display:none; }
  .nav-mobile-toggle { display:block; }
  .products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-thumb img { height:120px; }
  .product-info { padding:.55rem .6rem .8rem; }
  .product-info h3 { font-size:.85rem; }
  .product-desc { font-size:.72rem; }
  .product-actions .btn-primary,
  .product-actions .btn-outline { font-size:.72rem; padding:.25rem .55rem; }
  .contact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .main-footer { padding-bottom:3.5rem; }
  .mobile-bottom-nav { display:flex; }
}

@media(max-width:640px){
  .page-main { padding:.8rem; }
  .hero { padding:0 .1rem; }
  .products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .contact-grid { grid-template-columns:1fr; }
}

.category-pill .cat-icon {
  width:24px;
  height:24px;
  border-radius:999px;
  object-fit:cover;
  margin-left:.35rem;
  flex-shrink:0;
}

.mobile-bottom-nav .cart-badge {
  min-width:18px;
  height:18px;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  font-size:.68rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:.15rem;
}

/* --- Dashboard layout --- */
.dashboard-layout {
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(260px,1fr);
  gap:1rem;
  margin-top:1rem;
}
@media (max-width:900px) {
  .dashboard-layout {
    grid-template-columns:1fr;
  }
}

.dashboard-main {}
.dashboard-aside {}

.dashboard-topbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:.8rem;
}

.dash-hello {
  font-size:1rem;
  font-weight:600;
}

.dash-top-actions {
  display:flex;
  align-items:center;
  gap:.7rem;
  font-size:.78rem;
}

.dash-bell {
  display:flex;
  align-items:center;
  gap:.35rem;
  padding:.25rem .5rem;
  border-radius:999px;
  background:rgba(15,23,42,.9);
  border:1px solid rgba(148,163,184,.35);
}

.dash-bell-count {
  font-weight:700;
  font-size:.85rem;
}

.dash-bell-label {
  opacity:.8;
}

.dash-settings-link {
  font-size:.78rem;
  padding:.3rem .7rem;
  border-radius:999px;
  border:1px dashed rgba(148,163,184,.6);
  text-decoration:none;
  color:#e5e7eb;
}

.dashboard-status-strip {
  display:flex;
  gap:.5rem;
  overflow-x:auto;
  padding:.4rem 0 .2rem;
}

.status-card {
  min-width:120px;
  border-radius:1rem;
  padding:.45rem .6rem;
  background:rgba(15,23,42,.94);
  box-shadow:0 12px 30px rgba(0,0,0,.55);
  border:1px solid rgba(148,163,184,.35);
}

.status-card .status-label {
  font-size:.7rem;
  opacity:.8;
}

.status-card .status-value {
  margin-top:.15rem;
  font-size:1.1rem;
  font-weight:700;
}

.status-card.status-new { border-color:rgba(248,250,252,.8); }
.status-card.status-confirmed { border-color:rgba(56,189,248,.7); }
.status-card.status-preparing { border-color:rgba(249,115,22,.7); }
.status-card.status-ready { border-color:rgba(34,197,94,.7); }
.status-card.status-delivered { border-color:rgba(148,163,184,.8); }

.dashboard-grid {
  display:grid;
  grid-template-columns:2fr 1.4fr;
  gap:.8rem;
  margin-top:.8rem;
}
@media (max-width:900px) {
  .dashboard-grid {
    grid-template-columns:1fr;
  }
}

.dash-card {
  background:rgba(15,23,42,.98);
  border-radius:1.2rem;
  padding:.8rem .9rem;
  box-shadow:0 18px 45px rgba(0,0,0,.7);
  border:1px solid rgba(148,163,184,.4);
}

.dash-card h3 {
  margin-top:0;
  margin-bottom:.6rem;
  font-size:.9rem;
}

.dash-card.wide {
  grid-column:1 / -1;
}

.today-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.6rem;
}
@media (max-width:600px) {
  .today-grid {
    grid-template-columns:1fr;
  }
}

.today-item {
  border-radius:.9rem;
  padding:.55rem .6rem;
  background:radial-gradient(circle at top left,rgba(248,250,252,.04),rgba(15,23,42,.96));
  border:1px solid rgba(148,163,184,.4);
}

.today-label {
  font-size:.7rem;
  opacity:.85;
}

.today-value {
  margin-top:.15rem;
  font-size:1rem;
  font-weight:700;
}

.admin-table.compact th,
.admin-table.compact td {
  font-size:.7rem;
  padding:.25rem .35rem;
}

.active-customers {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.45rem;
}

.active-customers li {
  display:flex;
  align-items:center;
  gap:.45rem;
}

.avatar-mini {
  width:26px;
  height:26px;
  border-radius:999px;
  background:linear-gradient(135deg,#f97316,#ef4444);
  box-shadow:0 0 0 2px rgba(15,23,42,1);
}

.active-cust-info .name {
  font-size:.8rem;
  font-weight:500;
}

.active-cust-info .meta {
  font-size:.7rem;
  opacity:.8;
}

/* pending orders list in dashboard aside */
.pending-list {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.4rem;
}

.pending-list li {
  padding:.45rem .55rem;
  border-radius:.9rem;
  background:rgba(15,23,42,.96);
  border:1px solid rgba(248,250,252,.16);
  cursor:pointer;
  transition:transform .12s ease-out,box-shadow .12s ease-out,background .12s ease-out;
}

.pending-list li:hover {
  transform:translateY(-1px);
  box-shadow:0 12px 35px rgba(0,0,0,.7);
  background:rgba(15,23,42,1);
}

.pending-main {
  display:flex;
  justify-content:space-between;
  font-size:.8rem;
  margin-bottom:.15rem;
}

.pending-main .code {
  font-weight:600;
}

.pending-main .amount {
  opacity:.9;
}

.pending-meta {
  display:flex;
  justify-content:space-between;
  font-size:.7rem;
  opacity:.8;
}

.empty-text {
  font-size:.78rem;
  opacity:.8;
}

/* order status chips + buttons */
.status-pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.1rem .4rem;
  border-radius:999px;
  font-size:.68rem;
  border:1px solid rgba(148,163,184,.7);
}

.status-new { background:rgba(248,250,252,.05); border-color:rgba(248,250,252,.7); }
.status-confirmed { background:rgba(56,189,248,.15); border-color:rgba(56,189,248,.7); }
.status-preparing { background:rgba(249,115,22,.15); border-color:rgba(249,115,22,.7); }
.status-ready { background:rgba(34,197,94,.15); border-color:rgba(34,197,94,.7); }
.status-delivered { background:rgba(148,163,184,.15); border-color:rgba(148,163,184,.8); }

.order-status-actions {
  margin-top:.5rem;
}

.status-form-inline {
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
}

.status-btn {
  border-radius:999px;
  border:1px solid rgba(148,163,184,.35);
  background:rgba(15,23,42,.95);
  color:#e5e7eb;
  font-size:.7rem;
  padding:.25rem .7rem;
  cursor:pointer;
}

.status-btn.active {
  background:linear-gradient(135deg,#f97316,#ef4444);
  border-color:rgba(248,250,252,.9);
  color:#fff;
}

.status-btn:hover {
  border-color:rgba(248,250,252,.8);
}

.discount-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1rem;
  margin-bottom:1rem;
}

.discount-card {
  padding:.9rem 1rem;
  border-radius:1rem;
  background:rgba(15,23,42,.9);
  border:1px solid rgba(148,163,184,.35);
}

body.theme-light .discount-card {
  background:#ffffff;
  border-color:#e2e8f0;
}

.discount-card h3 {
  margin-bottom:.7rem;
  font-size:.9rem;
}

.discount-form .field-group label {
  display:block;
  font-size:.78rem;
  margin-bottom:.15rem;
}

.discount-form select,
.discount-form input[type="number"] {
  width:100%;
}

.discount-clear-all {
  margin-bottom:.5rem;
}

.cart-total-final {
  margin-top:.3rem;
  font-size:.9rem;
}

.product-meta {
  display:flex;
  align-items:center;
  gap:.35rem;
  flex-wrap:wrap;
}

.price-old {
  text-decoration:line-through;
  opacity:.7;
  font-size:.78rem;
}

.price-new {
  font-weight:700;
  font-size:.9rem;
}

.price-badge {
  font-size:.72rem;
  padding:.15rem .4rem;
  border-radius:999px;
  background:rgba(22,163,74,.15);
  color:#4ade80;
}

body.theme-light .price-badge {
  background:#dcfce7;
  color:#16a34a;
}

.admin-alert {
  margin:0;
  font-size:.82rem;
}

.admin-alert-error {
  padding:.5rem .75rem;
  border-radius:.75rem;
  background:rgba(248,113,113,.08);
  color:#fecaca;
  border:1px solid rgba(248,113,113,.5);
}

.admin-alert-success {
  padding:.5rem .75rem;
  border-radius:.75rem;
  background:rgba(34,197,94,.08);
  color:#bbf7d0;
  border:1px solid rgba(34,197,94,.5);
}

body.theme-light .admin-alert-error {
  background:#fee2e2;
  color:#b91c1c;
  border-color:#fecaca;
}

body.theme-light .admin-alert-success {
  background:#dcfce7;
  color:#166534;
  border-color:#bbf7d0;
}
