/* NephScola product identity and default-theme refinements. */
:root {
  --neph-navy: #07284c;
  --neph-blue: #0c6ee5;
  --neph-sky: #3b91f7;
  --neph-violet: #6159fc;
  --neph-cloud: #f3f5f8;
  --neph-border: #dce3ec;
  --neph-ink: #17253a;
  --neph-slate: #66758a;
}

/* Product assets keep their natural aspect ratio and never replace tenant identity. */
.login-showcase-logo {
  width: min(390px, 86%);
  height: auto;
  object-fit: contain;
  margin-bottom: 12px;
}

.login-product-logo {
  display: block;
  width: min(310px, 78%);
  height: auto;
  object-fit: contain;
  margin: 0 auto 22px;
}

.public-brand-logo {
  display: block;
  width: min(230px, 52vw);
  height: 56px;
  object-fit: contain;
  object-position: left center;
}

.public-about-logo {
  display: block;
  width: min(330px, 100%);
  height: auto;
  object-fit: contain;
  margin-bottom: 18px;
}

.nephscola-sidebar-brand {
  min-width: 0;
  display: flex;
  align-items: center;
  text-decoration: none;
}

.nephscola-sidebar-wordmark,
.nephscola-sidebar-wordmark-light {
  display: block;
  width: min(204px, 100%);
  height: 54px;
  object-fit: contain;
  object-position: left center;
}

.nephscola-sidebar-wordmark-light,
.nephscola-sidebar-monogram,
.nephscola-sidebar-monogram-light {
  display: none;
}

html[data-theme="clear-business-blue"] .nephscola-sidebar-wordmark {
  display: none;
}

html[data-theme="clear-business-blue"] .nephscola-sidebar-wordmark-light {
  display: block;
}

.app-shell.sidebar-collapsed .brand {
  grid-template-columns: 1fr;
  justify-items: center;
}

.app-shell.sidebar-collapsed .nephscola-sidebar-brand {
  justify-content: center;
}

.app-shell.sidebar-collapsed .nephscola-sidebar-wordmark,
.app-shell.sidebar-collapsed .nephscola-sidebar-wordmark-light {
  display: none;
}

.app-shell.sidebar-collapsed .nephscola-sidebar-monogram {
  display: block;
  width: 40px;
  height: 46px;
  object-fit: contain;
}

html[data-theme="clear-business-blue"] .app-shell.sidebar-collapsed .nephscola-sidebar-monogram {
  display: none;
}

html[data-theme="clear-business-blue"] .app-shell.sidebar-collapsed .nephscola-sidebar-monogram-light {
  display: block;
  width: 40px;
  height: 46px;
  object-fit: contain;
}

.app-shell.sidebar-collapsed .sidebar-collapse {
  position: static;
}

/* The approved NephScola default: navy navigation, blue-led header, cloud workspace. */
html[data-theme="nephscola-default"][data-resolved-mode="light"] .sidebar {
  background: var(--color-brand-navy) !important;
}

html[data-theme="nephscola-default"] .nav-group a.active,
html[data-theme="nephscola-default"] .nav-dashboard-link.active {
  background: var(--color-sidebar-active, var(--color-primary)) !important;
}

html[data-theme="nephscola-default"] .topbar {
  color: var(--color-topbar-text, #fff) !important;
  border-color: color-mix(in srgb, white 22%, transparent) !important;
  background: var(--color-topbar-bg, #1b75ce) !important;
  box-shadow: 0 8px 26px rgba(7, 40, 76, .16) !important;
}

html[data-theme="nephscola-default"] .topbar .top-school-identity strong,
html[data-theme="nephscola-default"] .topbar .top-school-identity span,
html[data-theme="nephscola-default"] .topbar .mobile-header-welcome,
html[data-theme="nephscola-default"] .topbar .profile-trigger strong,
html[data-theme="nephscola-default"] .topbar .profile-trigger small {
  color: #fff !important;
}

html[data-theme="nephscola-default"] .topbar .top-school-identity span,
html[data-theme="nephscola-default"] .topbar .mobile-header-welcome,
html[data-theme="nephscola-default"] .topbar .profile-trigger small {
  color: rgba(255, 255, 255, .82) !important;
}

html[data-theme="nephscola-default"] .topbar .search-box,
html[data-theme="nephscola-default"] .topbar .language-selector,
html[data-theme="nephscola-default"] .topbar .header-icon-button,
html[data-theme="nephscola-default"] .topbar .profile-trigger,
html[data-theme="nephscola-default"] .topbar .menu-toggle,
html[data-theme="nephscola-default"] .topbar .mobile-header-action {
  color: #fff !important;
  border-color: rgba(255, 255, 255, .28) !important;
  background: rgba(255, 255, 255, .12) !important;
}

html[data-theme="nephscola-default"] .topbar .search-box input {
  color: #fff !important;
  background: transparent !important;
}

html[data-theme="nephscola-default"] .topbar .search-box input::placeholder {
  color: rgba(255, 255, 255, .76) !important;
}

html[data-theme="nephscola-default"] .topbar .search-box svg,
html[data-theme="nephscola-default"] .topbar .header-icon-svg,
html[data-theme="nephscola-default"] .topbar .appearance-trigger .header-icon-svg {
  color: #fff !important;
  stroke: #fff !important;
}

html[data-theme="nephscola-default"] .topbar .profile-avatar {
  color: var(--color-brand-blue) !important;
  background: #fff !important;
}

html[data-theme="nephscola-default"] .topbar .header-icon-button:hover,
html[data-theme="nephscola-default"] .topbar .profile-trigger:hover,
html[data-theme="nephscola-default"] .topbar .appearance-trigger.active {
  color: #fff !important;
  border-color: rgba(255, 255, 255, .55) !important;
  background: rgba(255, 255, 255, .2) !important;
}

html[data-theme="nephscola-default"] .floating-action,
html[data-theme="nephscola-default"] .floating-action-button,
html[data-theme="nephscola-default"] .fab,
html[data-theme="nephscola-default"] .global-quick-trigger {
  color: var(--color-text-on-primary, #fff) !important;
  border-color: var(--color-primary) !important;
  background: var(--color-primary) !important;
  box-shadow: 0 14px 30px color-mix(in srgb, var(--color-primary) 28%, transparent) !important;
}

/* Login is product-level branding; school identity remains independently configured. */
.login-showcase {
  background: linear-gradient(135deg, var(--neph-violet) 0%, var(--neph-sky) 10%, var(--neph-blue) 100%);
}

.login-access-area {
  background: var(--neph-cloud);
}

.login-card {
  border-color: var(--neph-border);
  background: #fff;
}

.login-submit {
  background: var(--neph-blue);
  box-shadow: 0 12px 24px rgba(12, 110, 229, .22);
}

.login-submit:hover {
  background: #095fc7;
}

.forgot-password,
.login-footer a:hover {
  color: var(--neph-blue);
}

@media (max-width: 768px) {
  .app-shell.sidebar-collapsed .nephscola-sidebar-wordmark {
    display: block;
  }

  html[data-theme="clear-business-blue"] .app-shell.sidebar-collapsed .nephscola-sidebar-wordmark {
    display: none;
  }

  html[data-theme="clear-business-blue"] .app-shell.sidebar-collapsed .nephscola-sidebar-wordmark-light {
    display: block;
  }

  .app-shell.sidebar-collapsed .nephscola-sidebar-monogram,
  html[data-theme="clear-business-blue"] .app-shell.sidebar-collapsed .nephscola-sidebar-monogram-light {
    display: none;
  }

  .login-product-logo {
    width: min(270px, 84%);
  }
}

@media print {
  .nephscola-sidebar-brand,
  .login-showcase-logo,
  .login-product-logo {
    print-color-adjust: exact;
  }
}
