.account-main [hidden] { display:none!important; }
.account-feedback:has(.account-status:empty) { display:none; }
body[data-member="true"] #guest-intro,body[data-member="true"] #auth-panel { display:none; }
body[data-member="true"] .account-layout { display:block; }
body[data-member="true"] .account-main { padding-top:116px; }
.customer-dashboard { width:100%; min-width:0; }
.dashboard-header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:32px; }
.dashboard-header h1 { font-family:"NXS Display",Georgia,serif; font-weight:500; font-size:clamp(2.6rem,5vw,4.6rem); line-height:1.15; letter-spacing:-.03em; margin:16px 0; }
.dashboard-header .account-actions { margin-top:26px; }
.dashboard-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--glass-edge); border-bottom:1px solid var(--glass-edge); margin:0 0 40px; }
.dashboard-summary>div { min-width:0; padding:24px 28px; border-right:1px solid var(--glass-edge); }
.dashboard-summary>div:first-child { padding-left:0; }
.dashboard-summary>div:last-child { border:0; }
.dashboard-summary dt { color:var(--muted); font-size:.84rem; line-height:1.5; }
.dashboard-summary dd { color:var(--accent-light); font-size:clamp(1.4rem,3vw,2.2rem); line-height:1.25; margin:12px 0 0; overflow-wrap:anywhere; }
.dashboard-layout { display:grid; grid-template-columns:180px minmax(0,1fr); gap:44px; align-items:start; }
.dashboard-navigation { position:sticky; top:110px; display:grid; gap:5px; }
.dashboard-navigation a { min-height:44px; padding:12px 14px; border-radius:12px; color:var(--muted); font-size:.83rem; line-height:1.5; text-decoration:none; transition:background .2s,color .2s; }
.dashboard-navigation a:hover,.dashboard-navigation a:focus-visible { background:rgba(240,213,161,.07); color:var(--accent-light); }
.dashboard-navigation a[aria-current="page"] { color:var(--accent-light); background:rgba(240,213,161,.1); box-shadow:inset 2px 0 0 var(--accent-light); }
.dashboard-section.is-section-entering { animation:account-section-in 260ms cubic-bezier(.16,1,.3,1) both; }
@keyframes account-section-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.dashboard-workspace { display:grid; gap:24px; min-width:0; }
.dashboard-section { min-width:0; padding:28px 32px; border:1px solid var(--glass-edge); border-radius:24px; background:linear-gradient(140deg,rgba(255,255,255,.035),rgba(255,255,255,.008)); scroll-margin-top:110px; transition:border-color .3s,background .3s; }
.dashboard-section:hover { border-color:rgba(240,213,161,.32); }
.dashboard-section-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:20px; }
.dashboard-section h2 { font-family:"NXS Display",Georgia,serif; font-size:clamp(1.9rem,3vw,2.6rem); line-height:1.2; font-weight:500; margin:0; }
.dashboard-section h3 { font-family:"NXS Display",Georgia,serif; font-size:1.45rem; line-height:1.3; margin:24px 0 12px; font-weight:500; }
.dashboard-section .account-ticket-heading h3 { margin:0; }
.dashboard-section .account-subscriptions { margin-bottom:0; }
.dashboard-section .account-subscription:last-child { border-bottom:0; padding-bottom:8px; }
.dashboard-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:12px 0 24px; }
.dashboard-services h3 { font-size:1.35rem; }
.dashboard-services p { font-size:.83rem; color:var(--muted); line-height:1.7; margin:0 0 12px; }
.service-pending { display:block; color:var(--muted); font-size:.75rem; line-height:1.6; }
.traffic-amount { color:var(--accent-light); font-size:1.65rem; margin:0 0 16px; }
.dashboard-section progress { width:100%; height:7px; appearance:none; border:0; border-radius:99px; overflow:hidden; background:rgba(255,255,255,.08); margin:0 0 16px; accent-color:var(--accent-light); }
.dashboard-section progress::-webkit-progress-bar { background:rgba(255,255,255,.08); }
.dashboard-section progress::-webkit-progress-value { background:var(--accent-light); border-radius:99px; }
.dashboard-section progress::-moz-progress-bar { background:var(--accent-light); }
.dashboard-balance { border-top:1px solid var(--glass-edge); margin-top:24px; }
.account-orders { margin-top:20px; color:var(--muted); font-size:.85rem; line-height:1.7; }
.account-order { display:flex; justify-content:space-between; gap:20px; padding:16px 0; border-bottom:1px solid var(--glass-edge); min-width:0; }
.account-order>div { display:grid; gap:5px; min-width:0; }
.account-order strong { color:var(--text); font-weight:600; }
.account-order small { color:var(--muted); }
.account-order>span { color:var(--accent-light); flex:none; }
.account-addons:not(:empty) { margin-top:24px; padding-top:18px; border-top:1px solid var(--glass-edge); }
.account-confirm { margin-top:20px; max-width:480px; padding-top:20px; border-top:1px solid var(--glass-edge); }
.account-confirm .account-actions { margin-top:0; }
.account-confirm .button { font-size:.8rem; }
@media(max-width:900px) {
  .dashboard-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
  .dashboard-navigation { position:static; display:flex; overflow:auto; max-width:100%; gap:4px; border-bottom:1px solid var(--glass-edge); padding-bottom:12px; }
  .dashboard-navigation a { white-space:nowrap; flex:none; }
}
@media(max-width:640px) {
  body[data-member="true"] .account-main { padding-top:100px; }
  .dashboard-header { display:block; margin-bottom:24px; }
  .dashboard-header .account-actions { margin-top:20px; }
  .dashboard-summary { margin-bottom:24px; }
  .dashboard-summary>div { padding:18px 10px; }
  .dashboard-summary dt { font-size:.7rem; }
  .dashboard-summary dd { font-size:1.25rem; }
  .dashboard-section { padding:24px 20px; border-radius:20px; }
  .dashboard-section-head { gap:12px; }
  .dashboard-section-head>.account-text-link { flex:none; font-size:.75rem; }
  .dashboard-services { grid-template-columns:minmax(0,1fr); gap:0; }
  .dashboard-services article+article { border-top:1px solid var(--glass-edge); margin-top:20px; }
}
.telegram-entry { display:grid; gap:16px; }
.telegram-entry>.button { justify-self:start; }
.account-divider { display:flex; align-items:center; gap:14px; color:var(--muted); font-size:.8rem; margin:4px 0 20px; }
.account-divider::before,.account-divider::after { content:""; height:1px; flex:1; background:var(--glass-edge); }
.account-subscriptions { display:grid; gap:0; margin:18px 0; }
.account-subscription { padding:20px 0; border-bottom:1px solid var(--glass-edge); min-width:0; }
.account-subscription h4 { font-family:"NXS Display",Georgia,serif; font-size:1.7rem; line-height:1.2; margin:0 0 12px; }
.account-subscription .button { font-size:.78rem; padding:12px 16px; }
.subscription-copy { width:100%; min-width:0; margin-top:12px; padding:12px; color:var(--text); background:rgba(5,9,8,.55); border:1px solid var(--glass-edge); border-radius:12px; }
#telegram-link { margin-top:18px; }
.account-main { min-height:85vh; padding:clamp(110px,12vw,170px) 0 80px; }
.account-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,500px); gap:clamp(30px,6vw,100px); align-items:start; }
.account-intro { padding-top:24px; }
.account-intro h1 { margin:22px 0; font-family:"NXS Display",Georgia,serif; font-size:clamp(3rem,6vw,6.5rem); line-height:1.12; font-weight:500; letter-spacing:-.035em; }
.account-intro h1 span { color:var(--accent-light); }
.account-intro .lead { max-width:540px; }
.account-panel.card { min-width:0; padding:clamp(22px,3vw,38px); }
.account-panel h2 { margin:20px 0 24px; font-size:clamp(2rem,4vw,2.8rem); line-height:1.12; }
.account-panel h3 { font-family:"NXS Display",Georgia,serif; font-size:1.85rem; line-height:1.2; margin:0; }
.account-note,.account-status { color:var(--muted); font-size:.85rem; line-height:1.65; margin:0; }
.account-intro>.account-note { max-width:440px; margin:24px 0; }
.account-status:not(:empty) { margin-bottom:20px; }
.account-status[data-error="true"] { color:#f0b3a1; }
.account-form { display:grid; gap:16px; }
.account-login-methods { margin-bottom:22px; }
.account-field input[name="code"] { font-size:1.35rem; letter-spacing:.18em; font-variant-numeric:tabular-nums; }
.account-tabs { display:flex; gap:5px; padding:5px; border:1px solid var(--glass-edge); border-radius:16px; background:rgba(0,0,0,.15); }
.account-tabs button { flex:1; padding:11px 8px; border:0; border-radius:12px; font:inherit; font-size:.85rem; color:var(--muted); background:transparent; cursor:pointer; transition:background .2s,color .2s; }
.account-tabs button[aria-pressed="true"] { color:var(--accent-light); background:rgba(240,213,161,.1); box-shadow:inset 0 1px 0 rgba(255,255,255,.1); }
.account-tabs button:hover { color:var(--text); background:rgba(255,255,255,.07); }
.account-field { display:grid; gap:8px; color:var(--muted-strong); font-size:.86rem; min-width:0; }
.account-field input { width:100%; min-width:0; border:1px solid var(--glass-edge); border-radius:13px; padding:13px 14px; background:rgba(5,9,8,.55); color:var(--text); font:inherit; line-height:1.5; }
.account-field input:focus { outline:2px solid rgba(240,213,161,.2); border-color:var(--accent-light); }
.account-main button:focus-visible,.account-main a:focus-visible { outline:2px solid var(--accent-light); outline-offset:4px; }
.password-row { position:relative; display:flex; align-items:center; min-width:0; }
.password-row input { padding-right:90px; }
.password-row button { position:absolute; right:12px; color:var(--accent-light); background:none; border:0; font:inherit; font-size:.75rem; cursor:pointer; padding:8px 2px; }
.account-consent { display:flex; align-items:flex-start; gap:10px; font-size:.83rem; line-height:1.6; color:var(--muted); }
.account-consent input { flex:none; margin-top:5px; accent-color:var(--accent-light); }
.account-consent a,.account-text-link { color:var(--accent-light); }
.account-submit { justify-self:start; margin-top:4px; }
.account-text-link { font:inherit; font-size:.85rem; background:none; border:0; padding:4px 0; text-align:left; cursor:pointer; text-decoration:underline; text-underline-offset:4px; transition:color .2s; }
.account-text-link:hover { color:var(--text); }
.account-email { overflow-wrap:anywhere; color:var(--accent-light); margin:0 0 14px; }
.account-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.account-ticket-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--glass-edge); margin-top:30px; padding-top:24px; margin-bottom:10px; }
.account-tickets { display:grid; gap:0; margin-top:18px; }
.account-ticket { display:grid; gap:6px; padding:17px 0; border-bottom:1px solid var(--glass-edge); text-decoration:none; color:var(--text); transition:color .2s; overflow-wrap:anywhere; }
.account-ticket:hover { color:var(--accent-light); }
.account-ticket small { color:var(--muted); }
.account-sessions { display:grid; gap:0; margin-top:14px; }
.account-session { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:16px 0; border-bottom:1px solid var(--glass-edge); min-width:0; }
.account-session>div { display:grid; gap:5px; min-width:0; }
.account-session strong { font-size:.88rem; font-weight:600; overflow-wrap:anywhere; }
.account-session small { font-size:.78rem; color:var(--muted); line-height:1.6; }
.account-session button { flex:none; font-size:.78rem; }
#session-action-status:not(:empty) { margin-top:14px; }
.recovery-result { margin-top:24px; padding-top:24px; border-top:1px solid var(--accent-light); display:grid; gap:18px; }
.recovery-result p { margin:0; font-size:.87rem; color:var(--muted-strong); }
.recovery-result code { display:block; overflow-wrap:anywhere; padding:16px; border:1px solid var(--glass-edge); border-radius:12px; font-size:.9rem; user-select:all; color:var(--accent-light); }
.recovery-result .button { justify-self:start; }
@media(max-width:900px) { .account-layout { grid-template-columns:minmax(0,1fr); gap:24px; } .account-intro { padding-top:0; } .account-panel.card { max-width:600px; width:100%; } .account-intro h1 { font-size:clamp(3rem,10vw,5rem); } }
@media(prefers-reduced-motion:reduce) { .account-main * { transition:none!important; animation:none!important; } }
@media(max-width:900px) { .account-field input { font-size:16px; } }
