:root {
  --font-sans: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --color-primary: #238a42;
  --color-primary-strong: #146c31;
  --color-accent: #71e193;
  --color-bg: #edf6ef;
  --color-surface: rgba(255, 255, 255, 0.84);
  --color-text: #183522;
  --color-text-soft: #64756a;
  --color-border: rgba(27, 100, 50, 0.15);
  --color-input: rgba(255, 255, 255, 0.88);
  --color-danger: #ca3d49;
  --color-danger-soft: #fff0f1;
  --shadow-card: 0 34px 90px -38px rgba(9, 57, 24, 0.5);
  --transition: 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

html[data-theme="dark"] {
  --color-primary: #42b965;
  --color-primary-strong: #249749;
  --color-accent: #84eba2;
  --color-bg: #0b130e;
  --color-surface: rgba(20, 32, 24, 0.88);
  --color-text: #eef8f0;
  --color-text-soft: #9eb1a2;
  --color-border: rgba(231, 250, 236, 0.11);
  --color-input: rgba(8, 17, 11, 0.66);
  --color-danger: #f06b76;
  --color-danger-soft: #3b1e23;
  --shadow-card: 0 38px 100px -34px rgba(0, 0, 0, 0.9);
}

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; }
body {
  min-height: 100vh;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 78px 22px 28px;
  overflow-x: hidden;
  color: var(--color-text);
  font-family: var(--font-sans);
  background:
    radial-gradient(circle at 12% 12%, rgba(102, 224, 137, 0.35), transparent 24rem),
    radial-gradient(circle at 86% 90%, rgba(23, 125, 55, 0.27), transparent 32rem),
    linear-gradient(145deg, #dceee1, var(--color-bg) 48%, #f7fbf8);
  transition: color var(--transition), background-color var(--transition);
}
html[data-theme="dark"] body {
  background:
    radial-gradient(circle at 12% 12%, rgba(68, 193, 103, 0.2), transparent 24rem),
    radial-gradient(circle at 86% 90%, rgba(25, 128, 58, 0.14), transparent 32rem),
    linear-gradient(145deg, #08110b, var(--color-bg) 48%, #101c13);
}
body::before, body::after { position: fixed; content: ""; pointer-events: none; }
body::before {
  width: 470px; height: 470px; top: -300px; right: -170px;
  border: 1px solid rgba(35,138,66,.14); border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(35,138,66,.025), 0 0 0 140px rgba(35,138,66,.018);
}
body::after {
  inset: 0; opacity: .34;
  background-image: linear-gradient(rgba(27,107,50,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(27,107,50,.035) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(to bottom right, black, transparent 72%);
}
button, input { color: inherit; font: inherit; }
svg { width: 1.1em; height: 1.1em; }
:focus-visible { outline: 3px solid rgba(35,138,66,.34); outline-offset: 3px; }

.theme-toggle {
  position: fixed; z-index: 10; top: 20px; right: 22px; min-height: 42px;
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px;
  color: var(--color-primary-strong); border: 1px solid var(--color-border); border-radius: 999px;
  background: var(--color-surface); box-shadow: 0 12px 32px -22px rgba(12,67,29,.48); backdrop-filter: blur(16px);
  font-size: 13px; font-weight: 750; cursor: pointer;
  transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
}
.theme-toggle:hover { border-color: var(--color-primary); box-shadow: 0 18px 38px -22px rgba(35,138,66,.62); transform: translateY(-2px); }
.theme-toggle-icon { display: inline-flex; }
.theme-toggle-sun, html[data-theme="dark"] .theme-toggle-moon { display: none; }
html[data-theme="dark"] .theme-toggle-sun { display: inline-flex; }

.card {
  position: relative; z-index: 1; width: min(100%, 430px); padding: 36px; overflow: hidden;
  border: 1px solid var(--color-border); border-radius: 28px;
  background: linear-gradient(145deg, var(--color-surface), color-mix(in srgb, var(--color-surface) 78%, transparent));
  box-shadow: var(--shadow-card); backdrop-filter: blur(22px);
}
.card::before { position: absolute; content: ""; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, #11662f, var(--color-primary), var(--color-accent), transparent 92%); }
.card::after { position: absolute; z-index: -1; content: ""; width: 210px; height: 210px; right: -130px; top: -120px; border-radius: 50%; background: radial-gradient(circle, rgba(86,214,121,.22), transparent 67%); }
.logo {
  width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px;
  color: #fff; border: 1px solid rgba(255,255,255,.35); border-radius: 21px;
  background: linear-gradient(145deg, var(--color-accent), var(--color-primary) 58%, var(--color-primary-strong));
  box-shadow: 0 22px 50px -21px rgba(35,138,66,.85), inset 0 1px rgba(255,255,255,.35);
  animation: logo-in 520ms cubic-bezier(.2,.9,.3,1.2) both;
}
.logo svg { width: 31px; height: 31px; stroke-width: 2.2; }
.eyebrow { margin-bottom: 7px; color: var(--color-primary); font-size: 10px; font-weight: 850; letter-spacing: .16em; text-align: center; text-transform: uppercase; }
h1 { margin: 0 0 7px; color: var(--color-text); font-size: clamp(26px, 7vw, 32px); letter-spacing: -.045em; text-align: center; }
.sub { margin-bottom: 27px; color: var(--color-text-soft); font-size: 14px; text-align: center; }
.field { display: block; margin-bottom: 16px; }
.field > span:first-child { display: block; margin: 0 0 6px 2px; color: var(--color-text-soft); font-size: 12px; font-weight: 750; }
.field-control { position: relative; display: block; }
.field-control > svg { position: absolute; z-index: 2; top: 50%; left: 14px; width: 18px; height: 18px; color: var(--color-text-soft); pointer-events: none; transform: translateY(-50%); }
input { width: 100%; height: 50px; padding: 12px 14px 12px 43px; border: 1px solid var(--color-border); border-radius: 13px; background: var(--color-input); transition: border-color var(--transition), box-shadow var(--transition), background var(--transition); }
input::placeholder { color: color-mix(in srgb, var(--color-text-soft) 72%, transparent); }
input:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-primary) 15%, transparent), 0 13px 28px -22px rgba(35,138,66,.52); }
.field-control:focus-within > svg { color: var(--color-primary); }
.login-button {
  width: 100%; height: 50px; display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 5px;
  color: #fff; border: 1px solid rgba(255,255,255,.14); border-radius: 13px;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-strong));
  box-shadow: 0 18px 36px -19px rgba(35,138,66,.82), inset 0 1px rgba(255,255,255,.22);
  font-weight: 800; cursor: pointer; transition: transform var(--transition), box-shadow var(--transition), filter var(--transition);
}
.login-button:hover { box-shadow: 0 24px 44px -20px rgba(35,138,66,.94), inset 0 1px rgba(255,255,255,.25); filter: saturate(1.1) brightness(1.04); transform: translateY(-2px); }
.login-button:active { transform: translateY(0) scale(.99); }
.login-button svg { transition: transform var(--transition); }
.login-button:hover svg { transform: translateX(3px); }
.erro { display: flex; align-items: center; justify-content: center; margin-bottom: 18px; padding: 11px; color: var(--color-danger); border: 1px solid color-mix(in srgb, var(--color-danger) 28%, transparent); border-radius: 12px; background: var(--color-danger-soft); font-size: 13px; font-weight: 750; text-align: center; }
.footer { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 23px; color: var(--color-text-soft); font-size: 11px; text-align: center; }
.footer svg { width: 14px; height: 14px; color: var(--color-primary); }
@keyframes logo-in { from { opacity: 0; transform: translateY(12px) scale(.8) rotate(-8deg); } to { opacity: 1; transform: translateY(0) scale(1) rotate(0); } }
@media (max-width: 520px) {
  body { padding: 72px 14px 20px; }
  .theme-toggle { top: 14px; right: 14px; }
  .card { padding: 29px 22px; border-radius: 23px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Logo oficial Semeg na tela de login. */
.logo.logo-semeg {
  width: 82px;
  height: 82px;
  padding: 10px;
  overflow: hidden;
  border-color: rgba(35, 138, 66, 0.16);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 22px 50px -25px rgba(21, 109, 48, 0.72), inset 0 1px rgba(255, 255, 255, 0.92);
}
.logo.logo-semeg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
html[data-theme="dark"] .logo.logo-semeg {
  border-color: rgba(113, 225, 147, 0.22);
  background: rgba(245, 252, 247, 0.95);
  box-shadow: 0 24px 54px -26px rgba(55, 196, 95, 0.64), inset 0 1px rgba(255, 255, 255, 0.94);
}
@media (max-width: 520px) {
  .logo.logo-semeg { width: 72px; height: 72px; padding: 9px; border-radius: 21px; }
}

/* ==========================================================
   LOGO SEMEG — anel neon animado no login
   ========================================================== */
.logo.logo-semeg {
  position: relative;
  isolation: isolate;
  width: 94px;
  height: 94px;
  margin-bottom: 19px;
  padding: 7px;
  overflow: visible;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  animation: logo-in .55s cubic-bezier(.2,.85,.2,1) both;
}

.logo.logo-semeg::before,
.logo.logo-semeg::after {
  position: absolute;
  content: "";
  pointer-events: none;
  border-radius: 50%;
}

.logo.logo-semeg::before {
  inset: -9px;
  z-index: -1;
  background: conic-gradient(
    from 0deg,
    transparent 0deg 195deg,
    rgba(94, 255, 143, .12) 216deg,
    #a0ffb8 235deg,
    #36ff79 254deg,
    #00df58 273deg,
    rgba(16, 240, 82, .32) 300deg,
    transparent 330deg 360deg
  );
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 3px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 3px));
  filter:
    drop-shadow(0 0 5px rgba(84, 255, 134, 1))
    drop-shadow(0 0 13px rgba(22, 231, 88, .72))
    drop-shadow(0 0 24px rgba(16, 193, 68, .28));
  animation: semeg-login-neon-spin 2.9s linear infinite;
}

.logo.logo-semeg::after {
  inset: -7px;
  z-index: -2;
  border: 1px solid rgba(72, 255, 126, .46);
  box-shadow:
    0 0 10px rgba(39, 242, 99, .38),
    0 0 24px rgba(18, 200, 70, .18),
    inset 0 0 9px rgba(50, 255, 111, .16);
  animation: semeg-login-neon-breathe 2.2s ease-in-out infinite;
}

.logo.logo-semeg img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  border-radius: 50%;
  filter: drop-shadow(0 0 6px rgba(31, 223, 86, .22));
}

html[data-theme="dark"] .logo.logo-semeg,
html[data-theme="light"] .logo.logo-semeg {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.logo.logo-semeg:hover::before {
  filter:
    drop-shadow(0 0 6px rgba(104, 255, 150, 1))
    drop-shadow(0 0 17px rgba(22, 243, 91, .88))
    drop-shadow(0 0 30px rgba(15, 200, 68, .38));
}

.logo.logo-semeg:hover {
  transform: scale(1.035);
}

@keyframes semeg-login-neon-spin {
  to { transform: rotate(360deg); }
}

@keyframes semeg-login-neon-breathe {
  0%, 100% { opacity: .58; transform: scale(.985); }
  50% { opacity: 1; transform: scale(1.045); }
}

@media (max-width: 520px) {
  .logo.logo-semeg {
    width: 82px;
    height: 82px;
    padding: 6px;
    border-radius: 50%;
  }
}

/* ======================================================================
   SEMEG 2026 — LOGIN NEON / ENERGY THREADS
   ====================================================================== */
:root {
  --login-neon:#18f06a;
  --login-neon-2:#79ff9d;
}
html[data-theme="dark"] body {
  background:
    radial-gradient(circle at 10% 10%, rgba(22,138,60,.24), transparent 30rem),
    radial-gradient(circle at 86% 90%, rgba(8,90,35,.12), transparent 34rem),
    linear-gradient(145deg,#030905,#07110b 52%,#051009);
}
.login-card-neon { width:min(100%,520px); padding:38px 46px 36px; border-radius:27px; }
.login-card-neon h1 { font-size:34px; }
.login-card-neon .sub { margin-bottom:28px; }

.neon-logo {
  --logo-size:142px;
  position:relative; isolation:isolate; width:var(--logo-size); height:var(--logo-size); display:grid; place-items:center;
  margin:0 auto 25px; border-radius:50%; overflow:visible;
}
.neon-logo img { position:relative;z-index:7;width:72%;height:72%;object-fit:contain;border-radius:50%;filter:drop-shadow(0 0 8px rgba(46,255,110,.25)); }
.neon-orbit { position:absolute;z-index:2;border-radius:50%;pointer-events:none; }
.neon-orbit::before { position:absolute;content:"";inset:0;border-radius:50%; }
.neon-orbit-a { inset:-7%;animation:login-orbit-a 4.1s linear infinite; }
.neon-orbit-a::before { background:conic-gradient(from 0deg,transparent 0 10%,rgba(117,255,154,.15) 13%,#9affb0 16%,#2dff72 19%,transparent 25% 48%,#4fff84 52%,transparent 57% 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));filter:drop-shadow(0 0 5px #79ff9b) drop-shadow(0 0 14px rgba(25,255,101,.92)) drop-shadow(0 0 30px rgba(5,203,71,.30)); }
.neon-orbit-b { inset:-13%;animation:login-orbit-b 6.4s linear infinite;opacity:.84; }
.neon-orbit-b::before { background:conic-gradient(from 182deg,transparent 0 21%,rgba(89,255,137,.18) 24%,#31f873 27%,transparent 31% 59%,rgba(109,255,150,.12) 63%,#8dffa7 67%,transparent 72% 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));filter:drop-shadow(0 0 8px rgba(33,255,103,.60)); }
.neon-orbit-c { inset:-19%;border:1px solid rgba(80,255,130,.17);box-shadow:0 0 14px rgba(32,255,99,.15),inset 0 0 9px rgba(51,255,112,.07);animation:login-orbit-c 5.4s ease-in-out infinite; }
.neon-particles { position:absolute;inset:-25%;z-index:6;border-radius:50%;animation:login-particles 7.5s linear infinite;pointer-events:none; }
.neon-particles::before,.neon-particles::after { position:absolute;content:"";width:3px;height:3px;border-radius:50%;background:#b3ffc0;box-shadow:0 0 5px #67ff90,0 0 12px rgba(45,255,108,.95); }
.neon-particles::before { left:50%;top:0;box-shadow:0 0 5px #67ff90,0 0 12px rgba(45,255,108,.95),31px 11px 0 -1px #43ff7e,-23px 19px 0 -1px #acffb9,48px 49px 0 -1px #2eff70,-42px 58px 0 -1px #5eff8c,38px 92px 0 -1px #a0ffb1,-25px 110px 0 -1px #34f173; }
.neon-particles::after { right:7%;top:37%;width:2px;height:2px;box-shadow:0 0 6px #7cff9b,-64px -31px 0 -1px #3eff79,-83px 18px 0 -1px #adffbc,-39px 70px 0 -1px #34ee70,18px 53px 0 -1px #7fff9d;animation:login-particle-pulse 1.7s ease-in-out infinite; }
.neon-logo::before { position:absolute;content:"";inset:12%;z-index:1;border-radius:50%;background:radial-gradient(circle,rgba(35,255,103,.15),transparent 66%);filter:blur(10px);animation:login-core 2.2s ease-in-out infinite; }
@keyframes login-orbit-a { to{transform:rotate(360deg);} }
@keyframes login-orbit-b { to{transform:rotate(-360deg);} }
@keyframes login-orbit-c { 0%,100%{opacity:.36;transform:scale(.98) rotate(0);}50%{opacity:.76;transform:scale(1.04) rotate(180deg);} }
@keyframes login-particles { to{transform:rotate(360deg);} }
@keyframes login-particle-pulse { 0%,100%{opacity:.30;transform:scale(.65);}50%{opacity:1;transform:scale(1.8);} }
@keyframes login-core { 0%,100%{opacity:.45;transform:scale(.92);}50%{opacity:1;transform:scale(1.08);} }

html[data-theme="dark"] .field-control input { border-color:rgba(91,255,139,.16);background:rgba(1,13,6,.62); }
html[data-theme="dark"] .field-control input:focus { border-color:rgba(75,255,130,.58);box-shadow:0 0 0 3px rgba(40,255,106,.08),0 0 24px -12px rgba(35,255,105,.62); }
html[data-theme="dark"] .login-button { background:linear-gradient(135deg,#22d966,#09a94a);box-shadow:0 0 28px -13px rgba(38,255,105,.76),inset 0 1px rgba(255,255,255,.20); }
html[data-theme="dark"] .login-button:hover { box-shadow:0 0 34px -10px rgba(43,255,110,.92),inset 0 1px rgba(255,255,255,.24); }

@media (max-width:520px){
  .login-card-neon{padding:30px 22px 28px;}
  .neon-logo{--logo-size:112px;}
  .login-card-neon h1{font-size:29px;}
}
@media (prefers-reduced-motion:reduce){.neon-orbit,.neon-particles,.neon-logo::before,.neon-particles::after{animation:none!important;}}

/* REDESIGN V3 — light theme sage, dark theme plasma */
:root{--color-bg:#dfece3;--color-surface:rgba(229,240,232,.92);--color-input:#e4efe7;--color-text:#183824;--color-text-soft:#59705f;--color-border:rgba(15,125,48,.22)}
body{background:radial-gradient(circle at 10% 10%,rgba(32,171,73,.19),transparent 28rem),linear-gradient(145deg,#d5e7da,#e3eee6 52%,#d9e9de)}
html[data-theme="light"] .card{background:linear-gradient(145deg,#e5f0e8,#dbeade);border-color:rgba(15,137,51,.28);box-shadow:0 28px 75px -44px rgba(13,70,31,.48)}
html[data-theme="light"] input{background:#dce9df;border-color:rgba(16,130,50,.24)}
html[data-theme="dark"] body{background:radial-gradient(circle at 11% 11%,rgba(0,171,63,.15),transparent 30rem),linear-gradient(145deg,#020704,#041109 52%,#020b05)}
html[data-theme="dark"] .login-card-neon{background:linear-gradient(145deg,rgba(2,17,8,.96),rgba(4,24,12,.92));border-color:rgba(34,255,106,.28);box-shadow:0 0 36px -25px rgba(26,255,104,.42),0 34px 90px -42px #000}
html[data-theme="dark"] input{background:#031009;border-color:rgba(47,224,102,.22)}

/* Plasma energy halo: thick irregular ring + counter-rotating wires + dust */
.neon-logo--login{--logo-size:154px;width:var(--logo-size);height:var(--logo-size);position:relative;isolation:isolate;display:grid;place-items:center;margin:0 auto 26px;border-radius:50%;overflow:visible}
.neon-logo--login img{position:relative;z-index:10;width:67%;height:67%;object-fit:contain;filter:drop-shadow(0 0 7px rgba(48,255,111,.30));animation:login-plasma-core 3.6s ease-in-out infinite}
.neon-logo--login::before{position:absolute;content:"";z-index:0;inset:12%;border-radius:50%;background:radial-gradient(circle,rgba(50,255,111,.18),rgba(12,151,56,.07) 40%,transparent 70%);filter:blur(10px);animation:login-plasma-bloom 1.8s ease-in-out infinite}
.neon-logo--login::after{position:absolute;content:"";z-index:1;inset:-7%;border-radius:50%;border:3px solid rgba(69,255,125,.24);box-shadow:0 0 7px #34ff79,0 0 18px rgba(32,255,107,.66),0 0 37px rgba(10,211,71,.28),inset 0 0 13px rgba(62,255,119,.23);animation:login-plasma-breathe 1.28s ease-in-out infinite}
.neon-logo--login .neon-orbit{position:absolute;z-index:4;border-radius:50%;mix-blend-mode:screen;pointer-events:none}
.neon-logo--login .neon-orbit::before,.neon-logo--login .neon-orbit::after{position:absolute;content:"";inset:0;border-radius:50%}
.neon-logo--login .neon-orbit-a{inset:-11%;animation:login-wire-a 2.7s linear infinite}
.neon-logo--login .neon-orbit-a::before{background:conic-gradient(from 5deg,transparent 0 4%,#c8ffd3 7%,#35ff79 10%,transparent 14% 23%,#24f36b 27%,transparent 31% 51%,#9cffb4 55%,#24ff70 59%,transparent 64% 82%,#48ff84 87%,transparent 92%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5px));mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5px));filter:drop-shadow(0 0 4px #baffc7) drop-shadow(0 0 10px #38ff7b) drop-shadow(0 0 22px rgba(23,247,92,.9))}
.neon-logo--login .neon-orbit-a::after{inset:4%;background:conic-gradient(from 142deg,transparent 0 18%,#45ff82 21%,transparent 25% 45%,#afffc0 50%,#1ee76a 54%,transparent 58% 81%,#3aff7b 84%,transparent 88%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));filter:drop-shadow(0 0 6px #34ff79)}
.neon-logo--login .neon-orbit-b{inset:-18%;animation:login-wire-b 4.7s linear infinite}
.neon-logo--login .neon-orbit-b::before{background:conic-gradient(from 218deg,transparent 0 9%,rgba(59,255,124,.48) 12%,transparent 16% 31%,#7aff9e 35%,transparent 39% 58%,#baffc9 63%,#21f26c 66%,transparent 71% 91%,#40ff80 94%,transparent 98%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));filter:drop-shadow(0 0 6px rgba(43,255,114,.92))}
.neon-logo--login .neon-orbit-b::after{inset:6%;border:1px solid rgba(94,255,141,.25);box-shadow:0 0 8px rgba(45,255,113,.28),inset 0 0 7px rgba(48,255,114,.17)}
.neon-logo--login .neon-orbit-c{inset:-24%;animation:login-wire-c 6.5s linear infinite}
.neon-logo--login .neon-orbit-c::before{background:conic-gradient(from 72deg,transparent 0 17%,rgba(60,255,125,.21) 20%,transparent 23% 42%,rgba(112,255,151,.30) 45%,transparent 48% 69%,rgba(46,255,117,.28) 72%,transparent 77%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1px),#000 100%);mask:radial-gradient(farthest-side,transparent calc(100% - 1px),#000 100%);filter:drop-shadow(0 0 5px rgba(34,255,109,.5))}
.neon-logo--login .neon-particles{position:absolute;z-index:8;inset:-31%;border-radius:50%;animation:login-dust 8s linear infinite;pointer-events:none}
.neon-logo--login .neon-particles::before,.neon-logo--login .neon-particles::after{position:absolute;content:"";border-radius:50%;background:#c0ffcc}
.neon-logo--login .neon-particles::before{width:3px;height:3px;left:50%;top:2%;box-shadow:0 0 5px #6dff96,0 0 11px #2cff70,25px 8px 0 -1px #44ff81,48px 28px 0 -1px #abffbc,57px 62px 0 -1px #24ef6b,46px 98px 0 -1px #79ff9d,16px 124px 0 -1px #36ff79,-20px 10px 0 -1px #83ffa5,-48px 31px 0 -1px #2aff70,-62px 69px 0 -1px #a6ffb8,-43px 105px 0 -1px #3bff7c,-8px 130px 0 -1px #74ff99;animation:login-spark 1.32s ease-in-out infinite}
.neon-logo--login .neon-particles::after{width:2px;height:2px;right:6%;top:41%;box-shadow:0 0 6px #7dffa0,-22px -56px 0 -1px #3cff7c,-61px -39px 0 -1px #b8ffc5,-84px -4px 0 -1px #2aff70,-78px 40px 0 -1px #73ff98,-39px 73px 0 -1px #2bf474,10px 61px 0 -1px #a7ffb9;animation:login-spark 1.82s .35s ease-in-out infinite reverse}
@keyframes login-wire-a{to{transform:rotate(360deg) scale(1.015)}}@keyframes login-wire-b{to{transform:rotate(-360deg) scale(.99)}}@keyframes login-wire-c{to{transform:rotate(360deg)}}@keyframes login-dust{to{transform:rotate(-360deg)}}@keyframes login-plasma-breathe{0%,100%{opacity:.62;transform:scale(.965)}45%{opacity:1;transform:scale(1.06)}72%{opacity:.78;transform:scale(1.015)}}@keyframes login-plasma-bloom{0%,100%{opacity:.42;transform:scale(.9)}50%{opacity:1;transform:scale(1.18)}}@keyframes login-plasma-core{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes login-spark{0%,100%{opacity:.18;filter:brightness(.8)}45%{opacity:1;filter:brightness(1.8)}70%{opacity:.44}}
@media(max-width:520px){.neon-logo--login{--logo-size:130px}}

/* SEMEG — LIGHT LOGIN TYPOGRAPHY CONTRAST FIX */
html[data-theme="light"] {
  --color-text: #102f1c;
  --color-text-soft: #3b5d47;
  --color-text-faint: #667d6d;
  --color-primary-strong: #066e30;
}
html[data-theme="light"] body,
html[data-theme="light"] .card { color:#102f1c; }
html[data-theme="light"] h1 { color:#102f1c; }
html[data-theme="light"] .sub,
html[data-theme="light"] .field > span:first-child,
html[data-theme="light"] .footer { color:#3b5d47; }
html[data-theme="light"] .field-control > svg { color:#506e59; }
html[data-theme="light"] input { color:#173d25; }
html[data-theme="light"] input::placeholder { color:#6c8172; opacity:1; }
html[data-theme="light"] .eyebrow { color:#087c37; }

/* SEMEG — LIGHT LOGIN DARK GREEN ENERGY */
html[data-theme="light"] {
  --login-light-green: #08783a;
  --login-light-green-strong: #045f2b;
}
html[data-theme="light"] .eyebrow { color:#087038 !important; }
html[data-theme="light"] .field-control > svg,
html[data-theme="light"] .login-footer-icon { color:#17663a !important; }
html[data-theme="light"] .neon-logo img {
  filter:drop-shadow(0 0 4px rgba(4,95,43,.20)) !important;
}
html[data-theme="light"] .neon-logo::before {
  background:radial-gradient(circle,rgba(7,111,51,.17),rgba(4,95,43,.06) 40%,transparent 70%) !important;
  filter:blur(8px) !important;
}
html[data-theme="light"] .neon-logo::after {
  border-color:rgba(4,95,43,.44) !important;
  box-shadow:0 0 5px rgba(4,95,43,.55),0 0 13px rgba(7,111,51,.28),0 0 25px rgba(4,95,43,.13),inset 0 0 9px rgba(6,103,47,.16) !important;
}
html[data-theme="light"] .neon-logo .neon-orbit-a::before {
  background:conic-gradient(from 5deg,transparent 0 4%,#176b3d 7%,#075f2d 10%,transparent 14% 23%,#087038 27%,transparent 31% 51%,#1b7041 55%,#076832 59%,transparent 64% 82%,#086f36 87%,transparent 92%) !important;
  filter:drop-shadow(0 0 3px rgba(4,95,43,.55)) drop-shadow(0 0 7px rgba(7,110,50,.27)) !important;
}
html[data-theme="light"] .neon-logo .neon-orbit-a::after {
  background:conic-gradient(from 142deg,transparent 0 18%,#087138 21%,transparent 25% 45%,#236d43 50%,#0a6934 54%,transparent 58% 81%,#075f2d 84%,transparent 88%) !important;
  filter:drop-shadow(0 0 4px rgba(4,95,43,.38)) !important;
}
html[data-theme="light"] .neon-logo .neon-orbit-b::before {
  background:conic-gradient(from 218deg,transparent 0 9%,rgba(6,105,48,.35) 12%,transparent 16% 31%,#146f3e 35%,transparent 39% 58%,#246e43 63%,#087038 66%,transparent 71% 91%,#075f2f 94%,transparent 98%) !important;
  filter:drop-shadow(0 0 4px rgba(4,95,43,.34)) !important;
}
html[data-theme="light"] .neon-logo .neon-orbit-b::after,
html[data-theme="light"] .neon-logo .neon-orbit-c {
  border-color:rgba(4,95,43,.22) !important;
  box-shadow:0 0 6px rgba(4,95,43,.14),inset 0 0 5px rgba(4,95,43,.08) !important;
}
html[data-theme="light"] .neon-particles::before,
html[data-theme="light"] .neon-particles::after {
  background:#0b6936 !important;
  filter:brightness(.82) saturate(.82) !important;
}
