/* ═══════════════════════════════════════════════════════════════
   Uber Eats POS — Glassmorphism Design System
   Fonts: Syne (display) + DM Sans (body)
═══════════════════════════════════════════════════════════════ */
:root {
  --green:       #06c167;
  --green-2:     #00a758;
  --green-glow:  rgba(6,193,103,0.22);
  --green-dim:   rgba(6,193,103,0.10);
  --bg-root:     #040c1b;
  --glass:       rgba(12,22,44,0.75);
  --glass-light: rgba(255,255,255,0.04);
  --glass-hover: rgba(255,255,255,0.07);
  --glass-border:rgba(255,255,255,0.08);
  --glass-border-h:rgba(6,193,103,0.25);
  --ink:    #e4eeff;
  --ink-2:  rgba(228,238,255,0.60);
  --ink-3:  rgba(228,238,255,0.32);
  --ink-4:  rgba(228,238,255,0.16);
  --sidebar-w: 256px;
  --sidebar-bg: rgba(4,8,20,0.98);
  --r:    14px;
  --r-sm: 9px;
  --r-xs: 6px;
  --shadow:     0 2px 8px rgba(0,0,0,0.35), 0 0 0 1px var(--glass-border);
  --shadow-lg:  0 8px 40px rgba(0,0,0,0.5), 0 0 0 1px var(--glass-border);
  --shadow-green: 0 4px 20px var(--green-glow);
  --font-display: 'Syne', system-ui, sans-serif;
  --font-body:    'DM Sans', system-ui, sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--font-body);
  background:var(--bg-root);
  background-image:
    radial-gradient(ellipse 70% 50% at 80% -10%,rgba(6,193,103,0.06),transparent),
    radial-gradient(ellipse 50% 40% at 10% 90%,rgba(6,120,193,0.05),transparent);
  background-attachment:fixed;
  color:var(--ink);min-height:100vh;-webkit-font-smoothing:antialiased;
}
.app-shell{display:flex;min-height:100vh}
.sidebar{
  width:var(--sidebar-w);background:var(--sidebar-bg);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  position:fixed;inset:0 auto 0 0;z-index:300;
  display:flex;flex-direction:column;
  border-right:1px solid var(--glass-border);overflow:hidden;
}
.sidebar::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,193,103,0.04) 0%,transparent 40%);
  pointer-events:none;
}
.sidebar-brand{
  padding:22px 20px 18px;display:flex;align-items:center;gap:11px;
  text-decoration:none;color:var(--ink);
  font-family:var(--font-display);font-weight:700;font-size:1rem;
  letter-spacing:-0.01em;border-bottom:1px solid var(--glass-border);
}
.brand-mark{
  width:34px;height:34px;border-radius:10px;
  background:linear-gradient(145deg,var(--green),var(--green-2));
  display:grid;place-items:center;
  box-shadow:0 4px 16px var(--green-glow),inset 0 1px 0 rgba(255,255,255,0.2);
  flex-shrink:0;
}
.brand-mark svg{width:17px;height:17px;fill:#fff}
.sidebar-nav{padding:10px 12px;flex:1;overflow-y:auto}
.nav-section{
  font-size:0.62rem;font-weight:700;text-transform:uppercase;
  letter-spacing:0.12em;color:var(--ink-4);padding:14px 10px 5px;
}
.nav-link{
  display:flex;align-items:center;gap:10px;padding:10px 12px;
  border-radius:var(--r-sm);color:var(--ink-2);text-decoration:none;
  font-size:0.875rem;font-weight:500;margin-bottom:2px;
  transition:background 0.15s,color 0.15s;position:relative;
}
.nav-link svg{width:17px;height:17px;opacity:0.65;flex-shrink:0}
.nav-link:hover{background:var(--glass-light);color:var(--ink)}
.nav-link:hover svg{opacity:1}
.nav-link.active{background:var(--green-dim);color:var(--green);font-weight:600}
.nav-link.active svg{opacity:1}
.nav-link.active::before{
  content:'';position:absolute;left:0;top:20%;bottom:20%;
  width:3px;border-radius:0 3px 3px 0;
  background:var(--green);box-shadow:0 0 8px var(--green-glow);
}
.sidebar-foot{padding:14px 12px 18px;border-top:1px solid var(--glass-border)}
.user-chip{
  display:flex;align-items:center;gap:10px;padding:10px 12px;
  border-radius:var(--r-sm);background:var(--glass-light);margin-bottom:8px;
}
.user-chip__avatar{
  width:30px;height:30px;border-radius:50%;
  background:linear-gradient(135deg,var(--green),#0ea5e9);
  color:#fff;font-size:0.72rem;font-weight:700;
  display:grid;place-items:center;flex-shrink:0;
}
.user-chip__name{font-size:0.82rem;font-weight:600;color:var(--ink)}
.user-chip__role{font-size:0.68rem;color:var(--ink-3)}
.main-wrap{
  margin-left:var(--sidebar-w);flex:1;min-width:0;
  min-height:100vh;display:flex;flex-direction:column;
}
.status-strip{
  display:none;align-items:center;justify-content:center;gap:10px;
  padding:10px 20px;font-size:0.82rem;font-weight:500;
  background:rgba(251,191,36,0.12);color:#fbbf24;
  border-bottom:1px solid rgba(251,191,36,0.2);
}
.status-strip.visible{display:flex}
.status-strip--error{background:rgba(239,68,68,0.12);color:#f87171;border-color:rgba(239,68,68,0.2)}
.status-strip--ok{background:var(--green-dim);color:var(--green);border-color:var(--green-glow)}
.page-toolbar{
  position:sticky;top:0;z-index:100;
  background:rgba(4,12,27,0.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--glass-border);padding:18px 30px;
}
.page-toolbar__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;flex-wrap:wrap;max-width:1440px;margin:0 auto;
}
.page-toolbar h1{
  margin:0;font-family:var(--font-display);font-size:1.3rem;
  font-weight:700;letter-spacing:-0.02em;color:var(--ink);
}
.page-toolbar .subtitle{margin:3px 0 0;font-size:0.8rem;color:var(--ink-3)}
.toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.page-header{
  position:sticky;top:0;z-index:100;
  background:rgba(4,12,27,0.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--glass-border);padding:18px 30px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.page-title{
  margin:0;font-family:var(--font-display);font-size:1.3rem;
  font-weight:700;letter-spacing:-0.02em;color:var(--ink);
}
.page-subtitle{font-size:0.8rem;color:var(--ink-3);margin:3px 0 0}
.page-top{
  position:sticky;top:0;z-index:100;
  background:rgba(4,12,27,0.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--glass-border);padding:18px 30px;
}
.page-content{
  padding:24px 30px 48px;max-width:1440px;margin:0 auto;
  width:100%;display:flex;flex-direction:column;gap:16px;
}
.page-body{padding:24px 30px 48px;max-width:1440px;margin:0 auto;width:100%}
.card,.panel,.stat-card{
  background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);border-radius:var(--r);
  box-shadow:var(--shadow);overflow:hidden;
}
.card:hover{border-color:rgba(255,255,255,0.12)}
.card-header,.panel__head{
  padding:16px 20px;border-bottom:1px solid var(--glass-border);
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-family:var(--font-display);font-size:0.9rem;font-weight:700;color:var(--ink);
}
.card-header h2,.panel__head h2{margin:0;font-size:0.9rem;font-weight:700}
.card-body,.panel__body{padding:18px 20px}
.panel__body--scroll{max-height:calc(100vh - 280px);overflow-y:auto}
.panel__body--scroll::-webkit-scrollbar{width:4px}
.panel__body--scroll::-webkit-scrollbar-track{background:transparent}
.panel__body--scroll::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}
.stat-tile{
  background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);border-radius:var(--r);
  padding:20px 22px;box-shadow:var(--shadow);
  transition:border-color 0.2s,box-shadow 0.2s;
}
.stat-tile:hover{border-color:rgba(6,193,103,0.2);box-shadow:var(--shadow),0 0 20px rgba(6,193,103,0.06)}
.stat-card{padding:20px 22px}
.stat-tile__label,.stat-label{
  font-size:0.68rem;font-weight:700;text-transform:uppercase;
  letter-spacing:0.08em;color:var(--ink-3);margin-bottom:8px;
}
.stat-tile__value,.stat-value{
  font-family:var(--font-display);font-size:2.1rem;font-weight:800;
  letter-spacing:-0.04em;line-height:1;color:var(--ink);
}
.stat-tile__value--brand{color:var(--green)}
.stat-tile__hint{font-size:0.76rem;color:var(--ink-3);margin-top:8px}
.bento{display:grid;gap:20px}
.bento-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.bento-main{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}
.btn-brand,.btn-primary-green{
  background:linear-gradient(135deg,var(--green),var(--green-2));
  color:#fff!important;border:none;padding:10px 18px;border-radius:var(--r-sm);
  font-weight:600;font-size:0.875rem;text-decoration:none;
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  box-shadow:var(--shadow-green);transition:transform 0.15s,box-shadow 0.15s,filter 0.15s;
  font-family:var(--font-body);white-space:nowrap;
}
.btn-brand:hover,.btn-primary-green:hover{
  color:#fff;transform:translateY(-1px);
  box-shadow:0 8px 28px var(--green-glow);filter:brightness(1.08);
}
.btn-outline{
  background:var(--glass-light);border:1px solid var(--glass-border);
  color:var(--ink)!important;padding:9px 16px;border-radius:var(--r-sm);
  font-weight:500;font-size:0.875rem;text-decoration:none;
  display:inline-flex;align-items:center;gap:6px;
  transition:background 0.15s,border-color 0.15s;font-family:var(--font-body);
}
.btn-outline:hover{background:var(--glass-hover);border-color:rgba(255,255,255,0.15);color:var(--ink)}
.btn-ghost,.btn-sm-ghost{
  background:transparent;border:1px solid var(--glass-border);
  color:var(--ink-2);padding:8px 14px;border-radius:var(--r-sm);
  font-size:0.82rem;cursor:pointer;font-weight:500;text-decoration:none;
  display:inline-flex;align-items:center;
  transition:background 0.15s,border-color 0.15s,color 0.15s;font-family:var(--font-body);
}
.btn-ghost:hover,.btn-sm-ghost:hover{background:var(--glass-light);border-color:rgba(255,255,255,0.15);color:var(--ink)}
.btn-ghost--danger,.btn-danger-ghost{
  color:#f87171;border:1px solid rgba(248,113,113,0.25);background:transparent;
  padding:7px 13px;border-radius:var(--r-sm);font-size:0.82rem;
  cursor:pointer;font-weight:500;display:inline-flex;align-items:center;
  transition:background 0.15s;font-family:var(--font-body);
}
.btn-ghost--danger:hover,.btn-danger-ghost:hover{background:rgba(248,113,113,0.10)}
.btn-sm,.btn-sm-ghost{padding:6px 12px;font-size:0.78rem}
.btn-sm-green{
  background:linear-gradient(135deg,var(--green),var(--green-2));
  color:#fff!important;border:none;padding:6px 13px;border-radius:var(--r-xs);
  font-size:0.78rem;font-weight:600;cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;box-shadow:0 2px 8px var(--green-glow);
  transition:filter 0.15s;font-family:var(--font-body);
}
.btn-sm-green:hover{filter:brightness(1.1);color:#fff}
.live-pill,.live-badge{
  display:inline-flex;align-items:center;gap:7px;padding:6px 13px;
  border-radius:999px;font-size:0.7rem;font-weight:700;
  background:var(--green-dim);color:var(--green);
  text-transform:uppercase;letter-spacing:0.06em;
  border:1px solid rgba(6,193,103,0.2);
}
.live-pill .dot,.live-dot{
  width:6px;height:6px;border-radius:50%;background:currentColor;
  animation:live-pulse 2s ease-in-out infinite;display:inline-block;
}
.live-pill.stale,.live-badge.stale{background:var(--glass-light);color:var(--ink-3);border-color:var(--glass-border)}
.live-pill.stale .dot,.live-badge.stale .live-dot{animation:none}
.live-pill.degraded{background:rgba(251,191,36,0.1);color:#fbbf24;border-color:rgba(251,191,36,0.2)}
@keyframes live-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}
.data-table{width:100%;font-size:0.865rem;border-collapse:collapse}
.data-table th{
  padding:11px 16px;text-align:left;font-size:0.66rem;font-weight:700;
  text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-3);
  background:rgba(0,0,0,0.2);border-bottom:1px solid var(--glass-border);
}
.data-table td{
  padding:12px 16px;border-bottom:1px solid rgba(255,255,255,0.04);
  vertical-align:middle;color:var(--ink-2);
}
.data-table tr:last-child td{border-bottom:none}
.data-table tr:hover td{background:var(--glass-light)}
.cell-primary{font-weight:600;color:var(--ink)}
.cell-muted{color:var(--ink-2);font-size:0.84rem}
.cell-mono{font-family:ui-monospace,'Cascadia Code',monospace;font-size:0.78rem;color:var(--ink-3)}
.pill,.status-pill{
  display:inline-flex;padding:4px 11px;border-radius:999px;
  font-size:0.68rem;font-weight:700;letter-spacing:0.02em;
}
.pill-active,.status-active{background:rgba(6,193,103,0.15);color:#4ade80;border:1px solid rgba(6,193,103,0.2)}
.pill-suspended,.status-warning{background:rgba(251,191,36,0.12);color:#fbbf24;border:1px solid rgba(251,191,36,0.2)}
.pill-cancelled,.status-cancelled{background:rgba(248,113,113,0.12);color:#f87171;border:1px solid rgba(248,113,113,0.2)}
.pill-ok{background:rgba(6,193,103,0.15);color:#4ade80;border:1px solid rgba(6,193,103,0.2)}
.pill-error{background:rgba(248,113,113,0.12);color:#f87171;border:1px solid rgba(248,113,113,0.2)}
.status-scheduled{background:rgba(96,165,250,0.12);color:#93c5fd;border:1px solid rgba(96,165,250,0.2)}
.status-denied{background:rgba(148,163,184,0.12);color:var(--ink-3);border:1px solid rgba(148,163,184,0.15)}
.status-info{background:rgba(125,211,252,0.12);color:#7dd3fc;border:1px solid rgba(125,211,252,0.2)}
.status-sheet{background:rgba(6,193,103,0.12);color:#4ade80;border:1px solid rgba(6,193,103,0.2)}
.uber-badge{display:inline-flex;padding:3px 9px;border-radius:999px;font-size:0.67rem;font-weight:700;letter-spacing:0.02em}
.uber-connected{background:rgba(6,193,103,0.13);color:#4ade80;border:1px solid rgba(6,193,103,0.2)}
.uber-missing{background:rgba(148,163,184,0.1);color:var(--ink-3);border:1px solid rgba(148,163,184,0.15)}
.connect-banner{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;flex-wrap:wrap;padding:18px 22px;border-radius:var(--r);
  background:var(--glass);border:1px solid var(--glass-border-h);
  margin-bottom:20px;backdrop-filter:blur(16px);
}
.connect-banner strong{color:var(--ink);font-weight:600}
.connect-banner p{margin:4px 0 0;font-size:0.84rem;color:var(--ink-2)}
.connect-banner--warn{border-color:rgba(251,191,36,0.25)}
.connect-banner--warn strong{color:#fbbf24}
.orders-stack{display:flex;flex-direction:column;gap:12px}
.order-card{
  background:var(--glass);border:1px solid var(--glass-border);
  border-radius:var(--r);overflow:hidden;
  transition:border-color 0.2s,box-shadow 0.2s;backdrop-filter:blur(20px);
}
.order-card:hover{border-color:rgba(6,193,103,0.22);box-shadow:0 4px 24px rgba(6,193,103,0.07)}
.order-card--cancelled{border-color:rgba(248,113,113,0.2);background:rgba(248,113,113,0.04)}
.order-card__top{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:12px;padding:16px 18px 12px;
}
.order-card__id{
  font-family:var(--font-display);font-size:1.05rem;font-weight:700;
  letter-spacing:-0.02em;color:var(--ink);
}
.order-card__time{font-size:0.76rem;color:var(--ink-3);margin-top:3px}
.order-card__badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.order-card__stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--glass-border);
  border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);
}
.order-card__stat{background:rgba(0,0,0,0.2);padding:11px 16px}
.order-card__stat .k{
  display:block;font-size:0.63rem;font-weight:700;text-transform:uppercase;
  letter-spacing:0.06em;color:var(--ink-4);margin-bottom:4px;
}
.order-card__stat .v{font-size:0.86rem;font-weight:600;color:var(--ink)}
.order-card__stat .v--price{color:var(--green);font-size:0.98rem}
.order-banner{margin:0 16px 10px;padding:9px 14px;border-radius:var(--r-sm);font-size:0.81rem}
.order-banner--danger{background:rgba(248,113,113,0.1);color:#f87171;border:1px solid rgba(248,113,113,0.2)}
.order-banner--warn{background:rgba(251,191,36,0.1);color:#fbbf24;border:1px solid rgba(251,191,36,0.2)}
.items-table{width:100%;border-collapse:collapse;font-size:0.81rem}
.items-table th{
  padding:9px 18px;text-align:left;font-size:0.63rem;font-weight:700;
  text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-3);
  background:rgba(0,0,0,0.18);
}
.items-table td{padding:11px 18px;border-top:1px solid rgba(255,255,255,0.04);color:var(--ink-2)}
.items-table__modifier td{color:var(--ink-3);font-size:0.78rem}
.items-table__modifier td:first-child{padding-left:28px}
.mono{font-family:ui-monospace,monospace;font-size:0.75rem;color:var(--ink-3)}
.order-card__foot{
  padding:12px 18px;display:flex;gap:8px;flex-wrap:wrap;
  border-top:1px solid var(--glass-border);background:rgba(0,0,0,0.15);
}
.order-card__actions{
  padding:12px 18px;display:flex;gap:8px;flex-wrap:wrap;
  border-top:1px solid var(--glass-border);background:rgba(0,0,0,0.15);
}
.btn-accept,.btn-deny{
  flex:1;min-width:100px;padding:9px 16px;border-radius:var(--r-sm);
  font-size:0.83rem;font-weight:700;cursor:pointer;border:none;
  transition:opacity 0.15s,transform 0.1s;
}
.btn-accept{background:var(--green);color:#000;}
.btn-accept:hover:not(:disabled){opacity:0.88;transform:translateY(-1px)}
.btn-deny{background:rgba(248,113,113,0.18);color:#f87171;border:1px solid rgba(248,113,113,0.35);}
.btn-deny:hover:not(:disabled){background:rgba(248,113,113,0.28);transform:translateY(-1px)}
.btn-accept:disabled,.btn-deny:disabled{opacity:0.45;cursor:not-allowed}
.event-card{
  padding:13px 15px;border-radius:var(--r-sm);margin-bottom:9px;
  border:1px solid var(--glass-border);background:var(--glass-light);
  font-size:0.83rem;color:var(--ink-2);
}
.event-card--cancel{border-left:3px solid #f87171;background:rgba(248,113,113,0.06)}
.event-card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;flex-wrap:wrap}
.event-card__time{font-size:0.72rem;color:var(--ink-3)}
.event-card--fulfill{border-left:3px solid #fbbf24;background:rgba(251,191,36,0.06)}
.event-card--unread{border-color:rgba(6,193,103,0.25);background:rgba(6,193,103,0.06);color:var(--ink)}
.event-card strong{color:var(--ink)}
.event-card__time{font-size:0.7rem;color:var(--ink-4);margin-top:5px}
.empty-state{text-align:center;padding:48px 24px;color:var(--ink-3)}
.empty-state__icon{font-size:2rem;margin-bottom:12px;opacity:0.5}
.flash-wrap{padding:12px 30px 0;max-width:1440px;margin:0 auto}
.flash{padding:12px 16px;border-radius:var(--r-sm);font-size:0.875rem;margin-bottom:8px;border:1px solid}
.flash-success{background:rgba(6,193,103,0.1);color:#4ade80;border-color:rgba(6,193,103,0.2)}
.flash-danger{background:rgba(248,113,113,0.1);color:#f87171;border-color:rgba(248,113,113,0.2)}
.flash-warning{background:rgba(251,191,36,0.1);color:#fbbf24;border-color:rgba(251,191,36,0.2)}
.flash-info{background:rgba(96,165,250,0.1);color:#93c5fd;border-color:rgba(96,165,250,0.2)}
.banner-degraded{
  background:rgba(251,191,36,0.08);border:1px solid rgba(251,191,36,0.2);
  color:#fbbf24;padding:12px 18px;border-radius:var(--r-sm);font-size:0.84rem;margin-bottom:20px;
}
.auth-page{
  min-height:100vh;display:grid;place-items:center;padding:24px;
  background:var(--bg-root);
  background-image:
    radial-gradient(ellipse 70% 50% at 50% -10%,rgba(6,193,103,0.12),transparent),
    radial-gradient(ellipse 60% 60% at 80% 100%,rgba(14,165,233,0.08),transparent);
}
.auth-card{
  width:100%;max-width:400px;background:var(--glass);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border:1px solid var(--glass-border);border-radius:20px;
  padding:40px;box-shadow:var(--shadow-lg);
}
.auth-card h1{
  margin:0 0 5px;font-family:var(--font-display);font-size:1.6rem;
  font-weight:800;letter-spacing:-0.03em;text-align:center;color:var(--ink);
}
.auth-card .lead{text-align:center;color:var(--ink-3);font-size:0.88rem;margin-bottom:28px}
.form-field{margin-bottom:16px}
.form-field label,.form-label{
  display:block;font-size:0.78rem;font-weight:600;color:var(--ink-2);
  margin-bottom:7px;letter-spacing:0.01em;
}
.form-field .hint,.hint{color:var(--ink-3);font-weight:400}
.form-input,.form-select{
  width:100%;padding:11px 14px;background:rgba(255,255,255,0.05);
  border:1px solid var(--glass-border);border-radius:var(--r-sm);
  font-size:0.9rem;font-family:var(--font-body);color:var(--ink);
  transition:border-color 0.15s,box-shadow 0.15s;-webkit-appearance:none;
}
.form-input::placeholder{color:var(--ink-4)}
.form-input:focus,.form-select:focus{
  outline:none;border-color:rgba(6,193,103,0.5);
  box-shadow:0 0 0 4px rgba(6,193,103,0.1);background:rgba(255,255,255,0.07);
}
.form-select option{background:#0c1628;color:var(--ink)}
textarea.form-input{resize:vertical;min-height:72px}
.alert-bar{padding:10px 14px;border-radius:var(--r-sm);font-size:0.84rem;border:1px solid}
.alert-danger{background:rgba(248,113,113,0.1);color:#f87171;border-color:rgba(248,113,113,0.2)}
.alert-success{background:rgba(6,193,103,0.1);color:#4ade80;border-color:rgba(6,193,103,0.2)}
.alert-info{background:rgba(96,165,250,0.1);color:#93c5fd;border-color:rgba(96,165,250,0.2)}
.alert-warning{background:rgba(251,191,36,0.1);color:#fbbf24;border-color:rgba(251,191,36,0.2)}
.error-page{
  min-height:60vh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:48px 24px;
}
.error-page__icon{
  width:60px;height:60px;border-radius:50%;background:rgba(248,113,113,0.12);
  border:1px solid rgba(248,113,113,0.2);color:#f87171;font-size:1.4rem;
  font-weight:700;display:grid;place-items:center;margin-bottom:20px;
}
.error-page h1{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--ink);margin:0 0 10px}
.error-page p{color:var(--ink-2);margin-bottom:24px;max-width:380px}
.error-page__actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.row-input{
  background:rgba(255,255,255,0.05);border:1px solid var(--glass-border);
  border-radius:var(--r-xs);padding:7px 10px;color:var(--ink);
  font-size:0.84rem;font-family:var(--font-body);width:100%;
  transition:border-color 0.15s;
}
.row-input:focus{outline:none;border-color:rgba(6,193,103,0.45);background:rgba(6,193,103,0.05)}
.name-input{min-width:140px}
.drop-zone{
  border:2px dashed var(--glass-border);border-radius:var(--r-sm);
  padding:20px;text-align:center;cursor:pointer;
  transition:border-color 0.2s,background 0.2s;color:var(--ink-3);
}
.drop-zone:hover,.drop-zone.drag-over{border-color:rgba(6,193,103,0.4);background:rgba(6,193,103,0.04);color:var(--green)}
.pagination-wrap{
  padding:14px 20px;border-top:1px solid var(--glass-border);
  display:flex;justify-content:space-between;align-items:center;
  font-size:0.82rem;color:var(--ink-3);
}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);border-radius:6px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.18)}
@keyframes spin{to{transform:rotate(360deg)}}
.spinner{
  width:28px;height:28px;border:3px solid var(--glass-border);
  border-top-color:var(--green);border-radius:50%;
  animation:spin 0.7s linear infinite;margin:0 auto 12px;
}
@media(max-width:1100px){
  .bento-stats{grid-template-columns:repeat(2,1fr)}
  .bento-main{grid-template-columns:1fr}
}
@media(max-width:768px){
  :root{--sidebar-w:0px}
  .sidebar{transform:translateX(-100%)}
  .main-wrap{margin-left:0}
  .page-toolbar,.page-body,.page-header,.page-top,.page-content{padding-left:18px;padding-right:18px}
  .order-card__stats{grid-template-columns:1fr}
  .bento-stats{grid-template-columns:1fr 1fr}
}

/* Light theme */
[data-theme="light"]{
  --bg-root:#eef2f8;
  --glass:rgba(255,255,255,0.92);
  --glass-light:rgba(0,0,0,0.03);
  --glass-hover:rgba(0,0,0,0.05);
  --glass-border:rgba(15,23,42,0.10);
  --glass-border-h:rgba(6,193,103,0.35);
  --ink:#0f172a;
  --ink-2:rgba(15,23,42,0.72);
  --ink-3:rgba(15,23,42,0.48);
  --ink-4:rgba(15,23,42,0.28);
  --sidebar-bg:rgba(255,255,255,0.98);
  --shadow:0 2px 8px rgba(15,23,42,0.06),0 0 0 1px var(--glass-border);
  --shadow-lg:0 8px 32px rgba(15,23,42,0.10),0 0 0 1px var(--glass-border);
}
[data-theme="light"] body{
  background-image:
    radial-gradient(ellipse 70% 50% at 80% -10%,rgba(6,193,103,0.08),transparent),
    radial-gradient(ellipse 50% 40% at 10% 90%,rgba(14,165,233,0.06),transparent);
}
[data-theme="light"] .page-header,
[data-theme="light"] .page-toolbar,
[data-theme="light"] .page-top{
  background:rgba(255,255,255,0.9);
}
[data-theme="light"] .data-table th{background:rgba(0,0,0,0.04)}
[data-theme="light"] .order-card__stat,
[data-theme="light"] .items-table th{background:rgba(0,0,0,0.04)}
[data-theme="light"] .form-input,
[data-theme="light"] .form-select,
[data-theme="light"] .row-input{
  background:#fff;color:var(--ink);
}
[data-theme="light"] .form-select option{background:#fff}

.theme-toggle{width:100%;margin-bottom:8px;border:none;cursor:pointer}
.theme-toggle .icon-sun{display:none}
.theme-toggle .icon-moon{display:inline}
[data-theme="light"] .theme-toggle .icon-sun{display:inline}
[data-theme="light"] .theme-toggle .icon-moon{display:none}
.theme-toggle svg{width:17px;height:17px;opacity:0.75}

.analytics-panel{margin-bottom:24px}
.analytics-kpis{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
  gap:14px;margin-bottom:24px;
}
.analytics-kpi{
  padding:14px 16px;border-radius:var(--r-sm);
  background:var(--glass-light);border:1px solid var(--glass-border);
}
.analytics-kpi__label{
  display:block;font-size:0.66rem;font-weight:700;text-transform:uppercase;
  letter-spacing:0.06em;color:var(--ink-3);margin-bottom:6px;
}
.analytics-kpi__value{
  font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--ink);
}
.analytics-chart__title{
  font-size:0.78rem;font-weight:600;color:var(--ink-2);margin-bottom:14px;
}
.analytics-bars{
  display:flex;align-items:flex-end;gap:10px;height:140px;padding-top:8px;
}
.analytics-bar-col{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;
}
.analytics-bar-wrap{
  width:100%;max-width:48px;height:100px;display:flex;align-items:flex-end;
  background:rgba(0,0,0,0.15);border-radius:var(--r-xs) var(--r-xs) 0 0;
  border:1px solid var(--glass-border);border-bottom:none;
}
.analytics-bar{
  width:100%;min-height:4px;border-radius:var(--r-xs) var(--r-xs) 0 0;
  background:linear-gradient(180deg,var(--green),var(--green-2));
  transition:height 0.3s ease;
}
.analytics-bar__count{font-size:0.72rem;font-weight:700;color:var(--ink)}
.analytics-bar__label{font-size:0.68rem;color:var(--ink-3);text-transform:uppercase}
[data-theme="light"] .analytics-bar-wrap{background:rgba(0,0,0,0.04)}
.item-performance{
  display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px;
}
@media(max-width:768px){.item-performance{grid-template-columns:1fr}}
.item-performance__col{min-width:0}

/* Menu designer */
.menu-designer__toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between;margin-bottom:16px}
.menu-sec-tabs{display:flex;flex-wrap:wrap;gap:6px;flex:1}
.menu-sec-tab{padding:6px 12px;border-radius:20px;border:1px solid var(--glass-border);background:var(--glass-light);color:var(--ink-2);font-size:0.78rem;cursor:pointer}
.menu-sec-tab--active{border-color:var(--green);color:var(--green);background:rgba(6,193,103,0.12)}
.menu-sec-tab__n{opacity:0.7;margin-left:4px}
.menu-designer__toolbar-actions{display:flex;flex-wrap:wrap;gap:6px}
.menu-designer__products{display:flex;flex-direction:column;gap:14px}
.menu-designer__empty{color:var(--ink-3);font-size:0.84rem;padding:24px;text-align:center}
.md-product{border:1px solid var(--glass-border);border-radius:var(--r-md);padding:14px;background:rgba(0,0,0,0.12)}
[data-theme="light"] .md-product{background:rgba(255,255,255,0.6)}
.md-product__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.md-product__grid{display:grid;grid-template-columns:1fr 100px 100px;gap:8px}
.md-product__grid input{width:100%;padding:8px 10px;border-radius:var(--r-xs);border:1px solid var(--glass-border);background:var(--surface);color:var(--ink);font-size:0.84rem}
.md-mods{margin-top:12px;font-size:0.84rem}
.md-mods summary{cursor:pointer;font-weight:600;color:var(--ink-2);margin-bottom:8px}
.md-mod-group{border:1px dashed var(--glass-border);border-radius:var(--r-sm);padding:10px;margin:8px 0;background:rgba(0,0,0,0.08)}
.md-mod-group__head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.md-mod-group__head input{padding:6px 8px;border-radius:var(--r-xs);border:1px solid var(--glass-border);background:var(--surface);color:var(--ink);font-size:0.82rem}
.md-mod-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}
.md-mod-row input,.md-mod-row select{padding:6px 8px;border-radius:var(--r-xs);border:1px solid var(--glass-border);background:var(--surface);color:var(--ink);font-size:0.82rem}
@media(max-width:700px){.md-product__grid{grid-template-columns:1fr}}