/* Compact personal account, matching the supplied dark / violet reference. */
body.account-page { background: #111113; }
.account-page .site-header { background: #171719; border-bottom: 1px solid #ffffff05; }
.account-page .site-footer { display: none; }
.account-view.container { width: min(940px, calc(100% - 48px)); min-height: calc(100dvh - 70px); padding: clamp(70px, 14vh, 165px) 0 85px; }
.portal-heading { text-align: center; margin-bottom: 37px; }
.portal-eyebrow { display: block; font-size: 10px; letter-spacing: 2.7px; color: #ae85ea; margin-bottom: 11px; }
.portal-heading h1 { font-size: 27px; font-weight: 650; letter-spacing: -.6px; line-height: 1.3; }
.portal-heading p { margin-top: 10px; color: #9d98a8; font-size: 13px; }
.account-table { display: grid; gap: 8px; margin: 0; }
.account-row { display: flex; align-items: stretch; min-height: 41px; font-size: 13px; border-radius: 6px; background: #1d1c20; overflow: hidden; }
.account-row dt, .account-row > label { width: 195px; flex: 0 0 195px; display: flex; align-items: center; gap: 10px; padding: 11px 15px; background: linear-gradient(105deg,#7115e8,#9024ed); color: #fff; margin: 0; font-weight: 500; font-size: 13px; }
.account-row svg, .portal-button svg { width: 15px; height: 15px; flex-shrink: 0; }
.account-row dd { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 0; padding: 10px 15px; flex: 1; min-width: 0; color: #cec9d5; overflow-wrap: anywhere; line-height: 1.5; }
#account-hwid { font-family: ui-monospace, Consolas, monospace; font-size: 11px; }
.row-tag { flex-shrink: 0; color: #b7a8ca; font-size: 10px; background: #292330; padding: 3px 8px; border-radius: 4px; }
.row-tag.active { color: #d6f4dd; background: #264031; }
.row-tag.locked { color: #dbc6ff; background: #382451; }
.activation-row { margin-top: 8px; }
.activation-row input { flex: 1; min-width: 0; width: 0; margin: 0; background: transparent; border: 0; border-radius: 0; padding: 11px 15px; font-size: 13px; color: #fff; min-height: 41px; box-shadow: none; }
.activation-row input::placeholder { color: #b2aaba; }
.activation-row input:focus { outline: 2px solid #a45aff; outline-offset: -2px; box-shadow: none; }
.portal-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 13px; background: linear-gradient(105deg,#7315ed,#9527eb); color: #fff; border: 1px solid #a65afa22; border-radius: 5px; min-height: 37px; font-size: 12px; font-weight: 500; line-height: 1.35; transition: filter .18s, transform .18s, background .18s; white-space: nowrap; }
.portal-button:hover:not(:disabled) { filter: brightness(1.17); transform: translateY(-1px); }
.portal-button:disabled { opacity: .45; cursor: not-allowed; }
.activation-row .portal-button { border-radius: 0; min-width: 112px; }
.portal-hint { color: #a59caf; font-size: 12px; line-height: 1.8; margin-top: 15px; max-width: 660px; }
.portal-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 31px; }
.portal-secondary { background: #25202c; border-color: #a076cd25; color: #e1d5ef; }
.portal-logout { margin-left: auto; }
.portal-footnote { display: flex; justify-content: space-between; color: #897f95; font-size: 11px; margin-top: 27px; padding-top: 22px; border-top: 1px solid #ffffff0a; }
.account-view .form-message { margin: 12px 0 0; border-radius: 5px; font-size: 13px; }
.portal-dialog { position: fixed; padding: 33px; width: 460px; max-width: calc(100% - 30px); max-height: calc(100dvh - 40px); overflow: auto; background: #19151e; border: 1px solid #463352; color: #f4eef9; border-radius: 12px; }
.portal-dialog::backdrop { background: #08060bbb; backdrop-filter: blur(7px); }
.portal-dialog h2 { font-size: 25px; margin: 0 0 25px; }
.portal-dialog input:not([type=radio]) { font-size: 14px; }
.portal-dialog .theme-field { display: flex; flex-wrap: wrap; gap: 13px; }
.portal-dialog .theme-choice { font-size: 12px; }
.portal-dialog .button { font-size: 13px; min-height: 42px; }
@media (max-width: 680px) {
  .account-view.container { width: calc(100% - 28px); padding-top: 52px; }
  .portal-heading { margin-bottom: 27px; }
  .portal-heading h1 { font-size: 25px; }
  .portal-heading p { font-size: 12px; }
  .account-row dt, .account-row > label { width: 140px; flex-basis: 140px; padding: 10px; gap: 7px; font-size: 11px; }
  .account-row dd { font-size: 12px; padding: 10px; flex-wrap: wrap; gap: 5px; }
  .row-tag { font-size: 9px; }
  .hwid-row dd { flex-direction: column; align-items: flex-start; }
  #account-hwid { font-size: 10px; }
  .activation-row { display: grid; grid-template-columns: 140px minmax(0,1fr); }
  .activation-row input { width: 100%; padding: 10px; font-size: 12px; }
  .activation-row > label { width: auto; }
  .activation-row .portal-button { grid-column: 1/-1; padding: 10px; border-top: 1px solid #a05aff44; }
  .portal-actions { gap: 8px; margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr; }
  #download-loader { grid-column: 1/-1; }
  .portal-button { white-space: normal; min-height: 40px; font-size: 12px; }
  .portal-logout { margin-left: 0; }
  .portal-footnote { font-size: 10px; gap: 15px; line-height: 1.7; }
  .portal-footnote span { text-align: right; }
  .portal-dialog { padding: 28px 22px; }
}
@media(prefers-reduced-motion:reduce) { .portal-button { transition: none; } .portal-button:hover:not(:disabled) { transform: none; } }
