/* Account screens share the paper palette and controls with Memento. */
.account-page .auth-shell { min-height: calc(100svh - 240px); padding-block: 64px; }
.account-page .auth-card { max-width: 480px; border-top: 0; padding: 24px; }
.account-page .auth-card-wide { max-width: 600px; }
.account-page .auth-card h1 { font-size: clamp(2rem, 4vw, 2.75rem); line-height: 1.12; letter-spacing: -.035em; margin-bottom: 18px; }
.account-page .auth-sub { line-height: 1.65; }
.account-page .auth-back { margin-bottom: 28px; }
.account-page .auth-form input { min-height: 48px; }
.account-page .auth-footnote { font-size: .8125rem; line-height: 1.6; margin-top: 24px; }
.account-page .app-shell { padding-block: 48px 72px; }
.account-page .pane-header h1 { font-size: clamp(2.25rem, 5vw, 3rem); letter-spacing: -.04em; }
.account-page .profile-rail { background: transparent; border: 0; padding: 0; }
.account-page .profile-rail nav { gap: 8px; }
.account-page .rail-item { padding: 12px 16px; border-radius: 10px; }
.account-page .rail-item.is-active { color: #B61D55; }
.account-page .pcard-head { border-bottom: 0; padding: 24px 0 8px; }
.account-page .pcard-head h2 { color: var(--on-surface); font-size: 1.125rem; text-transform: none; letter-spacing: -.02em; }
.account-page .pcard-body { padding: 12px 0 28px; gap: 18px; }
.account-page .pcard-actions { gap: 16px; padding-bottom: 4px; }
.account-page .form-grid { gap: 20px; max-width: 560px; }
.account-page .form-grid input { min-height: 48px; }
.account-page .form-grid input:disabled { color: var(--on-surface-variant); opacity: 1; background: var(--surface-container-low); }
.account-page .usage-grid strong { font: 2rem Georgia, serif; margin-bottom: 8px; }
.account-page .pcard-warn, .account-page .pcard-danger { padding-inline: 20px; border-radius: 12px; }
.account-page .pcard-warn .pcard-body { background: transparent; }
.account-page .pcard-danger { background: var(--error-container); }
/* Google's pre-approved artwork stays unmodified, including its type and logo.
   Source: https://developers.google.com/identity/branding-guidelines */
.google-sign-in { display: flex; width: fit-content; margin-inline: auto; border-radius: 4px; }
.google-sign-in img { display: block; width: 180px; height: 40px; }
.google-sign-in:focus-visible { outline: 2px solid #1F1F1F; outline-offset: 4px; }
.google-sign-in:hover { box-shadow: 0 1px 4px #1F1F1F30; }
@media (max-width: 959px) {
  .account-page .app-shell { padding-block: 24px 48px; }
  .account-page .profile-rail nav { flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 600px) {
  .account-page .auth-shell { padding: 32px 20px 48px; }
  .account-page .auth-card { padding: 16px 0; }
  .account-page .usage-grid { grid-template-columns: 1fr; gap: 24px; }
}

.student-profile-page {
  --td-line: var(--outline-variant);
  --td-muted: var(--on-surface-variant);
  --td-ink: var(--on-surface);
  --td-soft: var(--surface-container-low);
}
.student-profile-main { max-width: 960px; margin: 0 auto; padding: 48px 32px 72px; }
.student-profile-main .auth-back { display: inline-block; }
.student-profile-main .td-page-header { margin-bottom: 32px; }
.student-profile-main h1 { font: 500 clamp(36px, 4vw, 56px)/1.15 Georgia, serif; margin: 0 0 12px; }
.student-profile-main .td-page-header p { color: var(--td-muted); line-height: 1.6; }
.student-profile-main .pilot-profile-form > label { font-size: 14px; }
.student-profile-main .pilot-profile-form > label input { min-height: 48px; font-size: 16px; }
.student-profile-main .pilot-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.student-profile-main .pilot-profile-photo p { font-size: 13px; line-height: 1.5; }
@media (max-width: 600px) {
  .student-profile-main { padding: 24px 20px 48px; }
  .student-profile-main .pilot-profile-photo { gap: 14px; }
  .student-profile-main .pilot-form-actions { flex-wrap: wrap; }
}
