
.auth-user { position: relative; }
.auth-user-button { border:1px solid rgba(124,92,255,.45); background:#151727; color:#fff; border-radius:10px; padding:10px 14px; font-weight:700; cursor:pointer; min-width:120px; }
.auth-user-button:hover { border-color:#7c5cff; background:#1b1e32; }
.auth-user-menu { display:none; position:absolute; right:0; top:calc(100% + 10px); width:190px; padding:8px; background:#111421; border:1px solid rgba(124,92,255,.28); border-radius:12px; box-shadow:0 18px 45px rgba(0,0,0,.38); z-index:1000; }
.auth-user.open .auth-user-menu { display:block; }
.auth-user-menu a, .auth-user-menu button { display:block; width:100%; box-sizing:border-box; text-align:left; color:#e9e9f3; background:transparent; border:0; padding:11px 12px; border-radius:8px; text-decoration:none; font:inherit; cursor:pointer; }
.auth-user-menu a:hover, .auth-user-menu button:hover { background:#1d2031; color:#fff; }
.auth-user-menu .logout { color:#ff9d9d; }
.auth-page { min-height:calc(100vh - 80px); padding:70px 20px; background:radial-gradient(circle at 20% 0%,rgba(124,92,255,.13),transparent 35%),#090b13; color:#fff; }
.auth-card { max-width:680px; margin:0 auto; padding:34px; background:#111421; border:1px solid rgba(124,92,255,.25); border-radius:18px; box-shadow:0 22px 60px rgba(0,0,0,.32); }
.auth-card.narrow { max-width:500px; }
.auth-card h1 { margin:0 0 8px; font-size:32px; }
.auth-card > p { color:#9ea3b5; margin:0 0 28px; }
.auth-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.auth-form-grid .full { grid-column:1/-1; }
.auth-field { display:flex; flex-direction:column; gap:8px; }
.auth-field label { color:#d9dbea; font-size:14px; font-weight:700; }
.auth-field input { width:100%; box-sizing:border-box; padding:13px 14px; color:#fff; background:#0c0f19; border:1px solid #292d40; border-radius:10px; outline:none; }
.auth-field input:focus { border-color:#7c5cff; box-shadow:0 0 0 3px rgba(124,92,255,.13); }
.auth-field input[readonly] { opacity:.65; cursor:not-allowed; }
.auth-submit { width:100%; margin-top:22px; border:0; border-radius:10px; padding:14px 18px; background:#7c5cff; color:white; font-weight:800; cursor:pointer; }
.auth-submit:hover { filter:brightness(1.08); }
.auth-message { display:none; margin:16px 0 0; padding:12px 14px; border-radius:9px; font-size:14px; }
.auth-message.show { display:block; }
.auth-message.error { background:rgba(255,83,83,.12); color:#ffabab; border:1px solid rgba(255,83,83,.28); }
.auth-message.success { background:rgba(74,222,128,.1); color:#9af0b8; border:1px solid rgba(74,222,128,.25); }
.auth-alt { text-align:center; margin-top:20px; color:#a5a9ba; }
.auth-alt a { color:#a998ff; }
.account-shell { max-width:920px; margin:0 auto; }
.account-top { margin-bottom:24px; display:flex; justify-content:space-between; gap:16px; align-items:center; }
.account-top a { color:#b6aaff; text-decoration:none; }
.orders-tabs { display:flex; gap:10px; flex-wrap:wrap; margin:22px 0; }
.orders-tab { border:1px solid #30354a; background:#151827; color:#c8cada; padding:11px 15px; border-radius:9px; cursor:pointer; }
.orders-tab.active { background:#7c5cff; border-color:#7c5cff; color:#fff; }
.orders-list { display:grid; gap:14px; }
.order-card { background:#0d101a; border:1px solid #252a3b; border-radius:12px; padding:18px; }
.order-card-head { display:flex; justify-content:space-between; gap:12px; margin-bottom:10px; }
.order-card ul { margin:8px 0 0 18px; color:#aeb2c3; }
.order-empty { text-align:center; padding:48px 20px; color:#9297aa; border:1px dashed #30354a; border-radius:12px; }
@media (max-width:720px){ .auth-form-grid{grid-template-columns:1fr}.auth-form-grid .full{grid-column:auto}.auth-card{padding:24px}.navbar-right{gap:7px}.auth-user-button{min-width:auto;max-width:150px;overflow:hidden;text-overflow:ellipsis} }

.auth-forgot{text-align:right;margin-top:10px}.auth-forgot a{color:#a998ff;text-decoration:none;font-size:13px;font-weight:700}.auth-forgot a:hover{text-decoration:underline}.recovery-methods{display:grid;grid-template-columns:1fr 1fr;gap:10px}.recovery-method{display:flex;align-items:center;gap:8px;padding:11px 12px;background:#0c0f19;border:1px solid #292d40;border-radius:10px;color:#d9dbea;font-size:13px;cursor:pointer}.recovery-method input{accent-color:#7c5cff}.auth-secondary{width:100%;margin-top:14px;border:1px solid #393f55;border-radius:10px;padding:12px 16px;background:#151827;color:#e1e4ef;font-weight:800;cursor:pointer}.auth-secondary:hover{border-color:#7c5cff}.reset-verify-box{margin-top:18px;padding-top:18px;border-top:1px solid #292d40}.recovery-note{margin-top:14px;color:#7f8598;font-size:11px;line-height:1.5}

/* Fırsatlar / İndirim Treni */
.opportunities-shell{max-width:1080px}.opportunities-card{max-width:none;padding:38px 38px 42px;overflow:visible}.train-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:48px}.opportunity-kicker{display:block;color:#9b8aff;font-size:12px;font-weight:900;letter-spacing:.14em;margin-bottom:8px}.train-heading h2{margin:0 0 8px;font-size:31px}.train-heading p{margin:0;color:#999fb1}.spent-box{min-width:180px;padding:16px 18px;border:1px solid rgba(124,92,255,.28);background:#0c0f19;border-radius:14px;text-align:right}.spent-box span{display:block;color:#9297aa;font-size:12px;font-weight:700;margin-bottom:6px}.spent-box strong{font-size:24px;color:#fff}.train-progress-wrap{position:relative;margin:14px 42px 82px}.train-track{height:10px;border-radius:999px;background:#252a3b;position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}.train-fill{position:absolute;left:0;top:0;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#6d50ee,#a58fff);transition:width .8s ease}.train{position:absolute;left:0;top:50%;transform:translate(-50%,-63%);z-index:4;transition:left .8s ease;filter:drop-shadow(0 6px 12px rgba(0,0,0,.45))}.train-emoji{display:block;font-size:38px;line-height:1;transform:scaleX(-1)}.milestones{position:absolute;left:0;right:0;top:0;height:100%;pointer-events:none}.milestone{position:absolute;left:var(--pos);top:50%;width:22px;height:22px;transform:translate(-50%,-50%);pointer-events:none}.milestone-point{position:absolute;inset:0;width:22px;height:22px;padding:0;border:3px solid #4a5067;border-radius:50%;background:#151827;box-sizing:border-box;cursor:pointer;pointer-events:auto;z-index:6;transition:.2s}.milestone-point:hover,.milestone-point:focus-visible{transform:scale(1.15);outline:none;border-color:#b0a2ff;box-shadow:0 0 0 5px rgba(124,92,255,.12)}.milestone.reached .milestone-point{background:#7c5cff;border-color:#b0a2ff;box-shadow:0 0 0 5px rgba(124,92,255,.12)}.milestone-value{position:absolute;top:28px;left:50%;transform:translateX(-50%);color:#c5c8d6;font-weight:800;font-size:13px;white-space:nowrap;pointer-events:none}.milestone.reached .milestone-value{color:#fff}.milestone-tooltip{display:none;position:absolute;left:50%;bottom:calc(100% + 11px);transform:translateX(-50%);min-width:max-content;max-width:260px;padding:9px 12px;background:#070910;color:#fff;border:1px solid #353a50;border-radius:9px;box-shadow:0 12px 28px rgba(0,0,0,.38);font-size:12px;font-weight:600;line-height:1.35;z-index:20;pointer-events:none;text-align:center}.milestone-tooltip::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#353a50}.milestone-point:hover~.milestone-tooltip,.milestone-point:focus-visible~.milestone-tooltip{display:block}.progress-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}.progress-summary>div{padding:16px 18px;border-radius:12px;background:#0c0f19;border:1px solid #252a3b}.progress-summary span{display:block;color:#8e94a8;font-size:12px;margin-bottom:6px}.progress-summary strong{font-size:16px}.opportunity-note{margin:17px 0 0;color:#777d91;font-size:12px;line-height:1.5}
@media(max-width:760px){.opportunities-card{padding:26px 18px 34px}.train-heading{flex-direction:column;margin-bottom:54px}.spent-box{width:100%;box-sizing:border-box;text-align:left}.train-progress-wrap{margin-left:20px;margin-right:20px}.train-emoji{font-size:31px}.milestone-value{font-size:11px}.milestone-tooltip{min-width:150px;max-width:190px;white-space:normal}.progress-summary{grid-template-columns:1fr}}


/* Fırsatlar / Şans Çarkı */
.chance-card,.available-discounts-card{max-width:none;margin-top:22px;padding:34px 38px}.chance-heading,.discounts-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.chance-heading h2,.discounts-heading h2{margin:0;font-size:27px}.chance-heading p{margin:8px 0 0;color:#8f96aa;font-size:13px;line-height:1.55;max-width:670px}.wheel-status{padding:10px 13px;border:1px solid #31374d;background:#0c0f19;border-radius:10px;color:#b8bed0;font-size:12px;font-weight:800;text-align:center}.wheel-stage{position:relative;width:min(430px,88vw);aspect-ratio:1;margin:38px auto 18px;display:grid;place-items:center}.chance-wheel{position:absolute;inset:0;border-radius:50%;border:8px solid #242a3b;background:conic-gradient(from -22.5deg,#6f51ea 0 12.5%,#171c2a 12.5% 25%,#856cff 25% 37.5%,#22283a 37.5% 50%,#5c45c9 50% 62.5%,#151b29 62.5% 75%,#9a83ff 75% 87.5%,#4d3cae 87.5% 100%);box-shadow:0 22px 60px rgba(0,0,0,.42),inset 0 0 0 2px rgba(255,255,255,.08);transition:transform 4.6s cubic-bezier(.12,.76,.12,1)}.chance-wheel::after{content:"";position:absolute;inset:45%;border-radius:50%;background:#090d16;border:5px solid #b3a7ff;box-shadow:0 0 0 8px rgba(124,92,255,.18)}.wheel-label{position:absolute;left:50%;top:50%;width:104px;text-align:center;color:#fff;font-size:11px;font-weight:900;line-height:1.15;text-shadow:0 2px 5px rgba(0,0,0,.75);transform:translate(-50%,-50%) rotate(calc(var(--i) * 45deg)) translateY(-150px) rotate(calc(var(--i) * -45deg));z-index:2}.wheel-pointer{position:absolute;left:50%;top:-12px;transform:translateX(-50%);z-index:8;width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:34px solid #fff;filter:drop-shadow(0 5px 6px rgba(0,0,0,.45))}.wheel-spin-btn{position:relative;z-index:7;width:116px;height:116px;border-radius:50%;border:5px solid #a99bff;background:#111625;color:#fff;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 12px 34px rgba(0,0,0,.4)}.wheel-spin-btn:hover:not(:disabled){background:#191f31}.wheel-spin-btn:disabled{cursor:not-allowed;opacity:.72}.wheel-result{min-height:28px;text-align:center;font-size:17px;font-weight:900;color:#d5d9e6}.wheel-result.win{color:#b6ffa8}.wheel-result.lose{color:#ff9cae}.wheel-result.retry{color:#c8bcff}.discounts-heading{align-items:center;margin-bottom:18px}.discount-count{font-size:12px;font-weight:900;color:#aaa2ca;padding:8px 10px;border:1px solid #30364a;border-radius:999px}.available-discounts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.discount-ticket{display:flex;align-items:center;gap:14px;padding:15px;border-radius:13px;background:#0c0f19;border:1px solid #2b3144}.discount-ticket-badge{display:grid;place-items:center;min-width:64px;height:64px;border-radius:12px;background:rgba(124,92,255,.14);border:1px solid rgba(124,92,255,.36);color:#b8adff;font-size:20px;font-weight:900}.discount-ticket strong{display:block;font-size:15px;color:#fff;margin-bottom:5px}.discount-ticket span{display:block;color:#858ca0;font-size:11px;line-height:1.4}.discount-empty{padding:22px;border:1px dashed #30364a;border-radius:12px;color:#848b9e;text-align:center;font-size:13px}
@media(max-width:760px){.chance-card,.available-discounts-card{padding:26px 18px}.chance-heading{flex-direction:column}.wheel-status{width:100%;box-sizing:border-box}.wheel-label{transform:translate(-50%,-50%) rotate(calc(var(--i) * 45deg)) translateY(-32vw) rotate(calc(var(--i) * -45deg));font-size:9px;width:76px}.wheel-spin-btn{width:94px;height:94px;font-size:12px}.discounts-heading h2{font-size:22px}}

/* Şans Çarkı 2.000 TL ilerleme maliyeti uyarısı */
.wheel-warning{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px auto 0;max-width:760px;padding:15px 18px;border:1px solid rgba(255,74,92,.65);background:rgba(119,16,29,.34);border-radius:12px;color:#ff8e9b;box-shadow:0 10px 28px rgba(0,0,0,.2);text-align:center}
.wheel-warning-icon{flex:0 0 auto;font-size:20px;line-height:1}
.wheel-warning strong{font-size:12px;line-height:1.5;letter-spacing:.035em}
@media(max-width:760px){.wheel-warning{align-items:flex-start;text-align:left;padding:13px 14px}.wheel-warning strong{font-size:11px}}

/* Recovery method: only the radio circle is interactive */
.recovery-method{cursor:default}
.recovery-method input[type="radio"]{width:17px;height:17px;margin:0;flex:0 0 17px;cursor:pointer;accent-color:#7c5cff}
.recovery-method span{pointer-events:none;user-select:none}
