@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700&family=Sora:wght@400;500;600;700&display=swap');

:root{
  --bg0:#06070a;
  --bg1:#090c12;
  --card:rgba(16,18,24,.55);
  --card2:rgba(16,18,24,.35);
  --stroke:rgba(255,255,255,.08);
  --stroke2:rgba(255,255,255,.14);
  --accent:#ff8a1c;
  --accent2:#ffb24a;
  --text:#e9eef7;
  --muted:#9aa6bd;
  --good:#34d399;
  --warn:#fbbf24;
  --bad:#fb7185;
  --shadow:0 22px 70px rgba(0,0,0,.55);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
}

html,body{
  height:100%;
}

body{
  font-family:Manrope,system-ui,-apple-system,Segoe UI,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 600px at 20% 10%, rgba(255,138,28,.16), transparent 60%),
    radial-gradient(900px 520px at 85% 18%, rgba(99,102,241,.12), transparent 55%),
    radial-gradient(1200px 700px at 50% 120%, rgba(16,185,129,.10), transparent 55%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  overflow-x:hidden;
}

.font-display{
  font-family:Sora,Manrope,system-ui,-apple-system,Segoe UI,Arial,sans-serif;
}

.glass{
  background:linear-gradient(180deg, var(--card), var(--card2));
  border:1px solid var(--stroke);
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.glass-strong{
  background:linear-gradient(180deg, rgba(16,18,24,.75), rgba(16,18,24,.50));
  border:1px solid var(--stroke2);
  box-shadow:0 26px 80px rgba(0,0,0,.65);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
}

.soft-outline{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}

.btn-accent{
  background:linear-gradient(180deg, rgba(255,138,28,1), rgba(255,138,28,.78));
  box-shadow:0 18px 40px rgba(255,138,28,.16);
}

.btn-accent:active{
  transform:translateY(1px) scale(.995);
}

.btn-ghost{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}

.btn-ghost:active{
  transform:translateY(1px) scale(.995);
}

.chip{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}

.scrollbar-thin::-webkit-scrollbar{
  width:10px;
  height:10px;
}
.scrollbar-thin::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.10);
  border-radius:999px;
  border:2px solid rgba(0,0,0,0);
  background-clip:padding-box;
}
.scrollbar-thin::-webkit-scrollbar-track{
  background:rgba(0,0,0,0);
}

.pulse-dot{
  position:relative;
}
.pulse-dot:after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:999px;
  background:rgba(255,138,28,.14);
  filter:blur(2px);
  animation:pulse 1.6s ease-in-out infinite;
  z-index:-1;
}
@keyframes pulse{
  0%{transform:scale(.85);opacity:.25}
  50%{transform:scale(1.08);opacity:.55}
  100%{transform:scale(.85);opacity:.25}
}

.table-card{
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.table-card:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.16);
}
.table-card:active{
  transform:translateY(0px) scale(.995);
}

@media (hover:none){
  .table-card:hover{
    transform:none;
  }
}

.status-empty{background:rgba(52,211,153,.10);border-color:rgba(52,211,153,.22)}
.status-occupied{background:rgba(255,138,28,.12);border-color:rgba(255,138,28,.26)}
.status-reserved{background:rgba(59,130,246,.10);border-color:rgba(59,130,246,.24)}
.status-payment_pending{background:rgba(251,191,36,.10);border-color:rgba(251,191,36,.24)}

.kbd{
  font-variant-numeric:tabular-nums;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  padding:.18rem .45rem;
  border-radius:.55rem;
}
