  /* Login page layout — new, page-specific, scoped under .al- so
       nothing here fights create-job.css / style.css / Bootstrap. */
    .al-page {
      background: #F5F8F7;
      min-height: 100vh;
    }

    .al-shell {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 48px 16px 64px;
      min-height: calc(100vh - 84px);
    }

    .al-card {
      width: 100%;
      max-width: 440px;
      background: #fff;
      border-radius: 20px;
      box-shadow: 0 20px 60px rgba(15, 27, 26, 0.08), 0 2px 8px rgba(15, 27, 26, 0.04);
      padding: 40px 36px;
      font-family: 'Inter', sans-serif;
    }

    .al-brand {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-bottom: 28px;
    }

    .al-scribble-oval {
      width: 34px;
      height: 20px;
      flex-shrink: 0;
    }

    .al-brand-text {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-weight: 800;
      font-size: 19px;
      color: #0F1B1A;
      letter-spacing: -0.01em;
    }

    .al-title {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-weight: 700;
      font-size: 24px;
      color: #0F1B1A;
      text-align: center;
      margin: 0 0 6px;
    }

    .al-subtitle {
      font-size: 14px;
      color: #64777A;
      text-align: center;
      margin: 0 0 24px;
    }

    .al-role-toggle {
      display: flex;
      background: #EEF3F1;
      border-radius: 999px;
      padding: 4px;
      margin-bottom: 28px;
      gap: 4px;
    }

    .al-role-btn {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      border: none;
      background: transparent;
      border-radius: 999px;
      padding: 10px 12px;
      font-family: 'Inter', sans-serif;
      font-weight: 600;
      font-size: 13.5px;
      color: #64777A;
      cursor: pointer;
      transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
    }

    .al-role-btn svg {
      flex-shrink: 0;
    }

    .al-role-btn.is-active {
      background: #0F1B1A;
      color: #fff;
      box-shadow: 0 4px 10px rgba(15, 27, 26, 0.18);
    }

    .al-role-btn:not(.is-active):hover {
      color: #0F1B1A;
    }

    .al-field {
      margin-bottom: 18px;
    }

    .al-field label {
      display: block;
      font-size: 13px;
      font-weight: 600;
      color: #0F1B1A;
      margin-bottom: 6px;
    }

    .al-field label span {
      color: #FF5A2B;
    }

    .al-field input {
      width: 100%;
      border: 1.5px solid #DCE6E3;
      border-radius: 10px;
      padding: 11px 14px;
      font-size: 14.5px;
      font-family: 'Inter', sans-serif;
      color: #0F1B1A;
      background: #fff;
      transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }

    .al-field input::placeholder {
      color: #A9B6B4;
    }

    .al-field input:focus {
      outline: none;
      border-color: #FF5A2B;
      box-shadow: 0 0 0 3px rgba(255, 90, 43, 0.12);
    }

    .al-field.al-has-error input {
      border-color: #E0453A;
    }

    .al-field-error {
      display: block;
      font-size: 12.5px;
      color: #E0453A;
      margin-top: 6px;
    }

    .al-forgot-row {
      display: flex;
      justify-content: flex-end;
      margin: -8px 0 20px;
    }

    .al-forgot-link {
      font-size: 13px;
      font-weight: 600;
      color: #FF5A2B;
      text-decoration: none;
    }

    .al-forgot-link:hover {
      text-decoration: underline;
    }

    .al-submit-btn {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      border: none;
      border-radius: 999px;
      background: #0F1B1A;
      color: #fff;
      font-family: 'Inter', sans-serif;
      font-weight: 700;
      font-size: 15px;
      padding: 13px 20px;
      cursor: pointer;
      transition: background 0.15s ease, transform 0.1s ease;
    }

    .al-submit-btn:hover {
      background: #1E2E2C;
    }

    .al-submit-btn:active {
      transform: scale(0.98);
    }

    .al-submit-btn:disabled {
      opacity: 0.7;
      cursor: default;
      transform: none;
    }

    .al-submit-btn .arrow {
      font-size: 16px;
    }

    .al-signup-row {
      text-align: center;
      font-size: 13.5px;
      color: #64777A;
      margin: 20px 0 0;
    }

    .al-signup-link {
      font-weight: 600;
      color: #FF5A2B;
      text-decoration: none;
    }

    .al-signup-link:hover {
      text-decoration: underline;
    }

    /* ===== Forgot Password modal ===== */
    .al-modal-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(15, 27, 26, 0.45);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
      z-index: 1000;
    }

    .al-modal-backdrop[hidden] {
      display: none;
    }

    .al-modal {
      position: relative;
      width: 100%;
      max-width: 400px;
      background: #fff;
      border-radius: 18px;
      padding: 32px 28px;
      font-family: 'Inter', sans-serif;
      box-shadow: 0 24px 70px rgba(15, 27, 26, 0.25);
    }

    .al-modal h2 {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-weight: 700;
      font-size: 20px;
      color: #0F1B1A;
      margin: 0 0 8px;
    }

    .al-modal p {
      font-size: 14px;
      color: #64777A;
      margin: 0 0 20px;
      line-height: 1.5;
    }

    .al-modal-close {
      position: absolute;
      top: 14px;
      right: 14px;
      width: 28px;
      height: 28px;
      border-radius: 50%;
      border: none;
      background: #F1F5F4;
      color: #64777A;
      font-size: 16px;
      line-height: 1;
      cursor: pointer;
    }

    .al-modal-close:hover {
      background: #E4EBE9;
    }