﻿/*
 * WebForms bridge for the Frest layout.
 * Stock GridView, validator, and brand markup pick up these rules.
 */

.app-brand-logo.demo {
  width: auto;
  height: 32px;
}

/* App title lives in the top navbar (sidebar shows logo only). */
.navbar-app-title {
  min-width: 0;
  max-width: 40vw;
  font-size: 1.3125rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--bs-heading-color, var(--bs-body-color));
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 575.98px) {
  .navbar-app-title { max-width: 45vw; font-size: 1.125rem; }
}

@media (max-width: 359.98px) {
  .navbar-app-title { display: none; }
}

.app-brand-logo.demo .brand-logo {
  display: block;
  height: 28px;
  width: auto;
}

.table thead th a {
  color: inherit;
  font-weight: inherit;
  text-decoration: none;
}

.table thead th a:hover {
  color: var(--bs-primary, #5a8dee);
}

.table > thead > tr.frest-pager > td,
.table > tbody > tr.frest-pager > td,
.table > tfoot > tr.frest-pager > td,
.table > tr.frest-pager > td,
tr.frest-pager > td {
  background: transparent;
  border-bottom: 0;
  padding: 0.75rem 1.25rem;
}

.frest-pager table {
  background: transparent;
  margin: 0;
  width: auto;
}

.frest-pager td {
  background: transparent !important;
  border: 0 !important;
  padding: 0 0.125rem !important;
  width: auto !important;
}

.frest-pager a,
.frest-pager span {
  align-items: center;
  border-radius: 0.375rem;
  display: inline-flex;
  font-size: 0.9375rem;
  height: 2.25rem;
  justify-content: center;
  line-height: 1;
  min-width: 2.25rem;
  padding: 0.25rem 0.55rem;
  text-decoration: none;
}

.frest-pager a {
  color: var(--bs-heading-color, #516377);
}

.frest-pager a:hover {
  background-color: rgba(90, 141, 238, 0.16);
  color: var(--bs-primary, #5a8dee);
}

.frest-pager span {
  background-color: var(--bs-primary, #5a8dee);
  color: #fff;
  font-weight: 500;
}

.validation-summary ul {
  margin-bottom: 0;
  padding-left: 1.1rem;
}

.frest-snippet {
  background: #f7f8fa;
  border-top: 1px solid rgba(67, 89, 113, 0.1);
  font-size: 0.8125rem;
  line-height: 1.55;
  margin: 0;
  max-height: 28rem;
  overflow: auto;
  padding: 1rem 1.25rem;
}

.frest-snippet code {
  font-family: Consolas, "Liberation Mono", Menlo, monospace;
  white-space: pre;
}

.dark-style .frest-snippet {
  background: #1c222f;
  border-top-color: #36445d;
  color: #d8deea;
}

/* Navbar user name next to the initials avatar. */
.navbar-user-name {
  max-width: 14rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--bs-heading-color, var(--bs-body-color));
}

/* Top navbar in the template primary blue (#5a8dee, same blue as the pre-2026 Frest bg-primary).
   Same blue in light and dark mode; everything on it is white for contrast. Dropdown menus keep theme colors. */
.layout-navbar.bg-navbar-theme.navbar-primary,
html .layout-navbar.navbar-primary {
  background-color: var(--bs-primary, #5a8dee) !important;
  color: #fff;
}
.layout-navbar.navbar-primary > .container-fluid > .layout-menu-toggle .nav-link,
.layout-navbar.navbar-primary > .container-fluid > .layout-menu-toggle .nav-link i,
.layout-navbar.navbar-primary .navbar-nav-right > .navbar-nav > .nav-item > .nav-link,
.layout-navbar.navbar-primary .navbar-nav-right > .navbar-nav > .nav-item > .nav-link i,
.layout-navbar.navbar-primary .navbar-app-title,
.layout-navbar.navbar-primary .navbar-user-name {
  color: #fff !important;
}
.layout-navbar.navbar-primary .navbar-nav-right > .navbar-nav > .nav-item > .nav-link:hover,
.layout-navbar.navbar-primary .navbar-nav-right > .navbar-nav > .nav-item > .nav-link:hover i {
  color: rgba(255, 255, 255, 0.8) !important;
}
/* Initials circle: white disc keeps the per-user text color readable on blue. */
.layout-navbar.navbar-primary .dropdown-user > .nav-link .avatar-initial {
  background-color: #fff !important;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
}
.layout-navbar.navbar-primary .avatar-online::after {
  box-shadow: 0 0 0 2px var(--bs-primary, #5a8dee);
}