/* ==========================================================================
   LITTLE HEADS - MOBILE APP EXPERIENCE (PWA & 9:16 OPTIMIZED)
   Keeps website experience 100% intact on desktop/tablets (> 768px).
   ========================================================================== */

:root {
  --mobile-app-gap: 12px;
  --mobile-top-height: 56px;
  --mobile-cats-height: 46px;
  --mobile-bottom-height: 64px;
}

/* ==========================================================================
   1. TWO-STAGE ANIMATED SPLASH SCREEN (2s Logo 1 + 2s Logo 2 = 4s)
   ========================================================================== */
#mobile-splash-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999999;
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.4s;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
}

#mobile-splash-overlay.hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.splash-stage-wrapper {
  position: relative;
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.splash-stage {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: scale(0.92);
  transition: opacity 0.35s ease-out, transform 0.35s ease-out, visibility 0.35s;
  pointer-events: none;
  padding: 32px 20px;
}

.splash-stage.active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  pointer-events: auto;
}

.splash-brand-logo {
  width: 82vw;
  max-width: 360px;
  max-height: 55vh;
  height: auto;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 10px 24px rgba(0, 0, 0, 0.07));
  animation: splashSoftPop 1s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes splashSoftPop {
  0% { transform: scale(0.90); opacity: 0.2; }
  100% { transform: scale(1); opacity: 1; }
}

/* ==========================================================================
   ENQUIRIES / CONTACT US PAGE - SHARED COMPONENT STYLES
   ========================================================================== */
.contact-form-card {
  background: #FFFFFF;
  border-radius: 18px;
  border: 1px solid #E2E8F0;
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.05);
}

.contact-form-header {
  margin-bottom: 16px;
}

.contact-form-badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 800;
  color: #EA580C;
  background: #FFF7ED;
  border: 1px solid #FFEDD5;
  padding: 3px 10px;
  border-radius: 20px;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.contact-form-title {
  font-size: 1.25rem;
  font-weight: 800;
  color: #0F172A;
  margin: 0 0 4px 0;
  line-height: 1.25;
}

.contact-form-subtitle {
  font-size: 0.82rem;
  color: #64748B;
  margin: 0;
}

.webmail-mobile-back-bar,
.webmail-mobile-controls-bar {
  display: none;
}

.mobile-field-label {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  color: #334155;
  margin-bottom: 5px;
}

.mobile-input {
  width: 100%;
  border: 1.5px solid #E2E8F0;
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 16px !important; /* Critical to prevent iOS viewport auto-zoom */
  color: #0F172A;
  background: #F8FAFC;
  box-sizing: border-box;
  transition: all 0.2s ease;
  outline: none;
  font-family: inherit;
}

.mobile-input:focus {
  border-color: #FF6633;
  background: #FFFFFF;
  box-shadow: 0 0 0 3px rgba(255, 102, 51, 0.15);
}

.contact-child-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.contact-gender-options {
  display: flex;
  gap: 10px;
}

.gender-pill {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1.5px solid #E2E8F0;
  border-radius: 10px;
  background: #F8FAFC;
  font-size: 0.85rem;
  font-weight: 600;
  color: #475569;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}

.gender-pill:hover,
.gender-pill:has(input:checked) {
  border-color: #FF6633;
  background: #FFF7ED;
  color: #EA580C;
  font-weight: 700;
}

.gender-pill input {
  margin: 0;
  accent-color: #FF6633;
}

.contact-program-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.mobile-select {
  appearance: auto;
  cursor: pointer;
}

.mobile-textarea {
  resize: vertical;
  min-height: 56px;
}

.contact-submit-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 18px;
  background: linear-gradient(135deg, #FF6633 0%, #EA580C 100%);
  color: #FFFFFF;
  border: none;
  border-radius: 12px;
  font-size: 0.95rem;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(234, 88, 12, 0.3);
  transition: transform 0.15s ease, filter 0.15s ease;
}

.contact-submit-btn:hover {
  filter: brightness(1.05);
}

.contact-submit-btn:active {
  transform: scale(0.98);
}

/* Contact Info Base */
.contact-info-card {
  background: #FFFFFF;
  border-radius: 18px;
  border: 1px solid #E2E8F0;
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.05);
}

.contact-info-header {
  margin-bottom: 16px;
}

.contact-info-badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 800;
  color: #2563EB;
  background: #EFF6FF;
  border: 1px solid #DBEAFE;
  padding: 3px 10px;
  border-radius: 20px;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.contact-info-title {
  font-size: 1.25rem;
  font-weight: 800;
  color: #0F172A;
  margin: 0 0 4px 0;
  line-height: 1.25;
}

.contact-info-subtitle {
  font-size: 0.82rem;
  color: #64748B;
  margin: 0;
}

.contact-info-tile {
  background: #F8FAFC;
  border: 1.5px solid #E2E8F0;
  border-radius: 14px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.contact-info-tile:hover {
  border-color: #CBD5E1;
}

.contact-tile-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.contact-tile-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
}

.contact-tile-icon.orange { background: #FFF7ED; border: 1px solid #FFEDD5; }
.contact-tile-icon.green  { background: #F0FDF4; border: 1px solid #DCFCE7; }
.contact-tile-icon.blue   { background: #EFF6FF; border: 1px solid #DBEAFE; }
.contact-tile-icon.purple { background: #FAF5FF; border: 1px solid #F3E8FF; }
.contact-tile-icon.amber  { background: #FFFBEB; border: 1px solid #FEF3C7; }

.contact-tile-tag {
  font-size: 0.68rem;
  font-weight: 800;
  color: #64748B;
  background: #FFFFFF;
  padding: 2px 8px;
  border-radius: 10px;
  border: 1px solid #E2E8F0;
}

.contact-tile-content {
  margin-bottom: 10px;
}

.contact-tile-label {
  display: block;
  font-size: 0.68rem;
  font-weight: 800;
  color: #94A3B8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 3px;
}

.contact-tile-val {
  font-size: 0.92rem;
  font-weight: 800;
  text-decoration: none;
  word-break: break-word;
}

.orange-link { color: #EA580C; }
.green-text  { color: #16A34A; }
.blue-link   { color: #2563EB; }

.contact-tile-address {
  font-size: 0.8rem;
  color: #475569;
  line-height: 1.4;
  margin: 0;
}

.contact-tile-hours {
  font-size: 0.78rem;
  color: #475569;
  line-height: 1.45;
  margin: 0;
}

.contact-tile-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 9px;
  font-size: 0.8rem;
  font-weight: 800;
  text-decoration: none;
  transition: transform 0.15s ease;
}

.contact-tile-btn:active {
  transform: scale(0.97);
}

.orange-btn { background: #FFF7ED; color: #EA580C; border: 1px solid #FDBA74; }
.green-btn  { background: #16A34A; color: #FFFFFF; box-shadow: 0 2px 6px rgba(22, 163, 74, 0.25); }
.blue-btn   { background: #EFF6FF; color: #2563EB; border: 1px solid #BFDBFE; }
.purple-btn { background: #7C3AED; color: #FFFFFF; box-shadow: 0 2px 6px rgba(124, 58, 237, 0.25); }

.contact-tile-badge {
  display: inline-block;
  text-align: center;
  background: #FEF3C7;
  color: #92400E;
  font-size: 0.74rem;
  font-weight: 800;
  padding: 6px;
  border-radius: 8px;
  border: 1px solid #FDE68A;
}

/* ==========================================================================
   STUDENT & PARENT PORTAL LOGIN - SHARED COMPONENT STYLES
   ========================================================================== */
.student-login-container {
  max-width: 520px;
  margin: 0 auto;
}

.student-login-card {
  background: #FFFFFF;
  border-radius: 18px;
  border: 1px solid #E2E8F0;
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.06);
}

.student-login-header {
  text-align: center;
  margin-bottom: 20px;
}

.student-brand-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 12px;
}

.student-brand-logo-lh {
  height: 52px;
  width: auto;
  object-fit: contain;
}

.student-brand-divider {
  width: 1.5px;
  height: 34px;
  background: #CBD5E1;
}

.student-brand-logo-fc {
  height: 46px;
  width: auto;
  object-fit: contain;
}

.student-login-badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 800;
  color: #EA580C;
  background: #FFF7ED;
  border: 1px solid #FFEDD5;
  padding: 3px 10px;
  border-radius: 20px;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.student-login-title {
  font-size: 1.25rem;
  font-weight: 800;
  color: #0F172A;
  margin: 0 0 4px 0;
  line-height: 1.25;
}

.student-login-sub {
  font-size: 0.82rem;
  color: #64748B;
  margin: 0;
}

.student-login-tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 20px;
}

.student-login-tab-btn {
  flex: 1;
  font-size: 0.86rem;
  padding: 8px 12px;
  cursor: pointer;
}

.student-form-group {
  margin-bottom: 14px;
}

.student-field-hint {
  display: block;
  color: #94A3B8;
  font-size: 0.74rem;
  margin-top: 4px;
  line-height: 1.35;
}

.student-password-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.student-forgot-link {
  font-size: 0.78rem;
  color: #FF6633;
  font-weight: 700;
  text-decoration: none;
}

.student-forgot-link:hover {
  text-decoration: underline;
}

.password-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.password-input-wrap input {
  padding-right: 44px !important;
}

.password-toggle-btn {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  font-size: 1.1rem;
  padding: 6px 8px;
  cursor: pointer;
  color: #64748B;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
}

.password-toggle-btn:active {
  transform: translateY(-50%) scale(0.92);
}

.student-submit-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 18px;
  background: linear-gradient(135deg, #FF6633 0%, #EA580C 100%);
  color: #FFFFFF;
  border: none;
  border-radius: 12px;
  font-size: 0.95rem;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(234, 88, 12, 0.3);
  transition: transform 0.15s ease, filter 0.15s ease;
}

.student-submit-btn:hover {
  filter: brightness(1.05);
}

.student-submit-btn:active {
  transform: scale(0.98);
}

.student-alt-switch {
  text-align: center;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid #F1F5F9;
  font-size: 0.84rem;
}

.student-alt-switch-text {
  color: #94A3B8;
}

.student-alt-switch-link {
  color: #0084D6;
  font-weight: 700;
  text-decoration: none;
  margin-left: 4px;
}

.student-alt-switch-link:hover {
  text-decoration: underline;
}

.student-alert-box {
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 0.82rem;
  margin-bottom: 16px;
  line-height: 1.45;
}

.student-alert-box.alert-orange {
  background: #FFF7ED;
  border: 1px solid #FFEDD5;
  color: #9A3412;
}

.student-alert-box.alert-green {
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  color: #166534;
}

.student-alert-box.alert-purple {
  background: #EEF2FF;
  border: 1px solid #E0E7FF;
  color: #3730A3;
}

.student-alert-box.alert-blue {
  background: #EDF7FD;
  border: 1px solid #BAE6FD;
  color: #0369A1;
}

.student-otp-input {
  max-width: 260px;
  margin: 0 auto;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: 8px;
  padding: 10px 14px;
  border: 2px solid #FF6633;
  border-radius: 10px;
  background: #FFFBF7;
}

.student-step2-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 14px;
  font-size: 0.82rem;
}

.student-resend-link {
  color: #FF6633;
  font-weight: 700;
  text-decoration: none;
}

.student-change-link {
  color: #64748B;
  text-decoration: none;
}

.student-back-wrap {
  text-align: center;
  margin-top: 14px;
  font-size: 0.82rem;
}

.student-back-link {
  color: #64748B;
  text-decoration: none;
  font-weight: 600;
}

.student-back-link:hover {
  color: #0F172A;
}

.student-mobile-help {
  margin-top: 16px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.student-help-icon {
  font-size: 1.25rem;
}

.student-help-text {
  flex: 1;
}

.student-help-text strong {
  display: block;
  font-size: 0.78rem;
  color: #1E293B;
}

.student-help-text p {
  font-size: 0.72rem;
  color: #64748B;
  margin: 0;
  line-height: 1.2;
}

.student-help-btn {
  background: #16A34A;
  color: #FFFFFF;
  text-decoration: none;
  font-size: 0.76rem;
  font-weight: 800;
  padding: 6px 12px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(22, 163, 74, 0.25);
  transition: transform 0.15s ease;
}

.student-help-btn:active {
  transform: scale(0.95);
}

/* ==========================================================================
   2. DESKTOP PRESERVATION (Screens > 768px)
   Keep website experience 100% intact on desktop.
   ========================================================================== */
@media (min-width: 769px) {
  #mobile-app-header,
  #mobile-top-categories,
  #mobile-bottom-nav,
  .mobile-location-hero-card {
    display: none !important;
  }

  /* Desktop Layout: Info on Left (order 1), Form on Right (order 2) */
  .contact-main-grid {
    display: grid !important;
    grid-template-columns: 1fr 1.15fr !important;
    gap: 36px !important;
    align-items: start !important;
  }

  .contact-info-col {
    order: 1 !important;
  }

  .contact-form-col {
    order: 2 !important;
  }

  .contact-form-card {
    padding: 32px 30px !important;
  }

  .contact-info-card {
    padding: 30px 26px !important;
  }

  .contact-horizontal-scroll {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    overflow-x: visible !important;
  }

  /* Desktop Student Login Card Preservation */
  .student-login-container {
    max-width: 520px !important;
    margin: 0 auto !important;
  }

  .student-login-card {
    padding: 36px !important;
    border-radius: 20px !important;
    border: 1px solid #E2E8F0 !important;
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.08) !important;
  }

  .student-brand-logo-lh {
    height: 56px !important;
  }

  .student-brand-logo-fc {
    height: 50px !important;
  }

  .student-login-tabs {
    display: flex !important;
    gap: 6px !important;
    margin-bottom: 22px !important;
    border-bottom: 1.5px solid #E2E8F0 !important;
    padding-bottom: 8px !important;
    background: transparent !important;
  }

  .student-login-tab-btn {
    flex: 1 !important;
    font-size: 0.88rem !important;
    padding: 8px 10px !important;
  }

  .student-mobile-help {
    display: none !important;
  }
}

/* ==========================================================================
   3. MOBILE APP SHELL & NAVIGATION (Screens <= 768px / 9:16 mobile)
   ========================================================================== */
@media (max-width: 768px) {
  /* Hide top black contact strip on mobile app (phone, student login/signup, admission message) */
  #top-contact-strip {
    display: none !important;
  }

  /* Hide full footer on mobile app */
  .site-footer {
    display: none !important;
  }

  /* Hide desktop navbar on mobile */
  #main-nav-strip {
    display: none !important;
  }

  /* 4. ELIMINATE TOP WHITE SPACE ON MOBILE:
     style.css sets body { padding-top: 116px / 105px; } for the two desktop strips.
     On mobile, resetting padding-top and margin-top to 0 removes the blank white space completely! */
  html, body {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body {
    padding-bottom: calc(var(--mobile-bottom-height, 64px) + env(safe-area-inset-bottom, 0px) + 16px) !important;
  }

  #app-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* Mobile Top App Header: Navbar [Item 1 (Left)], [Item 2 (Right)] */
  #mobile-app-header {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    height: calc(var(--mobile-top-height, 56px) + env(safe-area-inset-top, 0px)) !important;
    padding: env(safe-area-inset-top, 0px) 14px 0 14px !important;
    background: #FFFFFF;
    border-bottom: 1px solid #F1F5F9;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
    margin: 0 !important;
  }

  .mobile-navbar-left {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    cursor: pointer;
  }

  .mobile-navbar-logo {
    width: 36px;
    height: 36px;
    object-fit: contain;
    border-radius: 8px;
  }

  .mobile-navbar-title-wrap {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
  }

  .mobile-navbar-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: #1E3A8A;
  }

  .mobile-navbar-sub {
    font-size: 0.68rem;
    font-weight: 700;
    color: #FF6633;
    letter-spacing: 0.2px;
  }

  .mobile-navbar-right {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .mobile-partner-pill {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #FFF7ED;
    border: 1px solid #FFEDD5;
    padding: 3px 8px;
    border-radius: 20px;
    text-decoration: none;
    cursor: default;
    user-select: none;
    -webkit-user-select: none;
    height: 32px;
  }

  .mobile-partner-logo {
    height: 24px;
    width: auto;
    max-width: 65px;
    object-fit: contain;
    display: block;
  }

  .mobile-partner-text {
    font-size: 0.68rem;
    font-weight: 700;
    color: #C2410C;
    display: none;
  }
  @media (min-width: 400px) {
    .mobile-partner-text { display: inline; }
  }

  .mobile-header-call-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #16A34A;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 0.95rem;
    box-shadow: 0 2px 6px rgba(22, 163, 74, 0.25);
    flex-shrink: 0;
    transition: transform 0.15s ease, background-color 0.15s ease;
  }
  .mobile-header-call-btn:hover,
  .mobile-header-call-btn:active {
    background: #15803D;
    transform: scale(1.05);
  }

  .mobile-header-whatsapp-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #25D366;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 2px 6px rgba(37, 211, 102, 0.35);
    flex-shrink: 0;
    transition: transform 0.15s ease, background-color 0.15s ease;
  }
  .mobile-header-whatsapp-btn:hover,
  .mobile-header-whatsapp-btn:active {
    background: #20BD5A;
    transform: scale(1.05);
  }
  .mobile-header-whatsapp-btn svg {
    display: block;
    width: 19px;
    height: 19px;
  }

  /* Top 4-Icon Quick Category Navbar */
  #mobile-top-categories {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    background: #FFFFFF;
    border-bottom: 1px solid #E2E8F0;
    position: sticky;
    top: var(--mobile-top-height);
    z-index: 999;
    padding: 6px 8px;
    gap: 4px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.02);
  }

  .mobile-cat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 6px 2px;
    border-radius: 8px;
    color: #475569;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.15s ease;
  }

  .mobile-cat-item:active {
    transform: scale(0.96);
  }

  .mobile-cat-icon {
    font-size: 1.15rem;
    line-height: 1;
    margin-bottom: 2px;
  }

  .mobile-cat-label {
    font-size: 0.68rem;
    font-weight: 700;
    white-space: nowrap;
  }

  .mobile-cat-item.active {
    background: #FFF7ED;
    color: #EA580C;
  }

  .mobile-cat-item.active .mobile-cat-label {
    color: #EA580C;
    font-weight: 800;
  }

  /* Fixed Bottom Navigation Bar (5 Icons) */
  #mobile-bottom-nav {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: var(--mobile-bottom-height, 64px) !important;
    background: #FFFFFF !important;
    border-top: 1px solid #E2E8F0 !important;
    z-index: 999999 !important;
    visibility: visible !important;
    opacity: 1 !important;
    justify-content: space-around !important;
    align-items: center !important;
    padding: 4px 6px max(8px, env(safe-area-inset-bottom, 0px)) 6px !important;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08) !important;
    pointer-events: auto !important;
    overflow: visible !important;
  }

  .mobile-nav-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    height: 100%;
    color: #64748B;
    text-decoration: none;
    border: none;
    background: transparent;
    cursor: pointer;
    position: relative;
    padding: 2px;
    transition: all 0.15s ease;
  }

  .mobile-nav-btn:active {
    transform: scale(0.92);
  }

  .mobile-nav-icon {
    font-size: 1.3rem;
    line-height: 1;
    margin-bottom: 3px;
    transition: transform 0.2s ease;
  }

  .mobile-nav-label {
    font-size: 0.65rem;
    font-weight: 700;
    white-space: nowrap;
    letter-spacing: -0.2px;
  }

  .mobile-nav-btn.active {
    color: #EA580C;
  }

  .mobile-nav-btn.active .mobile-nav-icon {
    transform: translateY(-2px);
  }

  .mobile-nav-btn.active::after {
    content: '';
    position: absolute;
    top: 2px;
    width: 18px;
    height: 3px;
    background: #EA580C;
    border-radius: 3px;
  }

  /* Center Highlighted Protruding Student Button (Floating Action Style) */
  .mobile-nav-center-btn {
    position: relative !important;
    overflow: visible !important;
    padding-top: 0 !important;
  }

  .mobile-nav-center-bubble {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #FF6633 0%, #EA580C 100%);
    box-shadow: 0 4px 14px rgba(234, 88, 12, 0.42), 0 0 0 4px #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease, background 0.2s ease;
    z-index: 5;
  }

  .mobile-nav-center-bubble .mobile-nav-icon {
    font-size: 1.7rem !important;
    line-height: 1 !important;
    margin-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.18));
    transform: none !important;
  }

  #mob-nav-student .mobile-nav-label {
    font-size: 0.65rem !important;
    font-weight: 800 !important;
    color: #EA580C !important;
    margin-top: 32px !important;
    transition: color 0.15s ease;
  }

  /* Active State for Protruding Student Button */
  #mob-nav-student.active .mobile-nav-center-bubble {
    background: linear-gradient(135deg, #FF7844 0%, #C2410C 100%) !important;
    box-shadow: 0 6px 20px rgba(234, 88, 12, 0.55), 0 0 0 4px #FFFFFF, 0 0 0 7px rgba(255, 102, 51, 0.22) !important;
    transform: translateX(-50%) scale(1.06) !important;
  }

  #mob-nav-student.active::after {
    display: none !important;
  }

  #mob-nav-student:active .mobile-nav-center-bubble {
    transform: translateX(-50%) scale(0.92) !important;
  }

  /* ==========================================================================
     5. LOCATION FIRST REVIEWS COMPONENT WITH GOOGLE MAPS NAVIGATION
     ========================================================================== */
  .mobile-location-hero-card {
    display: block !important;
    background: #FFFFFF;
    border: 1px solid #FED7AA;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 20px;
    box-shadow: 0 4px 16px rgba(234, 88, 12, 0.08);
  }

  .mobile-location-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
  }

  .mobile-location-icon-box {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #FFF7ED;
    border: 1px solid #FDBA74;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    flex-shrink: 0;
  }

  .mobile-location-info {
    flex: 1;
  }

  .mobile-location-badge {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 800;
    color: #EA580C;
    background: #FFF7ED;
    padding: 2px 8px;
    border-radius: 12px;
    margin-bottom: 4px;
  }

  .mobile-location-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: #0F172A;
    margin: 0 0 2px 0;
    line-height: 1.25;
  }

  .mobile-location-address {
    font-size: 0.78rem;
    color: #64748B;
    line-height: 1.35;
    margin: 0;
  }

  .mobile-location-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 14px;
  }

  .mobile-location-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.15s ease;
  }

  .mobile-location-btn:active {
    transform: scale(0.97);
  }

  .mobile-location-btn.navigate {
    background: #16A34A;
    color: #FFFFFF;
    box-shadow: 0 4px 10px rgba(22, 163, 74, 0.25);
  }

  .mobile-location-btn.call {
    background: #FFF7ED;
    color: #EA580C;
    border: 1px solid #FDBA74;
  }

  /* Floating WhatsApp icon removed from all screens in mobile app */
  #whatsapp-float {
    display: none !important;
  }

  /* Remove all preview buttons from emails */
  .webmail-card-preview-btn,
  .webmail-attachment-btn.preview {
    display: none !important;
  }

  /* Admin & Staff Login on mobile - eliminate top white space completely */
  body:has(#view-staff-login:not([style*="display: none"])) {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  #view-staff-login {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .staff-login-fullpage {
    min-height: auto !important;
    padding: 16px 14px calc(var(--mobile-bottom-height, 64px) + 24px) 14px !important;
    margin-top: 0 !important;
  }

  .admin-login-card {
    margin-top: 0 !important;
  }

  /* ==========================================================================
     6. MOBILE 9:16 ENQUIRIES (CONTACT US) CUSTOMIZATION
     Form on top, touch-friendly, horizontal contact details rail underneath.
     ========================================================================== */
  #view-contact .section-padding {
    padding-top: 14px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    padding-bottom: calc(var(--mobile-bottom-height, 64px) + 28px) !important;
  }

  #view-contact .section-header {
    margin-bottom: 14px !important;
    text-align: left !important;
  }

  #view-contact .section-tag {
    font-size: 0.7rem !important;
    padding: 2px 8px !important;
  }

  #view-contact .section-title {
    font-size: 1.32rem !important;
    margin-top: 4px !important;
    margin-bottom: 4px !important;
    letter-spacing: -0.3px;
  }

  #view-contact .section-subtitle {
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
  }

  .contact-main-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  /* Form Column FIRST on mobile for instant thumb access */
  .contact-form-col {
    order: 1 !important;
    width: 100% !important;
  }

  .contact-form-card {
    padding: 18px 14px !important;
    border-radius: 16px !important;
    border: 1.5px solid #FFEDD5 !important;
    box-shadow: 0 4px 18px rgba(255, 102, 51, 0.08) !important;
  }

  .contact-form-header {
    margin-bottom: 14px !important;
  }

  .contact-form-title {
    font-size: 1.15rem !important;
  }

  .contact-form-subtitle {
    font-size: 0.78rem !important;
  }

  .contact-child-grid,
  .contact-program-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  .gender-pill {
    padding: 9px 10px !important;
    font-size: 0.82rem !important;
  }

  .contact-submit-btn {
    padding: 13px !important;
    font-size: 0.92rem !important;
  }

  /* Contact Details Column UNDER form on mobile */
  .contact-info-col {
    order: 2 !important;
    width: 100% !important;
  }

  .contact-info-card {
    padding: 16px 14px !important;
    border-radius: 16px !important;
    background: #FFFFFF !important;
    border: 1.5px solid #E2E8F0 !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
  }

  .contact-info-header {
    margin-bottom: 12px !important;
  }

  .contact-info-title {
    font-size: 1.08rem !important;
  }

  .contact-info-subtitle {
    font-size: 0.75rem !important;
  }

  /* Horizontal scrolling strip for contact tiles */
  .contact-horizontal-scroll {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    padding: 4px 2px 12px 2px !important;
    margin: 0 -2px !important;
    scrollbar-width: thin !important;
  }

  .contact-horizontal-scroll::-webkit-scrollbar {
    height: 4px !important;
  }

  .contact-horizontal-scroll::-webkit-scrollbar-track {
    background: #F1F5F9 !important;
    border-radius: 4px !important;
  }

  .contact-horizontal-scroll::-webkit-scrollbar-thumb {
    background: #CBD5E1 !important;
    border-radius: 4px !important;
  }

  .contact-info-tile {
    flex: 0 0 230px !important;
    min-width: 230px !important;
    max-width: 230px !important;
    scroll-snap-align: start !important;
    padding: 14px !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  }

  /* ==========================================================================
     7. MOBILE 9:16 STUDENT PORTAL LOGIN CUSTOMIZATION
     Fit viewport, eliminate whitespace, iOS zoom protection, thumb-friendly
     ========================================================================== */
  body:has(#view-student-login:not([style*="display: none"])) {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  #view-student-login {
    min-height: auto !important;
    padding-top: 10px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    padding-bottom: calc(var(--mobile-bottom-height, 64px) + 24px) !important;
    margin-top: 0 !important;
  }

  #view-student-login[style*="display: none"] {
    display: none !important;
  }

  .student-login-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .student-login-card {
    padding: 16px 14px !important;
    border-radius: 18px !important;
    border: 1.5px solid #FFEDD5 !important;
    box-shadow: 0 4px 20px rgba(255, 102, 51, 0.08) !important;
    width: 100% !important;
    background: #FFFFFF !important;
  }

  .student-login-header {
    margin-bottom: 12px !important;
  }

  .student-brand-row {
    gap: 10px !important;
    margin-bottom: 8px !important;
  }

  .student-brand-logo-lh {
    height: 38px !important;
  }

  .student-brand-divider {
    height: 24px !important;
  }

  .student-brand-logo-fc {
    height: 32px !important;
  }

  .student-login-badge {
    font-size: 0.68rem !important;
    padding: 2px 8px !important;
    margin-bottom: 4px !important;
  }

  .student-login-title {
    font-size: 1.15rem !important;
    margin-bottom: 2px !important;
  }

  .student-login-sub {
    font-size: 0.74rem !important;
    line-height: 1.3 !important;
  }

  /* Segmented Pill Tabs for Mobile 9:16 Screens */
  .student-login-tabs {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 4px !important;
    background: #F1F5F9 !important;
    padding: 4px !important;
    border-radius: 12px !important;
    margin-bottom: 14px !important;
    border-bottom: none !important;
  }

  .student-login-tab-btn {
    padding: 8px 2px !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    border-radius: 9px !important;
    border: none !important;
    background: transparent !important;
    color: #64748B !important;
    text-align: center !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
  }

  .student-login-tab-btn.active {
    background: #FFFFFF !important;
    color: #EA580C !important;
    font-weight: 800 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
  }

  .student-form-group {
    margin-bottom: 12px !important;
  }

  .student-input {
    font-size: 16px !important; /* Critical to prevent iOS viewport auto-zoom */
    padding: 11px 12px !important;
    border-radius: 10px !important;
  }

  .student-submit-btn {
    padding: 12px !important;
    font-size: 0.92rem !important;
    border-radius: 11px !important;
  }

  .student-otp-input {
    font-size: 1.5rem !important;
    letter-spacing: 6px !important;
    max-width: 220px !important;
    padding: 8px 12px !important;
    border-radius: 10px !important;
  }

  .student-mobile-help {
    display: flex !important;
  }

  /* ==========================================================================
     8. MOBILE 9:16 STUDENT DASHBOARD & 3x2 PROFILE GRID CUSTOMIZATION
     ========================================================================== */
  body:has(#view-student-portal:not([style*="display: none"])) {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  #view-student-portal {
    min-height: auto !important;
    padding-top: 10px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    padding-bottom: calc(var(--mobile-bottom-height, 64px) + 24px) !important;
    margin-top: 0 !important;
  }

  #view-student-portal[style*="display: none"] {
    display: none !important;
  }

  #view-student-portal .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Portal Top Header Bar */
  #view-student-portal .portal-header-bar {
    padding: 12px 14px !important;
    border-radius: 14px !important;
    margin-bottom: 12px !important;
    background: #FFFFFF !important;
    border: 1.5px solid #E2E8F0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
  }

  #view-student-portal .portal-avatar {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    font-size: 1.25rem !important;
    border-radius: 10px !important;
  }

  #view-student-portal #student-welcome-name {
    font-size: 1.02rem !important;
    font-weight: 800 !important;
    color: #0F172A !important;
    margin: 0 !important;
    line-height: 1.2 !important;
  }

  #view-student-portal .portal-user-meta span {
    font-size: 0.68rem !important;
    color: #64748B !important;
  }

  #view-student-portal .portal-header-bar .btn {
    padding: 6px 12px !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
  }

  /* Student Profile Card */
  #view-student-portal .student-profile-card {
    padding: 14px 12px !important;
    border-radius: 16px !important;
    background: #FFFFFF !important;
    border: 1.5px solid #FED7AA !important;
    box-shadow: 0 4px 16px rgba(234, 88, 12, 0.06) !important;
    margin-bottom: 14px !important;
  }

  #view-student-portal .student-profile-card h3 {
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    color: #0F172A !important;
    margin-bottom: 2px !important;
  }

  #view-student-portal .student-profile-card p {
    font-size: 0.74rem !important;
    color: #64748B !important;
    margin-bottom: 8px !important;
  }

  /* 3x2 Grid for Profile Info Cards on 9:16 Mobile Screens */
  .student-info-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
    margin-top: 8px !important;
  }

  /* Avatar Card occupies full width on top */
  .student-info-grid > .info-box:first-child,
  .student-info-grid > div[style*="grid-column: 1 / -1"]:first-child {
    grid-column: 1 / -1 !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
    gap: 12px !important;
  }

  .student-info-grid > .info-box:first-child #parent-student-avatar-img {
    width: 48px !important;
    height: 48px !important;
  }

  .student-info-grid > .info-box:first-child h3 {
    font-size: 1.08rem !important;
    margin-bottom: 2px !important;
  }

  /* The 6 profile cards arranged into a 3x2 grid */
  .student-info-grid > .info-box:not(:first-child):not(:last-child) {
    background: #F8FAFC !important;
    border-radius: 10px !important;
    border-left: 3.5px solid #FF6633 !important;
    border-top: 1px solid #E2E8F0 !important;
    border-right: 1px solid #E2E8F0 !important;
    border-bottom: 1px solid #E2E8F0 !important;
    padding: 9px 8px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.02) !important;
  }

  .student-info-grid > .info-box:not(:first-child):not(:last-child) span {
    font-size: 0.65rem !important;
    font-weight: 800 !important;
    color: #EA580C !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    margin-bottom: 2px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
  }

  .student-info-grid > .info-box:not(:first-child):not(:last-child) strong {
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    line-height: 1.25 !important;
    word-break: break-word !important;
    display: block !important;
  }

  .student-info-grid > .info-box:not(:first-child):not(:last-child) div {
    font-size: 0.68rem !important;
    color: #64748B !important;
    margin-top: 3px !important;
    line-height: 1.2 !important;
    word-break: break-word !important;
  }

  /* Concessions / Discount Card occupies full width at bottom */
  .student-info-grid > .info-box:last-child,
  .student-info-grid > div[style*="grid-column: 1 / -1"]:last-child {
    grid-column: 1 / -1 !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    background: #FFFBEB !important;
    border: 1px solid #FDE68A !important;
  }

  .student-info-grid > .info-box:last-child span {
    font-size: 0.68rem !important;
    font-weight: 800 !important;
    color: #92400E !important;
  }

  .student-info-grid > .info-box:last-child strong {
    font-size: 0.78rem !important;
    color: #78350F !important;
  }

  /* Fee Summary Rows on Mobile */
  .fee-summary-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
  }

  .fee-summary-row > div:first-child {
    padding: 10px 12px !important;
    border-radius: 12px !important;
    border: 1.5px solid #E2E8F0 !important;
  }

  .fee-stat-card {
    padding: 14px 14px !important;
    border-radius: 14px !important;
    border: 1.5px solid #E2E8F0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
  }

  .fee-stat-card h4 {
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    margin-bottom: 4px !important;
  }

  .fee-stat-card .amount {
    font-size: 1.35rem !important;
    font-weight: 800 !important;
  }

  /* Fee Table Card on Mobile */
  .table-responsive {
    border-radius: 14px !important;
    border: 1.5px solid #E2E8F0 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
    background: #FFFFFF !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin-bottom: 20px !important;
  }

  .table-responsive table {
    width: 100% !important;
    min-width: 580px !important;
  }

  .table-responsive th,
  .table-responsive td {
    padding: 10px 12px !important;
    font-size: 0.78rem !important;
  }

  /* Mobile Receipt Modal & Viewer */
  #receipt-modal .modal-dialog {
    width: 96vw !important;
    max-width: 96vw !important;
    height: 94vh !important;
    max-height: 94vh !important;
    margin: 3vh auto !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25) !important;
  }

  #receipt-modal .modal-header {
    padding: 10px 12px !important;
    background: #0f172a !important;
    color: #ffffff !important;
    border-bottom: 1px solid #334155 !important;
  }

  #receipt-modal .modal-header h3 {
    font-size: 0.92rem !important;
    color: #ffffff !important;
    max-width: 170px !important;
  }

  #receipt-modal .modal-header span {
    color: #94a3b8 !important;
    font-size: 0.68rem !important;
    max-width: 170px !important;
  }

  #receipt-modal .receipt-action-label {
    display: none !important;
  }

  #receipt-modal .modal-header .btn-outline {
    background: #1e293b !important;
    border-color: #475569 !important;
    color: #f1f5f9 !important;
    padding: 5px 8px !important;
    font-size: 0.8rem !important;
  }

  #receipt-modal .modal-header .modal-close-btn {
    color: #cbd5e1 !important;
    font-size: 1.3rem !important;
  }

  #receipt-modal .modal-body {
    flex: 1 !important;
    padding: 0 !important;
    background: #f8fafc !important;
    overflow: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }

  #receipt-modal iframe#receipt-viewer-iframe {
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    display: block !important;
    background: #ffffff !important;
  }

  /* Detailed Itemized Fee Modal - Mobile Responsive */
  #modal-itemized-fee .modal-dialog {
    width: 95vw !important;
    max-width: 95vw !important;
    max-height: 92vh !important;
    border-radius: 14px !important;
    margin: auto !important;
  }

  #modal-itemized-fee .modal-header {
    padding: 12px 14px !important;
  }

  #modal-itemized-fee .modal-header h3 {
    font-size: 0.95rem !important;
  }

  #modal-itemized-fee .modal-header span {
    font-size: 0.7rem !important;
  }

  #modal-itemized-fee .modal-body {
    padding: 12px 14px !important;
    -webkit-overflow-scrolling: touch !important;
  }

  #modal-itemized-fee .modal-footer {
    padding: 10px 14px !important;
    gap: 8px !important;
  }

  /* ==========================================================================
     ADMIN MODULES - 9:16 MOBILE SCREEN VIEW ENHANCEMENTS
     1. Admin Hub View (#view-admin-hub)
     2. Enquiries View (#view-admin-enquiries) - 4x4 Grid & Both Filters in Row
     3. Detailed Enquiry View (#view-enquiry-detail) - Followup Form on Screen
     4. Official Webmail View (#view-admin-emails) - Folders Bar & Fullscreen Reader
     5. Finance ERP View (#admin-section-finance & #view-admin-portal)
     ========================================================================== */

  /* --- 1. ADMIN HUB VIEW --- */
  #view-admin-hub .container {
    padding: 12px 14px 80px !important;
  }

  #view-admin-hub .portal-header-bar {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 14px 16px !important;
    margin-bottom: 16px !important;
  }

  #view-admin-hub .portal-header-actions {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  #view-admin-hub .admin-hub-hero {
    padding: 18px 16px !important;
    margin-bottom: 16px !important;
    border-radius: 16px !important;
  }

  #view-admin-hub .admin-hub-hero-badge {
    font-size: 0.72rem !important;
    padding: 4px 10px !important;
    margin-bottom: 10px !important;
  }

  #view-admin-hub .admin-hub-hero-title {
    font-size: 1.3rem !important;
    line-height: 1.25 !important;
    margin-bottom: 8px !important;
  }

  #view-admin-hub .admin-hub-hero-subtitle {
    font-size: 0.82rem !important;
    line-height: 1.45 !important;
  }

  #view-admin-hub .admin-hub-tiles-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  #view-admin-hub .admin-hub-tile {
    padding: 16px 14px !important;
    border-radius: 16px !important;
    transition: transform 0.15s ease !important;
  }

  #view-admin-hub .admin-hub-tile:active {
    transform: scale(0.98) !important;
  }

  #view-admin-hub .hub-tile-top {
    margin-bottom: 10px !important;
  }

  #view-admin-hub .hub-tile-icon-box {
    width: 40px !important;
    height: 40px !important;
    font-size: 1.2rem !important;
    border-radius: 10px !important;
  }

  #view-admin-hub .hub-tile-tag {
    font-size: 0.72rem !important;
    padding: 4px 9px !important;
    border-radius: 20px !important;
  }

  #view-admin-hub .hub-tile-heading {
    font-size: 1.1rem !important;
    margin-bottom: 4px !important;
  }

  #view-admin-hub .hub-tile-desc {
    font-size: 0.8rem !important;
    line-height: 1.38 !important;
    margin-bottom: 14px !important;
  }

  #view-admin-hub .hub-tile-footer {
    padding-top: 12px !important;
    gap: 8px !important;
  }

  #view-admin-hub .hub-stat-num {
    font-size: 1.2rem !important;
  }

  #view-admin-hub .hub-stat-label {
    font-size: 0.7rem !important;
  }

  #view-admin-hub .btn-tile-launch {
    padding: 8px 14px !important;
    font-size: 0.82rem !important;
    border-radius: 8px !important;
  }

  /* --- 2. ENQUIRIES VIEW (4x4 GRID SUMMARY & BOTH FILTERS IN A ROW) --- */
  #view-admin-enquiries .container {
    padding: 12px 14px 80px !important;
  }

  #view-admin-enquiries .portal-header-bar {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 14px 16px !important;
    margin-bottom: 14px !important;
  }

  #view-admin-enquiries .portal-header-actions {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  #view-admin-enquiries .portal-header-actions .btn {
    font-size: 0.78rem !important;
    padding: 6px 10px !important;
  }

  /* 4x4 Grid Status Summary Cards (compact 2x2 grid layout) */
  #view-admin-enquiries .enquiry-metrics-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin-bottom: 14px !important;
  }

  #view-admin-enquiries .enquiry-metrics-grid .fee-stat-card {
    padding: 10px 12px !important;
    border-radius: 10px !important;
    margin-bottom: 0 !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
  }

  #view-admin-enquiries .enquiry-metrics-grid .fee-stat-card h4 {
    font-size: 0.68rem !important;
    margin-bottom: 2px !important;
    letter-spacing: 0.2px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  #view-admin-enquiries .enquiry-metrics-grid .fee-stat-card .amount {
    font-size: 1.35rem !important;
    line-height: 1.15 !important;
    margin-bottom: 2px !important;
  }

  #view-admin-enquiries .enquiry-metrics-grid .fee-stat-card span {
    font-size: 0.65rem !important;
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Both Filters in a Row */
  #view-admin-enquiries .enquiry-toolbar {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    margin-bottom: 14px !important;
  }

  #view-admin-enquiries .enquiry-search-filter-wrap {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  #view-admin-enquiries .enquiry-search-input {
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 0.85rem !important;
    padding: 9px 12px !important;
    border-radius: 8px !important;
  }

  #view-admin-enquiries .enquiry-filters-inline-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  #view-admin-enquiries .enquiry-filter-select {
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 0.8rem !important;
    padding: 8px 8px !important;
    border-radius: 8px !important;
    border: 1px solid #CBD5E1 !important;
    background: #FFFFFF !important;
    color: #0F172A !important;
  }

  #view-admin-enquiries .enquiry-actions-wrap {
    display: flex !important;
    gap: 8px !important;
    width: 100% !important;
  }

  #view-admin-enquiries .enquiry-actions-wrap .btn-export-enq,
  #view-admin-enquiries .enquiry-actions-wrap .btn {
    flex: 1 !important;
    justify-content: center !important;
    padding: 8px 10px !important;
    font-size: 0.8rem !important;
  }

  /* --- 3. DETAILED ENQUIRY VIEW OF A STUDENT (FOLLOWUP FORM ON SCREEN) --- */
  #view-enquiry-detail .container {
    padding: 12px 14px 80px !important;
  }

  #view-enquiry-detail .portal-header-bar {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 14px 16px !important;
    margin-bottom: 14px !important;
  }

  #view-enquiry-detail .portal-header-actions {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
  }

  #view-enquiry-detail .crm-layout-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  #view-enquiry-detail .crm-profile-card {
    padding: 16px 14px !important;
    border-radius: 14px !important;
  }

  #view-enquiry-detail .crm-profile-card h2 {
    font-size: 1.15rem !important;
  }

  #view-enquiry-detail .crm-right-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  /* Followup Form on Screen: Reordered directly below student profile card */
  #view-enquiry-detail .crm-followup-form-card {
    order: 1 !important;
    padding: 16px 14px !important;
    border-radius: 14px !important;
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.06) !important;
    border: 1.5px solid #BFDBFE !important;
    background: #FFFFFF !important;
  }

  #view-enquiry-detail .crm-details-tiles-card {
    order: 2 !important;
    padding: 16px 14px !important;
    border-radius: 14px !important;
  }

  /* Followup Form Inputs Stack */
  #view-enquiry-detail .crm-followup-inputs-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
  }

  #view-enquiry-detail .crm-followup-inputs-grid select,
  #view-enquiry-detail .crm-followup-inputs-grid input {
    font-size: 0.88rem !important;
    padding: 9px 12px !important;
    border-radius: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  #view-enquiry-detail #crm-input-remarks {
    font-size: 0.88rem !important;
    padding: 9px 12px !important;
    border-radius: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  #view-enquiry-detail .crm-followup-form-card button[type="submit"] {
    width: 100% !important;
    padding: 11px !important;
    font-size: 0.92rem !important;
    font-weight: 800 !important;
    border-radius: 8px !important;
    justify-content: center !important;
  }

  /* 6 Metadata Tiles in 2-column Grid */
  #view-enquiry-detail .crm-tiles-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  #view-enquiry-detail .crm-tile {
    padding: 8px 10px !important;
    gap: 8px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
  }

  #view-enquiry-detail .crm-tile > div:first-child {
    width: 32px !important;
    height: 32px !important;
    font-size: 1rem !important;
    flex-shrink: 0 !important;
  }

  #view-enquiry-detail .crm-tile > div:last-child div:first-child {
    font-size: 0.65rem !important;
    letter-spacing: 0.2px !important;
  }

  #view-enquiry-detail .crm-tile > div:last-child div:last-child {
    font-size: 0.78rem !important;
    line-height: 1.2 !important;
  }

  /* --- 4. OFFICIAL WEBMAIL SCREEN --- */
  #view-admin-emails {
    height: 100vh !important;
    max-height: 100vh !important;
    overflow: hidden !important;
    background: #0F172A !important;
  }

  #view-admin-emails .webmail-view-wrapper {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }

  #view-admin-emails .webmail-topbar {
    height: 52px !important;
    padding: 8px 12px !important;
    flex-shrink: 0 !important;
    background: #090D16 !important;
    border-bottom: 1px solid #1E293B !important;
  }

  #view-admin-emails .webmail-topbar h2 {
    font-size: 0.92rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
  }

  #view-admin-emails .webmail-badge-suite {
    font-size: 0.7rem !important;
    padding: 3px 8px !important;
    border-radius: 12px !important;
  }

  #view-admin-emails .webmail-badge-suite[href*="admin-portal"] {
    display: none !important;
  }

  #view-admin-emails .webmail-topbar-right {
    gap: 6px !important;
  }

  #view-admin-emails .webmail-btn-refresh {
    padding: 5px 9px !important;
    font-size: 0.75rem !important;
    border-radius: 6px !important;
  }

  #view-admin-emails .webmail-btn-close {
    font-size: 1rem !important;
    padding: 4px 8px !important;
  }

  #view-admin-emails .webmail-container {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    overflow: hidden !important;
    position: relative !important;
  }

  /* Sidebar is hidden on mobile; replaced by mobile folder dropdown picker bar */
  #view-admin-emails .webmail-sidebar {
    display: none !important;
  }

  /* Mobile Controls Bar: Folder Dropdown Picker + Compose Button */
  .webmail-mobile-controls-bar {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 12px !important;
    background: #0B1120 !important;
    border-bottom: 1px solid #1E293B !important;
    gap: 10px !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
  }

  .webmail-folder-picker-group {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 1 !important;
  }

  .webmail-folder-picker-icon {
    font-size: 1.15rem !important;
  }

  .webmail-folder-picker-label {
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    color: #94A3B8 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
  }

  .webmail-folder-picker-select {
    flex: 1 !important;
    max-width: 200px !important;
    background: #1E293B !important;
    color: #F8FAFC !important;
    border: 1.5px solid #3B82F6 !important;
    border-radius: 8px !important;
    padding: 7px 10px !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    outline: none !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
  }

  .webmail-mobile-compose-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    background: linear-gradient(135deg, #FF6633, #FF4500) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    font-size: 0.82rem !important;
    font-weight: 800 !important;
    box-shadow: 0 2px 8px rgba(255, 102, 51, 0.3) !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }

  .webmail-mobile-compose-btn:active {
    transform: scale(0.96) !important;
  }



  /* Email List Pane */
  #view-admin-emails .webmail-list-pane {
    flex: 1 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    background: #FFFFFF !important;
    border-right: none !important;
  }

  #view-admin-emails .webmail-search-bar {
    padding: 8px 12px !important;
    border-bottom: 1px solid #E2E8F0 !important;
  }

  #view-admin-emails .webmail-search-input {
    font-size: 0.82rem !important;
    padding: 7px 10px 7px 32px !important;
  }

  #view-admin-emails .webmail-search-icon {
    left: 20px !important;
    font-size: 0.85rem !important;
  }

  #view-admin-emails .webmail-card {
    padding: 10px 12px !important;
  }

  #view-admin-emails .webmail-card-from {
    font-size: 0.85rem !important;
  }

  #view-admin-emails .webmail-card-date {
    font-size: 0.7rem !important;
  }

  #view-admin-emails .webmail-card-subject {
    font-size: 0.82rem !important;
  }

  #view-admin-emails .webmail-card-snippet {
    font-size: 0.74rem !important;
  }

  /* Full Screen Reading Pane on Mobile */
  #view-admin-emails .webmail-reading-pane {
    display: none !important;
  }

  #view-admin-emails .webmail-container.mobile-viewing-email .webmail-sidebar {
    display: none !important;
  }

  #view-admin-emails .webmail-container.mobile-viewing-email .webmail-list-pane {
    display: none !important;
  }

  #view-admin-emails .webmail-container.mobile-viewing-email .webmail-reading-pane {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    padding: 12px 14px 32px !important;
    background: #FFFFFF !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
  }

  .webmail-mobile-back-bar {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-bottom: 10px !important;
    margin-bottom: 12px !important;
    border-bottom: 1.5px solid #E2E8F0 !important;
  }

  .webmail-mobile-back-btn {
    background: #F1F5F9 !important;
    border: 1px solid #CBD5E1 !important;
    color: #1E293B !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
  }

  .webmail-mobile-folder-pill {
    font-size: 0.72rem !important;
    color: #475569 !important;
    background: #E2E8F0 !important;
    padding: 3px 8px !important;
    border-radius: 12px !important;
    font-weight: 600 !important;
  }

  #view-admin-emails .webmail-reading-top {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
  }

  #view-admin-emails .webmail-reading-subject {
    font-size: 1.2rem !important;
    font-weight: 800 !important;
    color: #0F172A !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    word-break: break-word !important;
    width: 100% !important;
  }

  #view-admin-emails .webmail-reading-actions {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  #view-admin-emails .webmail-action-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    padding: 9px 4px !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  #view-admin-emails .webmail-meta-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 10px 0 !important;
  }

  #view-admin-emails .webmail-sender-block {
    gap: 8px !important;
  }

  #view-admin-emails .webmail-avatar {
    width: 32px !important;
    height: 32px !important;
    font-size: 0.85rem !important;
  }

  #view-admin-emails .webmail-sender-name {
    font-size: 0.85rem !important;
    word-break: break-word !important;
  }

  #view-admin-emails .webmail-to-line {
    font-size: 0.72rem !important;
    word-break: break-word !important;
  }

  #view-admin-emails .webmail-meta-right {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  #view-admin-emails .webmail-timestamp {
    font-size: 0.72rem !important;
  }

  #view-admin-emails .webmail-body-container {
    font-size: 0.86rem !important;
    line-height: 1.5 !important;
    word-break: break-word !important;
    padding: 12px 0 !important;
  }

  #view-admin-emails .webmail-attachments-grid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  /* --- 5. FINANCE ERP VIEW FOR 9:16 MOBILE SCREEN --- */
  #view-admin-portal .container {
    padding: 12px 14px 80px !important;
  }

  #view-admin-portal .portal-header-bar {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 14px 16px !important;
    margin-bottom: 14px !important;
  }

  #view-admin-portal .portal-header-actions {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  #view-admin-portal .portal-header-actions .btn {
    font-size: 0.78rem !important;
    padding: 6px 10px !important;
  }

  /* Active Session Banner */
  #view-admin-portal .active-fy-banner {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 12px 14px !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
    border-radius: 12px !important;
  }

  #view-admin-portal .active-fy-banner > div:first-child {
    gap: 10px !important;
  }

  #view-admin-portal #active-fy-display-title {
    font-size: 0.98rem !important;
    line-height: 1.25 !important;
  }

  #view-admin-portal .active-fy-banner > div:last-child {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    width: 100% !important;
  }

  #view-admin-portal .active-fy-banner .btn {
    width: 100% !important;
    justify-content: center !important;
    padding: 7px 8px !important;
    font-size: 0.74rem !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Bubble Navigation (2-column compact tiles) */
  #view-admin-portal .admin-bubble-nav {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
  }

  #view-admin-portal .admin-bubble-card {
    padding: 12px 10px 10px !important;
    border-radius: 14px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    min-height: 140px !important;
    box-sizing: border-box !important;
  }

  #view-admin-portal .bubble-icon-wrapper {
    width: 32px !important;
    height: 32px !important;
    margin-bottom: 2px !important;
    flex-shrink: 0 !important;
  }

  #view-admin-portal .bubble-icon-wrapper svg {
    width: 18px !important;
    height: 18px !important;
  }

  #view-admin-portal .bubble-title {
    font-size: 0.88rem !important;
    font-weight: 800 !important;
    color: #0F172A !important;
    line-height: 1.2 !important;
    display: block !important;
    margin-bottom: 2px !important;
    white-space: normal !important;
    word-break: break-word !important;
  }

  #view-admin-portal .bubble-value {
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    margin: 2px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 3px !important;
    width: 100% !important;
  }

  #view-admin-portal .bubble-caption {
    font-size: 0.65rem !important;
    color: #64748B !important;
  }

  #view-admin-portal .bubble-export-action {
    width: 100% !important;
    margin-top: auto !important;
    padding-top: 4px !important;
  }

  #view-admin-portal .btn-export-excel {
    width: 100% !important;
    margin: 0 !important;
    padding: 6px 8px !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }

  /* Finance Subtab Navigation Bar (Horizontal Scrollable Pills) */
  #admin-section-finance > div[style*="display: flex"][style*="border-bottom"] {
    display: flex !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 6px !important;
    padding-bottom: 8px !important;
    margin-bottom: 12px !important;
    scrollbar-width: none !important;
  }

  #admin-section-finance > div[style*="display: flex"][style*="border-bottom"]::-webkit-scrollbar {
    display: none !important;
  }

  .finance-subtab-btn {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    font-size: 0.76rem !important;
    padding: 7px 12px !important;
    border-radius: 20px !important;
  }

  /* Finance Stat Summary Cards on Mobile */
  #admin-section-finance .fee-summary-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin-bottom: 14px !important;
  }

  #admin-section-finance .fee-summary-row .fee-stat-card {
    padding: 10px 12px !important;
    border-radius: 10px !important;
    margin-bottom: 0 !important;
  }

  #admin-section-finance .fee-summary-row .fee-stat-card:last-child {
    grid-column: 1 / -1 !important;
  }

  #admin-section-finance .fee-summary-row .fee-stat-card h4 {
    font-size: 0.68rem !important;
    margin-bottom: 2px !important;
  }

  #admin-section-finance .fee-summary-row .fee-stat-card .amount {
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
  }

  #admin-section-finance .fee-summary-row .fee-stat-card div:last-child {
    font-size: 0.68rem !important;
  }

  /* Finance Toolbar on Mobile */
  #admin-section-finance .admin-toolbar {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
  }

  #admin-section-finance .admin-toolbar > div {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
  }

  #admin-section-finance .filter-select {
    flex: 1 !important;
    font-size: 0.8rem !important;
    padding: 7px 10px !important;
    border-radius: 8px !important;
  }

  /* Financial Year Selection Cards */
  #admin-fy-selection-view .fy-cards-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  #admin-fy-selection-view .fy-card {
    padding: 16px 14px !important;
    border-radius: 14px !important;
  }

  /* ==========================================================================
     STUDENT VIEW (#view-student-detail) - 9:16 MOBILE SCREEN OPTIMIZATIONS
     ========================================================================== */
  #view-student-detail .container,
  #view-student-detail .student-detail-container {
    padding: 10px 12px 60px !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Header Bar */
  #view-student-detail .student-detail-header-bar,
  #view-student-detail > div > div[style*="border-bottom: 1.5px solid"] {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
    padding-bottom: 12px !important;
  }

  #view-student-detail .student-detail-header-left,
  #view-student-detail > div > div[style*="border-bottom: 1.5px solid"] > div:first-child {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
  }

  #view-student-detail .student-detail-back-btn,
  #view-student-detail button[onclick*="admin-portal"] {
    width: auto !important;
    padding: 6px 12px !important;
    font-size: 0.78rem !important;
    border-radius: 8px !important;
  }

  #view-student-detail #student-detail-name-heading {
    font-size: 1.15rem !important;
    line-height: 1.25 !important;
  }

  #view-student-detail #student-detail-id-badge {
    font-size: 0.75rem !important;
    padding: 2px 7px !important;
  }

  #view-student-detail .student-detail-subtext,
  #view-student-detail span[style*="Little Heads Ashok Nagar Campus"] {
    font-size: 0.72rem !important;
    line-height: 1.3 !important;
  }

  /* Action Buttons on Student View */
  #view-student-detail .student-detail-actions,
  #view-student-detail > div > div[style*="border-bottom: 1.5px solid"] > div:last-child {
    display: grid !important;
    grid-template-columns: 1.3fr 1fr 0.8fr !important;
    gap: 6px !important;
    width: 100% !important;
  }

  #view-student-detail .student-detail-actions .btn,
  #view-student-detail > div > div[style*="border-bottom: 1.5px solid"] > div:last-child .btn {
    padding: 8px 6px !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Main Grid Stacking (Single column for 9:16 mobile) */
  #view-student-detail .student-detail-grid,
  #view-student-detail div[style*="grid-template-columns: 360px"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin-bottom: 16px !important;
  }

  /* Profile Column Card */
  #view-student-detail .student-detail-profile-col,
  #view-student-detail .student-detail-grid > div:first-child,
  #view-student-detail div[style*="grid-template-columns: 360px"] > div:first-child {
    padding: 14px 12px !important;
    border-radius: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Profile Avatar */
  #view-student-detail div[style*="width: 110px"] {
    width: 84px !important;
    height: 84px !important;
    margin-bottom: 8px !important;
  }

  #view-student-detail #student-detail-card-name {
    font-size: 1.1rem !important;
  }

  /* Profile Info List Rows */
  #view-student-detail div[style*="display: flex; flex-direction: column; gap: 11px"] {
    gap: 8px !important;
    font-size: 0.8rem !important;
  }

  /* Ledger Column Cards */
  #view-student-detail .student-detail-ledger-col,
  #view-student-detail .student-detail-grid > div:last-child,
  #view-student-detail div[style*="grid-template-columns: 360px"] > div:last-child {
    gap: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  #view-student-detail .student-detail-grid > div:last-child > div,
  #view-student-detail div[style*="grid-template-columns: 360px"] > div:last-child > div {
    padding: 14px 12px !important;
    border-radius: 14px !important;
  }

  /* Session selector row on mobile */
  #view-student-detail select#student-detail-session-select {
    font-size: 0.8rem !important;
    padding: 6px 10px !important;
  }

  /* Stat KPI Cards (Stacked for 9:16 mobile) */
  #view-student-detail .fee-summary-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  #view-student-detail .fee-summary-row .fee-stat-card {
    padding: 10px 12px !important;
    border-radius: 10px !important;
  }

  #view-student-detail .fee-summary-row .fee-stat-card h4 {
    font-size: 0.72rem !important;
    margin-bottom: 2px !important;
  }

  #view-student-detail .fee-summary-row .fee-stat-card .amount {
    font-size: 1.25rem !important;
  }

  /* Monthly Invoices Table on Mobile */
  #view-student-detail .table-responsive {
    border-radius: 12px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  #view-student-detail .data-table th,
  #view-student-detail .data-table td {
    padding: 8px 10px !important;
    font-size: 0.76rem !important;
    white-space: nowrap !important;
  }

  /* ==========================================================================
     EDIT STUDENT MODAL (#modal-edit-student-detail) - 9:16 MOBILE VIEW
     ========================================================================== */
  #modal-edit-student-detail.modal-backdrop {
    padding: 8px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #modal-edit-student-detail .modal-dialog,
  #modal-edit-student-detail .modal-edit-student-dialog {
    width: 96% !important;
    max-width: 96% !important;
    max-height: 92vh !important;
    margin: auto !important;
    border-radius: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25) !important;
    overflow: hidden !important;
  }

  #modal-edit-student-detail .modal-header {
    padding: 12px 16px !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid #E2E8F0 !important;
    flex-shrink: 0 !important;
  }

  #modal-edit-student-detail .modal-header h3 {
    font-size: 1.05rem !important;
    font-weight: 800 !important;
  }

  #modal-edit-student-detail .modal-body,
  #modal-edit-student-detail .modal-edit-student-body {
    padding: 14px 14px 20px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    flex: 1 !important;
    box-sizing: border-box !important;
  }

  #modal-edit-student-detail .modal-footer {
    padding: 10px 14px !important;
    background: #F8FAFC !important;
    border-top: 1px solid #E2E8F0 !important;
    display: flex !important;
    gap: 8px !important;
    justify-content: flex-end !important;
    flex-shrink: 0 !important;
  }

  #modal-edit-student-detail .modal-footer .btn {
    padding: 9px 18px !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
  }

  /* Stack all form grid columns to 1fr on 9:16 mobile */
  #modal-edit-student-detail form div[style*="display:grid"],
  #modal-edit-student-detail form div[style*="display: grid"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
  }

  /* Form Labels & Inputs Touch-friendly */
  #modal-edit-student-detail label {
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    color: #334155 !important;
    margin-bottom: 3px !important;
  }

  #modal-edit-student-detail input[type="text"],
  #modal-edit-student-detail input[type="tel"],
  #modal-edit-student-detail input[type="email"],
  #modal-edit-student-detail input[type="date"],
  #modal-edit-student-detail input[type="number"],
  #modal-edit-student-detail select {
    font-size: 16px !important; /* Prevents auto-zoom on iOS */
    padding: 8px 12px !important;
    height: 42px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  /* Photo edit row inside modal */
  #modal-edit-student-detail div[style*="border: 1.5px dashed"] {
    padding: 8px 10px !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
  }

  /* Calculator preview inside modal */
  #modal-edit-student-detail div[style*="Live Fee & Charge Calculator Preview"] {
    padding: 10px 12px !important;
  }
}

