:root {
    color-scheme: light;
    font-family: Inter, Arial, sans-serif;
    color: var(--theme-text, #1c2733);
    background: var(--theme-surface-raised, #eef2f5);
}

* { box-sizing: border-box; }
.brand { display: flex; align-items: center; gap: 11px; color: inherit; font-size: 20px; font-weight: 700; text-decoration: none; }
.account-page { display: grid; min-width: 0; min-height: 100vh; place-items: center; padding: 24px; background: var(--theme-surface-raised, #eaf0f5); }
.account-card { width: min(100%, 420px); padding: 34px; border: 1px solid var(--theme-border, #d7e0e8); border-radius: 10px; background: var(--theme-surface, #fff); box-shadow: 0 12px 36px rgba(24, 44, 70, .11); }
.brand.dark { color: var(--theme-text, #172b4d); }
.account-card h1 { margin: 26px 0 8px; font-size: 24px; }
.account-card p { margin: 0 0 24px; color: var(--theme-muted, #687889); font-size: 14px; line-height: 1.5; }
.account-card form, .admin-card form { display: grid; gap: 8px; }
label { margin-top: 8px; color: var(--theme-text, #405161); font-size: 13px; font-weight: 700; }
input, select { width: 100%; padding: 10px 11px; border: 1px solid var(--theme-border, #bcc9d4); border-radius: 5px; color: var(--theme-text, #1d2c3a); background: var(--theme-surface, #fff); font: inherit; }
input:focus, select:focus { outline: 2px solid var(--theme-border, #9dcbf3); border-color: #1976bf; }
button:not(.link-button) { margin-top: 12px; padding: 11px 14px; border: 0; border-radius: 5px; color: #fff; background: #176eae; font: inherit; font-weight: 700; cursor: pointer; }
button:not(.link-button):hover { background: #0e5e98; }
.account-notice, .validation-message, .success-message { margin: 0 0 18px; padding: 10px 12px; border-radius: 5px; font-size: 13px; line-height: 1.4; }
.account-notice { color: var(--theme-danger-text, #604b00); background: var(--theme-warning-bg, #fff5d6); }
.validation-message { color: var(--theme-danger-text, #9f2830); background: var(--theme-surface-raised, #fff0f1); }
.validation-message:empty { display: none; }
.brand { flex-wrap: wrap; gap: 6px 10px; }
.brand span { color: var(--theme-muted, #687889); font-size: 1rem; overflow-wrap: anywhere; }
.brand .acs-badge { padding: 5px 9px; border-radius: 6px; background: #176eae; color: #fff; font-size: 14px; letter-spacing: 1px; }
.brand-description { margin-top: 9px; color: var(--theme-muted, #687889); font-size: 12px; letter-spacing: .6px; }
label { font-size: .875rem; }
.validation-summary-valid { display: none; }
.validation-message ul { padding-left: 18px; margin: 0; }
.link-button { background: transparent; font: inherit; cursor: pointer; }
@media (max-width: 480px) { .account-page { padding: 16px; } .account-card { padding: 24px; } }
