:root {
  --bg-overlay: rgba(20,20,20,0.7);
  --glass-bg: rgba(255,255,255,0.1);
  --text-light: #f0e6f6;
  --text-glow: #ff9ff3;
  --shadow-dark: rgba(0,0,0,0.4);
  --shadow-light: rgba(255,255,255,0.1);
  --primary-color: #ff9ff3;
  --radius: 16px;
}

/* Global */
body {
  margin: 0; padding: 0;
  font-family: 'Inter', sans-serif;
  background: url('https://source.unsplash.com/1600x900/?night,sky') center/cover no-repeat fixed;
  position: relative; color: var(--text-light);
}
body::before {
  content: '';
  position: absolute; inset: 0;
  background: var(--bg-overlay);
  backdrop-filter: blur(8px);
  z-index: -1;
}

/* Glassmorphic Cards & Forms */
.glass-card, .glass-form, .glass-form-inner {
  background: var(--glass-bg);
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,0.2);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 32px var(--shadow-dark);
  padding: 2rem;
  margin-bottom: 2rem;
}

/* Neumorphic */
.neumorphic-card {
  background: var(--glass-bg);
  border-radius: var(--radius);
  box-shadow: 8px 8px 16px var(--shadow-dark), -8px -8px 16px var(--shadow-light);
  padding: 1rem;
}

/* Buttons */
.neumorphic-btn, .outline-btn {
  border-radius: 50px; padding: .75rem 1.5rem; font-weight: 500; transition: all .3s ease;
}
.neumorphic-btn {
  background: var(--glass-bg); color: var(--text-light); border: none;
  box-shadow: 6px 6px 12px var(--shadow-dark), -6px -6px 12px var(--shadow-light);
}
.neumorphic-btn.btn-hover:hover {
  box-shadow: inset 4px 4px 8px var(--shadow-dark), inset -4px -4px 8px var(--shadow-light);
  transform: translateY(-2px);
}
.outline-btn {
  background: transparent; border: 2px solid var(--primary-color); color: var(--primary-color);
}
.outline-btn.btn-hover:hover {
  background: var(--primary-color); color: #141414;
}

/* Logo */
.brand-logo { width:32px; height:32px; margin-right:8px; }

/* Inputs */
.glowing-input {
  background: rgba(255,255,255,0.15); border: 2px solid rgba(255,255,255,0.3);
  color: var(--text-light); transition: all .3s ease;
}
.glowing-input:focus {
  border-color: var(--primary-color); box-shadow: 0 0 10px rgba(255,159,243,0.6);
  background: rgba(255,255,255,0.25); outline: none;
}

/* Table */
.table-responsive table th, .table-responsive table td { color: var(--text-light); }
.table-responsive { margin-top: 1rem; }

/* Animations */
@keyframes wave {
  0%,100% { transform: translateX(0); } 50% { transform: translateX(-40px); }
}
.footer-wave {
  position: fixed; bottom: 0; left: 0; width: 100%; height: 140px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'><path fill='%23ff9ff3' fill-opacity='0.4' d='M0,160L48,138.7C96,117,192,75,288,80C384,85,480,139,576,154.7C672,171,768,149,864,144C960,139,1056,149,1152,160C1248,171,1344,181,1392,186.7L1440,192L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'/></svg>") center/cover no-repeat;
  animation: wave 10s ease-in-out infinite; z-index: -2;
}

/* Text Glow */
.glow-text {
  color: var(--text-glow);
  text-shadow: 0 0 8px var(--text-glow);
}

/* Hover & Entry Effects */
.nav-hover:hover { color: var(--primary-color) !important; }
.fade-in { animation: fadeIn 1s ease-out; }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
.pulse { animation: pulseAnim 2.5s infinite; }
@keyframes pulseAnim { 0%,100% { transform: scale(1); } 50% { transform: scale(1.03); } }
.shake-on-hover:hover { animation: shake 0.5s; }
@keyframes shake { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
.bounce { animation: bounce 2s infinite; }
@keyframes bounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.swing { animation: swing 2.5s infinite; transform-origin: top center; }
@keyframes swing { 0%,100% { transform: rotate(0); } 25% { transform: rotate(4deg); } 75% { transform: rotate(-4deg); } }
