/* AMCoin v3 — Global Styles (app.css) */
:root {
  --gold: #f5a623; --gold2: #ffcc02; --gold-glow: rgba(245,166,35,.3);
  --bg: #0d0d1a; --bg2: #13132b; --bg3: rgba(255,255,255,.04);
  --border: rgba(255,255,255,.09); --border-gold: rgba(245,166,35,.25);
  --text: #f0f0f5; --text2: rgba(240,240,245,.55); --text3: rgba(240,240,245,.3);
  --green: #22c55e; --red: #ef4444; --blue: #3b82f6; --purple: #a78bfa;
  --r: 14px; --r-sm: 8px; --r-lg: 20px;
  --nav-h: 62px; --bot-h: 64px;
  --font: 'Tajawal', sans-serif; --mono: 'JetBrains Mono', monospace;
  --shadow: 0 4px 24px rgba(0,0,0,.25);
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-tap-highlight-color:transparent; }
body {
  font-family: var(--font); background: var(--bg); color: var(--text);
  direction: rtl; min-height: 100vh; overflow-x: hidden;
  padding-bottom: var(--bot-h);
}
/* Ambient glow */
body::before {
  content:''; position:fixed; top:-30%; right:-15%; width:600px; height:600px;
  background: radial-gradient(circle, rgba(245,166,35,.06), transparent 65%);
  pointer-events:none; z-index:0;
}
/* ── Top Nav ── */
.nav {
  position:fixed; top:0; right:0; left:0; height:var(--nav-h);
  background: rgba(13,13,26,.9); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 16px; z-index:100;
}
.nav-brand { display:flex; align-items:center; gap:8px; text-decoration:none; }
.nav-coin {
  width:34px; height:34px; border-radius:50%;
  background:linear-gradient(135deg,var(--gold),#a06000);
  display:flex; align-items:center; justify-content:center; font-size:17px;
  animation: glow 3s ease-in-out infinite;
}
@keyframes glow {
  0%,100%{box-shadow:0 0 14px var(--gold-glow)}
  50%{box-shadow:0 0 28px rgba(245,166,35,.5)}
}
.nav-logo { font-size:17px; font-weight:900; color:var(--gold); }
.nav-right { display:flex; align-items:center; gap:8px; }
.nav-bal {
  background:rgba(245,166,35,.1); border:1px solid var(--border-gold);
  border-radius:20px; padding:5px 12px; font-size:12px; font-weight:800; color:var(--gold);
}
.nav-avatar {
  width:34px; height:34px; border-radius:50%;
  background:linear-gradient(135deg,var(--gold),#a06000);
  display:flex; align-items:center; justify-content:center;
  font-size:14px; font-weight:900; color:#000;
  text-decoration:none; cursor:pointer;
}
/* ── Bottom Nav (Mobile) ── */
.bot-nav {
  position:fixed; bottom:0; right:0; left:0; height:var(--bot-h);
  background:rgba(13,13,26,.96); backdrop-filter:blur(20px);
  border-top:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-around;
  z-index:100; padding:0 4px;
}
.bot-nav-item {
  flex:1; display:flex; flex-direction:column; align-items:center;
  gap:3px; text-decoration:none; color:var(--text2); padding:6px 2px;
  transition:.2s; position:relative; border-radius:var(--r-sm);
}
.bot-nav-item .bi-icon { font-size:20px; line-height:1; }
.bot-nav-item .bi-label { font-size:10px; font-weight:700; }
.bot-nav-item.active { color:var(--gold); }
.bot-nav-item.active .bi-icon { filter:drop-shadow(0 0 6px var(--gold)); }
.bot-badge {
  position:absolute; top:4px; right:4px;
  background:var(--red); color:#fff; font-size:9px; font-weight:800;
  min-width:16px; height:16px; border-radius:8px;
  display:flex; align-items:center; justify-content:center; padding:0 3px;
}
/* ── Page ── */
.page { padding-top: calc(var(--nav-h) + 16px); min-height:100vh; position:relative; z-index:1; }
.px { padding:0 16px; }
.container { max-width:1200px; margin:0 auto; padding:0 16px; }
.container-sm { max-width:640px; margin:0 auto; padding:0 16px; }
/* ── Cards ── */
.card {
  background:var(--bg3); border:1px solid var(--border);
  border-radius:var(--r); backdrop-filter:blur(8px); overflow:hidden;
}
.card-gold { border-color:var(--border-gold); background:rgba(245,166,35,.04); }
.card-body { padding:16px; }
.card-header {
  padding:14px 16px; border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
}
.card-header h3 { font-size:14px; font-weight:800; }
/* ── Buttons ── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:10px 18px; border-radius:var(--r-sm);
  font-family:var(--font); font-size:13px; font-weight:700;
  cursor:pointer; border:none; transition:.2s; text-decoration:none; white-space:nowrap;
}
.btn:active { transform:scale(.97); }
.btn-gold { background:linear-gradient(135deg,var(--gold),#a06000); color:#000; }
.btn-gold:hover { box-shadow:0 4px 20px var(--gold-glow); }
.btn-ghost { background:var(--bg3); color:var(--text); border:1px solid var(--border); }
.btn-ghost:hover { background:rgba(255,255,255,.08); }
.btn-danger { background:rgba(239,68,68,.15); color:var(--red); border:1px solid rgba(239,68,68,.3); }
.btn-success { background:rgba(34,197,94,.15); color:var(--green); border:1px solid rgba(34,197,94,.3); }
.btn-sm { padding:6px 12px; font-size:12px; border-radius:6px; }
.btn-block { width:100%; }
.btn-lg { padding:14px 24px; font-size:15px; border-radius:var(--r); }
.btn:disabled { opacity:.4; cursor:not-allowed; transform:none; }
/* ── Forms ── */
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-label { font-size:13px; font-weight:700; color:var(--text2); }
.form-input {
  padding:11px 13px; background:rgba(255,255,255,.05);
  border:1.5px solid var(--border); border-radius:var(--r-sm);
  color:var(--text); font-family:var(--font); font-size:14px;
  outline:none; transition:.2s; width:100%;
}
.form-input:focus { border-color:var(--gold); background:rgba(255,255,255,.08); }
.form-input::placeholder { color:var(--text3); }
select.form-input { cursor:pointer; }
textarea.form-input { resize:vertical; min-height:80px; }
.form-hint { font-size:11px; color:var(--text3); }
/* ── Badges ── */
.badge {
  display:inline-flex; align-items:center; gap:4px;
  padding:3px 9px; border-radius:20px; font-size:11px; font-weight:700;
}
.badge-gold   { background:rgba(245,166,35,.15); color:var(--gold); border:1px solid var(--border-gold); }
.badge-green  { background:rgba(34,197,94,.12); color:var(--green); border:1px solid rgba(34,197,94,.25); }
.badge-red    { background:rgba(239,68,68,.12); color:var(--red); border:1px solid rgba(239,68,68,.25); }
.badge-blue   { background:rgba(59,130,246,.12); color:var(--blue); border:1px solid rgba(59,130,246,.25); }
.badge-purple { background:rgba(167,139,250,.12); color:var(--purple); border:1px solid rgba(167,139,250,.25); }
.badge-muted  { background:rgba(255,255,255,.06); color:var(--text2); border:1px solid var(--border); }
/* ── Grid ── */
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.grid-auto { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; }
/* ── Stat Card ── */
.stat-card {
  background:var(--bg3); border:1px solid var(--border); border-radius:var(--r);
  padding:16px 14px; text-align:center;
}
.stat-val { font-size:22px; font-weight:900; color:var(--text); margin-bottom:3px; }
.stat-label { font-size:11px; color:var(--text2); font-weight:600; }
/* ── Toast ── */
#toast-root {
  position:fixed; bottom:calc(var(--bot-h) + 12px); left:50%;
  transform:translateX(-50%); z-index:999;
  display:flex; flex-direction:column; align-items:center; gap:8px; width:90%; max-width:360px;
}
.toast {
  background:rgba(13,13,26,.97); border:1px solid var(--border);
  border-radius:var(--r); padding:11px 18px;
  font-size:13px; font-weight:600; text-align:center;
  animation:slideUp .3s ease; width:100%;
  backdrop-filter:blur(20px);
}
.toast.success { border-color:rgba(34,197,94,.4); color:var(--green); }
.toast.error   { border-color:rgba(239,68,68,.4); color:var(--red); }
.toast.gold    { border-color:var(--border-gold); color:var(--gold); }
@keyframes slideUp { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
/* ── Divider ── */
.divider { height:1px; background:var(--border); margin:16px 0; }
/* ── Utils ── */
.text-gold { color:var(--gold); } .text-green { color:var(--green); }
.text-red { color:var(--red); } .text-muted { color:var(--text2); }
.fw-9 { font-weight:900; } .mono { font-family:var(--mono); }
.text-center { text-align:center; } .gap-8 { gap:8px; }
/* ── Empty State ── */
.empty { text-align:center; padding:60px 20px; }
.empty-icon { font-size:64px; margin-bottom:14px; }
.empty-title { font-size:17px; font-weight:800; margin-bottom:6px; }
.empty-sub { font-size:13px; color:var(--text2); margin-bottom:20px; }
/* ── Modal ── */
.modal-ov {
  display:none; position:fixed; inset:0; background:rgba(0,0,0,.65);
  z-index:500; align-items:flex-end; justify-content:center;
  backdrop-filter:blur(4px);
}
.modal-ov.open { display:flex; }
.modal {
  background:var(--bg2); border:1px solid var(--border);
  border-radius:var(--r-lg) var(--r-lg) 0 0;
  width:100%; max-width:600px; max-height:90vh;
  overflow-y:auto; animation:slideModal .3s ease;
}
@keyframes slideModal { from{transform:translateY(100%)} to{transform:translateY(0)} }
.modal-header {
  padding:16px 18px; border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
  position:sticky; top:0; background:var(--bg2); z-index:1;
}
.modal-header h3 { font-size:15px; font-weight:800; }
.modal-close { background:none; border:none; font-size:22px; color:var(--text2); cursor:pointer; padding:2px 8px; }
.modal-body { padding:18px; }
.modal-footer { padding:14px 18px; border-top:1px solid var(--border); display:flex; gap:8px; }
/* ── Section Title ── */
.sec-title { font-size:16px; font-weight:800; margin-bottom:14px; display:flex; align-items:center; gap:8px; }
/* ── Responsive ── */
@media (min-width: 640px) {
  .bot-nav { display:none; }
  body { padding-bottom:0; }
  .nav { padding:0 28px; }
  .nav-logo { font-size:19px; }
  .card-body { padding:22px; }
  .modal { border-radius:var(--r-lg); }
  .modal-ov { align-items:center; }
}
@media (min-width: 768px) {
  .grid-2 { grid-template-columns:1fr 1fr; }
}
/* ── Scrollbar ── */
::-webkit-scrollbar { width:5px; height:5px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:rgba(255,255,255,.1); border-radius:3px; }
/* ── Shimmer loading ── */
.shimmer {
  background:linear-gradient(90deg,rgba(255,255,255,.04) 25%,rgba(255,255,255,.09) 50%,rgba(255,255,255,.04) 75%);
  background-size:200% 100%; animation:shimmer 1.5s infinite; border-radius:var(--r-sm);
}
@keyframes shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }
