/* AttestEd account area: auth forms + student dashboard.
   Inherits design tokens from ../css/styles.css. */

.auth-wrap { max-width: 460px; margin: 3.5rem auto 4.5rem; padding: 0 1.2rem; }
.auth-card { background: #FFFFFF; border: 1px solid #E3E7EF; border-radius: 12px; padding: 2.2rem 2.4rem; }
.auth-card h1 { font-size: 1.8rem; color: var(--navy, #1F3352); margin-bottom: 0.3rem; }
.auth-card .sub { color: var(--gray, #5A6472); margin-bottom: 1.4rem; }

.f-row { margin-bottom: 1rem; }
.f-row label { display: block; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--navy, #1F3352); margin-bottom: 0.3rem; }
.f-row input, .f-row select {
  width: 100%; font-family: var(--serif, Garamond, serif); font-size: 1.02rem; color: #1B2940;
  padding: 0.55rem 0.7rem; border: 1px solid #C9CFDC; border-radius: 6px; background: #FFFFFF;
}
.f-row input:focus { outline: 2px solid #D8B95C; border-color: #D8B95C; }
.f-hint { font-size: 0.85rem; color: var(--gray, #5A6472); margin-top: 0.25rem; }

.auth-err { display: none; background: #F7EAE6; border: 1px solid #9E3B2C; color: #7A2E22;
  border-radius: 8px; padding: 0.6rem 0.9rem; margin-bottom: 1rem; font-size: 0.95rem; }
.auth-err.show { display: block; }

.auth-card .btn { width: 100%; text-align: center; margin-top: 0.4rem; }
.auth-alt { text-align: center; margin-top: 1.1rem; font-size: 0.97rem; color: var(--gray, #5A6472); }

/* ---------- dashboard ---------- */
.dash-wrap { max-width: 1020px; margin: 2.4rem auto 4.5rem; padding: 0 1.2rem; }
.dash-head { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap;
  gap: 0.6rem; margin-bottom: 1.6rem; }
.dash-head h1 { font-size: 2rem; color: var(--navy, #1F3352); }
.dash-head .signout { font-size: 0.95rem; }

.dash-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.3rem; }
@media (max-width: 820px) { .dash-grid { grid-template-columns: 1fr; } }

.dash-card { background: #FFFFFF; border: 1px solid #E3E7EF; border-radius: 12px; padding: 1.6rem 1.8rem; }
.dash-card h2 { font-size: 1.25rem; color: var(--navy, #1F3352); margin-bottom: 0.6rem; }
.dash-card.span2 { grid-column: 1 / -1; }

.launch-card { background: var(--ink, #0E1A2B); color: #FFFFFF; border: none; }
.launch-card h2 { color: #FFFFFF; }
.launch-card .eyebrow-sm { font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase;
  color: #D8B95C; font-weight: 700; }
.launch-card .count { font-size: 2.6rem; font-weight: 700; color: #D8B95C; line-height: 1.1; }
.launch-card p { color: #C8D3E2; }

.kv { display: grid; grid-template-columns: 9rem 1fr; row-gap: 0.45rem; font-size: 1rem; }
.kv dt { color: var(--gray, #5A6472); }
.kv dd { color: #1B2940; font-weight: 500; }

.status-chip { display: inline-block; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.05em;
  border-radius: 6px; padding: 0.25rem 0.7rem; }
.chip-ready { background: #E7F0EA; color: #2F5D4C; }
.chip-draft { background: #FBF3DC; color: #8A6A1B; }
.chip-none { background: #ECEFF4; color: #5A6472; }

.timeline { list-style: none; margin: 0.4rem 0 0; padding: 0; }
.timeline li { position: relative; padding: 0 0 1.1rem 1.6rem; border-left: 2px solid #E3E7EF; margin-left: 0.5rem; }
.timeline li:last-child { padding-bottom: 0; }
.timeline li::before { content: ""; position: absolute; left: -7px; top: 0.25rem; width: 12px; height: 12px;
  border-radius: 50%; background: #C9CFDC; }
.timeline li.done::before { background: #2F5D4C; }
.timeline li.next::before { background: #D8B95C; }
.timeline .t-title { font-weight: 600; color: var(--navy, #1F3352); }
.timeline .t-sub { font-size: 0.9rem; color: var(--gray, #5A6472); }

.dash-note { font-size: 0.9rem; color: var(--gray, #5A6472); margin-top: 1.4rem; }
