/* Reset */
    *, *::before, *::after { box-sizing: border-box; }
    html, body { height: 100%; }
 body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: #17223b;
  background:
    linear-gradient(rgba(10,16,30,0.45), rgba(10,16,30,0.45)),
    url("https://s3.us-east-2.amazonaws.com/www.northeastrcce.com/logo-hd.png")
      center center / contain no-repeat fixed;
  background-color: #ffffff;
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 100vh;
}


    /* Top brand bar */
    .brand {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 14px 22px;
      background: rgba(255,255,255,0.65);
      backdrop-filter: blur(6px);
      border-bottom: 1px solid rgba(0,0,0,0.06);
    }
.brand-left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.brand-home {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.brand img {
  height: 44px; width: auto; border-radius: 6px; user-select: none; -webkit-user-drag: none;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}
    .brand .titles {
      display: grid; line-height: 1.1;
    }
    .brand .title {
      font-weight: 800; letter-spacing: 0.2px; color: #0b3a7c; font-size: 1.2rem;
      text-shadow: 0 1px 0 rgba(255,255,255,0.6);
    }
    .brand .subtitle {
      font-size: 0.92rem; color: #244a84; opacity: 0.95;
    }
    .privacy-link {
      font-size: 0.95rem;
      color: #0b3a7c;
      text-decoration: none;
      font-weight: 600;
    }
    .privacy-link:hover {
      text-decoration: underline;
      color: #244a84;
    }

    /* Main content */
    .main {
      display: grid;
      place-items: center;
      padding: clamp(16px, 2vw, 32px);
    }

    /* Login card */
    .card {
      width: min(420px, 92vw);
      background: rgba(255,255,255,0.95);
      border-radius: 14px;
      box-shadow: 0 20px 60px rgba(0,0,0,0.25);
      padding: clamp(20px, 3.2vw, 28px);
      backdrop-filter: blur(6px);
      border: 1px solid rgba(0,0,0,0.06);
      display: grid;
      gap: 14px;
      animation: pop 220ms ease-out;
    }
    @keyframes pop {
      from { transform: translateY(6px) scale(0.98); opacity: 0; }
      to   { transform: translateY(0)    scale(1);     opacity: 1; }
    }
    .card h1 {
      margin: 2px 0 4px;
      font-size: 1.55rem;
      text-align: center;
      color: #0b3a7c;
    }
    .card p.helper {
      text-align: center;
      font-size: 0.95rem;
      color: #3a4a66;
      margin: 0 0 6px;
    }

    /* Form */
    form { display: grid; gap: 12px; }
    label { font-size: 0.9rem; color: #23324e; }
    input[type="email"],
    input[type="password"] {
      width: 100%;
      border: 1px solid #cfd7e6;
      border-radius: 10px;
      padding: 12px 14px;
      font-size: 1rem;
      background: #fff;
      outline: none;
      transition: box-shadow .15s, border-color .15s, background .15s;
    }
    input:focus {
      border-color: #2f6fe4;
      box-shadow: 0 0 0 3px rgba(47,111,228,0.18);
    }

    .password-field { position: relative; }
    .toggle-btn {
      position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
      border: 0; background: transparent; color: #2f6fe4; cursor: pointer;
      padding: 6px 8px; border-radius: 8px; font-size: 0.9rem;
    }
    .toggle-btn:hover { text-decoration: underline; }

    .submit {
      border: 0;
      border-radius: 10px;
      padding: 12px 14px;
      font-size: 1rem;
      font-weight: 700;
      color: #fff;
      background: linear-gradient(180deg, #2f6fe4, #1f56b9);
      cursor: pointer;
      box-shadow: 0 8px 18px rgba(47,111,228,0.35);
      transition: transform .06s ease, filter .2s ease;
    }
    .submit:hover { filter: brightness(1.05); }
    .submit:active { transform: translateY(1px); }
    .submit.loading { position: relative; pointer-events: none; }
    .submit.loading::after {
      content: ""; position: absolute; inset: 0; border-radius: inherit;
      background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.45), transparent 55%);
      animation: pulse 1s ease-in-out infinite;
    }
    @keyframes pulse { 0%,100%{opacity:.2} 50%{opacity:.7} }

    #errorMsg {
      min-height: 1.2em;
      text-align: center;
      font-size: 0.95rem;
      color: #cc2d2d;
    }
    #errorMsg.success { color: #1b8f3b; }

    .links {
      text-align: center; margin-top: 2px;
    }
    .links a {
      color: #2f6fe4; text-decoration: none; font-size: 0.95rem;
    }
    .links a:hover { text-decoration: underline; }

    /* Footer */
    footer {
      padding: 10px 16px;
      text-align: center;
      font-size: 0.85rem;
      color: rgba(255,255,255,0.9);
      text-shadow: 0 1px 2px rgba(0,0,0,0.35);
    }

   /* Responsive nits */
@media (max-width: 520px) {
  .brand { flex-direction: column; align-items: flex-start; gap: 8px; }
  .privacy-link { align-self: flex-end; }
  .delete-link { align-self: flex-end; }
}

/* Former inline style attributes */

.csp-a68e30f7d8 { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }

.csp-67564ea646 { position:absolute;left:-9999px;width:1px;height:1px;opacity:0; }
