:root{
  --brand:#243546;
  --border:#e4e8ef;
  --bg:#f6f8fb;
  --font-color: #333333;
}

body{
  margin:0;
  font-family:Arial;
  background:var(--bg);
  color:var(--font-color);
}

.topbar{
  background:var(--brand);
  color:#fff;
  height:40px;
  display:flex;
  align-items:center;
  font-weight:700;
  font-size: 15px;
}
.topbar__title{
  margin-left: auto;   /* THIS pushes it to the far right */
  padding-right: 20px;
}

.brandmark{
  position:absolute;
  left:20px;
  background-image: url("../assets/square-logo-transparent-white.png");
  background-size: contain; /* IMPORTANT */
  background-repeat: no-repeat;
  background-position: center;
}

.logo-square-img{
  width:25px;               /* ADD */
  height:25px;
}

/* .clientbar{
  background:#fff;
  border-bottom:1px solid var(--border);
  padding:12px 20px
}

.client-left{
  display:flex;
  align-items:center;
  gap:10px
} */

#client-name{
  font-weight: bold;
}

.clientbar{
  height: 60px;
  background: #fff;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  padding: 0 16px;
  gap: 12px;
}

.client-left{
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 220px; /* keeps center stable */
}

.client-center{
  flex: 1;
  display: flex;
  justify-content: center;
  font-weight: 800;
  color: #0f2a43;
}

.client-right{
  min-width: 220px; /* symmetry with left */
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/* reuse your icon button style or add if missing */
.iconbtn{
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.iconbtn svg{
  width: 18px;
  height: 18px;
  display: block;
  color: #2f3a45; /* controls currentColor fill */
}


.app{
  display:flex;
  height:calc(100vh - 120px)
}

.sidebar{
  width:230px;
  background:#fff;
  border-right:1px solid var(--border);
  padding:0;
  display:flex;
  flex-direction:column;
}
/* Sidebar layout: list takes space, bottom stays pinned */
/* .sidebar{
  display:flex;
  flex-direction:column;
} */
.sidebar__list{
  flex:1;
  overflow:auto;
}
.sidebar__bottom{
  padding-top:10px;
  border-top:1px solid var(--border);
}

/* Menu item layout */
.menuItem{
  padding: 10px;
  display:flex;
  align-items:center;
  gap: 5px;
  font-size: 15px;
  height: 40px;
  border-bottom: 1px solid var(--border);
  cursor:pointer;
  transition: background 0.2s ease, color 0.2s ease;

}
.menuItem:hover{
  background:#eef3fa;
}
.menuItem.active{
  background:var(--brand);   /* your brand color */
  color:white;
}
.menuIcon{
  display:flex;
  align-items:center;
  justify-content:center;
}
.menuIcon svg{ width:15px; height:15px; }

.appFrame{
  width: 100%;
  height: 75vh;        /* adjust */
  border: 0;
  border-radius: 12px;
  background: #fff;
}

/* Toggle button */
.sidebar__toggle{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid var(--border);
  background:#fff;
  cursor:pointer;
}

/* Collapsed state */
.sidebar.is-collapsed{
  width:72px;              /* adjust */
}
.sidebar.is-collapsed .menuLabel{
  display:none;            /* hide text labels */
}
.sidebar.is-collapsed .sidebar__toggleText{
  display:none;            /* hide “Collapse/Expand” text */
}
.sidebar.is-collapsed .menuItem{
  justify-content:center;  /* center icon */
}

.main{
  flex:1;
  padding:20px;
  overflow:auto
}
.view { display: none; }
.view.active { display: block; }

.panel{
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  padding:20px;
  margin-bottom:20px
}

.appsGrid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px
}

.appsGrid div{
  background:var(--brand);
  color:#fff;
  padding:20px;
  border-radius:10px;
  text-align:center
}

.freshnessTable{
  width:100%;
  border-collapse:collapse
}

.freshnessTable th,.freshnessTable td{
  padding:12px;
  border-bottom:1px solid var(--border)
}

.badge{
  padding:4px 10px;
  border-radius:20px;
  font-size:12px;
  font-weight:700
}

.ok{
  background:#e9fbf1;
  color:#0d6a38
}

.delayed{
  background:#fff7e6;
  color:#8a5b00
}

.stale{
  background:#ffeceb;
  color:#8a1f1b
}

.iframeToolbar{
  display:flex;
  justify-content:flex-end;
  margin-bottom:8px;
}

.fullscreenBtn{
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: 1px solid #d9dde2;
  background: #f7f8fa;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
}

.fullscreenBtn svg{
  width: 18px;
  height: 18px;
  display: block;
  line-height: 0;
}
/* Overlay full screen mode */
.fullscreen-mode{
  position:fixed;
  inset:0;
  background:#fff;
  z-index:9999;
  padding:20px;
}

.fullscreen-mode .appFrame{
  height:100vh;
}


/* LOADER */
.loaderOverlay{
  position:fixed;
  inset:0;
  background:rgba(255,255,255,0.85);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
}

.loaderSpinner{
  width:60px;
  height:60px;
  border:6px solid #e4e8ef;
  border-top:6px solid var(--brand);
  border-radius:50%;
  animation:spin 1s linear infinite;
}

@keyframes spin{
  0%{
    transform:rotate(0deg)
  }
  100%{
    transform:rotate(360deg)
  }
}

