/* ─── GoldDragon Casino CSS ─────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Mono:wght@400;500&display=swap');

:root {
    --gold:    #c9a84c;
    --gold-l:  #e8c97a;
    --dark:    #0d0d0d;
    --s1:      #141414;
    --s2:      #1c1c1c;
    --border:  rgba(201,168,76,.2);
    --green:   #3ddc84;
    --red:     #ff5c5c;
    --blue:    #5c9fff;
    --text:    #e8e8e8;
    --muted:   #666;
    --radius:  12px;
}

/* Wrap */
.gd-wrap {
    font-family: 'Syne', sans-serif;
    color: var(--text);
    background: var(--dark);
    padding: 2rem 1.2rem;
    border-radius: var(--radius);
    max-width: 1100px;
    margin: 0 auto;
}

/* Login msg */
.gd-login-msg {
    text-align: center;
    padding: 3rem;
    background: var(--s1);
    border-radius: var(--radius);
    border: 1px solid var(--border);
}
.gd-login-msg a { color: var(--gold); }

/* ── Wallet Card ── */
.gd-wallet-card {
    background: linear-gradient(135deg,#1a1500,#2a2000);
    border: 1px solid var(--gold);
    border-radius: var(--radius);
    padding: 1.8rem;
    margin-bottom: 2rem;
}
.gd-wallet-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.8rem;
}
.gd-label { font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); font-family:'DM Mono',monospace; margin-bottom:.3rem; }
.gd-balance { display:flex; align-items:baseline; gap:.5rem; }
.gd-balance span { color:var(--gold); font-size:1rem; }
.gd-balance strong { font-size:2.5rem; font-family:'DM Mono',monospace; color:var(--gold-l); font-weight:700; }
.gd-acct-chip { background:rgba(255,255,255,.05); border:1px solid var(--border); border-radius:999px; padding:.4rem 1rem; font-family:'DM Mono',monospace; font-size:.75rem; color:var(--muted); }

.gd-wallet-actions { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media(max-width:600px){ .gd-wallet-actions{ grid-template-columns:1fr; } }
.gd-action-group label { display:block; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:.4rem; }
.gd-input-row { display:flex; gap:.5rem; }
.gd-input-row input { flex:1; background:rgba(255,255,255,.06); border:1px solid var(--border); border-radius:8px; padding:.6rem .8rem; color:var(--text); font-family:'DM Mono',monospace; font-size:.95rem; outline:none; }
.gd-input-row input:focus { border-color:var(--gold); }

/* ── Buttons ── */
.gd-btn { padding:.6rem 1.2rem; border:none; border-radius:8px; font-family:'Syne',sans-serif; font-size:.875rem; font-weight:700; cursor:pointer; transition:all .2s; letter-spacing:.03em; }
.gd-btn:disabled { opacity:.5; cursor:not-allowed; }
.gd-btn-green  { background:linear-gradient(135deg,#3ddc84,#22c55e); color:#000; }
.gd-btn-red    { background:linear-gradient(135deg,#ff5c5c,#e03030); color:#fff; }
.gd-btn-gold   { background:linear-gradient(135deg,#c9a84c,#e8c97a); color:#000; }
.gd-btn-lg     { padding:.9rem 2rem; font-size:1rem; }
.gd-btn:hover:not(:disabled) { transform:translateY(-1px); filter:brightness(1.1); }

/* ── Messages ── */
.gd-msg { margin-top:1rem; padding:.75rem 1rem; border-radius:8px; font-size:.875rem; }
.gd-msg.success { background:rgba(61,220,132,.1); border:1px solid rgba(61,220,132,.3); color:var(--green); }
.gd-msg.error   { background:rgba(255,92,92,.1);  border:1px solid rgba(255,92,92,.3);  color:var(--red);   }

/* ── Tables ── */
.gd-section-title { font-size:.65rem; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); font-family:'DM Mono',monospace; margin-bottom:.8rem; }
.gd-table-wrap { overflow-x:auto; border-radius:var(--radius); border:1px solid var(--border); }
table.gd-table { width:100%; border-collapse:collapse; font-size:.85rem; }
table.gd-table thead { background:var(--s2); }
table.gd-table th { padding:.7rem 1rem; text-align:left; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); font-family:'DM Mono',monospace; white-space:nowrap; }
table.gd-table td { padding:.8rem 1rem; border-top:1px solid rgba(255,255,255,.04); font-family:'DM Mono',monospace; white-space:nowrap; }
table.gd-table tbody tr:hover { background:rgba(255,255,255,.02); }
.gd-empty { text-align:center; padding:2.5rem; color:var(--muted); }
.gd-green { color:var(--green); }
.gd-red   { color:var(--red);   }
.gd-muted { color:var(--muted); }
.gd-mono  { font-family:'DM Mono',monospace; font-size:.78rem; }

/* ── Badges ── */
.gd-badge { display:inline-block; padding:.2rem .65rem; border-radius:999px; font-size:.68rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; }
.gd-badge-deposit   { background:rgba(61,220,132,.12); color:var(--green); border:1px solid rgba(61,220,132,.3); }
.gd-badge-withdraw  { background:rgba(255,92,92,.12);  color:var(--red);   border:1px solid rgba(255,92,92,.3);  }
.gd-badge-completed { background:rgba(61,220,132,.12); color:var(--green); border:1px solid rgba(61,220,132,.3); }
.gd-badge-pending   { background:rgba(201,168,76,.12); color:var(--gold);  border:1px solid rgba(201,168,76,.3); }
.gd-badge-failed    { background:rgba(255,92,92,.12);  color:var(--red);   border:1px solid rgba(255,92,92,.3);  }

/* ── Lobby ── */
.gd-lobby-hero { background:linear-gradient(135deg,#1a1500,#2a2000); border:1px solid var(--gold); border-radius:var(--radius); padding:2.5rem; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1.5rem; }
.gd-lobby-hero h2 { margin:0 0 .5rem; font-size:1.8rem; }
.gd-lobby-hero p  { color:var(--muted); margin:0; }
.gd-lobby-btns { display:flex; gap:1rem; flex-wrap:wrap; }

/* ── Games ── */
.gd-games-filter { margin-bottom:1.5rem; }
.gd-games-filter input { width:100%; max-width:400px; background:var(--s1); border:1px solid var(--border); border-radius:8px; padding:.7rem 1rem; color:var(--text); font-size:.95rem; outline:none; font-family:'Syne',sans-serif; }
.gd-games-filter input:focus { border-color:var(--gold); }
.gd-games-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1rem; }
.gd-game-card { background:var(--s1); border:1px solid var(--border); border-radius:var(--radius); padding:1.2rem; display:flex; flex-direction:column; align-items:center; gap:.8rem; text-align:center; transition:border-color .2s; }
.gd-game-card:hover { border-color:var(--gold); }
.gd-game-icon { font-size:2.5rem; }
.gd-game-name { font-size:.9rem; font-weight:700; }
.gd-game-cat  { font-size:.7rem; color:var(--gold); letter-spacing:.08em; text-transform:uppercase; }
.gd-game-code { font-size:.7rem; color:var(--muted); font-family:'DM Mono',monospace; }

/* ── Transaction stats ── */
.gd-txn-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:1rem; margin-bottom:1.5rem; }
.gd-stat { background:var(--s1); border:1px solid var(--border); border-radius:var(--radius); padding:1rem 1.2rem; }
.gd-stat small { display:block; font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); font-family:'DM Mono',monospace; margin-bottom:.3rem; }
.gd-stat strong { font-size:1.15rem; font-family:'DM Mono',monospace; }
.gd-stat-green strong { color:var(--green); }
.gd-stat-red   strong { color:var(--red);   }
.gd-stat-blue  strong { color:var(--blue);  }
.gd-stat-gold  strong { color:var(--gold-l);}

/* ── Tabs ── */
.gd-tabs { display:flex; gap:.4rem; border-bottom:1px solid var(--border); margin-bottom:1.5rem; }
.gd-tab { padding:.55rem 1.2rem; background:transparent; border:none; border-bottom:2px solid transparent; color:var(--muted); font-family:'Syne',sans-serif; font-size:.875rem; font-weight:600; cursor:pointer; position:relative; top:1px; letter-spacing:.04em; }
.gd-tab.active { color:var(--gold); border-bottom-color:var(--gold); }
.gd-tab:hover:not(.active) { color:var(--text); }
.gd-tab-panel { display:none; }
.gd-tab-panel.active { display:block; }

/* ── Admin ── */
.gd-admin-wrap h1 { margin-bottom:1.5rem; }
.gd-admin-stats { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2rem; }
.gd-admin-stat { background:#1a1a1a; border:1px solid #333; border-radius:8px; padding:1rem 1.5rem; text-align:center; min-width:130px; }
.gd-admin-stat strong { display:block; font-size:1.6rem; color:#e8c97a; }
.gd-admin-stat span { font-size:.8rem; color:#888; }

/* ── Spinner overlay ── */
.gd-loading { opacity:.6; pointer-events:none; }
