/* Login + dashboard */
.auth { display: grid; place-items: center; padding: clamp(2rem, 8vw, 5rem) var(--gutter); background: radial-gradient(60rem 24rem at 50% -10%, #f2e5ea 0, transparent 70%), var(--ivory); }
.auth__card { width: 100%; max-width: 26rem; padding: clamp(1.5rem, 5vw, 2.5rem); }
.auth__logo { width: 8.5rem; margin-inline: auto; }
.auth__card h1 { margin-top: 1.5rem; font-size: 1.75rem; text-align: center; }
.auth__sub { margin-top: 0.5rem; color: var(--muted-foreground); font-size: 0.95rem; text-align: center; }
.auth__form { display: grid; gap: 1.1rem; margin-top: 1.75rem; }
.auth__form label { font-size: 0.875rem; font-weight: 600; }
.auth__error { padding: 0.7rem 0.9rem; border-radius: 0.7rem; background: #f8e6e6; color: var(--error); font-size: 0.875rem; }
.auth__form .btn-primary { width: 100%; min-height: 3rem; }
.auth__back { display: block; margin-top: 1.25rem; color: var(--muted-foreground); font-size: 0.875rem; text-align: center; }
.auth__back:hover { color: var(--burgundy); }
.dash { padding-block: clamp(2.5rem, 7vw, 4.5rem); }
.dash__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.dash__head h1 { margin-top: 0.75rem; }
.dash__head p { margin-top: 0.5rem; color: var(--muted-foreground); }
.dash__grid { display: grid; gap: 1.25rem; margin-top: 2rem; }
.dash__card { padding: 1.5rem; }
.dash__card h2 { font-size: 1.2rem; }
.dash__card p { margin-top: 0.6rem; color: var(--muted-foreground); font-size: 0.9rem; line-height: 1.6; }
.dash__link { display: inline-block; margin-top: 1.1rem; color: var(--burgundy); font-size: 0.9rem; font-weight: 700; }
@media (min-width: 768px) { .dash__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.auth { min-height: calc(100dvh - var(--header-h)); }
