/* Account UI preview; backend entitlement and identity changes are not enabled. */
.login-actions { display:grid; grid-template-columns:1fr 2fr; gap:16px; }
.login-actions button { min-height:56px; justify-content:center; font-size:17px; }
.login-actions .login-button { margin:0; width:100%; }
.guest-entry { display:block; margin-top:18px; }
.guest-entry button { width:100%; min-height:48px; }
.account-heading { display:flex; align-items:center; gap:12px; min-width:0; }
.account-heading h1 { overflow-wrap:anywhere; }
.account-heading .icon-button { flex-shrink:0; color:var(--muted); }
.storage-summary .capacity-label { display:flex; justify-content:space-between; gap:8px; margin:8px 0; }
.vip-entry { display:flex; flex-direction:column; gap:7px; width:100%; padding:16px; margin:18px 0; text-align:left; border:1px solid var(--brand); border-radius:12px; background:var(--brand-soft); color:var(--ink); }
.vip-entry span { font-weight:750; }
.vip-entry small { color:var(--muted); }
[data-theme="dark"] { --line:#4a6159; --line-soft:#384e46; }
[data-sort-column]::after { content:none !important; }
.column-resizer::after { background:var(--line); opacity:1; }
.account-dialog { width:min(660px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); padding:36px; overflow:auto; color:var(--ink); background:var(--white); border:1px solid var(--line); border-radius:24px; box-shadow:var(--shadow); }
.account-dialog::backdrop { background:rgba(8,25,20,.58); }
.account-dialog h2 { margin:0 40px 12px 0; font-size:27px; line-height:1.3; }
.account-close { position:absolute; right:16px; top:16px; font-size:26px; }
.account-description { color:var(--muted); font-size:14px; line-height:1.7; margin:0 0 24px; }
.account-form { display:grid; gap:12px; }
.account-form > label { font-size:14px; font-weight:650; }
.account-form input:not([type="radio"]) { width:100%; min-width:0; height:48px; border:1px solid var(--line); border-radius:10px; padding:0 14px; background:var(--paper); color:var(--ink); font:inherit; }
.account-switch { display:flex; gap:12px; padding:0; margin:0 0 14px; border:0; }
.account-switch label { flex:1; display:flex; align-items:center; gap:9px; padding:13px; border:1px solid var(--line); border-radius:10px; cursor:pointer; }
.account-switch label:has(input:checked),.vip-plans label:has(input:checked) { border-color:var(--brand); background:var(--brand-soft); }
.account-dialog input[type="radio"] { accent-color:var(--brand); width:16px; height:16px; }
.verification-row { display:grid; grid-template-columns:1fr auto; gap:12px; }
.account-feedback { color:var(--muted); font-size:13px; line-height:1.6; min-height:20px; margin:8px 0; }
.account-submit { width:100%; min-height:50px; justify-content:center; }
.account-submit:disabled { cursor:not-allowed; opacity:.6; }
.account-back { margin:8px auto 0; color:var(--brand); }
.account-form > .account-description { margin:0; }
.account-feedback:empty { display:none; }
.account-dialog { padding:28px; }
.vip-plans { margin:18px 0; }
.vip-plans label { padding:14px 12px; gap:10px; }
.payment-preview { padding:16px; }
.qr-empty { width:112px; height:112px; }
[data-theme="dark"] { color-scheme:dark; }
.vip-plans { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; border:0; padding:0; margin:26px 0; }
.vip-plans label { display:flex; flex-direction:column; gap:13px; padding:18px 12px; border:1px solid var(--line); border-radius:14px; cursor:pointer; }
.vip-plans strong { font-size:30px; color:var(--brand); white-space:nowrap; }
.vip-plans strong small { font-size:12px; color:var(--muted); font-weight:400; }
.vip-plans em { font-style:normal; font-size:12px; line-height:1.6; color:var(--muted); }
.payment-methods { flex-wrap:wrap; }
.payment-methods legend { margin-bottom:12px; font-size:14px; font-weight:650; }
.payment-preview { display:flex; align-items:center; gap:22px; padding:20px; background:var(--paper); border:1px solid var(--line); border-radius:14px; }
.payment-preview p { color:var(--muted); font-size:13px; line-height:1.65; }
.qr-empty { width:132px; height:132px; flex-shrink:0; display:grid; place-content:center; justify-items:center; gap:12px; border:1px dashed var(--line); border-radius:10px; color:var(--muted); font-size:12px; }
.qr-empty svg { width:40px; height:40px; }
.duration-options { display:flex; flex-wrap:wrap; gap:10px; }
.duration-options label:has(input:disabled) { opacity:.5; cursor:not-allowed; }
@media(max-width:520px) {
  .account-dialog { padding:26px 20px; }
  .account-dialog h2 { font-size:23px; }
  .vip-plans { gap:8px; }
  .vip-plans label { padding:14px 8px; font-size:13px; }
  .vip-plans strong { font-size:25px; }
  .payment-preview { flex-direction:column; align-items:stretch; }
  .qr-empty { margin:auto; }
}
.account-dialog { position:fixed; }
.account-close { z-index:2; display:grid; place-items:center; color:var(--muted); }
.vip-plans { margin:16px 0; }
.vip-plans label { padding:12px; gap:8px; }
.payment-preview { padding:14px; }
.qr-empty { width:104px; height:104px; }
