.account-main { margin-top: 2rem; }
.account-card { max-width: 900px; margin: 0 auto; }
.account-card-narrow { max-width: 590px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem 1.25rem; }
.form-field { margin-bottom: 1rem; }
.form-field-full { grid-column: 1 / -1; }
.form-field label { display:block; margin-bottom:.35rem; color:var(--navy); font-weight:700; }
.form-field input,.form-field select,.form-field textarea { width:100%; padding:.72rem .8rem; color:var(--ink); background:#fff; border:1px solid #aebdca; border-radius:7px; font:inherit; }
.password-input-wrap { position:relative; }
.password-input-wrap input { padding-right:3.4rem; }
.password-toggle { position:absolute; top:50%; right:.4rem; display:inline-flex; width:2.25rem; height:2.25rem; align-items:center; justify-content:center; padding:0; color:var(--blue); background:#fff; border:1px solid rgba(0,40,140,.45); border-radius:5px; cursor:pointer; transform:translateY(-50%); }
.password-toggle-icon { width:1.15rem; height:1.15rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.9; }
.password-toggle-icon-hide { display:none; }
.password-toggle[aria-pressed="true"] .password-toggle-icon-show { display:none; }
.password-toggle[aria-pressed="true"] .password-toggle-icon-hide { display:block; }
.password-toggle:hover { color:var(--navy-deep); background:rgba(0,220,220,.14); border-color:var(--turquoise-deep); }
.password-toggle:focus-visible { outline:3px solid rgba(0,220,220,.5); outline-offset:2px; }.form-field input:focus,.form-field select:focus,.form-field textarea:focus { outline:3px solid rgba(0,220,220,.25); border-color:var(--blue); }
.form-field input:user-invalid,.form-field select:user-invalid,.form-field textarea:user-invalid { border-color:#b42318; }
.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea,.checkbox-field.has-error { border-color:#b42318; }
.field-error { display:block; margin-top:.3rem; color:#b42318; font-weight:700; font-size:.9rem; }
.form-field small { display:block; margin-top:.3rem; color:var(--muted); }
.checkbox-field { padding:.75rem; border:1px solid transparent; border-radius:7px; }
.checkbox-field label { display:flex; gap:.6rem; align-items:flex-start; }
.checkbox-field input { width:auto; margin-top:.3rem; }
a { color:var(--blue); text-decoration-color:rgba(0,40,140,.42); text-underline-offset:.18em; }
a:visited { color:var(--blue); }
a:hover { color:var(--navy-light); text-decoration-color:var(--turquoise-deep); }
a:focus-visible,button:focus-visible { outline:3px solid var(--turquoise-deep); outline-offset:3px; border-radius:4px; }
.btn,.button { display:inline-flex; align-items:center; justify-content:center; gap:.35rem; max-width:100%; padding:.72rem 1.1rem; border:1px solid transparent; border-radius:7px; font:inherit; font-family:var(--font-primary); font-weight:800; line-height:1.2; text-align:center; text-decoration:none; cursor:pointer; transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease; }
.btn-primary,.button { color:var(--navy-deep); background:var(--turquoise); border-color:var(--turquoise); }
.btn-primary:visited,.button:visited { color:var(--navy-deep); }
.btn-primary:hover,.button:hover { color:var(--navy-deep); background:var(--turquoise-deep); border-color:var(--turquoise-deep); text-decoration:none; }
.btn-secondary,.button-secondary { color:#fff; background:var(--blue); border-color:var(--blue); }
.btn-secondary:visited,.button-secondary:visited { color:#fff; }
.btn-secondary:hover,.button-secondary:hover { color:#fff; background:var(--navy-light); border-color:var(--navy-light); text-decoration:none; }
.btn-outline { color:var(--blue); background:transparent; border-color:rgba(0,40,140,.55); }
.btn-outline:visited { color:var(--blue); }
.btn-outline:hover { color:var(--navy-deep); background:rgba(0,220,220,.14); border-color:var(--turquoise-deep); text-decoration:none; }
.btn-small { padding:.4rem .65rem; font-size:.88rem; }
.back-link { display:inline-flex; align-items:center; max-width:100%; margin-bottom:.45rem; padding:.38rem .68rem; color:var(--blue); background:#f5f9fb; border:1px solid var(--line); border-radius:999px; font-size:.9rem; font-weight:700; line-height:1.25; text-decoration:none; }
.back-link:visited { color:var(--blue); }
.back-link:hover { color:var(--navy-deep); background:rgba(0,220,220,.13); border-color:var(--turquoise-deep); text-decoration:none; }
.action-group { display:flex; align-items:center; flex-wrap:wrap; gap:.45rem; }
.table-title-link { font-weight:700; text-decoration-thickness:1px; }
.login-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem; }
.form-links { margin:1rem 0 0; }
.forgot-link { color:var(--muted); font-size:.92rem; font-weight:700; }
.forgot-link:visited { color:var(--muted); }
.forgot-link:hover { color:var(--blue); }
.alert { margin-bottom:1rem; padding:.8rem 1rem; border-radius:7px; }
.alert-success { color:#134e35; background:#e7f8ef; border:1px solid #70c99b; }
.alert-warning { color:#663c00; background:#fff4d6; border:1px solid #e2bd68; }
.alert-error { color:#7a271a; background:#fef3f2; border:1px solid #f19a8e; }
.account-nav { position:absolute; left:max(1.25rem,calc((100% - 1180px)/2)); top:calc(100% + .5rem); z-index:2; display:flex; padding:.1rem .3rem; background:var(--navy); border-radius:4px; align-items:center; gap:.8rem; flex-wrap:wrap; }
.account-nav a,.account-nav button { color:#fff; background:transparent; border:0; padding:.25rem; font:inherit; cursor:pointer; }
.account-nav a:hover,.account-nav button:hover { color:var(--turquoise); }
.account-nav form { margin:0; }
@media(max-width:720px){.form-grid{grid-template-columns:1fr}.form-field-full{grid-column:auto}.login-actions .btn{width:100%}.account-nav{font-size:.86rem}}

@media(max-width:390px){.account-nav{left:.75rem;gap:.15rem;font-size:.72rem;padding:.1rem}.account-nav a,.account-nav button{padding:.2rem .1rem}}
