@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-latin.woff2") format("woff2");
}

:root {
  --aismis-navy: #0b2d5c;
  --aismis-blue: #1e4d8c;
  --aismis-cyan: #00a3c4;
  --aismis-surface: #ffffff;
  --aismis-bg: #f8f9fb;
  --aismis-text: #1a2332;
  --aismis-muted: #5c6b7f;
  --aismis-border: #d8dee9;
  --aismis-accent-soft: #e8eef6;
  --aismis-register-am-bg: #faf6f0;
  --aismis-register-pm-bg: #f0e8dc;
  --aismis-accent: var(--aismis-blue);
  --aismis-accent-muted: var(--aismis-accent-soft);
  --aismis-portal-accent: var(--aismis-blue);
  --aismis-portal-accent-rgb: 30, 77, 140;
  --aismis-portal-accent-hover: #163a6a;
  --aismis-header-height: 3.5rem;
  --aismis-radius: 0.625rem;
  --aismis-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
  --aismis-shadow-md: 0 4px 12px rgba(15, 23, 42, 0.08);
  --aismis-font-sans: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --aismis-surface-gradient: linear-gradient(
    145deg,
    #ffffff 0%,
    #f9fbfd 52%,
    #f3f7fb 100%
  );
  --aismis-page-gradient: linear-gradient(
    165deg,
    #eef3fa 0%,
    var(--aismis-bg) 42%,
    #edf6f9 100%
  );

  --bs-primary: var(--aismis-portal-accent);
  --bs-primary-rgb: var(--aismis-portal-accent-rgb);
  --bs-link-color: var(--aismis-portal-accent);
  --bs-link-color-rgb: var(--aismis-portal-accent-rgb);
  --bs-link-hover-color: var(--aismis-portal-accent-hover);
  --bs-body-bg: var(--aismis-bg);
  --bs-body-color: var(--aismis-text);
  --bs-border-color: var(--aismis-border);
  --bs-border-radius: 0.5rem;
  --bs-focus-ring-color: rgba(var(--aismis-portal-accent-rgb), 0.25);
}

html {
  font-size: 16px;
  position: relative;
  min-height: 100%;
}

body {
  font-family: var(--aismis-font-sans);
  line-height: 1.5;
  color: var(--aismis-text);
  background: var(--aismis-page-gradient);
  background-attachment: fixed;
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  color: var(--aismis-text);
}

a {
  color: var(--aismis-portal-accent);
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus,
.form-select:focus {
  box-shadow: 0 0 0 0.1rem var(--aismis-surface), 0 0 0 0.25rem rgba(var(--aismis-portal-accent-rgb), 0.35);
}

.btn-primary {
  --bs-btn-bg: var(--aismis-portal-accent);
  --bs-btn-border-color: var(--aismis-portal-accent);
  --bs-btn-hover-bg: var(--aismis-portal-accent-hover);
  --bs-btn-hover-border-color: var(--aismis-portal-accent-hover);
  --bs-btn-active-bg: var(--aismis-portal-accent-hover);
  --bs-btn-active-border-color: var(--aismis-portal-accent-hover);
}

.btn-outline-primary {
  --bs-btn-color: var(--aismis-portal-accent);
  --bs-btn-border-color: var(--aismis-portal-accent);
  --bs-btn-hover-bg: var(--aismis-portal-accent);
  --bs-btn-hover-border-color: var(--aismis-portal-accent);
  --bs-btn-active-bg: var(--aismis-portal-accent-hover);
  --bs-btn-active-border-color: var(--aismis-portal-accent-hover);
}

.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
  text-align: start;
}
