.onboarding{min-height:100vh;background:linear-gradient(180deg,#eef6ee,#f8f6ef 40%);padding:0 20px 36px}.onboarding-header{width:min(760px,100%);min-height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:var(--muted);font-size:.82rem}.mini-brand{font-size:1.1rem;font-weight:850;color:var(--ink)}.mini-brand b{color:var(--green)}.conversation-shell{width:min(680px,100%);margin:48px auto}.institution{display:flex;align-items:center;gap:12px;margin-bottom:24px}.institution-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--tenant-accent,var(--green));color:#fff;font-family:Georgia,serif;font-size:1.35rem}.institution small,.institution strong{display:block}.institution small{margin-bottom:3px;color:var(--muted)}.bubble{max-width:520px;padding:19px 22px;border:1px solid var(--line);border-radius:8px 22px 22px;background:var(--white);box-shadow:0 10px 30px rgba(17,45,40,.07);line-height:1.55}.bubble p{margin:0}.bubble p+p{margin-top:8px}.environment-notice{padding:12px 15px;border:1px solid #d6a941;border-radius:12px;background:#fff8dc;color:#70591b;font-size:.82rem;line-height:1.5}.answer-card{margin:24px 0 0 72px;padding:32px;border-radius:28px;background:var(--white);box-shadow:var(--shadow)}.step-label{color:var(--tenant-accent,var(--green));font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.13em}.answer-card h1{margin:10px 0 8px;font-size:clamp(1.65rem,5vw,2.35rem);letter-spacing:-.045em}.answer-card>p{margin:0 0 24px;color:var(--muted);line-height:1.55}.answer-card label:not(.consent){display:grid;gap:7px;margin-top:16px;color:var(--muted);font-size:.82rem;font-weight:700}.answer-card input{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit}.answer-card input:focus{outline:3px solid color-mix(in srgb,var(--tenant-accent,var(--green)) 22%,transparent);border-color:var(--tenant-accent,var(--green))}.answer-card>button,.primary-link{width:100%;min-height:52px;margin-top:22px;border:0;border-radius:999px;background:var(--tenant-accent,var(--green));color:#fff;font-weight:850;cursor:pointer}.answer-card>button:disabled{cursor:not-allowed;opacity:.45}.answer-card .link-button{margin-top:10px;background:transparent;color:var(--green)}.code-input{font-size:1.5rem!important;letter-spacing:.35em;text-align:center}.quick-values{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.quick-values .choice{min-height:42px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--green);font-weight:800}.review dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.review dl div{padding:14px;border-radius:12px;background:#f3f6f0}.review dt{color:var(--muted);font-size:.7rem}.review dd{margin:5px 0 0;font-weight:800}.review fieldset{border:0;padding:18px 0 0;border-top:1px solid var(--line)}.review legend{padding-top:20px;font-weight:850}.consent{display:flex;align-items:flex-start;gap:12px;margin-top:16px;cursor:pointer}.consent input{width:20px;height:20px;min-height:0;margin-top:2px}.consent small,.consent span,.consent strong{display:block}.consent small{margin-top:4px;color:var(--muted);line-height:1.4}.done{text-align:center}.success-mark{display:grid;place-items:center;width:64px;height:64px;margin:auto;border-radius:50%;background:var(--mint);color:var(--green);font-size:2rem}.primary-link{display:flex}.form-error{margin:14px 0 0 72px;padding:14px 16px;border-radius:12px;background:#fdebe7;color:#8a2f25}.onboarding-footer{text-align:center;color:var(--muted);font-size:.75rem}@media(max-width:620px){.conversation-shell{margin-top:28px}.answer-card,.form-error{margin-left:0}.answer-card{padding:24px 20px}.quick-values{grid-template-columns:1fr 1fr}.review dl{grid-template-columns:1fr}.onboarding-header span{font-size:.72rem}}.transcript{display:grid;gap:12px}.bubble.assistant{margin-right:auto}.bubble.user{margin-left:auto;border-color:transparent;border-radius:22px 8px 22px 22px;background:var(--tenant-accent,var(--green));color:#fff}.current-question,.typing-bubble{margin-top:12px}.typing-bubble{display:flex;align-items:center;gap:6px;width:74px;padding:16px 20px}.typing-bubble i{width:8px;height:8px;border-radius:50%;background:var(--muted);animation:typing-dot 1.15s ease-in-out infinite}.typing-bubble i:nth-child(2){animation-delay:.16s}.typing-bubble i:nth-child(3){animation-delay:.32s}.answer-card.compact{margin-top:12px;padding:22px 26px}.answer-card.compact label:first-child{margin-top:0}.answer-card textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;resize:vertical;background:#fff;color:var(--ink);font:inherit;line-height:1.5}.answer-card textarea:focus{outline:3px solid color-mix(in srgb,var(--tenant-accent,var(--green)) 22%,transparent);border-color:var(--tenant-accent,var(--green))}.field-help{margin-top:8px;font-weight:500;line-height:1.45}.character-count,.field-help{display:block;color:var(--muted)}.character-count{margin-top:6px;font-size:.72rem;text-align:right}.selection-confirmation{margin:12px 0 0!important;padding:10px 12px;border-radius:10px;background:#f3f6f0;color:var(--green)!important;font-size:.82rem}.journey-access-link{margin-top:16px;font-size:.82rem;font-weight:750}.institution-avatar.has-logo{width:64px;height:64px;flex:0 0 64px;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:#fff}.institution-avatar.has-logo img{display:block;width:100%;height:100%;padding:7px;object-fit:contain}.done p+p{margin-top:10px}@keyframes typing-dot{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.typing-bubble i{animation:none;opacity:.7}}@media(max-width:620px){.bubble{max-width:90%;padding:15px 17px}.answer-card.compact{padding:20px 18px}.conversation-shell{margin-bottom:24px}}.journey-access-link{display:block;margin-top:18px;color:var(--green);font-size:.84rem;font-weight:800;text-align:center}.stacked-choices{display:grid;gap:10px}.option-grid .choice,.stacked-choices button{min-height:48px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--green);font:inherit;font-weight:800;cursor:pointer}.stacked-choices button:first-child{border-color:transparent;background:var(--tenant-accent,var(--green));color:#fff}.stacked-choices .link-button{border:0;background:transparent}.option-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.due-options{grid-template-columns:repeat(5,1fr)}.option-grid .choice.selected{border-color:var(--tenant-accent,var(--green));background:color-mix(in srgb,var(--tenant-accent,var(--green)) 12%,#fff);box-shadow:inset 0 0 0 2px var(--tenant-accent,var(--green))}.portal-intro .primary-link{margin-top:0}.sign-off{margin-top:24px!important;color:var(--ink)!important}.answer-card.compact>button.link-button{background:transparent;color:var(--green)}@media(max-width:620px){.due-options,.option-grid{grid-template-columns:1fr 1fr}.institution{align-items:center}}.attachment-field{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px}.attachment-title{grid-column:1/-1;color:var(--muted);font-size:.82rem;font-weight:700}.attachment-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:46px;margin:0!important;padding:10px 18px;border:1px solid var(--tenant-accent,var(--green));border-radius:999px;background:#fff;color:var(--tenant-accent,var(--green))!important;font-weight:850!important;cursor:pointer}.attachment-button input{position:absolute;width:1px!important;height:1px;min-height:0!important;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.attachment-button:focus-within{outline:3px solid color-mix(in srgb,var(--tenant-accent,var(--green)) 22%,transparent)}.attachment-name{min-width:0;color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}.profile-photo-preview{display:block;width:96px;height:96px;margin:0 auto 18px;border:2px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--line),0 8px 20px rgba(17,45,40,.12)}.profile-review{margin-top:12px}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.profile-fields label:first-child{grid-column:1/-1}.profile-review>.field-help{margin:14px 0 18px}.profile-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.profile-summary dl div{min-width:0;padding:13px 14px;border-radius:12px;background:#f3f6f0}.profile-summary dt{color:var(--muted);font-size:.7rem}.profile-summary dd{margin:5px 0 0;font-weight:800;overflow-wrap:anywhere}@media(max-width:620px){.profile-fields,.profile-summary dl{grid-template-columns:1fr}.profile-fields label:first-child{grid-column:auto}.attachment-field{grid-template-columns:1fr}.attachment-button{width:100%}.attachment-name{text-align:center}}.onboarding{width:100%;overflow-x:clip}.conversation-shell{min-width:0}.answer-card input,.answer-card textarea{font-family:inherit;font-size:16px;line-height:1.45}.consent-review>p{margin-bottom:4px}.consent-review .consent{min-height:64px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.consent-review .consent:has(input:checked){border-color:var(--tenant-accent,var(--green));background:color-mix(in srgb,var(--tenant-accent,var(--green)) 8%,#fff)}.consent-review .consent input{width:24px;height:24px;flex:0 0 24px;accent-color:var(--tenant-accent,var(--green))}.completion-sequence{display:grid;gap:14px;margin-top:18px}.completion-copy{max-width:100%}.completion-heart{width:max-content;padding:14px 20px;font-size:1.5rem}.completion-actions{margin-top:0}.completion-actions .primary-link{align-items:center;justify-content:center;min-width:0;margin-top:0;padding:14px 22px;line-height:1.25;text-align:center;white-space:normal;overflow-wrap:anywhere}.conversation-closed{margin:18px 0 0!important;color:var(--muted)!important;font-size:.82rem;text-align:center}.consent-review .link-button,.contribution-review .link-button{background:transparent;color:var(--green)}@media(max-width:620px){.onboarding{padding-inline:12px}}