/* Water click effect — droplet + expanding rings */
:root {
  --neo-water-duration: 1.25s;
}

.neo-water-host {
  position: relative;
  overflow: hidden !important;
  -webkit-tap-highlight-color: transparent;
}

.neo-water-host.neo-water-host--soft,
body.school-neo-ui .x_panel.neo-water-host.neo-water-host--soft,
body.school-neo-ui .left_col.neo-water-host,
body.school-neo-ui #sidebar-menu.neo-water-host,
body.school-neo-ui .scroll-view.neo-water-host {
  overflow: visible !important;
}

.neo-water-drop {
  position: absolute;
  width: 10px;
  height: 10px;
  margin: -5px 0 0 -5px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 3;
  background: rgba(130, 210, 255, 0.65);
  box-shadow: 0 0 8px rgba(100, 190, 255, 0.5);
  animation: neo-water-drop 0.4s ease-out forwards;
}

.neo-water-ring {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 2;
  transform: scale(0);
  border: 2px solid rgba(90, 185, 255, 0.55);
  background: rgba(100, 190, 255, 0.06);
  animation: neo-water-ring var(--neo-water-duration) ease-out forwards;
}

.neo-water-ring--2 {
  animation-delay: 0.18s;
  border-color: rgba(90, 185, 255, 0.32);
  background: transparent;
}

@keyframes neo-water-drop {
  0% {
    transform: scale(1);
    opacity: 0.75;
  }
  100% {
    transform: scale(0.4);
    opacity: 0;
  }
}

@keyframes neo-water-ring {
  0% {
    transform: scale(0);
    opacity: 0.7;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}

body.school-neo-ui.theme-cream-glass .neo-water-drop,
body.school-neo-ui.theme-white-cream .neo-water-drop {
  background: rgba(40, 140, 200, 0.45);
  box-shadow: 0 0 6px rgba(40, 140, 200, 0.35);
}

body.school-neo-ui.theme-cream-glass .neo-water-ring,
body.school-neo-ui.theme-white-cream .neo-water-ring {
  border-color: rgba(40, 130, 190, 0.4);
  background: rgba(40, 130, 190, 0.05);
}

body.lp-page .neo-water-drop,
body.login-fx .neo-water-drop,
body.sidebar-fixed .neo-water-drop {
  background: rgba(140, 220, 255, 0.6);
}

body.lp-page .neo-water-ring,
body.login-fx .neo-water-ring,
body.sidebar-fixed .neo-water-ring {
  border-color: rgba(100, 200, 255, 0.5);
}

/* Hover — cards & panels */
body.school-neo-ui .x_panel,
body.school-neo-ui .panel,
body.school-neo-ui .well,
body.school-neo-ui .tile_stats_count .stats-count-inner,
body.school-neo-ui .profile_details .profile_view,
body.school-neo-ui .school-glass-card,
body.school-neo-ui .theme-special-card {
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, filter 0.28s ease;
}

body.school-neo-ui .x_panel:hover,
body.school-neo-ui .panel:hover,
body.school-neo-ui .well:hover,
body.school-neo-ui .profile_details .profile_view:hover,
body.school-neo-ui .school-glass-card:hover,
body.school-neo-ui .theme-special-card:hover {
  transform: translateY(-3px);
  filter: brightness(1.04);
}

body.school-neo-ui .fn_header_global .fn-header-toolbar-panel:hover,
body.school-neo-ui .fn_header_global .x_panel:hover {
  transform: translateZ(0) !important;
  filter: none !important;
}

/* Hover — form fields */
body.school-neo-ui input.form-control,
body.school-neo-ui select.form-control,
body.school-neo-ui textarea.form-control,
body.school-neo-ui .select2-container--default .select2-selection--single {
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

body.school-neo-ui input.form-control:hover,
body.school-neo-ui select.form-control:hover,
body.school-neo-ui textarea.form-control:hover,
body.school-neo-ui .select2-container--default .select2-selection--single:hover {
  border-color: rgba(94, 92, 230, 0.55) !important;
  box-shadow: 0 0 0 3px rgba(94, 92, 230, 0.12);
}

body.school-neo-ui input.form-control:focus,
body.school-neo-ui select.form-control:focus,
body.school-neo-ui textarea.form-control:focus {
  box-shadow: 0 0 0 4px rgba(94, 92, 230, 0.2);
}

/* Hover — sidebar & top menus */
body.school-neo-ui .nav.side-menu > li > a,
body.school-neo-ui .nav.child_menu > li > a,
body.school-neo-ui .top_nav .navbar-right li a,
body.school-neo-ui .dropdown-menu > li > a {
  transition: background 0.22s ease, color 0.22s ease, padding-left 0.22s ease;
}

body.school-neo-ui .nav.side-menu > li > a:hover,
body.school-neo-ui .nav.child_menu > li > a:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  padding-left: 18px !important;
}

body.school-neo-ui .top_nav .navbar-right li a:hover,
body.school-neo-ui .dropdown-menu > li > a:hover {
  background: rgba(255, 255, 255, 0.14) !important;
}

body.school-neo-ui .btn,
body.school-neo-ui button:not(.close) {
  transition: box-shadow 0.28s ease, filter 0.28s ease, background 0.28s ease;
}

body.school-neo-ui .btn:not(.btn-link):not(.btn-xs),
body.school-neo-ui button:not(.close):not(.btn-link):not(.btn-xs) {
  box-shadow:
    0 2px 0 rgba(255, 255, 255, 0.42) inset,
    0 -3px 6px rgba(0, 0, 0, 0.14) inset,
    0 4px 14px rgba(0, 0, 0, 0.1) !important;
}

body.school-neo-ui .btn:not(.btn-link):not(.btn-xs):hover,
body.school-neo-ui button:not(.close):not(.btn-link):not(.btn-xs):hover:not(:disabled) {
  filter: brightness(1.04);
  box-shadow:
    0 3px 0 rgba(255, 255, 255, 0.5) inset,
    0 -3px 7px rgba(0, 0, 0, 0.16) inset,
    0 5px 16px rgba(0, 0, 0, 0.12) !important;
}

body.school-neo-ui .btn:not(.btn-link):not(.btn-xs):active,
body.school-neo-ui button:not(.close):not(.btn-link):not(.btn-xs):active:not(:disabled) {
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.25) inset,
    0 2px 5px rgba(0, 0, 0, 0.2) inset !important;
  transform: translateY(1px);
}

/* Landing page cards & controls */
body.lp-page .card,
body.lp-page .lp-announce-card,
body.lp-page .lp-header a,
body.lp-page .lp-nav a,
body.lp-page .lp-btn,
body.lp-page button,
body.sidebar-fixed .x_panel,
body.sidebar-fixed .navbar a,
body.sidebar-fixed .commonBtn,
body.sidebar-fixed .features .card,
body.login-fx .login-fx__card,
body.login-fx .login-fx__submit,
body.login-fx .login-fx__field {
  position: relative;
}