:root {
  --arctica-navy: #061a3a;
  --arctica-blue: #0d3f78;
  --arctica-cyan: #09baf0;
  --arctica-ice: #eef9ff;
  --arctica-ink: #0b203b;
  --arctica-line: #c9dfed;
  --arctica-shadow: 0 18px 45px rgba(5, 27, 58, .10);
}

body {
  color: var(--arctica-ink);
  background:
    radial-gradient(circle at 100% 0, rgba(9, 186, 240, .10), transparent 28rem),
    linear-gradient(180deg, #f8fcff 0, #edf6fb 100%);
}

body > header {
  min-height: 76px;
  padding-block: 8px;
  background: linear-gradient(105deg, #04152f 0%, #092f62 64%, #075e91 100%);
  color: white;
  border-bottom: 1px solid rgba(112, 218, 255, .38);
  box-shadow: 0 8px 26px rgba(3, 22, 52, .22);
}

body > header > strong,
body > header > .brand:not(.arctica-brand-lockup) { display: none !important; }

.arctica-brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: max-content;
  color: white !important;
  text-decoration: none !important;
}

.arctica-brand-lockup img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  filter: drop-shadow(0 4px 9px rgba(4, 194, 255, .28));
}

.arctica-brand-lockup span { display: grid; line-height: 1.05; }
.arctica-brand-lockup b { font-size: 17px; letter-spacing: .055em; }
.arctica-brand-lockup small {
  margin-top: 6px;
  color: #9de7ff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .025em;
  white-space: nowrap;
}

body > header nav a,
body > header nav b,
body > header nav span,
body > header nav button {
  color: white;
}

body > header nav a[aria-current="page"],
body > header nav b {
  color: #8de7ff;
}

.panel,
article,
form:not(#login):not(#login-form) {
  border-color: var(--arctica-line);
}

.panel {
  box-shadow: 0 10px 28px rgba(7, 42, 78, .065);
}

button.primary,
.primary {
  background: linear-gradient(135deg, #07558c, #08a9dd) !important;
  border-color: #0789bd !important;
  color: white !important;
  box-shadow: 0 8px 18px rgba(4, 121, 174, .20);
}

input:focus,
select:focus,
textarea:focus {
  outline: 3px solid rgba(9, 186, 240, .20);
  border-color: #079dce !important;
}

#login,
#login-view,
.login {
  position: relative;
  overflow: hidden;
  background: rgba(255, 255, 255, .94);
  border: 1px solid var(--arctica-line);
  box-shadow: var(--arctica-shadow);
}

#login { padding: 28px; border-radius: 16px; }
#login button,
#login-view button,
.login button {
  background: linear-gradient(135deg, #07558c, #08a9dd);
  border-color: #0789bd;
  color: white;
  font-weight: 750;
}

#login::after,
#login-view::after,
.login::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: -42px;
  bottom: -52px;
  width: 245px;
  height: 245px;
  background: url('/brand-owl.png') center/contain no-repeat;
  opacity: .055;
  pointer-events: none;
}

#login > *, #login-view > *, .login > * { position: relative; z-index: 1; }

@media (max-width: 760px) {
  body > header { min-height: 64px; padding: 6px 10px; gap: 8px; }
  .arctica-brand-lockup img { width: 48px; height: 48px; }
  .arctica-brand-lockup b { font-size: 14px; }
  .arctica-brand-lockup small { font-size: 9px; margin-top: 4px; }
  body > header nav { width: 100%; order: 3; }
}
