.auth-main { max-width: 440px; width:calc(100% - 32px); margin:clamp(24px,8vh,96px) auto; padding:28px; background:var(--surface); border:1px solid var(--line); border-radius:10px; }
.auth-main h1 { font-size:24px; font-weight:600; letter-spacing:-.5px; }
.auth-eyebrow { margin:0 0 20px; font-size:12px; color:var(--muted); letter-spacing:.04em; }
.auth-telegram { display:flex; align-items:center; justify-content:center; text-decoration:none; padding:10px 14px; }
.auth-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; margin-top:24px; }
.auth-divider { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:12px; margin:24px 0 4px; }
.auth-divider::before,.auth-divider::after { content:''; height:1px; background:var(--line); flex:1; }
.auth-form p { margin:0; }
.auth-form .helptext { display:block; margin-top:6px; }
.auth-form .helptext ul { margin:6px 0; padding-left:18px; }
.auth-submit:disabled { opacity:.55; cursor:wait; }
.auth-description { color: var(--muted); line-height: 1.6; margin: 12px 0 28px; }
.auth-form { display: grid; gap: 10px; }
.auth-form label { display: block; font-size: 13px; margin-top: 10px; }
.auth-form input { width: 100%; min-height: 42px; padding: 10px 12px; background: var(--control); border: 1px solid var(--line); border-radius: 5px; color: var(--ink); font: inherit; }
.auth-form input:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.auth-submit { margin-top: 14px; min-height: 42px; background: var(--tint); color: var(--ink); border: 1px solid var(--selected-border); border-radius: 5px; cursor: pointer; font: inherit; }
.auth-submit:hover { background: var(--hover); }
.auth-submit:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.auth-error, .auth-form .errorlist { color: #f1a5ab; font-size: 13px; line-height: 1.5; padding: 0; list-style: none; }
.auth-form .helptext { color: var(--muted); font-size: 12px; line-height: 1.6; }
.auth-note { color: var(--muted); font-size: 12px; margin-top: 28px; }
.account-link { color: var(--blue); font-size: 12px; text-underline-offset: 3px; }
.account-name { font-size: 12px; color: var(--muted); }
.logout-form { margin: 0; }
.account-menu { position:relative; min-width:0; }
.account-actions { display:flex; align-items:center; gap:10px; }
.account-menu-toggle { display:none; }
@media(max-width:780px) {
  .account-menu-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:0 12px; background:var(--control); color:var(--ink); border:1px solid var(--line); border-radius:4px; font:inherit; cursor:pointer; }
  .account-menu-toggle svg { width:18px; height:18px; }
  .account-menu-toggle:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
  .account-menu-toggle[aria-expanded=true] { border-color:var(--blue); }
  .account-menu .account-actions { display:none; position:absolute; top:calc(100% + 6px); right:0; z-index:30; grid-template-columns:repeat(4,44px); gap:8px; width:max-content; max-width:calc(100vw - 24px); padding:12px; border:1px solid var(--line); border-radius:6px; background:var(--surface); box-shadow:0 8px 24px oklch(10% .01 255 / .25); }
  .account-menu.is-expanded .account-actions { display:grid; }
  .account-menu .account-name { grid-column:1/-1; padding-bottom:4px; }
}
@media(max-width: 480px) { .auth-main { padding-top: 36px; } }
 .page-nav { display:flex; align-items:center; gap:6px; }
 .page-nav a, .page-nav button { color:var(--theme-muted, #aaa); text-decoration:none; padding:7px 10px; border-radius:4px; font:inherit; font-size:13px; }
 .page-nav button { border:0; background:transparent; cursor:pointer; }
 .page-nav button:disabled { opacity:.5; cursor:wait; }
 .page-nav button:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
 .page-nav a[aria-current] { color:var(--theme-blue, #82caff); background:var(--theme-tint, #263b4c); }
 .page-nav a:hover, .page-nav button:hover { color:var(--theme-ink, #ddd); }

.header-icon,.logout-form .header-icon { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; min-height:36px; padding:0; flex-shrink:0; border:1px solid var(--theme-line, #444); border-radius:4px; background:var(--theme-control, #292929); color:var(--theme-muted, #aaa); cursor:pointer; text-decoration:none; }
.header-icon svg { width:18px; height:18px; }
.header-icon:hover,.logout-form .header-icon:hover { background:var(--theme-hover, #3a3a3a); color:var(--theme-ink, #ddd); }
.header-icon:focus-visible { outline:2px solid var(--theme-blue, #82caff); outline-offset:3px; }
@media(pointer:coarse) { .header-icon,.logout-form .header-icon { width:44px; height:44px; min-height:44px; } }

.wallet-menu .account-menu-toggle { display:inline-flex; align-items:center; gap:8px; max-width:min(260px,55vw); min-height:36px; padding:0 10px; border:1px solid var(--line); border-radius:4px; background:var(--control); color:var(--ink); font:inherit; cursor:pointer; }
.wallet-menu .account-menu-toggle span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wallet-menu .wallet-actions { display:flex; flex-direction:column; align-items:stretch; position:absolute; right:0; top:calc(100% + 6px); z-index:80; width:310px; max-width:calc(100vw - 24px); max-height:75vh; overflow:auto; padding:8px; gap:4px; border:1px solid var(--line); background:var(--surface); border-radius:6px; box-shadow:0 8px 24px oklch(10% .01 255 / .25); }
.wallet-menu-label { margin:4px 8px; font-size:12px; color:var(--muted); }
.wallet-choice,.wallet-menu-action,.wallet-management-list > button { text-align:left; padding:9px 10px; color:var(--ink); background:transparent; border:1px solid transparent; border-radius:4px; cursor:pointer; font:inherit; min-width:0; }
.wallet-choice span,.wallet-management-list span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wallet-choice small,.wallet-management-list small { display:block; margin-top:3px; color:var(--muted); font-size:11px; }
.wallet-choice:hover,.wallet-menu-action:hover,.wallet-management-list > button:hover { background:var(--hover); }
.wallet-choice[aria-pressed=true],.wallet-management-list [aria-pressed=true] { background:var(--tint); border-color:var(--selected-border); }
.wallet-choice:focus-visible,.wallet-menu-action:focus-visible,.wallet-menu-toggle:focus-visible,.wallet-management-list button:focus-visible { outline:2px solid var(--blue); outline-offset:1px; }
.wallet-profile-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; padding:10px 4px 2px; border-top:1px solid var(--line); }
.wallet-profile-actions .account-name { flex-basis:100%; overflow-wrap:anywhere; }
.wallet-management-list { display:grid; gap:4px; max-height:220px; overflow:auto; padding-bottom:16px; border-bottom:1px solid var(--line); }
.wallet-form { display:grid; gap:10px; padding-top:12px; }
.wallet-form h3 { margin:0; font-size:14px; }
.wallet-form label { display:grid; gap:5px; font-size:12px; }
.wallet-form input:not([type=checkbox]) { box-sizing:border-box; width:100%; padding:9px; color:var(--ink); background:var(--control); border:1px solid var(--line); border-radius:4px; font:inherit; }
.wallet-form label.wallet-check { display:flex; align-items:center; }
.wallet-consequence { margin:6px 0; color:var(--muted); font-size:12px; line-height:1.5; }
.wallet-empty { margin:48px auto; max-width:400px; padding:20px; text-align:center; }
@media(max-width:780px) { .wallet-menu .account-menu-toggle { min-height:44px; } .wallet-menu .wallet-actions { display:flex; } .wallet-choice,.wallet-menu-action { min-height:44px; } }

.account-menu.wallet-menu.is-expanded .account-actions.wallet-actions { display:flex; flex-direction:column; grid-template-columns:none; }
