/* Shared account experience and refinements to the Helios workspace. */
:root { --primary: #5b4bd5; --primary-dark: #4635b4; --paper: #f6f7fc; }
body { -webkit-font-smoothing: antialiased; }
body .ui-widget { font-family: "Segoe UI", Arial, sans-serif; }
body .ui-button { letter-spacing: .1px; }
body .ui-password { width: 100%; display: block; }
body .ui-password > input { width: 100%; padding-right: 44px; }
body .ui-password .ui-password-icon { cursor: pointer; color: var(--muted); }
body .ui-messages .ui-messages-error { border: 1px solid #f0c5ce; background: #fff2f4; color: #99364b; border-radius: 8px; }
body .ui-messages .ui-messages-info { border: 1px solid #d3e6df; background: #edf7f2; color: #356e58; border-radius: 8px; }
.field small { color: var(--muted); font-size: 11px; line-height: 1.6; }
body .ui-button.ui-button-outlined { background: white; color: var(--primary); border: 1px solid #d0c9ed; box-shadow: none; }
.auth-page { background: #f8f9fd; }
.auth-header { max-width: 1380px; margin: auto; padding: 28px 48px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.auth-header .brand { color: #302955; gap: 10px; font-size: 24px; }
.brand-mark { display: grid; place-items: center; width: 39px; height: 39px; background: #5c4cce; color: #fff0c8; border-radius: 12px; font-size: 22px; }
.brand-caption { font-size: 8px; line-height: 1.6; letter-spacing: 1.5px; max-width: 90px; padding-left: 15px; margin-left: 6px; border-left: 1px solid #d9d9e7; color: #73728b; }
.header-action { font-size: 12px; font-weight: 600; text-decoration: none; }
.auth-layout { display: grid; grid-template-columns: 1.08fr 1fr; max-width: 1170px; margin: 18px auto 34px; padding: 0; border: 1px solid #e7e7f0; border-radius: 24px; overflow: hidden; box-shadow: 0 22px 70px #2620470a; background: white; }
.auth-story { position: relative; overflow: hidden; min-height: 660px; padding: 44px 44px 30px; background: linear-gradient(145deg, #292449 0%, #443784 60%, #6350bb 100%); color: white; display: flex; flex-direction: column; }
.auth-overline { display: flex; gap: 9px; align-items: center; font-size: 9px; letter-spacing: 1.5px; color: #d2c9f5; font-weight: 600; }
.auth-overline > span { width: 6px; height: 6px; background: #f3cf87; border-radius: 50%; }
.auth-story h2 { font-size: 37px; line-height: 1.24; letter-spacing: -1.1px; margin: 34px 0 20px; font-weight: 600; }
.auth-story h2 em { font-style: normal; color: #e4cffb; }
.auth-story > p { color: #cec8e8; max-width: 340px; font-size: 13px; line-height: 1.8; }
.auth-illustration { position: relative; height: 225px; width: 300px; margin: 5px auto 14px; display: grid; place-items: center; }
.orbit { position: absolute; border: 1px solid #ffffff20; border-radius: 50%; transform: rotate(-25deg); }
.orbit-one { width: 270px; height: 170px; }
.orbit-two { width: 200px; height: 220px; transform: rotate(40deg); }
.lens { height: 116px; width: 136px; border-radius: 30px; background: linear-gradient(135deg,#ffffff19,#ffffff06); border: 1px solid #ffffff30; box-shadow: 0 18px 35px #18142d20; display: grid; place-items: center; transform: rotate(-9deg); }
.lens i { color: #ffe3a8; font-size: 64px; transform: rotate(9deg); }
.sun-dot { width: 19px; height: 19px; background: #f7d488; box-shadow: 0 0 0 8px #f7d48812; border-radius: 50%; position: absolute; top: 29px; right: 48px; }
.illustration-label { position: absolute; bottom: -1px; color: #c4bcdf; font-size: 10px; letter-spacing: 1px; }
.auth-story-bottom { display: flex; gap: 24px; margin-top: auto; padding-top: 27px; border-top: 1px solid #ffffff16; color: #ded7f3; font-size: 10px; }
.auth-story-bottom i { color: #e9d49f; margin-right: 7px; }
.auth-card { align-self: center; padding: 46px 48px; min-width: 0; }
.auth-step { display: block; color: #7a718c; font-weight: 700; font-size: 9px; letter-spacing: 1.6px; margin-bottom: 13px; }
.auth-card h1 { font-size: 29px; letter-spacing: -.9px; line-height: 1.25; margin: 0 0 14px; color: #2d2947; }
.auth-intro { font-size: 13px; color: #777589; line-height: 1.8; margin-bottom: 28px; }
.auth-form { display: grid; gap: 21px; }
.auth-form > .ui-messages:empty { display: none; }
.auth-form .field { gap: 9px; }
.auth-form .field label { color: #514c68; font-size: 12px; }
.auth-form .ui-inputfield { min-height: 49px; border-color: #dddbe8; background: #fff; border-radius: 8px; font-size: 13px; }
.auth-form .ui-inputfield::placeholder { color: #a4a0b3; }
.label-row { display: flex; justify-content: space-between; gap: 15px; align-items: center; }
.label-row a { font-size: 11px; text-decoration: none; font-weight: 600; }
body .auth-submit { width: 100%; min-height: 48px; border-radius: 8px; box-shadow: 0 6px 13px #5b4bd52b; margin-top: 4px; }
.auth-divider { display: flex; align-items: center; gap: 14px; margin: 28px 0 18px; font-size: 10px; color: #797286; }
.auth-divider::before, .auth-divider::after { content: ""; height: 1px; flex: 1; background: #eae8f1; }
.auth-secondary { display: block; text-align: center; padding: 12px 18px; border: 1px solid #ded8ee; border-radius: 8px; text-decoration: none; font-weight: 600; font-size: 12px; }
.auth-secondary:hover { background: #f8f6ff; }
.auth-footnote { text-align: center; font-size: 10px; color: #777085; margin: 24px 0 0; line-height: 1.7; }
.auth-footnote i { margin-right: 5px; }
.auth-footer { display: flex; justify-content: space-between; max-width: 1170px; margin: auto; padding: 0 0 24px; color: #797286; font-size: 10px; }
.auth-back { display: block; font-size: 11px; color: #7a7392; text-decoration: none; margin-bottom: 28px; }
.auth-icon { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 15px; color: var(--primary); background: #f0edfc; font-size: 22px; margin-bottom: 25px; }
.auth-result p { font-size: 13px; line-height: 1.9; }
.auth-primary-link { display: block; text-align: center; margin-top: 24px; padding: 13px 18px; border-radius: 8px; background: var(--primary); color: white; font-size: 12px; font-weight: 650; text-decoration: none; }
.auth-text-link { display: block; text-align: center; font-size: 11px; margin-top: 20px; text-decoration: none; }
.recovery-note { display: flex; align-items: start; gap: 12px; padding: 17px; background: #f7f5fd; border: 1px solid #ece7f6; border-radius: 10px; }
.recovery-note i { color: #9682bd; padding-top: 3px; }
.recovery-note strong { display: block; font-size: 11px; font-weight: 600; color: #5d526f; }
.recovery-note span { display: block; margin-top: 5px; color: #8b829b; font-size: 10px; }
.success-symbol { display: grid; place-items: center; width: 52px; height: 52px; background: #e9f5ed; color: #428566; border-radius: 50%; font-size: 24px; margin-bottom: 22px; }
.terms-copy { padding: 13px 15px; border-radius: 8px; background: #f8f7fc; color: #80788e; font-size: 10px; line-height: 1.8; }
.auth-form .ui-chkbox-label { font-size: 11px; color: #645c75; }
.inline-notice, .inline-success { padding: 14px; border-radius: 8px; font-size: 12px; margin-bottom: 18px; background: #f3f0fc; color: #61547e; }
.inline-success { background: #edf7f1; color: #39745a; }
.account-link { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); }
.account-avatar { flex-shrink: 0; width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; background: #eeeafb; color: #6650b8; font-size: 12px; font-weight: 700; }
.account-identity strong { display: block; font-size: 11px; font-weight: 600; max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-identity small { display: block; font-size: 9px; color: #8e879f; }
.profile-banner { display: flex; align-items: center; gap: 24px; padding: 30px; background: linear-gradient(110deg,#403374,#6951ad); color: white; border-radius: 16px; margin-bottom: 26px; }
.profile-avatar { display: grid; place-items: center; flex-shrink: 0; width: 80px; height: 80px; border-radius: 25px; color: #ffdda3; border: 1px solid #ffffff40; background: #ffffff12; font-size: 28px; font-weight: 600; }
.profile-banner h2 { font-size: 25px; margin: 6px 0; color: white; }
.profile-banner p { margin: 0; color: #ddd2f5; font-size: 12px; overflow-wrap: anywhere; }
.profile-account-badge { margin-left: auto; padding: 8px 12px; background: #ffffff13; border: 1px solid #ffffff22; border-radius: 30px; font-size: 10px; white-space: nowrap; }
.profile-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(260px,1fr); gap: 24px; }
.panel-heading { display: flex; gap: 14px; align-items: center; padding-bottom: 22px; margin-bottom: 24px; border-bottom: 1px solid var(--line); }
.panel-heading .card-icon { margin: 0; }
.panel-heading h2 { margin: 0 0 4px; }
.panel-heading p { margin: 0; font-size: 12px; }
.profile-editor { align-self: start; }
.profile-save { margin-top: 25px; padding-top: 22px; border-top: 1px solid var(--line); display: flex; gap: 20px; align-items: center; justify-content: space-between; }
.profile-save > span { font-size: 10px; color: var(--muted); max-width: 240px; }
.profile-save .ui-button { flex-shrink: 0; }
.account-details { margin: 0; }
.account-details dt { color: #92889f; font-size: 10px; margin-top: 18px; }
.account-details dd { margin: 4px 0 0; color: #514860; font-size: 12px; overflow-wrap: anywhere; }
.public-page .public-content { min-height: 70vh; }
.public-page .panel { box-shadow: 0 8px 28px #35295a06; }
@media (max-width: 1150px) {
  .auth-layout { margin: 12px 30px 28px; }
  .auth-header { padding: 24px 30px; }
  .auth-story { padding: 36px 30px; }
  .auth-story h2 { font-size: 32px; }
  .auth-card { padding: 38px 32px; }
  .auth-footer { padding: 0 30px 24px; }
  .profile-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .auth-header { padding: 22px; }
  .auth-header .brand { font-size: 22px; }
  .brand-caption { display: none; }
  .header-action { font-size: 10px; }
  .auth-layout { grid-template-columns: 1fr; margin: 4px 16px 24px; border-radius: 18px; }
  .auth-story { min-height: auto; padding: 25px 26px; }
  .auth-overline { font-size: 8px; letter-spacing: 1px; }
  .auth-story h2 { font-size: 27px; margin: 20px 0 10px; }
  .auth-story > p, .auth-illustration, .auth-story-bottom { display: none; }
  .auth-card { padding: 30px 26px; }
  .auth-card h1 { font-size: 27px; }
  .auth-footer { padding: 0 24px 24px; gap: 15px; flex-wrap: wrap; font-size: 9px; }
  .auth-back { margin-bottom: 20px; }
  .account-identity { display: none; }
  .account-actions { gap: 10px; }
  .profile-banner { padding: 22px; gap: 15px; flex-wrap: wrap; }
  .profile-avatar { width: 58px; height: 58px; font-size: 22px; border-radius: 18px; }
  .profile-banner h2 { font-size: 21px; }
  .profile-account-badge { margin-left: 0; }
  .profile-save { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { .auth-page * { transition: none !important; } }


