/* let the page keep vertical scroll while Swiper handles horizontal drags */
.swiper,
.swiper-container {
  touch-action: pan-y;
}

/* Mobile: footer pill nav */
.footer-nav {
  position: fixed;
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 500px;
  padding: 10px;
  z-index: 1000;
}

/* Mobile header pill — scoped to mobile only, targeting the correct class */
@media (max-width: 919px) {
  header.mobile-header {
    position: fixed;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 500px;
    z-index: 1000;
    max-height: 80px;
  }
}

.footer-container, .app-header {
  display: flex;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 10px 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  max-height: 80px;
}

.footer-item, .header-item {
    flex: 1;
    text-align: center;
    color: #fff;
    font-size: 12px;
    position: relative;
    display: flex;
    flex-direction: column;
	width:40px;
}

.icon-wrapper {
  position: relative;
  display: inline-block;
}

.notify-bubble {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 7px;
    height: 7px;
    background-color: var(--brand-color);
    border-radius: 50%;
    display: none;
}

.footer-item svg, .header-item svg {
  width: 33px;
  height: 33px;
  color: #fff; 
}
.footer-item .icon-wrapper, .header-item .icon-wrapper {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease;
  margin: 0 auto;
}

.footer-item:hover .icon-wrapper, .header-item:hover .icon-wrapper  {
  background: var(--brand-color);
  backdrop-filter: blur(6px);
  padding: 9px;
}
.footer-item:hover span, .header-item:hover span {
  color: var(--brand-color);
}

.footer-item svg path,
.footer-item svg rect,
.footer-item svg circle,
.footer-item svg polygon, .header-item svg path,
.header-item svg rect,
.header-item svg circle,
.header-item svg polygon{
	stroke: #fff !important; 
}

.search-overlay {
  position: fixed;
  inset: 0;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;

  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.search-content {
    position: relative;
    width: 100%;
    max-width: 100%;
    padding: 10%;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    height: 100%;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
}
.search-content input {
  width: 100%;
  padding: 16px 18px;
  font-size: 18px;
  border: none;
  border-radius: 14px;
  outline: none;
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: inset 0 0 4px rgba(255, 255, 255, 0.2);
}

.search-content input::placeholder {
  color: #ddd;
}

.close-search {
  position: absolute;
  top: 12px;
  right: 16px;
  background: none;
  border: none;
  color: #fff;
  font-size: 28px;
  cursor: pointer;
}

.search-overlay .search-form-wrapper {
    width: 40%;
    margin: 0 20%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
	min-width: 360px;
}

.search-overlay .search-form  {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}
.search-overlay .search-form .search-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
    align-items: center;
}

.search-overlay .search-form button {
    text-align: center;
    line-height: inherit;
    display: flex;
    margin: 0;
    font-size: 16px;
    height: 40px;
    padding: 9px 0;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background: var(--brand-color);
    border-radius: 13px;
    color: white;
    border: navajowhite;
    width: 100%;
}

.search-overlay .search-form input[type="text"] {
    width: 100%;
    padding: 20px 0 20px 32px;
    margin-bottom: 0;
    border: 1px solid var(--app-bg-border);
    border-radius: 13px;
    height: 40px;
    background-color: var(--app-bg-dark);
    color: var(--main-color) !important;
}

.search-overlay .search-form button::after {
    content: "Go";
    display: inline-block;
    padding: 0 8px;
    color: #fff;
    font-size: 14px;
}

.header-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  font-size: 12px;
  text-align: center;
  position: relative;

}

.header-item .icon-wrapper {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease;
}

.header-item:hover .icon-wrapper {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(6px);
}

.app-logo {
  flex: 1;
  text-align: center;
}

.app-logo img {
    vertical-align: middle;
    width: 70px;
}


.comment-form-comment textarea{
    background: var(--app-bg-border) !important;
	color: var(--main-color) !important;
}

.header-app-logo img {
	    width: 100%;
    max-width: 80px;
}
.header-app-logo span {
	display: none;
}

.cast-profile-meta {
	display: flex;
	flex-direction: column;
	
}






@media only screen and (max-width: 720px) {
	.footer-item .icon-wrapper, .header-item .icon-wrapper {
  width: 20px;
  height: 20px;
}
	
	.footer-item {
    font-size: 10px;
}
	
	.footer-container span  {
    margin: 4px 0 0 0;
}
	.header-app-logo img {
    width: 100%;
    max-width: 50px;
}
	
.cast-list .menu_block img {
    min-height: 140px;
    max-height: 240px;
}	
	
	.cast-list .content_blocks_all_header a {
    min-height: 20px !important;
    height: 230px;
}
	.cast-list .content_blocks_all_header {
    max-height: 240px;
}
	
.cast-list .item {
    width: 150px !important;
    height: auto !important;
}
	
	    .menu_block {
margin: 2% !important;
	}
	
		   .cast-list .menu_block {
margin: 0 !important;
	}
  
	.bgdarkalt .cast-list .item {
        width: 150px !important;
    }
	
	.cast-list .menu_block img {
    min-height: 230px !important;
}
	
.cast-list h2 {
    font-size: 1rem !important;
    width: 100%;
    text-align: center;
}
	
	  .content_blocks {
        font-size: 14px;
    }
	.cast-list h2 {
    font-size: 1.2rem !important;
}
	
	
	
	
	
	
	
	
	
}

/* ============================
   Liquid Glass 2.0 — Brand-tuned
   ============================ */

/* 1) Brand + global knobs (edit just these!) */
:root{
  /* Brand color (HSL is easiest to tweak) */
  --brand-h: 210;   /* e.g. 210 = blue, 270 = purple, 140 = green */
  --brand-s: 100%;
  --brand-l: 56%;   /* raise for lighter; lower for deeper */

  /* Glass feel */
  --glass-radius: 18px;      /* <- tweak: 14, 18, 22, 28 */
  --glass-blur: 22px;        /* <- tweak: 16–30 for more/less jelly */
  --glass-sat: 175%;
  --glass-contrast: 112%;

  /* Depth + borders */
  --glass-shadow: 0 14px 60px rgba(0,0,0,.35);
  --glass-border-1: rgba(255,255,255,.55);
  --glass-border-2: rgba(255,255,255,.12);

  /* Base glass fill (light mode) */
  --glass-bg-1: rgba(255,255,255,.12);
  --glass-bg-2: rgba(255,255,255,.06);

  /* Brand-tinted accents (auto from brand) */
  --brand: hsl(var(--brand-h) var(--brand-s) var(--brand-l));
  --brand-weak: hsl(var(--brand-h) calc(var(--brand-s) - 20%) calc(var(--brand-l) + 10%));
  --brand-strong: hsl(var(--brand-h) var(--brand-s) calc(var(--brand-l) - 8%));

  /* Sheen + texture */
  --glass-specular: rgba(255,255,255,.66);
  --glass-noise-opacity: .06;

  /* Layout */
  --pad-y: 10px;
  --pad-x: 14px;
  --max-h: 80px;
}

@media (prefers-color-scheme: dark){
  :root{
    --glass-bg-1: rgba(20,20,28,.20);
    --glass-bg-2: rgba(255,255,255,.07);
    --glass-border-1: rgba(255,255,255,.32);
    --glass-border-2: rgba(255,255,255,.10);
    --glass-shadow: 0 18px 70px rgba(0,0,0,.55);
    --glass-specular: rgba(255,255,255,.52);
    --glass-noise-opacity: .085;
    --brand-l: 62%; /* brighten brand slightly in dark mode */
  }
}

/* Optional: three size presets you can add as utility classes */
.glass--compact { --glass-radius: 14px; --pad-y: 8px;  --pad-x: 12px; --max-h: 64px; }
.glass--comfy   { --glass-radius: 22px; --pad-y: 12px; --pad-x: 16px; --max-h: 88px; }
.glass--spacious{ --glass-radius: 28px; --pad-y: 14px; --pad-x: 20px; --max-h: 96px; }

/* Make the gloss angle animatable */
@property --gloss-angle{
  syntax: "<angle>";
  initial-value: 38deg;
  inherits: true;
}

/* 2) Liquid Glass container (header + footer) */
.footer-container,
.app-header{
  position: sticky;
  inset-block-start: auto; /* both can be sticky without fighting */
  inset-block-end: auto;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  padding: var(--pad-y) var(--pad-x);
  max-height: var(--max-h);
  border-radius: var(--glass-radius);

  /* Brand-tinted gradient fill + gradient border */
  border: 1px solid transparent;
  background:
    linear-gradient(135deg,
      color-mix(in oklab, var(--brand-weak) 12%, transparent),
      var(--glass-bg-1) 40%,
      var(--glass-bg-2) 100%
    ) padding-box,
    linear-gradient(135deg,
      color-mix(in oklab, var(--brand) 45%, transparent),
      var(--glass-border-2)
    ) border-box;

  /* Depth + liquid */
  box-shadow: var(--glass-shadow);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat)) contrast(var(--glass-contrast));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat)) contrast(var(--glass-contrast));

  /* Interaction polish */
  isolation: isolate;
  transition: box-shadow .35s ease, transform .35s ease, --gloss-angle 1.2s ease;
  will-change: backdrop-filter, transform;
}

/* Header catches light from top-left, footer from bottom-right */
.app-header{ --gloss-angle: 30deg; }
.footer-container{ --gloss-angle: 150deg; }

/* 3) Specular sweep */
.footer-container::before,
.app-header::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    conic-gradient(from var(--gloss-angle) at 10% 10%,
      rgba(255,255,255,.48),
      rgba(255,255,255,.18) 14%,
      rgba(255,255,255,0) 28%,
      rgba(255,255,255,.12) 56%,
      rgba(255,255,255,0) 76%);
  mix-blend-mode: screen;
  opacity: .66;
  filter: blur(9px);
}

/* 4) Inner rim highlight with brand tint */
.footer-container::after,
.app-header::after{
  content: "";
  position: absolute;
  inset: 1px 1px auto 1px;
  height: 42%;
  border-radius: calc(var(--glass-radius) - 1px) calc(var(--glass-radius) - 1px) 60% 60% / 30% 30% 60% 60%;
  background:
    linear-gradient(to bottom,
      color-mix(in oklab, var(--brand) 18%, var(--glass-specular)),
      rgba(255,255,255,0)
    );
  opacity: .38;
  filter: blur(10px);
  pointer-events: none;
}

/* 5) Micro-noise layer (DOM child for portability) */
.footer-container > .noise,
.app-header > .noise{
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'>\
  <filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter>\
  <rect width='120' height='120' filter='url(%23n)' opacity='0.9'/></svg>");
  opacity: var(--glass-noise-opacity);
  mix-blend-mode: soft-light;
}

/* 6) Hover/active */
.footer-container:hover,
.app-header:hover{
  transform: translateY(-1px);
  --gloss-angle: 52deg;
  box-shadow: 0 20px 80px rgba(0,0,0,.38),
              0 0 0 1px color-mix(in oklab, var(--brand-strong) 40%, transparent);
}
.footer-container:active,
.app-header:active{
  transform: translateY(0);
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .footer-container:hover,
  .app-header:hover{ transform: none; }
}

/* Backdrop-filter fallback */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .footer-container,
  .app-header{
    background:
      linear-gradient(135deg,
        color-mix(in oklab, var(--brand-weak) 16%, rgba(255,255,255,.16)),
        rgba(255,255,255,.08)
      );
  }
}


/* ================================================================
   CMDB DASHBOARD LAYOUT
   Desktop: fixed 260px sidebar + main panel with sticky topbar
   Mobile: no change — pill header + slide-in sidenav as before
   ================================================================ */

/* Default: hide desktop-only elements on mobile */
.cmdb-sidebar,
.cmdb-topbar {
  display: none;
}

/* ----------------------------------------------------------------
   Desktop breakpoint (matches existing theme breakpoint at 920px)
   ---------------------------------------------------------------- */
@media (min-width: 920px) {

  /* Allow sidebar + main to sit side by side */
  body {
    justify-content: flex-start;
  }

  #page {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 100vh;
    overflow: hidden;
  }

  /* Hide mobile-only elements */
  header.mobile-header {
    display: none !important;
  }

  .footer-nav {
    display: none !important;
  }

  #mySidenav.sidenav {
    display: none !important;
  }

  /* ── Sidebar ── */
  .cmdb-sidebar {
    display: flex;
    flex-direction: column;
    position: fixed;
    left: 0;
    top: 0;
    width: 260px;
    height: 100vh;
    background: var(--brand-bg);
    border-right: 1px solid var(--app-bg-border);
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 200;
    scrollbar-width: thin;
    scrollbar-color: var(--app-bg-border) transparent;
  }

  .cmdb-sidebar::-webkit-scrollbar {
    width: 3px;
  }
  .cmdb-sidebar::-webkit-scrollbar-track {
    background: transparent;
  }
  .cmdb-sidebar::-webkit-scrollbar-thumb {
    background: var(--app-bg-border);
    border-radius: 3px;
  }

  /* Sidebar: brand/logo lockup */
  .cmdb-sidebar-brand {
    flex-shrink: 0;
    padding: 18px 16px 16px;
    border-bottom: 1px solid var(--app-bg-border);
  }
  .cmdb-sidebar-brand a {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
  }
  .cmdb-sidebar-brand img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    flex-shrink: 0;
  }
  .cmdb-sidebar-brand-name {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.01em;
    line-height: 1.2;
  }

  /* Sidebar: nav sections */
  .cmdb-sidebar-nav {
    padding: 10px 0 24px;
    flex: 1;
  }

  .cmdb-nav-group {
    margin-bottom: 0;
  }

  .cmdb-nav-group + .cmdb-nav-group {
    border-top: 1px solid var(--app-bg-border);
    margin-top: 8px;
    padding-top: 8px;
  }

  .cmdb-nav-group-label {
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--nav-link);
    padding: 10px 16px 4px;
    margin: 0;
    display: block;
  }

  .cmdb-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .cmdb-nav-list li {
    margin: 0;
  }

  /* Nav link — base */
  .cmdb-nav-link {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 8px 16px;
    color: rgba(255, 255, 255, 0.65) !important;
    font-size: 13.5px;
    font-weight: 500;
    text-decoration: none !important;
    position: relative;
    transition: color 0.18s ease, background 0.18s ease;
    border-radius: 0;
    line-height: 1;
  }

  .cmdb-nav-link i {
    font-size: 14px;
    width: 18px;
    text-align: center;
    color: rgba(255, 255, 255, 0.35);
    flex-shrink: 0;
    transition: color 0.18s ease;
  }

  .cmdb-nav-link span {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .cmdb-nav-link:hover {
    color: #fff !important;
    background: rgba(255, 0, 91, 0.09);
  }
  .cmdb-nav-link:hover i {
    color: var(--brand-color);
  }

  .cmdb-nav-link.is-active {
    color: #fff !important;
    background: rgba(255, 0, 91, 0.12);
  }
  .cmdb-nav-link.is-active i {
    color: var(--brand-color);
  }
  .cmdb-nav-link.is-active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--brand-color);
    border-radius: 0 3px 3px 0;
  }

  /* Channel/collection links with brand logos */
  .cmdb-nav-channels .cmdb-nav-channel-link {
    padding: 6px 16px;
    gap: 10px;
  }
  .cmdb-nav-channels .cmdb-nav-channel-link img {
    width: 44px;
    height: 22px;
    object-fit: contain;
    flex-shrink: 0;
    opacity: 0.75;
    transition: opacity 0.18s ease;
  }
  .cmdb-nav-channels .cmdb-nav-channel-link:hover img {
    opacity: 1;
  }

  /* ── App main: offset for sidebar ── */
  .app-main {
    margin-left: 260px;
    width: calc(100% - 260px);
    height: 100vh;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
  }

  /* ── Desktop topbar ── */
  .cmdb-topbar {
    display: flex;
    align-items: center;
    gap: 14px;
    height: 66px;
    min-height: 66px;
    padding: 0 22px;
    background: var(--brand-bgalt);
    border-bottom: 1px solid var(--app-bg-border);
    position: sticky;
    top: 0;
    z-index: 90;
    flex-shrink: 0;
    /* Brand gradient accent line at the bottom */
    box-shadow: 0 1px 0 0 var(--app-bg-border),
                inset 0 -1px 0 0 transparent;
  }

  /* Gradient bottom accent */
  .cmdb-topbar::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(
      90deg,
      var(--brand-color) 0%,
      var(--brand-blue) 50%,
      transparent 100%
    );
    opacity: 0.6;
    pointer-events: none;
  }

  /* Search */
  .cmdb-topbar-search {
    flex: 1;
    max-width: 440px;
  }

  .cmdb-topbar-searchform {
    width: 100%;
  }

  .cmdb-search-input-wrap {
    display: flex;
    align-items: center;
    gap: 9px;
    height: 40px;
    padding: 0 14px;
    background: var(--brand-bg);
    border: 1px solid var(--app-bg-border);
    border-radius: 10px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
  }

  .cmdb-search-input-wrap:focus-within {
    border-color: rgba(255, 0, 91, 0.6);
    box-shadow: 0 0 0 3px rgba(255, 0, 91, 0.1);
  }

  .cmdb-search-input-wrap i {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.35);
    flex-shrink: 0;
  }

  .cmdb-search-input-wrap input[type="search"] {
    flex: 1;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    color: #fff !important;
    font-size: 13.5px;
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
    min-width: 0;
    -webkit-appearance: none;
  }

  .cmdb-search-input-wrap input::placeholder {
    color: rgba(255, 255, 255, 0.3);
  }
  .cmdb-search-input-wrap input::-webkit-search-cancel-button {
    -webkit-appearance: none;
  }

  /* KPI chips */
  .cmdb-topbar-kpis {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
  }

  .cmdb-kpi {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 6px 11px;
    background: var(--brand-bg);
    border: 1px solid var(--app-bg-border);
    border-radius: 8px;
    text-decoration: none !important;
    cursor: pointer;
    white-space: nowrap;
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.15s ease;
  }

  .cmdb-kpi:hover {
    border-color: rgba(255, 0, 91, 0.5);
    background: rgba(255, 0, 91, 0.07);
    transform: translateY(-1px);
  }

  .cmdb-kpi--accent {
    border-color: rgba(0, 255, 224, 0.25);
  }
  .cmdb-kpi--accent:hover {
    border-color: var(--brand-blue);
    background: rgba(0, 255, 224, 0.07);
  }

  .cmdb-kpi-icon {
    font-size: 13px;
    color: var(--brand-color);
    flex-shrink: 0;
  }
  .cmdb-kpi--accent .cmdb-kpi-icon {
    color: var(--brand-blue);
  }

  .cmdb-kpi-body {
    display: flex;
    flex-direction: column;
    line-height: 1;
    gap: 2px;
  }

  .cmdb-kpi-value {
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    display: block;
  }

  .cmdb-kpi-label {
    font-size: 9px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.45);
    text-transform: uppercase;
    letter-spacing: 0.07em;
    display: block;
  }

  /* User section */
  .cmdb-topbar-user {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    flex-shrink: 0;
  }

  /* Notification bell */
  .cmdb-topbar-notif {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    background: var(--brand-bg);
    border: 1px solid var(--app-bg-border);
    border-radius: 9px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 15px;
    text-decoration: none !important;
    transition: color 0.18s ease, border-color 0.18s ease;
    flex-shrink: 0;
  }
  .cmdb-topbar-notif:hover {
    color: #fff;
    border-color: rgba(255, 0, 91, 0.5);
  }
  .cmdb-topbar-notif .notify-bubble {
    top: 6px;
    right: 6px;
    width: 7px;
    height: 7px;
  }

  /* Avatar button (logged in) */
  .cmdb-topbar-avatar-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 12px 4px 4px;
    background: var(--brand-bg);
    border: 1px solid var(--app-bg-border);
    border-radius: 9px;
    text-decoration: none !important;
    transition: border-color 0.18s ease;
    cursor: pointer;
  }
  .cmdb-topbar-avatar-btn:hover {
    border-color: rgba(255, 0, 91, 0.5);
  }

  .cmdb-avatar-img,
  .cmdb-topbar-avatar-btn img {
    width: 28px !important;
    height: 28px !important;
    border-radius: 6px !important;
    object-fit: cover;
    display: block;
  }

  .cmdb-topbar-username {
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .cmdb-topbar-avatar-btn > i {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.4);
  }

  /* Sign in button (logged out) */
  .cmdb-topbar-login-btn {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 14px;
    background: var(--brand-color);
    border-radius: 9px;
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    letter-spacing: 0.01em;
    transition: background 0.18s ease, transform 0.15s ease, box-shadow 0.18s ease;
    cursor: pointer;
    flex-shrink: 0;
  }
  .cmdb-topbar-login-btn:hover {
    background: #d40049;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(255, 0, 91, 0.4);
  }
  .cmdb-topbar-login-btn i {
    font-size: 16px;
  }

  /* ── Minor desktop overrides ── */

  /* Sidebar-aware popup positioning */
  #login-signup-popup {
    left: 260px !important;
    width: calc(100% - 260px) !important;
  }

  /* Search overlay: account for sidebar */
  #search-overlay {
    left: 260px;
    width: calc(100% - 260px);
  }
}

/* ----------------------------------------------------------------
   Large desktop refinements (≥1280px): expand sidebar slightly
   ---------------------------------------------------------------- */
@media (min-width: 1280px) {
  .cmdb-sidebar {
    width: 280px;
  }
  .app-main {
    margin-left: 280px;
    width: calc(100% - 280px);
  }
  #login-signup-popup {
    left: 280px !important;
    width: calc(100% - 280px) !important;
  }
  #search-overlay {
    left: 280px;
    width: calc(100% - 280px);
  }
}
