.admin-main { display: flex; align-items: center; padding: var(--space-8) 0 var(--space-12); background: var(--color-brand-surface); }
.admin-content { width: min(100% - 2rem, 32rem); }
.admin-content > h1 { margin-bottom: var(--space-6); color: #fff; font-size: clamp(1.8rem, 5vw, 2.7rem); text-align: center; }
.admin-card { padding: clamp(1.25rem, 5vw, 2rem); background: var(--color-surface); border: 2px solid var(--color-brand); border-radius: 1.25rem; box-shadow: 0 .75rem 1.75rem rgba(1, 58, 91, .18); }
.admin-intro { margin: 0 0 var(--space-6); color: var(--color-palette-dark-1); text-align: center; }
.admin-form { display: grid; gap: var(--space-4); }
.admin-field { display: grid; gap: var(--space-2); }
.admin-field label { font-weight: 700; }
.admin-password-control { position: relative; }
.admin-field input { width: 100%; min-height: 3rem; padding: .625rem 3.75rem .625rem .75rem; color: var(--color-text); background: #fff; border: 2px solid var(--color-palette-light-2); border-radius: var(--radius-sm); font: inherit; }
.admin-field input:focus-visible { border-color: var(--color-brand); outline: 3px solid var(--color-focus-ring); outline-offset: 2px; }
.admin-password-toggle { position: absolute; top: 50%; right: .125rem; display: grid; width: 3rem; min-width: 3rem; height: 3rem; min-height: 3rem; padding: .625rem; color: var(--color-palette-dark-1); background: transparent; border: 0; border-radius: var(--radius-sm); cursor: pointer; place-items: center; transform: translateY(-50%); }
.admin-password-toggle:hover { color: var(--color-brand); background: var(--color-palette-light-2); }
.admin-password-toggle:focus-visible { outline: 3px solid var(--color-focus-ring); outline-offset: 1px; }
.admin-password-toggle svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.admin-eye-off { display: none; }
.admin-password-toggle.is-visible .admin-eye { display: none; }
.admin-password-toggle.is-visible .admin-eye-off { display: block; }
.admin-submit { min-height: 3rem; padding: .625rem 1.25rem; color: #fff; background: var(--color-brand); border: 2px solid var(--color-brand); border-radius: var(--radius-action); font: inherit; font-weight: 700; cursor: pointer; }
.admin-submit:hover { background: var(--color-palette-dark-1); border-color: var(--color-palette-dark-1); }
.admin-submit:focus-visible { outline: 3px solid var(--color-focus-ring); outline-offset: 3px; }
.admin-submit:disabled { cursor: wait; opacity: .7; }
.admin-error { margin: 0; color: #a11919; font-weight: 700; text-align: center; }
.admin-error[hidden] { display: none; }
@media (max-width: 30rem) { .admin-main { align-items: flex-start; padding-block: var(--space-6); } .admin-content { width: min(100% - 1rem, 32rem); } .admin-card { padding: var(--space-4); } }
