* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: 'Segoe UI', Tahoma, Arial, sans-serif;
    background: #0f1220;
    color: #e8e8f0;
}

.auth-page {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
}
.auth-card {
    background: #1a1e33;
    padding: 32px;
    border-radius: 12px;
    width: 360px;
    box-shadow: 0 10px 30px rgba(0,0,0,.4);
}
.auth-card h1 { margin-top: 0; font-size: 22px; }
.muted { color: #9098b8; font-size: 13px; }
label { display: block; margin: 14px 0 6px; font-size: 13px; color: #c0c4dd; }
input[type=text], input[type=email], input[type=password], input[type=number] {
    width: 100%;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid #2c3153;
    background: #12142400;
    background: #0f1120;
    color: #fff;
    font-size: 14px;
}
.btn {
    display: inline-block;
    border: none;
    border-radius: 8px;
    padding: 10px 18px;
    cursor: pointer;
    font-size: 14px;
    text-decoration: none;
    color: #fff;
}
.btn-primary { background: linear-gradient(135deg,#7c5cff,#5a3df5); }
.btn-primary:hover { filter: brightness(1.1); }
.btn-large { width: 100%; padding: 14px; font-size: 16px; margin-top: 10px; }
.btn-small { padding: 6px 12px; font-size: 12px; background: #2c3153; }
.alert { padding: 10px 12px; border-radius: 8px; margin-bottom: 10px; font-size: 13px; }
.alert-error { background: #3a1a26; color: #ff8fa3; border: 1px solid #5c2436; }

/* Topbar */
.topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 24px;
    background: #151830;
    border-bottom: 1px solid #262b4d;
}
.brand { font-weight: bold; font-size: 18px; }
.badge { font-size: 11px; background: #2c3153; padding: 3px 8px; border-radius: 20px; margin-right: 8px; }
.topbar-right { display: flex; align-items: center; gap: 14px; }
.balance strong { color: #7cffb2; }

/* Game layout */
.game-wrap {
    display: flex;
    gap: 20px;
    padding: 24px;
    max-width: 1100px;
    margin: 0 auto;
    flex-wrap: wrap;
}
.game-panel {
    flex: 1 1 380px;
    background: #151830;
    border-radius: 14px;
    padding: 24px;
}
.result-display {
    text-align: center;
    font-size: 48px;
    font-weight: bold;
    padding: 30px 0;
    border-radius: 12px;
    background: #0f1120;
    margin-bottom: 20px;
    transition: all .2s;
}
.result-win { color: #7cffb2; box-shadow: inset 0 0 0 2px #7cffb2; }
.result-lose { color: #ff7c8f; box-shadow: inset 0 0 0 2px #ff7c8f; }

.bet-form .field { margin-bottom: 14px; }
.win-chance { padding: 10px 12px; background: #0f1120; border-radius: 8px; color: #ffd27c; }

.message-box { margin-top: 14px; padding: 10px 12px; border-radius: 8px; font-size: 14px; }
.msg-win { background: #123324; color: #7cffb2; }
.msg-lose { background: #3a1a26; color: #ff8fa3; }

.fairness-box { margin-top: 20px; font-size: 12px; }
.fairness-box code { word-break: break-all; }

.history-panel {
    flex: 1 1 380px;
    background: #151830;
    border-radius: 14px;
    padding: 24px;
}
.history-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.history-table th, .history-table td { padding: 8px; text-align: center; border-bottom: 1px solid #262b4d; }
.row-win td:last-child { color: #7cffb2; }
.row-lose td:last-child { color: #ff7c8f; }

/* Admin */
.admin-wrap { padding: 24px; max-width: 1100px; margin: 0 auto; }
.admin-table { width: 100%; border-collapse: collapse; background: #151830; border-radius: 10px; overflow: hidden; }
.admin-table th, .admin-table td { padding: 10px; border-bottom: 1px solid #262b4d; font-size: 13px; text-align: center; }
.admin-card { background: #151830; padding: 20px; border-radius: 12px; margin-bottom: 20px; }
.inline-form { display: flex; gap: 8px; align-items: center; justify-content: center; }
.inline-form input { width: 90px; }
