@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/vendor/noto-sans-latin-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/vendor/noto-sans-latin-500-normal.woff2') format('woff2');
}
:root { color: #28221f; background: #fbfaf8; font-family: "Noto Sans", system-ui, sans-serif; font-size: 14px; }
* { box-sizing: border-box; }
body { margin: 0; }
button, input { font: inherit; }
.login-page { min-height: 100svh; display: grid; grid-template-columns: minmax(0, 1fr); place-items: center; padding: 24px; }
.login-card { width: 360px; max-width: 100%; min-width: 0; padding: 32px; border: 1px solid #e7e2de; border-radius: 12px; background: white; }
.login-card h1 { text-align: center; font-size: 24px; font-weight: 500; letter-spacing: -.6px; margin: 0 0 27px; }
.login-form { display: flex; flex-direction: column; gap: 20px; }
label { display: flex; flex-direction: column; gap: 7px; font-size: 13px; font-weight: 500; }
.input { width: 100%; min-width: 0; height: 44px; padding: 10px 12px; border: 1px solid #ddd3ce; border-radius: 6px; background: white; color: #28221f; font-size: 14px; line-height: 1.4; font-weight: 400; }
.input:focus { outline: 2px solid #c65f42; outline-offset: 2px; }
.login-submit { width: 100%; height: 42px; border: 0; border-radius: 6px; color: white; background: #c65f42; font-size: 13px; font-weight: 500; cursor: pointer; }
.login-submit:hover { background: #a9442f; }
.login-submit:focus-visible { outline: 2px solid #a9442f; outline-offset: 3px; }
.login-submit:disabled { opacity: .65; cursor: wait; }
.login-error { margin: -4px 0; font-size: 13px; line-height: 1.5; color: #a9442f; }
