@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20,400,0,0');

.header-cta{min-height:44px;padding:9px 17px;font-size:.86rem;white-space:nowrap}

.access-hero{background:linear-gradient(135deg,#f7f4ed 0%,#eef7f5 100%)}
.access-hero--account{min-height:calc(100dvh - 88px);padding:30px 0 52px}
.access-grid--single{display:block;width:min(calc(100% - 32px),560px);margin:0 auto}
.access-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(25px,4vw,38px);box-shadow:var(--shadow-sm)}
.access-card--account h1{font-size:clamp(2rem,4vw,2.75rem);line-height:1.08;margin:.18em 0 .7em}
.access-card--account .eyebrow{margin-bottom:10px}
.access-card--account .muted{margin-top:-8px;margin-bottom:22px}
.access-card [hidden]{display:none!important}
.google-button-wrap{display:flex;justify-content:center;min-height:44px;margin:18px 0 2px;overflow:hidden}
.access-divider{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.8rem;margin:20px 0}
.access-divider::before,.access-divider::after{content:"";height:1px;background:var(--line);flex:1}
.access-wide{width:100%;justify-content:center}
.access-card form{display:grid;gap:16px}
.access-card .field{display:grid;gap:7px;margin:0}
.access-card .field label{font-weight:750;color:var(--navy);font-size:.9rem}
.access-card .field input{width:100%;min-height:48px;border:1px solid #aebcbe;border-radius:8px;background:#fff;padding:10px 12px;color:var(--charcoal);font:inherit}
.access-card .field input:focus{outline:3px solid rgba(8,124,117,.23);outline-offset:2px;border-color:var(--teal)}
.access-card .field input:user-invalid,.access-card .field input[aria-invalid="true"]{border-color:var(--burgundy);background:#fffafa}
.access-card .field small{color:var(--muted);font-size:.78rem;line-height:1.45}
.field-error{display:flex;align-items:flex-start;gap:7px;color:var(--burgundy);font-size:.8rem;line-height:1.4;margin:0}
.field-error::before{content:"!";display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;font-size:.7rem;font-weight:850;margin-top:1px}
.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:18px}
.field-label-row a{font-size:.8rem;font-weight:700}
.check-field{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;color:var(--slate);font-size:.82rem;line-height:1.5}
.check-field input{width:18px;height:18px;margin-top:2px;accent-color:var(--teal)}
.access-switch,.access-legal{font-size:.84rem;color:var(--slate);text-align:center;margin:19px auto 0}
.access-legal{font-size:.78rem;margin-top:22px;max-width:46ch}
.text-button{appearance:none;border:0;background:none;padding:0;color:var(--teal);font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.text-button:focus-visible{outline:3px solid rgba(8,124,117,.3);outline-offset:4px;border-radius:3px}
.access-pending{display:grid;gap:5px;padding:14px;border:1px solid #d9b374;border-radius:10px;background:#fff7e9;color:#684015;margin:16px 0}
.access-pending span{font-size:.82rem}
.code-input{text-align:center;font-size:1.35rem!important;font-weight:800;letter-spacing:.34em;font-variant-numeric:tabular-nums}
.alert{margin-bottom:18px}
.access-card .button:disabled,.access-card .button[aria-disabled="true"]{background:#c9d2d2!important;border-color:#c9d2d2!important;color:#667575!important;opacity:1!important;cursor:not-allowed!important;box-shadow:none!important;transform:none!important;filter:none!important}

.resend-control{display:flex;align-items:center;justify-content:center;min-height:28px;margin:18px 0 4px}
.access-card form.resend-link-form{display:inline-flex;align-items:center;justify-content:center;gap:0;margin:0}
.resend-status{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin:0;color:var(--muted);font-size:.8rem;line-height:1.4;font-weight:400;text-align:center}
.resend-status strong{color:var(--slate);font-weight:600;font-variant-numeric:tabular-nums}
.material-symbols-rounded.resend-symbol{font-family:'Material Symbols Rounded';font-weight:400;font-style:normal;font-size:17px!important;line-height:1;width:17px!important;height:17px!important;max-width:17px!important;max-height:17px!important;display:inline-block!important;overflow:hidden;white-space:nowrap;word-wrap:normal;direction:ltr;letter-spacing:normal;text-transform:none;flex:0 0 17px;-webkit-font-feature-settings:'liga';font-feature-settings:'liga';-webkit-font-smoothing:antialiased}
.resend-text-action{appearance:none;border:0;background:transparent;padding:3px 2px;color:var(--teal);font:inherit;font-size:.82rem;font-weight:600;line-height:1.3;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none}
.resend-text-action:hover{text-decoration:underline;text-underline-offset:3px}
.resend-text-action:focus-visible{outline:3px solid rgba(8,124,117,.28);outline-offset:4px;border-radius:4px}

.dashboard-hero{background:linear-gradient(135deg,var(--navy) 0%,#174a57 100%);color:white}
.dashboard-hero__inner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:clamp(50px,7vw,78px)}
.dashboard-identity{display:flex;align-items:center;gap:24px}
.dashboard-identity h1{color:white;font-size:clamp(2.5rem,4.5vw,4.4rem);margin-bottom:.18em}
.dashboard-identity .lede{color:#d7e8e8;margin:0}
.dashboard-avatar{width:92px;height:92px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.32);background:white}
.dashboard-avatar--initial{display:grid;place-items:center;color:var(--navy);font-family:var(--display);font-size:2.4rem;font-weight:700}
.dashboard-account{display:grid;justify-items:end;gap:10px;font-size:.86rem;color:#d1e2e4}
.dashboard-account .status{background:white;color:var(--navy)}
.dashboard-shell{display:grid;gap:64px;padding-block:54px 96px}
.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:-82px;position:relative}
.dashboard-stat{padding:24px;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm)}
.dashboard-stat strong{display:block;color:var(--navy);font-family:var(--display);font-size:2.5rem;line-height:1;margin-bottom:8px}
.dashboard-stat span{font-size:.84rem;color:var(--slate)}
.dashboard-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dashboard-action{display:flex;flex-direction:column;gap:7px;min-height:178px;padding:23px;border:1px solid var(--line);border-radius:15px;background:white;color:var(--navy);text-decoration:none;transition:.18s ease}
.dashboard-action:hover{transform:translateY(-2px);border-color:var(--teal);box-shadow:var(--shadow-sm)}
.dashboard-action>span{color:var(--teal);font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.11em}
.dashboard-action strong{font-family:var(--display);font-size:1.3rem;line-height:1.2}
.dashboard-action small{margin-top:auto;color:var(--slate);font-size:.84rem;line-height:1.5}
.dashboard-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dashboard-panel{padding:28px;background:white;border:1px solid var(--line);border-radius:17px}
.dashboard-panel__heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px}
.dashboard-panel h2{font-size:clamp(1.7rem,2.8vw,2.25rem);margin-bottom:0}
.dashboard-list{display:grid;border-top:1px solid var(--line)}
.dashboard-list>a,.dashboard-list__item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.dashboard-list>a:hover strong{color:var(--teal)}
.dashboard-list strong{display:block;color:var(--navy);font-size:.94rem}
.dashboard-list span:not(.status):not(.points){display:block;color:var(--muted);font-size:.79rem;margin-top:3px}
.dashboard-empty{padding:30px 20px;border:1px dashed #a9bdb8;border-radius:12px;background:var(--soft-2);text-align:center}
.dashboard-empty h3{font-size:1.25rem}.dashboard-empty p{margin-inline:auto;color:var(--slate);font-size:.9rem}
.points{font-weight:850;color:var(--success)}
.dashboard-profile-card dl{display:grid;gap:0;margin:22px 0}
.dashboard-profile-card dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}
.dashboard-profile-card dt{color:var(--muted)}.dashboard-profile-card dd{margin:0;color:var(--navy);font-weight:750;text-align:right}

@media(max-width:1120px){.dashboard-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.dashboard-hero__inner,.dashboard-identity{align-items:flex-start}.dashboard-hero__inner{flex-direction:column}.dashboard-account{justify-items:start}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:-60px}.dashboard-columns{grid-template-columns:1fr}.dashboard-panel__heading{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.access-hero--account{padding-top:18px}.access-grid--single{width:min(calc(100% - 22px),560px)}.access-card{padding:23px 18px;border-radius:13px}.access-card--account h1{font-size:2rem}.field-label-row{align-items:flex-start;flex-direction:column;gap:2px}.resend-status{align-items:flex-start;text-align:left}.dashboard-identity{flex-direction:column}.dashboard-avatar{width:76px;height:76px}.dashboard-stats,.dashboard-action-grid{grid-template-columns:1fr}.dashboard-stats{margin-top:-42px}.dashboard-shell{gap:48px}.dashboard-panel{padding:22px 18px}.dashboard-list>a,.dashboard-list__item{align-items:flex-start;flex-direction:column}.dashboard-list .status,.dashboard-list .points{align-self:flex-start}}
