/* BuildBridge UI (scoped to .bb-app so login/register won't be affected) */

.bb-app{
  --bb-bg: #f4f7fb;
  --bb-card: #ffffff;
  --bb-text: #0f172a;
  --bb-muted: #6b7280;

  --bb-nav1: #0b1e3a;
  --bb-nav2: #0a2a52;
  --bb-primary: #2f6bff;
  --bb-secondary: #7c3aed;

  --bb-green: #22c55e;
  --bb-orange: #f59e0b;

  --bb-shadow: 0 10px 30px rgba(15,23,42,.08);
  --bb-radius: 16px;

  color: var(--bb-text);
}

.bb-app *{box-sizing:border-box}

/* Shell */
.bb-app.app-shell{
  display:flex;
  min-height:100vh;
  background: var(--bb-bg);
}

/* Sidebar */
.bb-sidebar{
  width: 280px;
  background: linear-gradient(180deg,var(--bb-nav1),var(--bb-nav2));
  color: #fff;
  padding: 18px;
  display:flex;
  flex-direction:column;
  gap: 18px;
  position: sticky;
  top: 0;
  height: 100vh;
  transition: transform .2s ease;
}

.bb-sidebar.is-collapsed{
  transform: translateX(-105%);
}

.bb-brand{display:flex;align-items:center;gap:12px}
.bb-logo{
  width:34px;height:34px;border-radius:10px;
  background: linear-gradient(135deg,#4cc9f0,#4361ee);
  box-shadow: 0 10px 25px rgba(67,97,238,.35);
}
.bb-brand__name{font-weight:800;letter-spacing:.2px}
.bb-brand__sub{font-size:12px;opacity:.78;margin-top:2px}

.bb-nav{display:flex;flex-direction:column;gap:6px}
.bb-nav__item{
  display:flex;align-items:center;gap:10px;
  padding: 12px;
  border-radius: 12px;
  color: rgba(255,255,255,.86);
  text-decoration:none;
  transition: background .2s ease, color .2s ease;
}
.bb-nav__item:hover{background: rgba(255,255,255,.08); color:#fff}
.bb-nav__item.active{background: rgba(255,255,255,.14); color:#fff}
.bb-nav__item.disabled{opacity:.55; cursor:not-allowed}
.bb-nav__item.disabled:hover{background:transparent}

.bb-admin{margin-top:6px;padding-top:12px;border-top:1px solid rgba(255,255,255,.10)}
.bb-admin__title{font-weight:800;font-size:12px;opacity:.85;margin-bottom:8px}

.bb-sidebar__footer{margin-top:auto}
.bb-ghost{
  width:100%;
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  padding:10px 12px;
  border-radius:12px;
  cursor:pointer;
}

/* Main area */
.bb-main{flex:1;min-width:0;display:flex;flex-direction:column}

/* Topbar */
.bb-topbar{
  height: 72px;
  display:flex;
  align-items:center;
  gap:12px;
  padding: 0 18px;
}
.bb-topbar__spacer{flex:1}
.bb-topbar__right{display:flex;align-items:center;gap:10px}

.bb-iconbtn{
  background: var(--bb-card);
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 6px 18px rgba(15,23,42,.06);
  border-radius: 12px;
  padding: 10px 12px;
  cursor:pointer;
}
.bb-iconbtn--ghost{
  border-color: transparent;
  box-shadow: none;
  background: transparent;
}

.bb-profile{
  display:flex;
  align-items:center;
  gap:10px;
  background: var(--bb-card);
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 6px 18px rgba(15,23,42,.06);
  border-radius: 999px;
  padding: 6px 8px 6px 6px;
  position: relative;
}

.bb-avatar{
  width:38px;height:38px;border-radius:999px;
  background: linear-gradient(135deg,#60a5fa,#a78bfa);
  display:grid;place-items:center;
  color:#fff;font-weight:900;
}

.bb-profile__meta{line-height:1.05;max-width:220px}
.bb-profile__name{font-weight:900;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bb-profile__role{font-size:12px;color:var(--bb-muted)}

.bb-dropdown{
  position:absolute;
  right:10px;
  top:54px;
  width: 200px;
  background: var(--bb-card);
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: var(--bb-shadow);
  border-radius: 14px;
  padding: 8px;
  display:none;
  z-index: 20;
}
.bb-dropdown a{
  display:block;
  padding: 10px;
  border-radius: 12px;
  text-decoration:none;
  color: var(--bb-text);
}
.bb-dropdown a:hover{background: rgba(47,107,255,.08)}
.bb-sep{height:1px;background:rgba(15,23,42,.08);margin:6px 0}

/* Content */
.bb-content{
  padding: 0 18px 24px;
}

.bb-header{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:6px}
.bb-header h1{margin: 6px 0 2px;font-size:28px}
.bb-muted{color:var(--bb-muted)}

.bb-btnPrimary{
  background: linear-gradient(135deg,var(--bb-primary),var(--bb-secondary));
  color:#fff;
  border:none;
  padding: 12px 14px;
  border-radius: 14px;
  font-weight: 900;
  cursor:pointer;
  box-shadow: 0 14px 30px rgba(47,107,255,.22);
}

.bb-stats{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
  margin: 14px 0;
}

.bb-card{
  background: var(--bb-card);
  border: 1px solid rgba(15,23,42,.06);
  box-shadow: var(--bb-shadow);
  border-radius: var(--bb-radius);
  padding: 16px;
  min-width:0;
}

.bb-stat__label{color:var(--bb-muted);font-size:13px}
.bb-stat__value{font-size:28px;font-weight:900;margin-top:6px}
.bb-stat__sub{font-size:12px;margin-top:6px;color:var(--bb-muted)}

.bb-card.accent{
  background: linear-gradient(135deg, rgba(47,107,255,.10), rgba(124,58,237,.10));
  border-color: rgba(47,107,255,.15);
}

.bb-grid{
  display:grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 14px;
}

.bb-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.bb-card__head h2{margin:0;font-size:16px}

.bb-chip{
  background: rgba(15,23,42,.04);
  border: 1px solid rgba(15,23,42,.06);
  border-radius: 999px;
  padding: 8px 10px;
  cursor:pointer;
}

.bb-chart{
  height: 180px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(47,107,255,.10), rgba(124,58,237,.06));
  border: 1px dashed rgba(47,107,255,.25);
  display:flex;
  align-items:flex-end;
  padding: 16px;
}

.bb-bars{display:flex;gap:10px;align-items:flex-end;width:100%}
.bb-bars span{
  flex:1;
  border-radius:10px 10px 6px 6px;
  background: linear-gradient(180deg, rgba(47,107,255,.95), rgba(124,58,237,.75));
  box-shadow: 0 10px 20px rgba(47,107,255,.20);
}

.bb-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.bb-item{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:14px;background:rgba(15,23,42,.03)}
.bb-dot{width:10px;height:10px;border-radius:999px;margin-top:5px}
.bb-dot.green{background:var(--bb-green)}
.bb-dot.blue{background:var(--bb-primary)}
.bb-dot.orange{background:var(--bb-orange)}
.bb-dot.purple{background:var(--bb-secondary)}
.bb-item__title{font-weight:900}
.bb-item__meta{font-size:12px;color:var(--bb-muted)}

.bb-activities{display:flex;flex-direction:column;gap:10px}
.bb-activity{display:flex;gap:10px;align-items:center;padding:10px;border-radius:14px;background:rgba(15,23,42,.03)}
.bb-pill{
  margin-left:auto;
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(124,58,237,.12);
  color: var(--bb-secondary);
  border:1px solid rgba(124,58,237,.20);
}
.bb-pill.ok{background: rgba(34,197,94,.12); color: var(--bb-green); border-color: rgba(34,197,94,.20)}

.bb-miniGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bb-mini{padding:12px;border-radius:14px;background:rgba(15,23,42,.03)}
.bb-mini__value{font-weight:900;font-size:18px;margin-top:6px}

/* Make bootstrap containers look nicer inside app */
.bb-app .container,
.bb-app .container-fluid{
  padding-left: 0;
  padding-right: 0;
}

/* Responsive */
@media (max-width: 1100px){
  .bb-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bb-grid{grid-template-columns:1fr}
}

@media (max-width: 860px){
  .bb-sidebar{position:fixed;left:0;top:0;z-index:50}
}
