@charset "UTF-8";
:root{font-family:"Segoe UI",Arial,sans-serif;color:#f1ecfc;background:#141328;font-size:16px;line-height:1.65;--ink:#2a2440;--muted:#686077;--violet:#6541aa;--mint:#b8efd9;--paper:#f6f2fb;--line:#dfd7ea}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 5% 6%,#55336188,transparent 48%),radial-gradient(ellipse at 98% 34%,#194b5c66,transparent 48%),linear-gradient(150deg,#201a37,#111729 70%,#20213c);background-attachment:fixed}a{color:#caeee6;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:white}header{display:flex;align-items:center;justify-content:space-between;padding:26px max(calc((100vw - 1160px)/2),24px);border-bottom:1px solid #ffffff14;gap:20px}.brand{font-size:35px;font-weight:650;letter-spacing:-1.7px;line-height:1;text-decoration:none;color:#f3edfd}.brand span{display:block;font-size:11px;font-weight:400;letter-spacing:1.3px;margin-top:12px;color:#c3b7d5}header form{margin:0}header .secondary{border:1px solid #ffffff29;background:transparent;color:#e6dbf5;font-size:13px;border-radius:24px}nav{max-width:1160px;margin:20px auto 0;display:flex;gap:8px;flex-wrap:wrap;padding:0 24px;align-items:center}nav a{font-size:14px;color:#c6bdd5;text-decoration:none;padding:8px 14px;border-radius:24px}nav a:hover,nav a[aria-current=page]{background:#ffffff10;color:#fff}main{max-width:1160px;margin:48px auto;padding:0 24px;min-height:56vh}h1,h2,h3{font-family:"Palatino Linotype",Palatino,Georgia,serif;font-weight:400}h1{font-size:clamp(34px,4.2vw,52px);line-height:1.13;letter-spacing:-1.3px;margin:10px 0 20px;text-wrap:balance}h2{font-size:28px;line-height:1.3;margin:10px 0 18px}h3{font-size:23px;line-height:1.3;margin:8px 0}h1 em{font-weight:400;color:#c8b8f5}p{margin:12px 0 20px;overflow-wrap:anywhere}.heading{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:28px}.heading>div{min-width:0}.heading>div>p:last-child{color:#c4bdd2}.eyebrow{font-family:"Segoe UI",Arial,sans-serif;font-size:10px;font-weight:650;letter-spacing:2px;text-transform:uppercase;color:#b4d8d4;margin-bottom:12px}.card{border:1px solid #ffffff55;border-radius:24px;background:linear-gradient(135deg,#fbf8ff,#f0edf7);color:var(--ink);padding:34px;margin:24px 0;box-shadow:0 16px 45px #08051920;overflow-wrap:anywhere}.card a{color:#6541a4}.card a:hover{color:#3b266b}.card .eyebrow{color:#725393}.card .heading>div>p:last-child{color:var(--muted)}.card h1 em{color:var(--violet)}.narrow{max-width:680px;margin:28px auto}.stat{display:flex;align-items:center;gap:24px;background:linear-gradient(115deg,#67439788,#27596577);border:1px solid #ffffff20;padding:22px 30px;border-radius:22px;max-width:370px}.stat strong{font-size:46px;font-family:Georgia,serif;font-weight:400;line-height:1.3}.stat span{font-size:14px;color:#dfd8ef}.record{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.record:last-child{border:0}.record a{font-size:20px;text-decoration:none;font-weight:600;overflow-wrap:anywhere}.record p{font-size:13px;margin:5px 0}.badge{background:#e8dff4;color:#584077;border:1px solid #dcd1ec;border-radius:24px;padding:6px 13px;font-size:12px;white-space:nowrap}.empty{padding:28px 0 36px;max-width:650px}.empty-symbol{font-size:42px;color:#a381bf}.muted,footer{color:#c0b6d0;font-size:13px}.card .muted{color:var(--muted)}label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}input,select,textarea{font:inherit;color:var(--ink);border:1px solid #c9bed9;border-radius:12px;background:#fffdfd;padding:13px 15px;width:100%;min-height:48px;transition:border-color .15s}textarea{resize:vertical;line-height:1.6}input:hover,select:hover,textarea:hover{border-color:#9781b5}input:focus,select:focus,textarea:focus{border-color:var(--violet)}input[type=checkbox]{width:19px;height:19px;min-height:19px;flex:0 0 19px;accent-color:var(--violet);margin:4px 0 0}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:28px;background:linear-gradient(110deg,#b6edda,#c8c0f2);color:#23243d;padding:13px 24px;font:inherit;font-size:14px;font-weight:650;text-decoration:none;cursor:pointer;min-height:48px;transition:filter .15s,box-shadow .15s}.card button,.card .button{background:linear-gradient(110deg,#6444a5,#435c91);color:white;box-shadow:0 6px 18px #6650901f}.card .button:hover{color:white}button:hover,.button:hover{filter:brightness(1.1);box-shadow:0 6px 22px #8f67bb30;color:#252139}.card button:hover{color:white}.card .secondary,.secondary{background:#e9e3f1;color:#55416d;box-shadow:none}.card .secondary:hover{color:#352541}.card form+form{margin-top:18px}:focus-visible{outline:3px solid #bd8a31;outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.55}.helptext{font-size:12px;color:var(--muted);display:block;margin:0 0 10px}.errorlist{color:#7b253c;background:#ffeaf0;border:1px solid #eec3cf;border-radius:14px;padding:16px 20px}.success{color:#184b3f;background:#d4f3e7;border:1px solid #a9d7c3;border-radius:14px;padding:16px 20px}.notice{padding:20px;background:#eae4f3;border-radius:16px;margin:22px 0}.check{display:flex;gap:12px;align-items:flex-start;font-weight:400;line-height:1.6}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}dt{font-size:12px;letter-spacing:.7px;color:var(--muted);margin-top:22px}dd{margin:5px 0;overflow-wrap:anywhere}footer{max-width:1160px;margin:60px auto 0;padding:28px 24px 36px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #ffffff15;font-size:11px;letter-spacing:1px}.footer-brand{font-size:23px;font-weight:600;letter-spacing:-1px;color:#d5c6e6}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:8px;background:#fff;color:#332447;padding:10px;z-index:10}.login-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:76px;align-items:center;padding:20px 0}.login-grid .card{position:relative;z-index:1;padding:40px}.welcome{position:relative;min-height:510px;isolation:isolate}.welcome h1{font-size:clamp(46px,5.5vw,73px);line-height:1.06;letter-spacing:-2.5px}.welcome>p{max-width:360px;color:#d3c7e2;font-size:15px}.welcome>.eyebrow{font-size:10px;color:#b5dfd2;margin-top:10px}.welcome .muted{font-size:12px;position:relative;margin-top:190px;color:#aa9ebe}.aurora{position:absolute;left:0;top:180px;width:370px;height:330px;z-index:-1;pointer-events:none;opacity:.82}.aurora span{position:absolute;width:225px;height:225px;border-radius:50%;background:radial-gradient(circle at 65% 30%,#f0c9c299,#9473d3b0 33%,#464fc822 66%,transparent 72%);filter:blur(1px);mix-blend-mode:screen}.aurora span:nth-child(1){left:5px;top:80px;transform:rotate(-30deg)}.aurora span:nth-child(2){left:110px;top:40px;background:radial-gradient(circle at 40% 60%,#8cdfc270,#5cbabc88 30%,#6467c922 60%,transparent 70%)}.aurora span:nth-child(3){left:60px;top:105px;width:255px;height:170px;background:radial-gradient(ellipse at center,#dabfa780,#a763b060 35%,transparent 68%)}.aurora i{position:absolute;inset:64px 30px 10px;border:1px solid #dab3e533;border-radius:50%;transform:rotate(-38deg);box-shadow:0 0 45px #aa73ed18,inset 0 0 35px #b4a2f014}.full{width:100%}.divider{display:flex;align-items:center;gap:16px;margin:24px 0;color:#8e819f;font-size:12px}.divider:before,.divider:after{content:"";height:1px;background:#ded5e8;flex:1}.invitation-note{font-size:11px;color:#796a8a;text-align:center;margin:24px 0 0;line-height:1.6}.invitation-note span{color:#9b7ab9;margin-right:5px}.stages{display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:10px;margin:24px 0;counter-reset:stage}.stages li{counter-increment:stage;border:1px solid #dcd4e6;background:#f7f3fa;padding:12px 16px;border-radius:16px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;max-width:100%}.stages li:before{content:counter(stage,decimal-leading-zero);font-size:10px;color:#8a75a0}.stages li.current{background:#e6ddf1;border-color:#ba9dd6;color:#4d3277}.stages small{display:block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;width:100%;padding-left:21px}.portal-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.portal-grid .card{margin:0 0 24px}.help-card{background:linear-gradient(140deg,#e8f2ec,#e1e6f2)}.help-card .eyebrow{color:#4c766c}.inline-form{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.inline-form p{flex:1;min-width:200px;margin-bottom:0}.inline-form button{margin-top:16px}details{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line)}summary{cursor:pointer;font-size:14px;font-weight:600;color:#664784;padding:8px 0}.secondary-details{margin-top:28px}.diary-entry{padding:22px 0;border-bottom:1px solid var(--line)}.diary-entry .heading{margin-bottom:12px}.diary-entry .heading p{margin:0}.diary-entry .preserve{margin-top:5px}.diary-entry p:has(strong){margin-bottom:0}.small-link{font-size:12px}.pagination{display:flex;justify-content:space-between;gap:20px;padding-top:20px}.pagination:empty{display:none}
@media(max-width:900px){.login-grid{gap:32px}.login-grid .card{padding:28px}.welcome h1{font-size:54px}.portal-grid{grid-template-columns:1fr}.aurora{width:320px}.welcome .muted{margin-top:175px}}
@media(max-width:680px){header{padding:22px 18px}.brand{font-size:29px}.brand span{font-size:9px;letter-spacing:.7px}header .secondary{padding:10px 15px;font-size:12px}nav{padding:0 10px;gap:0;margin-top:12px}nav a{padding:8px 10px;font-size:12px}main{margin:28px auto;padding:0 18px}.heading{align-items:flex-start;flex-direction:column;gap:14px}.card{padding:24px;border-radius:20px}.login-grid{grid-template-columns:1fr;gap:0;padding:0}.welcome{min-height:240px;padding:0 3px}.welcome h1{font-size:51px;max-width:350px}.welcome>p{font-size:14px;max-width:300px}.welcome .muted{display:none}.aurora{top:-20px;left:auto;right:-5px;width:250px;height:260px;opacity:.42;overflow:hidden}.aurora span{width:170px;height:170px}.login-grid .card{margin-top:12px;padding:28px}.record{align-items:flex-start;flex-direction:column;gap:10px}.stat{max-width:none}.inline-form{display:block}.diary-entry .heading{gap:8px}.stages li{width:100%}footer{padding:24px 18px;gap:12px;font-size:9px;margin-top:40px}.narrow{margin-top:20px}h1{font-size:37px}.portal-grid{gap:0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

blockquote{margin:24px 0;padding:18px 22px;border-left:3px solid #9678bc;border-radius:0 14px 14px 0;background:#eae3f3;font-size:18px;line-height:1.6}

.care-tabs{padding:0;margin:0 0 24px}.metrics{display:flex;flex-wrap:wrap;gap:16px}.metrics .stat{flex:1;min-width:210px}.card .inline-form input{min-width:0}.card .inline-form p{max-width:100%}
