.account-page { min-height: 100vh; display: flex; flex-direction: column; }
.account-header { min-height: 90px; padding: 24px 36px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.account-brand { display: inline-flex; align-items: center; gap: 12px; font-size: 20px; }
.account-footer { margin-top: auto; text-align: center; padding: 24px; color: var(--muted); font-size: 13px; }
main.auth-surface { width: min(420px, calc(100% - 40px)); min-height: auto; margin: auto; padding: 24px 12px 36px; display: block; }
.auth-heading { margin-bottom: 28px; }
.auth-heading img { margin-bottom: 15px; }
.auth-heading h1 { font-size: 26px; }
.auth-heading p { margin-top: 6px; color: var(--muted); font-size: 14px; }
.account-form { display: grid; gap: 18px; }
.field { display: grid; gap: 8px; min-width: 0; }
.field label, .reset-row label { font-size: 14px; line-height: 1.6; }
.field input:not([type='checkbox']), .reset-row input { width: 100%; min-height: 46px; border: 1px solid #d7e2ef; background: rgba(255,255,255,.92); border-radius: 8px; padding: 10px 12px; font-size: 16px; min-width: 0; }
.field input:focus { border-color: var(--blue); outline: 2px solid #4a90e222; outline-offset: 1px; }
.field.check-field { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
input[type='checkbox'] { accent-color: var(--blue); width: 16px; height: 16px; }
.submit-button { width: 100%; min-height: 46px; border-radius: 8px; }
.account-hint { font-size: 13px; color: var(--muted); line-height: 1.7; }
.form-error, .field-error { color: #ab2e34; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.form-error { margin: 0 0 16px; padding: 10px 12px; background: #fff1f1; border-left: 3px solid #d77a80; }
.form-error ul, .field-error ul, .errorlist { list-style: none; padding: 0; margin: 0; }
.people-surface { width: min(1120px, 100%); min-height: auto; }
.people-list { border-top: 1px solid #d7e2ef; }
.person-row { display: grid; grid-template-columns: 150px minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 22px 0; border-bottom: 1px solid #d7e2ef; }
.person-identity { display: grid; gap: 6px; font-size: 14px; }
.person-identity span { color: var(--muted); font-size: 13px; }
.permissions-form { display: flex; align-items: center; gap: 10px; }
.permissions-form fieldset { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; min-width: 0; }
.permissions-form legend { margin-bottom: 8px; color: var(--muted); font-size: 12px; }
.permissions-form label, #id_modules label { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; }
.reset-row { grid-column: 2 / -1; font-size: 13px; color: var(--muted); }
.reset-row summary { cursor: pointer; }
.reset-row form { display: flex; align-items: flex-end; gap: 12px; padding-top: 12px; }
.reset-row label { display: grid; gap: 8px; flex: 1; }
.people-create { margin-top: 32px; border-top: 1px solid #d7e2ef; padding-top: 28px; }
.people-create .account-form { max-width: 430px; margin-top: 20px; }
#id_modules { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.logout-form { margin: 0; }
button:disabled { opacity: .6; cursor: wait; }
@media(max-width:700px) { .account-header { padding: 20px; } .account-brand { font-size: 18px; } .person-row { grid-template-columns: minmax(0,1fr) auto; } .permissions-form { grid-column: 1 / -1; grid-row: 2; } .reset-row { grid-column: 1 / -1; } }
