/* Auth Overlay Background */
.auth-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ffa500;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    backdrop-filter: blur(5px);
}
/* Auth Card */
.auth-card {
    background: #fff;
    color: #333;
    width: 90%;
    max-width: 380px;
    padding: 30px;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 10px 25px rgba(0,0,0,0.3);
    position: relative;
    animation: slideUp 0.3s ease-out;
}

@keyframes slideUp {
    from { transform: translateY(50px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.auth-card h2 {
    margin: 0 0 10px;
    font-size: 24px;
    color: #000;
}

.auth-card input {
    width: 100%;
    padding: 12px;
    margin-bottom: 15px;
    border-radius: 10px;
    border: 1px solid #ddd;
    box-sizing: border-box;
    font-size: 16px;
    outline: none;
    transition: border 0.3s;
}

.auth-card input:focus {
    border-color: #007bff;
}

/* Buttons */
.btn-auth {
    width: 100%;
    padding: 14px;
    border: none;
    border-radius: 10px;
    font-weight: bold;
    cursor: pointer;
    font-size: 16px;
    transition: transform 0.2s;
}

.btn-auth:active {
    transform: scale(0.98);
}

.btn-primary { background: #007bff; color: #fff; }
.btn-success { background: #28a745; color: #fff; }
.btn-info { background: #17a2b8; color: #fff; }

.close-btn {
    position: absolute;
    right: 15px;
    top: 10px;
    font-size: 28px;
    color: #999;
    cursor: pointer;
}
.header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 500;
    padding: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(to bottom, rgba(0,0,0,0.7), transparent);
    box-sizing: border-box;
}

.logo {
    color: white;
    text-decoration: none;
    font-weight: bold;
    font-size: 20px;
}

.btn-login-trigger {
    background: #fe2c55;
    color: white;
    border: none;
    padding: 8px 20px;
    border-radius: 5px;
    font-weight: bold;
    cursor: pointer;
}

.user-info-bar {
    display: flex;
    align-items: center;
    gap: 15px;
}

.balance-tag {
    background: rgba(255,255,255,0.2);
    padding: 5px 12px;
    border-radius: 15px;
}

.avatar-small {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    border: 2px solid white;
    object-fit: cover;
}

.auth-error {
    color: #fe2c55;
    margin-top: 10px;
    font-size: 14px;
}

/* Қазіргі Vue авторизация терезесінің негізгі әрекеттері. */
.auth-action-button {
    width: 100%;
    min-height: 48px;
    margin-top: 2px;
    padding: 12px 18px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(0,0,0,.2);
    transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
}
.auth-action-button--primary { background: linear-gradient(135deg,#168cf0,#2563eb); }
.auth-action-button--success { background: linear-gradient(135deg,#22a45a,#15803d); }
.auth-action-button--telegram { display:flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(135deg,#2aabee,#168acd); }
.auth-action-button:hover { filter: brightness(1.08); box-shadow: 0 10px 24px rgba(37,99,235,.28); }
.auth-action-button:active { transform: scale(.985); }
.auth-legal-links { position:relative;top:5px;font-size:14px;line-height:1.4; }
.auth-legal-links a { color: #64748b; text-decoration: none; }
.auth-legal-links a:hover { color: #3b82f6; text-decoration: underline; }
.auth-step-back{display:inline-flex;align-items:center;gap:7px;margin:-2px 0 2px;padding:5px 0;border:0;background:transparent;color:#60a5fa;font-size:13px;font-weight:700;cursor:pointer}.auth-secondary-link{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:7px;border:0;background:transparent;color:#60a5fa;font-size:13px;font-weight:700;cursor:pointer}.auth-recovery-links{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;color:#64748b;font-size:12px}.auth-recovery-links button{border:0;background:transparent;color:#60a5fa;cursor:pointer}.auth-recovery-links button:hover,.auth-step-back:hover,.auth-secondary-link:hover{text-decoration:underline}
.auth-brand-title{display:flex;align-items:center;justify-content:center;gap:9px}.auth-brand-title img{width:34px;height:34px;object-fit:contain}
.auth-telegram-step{text-align:center}.auth-telegram-icon{width:64px;height:64px;margin:0 auto;display:grid;place-items:center;border-radius:50%;background:rgba(42,171,238,.14);color:#2aabee;font-size:36px}.auth-telegram-copy h3{margin:0 0 8px;font-size:18px;font-weight:800}.auth-telegram-copy p{margin:0;color:#94a3b8;font-size:13px;line-height:1.55}.auth-telegram-reopen{display:inline-block;color:#38bdf8;font-size:13px;text-decoration:none}.auth-telegram-wait{display:flex;align-items:center;justify-content:center;gap:8px;color:#94a3b8;font-size:13px}.auth-telegram-spinner{width:15px;height:15px;border:2px solid rgba(148,163,184,.35);border-top-color:#2aabee;border-radius:50%;animation:authTelegramSpin .8s linear infinite}@keyframes authTelegramSpin{to{transform:rotate(360deg)}}
