:root { color-scheme: dark; --ink:#06090f; --panel:#0c131d; --paper:#f8fafc; --muted:#93a0ad; --blue:#3ba7ff; --line:rgba(255,255,255,.14); }
* { box-sizing:border-box; }
body { min-height:100vh; margin:0; background:var(--ink); color:var(--paper); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
[hidden] { display:none!important; }
.enrollment-header { height:78px; padding:0 32px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:13px; }
.brand>span { color:var(--blue); font-size:22px; font-weight:950; letter-spacing:-.07em; }
.brand strong { display:flex; flex-direction:column; font-size:12px; letter-spacing:.12em; line-height:1; }
.brand small { margin-top:5px; color:#687382; font-size:7px; letter-spacing:.25em; }
.secure-label,.eyebrow { color:var(--blue); font-size:8px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.enrollment-shell { width:min(1180px,calc(100vw - 48px)); margin:auto; padding:72px 0 90px; }
.state-panel { min-height:calc(100vh - 240px); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.state-panel h1,.enrollment-intro h1 { margin:18px 0 26px; font-size:clamp(58px,8vw,108px); line-height:.86; letter-spacing:-.075em; text-transform:uppercase; }
.state-panel h1 em,.enrollment-intro h1 em { color:var(--blue); font-family:Georgia,serif; font-weight:400; text-transform:none; }
.state-panel>p:not(.eyebrow) { max-width:600px; margin:0; color:var(--muted); line-height:1.7; }
.primary-action { display:inline-block; margin-top:28px; padding:16px 22px; border:0; background:var(--blue); color:#06101a; cursor:pointer; font-size:10px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.primary-action:disabled { cursor:not-allowed; opacity:.4; }
.secondary-action { margin-top:18px; color:var(--blue); font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.enrollment-intro { display:grid; grid-template-columns:1fr 350px; gap:62px; align-items:end; }
.enrollment-intro>div>p:last-child { max-width:650px; color:var(--muted); line-height:1.7; }
.offer-card { padding:28px; border:1px solid var(--line); background:linear-gradient(145deg,rgba(59,167,255,.09),transparent 60%); }
.offer-card h2 { margin:15px 0 8px; font-size:23px; letter-spacing:-.04em; text-transform:uppercase; }
.offer-card>strong { display:block; font-size:30px; color:var(--blue); }
.offer-card>span { display:block; margin-top:8px; color:var(--muted); font-size:10px; line-height:1.5; }
.offer-card dl { margin:24px 0 0; }
.offer-card dl div { padding:10px 0; display:flex; justify-content:space-between; border-top:1px solid var(--line); font-size:9px; }
.offer-card dd { margin:0; }
.offer-card dt { color:var(--muted); }
.canceled-banner,.setup-banner,.signer-banner { margin-top:38px; padding:15px 18px; border-left:2px solid var(--blue); background:rgba(59,167,255,.08); color:#b9c8d5; font-size:11px; line-height:1.6; }
.agreement-copy section { padding:0 0 28px; margin-bottom:28px; border-bottom:1px solid var(--line); }
.agreement-copy section:last-child { border-bottom:0; }
.agreement-copy h3 { margin:0 0 13px; font-size:14px; text-transform:uppercase; letter-spacing:.02em; }
.agreement-copy p { margin:0 0 12px; color:#9ba8b4; font-size:12px; line-height:1.75; }
.acceptance-panel { width:min(760px,100%); margin:72px auto 0; }
.acceptance-panel label { padding:18px 0; display:grid; grid-template-columns:20px 1fr; gap:14px; border-bottom:1px solid var(--line); color:#c4d0da; font-size:12px; line-height:1.6; }
.acceptance-panel input { width:18px; height:18px; accent-color:var(--blue); }
.consent-summary { margin-top:16px; border:1px solid rgba(59,167,255,.5); background:linear-gradient(145deg,rgba(59,167,255,.11),rgba(12,19,29,.72) 60%); }
.consent-summary>div { padding:22px 24px; display:flex; align-items:baseline; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.consent-summary>div strong { font-size:18px; letter-spacing:-.02em; text-transform:uppercase; }
.consent-summary>div span { color:#81909f; font-size:9px; }
.consent-summary dl { margin:0; display:grid; grid-template-columns:1fr 1fr; }
.consent-summary dl>div { min-height:104px; padding:20px 24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.consent-summary dl>div:nth-child(2n) { border-right:0; }
.consent-summary dt { margin-bottom:8px; color:#fff; font-size:11px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.consent-summary dd { margin:0; color:#9eabb8; font-size:10px; line-height:1.6; }
.consent-summary>p { margin:0; padding:22px 24px; color:#e8f4ff; font-size:10px; font-weight:800; line-height:1.65; letter-spacing:.015em; }
.master-acknowledgment { margin-top:14px; padding:22px 20px; display:grid; grid-template-columns:20px 1fr; gap:14px; border:1px solid var(--blue); background:rgba(59,167,255,.08); color:#fff; font-size:12px; font-weight:700; line-height:1.6; }
.master-acknowledgment>input { margin:2px 0 0; }
.master-acknowledgment p { margin:0; }
.master-acknowledgment label { display:inline; padding:0; border:0; color:inherit; font:inherit; cursor:pointer; }
.master-acknowledgment a,.inline-legal-link { padding:0; border:0; background:transparent; color:#74c1ff; cursor:pointer; font:inherit; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.agreement-dialog { width:min(920px,calc(100vw - 32px)); max-height:min(88vh,900px); padding:0; border:1px solid rgba(59,167,255,.5); background:#080e16; color:var(--paper); box-shadow:0 30px 120px rgba(0,0,0,.78); }
.agreement-dialog::backdrop { background:rgba(1,4,8,.82); backdrop-filter:blur(8px); }
.agreement-dialog-shell { max-height:inherit; overflow:auto; }
.agreement-dialog-header { position:sticky; top:0; z-index:2; padding:25px 28px; display:flex; align-items:start; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); background:rgba(8,14,22,.97); }
.agreement-dialog-header h2 { margin:9px 0 7px; font-size:clamp(25px,4vw,38px); line-height:.95; letter-spacing:-.05em; text-transform:uppercase; }
.agreement-dialog-header span { color:#718090; font-size:8px; letter-spacing:.1em; }
.dialog-close { padding:11px 14px; border:1px solid var(--line); background:transparent; color:#c7d1dc; cursor:pointer; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.agreement-dialog-scope { margin:28px 28px 0; padding:18px 20px; display:flex; align-items:baseline; justify-content:space-between; gap:24px; border-left:2px solid var(--blue); background:rgba(59,167,255,.08); }
.agreement-dialog-scope strong { font-size:11px; text-transform:uppercase; }
.agreement-dialog-scope span { max-width:540px; color:#9ba8b4; font-size:10px; line-height:1.6; }
.agreement-dialog .agreement-copy { padding:32px 28px 10px; }
.agreement-dialog-footer { position:sticky; bottom:0; padding:20px 28px; display:flex; justify-content:flex-end; gap:12px; border-top:1px solid var(--line); background:rgba(8,14,22,.97); }
.primary-dialog-action,.secondary-dialog-action { min-height:44px; padding:0 18px; cursor:pointer; font-size:9px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.primary-dialog-action { border:0; background:var(--blue); color:#06101a; }
.secondary-dialog-action { border:1px solid var(--line); background:transparent; color:#c7d1dc; }
.account-gate { margin:42px 0 28px; padding:30px; border:1px solid var(--line); background:linear-gradient(145deg,rgba(59,167,255,.1),rgba(12,19,29,.65) 62%); }
.account-gate-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.account-gate-heading h2 { margin:10px 0 0; font-size:28px; line-height:1.03; letter-spacing:-.05em; text-transform:uppercase; }
.account-gate-heading>span { color:#7f8e9d; font-size:8px; font-weight:900; letter-spacing:.13em; white-space:nowrap; }
.account-gate-copy { max-width:650px; margin:22px 0; color:#9eabb8; font-size:11px; line-height:1.7; }
.account-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.account-field { display:grid; gap:8px; }
.account-field label { display:block; padding:0; border:0; color:#9eabb8; font-size:8px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.account-field input { width:100%; height:52px; padding:0 15px; border:1px solid var(--line); border-radius:0; background:#08101a; color:var(--paper); outline:none; }
.account-field input:focus { border-color:var(--blue); box-shadow:0 0 0 1px var(--blue); }
.account-field input[readonly] { color:#7e8a96; cursor:not-allowed; }
.password-rules { display:flex; flex-wrap:wrap; gap:8px 18px; margin:16px 0 0; padding:0; list-style:none; color:#687787; font-size:9px; }
.password-rules li::before { content:'—'; margin-right:7px; color:#526170; }
.password-rules li.ok { color:#b8dfff; }
.password-rules li.ok::before { content:'✓'; color:var(--blue); }
.account-ready { margin:18px 0 0; padding:13px 15px; border-left:2px solid #54d68c; background:rgba(84,214,140,.08); color:#c9f2da; font-size:11px; line-height:1.5; }
.account-sign-in { margin:18px 0 0; padding:18px; border-left:2px solid var(--blue); background:rgba(59,167,255,.08); }
.account-sign-in strong { display:block; color:var(--paper); font-size:12px; text-transform:uppercase; }
.account-sign-in p { margin:8px 0 14px; color:#9eabb8; font-size:11px; line-height:1.6; }
.account-sign-in .secondary-action { display:inline-flex; min-height:42px; align-items:center; margin:0; padding:0 15px; border:1px solid rgba(59,167,255,.55); }
.turnstile { min-height:0; margin-top:20px; }
.acceptance-panel .primary-action { width:100%; }
.acceptance-panel>small { display:block; margin-top:14px; color:#667484; font-size:9px; line-height:1.5; text-align:center; }
.form-status { padding:12px 14px; background:rgba(219,74,74,.12); color:#ffb4b4; font-size:11px; }
.status-orbit { width:48px; height:48px; margin:28px 0 4px; border:2px solid rgba(59,167,255,.2); border-top-color:var(--blue); border-radius:50%; animation:spin 1s linear infinite; }
.welcome-panel { padding: 36px 0 20px; animation: welcome-in .5s ease both; }
.welcome-heading { display:grid; grid-template-columns:1fr 290px; gap:50px; align-items:end; padding-bottom:48px; border-bottom:1px solid var(--line); }
.welcome-heading h1 { margin:18px 0 0; font-size:clamp(60px,9vw,116px); line-height:.84; letter-spacing:-.075em; text-transform:uppercase; }
.welcome-heading h1 em { color:var(--blue); font-family:Georgia,serif; font-weight:400; text-transform:none; }
.welcome-confirmation { padding:22px; border:1px solid var(--line); display:grid; gap:9px; }
.welcome-confirmation small { color:var(--blue); font-size:8px; font-weight:900; letter-spacing:.13em; }
.welcome-confirmation strong { font-size:12px; }
.welcome-confirmation span { color:var(--muted); font-size:9px; line-height:1.5; }
.welcome-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.welcome-grid article { min-height:180px; padding:30px 28px; display:grid; grid-template-columns:40px 1fr; gap:16px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.welcome-grid article:last-child { border-right:0; }
.welcome-grid article>span { color:var(--blue); font-size:10px; font-weight:900; }
.welcome-grid strong { display:block; font-size:15px; text-transform:uppercase; letter-spacing:.02em; }
.welcome-grid p { margin:12px 0 0; color:var(--muted); font-size:11px; line-height:1.65; }
.welcome-actions { padding:36px 0; display:flex; align-items:center; gap:28px; }
.welcome-actions .primary-action { margin:0; flex:0 0 auto; }
.welcome-support { max-width:600px; display:grid; gap:12px; }
.welcome-actions p { margin:0; color:var(--muted); font-size:10px; line-height:1.6; }
.resend-action { width:max-content; margin:0; padding:0; border:0; background:transparent; cursor:pointer; }
.resend-action:disabled { cursor:wait; opacity:.45; }
.resend-status { color:#b8c7d5!important; }
@keyframes welcome-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@keyframes spin { to { transform:rotate(360deg); } }
@media (max-width:760px) {
  .enrollment-header { height:68px; padding:0 18px; }
  .secure-label { display:none; }
  .enrollment-shell { width:min(100% - 32px,620px); padding-top:48px; }
  .enrollment-intro { grid-template-columns:1fr; gap:34px; }
  .offer-card { padding:22px; }
  .account-gate { padding:24px 18px; }
  .account-gate-heading { align-items:start; flex-direction:column; }
  .account-fields { grid-template-columns:1fr; }
  .consent-summary>div { align-items:start; flex-direction:column; }
  .consent-summary dl { grid-template-columns:1fr; }
  .consent-summary dl>div { min-height:0; border-right:0; }
  .welcome-heading,.welcome-grid { grid-template-columns:1fr; }
  .welcome-confirmation { margin-top:24px; }
  .welcome-grid article { border-right:0; min-height:0; padding:26px 4px; }
  .welcome-actions { align-items:stretch; flex-direction:column; }
  .welcome-actions .primary-action { text-align:center; }
  .resend-action { min-height:44px; }
  .agreement-dialog-header,.agreement-dialog-scope,.agreement-dialog-footer { align-items:stretch; flex-direction:column; }
  .agreement-dialog-footer { flex-direction:column-reverse; }
  .agreement-dialog-footer button { width:100%; }
}
@media print {
  body.printing-agreement>*:not(.agreement-dialog) { display:none!important; }
  body.printing-agreement .agreement-dialog { position:static; width:100%; max-height:none; border:0; box-shadow:none; color:#111; background:#fff; }
  body.printing-agreement .agreement-dialog::backdrop,.printing-agreement .dialog-close,.printing-agreement .agreement-dialog-footer { display:none; }
  body.printing-agreement .agreement-dialog-shell { max-height:none; overflow:visible; }
  body.printing-agreement .agreement-dialog-header { position:static; color:#111; background:#fff; }
  body.printing-agreement .agreement-dialog-scope { color:#111; background:#f0f6fb; }
  body.printing-agreement .agreement-copy h3 { color:#111; }
  body.printing-agreement .agreement-copy p,.printing-agreement .agreement-dialog-scope span { color:#333; }
}
@media (prefers-reduced-motion:reduce) {
  .welcome-panel { animation:none; }
  .status-orbit { animation:none; }
}
