.language-switcher { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border: 1px solid var(--line); border-radius: 999px; background: #0002; }
.language-switcher button { min-width: 30px; min-height: 30px; padding: 0 5px; border-radius: 999px; background: transparent; color: var(--text-dim); font: 600 10px/1 var(--font-body); cursor: pointer; transition: color .18s,background .18s; }
.language-switcher button.is-active { background: #ffffff21; color: var(--text); }
.language-switcher button:hover { color: #fff; }
.language-switcher button:focus-visible { outline: 2px solid var(--text-soft); outline-offset: 2px; }
.auth-language-switcher { position:fixed;right:24px;top:24px;z-index:10; }
.topup-public-stub { min-height: 65dvh; display: grid; place-items: center; text-align: center; }
.topup-public-stub h1 { font: 700 clamp(26px,5vw,54px)/1.3 var(--font-display); }
.feature-card { padding: 28px 30px; min-width: 0; }
.feature-card h2 { margin: 0 0 16px; font: 700 clamp(17px,1.7vw,23px)/1.5 var(--font-display); }
.feature-card p { margin: 0 0 20px; color: var(--text-soft); font-size: 13px; line-height: 1.9; }
.feature-card p:last-child { margin-bottom: 0; }
.feature-muted { color: var(--text-dim); font-size: 12px; line-height: 1.8; }
.feature-error,.feature-notice { padding: 16px 20px; border: 1px solid var(--line); border-radius: 18px; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
.feature-error { color: #eeb6b6; border-color: #eeb6b640; background: #eeb6b608; }
.feature-notice { color: var(--text-soft); background: #ffffff08; }
.referrals-page .feature-card { margin-bottom: 22px; }
.referral-link-row { display: flex; gap: 12px; align-items: center; }
.referral-link-row input { flex: 1; width: 0; min-width: 0; min-height: 48px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 14px; background: #0003; color: var(--text); font: 12px/1.8 var(--font-mono); }
.referral-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.referral-stats strong { display: block; margin-top: 13px; color: var(--text); font: 700 clamp(24px,3vw,36px)/1.3 var(--font-display); overflow-wrap: anywhere; }
.referral-rules { margin: 0; padding-left: 22px; color: var(--text-soft); font-size: 13px; line-height: 1.9; }
.referral-rules li { margin-bottom: 12px; padding-left: 4px; }
.feature-card .referral-payment-notice { margin-top: 20px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #ffffff06; color: var(--text-dim); font-size: 12px; }
.referral-row { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr); gap: 20px; padding: 22px 0; border-top: 1px solid var(--line); }
.referral-row strong,.referral-row span { display: block; }
.referral-row span { color: var(--text-dim); font-size: 11px; line-height: 1.8; }
.referral-row strong { color: var(--text); font-size: 14px; margin-top: 5px; }
.referral-next-block { grid-column: 1/-1; }
.referral-next-block small { color: var(--text-dim); font-size: 11px; }
.referral-progress { height: 3px; margin-top: 7px; border-radius: 4px; background: #ffffff14; overflow: hidden; }
.referral-progress span { height: 100%; background: #ddd; transition: width .3s; }
.referral-history > div { display: grid; grid-template-columns: 1fr .6fr 1fr .7fr; gap: 16px; padding: 16px 0; border-top: 1px solid var(--line); color: var(--text-soft); font-size: 12px; }
.referral-history strong { text-align: right; }
.referral-dashboard-card { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 22px; }
.referral-dashboard-card h2 { margin-bottom: 8px; }
.referral-dashboard-card p { margin-bottom: 0; }
.referral-signup-banner { margin-bottom: 18px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 16px; background: #ffffff05; }
.referral-signup-banner p { margin: 0 0 6px; font-size: 12px; color: var(--text-soft); }
.referral-signup-banner button { padding: 0; background: none; color: var(--text-dim); font-size: 10px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.admin-pricing { display: grid; gap: 20px; }
.pricing-global-row { display: flex; align-items: end; flex-wrap: wrap; gap: 18px; margin-bottom: 18px; }
.pricing-global-row label { display: grid; gap: 9px; width: 170px; color: var(--text-soft); font-size: 12px; }
.pricing-images-check { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; color: var(--text-soft); font-size: 13px; }
.pricing-model-list { margin-top: 22px; }
.pricing-model-row { display: grid; grid-template-columns: minmax(0,1fr) 120px 150px; gap: 22px; align-items: end; padding: 20px 0; border-top: 1px solid var(--line); }
.pricing-model-row strong,.pricing-model-row code,.pricing-model-row small { display: block; overflow-wrap: anywhere; }
.pricing-model-row strong { font-size: 14px; color: var(--text); }
.pricing-model-row code { color: var(--text-dim); font-size: 11px; margin-top: 5px; }
.pricing-model-row small { color: var(--text-dim); font-size: 10px; margin-top: 7px; }
.pricing-model-row label { display: grid; gap: 7px; color: var(--text-dim); font-size: 11px; }
@media(min-width:721px) and (max-width:1200px) { .nav { grid-template-columns:1fr auto;gap:10px; } .nav-links { display:none; } .nav-toggle { display:inline-flex; } .nav-sheet { display:flex !important; } .nav-overlay { display:block !important; } }
@media(min-width:721px) and (max-width:850px) { .nav .nav-desktop-only { display:none !important; } }
@media(max-width:720px) { .language-switcher button { min-width:27px; min-height:29px; font-size:9px; } .nav-actions { gap:5px; } }
@media(max-width:600px) { .feature-card { padding:22px 20px; } .referral-link-row { flex-direction:column; align-items:stretch; } .referral-link-row input { width:100%; } .referral-stats { grid-template-columns:1fr; gap:0; } .referral-row { grid-template-columns:1fr; gap:10px; } .referral-history > div { grid-template-columns:1fr 1fr; gap:9px; } .pricing-model-row { grid-template-columns:1fr 110px; gap:14px; } .pricing-model-row > div { grid-column:1/-1; } .pricing-model-row > button { font-size:11px; padding-inline:14px; } .pricing-global-row > button { white-space:normal; line-height:1.5; padding-block:10px; } .nav .brand-name { display:none; } }
@media(prefers-reduced-motion:reduce) { .referral-progress span { transition:none; } }
