/* ktree_theme portal — light-only, same palette as desk. */
:root {
  --kt-primary: 223 82% 51%;
  --foreground: 222 45% 18%;
  --background: 218 32% 94%;
  --card: 0 0% 100%;
  --accent: 222 100% 95%;
  --border: 218 26% 82%;
  --radius: 0.5rem;
}
body { background: hsl(var(--background)); color: hsl(var(--foreground));
  font-family: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif; }

@font-face { font-family: "IBM Plex Sans"; font-weight: 400; font-display: swap; src: url("/assets/ktree_theme/fonts/plex-sans-400.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-weight: 600; font-display: swap; src: url("/assets/ktree_theme/fonts/plex-sans-600.woff2") format("woff2"); }

.navbar { background: hsl(var(--card)) !important; border-bottom: 1px solid hsl(var(--border)); }
.navbar .navbar-brand { font-weight: 700; color: hsl(var(--foreground)); }
.btn-primary { background: hsl(var(--kt-primary)); border-color: hsl(var(--kt-primary)); font-weight: 600; }
.card, .web-card { background: hsl(var(--card)); border: 1px solid hsl(var(--border)); border-radius: var(--radius);
  box-shadow: 0 1px 2px rgb(26 39 68 / .07), 0 4px 10px -2px rgb(26 39 68 / .09); }
.form-control { border: 1px solid hsl(var(--border)); border-radius: calc(var(--radius) - 2px); }
.form-control:focus { border-color: hsl(var(--kt-primary)); box-shadow: 0 0 0 2px hsl(var(--kt-primary) / .25); }

/* Login page */
.page-card { border: 1px solid hsl(var(--border)) !important; border-radius: var(--radius); box-shadow: 0 10px 30px -10px rgb(26 39 68 / .25); }
.for-login .btn-login, .btn-login { background: hsl(var(--kt-primary)) !important; border: none !important; color: #fff; font-weight: 600; }
.for-login .page-card-head h4 { color: hsl(var(--foreground)) !important; }
body.login-page, .for-login {
  background-image: radial-gradient(50rem 28rem at 100% -2rem, hsl(var(--kt-primary) / .12), transparent 62%);
}
