/* Scoped to the administrator sign-in page. */
.admin-entry { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; background: #f5f6f8; color: #202735; }
.admin-entry-header { display: flex; align-items: center; gap: 20px; min-height: 88px; padding: 20px clamp(24px, 5vw, 80px); }
.admin-entry .wordmark { font-size: 18px; letter-spacing: -.6px; }
.admin-entry .wordmark-mark { width: 32px; height: 32px; border-radius: 9px; }
.admin-entry-caption { padding-left: 20px; border-left: 1px solid #dce0e7; color: #717987; font-size: 12px; }
.admin-entry-home { margin-left: auto; display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: #626c7b; font-size: 12px; }
.admin-entry-main { flex: 1; display: grid; place-items: center; padding: 32px 24px 56px; }
.admin-entry-card { width: min(940px, 100%); display: grid; grid-template-columns: .85fr 1.15fr; border: 1px solid #e1e5ec; border-radius: 20px; background: #fff; overflow: hidden; box-shadow: 0 16px 48px -24px #1b2c4933, 0 2px 6px #1b2c4904; }
.admin-entry-aside { display: flex; flex-direction: column; padding: 44px 40px 32px; background: #18283d; color: #f4f7fc; }
.admin-entry-eyebrow { color: #a7b8d1; font-size: 10px; font-weight: 600; letter-spacing: 2px; }
.admin-entry-intro { margin-top: 54px; }
.admin-entry-intro h2 { margin: 0; font-size: clamp(27px, 2.6vw, 34px); font-weight: 600; line-height: 1.55; letter-spacing: -.8px; }
.admin-entry-intro p { margin-top: 17px; color: #b3c0d2; font-size: 13px; line-height: 1.8; }
.admin-entry-capabilities { display: grid; margin-top: 40px; }
.admin-entry-capabilities > div { display: flex; align-items: center; gap: 20px; border-top: 1px solid #ffffff14; min-height: 50px; font-size: 12px; color: #dae2ef; }
.admin-entry-capabilities > div > span:first-child { color: #90a4c1; font-size: 10px; font-variant-numeric: tabular-nums; }
.admin-entry-aside-footer { margin-top: auto; padding-top: 42px; color: #93a6c1; font-size: 9px; letter-spacing: 1.4px; }
.admin-entry-form { padding: 52px clamp(28px, 4.5vw, 64px) 36px; }
.admin-entry-badge { display: inline-flex; align-items: center; min-height: 25px; padding: 0 9px; border: 1px solid #e5e9f0; border-radius: 6px; color: #657087; background: #f9fafb; font-size: 11px; }
.admin-entry-heading h1 { margin: 20px 0 10px; font-size: 27px; letter-spacing: -.8px; font-weight: 650; line-height: 1.4; }
.admin-entry-heading p { margin: 0; color: #747d8d; font-size: 12px; line-height: 1.8; }
.admin-entry .form-stack { margin-top: 32px; gap: 20px; }
.admin-entry .field { gap: 9px; font-size: 12px; font-weight: 550; color: #3e495b; }
.admin-entry .field input { height: 46px; border-radius: 7px; font-size: 14px; border-color: #dce1e9; }
.admin-entry .field input:focus { border-color: #6483e8; box-shadow: 0 0 0 3px #315fe512; }
.admin-entry .button { min-height: 46px; margin-top: 4px; border-radius: 7px; font-size: 13px; font-weight: 550; box-shadow: 0 2px 3px #1d3b7912; }
.admin-entry .button:disabled { cursor: wait; opacity: .65; }
.admin-entry-help { margin: 20px 0 0; color: #757e8d; font-size: 11px; text-align: center; line-height: 1.8; }
.admin-entry-notice { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 30px; padding-top: 22px; border-top: 1px solid #edf0f4; color: #747e8f; font-size: 11px; }
.admin-entry-error { padding: 11px 12px; border: 1px solid #f0cbd0; border-radius: 7px; background: #fff6f7; color: #a53245; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.admin-entry-footer { display: flex; justify-content: space-between; gap: 16px; padding: 20px clamp(24px, 5vw, 80px); color: #7c8491; font-size: 10px; }
.admin-entry a:focus-visible, .admin-entry button:focus-visible { outline: 3px solid #6483e8; outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) { .admin-entry-home:hover { color: #244ac1; } }
@media (max-width: 760px) {
  .admin-entry-header { min-height: 76px; }
  .admin-entry-caption { display: none; }
  .admin-entry-card { max-width: 440px; grid-template-columns: minmax(0, 1fr); border-radius: 16px; }
  .admin-entry-aside { display: none; }
  .admin-entry-main { padding: 16px 20px 32px; }
  .admin-entry-form { padding: 32px 28px; }
  .admin-entry-heading h1 { font-size: 25px; }
  .admin-entry .field input { font-size: 16px; }
  .admin-entry-footer { justify-content: center; }
  .admin-entry-footer > span:last-child { display: none; }
}
@media (max-width: 360px) { .admin-entry-form { padding: 28px 20px; } }
