/* Framework Creative screens (Screens.dc.html): log in, check email, link expired, not found, staff. */
.fc-screen {
  margin: 0; min-height: 100vh; background: #E7E8EA; display: flex; align-items: flex-start; justify-content: center;
  padding: 40px 16px; box-sizing: border-box; font-family: 'Open Sans', Helvetica, Arial, sans-serif; color: #1B1D1F;
}
.fc-screen *, .fc-screen *::before, .fc-screen *::after { box-sizing: border-box; }
.fc-screen a { color: #1B1D1F; font-weight: 700; }
.fc-screen a:focus-visible, .fc-screen button:focus-visible, .fc-screen input:focus-visible {
  outline: 3px solid #2EA3F2; outline-offset: 2px;
}
.fc-panel {
  background: #ffffff; border-radius: 18px; padding: 36px; max-width: 460px; width: 100%; text-align: center;
  margin-top: 4vh;
}
.fc-panel[hidden] { display: none; }
.fc-wide { background: #ffffff; border-radius: 18px; padding: 28px; max-width: 900px; width: 100%; }
.fc-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.fc-logo { height: 38px; width: auto; }
.fc-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #5E6268; margin-top: 22px; }
.fc-wide .fc-eyebrow { margin-top: 0; }
.fc-h { margin: 6px 0 0; font-family: 'Archivo', Helvetica, sans-serif; font-weight: 800; font-size: 30px; line-height: 1.15; }
.fc-p { margin: 10px 0 22px; color: #44474C; font-size: 15px; line-height: 1.6; }
.fc-wide .fc-p { text-align: left; }
.fc-foot { margin: 18px 0 0; font-size: 14px; color: #5E6268; }
.fc-label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; text-align: left; }
.fc-input {
  width: 100%; min-height: 48px; border: 2px solid #1B1D1F; border-radius: 10px; padding: 8px 12px;
  font: inherit; font-size: 16px; color: #1B1D1F; background: #ffffff;
}
.fc-turnstile { margin: 14px 0; min-height: 65px; }
.fc-btn {
  font: inherit; cursor: pointer; min-height: 48px; padding: 10px 22px; border-radius: 999px; border: 2px solid #28282B;
  background: #ffffff; color: #1B1D1F; font-weight: 700; font-size: 15px; display: flex; align-items: center;
  justify-content: center; gap: 8px; text-decoration: none; width: 100%;
}
.fc-wide .fc-btn { width: auto; }
.fc-btn:disabled { opacity: 0.5; cursor: progress; }
.fc-solid { background: #28282B; color: #ffffff; }
.fc-screen a.fc-solid { color: #ffffff; }
.fc-linkbtn { all: unset; cursor: pointer; font-weight: 700; text-decoration: underline; min-height: 44px; display: inline-flex; align-items: center; }
.fc-error { margin: 0 0 12px; padding: 10px 12px; background: #FDECEA; color: #8E1F14; border-radius: 10px; font-size: 14px; text-align: left; }
.fc-error[hidden] { display: none; }
.fc-notice { margin: 14px 0 0; padding: 10px 12px; background: #FFF4E5; color: #7A4300; border-radius: 10px; font-size: 14px; }
.fc-badge {
  width: 64px; height: 64px; border-radius: 50%; background: #F3F3F4; margin: 0 auto; display: flex;
  align-items: center; justify-content: center;
}
.fc-badge + .fc-h { margin-top: 18px; }
.fc-badge-amber { background: #FFF4E5; color: #9A4B00; }
.fc-404 { font-family: 'Archivo', Helvetica, sans-serif; font-weight: 800; font-size: 80px; line-height: 1; margin-top: 22px; color: #D5D8DC; }
.fc-404 + .fc-h { margin-top: 8px; font-size: 28px; }
.fc-mail { border: 1px solid #DCDEE1; border-radius: 12px; padding: 14px; margin-top: 12px; text-align: left; }
.fc-mail-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; font-size: 15px; }
.fc-mail-head span, .fc-mail-to { font-size: 13px; color: #5E6268; }
.fc-mail-body { white-space: pre-wrap; word-break: break-word; font: 14px/1.6 'Open Sans', Helvetica, Arial, sans-serif; margin: 10px 0 0; }
@media (max-width: 600px) {
  .fc-screen { padding: 16px; }
  .fc-panel { padding: 28px 20px; margin-top: 0; }
  .fc-h { font-size: 26px; }
}
.fc-details { margin-top: 22px; text-align: left; font-size: 14px; }
.fc-details summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; color: #5E6268; font-weight: 600; }
.fc-details form { display: flex; flex-direction: column; gap: 12px; margin-top: 8px; }
.fc-code { font-size: 24px; letter-spacing: 0.3em; text-align: center; }
