.login-card .password-wrap{display:block;position:relative;width:100%}
.login-card .password-wrap input{padding-right:85px;width:100%}
.login-card .password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#596074;font:inherit;font-size:12px;padding:4px}
.login-card a.forgot-link{display:block;width:max-content;margin-left:auto}
.login-card .error-box{margin:12px 0;padding:10px;background:#fff1f1;border:1px solid #e99797;border-radius:8px;color:#983240;font-size:14px}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list details[open] summary svg{transform:rotate(180deg)}
.faq-list details [data-slot=accordion-content]{padding-bottom:22px}
.faq-list summary:focus-visible{outline:3px solid #849ff0;outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.landing-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.header-register{display:flex;align-items:center;justify-content:center;padding:10px 19px;border:1px solid #6544b7;border-radius:100px;background:#6544b7;color:#fff;font-size:14px;font-weight:650;white-space:nowrap}
.header-register:hover{background:#533393}
.school-resources{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;margin-top:32px;margin-bottom:24px;padding:18px 22px;border-radius:12px;background:#f4f4f5;color:#74747d;font-size:12px;line-height:1.6}
.school-resource-links{display:flex;flex-wrap:wrap;gap:8px 18px}
.school-resource-links a{text-decoration:underline;text-underline-offset:3px}
.school-resource-links a:hover{color:#3e3e48}
.registration-choice-page{min-height:100vh;background:#faf9fd}
.registration-choice{max-width:960px;padding-top:24px;padding-bottom:32px}
.registration-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.registration-role{display:flex;flex-direction:column;align-items:flex-start;padding:28px;border-radius:24px;border:1px solid #e5dcf2;background:#f1eafa;color:#30213e;box-shadow:0 12px 36px -24px #48377840}
.registration-role-parent{background:#edf5f1;border-color:#d5e7df}
.registration-role:hover{transform:translateY(-3px);box-shadow:0 16px 36px -20px #48377840}
.registration-role-art{display:block;width:100%;height:120px;object-fit:contain;margin-bottom:16px}
.registration-role h2{font-size:26px;line-height:1.3;letter-spacing:-.025em}
.registration-role h2 span{font-size:20px;font-weight:500;white-space:nowrap}
.registration-role p{margin-top:12px;line-height:1.6;color:#6e6578;max-width:280px}
.registration-role-next{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto;padding-top:24px;font-weight:650;font-size:14px}
@media(max-width:600px){
  .landing-header{gap:10px}
  .landing-page .landing-header .logo-crop{width:110px;height:32px}
  .landing-page .landing-header .brand-description{display:none}
  .landing-header-actions{gap:6px}
  .landing-page .landing-header-actions .header-login{display:flex;padding:8px 10px;font-size:12px}
  .header-register{padding:8px 11px;font-size:12px}
  .registration-choice{padding-top:24px;padding-bottom:48px}
  .registration-choice-grid{grid-template-columns:1fr;gap:16px;margin-top:28px}
  .registration-role{padding:26px}
  .registration-role-art{height:100px;margin-bottom:16px}
  .school-resources{padding:16px;margin-top:24px}
}
@media(prefers-reduced-motion:reduce){.registration-role:hover{transform:none}}

@media(min-width:761px) and (max-height:700px){.registration-choice{padding-top:16px;padding-bottom:20px}.registration-choice-grid{margin-top:20px}.registration-role{padding:24px}.registration-role-art{height:96px}}

.report-card-body{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:26px;margin-top:24px}
.report-audiences .report-card-body p{margin:0}
.report-preview{width:100%;margin:0;padding:5px 0}
.report-preview img{display:block;width:100%;height:auto;border:1px solid #e4e1eb;border-radius:5px;transform:rotate(-6deg);box-shadow:0 8px 18px #30213e20,0 2px 4px #30213e12}
.report-audiences article:nth-child(2) .report-preview img{transform:rotate(5deg)}
@media(max-width:1100px) and (min-width:701px){.report-card-body{grid-template-columns:110px minmax(0,1fr);gap:20px}}
@media(max-width:600px){.report-card-body{grid-template-columns:100px minmax(0,1fr);gap:18px;align-items:start}.report-preview{margin-top:7px}}
