/* Login only. Demo entry styles below remain independent. */
@font-face { font-family: 'Inter'; src: url("../fonts/Inter-variable.ff8ad5896026.woff2") format('woff2'), url("../fonts/Inter-variable.bff0f6e3b9e2.ttf") format('truetype'); font-style: normal; font-weight: 100 900; font-display: swap; }

.sc-auth-shell:has(.sc-login-entry) {
  min-height: 100dvh; padding: 32px;
  background: radial-gradient(560px 460px at 7% 6%, rgb(22 141 105 / 17%), transparent 73%), radial-gradient(680px 540px at 96% 100%, rgb(13 50 59 / 12%), transparent 72%), #f4f8f8;
  font-family: 'Inter', system-ui, sans-serif;
}
.sc-auth-card:has(.sc-login-entry) {
  width: min(100%, 970px) !important; max-width: 970px !important; margin: 0 auto !important; padding: 0 !important; overflow: hidden;
  border: 1px solid #dce8e7 !important; border-radius: 18px !important; background: #fff !important;
  box-shadow: 0 26px 70px rgb(24 52 58 / 14%) !important; color: #1c2c3a;
}
.sc-login-entry { display: grid; grid-template-columns: minmax(300px, .93fr) minmax(0, 1fr); min-height: 570px; }
.sc-login-entry__aside { display: flex; flex-direction: column; padding: 37px 40px 34px; color: #eaf6f2; background: radial-gradient(280px 250px at 100% 6%, rgb(47 203 151 / 24%), transparent 74%), radial-gradient(300px 310px at -13% 101%, rgb(38 177 139 / 18%), transparent 73%), linear-gradient(152deg, #193039 0%, #12272e 100%); }
.sc-login-entry__aside-brand, .sc-login-entry__mobile-brand { display: flex; align-items: center; gap: 11px; }
.sc-login-entry__aside-brand img { width: 54px; height: auto; object-fit: contain; }
.sc-login-entry__aside-brand strong, .sc-login-entry__mobile-brand span { display: block; color: #fff; font-size: 16px; font-weight: 760; letter-spacing: -.025em; }
.sc-login-entry__aside-brand span { display: block; margin-top: 3px; color: #a9c7c0; font-size: 10px; font-weight: 600; letter-spacing: .035em; text-transform: uppercase; }
.sc-login-entry__aside-copy { margin: auto 0 31px; }
.sc-login-entry__eyebrow { display: inline-flex; align-items: center; min-height: 23px; padding: 4px 9px; border-radius: 999px; color: #087b60; background: #e5f7f0; font-size: 10px; font-weight: 760; letter-spacing: .08em; line-height: 1; text-transform: uppercase; }
.sc-login-entry__aside .sc-login-entry__eyebrow { color: #aaf0d4; background: rgb(66 208 158 / 13%); }
.sc-login-entry__aside h1 { max-width: 295px; margin: 15px 0 11px; color: #fff; font: 720 clamp(27px, 3vw, 36px)/1.1 'Inter', system-ui, sans-serif; letter-spacing: -.045em; }
.sc-login-entry__aside p { max-width: 300px; margin: 0; color: #b4cbc5; font-size: 13px; line-height: 1.55; }
.sc-login-entry__roles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 14px 0 0; border-top: 1px solid rgb(221 245 237 / 15%); list-style: none; }
.sc-login-entry__roles li { min-width: 0; }
.sc-login-entry__roles strong { display: block; color: #e8f8f3; font-size: 10px; font-weight: 700; }
.sc-login-entry__roles span { display: block; margin-top: 5px; color: #90b6ac; font-size: 10px; line-height: 1.35; }

.sc-login-entry__main { display: flex; flex-direction: column; justify-content: center; width: min(100%, 410px); margin: 0 auto; padding: 48px 38px; }
.sc-login-entry__header { margin-bottom: 27px; }
.sc-login-entry__header h1 { margin: 13px 0 7px; color: #172c37; font: 730 30px/1.08 'Inter', system-ui, sans-serif; letter-spacing: -.04em; }
.sc-login-entry__header p { margin: 0; color: #6b7e85; font-size: 13px; line-height: 1.5; }
.sc-login-entry__mobile-brand { display: none; }
.sc-login-entry__form { display: grid; gap: 17px; }
.sc-login-entry__form .form-row { display: grid; gap: 7px; margin: 0; }
.sc-login-entry__form label { color: #314953; font-size: 12px; font-weight: 700; }
.sc-login-entry__form .sc-form-control { width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid #d7e4e4; border-radius: 8px; background: #fbfdfd; box-shadow: none; color: #1c2c3a; font: 500 14px/1.3 'Inter', system-ui, sans-serif; }
.sc-login-entry__form .sc-form-control:hover { border-color: #b9d6cf; }
.sc-login-entry__form .sc-form-control:focus { border-color: #078b69; outline: 0; box-shadow: 0 0 0 3px rgb(7 139 105 / 12%); }
.sc-password-entry { position: relative; }
.sc-password-entry .sc-form-control { padding-right: 94px; }
.sc-password-toggle { position: absolute; top: 50%; right: 7px; min-height: 32px; padding: 4px 8px; border: 0; border-radius: 6px; color: #087b60; background: transparent; cursor: pointer; font: 650 12px/1 'Inter', system-ui, sans-serif; transform: translateY(-50%); }
.sc-password-toggle:hover, .sc-password-toggle:focus-visible { background: #e6f6f0; }
.sc-login-entry__form [data-entry-submit] { width: 100%; min-height: 46px; justify-content: center; margin-top: 2px; border-radius: 8px; font: 720 14px/1 'Inter', system-ui, sans-serif; box-shadow: 0 8px 17px rgb(7 139 105 / 18%); }
.sc-entry-error { margin: 0 0 17px; padding: 11px 12px; border: 1px solid #f0c4c9; border-radius: 8px; font-size: 12px; line-height: 1.45; }
.sc-entry-field--error { border-color: #d8495b !important; }
.sc-entry-field-error { margin-top: 1px; color: #bd3346; font-size: 12px; line-height: 1.35; }
.sc-entry-status { min-height: 1.35em; margin: -7px 0 0; color: #61757d; font-size: 12px; line-height: 1.4; }
.sc-entry-status:empty { display: none; }
.sc-login-entry__access-note { margin: 22px 0 0; color: #788a90; font-size: 12px; line-height: 1.5; text-align: center; }
.sc-login-entry__access-note a { color: #087b60; font-weight: 700; text-decoration: none; }
.sc-login-entry__access-note a:hover { text-decoration: underline; }
.sc-login-entry__help{margin:14px 0 0;border-top:1px solid #e4efec;color:#61757d;font-size:12px;line-height:1.5}.sc-login-entry__help summary{display:flex;align-items:center;min-height:44px;padding-top:13px;color:#087b60;cursor:pointer;font-weight:700}.sc-login-entry__help p{margin:8px 0 0}
.sc-password-toggle:focus-visible, [data-entry-submit]:focus-visible { outline: 3px solid rgb(7 139 105 / 25%); outline-offset: 2px; }
[data-entry-submit][disabled] { cursor: wait; opacity: .72; }

/* Keep demo entry styles scoped to the existing .d-* markup. */
.d-entry-form + .d-entry-status { flex-basis: 100%; margin-top: 0; order: 3; }
.d-entry-status { color: var(--d-muted, #a8c2b8); }
.d-entry-form [data-entry-submit][disabled] { cursor: wait; color: #062418; background: #80d8b8; }

@media (max-width: 700px) {
  .sc-auth-shell:has(.sc-login-entry) { align-items: flex-start; padding: max(20px, env(safe-area-inset-top)) 16px 28px; }
  .sc-auth-card:has(.sc-login-entry) { width: 100% !important; max-width: 470px !important; border-radius: 14px !important; }
  .sc-login-entry { display: block; min-height: 0; }
  .sc-login-entry__aside { display: none; }
  .sc-login-entry__main { width: 100%; padding: 26px 22px 28px; }
  .sc-login-entry__mobile-brand { display: flex; margin-bottom: 23px; }
  .sc-login-entry__mobile-brand img { width: 34px; height: auto; padding: 5px; border: 1px solid #294b52; border-radius: 9px; background: #18323c; object-fit: contain; }
  .sc-login-entry__mobile-brand span { color: #18323c; font-size: 15px; }
  .sc-login-entry__header { margin-bottom: 23px; }
  .sc-login-entry__header h1 { margin-top: 11px; font-size: 28px; }
}
@media (max-width: 380px) { .sc-auth-shell:has(.sc-login-entry) { padding-inline: 10px; } .sc-login-entry__main { padding-inline: 17px; } }
@media (prefers-reduced-motion: reduce) { .sc-login-entry *, .sc-login-entry *::before, .sc-login-entry *::after { transition-duration: 0s !important; } }
