/*
 * RANJIT ONLINE — NEO 2099 HOLOGLASS UI
 * Visual layer only. Deliberately avoids generic table/form/text overrides
 * so existing service-detail formatting remains intact.
 */
:root{
  --neo-bg:#03050a;
  --neo-bg2:#070b14;
  --neo-ice:#dff8ff;
  --neo-muted:#8da0b8;
  --neo-cyan:#39e7ff;
  --neo-blue:#4f7dff;
  --neo-violet:#a86bff;
  --neo-pink:#ff4fd8;
  --neo-orange:#ff9f43;
  --neo-green:#37f6a3;
  --neo-red:#ff5c7c;
  --neo-line:rgba(190,230,255,.15);
  --neo-glass:rgba(8,13,24,.66);
  --neo-glass2:rgba(255,255,255,.045);
  --neo-shadow:0 22px 65px rgba(0,0,0,.38);
  --neo-radius:20px;
}

.neo2099-page{
  position:relative;
  min-height:100vh;
  background:
    radial-gradient(900px 500px at -10% -10%, rgba(57,231,255,.10), transparent 58%),
    radial-gradient(800px 520px at 110% 10%, rgba(255,79,216,.08), transparent 58%),
    radial-gradient(780px 500px at 45% 110%, rgba(55,246,163,.06), transparent 60%),
    linear-gradient(145deg,var(--neo-bg),var(--neo-bg2) 48%,#020308);
  isolation:isolate;
  overflow-x:hidden;
}

.neo2099-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(120,210,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(120,210,255,.035) 1px,transparent 1px),
    linear-gradient(135deg,transparent 0 48%,rgba(255,159,67,.035) 48.2%,transparent 48.8% 68%,rgba(55,246,163,.03) 68.2%,transparent 68.8%);
  background-size:42px 42px,42px 42px,210px 210px;
  mask-image:linear-gradient(to bottom,black,rgba(0,0,0,.25) 75%,transparent);
  animation:neoGridDrift 28s linear infinite;
}

.neo2099-page::after{
  content:"";
  position:fixed;
  width:56vw;height:56vw;min-width:380px;min-height:380px;
  right:-22vw;top:-20vw;
  z-index:-2;
  pointer-events:none;
  border-radius:50%;
  background:
    radial-gradient(circle at 30% 35%,rgba(57,231,255,.18),transparent 22%),
    radial-gradient(circle at 65% 65%,rgba(168,107,255,.15),transparent 25%),
    radial-gradient(circle at 50% 50%,rgba(255,79,216,.055),transparent 58%);
  filter:blur(10px);
  animation:neoAurora 15s ease-in-out infinite alternate;
}

/* Global, low-risk surfaces: visual only; no typography/data formatting changes. */
.neo2099-page .cardx,
.neo2099-page .card,
.neo2099-page .section-card,
.neo2099-page .login-box,
.neo2099-page .auth,
.neo2099-page .balance,
.neo2099-page .modal-content{
  position:relative;
  background:linear-gradient(145deg,rgba(14,20,34,.78),rgba(5,9,17,.72)) !important;
  border:1px solid var(--neo-line) !important;
  border-radius:var(--neo-radius) !important;
  box-shadow:var(--neo-shadow), inset 0 1px 0 rgba(255,255,255,.075) !important;
  backdrop-filter:blur(20px) saturate(145%);
  -webkit-backdrop-filter:blur(20px) saturate(145%);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}

.neo2099-page .cardx::before,
.neo2099-page .card::before,
.neo2099-page .section-card::before,
.neo2099-page .login-box::before,
.neo2099-page .auth::before,
.neo2099-page .balance::before{
  content:"";
  position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:
    linear-gradient(105deg,transparent 16%,rgba(57,231,255,.10) 22%,transparent 30%),
    linear-gradient(280deg,transparent 58%,rgba(255,79,216,.07) 64%,transparent 72%);
  opacity:.85;
}

.neo2099-page .cardx:hover,
.neo2099-page .card:hover,
.neo2099-page .section-card:hover,
.neo2099-page .balance:hover{
  transform:translateY(-5px);
  border-color:rgba(57,231,255,.38) !important;
  box-shadow:0 30px 90px rgba(0,0,0,.5),0 0 34px rgba(57,231,255,.09), inset 0 1px 0 rgba(255,255,255,.10) !important;
}

/* Holographic header/navigation */
.neo2099-page .az-nav,
.neo2099-page .top,
.neo2099-page .topbar{
  position:relative;
  background:linear-gradient(100deg,rgba(3,7,14,.92),rgba(9,15,28,.80) 45%,rgba(5,10,19,.94)) !important;
  border-bottom:1px solid rgba(57,231,255,.18) !important;
  box-shadow:0 14px 40px rgba(0,0,0,.35),0 0 28px rgba(57,231,255,.04) !important;
  backdrop-filter:blur(20px) saturate(150%);
  -webkit-backdrop-filter:blur(20px) saturate(150%);
}
.neo2099-page .az-nav::after,
.neo2099-page .top::after,
.neo2099-page .topbar::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,transparent,#39e7ff 18%,#a86bff 42%,#ff4fd8 58%,#ff9f43 76%,#37f6a3 92%,transparent);
  background-size:220% 100%;
  animation:neoLineSweep 6s linear infinite;
  opacity:.8;
}

.neo2099-page .sidebar{
  background:
    radial-gradient(circle at 25% 10%,rgba(57,231,255,.10),transparent 26%),
    radial-gradient(circle at 85% 80%,rgba(255,79,216,.08),transparent 24%),
    linear-gradient(180deg,#03060b,#070d17 55%,#020409) !important;
  border-right:1px solid rgba(57,231,255,.13) !important;
  box-shadow:18px 0 70px rgba(0,0,0,.42) !important;
}
.neo2099-page .sidebar::before{
  content:"";position:absolute;inset:auto -30% -8% -25%;height:220px;
  background:conic-gradient(from 120deg,rgba(57,231,255,.11),rgba(168,107,255,.07),rgba(255,79,216,.09),rgba(255,159,67,.08),rgba(55,246,163,.08),rgba(57,231,255,.11));
  filter:blur(30px);border-radius:50%;animation:neoOrbit 13s ease-in-out infinite;
  pointer-events:none;
}
.neo2099-page .side-link,
.neo2099-page .nav a,
.neo2099-page .cat-toggle{
  position:relative;
  border:1px solid transparent !important;
  transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease,color .22s ease !important;
}
.neo2099-page .side-link:hover,
.neo2099-page .side-link.active,
.neo2099-page .nav a:hover,
.neo2099-page .nav a.active,
.neo2099-page .cat-toggle:hover{
  transform:translateX(4px);
  background:linear-gradient(90deg,rgba(57,231,255,.11),rgba(168,107,255,.055),transparent) !important;
  border-color:rgba(57,231,255,.16) !important;
  box-shadow:inset 3px 0 0 #39e7ff,0 10px 22px rgba(0,0,0,.16) !important;
}

/* Neon accents without recoloring useful body text. */
.neo2099-page .brand,
.neo2099-page .brand-name{
  text-shadow:0 0 16px rgba(57,231,255,.24),0 0 30px rgba(168,107,255,.12);
}
.neo2099-page .brand-mark,
.neo2099-page .icon{
  position:relative;
  background:linear-gradient(135deg,#39e7ff,#4f7dff 36%,#a86bff 70%,#ff4fd8) !important;
  box-shadow:0 0 24px rgba(57,231,255,.20),0 0 22px rgba(255,79,216,.12),inset 0 1px 0 rgba(255,255,255,.45) !important;
  animation:neoIconFloat 5s ease-in-out infinite;
}

.neo2099-page .service,
.neo2099-page .service-card,
.neo2099-page .service-item > a > .cardx{
  overflow:hidden;
}
.neo2099-page .service::after,
.neo2099-page .service-card::after,
.neo2099-page .service-item > a > .cardx::after{
  content:"";position:absolute;top:-20%;left:-75%;width:42%;height:140%;
  transform:skewX(-22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.17),transparent);
  animation:neoShine 5.4s ease-in-out infinite;
  pointer-events:none;
}
.neo2099-page .service:hover,
.neo2099-page .service-card:hover{
  transform:translateY(-7px) scale(1.01);
  box-shadow:0 28px 62px rgba(0,0,0,.42),0 0 26px rgba(57,231,255,.10) !important;
}

/* Multi-color status/price glow; text colors remain inherited from existing markup. */
.neo2099-page .text-primary{filter:drop-shadow(0 0 7px rgba(79,125,255,.25))}
.neo2099-page .text-success{filter:drop-shadow(0 0 7px rgba(55,246,163,.22))}
.neo2099-page .text-warning{filter:drop-shadow(0 0 7px rgba(255,159,67,.22))}
.neo2099-page .text-danger{filter:drop-shadow(0 0 7px rgba(255,92,124,.22))}

/* Buttons: animated holographic chrome. */
.neo2099-page .btn{
  position:relative;
  isolation:isolate;
  border-radius:13px !important;
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
}
.neo2099-page .btn::after{
  content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;
  background:linear-gradient(110deg,transparent 22%,rgba(255,255,255,.26) 48%,transparent 69%);
  background-size:220% 100%;
  mix-blend-mode:screen;
  opacity:.42;
  animation:neoButtonSweep 4s linear infinite;
}
.neo2099-page .btn:hover{transform:translateY(-3px) scale(1.012);filter:saturate(1.12) brightness(1.06)}
.neo2099-page .btn-primary,
.neo2099-page .btn-main{
  background:linear-gradient(120deg,#36dfff,#4f7dff 35%,#a86bff 70%,#ff4fd8) !important;
  border:0 !important;color:#061018 !important;
  box-shadow:0 12px 30px rgba(57,231,255,.16),0 0 22px rgba(168,107,255,.10) !important;
  background-size:220% 220% !important;
  animation:neoGradientFlow 6s ease infinite;
}
.neo2099-page .btn-success{background:linear-gradient(120deg,#22dc98,#37f6a3 45%,#39e7ff) !important;color:#02140d !important;border:0 !important}
.neo2099-page .btn-warning{background:linear-gradient(120deg,#ff8f2b,#ffb85e,#ff4fd8) !important;color:#170901 !important;border:0 !important}
.neo2099-page .btn-danger{background:linear-gradient(120deg,#ff496b,#ff5c7c,#a86bff) !important;color:#fff !important;border:0 !important}
.neo2099-page .btn-light,.neo2099-page .btn-dark,.neo2099-page .btn-outline-secondary,.neo2099-page .btn-outline-light{
  background:rgba(255,255,255,.055) !important;color:inherit !important;border:1px solid rgba(196,224,255,.15) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 24px rgba(0,0,0,.18) !important;
}

/* Search and safe input polish: no text/value color overrides. */
.neo2099-page .search input:focus,
.neo2099-page input:focus,
.neo2099-page select:focus,
.neo2099-page textarea:focus{
  box-shadow:0 0 0 3px rgba(57,231,255,.10),0 0 26px rgba(79,125,255,.08) !important;
}

/* Futuristic section accents */
.neo2099-page .hero,
.neo2099-page .page-head{
  position:relative;
}
.neo2099-page .hero::before,
.neo2099-page .page-head::before{
  content:"";position:absolute;left:0;top:0;height:2px;width:100%;
  background:linear-gradient(90deg,#39e7ff,#4f7dff,#a86bff,#ff4fd8,#ff9f43,#37f6a3);
  background-size:250% 100%;animation:neoLineSweep 5s linear infinite;
  border-radius:99px;opacity:.78;
}

/* Login-specific futuristic treatment */
.neo2099-page .auth-wrap,
.neo2099-page .crystal-auth-page{
  position:relative;min-height:100vh;overflow:hidden;
  background:
    radial-gradient(700px 420px at 20% 20%,rgba(57,231,255,.13),transparent 58%),
    radial-gradient(620px 440px at 85% 80%,rgba(255,79,216,.12),transparent 60%),
    radial-gradient(520px 320px at 65% 15%,rgba(255,159,67,.08),transparent 60%),
    linear-gradient(145deg,#02040a,#060b16 50%,#020308) !important;
}
.neo2099-page .crystal-zigzag-layer::before,
.neo2099-page .crystal-zigzag-layer::after{
  content:"";position:absolute;inset:-20%;pointer-events:none;
  background:
    linear-gradient(135deg,transparent 0 48%,rgba(57,231,255,.32) 48.35%,transparent 48.7% 58%,rgba(255,79,216,.22) 58.35%,transparent 58.7% 67%,rgba(55,246,163,.20) 67.35%,transparent 67.7%),
    linear-gradient(315deg,transparent 0 36%,rgba(255,159,67,.18) 36.35%,transparent 36.7% 74%,rgba(168,107,255,.22) 74.35%,transparent 74.7%);
  background-size:260px 260px,340px 340px;
  opacity:.33;animation:neoZigzag 18s linear infinite;
}
.neo2099-page .auth{
  border-color:rgba(57,231,255,.16) !important;
  box-shadow:0 34px 100px rgba(0,0,0,.58),0 0 50px rgba(57,231,255,.06),inset 0 1px 0 rgba(255,255,255,.10) !important;
  animation:neoRise .75s cubic-bezier(.16,1,.3,1) both;
}
.neo2099-page .promo h1,
.neo2099-page .form h3,
.neo2099-page .login-box h1{
  text-shadow:0 0 28px rgba(57,231,255,.10);
}
.neo2099-page .promo li{animation:neoTextIn .55s ease both}
.neo2099-page .promo li:nth-child(2){animation-delay:.08s}.neo2099-page .promo li:nth-child(3){animation-delay:.16s}

/* Admin cards / legacy simple wrappers */
.neo2099-page .wrap{position:relative}
.neo2099-page .wrap > .d-flex:first-child,
.neo2099-page .content > .d-flex:first-child{animation:neoTextIn .55s ease both}
.neo2099-page .num{font-variant-numeric:tabular-nums;text-shadow:0 0 22px rgba(57,231,255,.10)}

/* Mobile */
@media(max-width:900px){
  .neo2099-page .sidebar{box-shadow:20px 0 70px rgba(0,0,0,.54) !important}
}
@media(prefers-reduced-motion:reduce){
  .neo2099-page::before,.neo2099-page::after,
  .neo2099-page .az-nav::after,.neo2099-page .top::after,.neo2099-page .topbar::after,
  .neo2099-page .sidebar::before,.neo2099-page .brand-mark,.neo2099-page .icon,
  .neo2099-page .service::after,.neo2099-page .service-card::after,.neo2099-page .service-item > a > .cardx::after,
  .neo2099-page .btn::after,.neo2099-page .btn-primary,.neo2099-page .btn-main,
  .neo2099-page .hero::before,.neo2099-page .page-head::before,
  .neo2099-page .crystal-zigzag-layer::before,.neo2099-page .crystal-zigzag-layer::after,
  .neo2099-page .auth,.neo2099-page .promo li{animation:none !important}
  .neo2099-page .cardx:hover,.neo2099-page .card:hover,.neo2099-page .section-card:hover,.neo2099-page .balance:hover,
  .neo2099-page .service:hover,.neo2099-page .service-card:hover,.neo2099-page .btn:hover,
  .neo2099-page .side-link:hover,.neo2099-page .side-link.active,.neo2099-page .nav a:hover,.neo2099-page .nav a.active,.neo2099-page .cat-toggle:hover{transform:none !important}
}

@keyframes neoGridDrift{to{background-position:420px 420px,-420px 210px,630px -420px}}
@keyframes neoAurora{0%{transform:translate3d(-2%,0,0) scale(.95);opacity:.78}50%{transform:translate3d(2%,4%,0) scale(1.03);opacity:1}100%{transform:translate3d(-4%,7%,0) scale(.98);opacity:.78}}
@keyframes neoLineSweep{0%{background-position:0 0}100%{background-position:250% 0}}
@keyframes neoOrbit{0%,100%{transform:translate3d(-2%,0,0) rotate(0) scale(.94)}50%{transform:translate3d(7%,-5%,0) rotate(18deg) scale(1.06)}}
@keyframes neoIconFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-1deg)}}
@keyframes neoShine{0%{left:-75%;opacity:0}12%{opacity:.55}42%{left:145%;opacity:0}100%{left:145%;opacity:0}}
@keyframes neoButtonSweep{0%{background-position:180% 0}100%{background-position:-40% 0}}
@keyframes neoGradientFlow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes neoZigzag{0%{transform:translate3d(-3%,-2%,0) rotate(0)}50%{transform:translate3d(3%,2%,0) rotate(1deg)}100%{transform:translate3d(-3%,4%,0) rotate(0)}}
@keyframes neoRise{from{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes neoTextIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* 2099 headline / metric treatment — limited to headline elements only. */
.neo2099-page .hero h1,
.neo2099-page .page-head h1,
.neo2099-page .hero .display-5,
.neo2099-page .num{
  background:linear-gradient(90deg,#dff8ff 0%,#39e7ff 24%,#4f7dff 43%,#a86bff 63%,#ff4fd8 80%,#ffb35c 100%);
  background-size:220% auto;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
  animation:neoTextGradient 7s ease-in-out infinite;
}
.neo2099-page .service-group > .d-flex:first-child h6{
  position:relative;
  letter-spacing:.13em;
}
.neo2099-page .service-group > .d-flex:first-child h6::after{
  content:"";display:inline-block;width:34px;height:2px;margin-left:9px;vertical-align:middle;
  background:linear-gradient(90deg,#39e7ff,#ff4fd8,#ff9f43,#37f6a3);
  background-size:220% 100%;border-radius:9px;animation:neoLineSweep 4s linear infinite;
  box-shadow:0 0 10px rgba(57,231,255,.28);
}
.neo2099-page .service .service-name,
.neo2099-page .service-card h3{
  transition:text-shadow .25s ease,transform .25s ease;
}
.neo2099-page .service:hover .service-name,
.neo2099-page .service-card:hover h3{
  transform:translateX(2px);
  text-shadow:0 0 16px rgba(57,231,255,.18),0 0 22px rgba(255,79,216,.08);
}
.neo2099-page .promo .brand,
.neo2099-page .login-logo .brand-mark{
  animation:neoLogoPulse 4.5s ease-in-out infinite;
}
.neo2099-page .promo::before{
  content:"";position:absolute;left:0;top:11%;width:2px;height:78%;
  background:linear-gradient(180deg,transparent,#39e7ff 16%,#a86bff 43%,#ff4fd8 68%,#37f6a3 84%,transparent);
  box-shadow:0 0 14px rgba(57,231,255,.30);opacity:.7;
  animation:neoRail 5s ease-in-out infinite;
}
@keyframes neoTextGradient{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes neoLogoPulse{0%,100%{filter:drop-shadow(0 0 2px rgba(57,231,255,0))}50%{filter:drop-shadow(0 0 13px rgba(57,231,255,.24)) drop-shadow(0 0 16px rgba(255,79,216,.10))}}
@keyframes neoRail{0%,100%{transform:scaleY(.72);opacity:.32}50%{transform:scaleY(1);opacity:.85}}
