/* CNET GROUP private Forgejo login theme. */
:root {
  --cnet-ink: #082342;
  --cnet-muted: #62758b;
  --cnet-line: #dce5ef;
  --cnet-blue: #16b8d6;
  --cnet-violet: #7354e8;
}

body:has(.page-content.user.signin) {
  background:
    radial-gradient(circle at 12% 12%, rgba(22, 184, 214, .12), transparent 29rem),
    radial-gradient(circle at 88% 86%, rgba(115, 84, 232, .11), transparent 32rem),
    #f4f7fb;
  color: var(--cnet-ink);
}

body:has(.page-content.user.signin) #navbar,
body:has(.page-content.user.signin) .full.height > .following.bar,
body:has(.page-content.user.signin) footer,
body:has(.page-content.user.signin) .page-content.user.signin .ui.top.attached.header,
body:has(.page-content.user.signin) .page-content.user.signin .ui.container.fluid + .ui.container.fluid,
body:has(.page-content.user.signin) .page-content.user.signin a[href="/user/forgot_password"] {
  display: none !important;
}

body:has(.page-content.user.signin) .full.height {
  min-height: 100vh;
  display: grid;
  place-items: center;
}

body:has(.page-content.user.signin) .page-content.user.signin {
  width: min(100% - 32px, 460px);
  margin: 0;
  padding: 0;
}

body:has(.page-content.user.signin) .page-content.user.signin::before {
  content: "";
  display: block;
  width: 220px;
  height: 64px;
  margin: 0 auto 18px;
  background: url("/assets/img/cnetgroup-logo.png") center / contain no-repeat;
}

body:has(.page-content.user.signin) .page-content.user.signin::after {
  content: "Закрытая система управления исходным кодом";
  display: block;
  margin: 18px auto 0;
  color: var(--cnet-muted);
  font-size: 13px;
  text-align: center;
}

body:has(.page-content.user.signin) .ui.middle.very.relaxed.page.grid,
body:has(.page-content.user.signin) .ui.middle.very.relaxed.page.grid > .column {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

body:has(.page-content.user.signin) .page-content.user.signin .ui.attached.segment {
  position: relative;
  overflow: hidden;
  padding: 34px 34px 30px;
  border: 1px solid var(--cnet-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 24px 70px rgba(8, 35, 66, .13);
}

body:has(.page-content.user.signin) .page-content.user.signin .ui.attached.segment::before {
  content: "Вход в систему";
  display: block;
  margin: 0 0 6px;
  font-size: 24px;
  font-weight: 800;
  color: var(--cnet-ink);
}

body:has(.page-content.user.signin) .page-content.user.signin .ui.attached.segment::after {
  content: "Только для сотрудников и авторизованных пользователей";
  display: block;
  position: absolute;
  top: 72px;
  left: 34px;
  right: 34px;
  color: var(--cnet-muted);
  font-size: 13px;
}

body:has(.page-content.user.signin) .page-content.user.signin form {
  padding-top: 43px;
}

body:has(.page-content.user.signin) .page-content.user.signin form label {
  color: var(--cnet-ink) !important;
  font-weight: 700;
}

body:has(.page-content.user.signin) .page-content.user.signin input[type="text"],
body:has(.page-content.user.signin) .page-content.user.signin input[type="password"] {
  min-height: 48px;
  border: 1px solid #cbd7e4;
  border-radius: 10px;
  background: #fff;
  color: var(--cnet-ink);
}

body:has(.page-content.user.signin) .page-content.user.signin input:focus {
  border-color: var(--cnet-blue) !important;
  box-shadow: 0 0 0 3px rgba(22, 184, 214, .13) !important;
}

body:has(.page-content.user.signin) .page-content.user.signin .ui.primary.button {
  min-height: 48px;
  border-radius: 11px;
  background: linear-gradient(115deg, var(--cnet-blue), var(--cnet-violet));
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(72, 101, 211, .22);
}

body:has(.page-content.user.signin) .page-content.user.signin .ui.primary.button:hover {
  filter: brightness(.96);
  transform: translateY(-1px);
}

@media (max-width: 520px) {
  body:has(.page-content.user.signin) .page-content.user.signin .ui.attached.segment {
    padding: 28px 22px 24px;
    border-radius: 16px;
  }
  body:has(.page-content.user.signin) .page-content.user.signin .ui.attached.segment::after {
    left: 22px;
    right: 22px;
  }
}
