/* Login.dc.html: shared account card and contextual sign-in dialog. */
.aj-auth-page { background: var(--aj-color-bg-page); padding: 40px 24px 48px; }
.aj-auth-wrap { max-width: 972px; margin: 0 auto; }
.aj-auth-split { display: grid; grid-template-columns: 1.02fr .98fr; background: #fff; border: 1px solid #dfe3ea; border-radius: 14px; overflow: hidden; box-shadow: 0 20px 50px -28px rgba(19,41,75,.5); }
.aj-auth-panel { background: #163259; color: #fff; padding: 40px 38px; display: flex; flex-direction: column; gap: 26px; position: relative; overflow: hidden; }
.aj-auth-watermark { position: absolute; right: -56px; bottom: -46px; width: 280px; opacity: .055; filter: invert(1); pointer-events: none; }
.aj-auth-intro, .aj-auth-preview { position: relative; z-index: 1; }
.aj-auth-mark { width: 50px; height: 50px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.aj-auth-mark img { width: 32px; height: 32px; object-fit: contain; }
.aj-auth-panel h1 { font: 500 30px/1.15 var(--aj-font-serif); color: #fff; margin: 0; }
.aj-auth-intro p { font-size: 13.5px; color: rgba(255,255,255,.7); margin: 12px 0 0; line-height: 1.62; max-width: 38ch; }
.aj-auth-preview { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 11px; padding: 20px 22px 18px; font-family: var(--aj-font-mono); }
.aj-auth-preview-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 9.5px; text-transform: uppercase; letter-spacing: .13em; color: #dcb352; }
.aj-auth-preview-head small { font-size: 9px; color: #bbc7d7; text-align: right; letter-spacing: .06em; }
.aj-auth-preview-label { margin: 18px 0 10px; font-size: 10px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #bbc7d7; }
.aj-auth-reading { position: relative; height: 6px; border-radius: 3px; background: rgba(255,255,255,.09); margin: 14px 0 10px; }
.aj-auth-reading::before { content: ''; position: absolute; top: -4px; bottom: -4px; left: 26%; width: 34%; background: rgba(255,255,255,.08); }
.aj-auth-reading::after { content: ''; position: absolute; top: -5px; bottom: -5px; left: 50%; border-left: 1px dashed rgba(255,255,255,.5); }
.aj-auth-reading i { position: absolute; left: 41%; width: 9%; height: 6px; background: #0c7180; }
.aj-auth-reading b { position: absolute; left: 41%; top: -5px; width: 4px; height: 16px; border: 1.5px solid #fff; background: #0c7180; border-radius: 2px; }
.aj-auth-poles { display: flex; justify-content: space-between; font-size: 8.5px; font-weight: 600; text-transform: uppercase; color: #bbc7d7; }
.aj-auth-arch { margin-top: 18px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.12); }
.aj-auth-arch .aj-auth-preview-label { margin-top: 0; }
.aj-auth-arch > div:not(.aj-auth-preview-label) { display: grid; grid-template-columns: minmax(0,1fr) 78px; gap: 12px; align-items: center; margin-top: 8px; font-size: 10px; color: rgba(255,255,255,.8); }
.aj-auth-arch i { height: 5px; background: linear-gradient(to right, var(--bar-color) var(--bar-size), rgba(255,255,255,.12) var(--bar-size)); }
.aj-auth-bar-one { --bar-color: #dcb352; --bar-size: 100%; }
.aj-auth-bar-two { --bar-color: #8fa6c6; --bar-size: 77%; }
.aj-auth-bar-three { --bar-color: #4a9aa8; --bar-size: 66%; }
.aj-auth-theels { display: flex; align-items: center; gap: 10px; margin: 18px 0 0; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.12); font-size: 11px; color: rgba(255,255,255,.75); line-height: 1.5; }
.aj-auth-theels img { flex: none; }
.aj-auth-form-panel { padding: 38px 38px 34px; min-width: 0; }
.aj-auth-tabs { display: flex; background: #f6f7fa; border-radius: 9px; padding: 4px; gap: 4px; margin-bottom: 26px; }
.aj-auth-tabs a { flex: 1; text-align: center; font-size: 13px; font-weight: 700; padding: 11px; border-radius: 6px; color: #616a78; text-decoration: none; }
.aj-auth-tabs a[aria-current] { background: #fff; color: #1a3d74; box-shadow: 0 1px 4px rgba(0,0,0,.12); }
.aj-auth-field { margin-bottom: 15px; }
.aj-auth-field label { display: block; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #616a78; margin-bottom: 7px; }
.aj-auth-field-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.aj-auth-field-head a { font-size: 11.5px; font-weight: 600; color: #1a3d74; }
.aj-auth-field input { width: 100%; height: auto; background: #f6f7fa; border: 1px solid #dfe3ea; border-radius: 7px; padding: 12px 14px !important; font: 400 14px/1.5 var(--aj-font-sans); color: #2b2f37; }
.aj-auth-field input::placeholder { color: #788393; }
.aj-auth-field input:focus { border-color: #1a3d74; }
.aj-auth-password { position: relative; }
.aj-auth-password input { padding-right: 64px !important; }
.aj-auth-password button { position: absolute; right: 4px; top: 4px; bottom: 4px; background: transparent; color: #1a3d74; border: 0; padding: 0 10px; font-size: 11px; font-weight: 600; box-shadow: none; }
.aj-auth-field small { display: block; margin-top: 5px; color: #616a78; font-size: 11px; }
.aj-auth-remember { display: flex; align-items: center; gap: 8px; margin: 0 0 18px; font-size: 12px; color: #616a78; }
.aj-auth-remember input { accent-color: #1a3d74; margin: 0; width: 16px; height: 16px; }
.aj-auth-submit { display: block; width: 100%; background: #c33d29; color: #fff; border: 0; font: 700 14px/1.5 var(--aj-font-sans); letter-spacing: .04em; text-transform: uppercase; text-decoration: none; text-align: center; padding: 14px; border-radius: 7px; cursor: pointer; }
.aj-auth-submit:hover, .aj-auth-submit:focus { color: #fff; background: #a83424; }
.aj-auth-submit:disabled { opacity: .6; cursor: not-allowed; }
.aj-auth-next { background: #f6f7fa; border: 1px solid #e7ebf1; border-radius: 8px; padding: 13px 15px; margin-bottom: 16px; }
.aj-auth-next > div { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px; font: 600 9.5px/1.5 var(--aj-font-mono); color: #87651f; text-transform: uppercase; letter-spacing: .1em; }
.aj-auth-next b { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; letter-spacing: 0; text-transform: none; }
.aj-auth-next p { margin: 7px 0 0; font-size: 12px; color: #474f5c; line-height: 1.55; }
.aj-auth-or { display: flex; align-items: center; gap: 12px; margin: 18px 0; font-size: 10.5px; letter-spacing: .12em; color: #616a78; }
.aj-auth-or span { flex: 1; height: 1px; background: #e7ebf1; }
.aj-auth-google { width: 100%; background: #fff; border: 1.5px solid #dfe3ea; color: #616a78; font: 600 13px/1.5 var(--aj-font-sans); padding: 12px; border-radius: 7px; cursor: not-allowed; }
.aj-auth-google:hover, .aj-auth-google:focus { background: #fff; border-color: #dfe3ea; color: #616a78; }
.aj-auth-provider-note { font-size: 11px; color: #616a78; text-align: center; margin: 7px 0 0; }
.aj-auth-switch { text-align: center; font-size: 12.5px; color: #616a78; margin: 20px 0 0; }
.aj-auth-switch a { color: #c33d29; font-weight: 700; }
.aj-auth-policy { text-align: center; font-size: 11.5px; color: #616a78; line-height: 1.6; margin: 14px 0 0; padding-top: 14px; border-top: 1px solid #f0f2f6; }
.aj-auth-policy a { color: #1a3d74; font-weight: 600; }
.aj-auth-back { display: block; text-align: center; margin-top: 24px; color: #616a78; font-size: 12px; }
.aj-auth-message { padding: 12px 14px; background: #edf4f9; color: #163259; border: 1px solid #d2dfed; border-radius: 7px; font-size: 13px; line-height: 1.6; margin: 0 0 18px; overflow-wrap: anywhere; }
.aj-auth-message.is-error { background: #fff3ef; border-color: #edc8be; color: #972f20; }
.aj-auth-mobile-copy, .aj-auth-mobile-forgot, .aj-auth-mobile-benefits { display: none; }
.aj-auth-gate { margin: auto; max-width: 430px; width: calc(100% - 48px); max-height: calc(100dvh - 48px); padding: 36px 36px 28px; border: 1px solid #dfe3ea; border-top: 3px solid #1a3d74; border-radius: 10px; text-align: center; background: #fff; color: #616a78; box-shadow: 0 30px 80px -34px rgba(19,41,75,.55); overflow: auto; }
.aj-auth-gate:not([open]) { display: none; }
.aj-auth-gate::backdrop { background: rgba(20,41,75,.4); backdrop-filter: blur(8px); }
.aj-auth-gate-mark { margin: 0 auto 16px; object-fit: contain; }
.aj-auth-gate h2 { font: 500 25px/1.2 var(--aj-font-serif); color: #1a3d74; margin: 0 0 9px; }
.aj-auth-gate > p { font-size: 13.5px; line-height: 1.6; margin: 0 0 22px; }
.aj-auth-gate .aj-auth-gate-register { font-size: 12.5px; margin: 14px 0 0; }
.aj-auth-gate-register a { color: #c33d29; font-weight: 700; }
.aj-auth-gate-close { position: absolute; right: 6px; top: 5px; width: 34px; height: 34px; border: 0; background: transparent; color: #616a78; font-size: 24px; padding: 0; box-shadow: none; }
.aj-auth-gate-back { background: transparent; border: 0; color: #616a78; font-size: 11.5px; padding: 12px 8px 0; box-shadow: none; }
.aj-auth-gate-close:hover, .aj-auth-gate-close:focus, .aj-auth-gate-back:hover, .aj-auth-gate-back:focus { background: transparent; color: #616a78; box-shadow: none; }
body.aj-auth-dialog-open { overflow: hidden; }
.aj-auth-page :focus-visible, .aj-auth-gate :focus-visible { outline: 2px solid #1a3d74; outline-offset: 3px; }
@media (max-width: 900px) { .aj-auth-split { grid-template-columns: 1fr; } .aj-auth-panel { padding: 34px 28px; } .aj-auth-form-panel { padding: 30px 28px; } .aj-auth-intro p { max-width: 60ch; } }
@media (max-width: 540px) {
	.aj-auth-page { padding: 26px 18px 0; }
	.aj-auth-wrap { max-width: none; }
	.aj-auth-split { display: block; border: 0; border-top: 3px solid #1a3d74; border-radius: 0 0 12px 12px; box-shadow: 0 18px 40px -30px rgba(20,30,50,.4); }
	.aj-auth-panel { display: block; padding: 22px 18px 0; background: #fff; color: #2a3a4e; text-align: center; }
	.aj-auth-watermark { display: none; }
	.aj-auth-mark { width: 40px; height: 40px; margin: 0 auto 12px; background: transparent; }
	.aj-auth-mark img { width: 40px; height: 40px; }
	.aj-auth-panel h1 { color: #1a3d74; font-size: 24px; line-height: 1.2; }
	.aj-auth-intro p { max-width: none; margin: 7px 0 0; color: #74706a; font-size: 12.5px; line-height: 1.6; }
	.aj-auth-desktop-copy { display: none; }
	.aj-auth-mobile-copy { display: inline; }
	.aj-auth-form-panel { padding: 18px 18px 24px; }
	.aj-auth-tabs { margin-bottom: 16px; padding: 3px; border: 1px solid #dfe3ea; border-radius: 7px; background: #e9edf4; }
	.aj-auth-tabs a { min-height: 44px; padding: 13px 8px; border-radius: 5px; font-size: 11.5px; letter-spacing: .05em; text-transform: uppercase; }
	.aj-auth-field { margin-bottom: 11px; }
	.aj-auth-field label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
	.aj-auth-field-head { display: block; }
	.aj-auth-field-head a { display: none; }
	.aj-auth-field input { min-height: 46px; padding: 11px 14px !important; background: #fff; border-radius: 6px; font-size: 15px; }
	.aj-auth-password input { padding-right: 58px !important; }
	.aj-auth-remember, .aj-auth-or, .aj-auth-google, .aj-auth-provider-note, .aj-auth-switch, .aj-auth-policy, .aj-auth-back { display: none; }
	.aj-auth-page .aj-auth-submit { min-height: 50px; margin-top: 14px; border-radius: 6px; font-size: 0; box-shadow: 0 2px 8px rgba(192,57,43,.3); }
	.aj-auth-page .aj-auth-submit::after { font-size: 12px; }
	.aj-auth-mode-login .aj-auth-submit::after { content: 'Sign in'; }
	.aj-auth-mode-register .aj-auth-submit::after { content: 'Create my account'; }
	.aj-auth-mode-forgot .aj-auth-submit::after { content: 'Send reset link'; }
	.aj-auth-mode-reset .aj-auth-submit::after { content: 'Save new password'; }
	.aj-auth-mobile-forgot { display: block; margin: 13px 0 0; text-align: center; }
	.aj-auth-mobile-forgot a { color: #616a78; font-size: 12px; font-weight: 600; }
	.aj-auth-next { margin-top: 13px; margin-bottom: 0; padding: 10px 12px; background: #fbf4e2; border-color: #e0c98a; }
	.aj-auth-next > div { justify-content: center; }
	.aj-auth-next > div > span, .aj-auth-next p { display: none; }
	.aj-auth-next b { color: #6b5410; font: 700 11.5px/1.4 var(--aj-font-sans); text-transform: none; }
	.aj-auth-mobile-benefits { display: block; padding: 24px 0 8px; }
	.aj-auth-mobile-benefits > h2 { margin: 0; color: #c33d29; font: 700 9.5px/1.5 var(--aj-font-mono); letter-spacing: .16em; text-align: center; text-transform: uppercase; }
	.aj-auth-benefit-list { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
	.aj-auth-benefit { display: flex; gap: 13px; align-items: flex-start; margin: 0; padding: 15px 16px; background: #fff; border: 1px solid #dfe3ea; border-radius: 12px; }
	.aj-auth-benefit-icon { display: flex; width: 34px; height: 34px; flex: 0 0 34px; align-items: center; justify-content: center; border-radius: 8px; }
	.aj-auth-benefit-icon.is-teal { color: #0c7180; background: rgba(12,113,128,.1); }
	.aj-auth-benefit-icon.is-gold { background: rgba(143,107,33,.12); }
	.aj-auth-benefit-icon.is-blue { color: #1a3d74; background: rgba(26,61,116,.1); }
	.aj-auth-benefit h3 { margin: 0; color: #1a3d74; font: 500 16.5px/1.2 var(--aj-font-serif); }
	.aj-auth-benefit p { margin: 3px 0 0; color: #474f5c; font-size: 12.5px; line-height: 1.55; }
	.aj-auth-benefits-note { margin: 12px 0 0; color: #616a79; font-size: 11.5px; line-height: 1.6; text-align: center; }
	.aj-auth-preview { display: none; }
	.aj-auth-gate { padding: 34px 24px 24px; width: calc(100% - 32px); }
}
@media (prefers-reduced-motion: reduce) { .aj-auth-page *, .aj-auth-gate * { transition: none !important; animation: none !important; } }
@media (max-width: 540px) { .aj-auth-preview { display: none; } }
