/* Scoped presentation for account, activation and purchase returns only. */
.task-page .site-shell { display: flex; flex-direction: column; min-height: 100vh; }
.task-page.purchase-surface { display: flex; flex-direction: column; }
.task-page main { flex: 1; }
.task-page [hidden] { display: none !important; }
.task-page .activation-kicker { margin-bottom: 14px; font-size: .68rem; letter-spacing: .1em; }
.task-page .activation-message { font-size: .86rem; line-height: 1.65; overflow-wrap: anywhere; }
.task-page .activation-message:empty { min-height: 0; margin-top: 0; }
.task-page :is(button, input):disabled { opacity: .62; cursor: wait; }
.task-page .task-text-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--accent); font-size: .86rem; font-weight: 600; }
.task-page .task-text-link:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Sign in: account purpose beside the existing email form. */
.task-page .account-page { min-height: 0; background: radial-gradient(ellipse at 75% 0, rgba(33, 181, 236, .055), transparent 55%), var(--bg); }
.task-page .account-page::before, .task-page .account-glow { display: none; }
.task-page .account-stage { width: min(calc(100% - 48px), 1180px); min-height: 0; padding: 56px 0 64px; }
.task-page .account-stage:has(.account-login-layout:not([hidden])) { padding: 72px 0; }
.task-page .account-login-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 88px; align-items: start; max-width: 1080px; margin: 0 auto; }
.task-page .account-welcome { min-width: 0; padding-top: 8px; }
.task-page .account-welcome h1 { margin: 0 0 24px; font-size: clamp(3rem, 4.5vw, 4.3rem); line-height: 1; letter-spacing: -.05em; }
.task-page .account-welcome h1 span { color: var(--accent); }
.task-page .account-intro { max-width: 450px; margin-bottom: 28px; font-size: 1rem; line-height: 1.7; }
.task-page .account-benefits { margin: 0 0 26px; }
.task-page .account-benefits > div { padding: 16px 0; border-top: 1px solid var(--line); }
.task-page .account-benefits dt { margin-bottom: 5px; color: var(--text); font-size: .91rem; font-weight: 650; }
.task-page .account-benefits dd { margin: 0; color: var(--muted); font-size: .85rem; line-height: 1.65; }
.task-page .account-scope-note { max-width: 650px; color: var(--muted); font-size: .8rem; line-height: 1.7; }
.task-page .account-scope-note a, .task-page .account-activation-help a { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.task-page .account-auth-card { width: 100%; margin: 0; padding: 36px; border-radius: 16px; background: linear-gradient(120deg, #0b2130, #06131f); box-shadow: none; }
.task-page .account-auth-card h2 { margin: 0 0 16px; font-size: 1.9rem; font-weight: 620; line-height: 1.15; letter-spacing: -.035em; }
.task-page .account-auth-intro { margin-bottom: 26px; color: var(--muted); font-size: .9rem; line-height: 1.65; }
.task-page .account-login-form .account-email-input { height: 54px; font-family: inherit; }
.task-page .account-login-form label { font-size: .84rem; }
.task-page .account-login-form .activation-help { margin: 12px 0 22px; color: var(--muted); font-size: .8rem; }
.task-page .account-login-submit { min-height: 50px; font-size: .86rem; }
.task-page .account-activation-help { margin: 26px 0 0; padding-top: 22px; border-top: 1px solid var(--line); color: var(--muted); font-size: .8rem; line-height: 1.7; }

/* Dashboard: licenses and their devices take priority over decorative panels. */
.task-page .account-dashboard-head { align-items: center; gap: 28px; margin-bottom: 24px; }
.task-page .account-dashboard-head h1 { margin-bottom: 16px; font-size: clamp(2.4rem, 4vw, 3.5rem); line-height: 1.05; letter-spacing: -.045em; }
.task-page .account-signed-in { font-size: .88rem; overflow-wrap: anywhere; }
.task-page .account-activate-link { min-height: 48px; margin: 0; font-size: .84rem; }
.task-page .account-dashboard > .account-scope-note { max-width: none; margin: 0 0 36px; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
.task-page .account-section { margin-top: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.task-page .account-section-head { align-items: center; gap: 20px; margin-bottom: 24px; }
.task-page .account-section-head h2 { font-size: 1.8rem; line-height: 1.2; font-weight: 620; }
.task-page .account-section-head p:not(.account-section-index) { margin-top: 8px; font-size: .86rem; }
.task-page .account-section-index { margin-bottom: 10px; font-size: .65rem; letter-spacing: .1em; }
.task-page .account-buy-button { min-height: 44px; font-size: .8rem; }
.task-page .account-license-grid { align-items: start; gap: 20px; }
.task-page .account-license-card { padding: 26px; border-radius: 14px; background: var(--surface); }
.task-page .account-license-top { gap: 16px; }
.task-page .account-card-kicker { margin-bottom: 9px; color: var(--accent); font-size: .67rem; letter-spacing: .08em; }
.task-page .account-license-card h3 { font-size: 1.2rem; line-height: 1.3; }
.task-page .account-license-state { flex-shrink: 0; max-width: 175px; width: auto; padding: 5px 9px; font-size: .66rem; line-height: 1.45; }
.task-page .account-license-usage { margin-top: 22px; }
.task-page .account-license-usage > strong span { font-size: 1.8rem; }
.task-page .account-usage-meter { height: 4px; margin-top: 12px; }
.task-page .account-license-actions { margin-top: 20px; padding-top: 12px; }
.task-page .account-manage-button, .task-page .account-device-action { min-height: 44px; text-align: left; }
.task-page .account-device-panel { margin: 14px 0 0; padding-top: 14px; }
.task-page .account-device-row { grid-template-columns: 34px minmax(0, 1fr) auto; gap: 10px; padding: 12px; }
.task-page .account-device-icon { width: 34px; height: 34px; border-radius: 8px; font-size: .68rem; }
.task-page .account-device-copy strong, .task-page .account-device-copy span { overflow: visible; white-space: normal; overflow-wrap: anywhere; }
.task-page .account-device-copy strong { font-size: .84rem; line-height: 1.4; }
.task-page .account-device-copy span { margin-top: 5px; color: var(--muted); font-size: .71rem; line-height: 1.6; }
.task-page .account-device-action { min-height: 36px; }
.task-page .account-status-badge { flex-shrink: 0; font-size: .65rem; }
.task-page .account-status-badge.is-pending { color: #ffe1a6; border-color: rgba(255, 200, 108, .25); background: rgba(255, 200, 108, .06); }
.task-page .account-status-badge.is-failed, .task-page .account-license-card[data-license-status]:not([data-license-status="active"]) .account-license-state { color: #ffb5c0; border-color: rgba(255, 117, 139, .25); background: rgba(255, 117, 139, .06); }
.task-page .account-license-card[data-license-status]:not([data-license-status="active"]) { border-color: rgba(255, 117, 139, .2); }
.task-page .account-license-card[data-license-status]:not([data-license-status="active"]) .account-usage-meter span { background: var(--muted-2); box-shadow: none; }
.task-page .account-purchases-section { margin-top: 44px; padding-top: 32px; border-top: 1px solid var(--line); }
.task-page .account-purchase-list { gap: 0; }
.task-page .account-purchase-row { grid-template-columns: minmax(0, 1fr) auto 100px 150px; gap: 24px; padding: 20px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; }
.task-page .account-purchase-row > div strong { font-size: .88rem; }
.task-page .account-purchase-row > div span { margin-top: 6px; color: var(--muted); font-size: .76rem; }
.task-page .account-purchase-amount { font-size: .92rem; }
.task-page .account-payment-action { min-height: 44px; white-space: normal; line-height: 1.4; }
.task-page .account-empty-state { padding: 24px; text-align: left; background: var(--surface); }
.task-page .account-empty-state p { margin-top: 10px; line-height: 1.65; }
.task-page .account-loading { padding: 20px 0; font-size: .9rem; }
.task-page .account-actions { margin-top: 32px; padding: 24px 0 0; border-top: 1px solid var(--line); }
.task-page .account-actions p { max-width: 540px; margin-top: 8px; color: var(--muted); font-size: .8rem; }
.task-page .account-logout-button { min-height: 44px; font-size: .8rem; }

/* Activation and purchase returns use the same calm form treatment. */
.task-page .activation-page { display: grid; align-items: center; min-height: 0; background: radial-gradient(ellipse at 50% 0, rgba(33, 181, 236, .06), transparent 60%), var(--bg); }
.task-page .activation-orbit { display: none; }
.task-page .activation-stage { width: min(calc(100% - 48px), 640px); min-height: 0; padding: 48px 0; }
.task-page .activation-stage:has([data-license-panel]:not([hidden])) { width: min(calc(100% - 48px), 1040px); }
.task-page .activation-card { min-height: 0; padding: 40px; border-radius: 16px; background: var(--surface); box-shadow: none; backdrop-filter: none; }
.task-page .activation-mark { width: 36px; height: 36px; margin-bottom: 26px; border-radius: 10px; }
.task-page .activation-mark span { width: 13px; height: 13px; border-width: 2px; box-shadow: none; }
.task-page.activation-surface .activation-card > .activation-mark { display: none; }
.task-page .activation-state h1, .task-page.purchase-surface h1 { margin: 0 0 20px; font-size: clamp(2rem, 3.5vw, 2.8rem); line-height: 1.08; letter-spacing: -.04em; }
.task-page .activation-lead { max-width: 650px; margin-bottom: 26px; font-size: .98rem; line-height: 1.7; }
.task-page .activation-state--success { text-align: left; }
.task-page .activation-success-icon { width: 42px; height: 42px; margin: 0 0 22px; font-size: 1.2rem; }
.task-page .activation-platform { margin-bottom: 22px; padding: 6px 12px; font-size: .78rem; }
.task-page .activation-email { margin: 0 0 22px; font-size: .95rem; overflow-wrap: anywhere; }
.task-page .activation-state form { max-width: 550px; }
.task-page .activation-state form label { font-size: .84rem; }
.task-page .activation-state input { height: 70px; border-radius: 9px; font-size: 1.9rem; letter-spacing: .3em; }
.task-page .activation-state .account-email-input { height: 54px; margin-bottom: 18px; font-size: 1rem; letter-spacing: 0; text-align: left; }
.task-page .activation-help { color: var(--muted); font-size: .8rem; line-height: 1.65; }
.task-page .activation-submit { min-height: 50px; font-size: .85rem; }
.task-page .activation-loader { width: 32px; height: 32px; margin: 28px auto 20px; }
.task-page .activation-notice { margin-top: 24px; padding: 20px; border-radius: 10px; background: rgba(82, 213, 255, .025); }
.task-page .activation-notice p { margin-top: 8px; font-size: .86rem; line-height: 1.7; }
.task-page.activation-surface [data-account-connected] > .activation-notice { padding: 0 0 20px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; }
.task-page .activation-license-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 20px; margin-top: 24px; }
.task-page .activation-license-card { min-width: 0; padding: 24px; border-radius: 12px; background: var(--bg); }
.task-page .activation-license-card h2 { font-size: 1.05rem; line-height: 1.45; }
.task-page .activation-license-summary { margin-top: 12px; font-size: .85rem; }
.task-page .activation-license-status { margin-top: 16px; font-size: .85rem; line-height: 1.7; }
.task-page .activation-license-card[data-license-state="current"] { border-color: rgba(82, 213, 255, .35); }
.task-page .activation-license-card[data-license-state="full"] { border-color: rgba(255, 176, 94, .23); }
.task-page .activation-license-card[data-license-state="full"] .activation-license-status { color: #ffd1a6; }
.task-page .activation-license-devices { margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--line); }
.task-page .activation-license-devices:empty { display: none; }
.task-page .activation-license-devices .activation-help { padding: 8px 0; font-size: .78rem; }
.task-page .activation-link-button { min-height: 36px; margin-left: 8px; font-size: .78rem; }
.task-page .activation-secondary { width: auto; min-height: 44px; margin-top: 24px; font-size: .8rem; }
.task-page .activation-disclaimer { max-width: 620px; margin-top: 22px; color: var(--muted); font-size: .76rem; }
.task-page .activation-expiry { color: var(--muted); }
.task-page .lifetime-pack-grid { gap: 18px; }
.task-page .activation-license-panel > .lifetime-pack-grid { grid-column: 1 / -1; }
.task-page .lifetime-pack-card { min-height: 260px; padding: 24px; border-radius: 12px; background: var(--surface); box-shadow: none; }
.task-page .lifetime-pack-card:hover, .task-page .lifetime-pack-card:focus-within { transform: none; background: var(--surface); }
.task-page .lifetime-pack-price { margin-top: 14px; font-size: 2.2rem; }
.task-page .lifetime-pack-description { font-size: .85rem; line-height: 1.65; }
.task-page .lifetime-pack-buy { min-height: 46px; font-size: .83rem; }
.task-page.purchase-surface .activation-card { max-width: 560px; }
.task-page.purchase-surface .activation-stage { width: min(calc(100% - 48px), 560px); }
.task-page.purchase-surface .activation-lead { margin-bottom: 26px; }
.task-page.purchase-surface .activation-loader { margin-left: 0; }
.task-page .purchase-account-link { margin-top: 16px; }
.task-page.purchase-cancel-surface .activation-error-icon { color: var(--muted); background: rgba(255, 255, 255, .03); border-color: var(--line); }

@media (max-width: 1050px) {
  .task-page .account-login-layout { gap: 44px; }
  .task-page .account-license-top { flex-direction: column; }
  .task-page .account-purchase-row { grid-template-columns: minmax(0, 1fr) auto 90px auto; gap: 18px; }
}
@media (max-width: 800px) {
  .task-page .account-login-layout { grid-template-columns: 1fr; gap: 28px; max-width: 600px; }
  .task-page .account-welcome { padding-top: 0; }
  .task-page .account-benefits { display: none; }
  .task-page .account-intro { margin-bottom: 16px; }
  .task-page .account-welcome > .account-scope-note { margin-bottom: 0; }
  .task-page .account-stage:has(.account-login-layout:not([hidden])) { padding: 40px 0; }
  .task-page .account-license-grid, .task-page .activation-license-panel { grid-template-columns: 1fr; }
  .task-page .account-license-top { flex-direction: row; }
  .task-page .account-purchase-row { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .task-page .account-purchase-row .account-status-badge { grid-column: 1; grid-row: 2; }
  .task-page .account-purchase-amount { grid-column: 2; grid-row: 1 / 3; }
  .task-page .account-payment-action { grid-column: 1 / -1; width: 100%; }
  .task-page .lifetime-pack-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .task-page .account-stage { width: calc(100% - 32px); padding: 28px 0 40px; }
  .task-page .account-stage:has(.account-login-layout:not([hidden])) { padding: 28px 0 40px; }
  .task-page .account-welcome h1 { margin-bottom: 18px; font-size: 2.7rem; }
  .task-page .account-intro { font-size: .94rem; }
  .task-page .account-auth-card { padding: 26px 22px; border-radius: 14px; }
  .task-page .account-auth-card h2 { font-size: 1.65rem; }
  .task-page .account-auth-intro { font-size: .84rem; }
  .task-page .account-dashboard-head { display: block; margin-bottom: 22px; }
  .task-page .account-dashboard-head h1 { font-size: 2.3rem; }
  .task-page .account-signed-in { font-size: .81rem; }
  .task-page .account-activate-link { width: auto; margin-top: 20px; }
  .task-page .account-dashboard > .account-scope-note { margin-bottom: 28px; padding-bottom: 22px; font-size: .75rem; }
  .task-page .account-section-head { display: block; }
  .task-page .account-section-head h2 { font-size: 1.65rem; }
  .task-page .account-buy-button { width: auto; margin-top: 18px; }
  .task-page .account-license-card { padding: 22px; }
  .task-page .account-license-top { display: flex; flex-direction: column; gap: 12px; }
  .task-page .account-license-state { margin-top: 0; }
  .task-page .account-device-row { grid-template-columns: 30px minmax(0, 1fr); padding: 10px; }
  .task-page .account-device-icon { width: 30px; height: 30px; }
  .task-page .account-device-row .account-status-badge { grid-column: 2; justify-self: start; }
  .task-page .account-device-row .account-device-action { grid-column: 2; }
  .task-page .account-purchase-row > div strong { font-size: .83rem; }
  .task-page .account-purchases-section { margin-top: 32px; padding-top: 28px; }
  .task-page .account-actions { gap: 20px; }
  .task-page .account-logout-button { width: auto; }
  .task-page .activation-stage, .task-page .activation-stage:has([data-license-panel]:not([hidden])), .task-page.purchase-surface .activation-stage { width: calc(100% - 32px); padding: 28px 0 36px; }
  .task-page .activation-card { padding: 28px 22px; border-radius: 14px; }
  .task-page .activation-state h1, .task-page.purchase-surface h1 { font-size: 2.1rem; }
  .task-page .activation-lead { margin-bottom: 24px; font-size: .92rem; }
  .task-page .activation-state input { padding-inline: 14px; font-size: 1.7rem; letter-spacing: .25em; }
  .task-page .activation-state .account-email-input { padding-inline: 14px; font-size: 1rem; letter-spacing: 0; }
  .task-page .activation-notice { padding: 18px; }
  .task-page .activation-license-card { padding: 20px; }
  .task-page .activation-license-panel { gap: 16px; }
  .task-page .lifetime-pack-grid { grid-template-columns: 1fr; gap: 16px; }
  .task-page .lifetime-pack-card { min-height: 240px; padding: 22px; }
  .task-page .lifetime-pack-price { font-size: 2rem; }
}
