:root {
  --sys-primary: #0071e3;
  --sys-accent: #0071e3;
  --sys-sidebar: #050507;
}

body, .login-page {
  font-family: Onest, "Source Sans Pro", system-ui, sans-serif;
}

.main-sidebar {
  background: #050507 !important;
}

.brand-link {
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .75rem 1rem !important;
}

.brand-link .brand-image {
  max-height: 42px !important;
  width: auto !important;
  max-width: 180px;
  opacity: 1 !important;
  float: none !important;
  margin: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.brand-link .brand-text {
  display: none !important;
}

.login-page .login-box .btn-primary,
.content-wrapper .btn-primary {
  background-color: var(--sys-accent);
  border-color: var(--sys-accent);
}

.login-page .login-box .btn-primary:hover,
.content-wrapper .btn-primary:hover {
  background-color: #0077ed;
  border-color: #0077ed;
}

.card-outline.card-primary {
  border-top: 3px solid var(--sys-accent) !important;
}

.content-header h1,
.card-title {
  font-weight: 600 !important;
}

.nav-header {
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45) !important;
}

.main-footer, .login-footer {
  color: #64748b;
  font-size: .85rem;
}

.help-banner {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: .5rem;
  padding: .85rem 1rem;
  margin-bottom: 1rem;
  color: #1e3a8a;
}

.help-banner strong { color: #1d4ed8; }

.save-workflow-banner {
  background: #fff7ed;
  border: 1px solid #fdba74;
  color: #9a3412;
}

.save-workflow-banner strong { color: #c2410c; }

[data-toggle="tooltip"] { cursor: help; }

.btn[title], button[title] { cursor: help; }

.modal-title { font-weight: 600; }

/* SysDNS login shell */
.sdns-login.login-page{
  background:#050507!important;
  min-height:100vh;
  display:flex;
  align-items:stretch;
  justify-content:center;
}
.sdns-login.login-page::before{
  content:"";
  position:fixed;
  inset:-20% -10% auto;
  height:60%;
  background:radial-gradient(ellipse at 50% 0,rgba(41,151,255,.35),transparent 58%);
  pointer-events:none;
}
.sdns-shell{
  position:relative;
  z-index:1;
  width:min(1100px,calc(100% - 32px));
  margin:auto;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:48px;
  align-items:center;
  padding:40px 0 56px;
}
.sdns-copy h1{
  margin:0 0 16px;
  font:700 clamp(48px,8vw,88px)/.92 Onest,system-ui,sans-serif;
  letter-spacing:-.035em;
  color:#f5f5f7;
}
.sdns-k{
  font:500 12px/1.2 "IBM Plex Mono",ui-monospace,monospace;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#64d2ff;
  margin:0 0 14px;
}
.sdns-lead{
  margin:0 0 22px;
  color:#a1a1a6;
  font-size:18px;
  line-height:1.45;
  max-width:28rem;
}
.sdns-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  list-style:none;
  margin:0 0 22px;
  padding:0;
}
.sdns-chips li{
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#f5f5f7;
  font:600 12px/1 "IBM Plex Mono",ui-monospace,monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.sdns-more{margin:0;color:#86868b;font-size:14px}
.sdns-more a{color:#64d2ff}
.sdns-login .login-box{width:100%;max-width:420px;margin:0}
.sdns-login .login-box .card{
  background:#111!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:22px!important;
  color:#f5f5f7;
}
.sdns-login .login-box .card-header{
  background:transparent!important;
  border:0;
  padding-top:1.5rem;
}
.sdns-login .sysprovider-login-logo{
  max-width:200px;
  height:auto;
  display:block;
  margin:0 auto .5rem;
  filter:brightness(0) invert(1);
}
.sdns-login .login-subtitle{
  text-align:center;
  color:#a1a1a6;
  font-size:.95rem;
  margin-bottom:0;
}
.sdns-login .login-card-body{background:transparent;color:#f5f5f7}
.sdns-login .form-control{
  background:#1c1c1e;
  border-color:rgba(255,255,255,.12);
  color:#f5f5f7;
}
.sdns-login .form-control::placeholder{color:#86868b}
.sdns-login label{color:#d2d2d7}
.sdns-login .btn-primary{
  min-height:44px;
  border-radius:980px;
  font-weight:650;
}
@media (max-width:768px){
  .sdns-shell{grid-template-columns:1fr;gap:28px;padding:28px 0 40px}
  .sdns-copy{text-align:center}
  .sdns-lead{margin-inline:auto}
  .sdns-chips{justify-content:center}
  .sdns-login .login-box{margin-inline:auto}
}
