/* The admin app's own blocks, which the design system has no component for. Role tokens only, like components.css. */

body { margin: 0; background: var(--background-app); }

/* ---------- Sign-in ---------- */
.admin-sign-in { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: var(--space-2xl) var(--space-md); }
.admin-sign-in__panel { width: 100%; max-width: 24rem; display: flex; flex-direction: column; gap: var(--space-lg); }
.admin-sign-in__brand { display: flex; align-items: center; gap: var(--space-xs); padding: 0 var(--space-2xs); }
.admin-sign-in__mark { width: 1.75rem; height: 1.75rem; flex: none; background: var(--background-brand-mark); color: var(--ink-on-dark); display: flex; align-items: center; justify-content: center; font-family: var(--font-mark); font-size: 1rem; }
.admin-sign-in__brand-text { display: flex; flex-direction: column; line-height: 1.2; }
.admin-sign-in__brand-name { font-size: .875rem; font-weight: 600; }
.admin-sign-in__brand-area { font-size: .75rem; color: var(--ink-hint); }
.admin-sign-in__error { margin: 0; color: var(--ink-danger); font-weight: 600; }


/* ---------- Alert ---------- */
/* an error that belongs to no field, such as a failed sign-out */
.admin-alert { margin: 0; color: var(--ink-danger); font-weight: 600; }
