/* V55: modal Portal Guru tetap memperlihatkan konteks portal melalui backdrop blur. */
.portal-form-modal {
  background: rgba(3, 24, 36, .43) !important;
  -webkit-backdrop-filter: blur(11px) saturate(1.2) !important;
  backdrop-filter: blur(11px) saturate(1.2) !important;
}

.portal-form-modal > .portal-form-dialog {
  border: 1px solid rgba(255, 255, 255, .78) !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 32px 90px rgba(2, 44, 39, .32), 0 0 0 1px rgba(15, 118, 110, .08) !important;
  animation: portalDialogV55 .24s ease-out both !important;
}

.portal-form-dialog > .portal-form-dialog-header {
  background:
    radial-gradient(circle at 90% 10%, rgba(45, 212, 191, .38), transparent 38%),
    linear-gradient(120deg, #0f172a, #0f766e 68%, #059669) !important;
}

.portal-form-dialog input,
.portal-form-dialog select,
.portal-form-dialog textarea {
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.portal-form-dialog input:focus,
.portal-form-dialog select:focus,
.portal-form-dialog textarea:focus {
  border-color: #14b8a6 !important;
  box-shadow: 0 0 0 4px rgba(20, 184, 166, .12) !important;
}

.portal-form-dialog button[type="submit"] {
  box-shadow: 0 12px 28px rgba(5, 150, 105, .18) !important;
}

@keyframes portalDialogV55 {
  from { opacity: 0; transform: translateY(14px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 760px) {
  body:has(.portal-form-modal) header,
  body:has(.portal-form-modal) .student-mobile-nav,
  body:has(.portal-form-modal) nav.fixed.bottom-0,
  body:has(.portal-form-modal) .fixed.bottom-0 {
    visibility: visible !important;
    opacity: .76 !important;
    pointer-events: none !important;
  }

  .portal-form-modal {
    background: rgba(5, 35, 42, .38) !important;
    -webkit-backdrop-filter: blur(8px) saturate(1.16) !important;
    backdrop-filter: blur(8px) saturate(1.16) !important;
  }

  .portal-form-modal > .portal-form-dialog {
    border-radius: 22px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .portal-form-modal > .portal-form-dialog {
    animation: none !important;
  }
}
