.form-hero { min-height: 184px; }
.login-main { min-height: calc(100vh - 184px); padding: 34px 20px 110px; }
.login-card { width: min(100%, 430px); margin: 0 auto; padding: 24px 20px; background: rgba(255, 253, 248, .76); border: 1px solid var(--line); border-radius: 5px; }
.login-card h2 { margin: 0; color: var(--wood); font-family: "Yu Mincho", "Songti SC", serif; font-size: 21px; font-weight: 600; }
.login-card > p { margin: 7px 0 20px; color: #776d62; font-size: 11px; line-height: 1.8; }
.login-field { display: block; margin-top: 15px; color: var(--wood); font-size: 11px; }
.login-field input { display: block; width: 100%; height: 47px; margin-top: 6px; padding: 0 13px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 4px; outline: 0; font: inherit; }
.login-field input:focus { border-color: var(--wood-soft); box-shadow: 0 0 0 2px rgba(168, 121, 88, .1); }
.login-action { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; margin-top: 20px; color: var(--paper); background: var(--wood); border: 0; border-radius: 4px; text-decoration: none; font: inherit; font-size: 12px; cursor: pointer; }
.login-action:disabled { color: #aaa096; background: #ddd5ca; cursor: wait; }
.login-action--quiet { color: var(--wood); background: transparent; border: 1px solid var(--line); }
.login-status { min-height: 22px; margin: 10px 0 0; color: var(--red); text-align: center; font-size: 10px; }
.legacy-migration { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.legacy-migration h3 { margin: 0; color: var(--green); font-family: "Yu Mincho", serif; font-size: 15px; }
.legacy-migration p { margin: 6px 0 0; color: #776d62; font-size: 10px; line-height: 1.8; }
