@font-face{font-family:Manrope;src:url(../fonts/manrope.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"DM Mono";src:url(../fonts/dm-mono-400.woff2) format("woff2");font-weight:400;font-display:swap}

:root{
  color-scheme:dark;
  --dc-bg:#050505;
  --dc-panel:#0b0c0a;
  --dc-soft:#11130f;
  --dc-text:#f4f4f0;
  --dc-muted:#8f958a;
  --dc-line:rgba(244,244,240,.12);
  --dc-line-strong:rgba(244,244,240,.2);
  --dc-accent:#c0e937;
  --dc-accent-ink:#10110d;
  --dc-purple:#9575e3;
  --dc-font:Manrope,system-ui,sans-serif;
  --dc-mono:"DM Mono",ui-monospace,monospace;
  --color-base-100:var(--dc-bg);
  --color-base-200:var(--dc-panel);
  --color-base-300:var(--dc-soft);
  --color-base-content:var(--dc-text);
  --color-primary:var(--dc-accent);
  --color-primary-content:var(--dc-accent-ink);
  --color-neutral:var(--dc-accent);
  --color-neutral-content:var(--dc-accent-ink);
  --color-text:var(--dc-text);
  --color-border:var(--dc-line-strong);
  --color-link:var(--dc-accent);
}

html[data-theme-effective="light"]{
  color-scheme:light;
  --dc-bg:#ebece2;
  --dc-panel:#f8f9f3;
  --dc-soft:#e3e6d9;
  --dc-text:#171b14;
  --dc-muted:#687064;
  --dc-line:rgba(31,39,25,.14);
  --dc-line-strong:rgba(31,39,25,.23);
  --dc-accent:#89a813;
  --dc-accent-ink:#f7f9ef;
  --dc-purple:#7056be;
  --color-base-100:var(--dc-bg);
  --color-base-200:var(--dc-panel);
  --color-base-300:var(--dc-soft);
  --color-base-content:var(--dc-text);
  --color-primary:var(--dc-accent);
  --color-primary-content:var(--dc-accent-ink);
  --color-neutral:var(--dc-accent);
  --color-neutral-content:var(--dc-accent-ink);
  --color-text:var(--dc-text);
  --color-border:var(--dc-line-strong);
  --color-link:var(--dc-accent);
}

html,body{
  min-width:320px;
  background:var(--dc-bg)!important;
  color:var(--dc-text)!important;
  font-family:var(--dc-font);
  -webkit-font-smoothing:antialiased;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(color-mix(in srgb,var(--dc-text) 3.5%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--dc-text) 3.5%,transparent) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,#000,transparent 82%);
}

.auth-page-container{position:relative;z-index:1;background:transparent}
.auth-decoration{
  overflow:hidden;
  border-right:1px solid var(--dc-line);
  background:
    radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--dc-purple) 16%,transparent),transparent 34%),
    radial-gradient(circle at 78% 82%,color-mix(in srgb,var(--dc-accent) 13%,transparent),transparent 32%),
    var(--dc-panel)!important;
}
.auth-decoration::after{
  content:"";
  position:absolute;
  width:min(62vw,760px);
  aspect-ratio:1;
  right:-38%;
  top:-34%;
  border:1px solid color-mix(in srgb,var(--dc-accent) 22%,transparent);
  border-radius:50%;
  box-shadow:0 0 0 90px color-mix(in srgb,var(--dc-accent) 3%,transparent),0 0 0 190px color-mix(in srgb,var(--dc-purple) 2.5%,transparent);
  pointer-events:none;
}
.auth-decoration .grid-bg{
  opacity:.72;
  background-image:
    linear-gradient(color-mix(in srgb,var(--dc-text) 4%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--dc-text) 4%,transparent) 1px,transparent 1px)!important;
  background-size:64px 64px!important;
  mask-image:linear-gradient(135deg,#000,transparent 82%);
}
.auth-decoration .glow-1{background:color-mix(in srgb,var(--dc-accent) 14%,transparent)!important}
.auth-decoration .glow-2{background:color-mix(in srgb,var(--dc-purple) 13%,transparent)!important}
.auth-decoration .content{display:flex;flex-direction:column;align-items:center}
.auth-decoration .site-title{color:var(--dc-text);font-size:clamp(2rem,4vw,4.5rem);line-height:.95;letter-spacing:-.055em}
.auth-decoration .site-subtitle{color:var(--dc-muted);line-height:1.7}
.auth-bg-overlay{background:linear-gradient(135deg,color-mix(in srgb,var(--dc-bg) 35%,transparent),color-mix(in srgb,var(--dc-bg) 74%,transparent))!important}

.auth-form-area{isolation:isolate;background:color-mix(in srgb,var(--dc-bg) 96%,transparent)!important}
.auth-form-area::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(circle at 75% 8%,color-mix(in srgb,var(--dc-accent) 8%,transparent),transparent 28%);
}
.auth-form-wrapper{max-width:24rem}

.dc-auth-logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  color:var(--dc-text);
  text-decoration:none;
}
.dc-auth-logo:hover{color:var(--dc-text)}
.dc-auth-logo .dc-brand-logo{display:block;width:38px;height:38px;object-fit:contain;flex:none;filter:drop-shadow(0 0 14px color-mix(in srgb,var(--dc-accent) 16%,transparent))}
.dc-auth-logo-copy{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.dc-auth-logo-copy b{font-size:18px;font-weight:760;letter-spacing:-.04em}
.dc-auth-logo-copy small{color:var(--dc-muted);font:400 8px/1 var(--dc-mono);letter-spacing:.18em}
.auth-decoration .dc-auth-logo{margin-bottom:2rem}
.auth-decoration .dc-auth-logo-copy{display:none}
.auth-decoration .dc-auth-logo .dc-brand-logo{width:72px;height:72px}
.dc-auth-logo--compact{margin-inline:auto;gap:9px;font-size:15px;font-weight:750;letter-spacing:-.03em}
.dc-auth-logo--compact .dc-brand-logo{width:20px;height:20px;filter:none;transition:transform .42s cubic-bezier(.2,.8,.2,1),filter .32s ease}
.dc-auth-logo--compact .dc-auth-logo-copy{gap:9px}
.dc-auth-logo--compact .dc-auth-logo-copy b{font-size:15px;font-weight:750;letter-spacing:-.03em}
.dc-auth-logo--compact:hover .dc-brand-logo,.dc-auth-logo--compact:focus-visible .dc-brand-logo{transform:rotate(-9deg) scale(1.08);filter:drop-shadow(0 0 7px color-mix(in srgb,var(--dc-accent) 44%,transparent))}
.dc-auth-logo--icon-only{display:flex;width:max-content;margin:0 auto 1.75rem}
.dc-auth-logo--icon-only .dc-brand-logo{width:64px;height:64px}
.logout-page-wrapper .halo-logo{display:none!important}
.logout-page-wrapper .halo-logo img{content:url("../favicon.svg")}
.logout-page-wrapper .halo-form-wrapper{margin-top:0}
.logout-page-wrapper .form-title{color:var(--dc-text)}
.logout-page-wrapper .user-name{color:var(--dc-text)!important}
.logout-page-wrapper .cancel-link{color:var(--dc-accent)!important}

.gateway-wrapper{
  --color-primary:var(--dc-accent)!important;
  --color-secondary:var(--dc-muted)!important;
  --color-link:var(--dc-accent)!important;
  --color-text:var(--dc-text)!important;
  --color-border:var(--dc-line-strong)!important;
  color:var(--dc-text);
}
.gateway-wrapper h1,.gateway-wrapper h2,.gateway-wrapper h3,.halo-form label{color:var(--dc-text)}
.gateway-wrapper p,.gateway-wrapper .text-sm,.gateway-wrapper .text-base-content\/60{color:var(--dc-muted)}
.gateway-wrapper a{color:var(--dc-muted);text-underline-offset:3px}
.gateway-wrapper a:hover{color:var(--dc-accent)}

.halo-form-wrapper{
  border:1px solid var(--dc-line)!important;
  border-radius:18px!important;
  background:color-mix(in srgb,var(--dc-panel) 92%,transparent)!important;
  box-shadow:0 24px 70px color-mix(in srgb,#000 30%,transparent)!important;
}
.halo-form .form-input,
.halo-form .form-input-group button{
  border-color:var(--dc-line-strong)!important;
  background:var(--dc-bg)!important;
  color:var(--dc-text)!important;
}
.halo-form .form-input:hover{border-color:color-mix(in srgb,var(--dc-accent) 36%,var(--dc-line-strong))!important}
.halo-form .form-input:focus-within{
  border-color:var(--dc-accent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--dc-accent) 13%,transparent)!important;
}
.halo-form .form-item input{color:var(--dc-text)!important}
.halo-form .form-item input::placeholder{color:color-mix(in srgb,var(--dc-muted) 72%,transparent)!important}
.halo-form button[type="submit"]{
  min-height:50px;
  border:1px solid var(--dc-accent)!important;
  border-radius:12px!important;
  background:var(--dc-accent)!important;
  color:var(--dc-accent-ink)!important;
  box-shadow:0 12px 28px color-mix(in srgb,var(--dc-accent) 17%,transparent)!important;
}
.halo-form button[type="submit"]:hover{
  opacity:1!important;
  transform:translateY(-2px);
  filter:brightness(1.06);
  box-shadow:0 16px 34px color-mix(in srgb,var(--dc-accent) 23%,transparent)!important;
}
.gateway-wrapper .halo-form input[type="checkbox"]{
  border-color:var(--dc-line-strong)!important;
  background-color:var(--dc-bg)!important;
  color:var(--dc-accent)!important;
}
.gateway-wrapper .halo-form input[type="checkbox"]:checked{
  border-color:var(--dc-accent)!important;
  background-color:var(--dc-accent)!important;
}
.gateway-wrapper .halo-form input[type="checkbox"]:focus{
  box-shadow:0 0 0 2px var(--dc-bg),0 0 0 4px var(--dc-accent)!important;
}
.pill-items li,.alert{
  border-color:var(--dc-line)!important;
  background:var(--dc-panel)!important;
  color:var(--dc-text)!important;
}
.pill-items li:hover{border-color:color-mix(in srgb,var(--dc-accent) 52%,var(--dc-line))!important;background:color-mix(in srgb,var(--dc-accent) 7%,var(--dc-panel))!important}
.divider-wrapper{color:var(--dc-muted)!important}
.divider-wrapper hr{border-color:var(--dc-line)!important}

.lang-switcher-pos{top:1.25rem;right:1.25rem}
.lang-switcher-pos .language-switcher{margin:0!important;color:var(--dc-muted)!important}
.lang-switcher-pos .language-switcher label{color:var(--dc-muted)!important}
.lang-switcher-pos .language-switcher select{
  min-height:38px;
  border:0!important;
  border-bottom:1px solid var(--dc-line-strong)!important;
  border-radius:0!important;
  background-color:transparent!important;
  color:var(--dc-text)!important;
  box-shadow:none!important;
}
.lang-switcher-pos .language-switcher select:hover{border-color:color-mix(in srgb,var(--dc-accent) 62%,var(--dc-line-strong))!important}
.lang-switcher-pos .language-switcher select:focus{border-color:var(--dc-accent)!important;box-shadow:none!important}
.back-home a{color:var(--dc-muted)!important}
.back-home a:hover{color:var(--dc-accent)!important}

@media(min-width:1024px){.dc-auth-logo--compact{display:none}}
@media(max-width:1023px){
  .auth-form-area{background:var(--dc-bg)!important}
  .auth-form-wrapper{max-width:24rem}
}
@media(max-width:520px){
  .auth-form-area{align-items:flex-start;padding:5.5rem 1rem 2rem}
  .auth-form-wrapper{max-width:100%}
  .dc-auth-logo .dc-brand-logo{width:32px;height:32px}
  .dc-auth-logo-copy b{font-size:16px}
  .dc-auth-logo--compact .dc-brand-logo{width:20px;height:20px}
  .dc-auth-logo--compact .dc-auth-logo-copy b{font-size:15px}
  .halo-form-wrapper{border-radius:15px!important}
}

@media(prefers-reduced-motion:reduce){.halo-form button[type="submit"]{transition:none!important}}
