CasdoorMarketplace
Submit

Catppuccin · Sign-in theme

Catppuccin

The Catppuccin Mocha palette: soft pastel colors on a warm dark base, rounded and cozy, with a mauve accent by default. CSS only, so organization admins can install it.

Verified by CasdoorDarkColor schemePastelCSS only
Catppuccin sign-in page

What it sets

Themedark
Border radius8px
Form positionCenter
Custom CSSYes
Custom CSS MobileYes

Everything is on the application's UI Customization tab in Casdoor, so you can keep adjusting it after applying the theme.

Apply it to an application

  1. Enter the application below, adjust the theme's settings, and copy the JSON.
  2. In the Casdoor console, open Applications, edit that application, click Import JSON at the top, paste the JSON and click OK.
  3. Click Save. The sign-in page uses the theme from the next visit.
{
  "name": "<application name>",
  "organization": "<organization>",
  "themeData": {
    "themeType": "dark",
    "colorPrimary": "#cba6f7",
    "borderRadius": 8,
    "isCompact": false,
    "isEnabled": true
  },
  "formOffset": 2,
  "formCss": "<style>\n.login-background {\n  color-scheme: dark;\n  --background: 240 21% 15%;\n  --foreground: 226 64% 88%;\n  --card: 240 21% 12%;\n  --card-foreground: 226 64% 88%;\n  --popover: 240 21% 12%;\n  --popover-foreground: 226 64% 88%;\n  --muted: 237 16% 23%;\n  --muted-foreground: 228 24% 72%;\n  --accent: 237 16% 23%;\n  --accent-foreground: 226 64% 88%;\n  --border: 234 13% 31%;\n  --input: 234 13% 31%;\n  --ring: 226 64% 88%;\n  font-family: Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;\n  background: #1e1e2e;\n}\n.login-background > div:first-of-type,\n.login-content,\n#footer {\n  position: relative;\n  z-index: 1;\n}\n.login-background::before {\n  content: '';\n  position: fixed;\n  inset: 0;\n  background: radial-gradient(circle at 15% 20%, rgba(245, 194, 231, 0.10) 0, transparent 30%), radial-gradient(circle at 85% 25%, rgba(137, 220, 235, 0.10) 0, transparent 30%), radial-gradient(circle at 75% 85%, rgba(166, 227, 161, 0.08) 0, transparent 30%), radial-gradient(circle at 20% 85%, rgba(250, 179, 135, 0.08) 0, transparent 30%);\n}\n.login-content > div {\n  max-width: 420px;\n}\n.login-panel {\n  border: 1px solid #45475a;\n  border-radius: 14px;\n  background: #181825;\n  box-shadow: 0 30px 70px -24px rgba(0, 0, 0, 0.7);\n}\n.login-background > div:first-of-type button {\n  color: #a6adc8;\n}\n.signin-methods > div {\n  border: 1px solid #45475a;\n  background: #11111b;\n}\n.signin-methods [role='tab'] {\n  color: #a6adc8;\n}\n.signin-methods [role='tab'][data-state='active'] {\n  background: #313244 !important;\n  color: #cba6f7;\n  box-shadow: none !important;\n}\n.login-form label {\n  color: #bac2de;\n  font-weight: 500;\n}\n.login-form input:not([type='checkbox']):not([type='radio']) {\n  height: 44px;\n  border: 1px solid #45475a;\n  border-radius: 8px;\n  background: #11111b;\n  color: #cdd6f4;\n  box-shadow: none;\n}\n.login-form input:not([type='checkbox']):not([type='radio'])::placeholder {\n  color: #a6adc8;\n}\n.login-form input:not([type='checkbox']):not([type='radio']):focus {\n  border-color: #cba6f7;\n  box-shadow: 0 0 0 3px color-mix(in srgb, #cba6f7 25%, transparent);\n}\n.login-password button {\n  color: #a6adc8;\n}\n.login-form [role='checkbox'] {\n  border-color: #a6adc8;\n  border-radius: 4px;\n}\n.login-form [role='checkbox'][data-state='checked'] {\n  background: #cba6f7;\n  border-color: #cba6f7;\n  color: #11111b;\n}\n.login-form a {\n  color: #cba6f7;\n  font-weight: 500;\n}\n.login-form .login-button {\n  height: 44px;\n  border-radius: 8px;\n  background: #cba6f7;\n  color: #11111b;\n  font-weight: 600;\n  box-shadow: none;\n}\n.login-form .login-button:hover {\n  background: #cba6f7;\n  filter: brightness(1.08);\n}\n.login-form .login-signup-link,\n.login-form .login-forget-password label {\n  color: #bac2de;\n}\n#footer {\n  color: #a6adc8;\n}\n\n.login-panel {\n  border-radius: 20px;\n}\n.login-form input:not([type='checkbox']):not([type='radio']),\n.login-form .login-button {\n  border-radius: 12px;\n}\n.login-form .login-forget-password {\n  width: 100%;\n}\n</style>",
  "formCssMobile": "<style>\n.login-background {\n  color-scheme: dark;\n  --background: 240 21% 15%;\n  --foreground: 226 64% 88%;\n  --card: 240 21% 12%;\n  --card-foreground: 226 64% 88%;\n  --popover: 240 21% 12%;\n  --popover-foreground: 226 64% 88%;\n  --muted: 237 16% 23%;\n  --muted-foreground: 228 24% 72%;\n  --accent: 237 16% 23%;\n  --accent-foreground: 226 64% 88%;\n  --border: 234 13% 31%;\n  --input: 234 13% 31%;\n  --ring: 226 64% 88%;\n  font-family: Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;\n  background: #1e1e2e;\n}\n.login-background > div:first-of-type button {\n  color: #a6adc8;\n}\n.signin-methods > div {\n  border: 1px solid #45475a;\n  background: #11111b;\n}\n.signin-methods [role='tab'] {\n  color: #a6adc8;\n}\n.signin-methods [role='tab'][data-state='active'] {\n  background: #313244 !important;\n  color: #cba6f7;\n  box-shadow: none !important;\n}\n.login-form label {\n  color: #bac2de;\n  font-weight: 500;\n}\n.login-form input:not([type='checkbox']):not([type='radio']) {\n  height: 44px;\n  border: 1px solid #45475a;\n  border-radius: 8px;\n  background: #11111b;\n  color: #cdd6f4;\n  box-shadow: none;\n}\n.login-form input:not([type='checkbox']):not([type='radio'])::placeholder {\n  color: #a6adc8;\n}\n.login-form input:not([type='checkbox']):not([type='radio']):focus {\n  border-color: #cba6f7;\n  box-shadow: 0 0 0 3px color-mix(in srgb, #cba6f7 25%, transparent);\n}\n.login-password button {\n  color: #a6adc8;\n}\n.login-form [role='checkbox'] {\n  border-color: #a6adc8;\n  border-radius: 4px;\n}\n.login-form [role='checkbox'][data-state='checked'] {\n  background: #cba6f7;\n  border-color: #cba6f7;\n  color: #11111b;\n}\n.login-form a {\n  color: #cba6f7;\n  font-weight: 500;\n}\n.login-form .login-button {\n  height: 44px;\n  border-radius: 8px;\n  background: #cba6f7;\n  color: #11111b;\n  font-weight: 600;\n  box-shadow: none;\n}\n.login-form .login-button:hover {\n  background: #cba6f7;\n  filter: brightness(1.08);\n}\n.login-form .login-signup-link,\n.login-form .login-forget-password label {\n  color: #bac2de;\n}\n#footer {\n  color: #a6adc8;\n}\n\n.login-panel {\n  border-radius: 20px;\n}\n.login-form input:not([type='checkbox']):not([type='radio']),\n.login-form .login-button {\n  border-radius: 12px;\n}\n.login-form .login-forget-password {\n  width: 100%;\n}\n</style>"
}