:root { --ink: #0b3b42; --teal: #11717c; --teal-dark: #0c5a63; --mist: #f2f7f7; --line: #d5e3e4; }
body {
    font-family: 'Figtree', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    background: var(--mist); color: #26414a; min-height: 100vh;
    display: grid; place-items: center; padding: 1.25rem;
}
.auth-card { width: 100%; max-width: 420px; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 2rem; }
.auth-logo { display: block; width: 72px; height: 72px; object-fit: contain; margin: 0 auto 1rem; }
.auth-card h1 { font-family: 'Source Serif 4', Georgia, serif; font-weight: 600; font-size: 1.5rem; color: var(--ink); text-align: center; margin-bottom: .35rem; }
.auth-sub { text-align: center; color: #506a73; font-size: .95rem; margin-bottom: 1.5rem; }
.form-label { font-weight: 600; color: var(--ink); font-size: .92rem; }
.form-control { border-radius: 6px; border-color: #bfd2d4; padding: .7rem .9rem; }
.form-control:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(17, 113, 124, .16); }
.btn-brand { background: var(--teal); border: 1px solid var(--teal); color: #fff; border-radius: 6px; font-weight: 600; padding: .75rem 1rem; width: 100%; min-height: 46px; }
.btn-brand:hover { background: var(--teal-dark); border-color: var(--teal-dark); color: #fff; }
.notice { border-left: 4px solid #b3261e; background: #fbeeed; color: #7a1a15; padding: .8rem 1rem; border-radius: 6px; margin-bottom: 1rem; }
.notice-ok { border-left-color: #2f7a39; background: #eef7ef; color: #1f4d27; }
.auth-back { display: block; text-align: center; margin-top: 1.25rem; font-size: .92rem; color: var(--teal); }
:focus-visible { outline: 3px solid rgba(17, 113, 124, .45); outline-offset: 2px; }
