/* Read-only tenant items */
.card.card-sidebar .list-group .regium-readonly {
  pointer-events: none;
  cursor: default;
}
.card.card-sidebar .list-group .regium-readonly:hover {
  text-decoration: none;
}

/* Hide the left “Service Details Overview” toggle card on product details */
[menuitemname="Service Details Overview"] { display: none !important; }

.main-navbar-wrapper {
  position: sticky;
  top: 0;
  z-index: 1030;
  min-height: 0;
  padding: 10px 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(25, 183, 255, .18), transparent 26%),
    linear-gradient(135deg, rgba(8, 17, 34, .96), rgba(18, 32, 60, .94));
  border-bottom: 1px solid rgba(116, 204, 255, .24);
  box-shadow: 0 16px 38px rgba(8, 17, 34, .18);
  backdrop-filter: blur(16px);
}

#mainNavbar {
  display: block !important;
}

#mainNavbar > ul.navbar-nav {
  display: block;
  margin: 0 !important;
}

#mainNavbar > ul.navbar-nav.ml-auto {
  display: none !important;
}

#nav.navbar-nav {
  position: static;
  list-style: none;
  padding: 0;
}

#nav.navbar-nav > li {
  list-style: none;
}

.portal-top-menu-wrap {
  width: 100%;
}

.portal-top-menu,
.portal-top-menu * {
  box-sizing: border-box;
}

.portal-top-menu {
  width: 100%;
}

.portal-menu-shell {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
}

.portal-home-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  color: #ffffff;
  text-decoration: none;
  border: 1px solid rgba(116, 204, 255, .36);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(17, 118, 255, .92), rgba(23, 214, 214, .78));
  box-shadow: 0 0 24px rgba(31, 187, 255, .2);
}

.portal-home-link:hover {
  color: #ffffff;
  text-decoration: none;
  filter: brightness(1.08);
}

.portal-menu-list,
.portal-submenu {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

.portal-menu-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.portal-menu-item {
  position: relative;
  display: block;
}

.portal-menu-item.has-children::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 10px;
}

.portal-menu-link,
.portal-submenu a {
  display: flex;
  align-items: center;
  min-width: 0;
  color: #f8fbff;
  text-decoration: none;
  border-radius: 8px;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}

.portal-menu-link {
  gap: 8px;
  min-height: 42px;
  padding: 9px 12px;
  font-weight: 600;
  border: 1px solid rgba(135, 218, 255, .28);
  background: rgba(255, 255, 255, .1);
  white-space: nowrap;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .38);
}

.portal-menu-icon {
  flex: 0 0 20px;
  width: 20px;
  text-align: center;
  color: #b8edff;
}

.portal-menu-text {
  min-width: 0;
}

.portal-menu-caret {
  font-size: 10px;
  color: #d7f5ff;
}

.portal-submenu {
  position: absolute;
  left: 0;
  top: calc(100% - 1px);
  z-index: 1040;
  min-width: 220px;
  padding: 8px;
  border: 1px solid rgba(135, 218, 255, .36);
  border-radius: 8px;
  background: #0b1d39;
  box-shadow: 0 18px 38px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .08);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity .15s ease, transform .15s ease;
}

.portal-menu-item:hover > .portal-submenu,
.portal-menu-item:focus-within > .portal-submenu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.portal-submenu a {
  min-height: 34px;
  padding: 7px 10px;
  font-size: 13px;
  font-weight: 600;
  color: #f8fbff;
  background: rgba(255, 255, 255, .05);
}

.portal-menu-link:hover,
.portal-submenu a:hover {
  color: #ffffff;
  text-decoration: none;
  border-color: rgba(151, 229, 255, .78);
  background: rgba(42, 151, 255, .32);
  box-shadow: inset 0 0 18px rgba(116, 204, 255, .14), 0 0 16px rgba(42, 181, 255, .16);
}

.portal-menu-item.active > .portal-menu-link,
.portal-submenu .active > a {
  border-color: rgba(171, 238, 255, .9);
  background: linear-gradient(135deg, rgba(28, 112, 255, .9), rgba(11, 184, 202, .78));
  color: #ffffff;
  box-shadow: 0 0 22px rgba(42, 181, 255, .26);
}

.portal-menu-item.active > .portal-menu-link .portal-menu-icon {
  color: #ffffff;
}

#mainNavbar .portal-top-menu a.portal-menu-link,
#mainNavbar .portal-top-menu .portal-menu-link,
#mainNavbar .portal-top-menu .portal-menu-link:visited,
#mainNavbar .portal-top-menu .portal-menu-link .portal-menu-text,
#mainNavbar .portal-top-menu .portal-submenu a,
#mainNavbar .portal-top-menu .portal-submenu a:visited {
  color: #ffffff !important;
}

#mainNavbar .portal-top-menu .portal-menu-icon,
#mainNavbar .portal-top-menu .portal-menu-caret {
  color: #d9f7ff !important;
}

#mainNavbar .portal-top-menu .portal-submenu {
  background: #0b1d39 !important;
}

#mainNavbar .portal-top-menu .portal-submenu a {
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(135, 218, 255, .18) !important;
  color: #ffffff !important;
}

#mainNavbar .portal-top-menu .portal-menu-link:hover,
#mainNavbar .portal-top-menu .portal-menu-link:focus,
#mainNavbar .portal-top-menu .portal-submenu a:hover,
#mainNavbar .portal-top-menu .portal-submenu a:focus {
  background: #2f8cff !important;
  border-color: #9ee9ff !important;
  color: #ffffff !important;
}

#mainNavbar .portal-top-menu .portal-menu-item.active > .portal-menu-link,
#mainNavbar .portal-top-menu .portal-submenu .active > a {
  background: linear-gradient(135deg, #1f70ff, #08b8d0) !important;
  border-color: #b8f0ff !important;
  color: #ffffff !important;
}

@media (min-width: 768px) {
  .topbar .container,
  .navbar .container,
  .main-navbar-wrapper .container,
  .master-breadcrumb .container,
  #main-body > .container,
  #footer > .container {
    max-width: 1180px;
  }
}

@media (max-width: 767.98px) {
  .main-navbar-wrapper {
    position: relative;
    padding: 8px 0;
  }

  .portal-menu-shell {
    align-items: flex-start;
  }

  .portal-menu-list {
    flex: 1 1 auto;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 2px;
    scrollbar-width: thin;
  }

  .portal-menu-link {
    min-height: 40px;
    padding: 8px 10px;
  }

  .portal-submenu {
    position: static;
    display: none;
    min-width: 0;
    margin-top: 6px;
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .portal-menu-item:hover > .portal-submenu,
  .portal-menu-item:focus-within > .portal-submenu {
    display: block;
  }
}


/* Regium 2055 – Lighter Blue (fixed) */
:root{
  /* much lighter gradient */
  --bg1:#E9F2FF;        /* light blue */
  --bg2:#D6E6FF;        /* very light blue */
  /* cards on light background */
  --panel:#FFFFFF;
  --panel-hover:#FFFFFF;
  --stroke:rgba(13,38,76,.18);
  /* dark text everywhere */
  --txt:#0f1b2d;
  --txt-invert:#0f1b2d;
}

/* page background + default text */
body{
  background: linear-gradient(180deg, var(--bg1), var(--bg2)) !important;
  color: var(--txt);
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;
}

/* keep header/footer subtle on light bg */
.header, .footer { background: transparent; }

/* HERO */
.regium-hero{ padding:20px 10px; }
.regium-title{ font-weight:700; letter-spacing:.3px; color: var(--txt); }
.regium-sub{ opacity:.9; color: var(--txt); }

/* KPI GRID */
.regium-kpis{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
  padding:10px;
}
.kpi-card{
  display:block;
  padding:16px;
  border-radius:16px;
  background: var(--panel) !important;
  border:1px solid var(--stroke) !important;
  color: var(--txt) !important;
  text-decoration:none;
  box-shadow: 0 8px 22px rgba(13,38,76,.10);
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.kpi-card:hover{
  background: var(--panel-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(13,38,76,.16);
}
.kpi-top{ display:flex; justify-content:space-between; align-items:center; opacity:.95; }
.kpi-value{ font-size:32px; font-weight:800; margin:6px 0 2px; color: var(--txt); }
.kpi-foot{ font-size:12px; opacity:.8; color: var(--txt); }

/* soft tint borders per tile */
.kpi-card.due     { box-shadow: inset 0 0 0 1px rgba(230,57,70,.28), 0 8px 22px rgba(230,57,70,.08); }
.kpi-card.requests{ box-shadow: inset 0 0 0 1px rgba(52,152,219,.28), 0 8px 22px rgba(52,152,219,.08); }
.kpi-card.props   { box-shadow: inset 0 0 0 1px rgba(46,204,113,.28), 0 8px 22px rgba(46,204,113,.08); }

/* ANNOUNCEMENTS */
.regium-card{
  background: var(--panel) !important;
  border:1px solid var(--stroke) !important;
  border-radius:14px;
  margin:16px 10px;
  color: var(--txt) !important;
}
.card-title{ color:#0c203a; }

/* LEFT SIDEBAR — white cards + dark text */
.sidebar .card,
.card-sidebar,
.sidebar .list-group-item{
  background:#FFFFFF !important;
  color: var(--txt) !important;
  border:1px solid var(--stroke) !important;
  box-shadow: 0 6px 16px rgba(13,38,76,.08);
}
.card-sidebar .card-header{
  background:#F7FAFF !important;
  color: var(--txt) !important;
  border-bottom:1px solid var(--stroke) !important;
}
.sidebar .text-muted{ color:#5B6B80 !important; }

/* Links tuned for light blue */
a{ color:#0D4ED8; }
a:hover{ color:#1D4ED8; }

/* KPI row: responsive grid, no clipping */
.regium-kpis{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:16px;
  overflow:visible;           /* ensure nothing gets clipped */
  white-space:normal;
}
.regium-kpis .kpi-card{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.regium-kpis .kpi-card.credit{
  /* distinct accent, optional */
  border-color:#c7e8d6;
  box-shadow:0 0 0 2px rgba(81, 181, 109, .08);
}
