 :root {
      --rootbe-red: #c9282d;
      --rootbe-red-dark: #a91f24;
      --rootbe-bg: #f7f7f8;
      --rootbe-text: #222222;
      --rootbe-sub-text: #777777;
      --rootbe-border: #dddddd;
      --rootbe-error: #c9282d;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--rootbe-bg);
      color: var(--rootbe-text);
    }

    .login-page {
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 40px 20px;
      background:
        radial-gradient(circle at top left, rgba(201, 40, 45, 0.1), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f7f7f8 100%);
    }

    .login-card {
      width: 100%;
      max-width: 420px;
      padding: 48px 42px 32px;
      background: #ffffff;
      border-radius: 22px;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
      border-top: 6px solid var(--rootbe-red);
    }

    .login-brand {
      text-align: center;
      margin-bottom: 34px;
    }

    .login-logo {
      display: inline-flex;
      align-items: center;
      justify-content: center;
	  margin-bottom:15px;
   
    }

    .login-brand h1 {
      margin: 0;
      font-size: 22px;
      font-weight: 700;
      color: var(--rootbe-text);
    }

    .login-brand p {
      margin: 10px 0 0;
      font-size: 14px;
      color: var(--rootbe-sub-text);
    }

    .login-form {
      display: flex;
      flex-direction: column;
      gap: 18px;
    }

    .form-field {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .form-field label {
      font-size: 14px;
      font-weight: 600;
      color: var(--rootbe-text);
    }

    .form-field input {
      width: 100%;
      height: 48px;
      padding: 0 15px;
      border: 1px solid var(--rootbe-border);
      border-radius: 10px;
      font-size: 15px;
      outline: none;
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .form-field input:focus {
      border-color: var(--rootbe-red);
      box-shadow: 0 0 0 3px rgba(201, 40, 45, 0.12);
    }

    .login-options {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-top: -2px;
    }

    .checkbox-label {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 14px;
      color: var(--rootbe-sub-text);
      cursor: pointer;
    }

    .checkbox-label input {
      width: 16px;
      height: 16px;
      accent-color: var(--rootbe-red);
    }

    .error-message {
      display: none;
      margin: -4px 0 0;
      font-size: 14px;
      color: var(--rootbe-error);
      line-height: 1.45;
    }

    .error-message.active {
      display: block;
    }

    .login-button {
      width: 100%;
      height: 50px;
      margin-top: 4px;
      border: none;
      border-radius: 10px;
      background: var(--rootbe-red);
      color: #ffffff;
      font-size: 16px;
      font-weight: 700;
      cursor: pointer;
      transition: background 0.2s ease, transform 0.1s ease;
    }

    .login-button:hover {
      background: var(--rootbe-red-dark);
    }

    .login-button:active {
      transform: translateY(1px);
    }

    .login-footer {
      margin-top: 32px;
      text-align: center;
      font-size: 12px;
      color: #999999;
    }

    @media (max-width: 480px) {
      .login-card {
        padding: 38px 24px 28px;
        border-radius: 18px;
      }

      .login-brand h1 {
        font-size: 20px;
      }
    }