@font-face {
  font-family: "FuturaPT-Medium";
  src: url("/fonts/FuturaPT-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "FuturaPT-Bold";
  src: url("/fonts/FuturaPT-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --gp-yellow: #ffb600;
  --gp-gray: #e9e9e9;
  --gp-black: #202020;
  --gp-white: #ffffff;
  --gp-blue: #9ef4ff;

  --gp-font: "FuturaPT-Medium", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --gp-font-bold: "FuturaPT-Bold", var(--gp-font);

  --gp-radius: 16px;
  --gp-shadow: 0 16px 48px rgba(0, 0, 0, 0.18);
}

html,
body {
  height: 100%;
}

body {
  font-family: var(--gp-font);
  color: var(--gp-black);
}

.gp-logo {
  display: inline-block;
  max-width: 210px;
  height: auto;
}

/* Login */
.gp-auth {
  min-height: 100%;
  display: grid;
  place-items: center;
  padding: 28px 16px;
  background:
    linear-gradient(0deg, rgba(255, 182, 0, 0.10), rgba(255, 182, 0, 0.10)),
    radial-gradient(1200px 600px at 100% 0%, rgba(158, 244, 255, 0.35), rgba(158, 244, 255, 0) 60%),
    linear-gradient(180deg, #f7f7f7, #ffffff 70%);
}

.gp-card {
  width: min(520px, 100%);
  border: 1px solid rgba(32, 32, 32, 0.08);
  border-radius: var(--gp-radius);
  background: var(--gp-white);
  box-shadow: var(--gp-shadow);
  overflow: hidden;
}

.gp-card__header {
  padding: 22px 22px 14px;
  border-bottom: 1px solid rgba(32, 32, 32, 0.08);
}

.gp-card__title {
  font-family: var(--gp-font-bold);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  margin: 14px 0 0;
  font-size: 18px;
}

.gp-card__body {
  padding: 18px 22px 22px;
}

.gp-form-label {
  font-family: var(--gp-font-bold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 12px;
}

.gp-input {
  border: 1px solid rgba(32, 32, 32, 0.18);
  border-radius: 12px;
  padding: 10px 12px;
}

.gp-input:focus {
  border-color: rgba(255, 182, 0, 0.8);
  box-shadow: 0 0 0 4px rgba(255, 182, 0, 0.22);
}

.gp-btn-primary {
  font-family: var(--gp-font-bold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: 12px;
  background: var(--gp-yellow);
  border: 1px solid rgba(32, 32, 32, 0.22);
  color: var(--gp-black);
  padding: 10px 14px;
}

.gp-btn-primary:hover,
.gp-btn-primary:focus {
  background: #f5ad00;
  color: var(--gp-black);
}

.gp-alert {
  border-radius: 12px;
  border: 1px solid rgba(32, 32, 32, 0.12);
}

/* EasyAdmin (scoped) */
.ea {
  --link-color: var(--gp-yellow);
}

.ea .content-top .content-header-title,
.ea .content-header-title {
  font-family: var(--gp-font-bold);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.ea .sidebar {
  background: var(--gp-black);
}

.ea .sidebar .menu .menu-item a {
  color: rgba(255, 255, 255, 0.88);
}

.ea .sidebar .menu .menu-item.active > a,
.ea .sidebar .menu .menu-item a:hover {
  color: var(--gp-black);
  background: var(--gp-yellow);
}

.ea .btn.btn-primary {
  background: var(--gp-yellow);
  border-color: rgba(32, 32, 32, 0.22);
  color: var(--gp-black);
}

.ea .btn.btn-primary:hover,
.ea .btn.btn-primary:focus {
  background: #f5ad00;
  color: var(--gp-black);
}

.ea .form-control:focus,
.ea .form-select:focus {
  border-color: rgba(255, 182, 0, 0.8);
  box-shadow: 0 0 0 0.25rem rgba(255, 182, 0, 0.22);
}

