
/* Subtil ruido y glow */
.noise{
  pointer-events:none;
  position:fixed; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
  opacity:.35;
  z-index:5;
}

.navlink{
  color:rgba(255,255,255,.75);
  transition: all .2s ease;
}
.navlink:hover{ color:white; transform: translateY(-1px); }

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.75rem 1rem; border-radius: 999px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.14);
  transition: all .2s ease;
}
.btn:hover{ background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.24); transform: translateY(-1px); }

.btn-primary{
  background: linear-gradient(135deg, rgba(0,255,140,.22), rgba(255,60,0,.18));
  border-color: rgba(255,255,255,.22);
}
.btn-primary:hover{ background: linear-gradient(135deg, rgba(0,255,140,.28), rgba(255,60,0,.24)); }

.btn-outline{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.6rem .9rem; border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.8);
  transition: all .2s ease;
}
.btn-outline:hover{ border-color:rgba(255,255,255,.35); color:white; transform: translateY(-1px); }

.card{
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  border-radius: 1.25rem;
  box-shadow: 0 10px 40px rgba(0,0,0,.35);
}

.glow{
  position:absolute;
  inset:-40%;
  background: radial-gradient(circle at 30% 30%, rgba(0,255,140,.24), transparent 42%),
              radial-gradient(circle at 70% 60%, rgba(255,60,0,.20), transparent 45%),
              radial-gradient(circle at 50% 90%, rgba(255,255,255,.10), transparent 40%);
  filter: blur(40px);
  opacity: .9;
  animation: floaty 9s ease-in-out infinite;
  z-index:0;
}
@keyframes floaty{
  0%,100%{ transform: translate3d(0,0,0) scale(1); }
  50%{ transform: translate3d(-2%, 2%, 0) scale(1.03); }
}

.grid-fade > *{
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.grid-fade > *:hover{
  transform: translateY(-3px);
  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.06);
}

.img-zoom{
  transition: transform .35s ease, filter .35s ease;
  filter:saturate(1.05) contrast(1.05);
}
a:hover .img-zoom{ transform: scale(1.03); filter:saturate(1.15) contrast(1.08); }

/* Admin tweaks */
.input{
  width:100%;
  padding:.65rem .8rem;
  border-radius:.85rem;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  outline:none;
}
.input:focus{ border-color: rgba(255,255,255,.3); }

.table{
  width:100%;
  border-collapse: separate;
  border-spacing: 0 10px;
}
.table th{
  text-align:left;
  color: rgba(255,255,255,.55);
  font-size: .85rem;
  font-weight:600;
  padding:0 .5rem;
}
.table td{
  padding:.75rem .5rem;
  background: rgba(255,255,255,.04);
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.table tr td:first-child{ border-left:1px solid rgba(255,255,255,.10); border-top-left-radius:1rem; border-bottom-left-radius:1rem; }
.table tr td:last-child{ border-right:1px solid rgba(255,255,255,.10); border-top-right-radius:1rem; border-bottom-right-radius:1rem; }
