/* BLA Portal UI (namespaced) - dashboard inspired layout */
.bla-portal, .bla-portal *{ box-sizing:border-box; }
.bla-portal{
  max-width: 1120px;
  margin: 0 auto;
  padding: 10px 14px 12px;
  color:#0f172a;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
}

/* Vendor profile: repeatable team members */
.bla-team-members{ display:flex; flex-direction:column; gap:10px; }
.bla-team-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:12px;
  border:1px solid var(--bla-border, #e7e7ef);
  border-radius:16px;
  background:var(--bla-card, #fff);
}
.bla-team-row .bla-team-att{ grid-column:1 / -1; display:flex; align-items:center; gap:8px; }
.bla-team-row .bla-team-remove{ grid-column:1 / -1; justify-self:flex-start; }

@media (min-width: 900px){
  .bla-team-row{
    grid-template-columns: 1.2fr 1.2fr 1.2fr 0.9fr auto auto;
    align-items:center;
  }
  .bla-team-row .bla-team-att{ grid-column:auto; }
  .bla-team-row .bla-team-remove{ grid-column:auto; }
}

/* Vendor profile page: Meet the Team list */
.bla-team-list{ display:flex; flex-direction:column; gap:10px; }
.bla-team-person{
  padding:12px;
  border:1px solid var(--bla-border, #e7e7ef);
  border-radius:16px;
  background:var(--bla-card, #fff);
}
.bla-team-name{ font-weight:700; }
.bla-team-title{ font-size:13px; }
.bla-team-meta{ margin-top:6px; display:flex; flex-direction:column; gap:2px; }
.bla-muted{ color:#64748b; font-size:14px; line-height:1.55; }
.bla-card{
  background:#fff;
  border:1px solid #e7eaf3;
  border-radius:16px;
  padding:16px;
  box-shadow: 0 8px 24px rgba(15,23,42,.06);
}

/* Live / Up next cards */
.bla-card.bla-live{
  border-color:#e6d7ff;
  background: linear-gradient(135deg, rgba(124,58,237,.10), rgba(255,255,255,1) 55%);
  box-shadow: 0 16px 44px rgba(124,58,237,.14), 0 8px 24px rgba(15,23,42,.06);
}

.bla-card.bla-upnext{
  background:#fff;
  border-color:#e7eaf3;
  box-shadow: 0 8px 22px rgba(15,23,42,.05);
}

.bla-live-speaker-row{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-start;
  margin-top:10px;
}

.bla-live-speaker-row .bla-agenda-speakers{
  margin:0;
}

.bla-live-desc{
  flex:1;
  margin-top:2px;
}


.bla-details-clamp{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:6;
  overflow:hidden;
}

.bla-live-readmore{
  margin-top:10px;
}

@media (max-width:640px){
  .bla-details-clamp{ -webkit-line-clamp:4; }
}
@media (max-width:640px){
  .bla-live-speaker-row{ flex-direction:column; }
}
.bla-hr{ border:0; border-top:1px solid #eef1f7; margin:12px 0; }

/* Nav */
.bla-nav{
  max-width:100%;
  overflow:hidden;
  display:grid;
  grid-template-columns: minmax(0, 1fr);
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:1px solid #e7eaf3;
  background:#ffffff;
  border-radius:16px;
  box-shadow: 0 8px 24px rgba(15,23,42,.06);
  margin-bottom:10px;
}
.bla-brand{ display:none; }
.bla-brand .dot{ display:none; }
.bla-tabs{ display:flex; align-items:center; gap:8px; flex-wrap:nowrap; justify-content:flex-start; min-width:0; width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:2px; scrollbar-width:none;}
.bla-tabs::-webkit-scrollbar{ display:none; }
.bla-tab{ white-space:nowrap; flex:0 0 auto; align-self:center; }

/* Nav bottom row (e.g. Dark mode toggle) */
.bla-nav-bottom{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding-top:4px;
}

.bla-top-actions{
  display:flex;
  justify-content:flex-end;
  margin:0 0 8px;
}

.bla-logout{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:12px;
  text-decoration:none;
  color:#0f172a;
  font-size:14px;
  border:1px solid #e7eaf3;
  background:#ffffff;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
.bla-logout .ico{ width:16px; height:16px; display:inline-flex; align-items:center; justify-content:center; opacity:.85; }
.bla-logout .ico svg{ width:16px; height:16px; display:block; }
.bla-logout:hover{ background:#f6f8fc; transform:translateY(-1px); }

.bla-tab{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:12px;
  text-decoration:none;
  color:#0f172a;
  font-size:14px;
  border:1px solid transparent;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
.bla-tab .ico{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  opacity:.85;
}
.bla-tab .ico svg{ width:16px; height:16px; display:block; }
.bla-tab:after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:6px;
  height:2px;
  border-radius:2px;
  background:rgba(109,40,217,.35);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .18s ease;
}
.bla-tab:hover{
  background:#f6f8fc;
  transform:translateY(-1px);
}
.bla-tab:hover:after{ transform:scaleX(1); }
.bla-tab.is-active{
  background:linear-gradient(180deg, #f3e8ff, #eef2ff);
  border-color:#e9d5ff;
  color:#6d28d9;
  font-weight:800;
}
.bla-tab.is-active:after{ transform:scaleX(1); background:rgba(109,40,217,.55); }

/* Nav notification badge (sessions) */
.bla-tab .bla-badge{
  width:18px;
  height:18px;
  padding:0;
  border-radius:999px;
  margin-left:6px;
  font-size:11px;
  font-weight:900;
  letter-spacing:0;
  line-height:1;
  background:#6d28d9;
  color:#fff;
  border:2px solid #ffffff;
  box-shadow:0 8px 16px rgba(109,40,217,.22);
}

body.bla-dark .bla-tab .bla-badge{
  border-color: rgba(15,23,42,.85);
  box-shadow:0 10px 22px rgba(109,40,217,.28);
}

/* Sessions nudge: small notification badge (avoid glow effects) */
.bla-tab .bla-badge{
  width:18px;
  height:18px;
  padding:0;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  line-height:1;
  background:#6d28d9;
  color:#ffffff;
  box-shadow: 0 6px 14px rgba(109,40,217,.25);
  border:2px solid #ffffff;
  margin-left:6px;
}

/* Breadcrumbs */
.bla-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  padding:10px 14px;
  margin:10px 0 14px;
  border:1px solid #eef1f7;
  border-radius:14px;
  background:rgba(241,245,249,.65);
}
.bla-breadcrumb a{
  text-decoration:none;
  color:#4338ca;
  font-weight:700;
  font-size:12px;
}
.bla-breadcrumb .sep{ color:#94a3b8; font-size:12px; }
.bla-breadcrumb .cur{ color:#0f172a; font-weight:800; font-size:12px; }
/* (Nav welcome block removed) */

/* Welcome + stats */
.bla-welcome{
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  padding:18px 16px;
  border:1px solid #e7eaf3;
  background:linear-gradient(180deg, #fbfcff, #f8fafc);
  border-radius:18px;
  box-shadow: 0 10px 28px rgba(15,23,42,.08);
  margin-bottom:10px;
}

/* Welcome header alignment (mobile + desktop safe) */
.bla-welcome{ flex-wrap: wrap; }
.bla-welcome-left{ display:flex; align-items:center; gap:14px; min-width:0; flex:1 1 auto; }
.bla-welcome-text{ min-width:0; }
.bla-welcome-text .ttl{ margin:0; line-height:1.08; }
.bla-welcome-text .sub{ margin-top:2px; line-height:1.25; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.bla-welcome-text .sub .bla-company-logo{ width:22px; height:22px; object-fit:contain; flex:0 0 auto; }
.bla-welcome-nudge-row{ flex:0 0 100%; width:100%; }
.bla-welcome-nudge-row .bla-nudge{ margin-top:12px; }

@media (max-width:900px){
  /* Keep avatar + text side-by-side on mobile */
  .bla-welcome{ flex-direction:column; align-items:stretch; justify-content:flex-start; }
  .bla-welcome-left{ width:100%; order:1; flex:0 0 auto; }
  .bla-welcome-nudge-row{ order:2; }
  .bla-welcome-right{ width:100%; order:3; }
}
@media (max-width:520px){
  .bla-welcome-photo{ width:64px; height:64px; }
  .bla-welcome-text .ttl{ font-size:22px; }
}

/* Vendor dashboard hero - keep meeting stats on the right on desktop */
@media (min-width:901px){
  .bla-vendor-welcome{ flex-wrap:nowrap; }
  .bla-vendor-welcome .bla-welcome-left{ flex:1 1 0; min-width:0; }
  .bla-vendor-welcome .bla-welcome-right{ flex:0 0 auto; margin-left:auto; max-width:520px; }
  .bla-vendor-welcome .bla-stats{ justify-content:flex-end; flex-wrap:wrap; }
  .bla-vendor-welcome .bla-stat{ min-width:120px; }

@media (min-width:901px){
  /* Vendor dashboard: keep stats right-aligned but stack substats underneath */
  .bla-vendor-welcome .bla-welcome-right{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:flex-start;
    gap:10px;
  }
  .bla-vendor-welcome .bla-substats{ margin-top:0; }
}
}



/* Dashboard nudge - sessions booking */
.bla-nudge{
  margin-top:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(109,40,217,.18);
  background:linear-gradient(180deg, rgba(243,232,255,.70), rgba(238,242,255,.70));
}
.bla-nudge-left{display:flex;align-items:flex-start;gap:10px;min-width:0;}
.bla-nudge-dot{
  width:22px;
  height:22px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:13px;
  background:#6d28d9;
  color:#fff;
  box-shadow:0 12px 22px rgba(109,40,217,.22);
  flex:0 0 auto;
}
.bla-nudge-copy{min-width:0;}
.bla-nudge-title{font-weight:900;color:#0f172a;font-size:13px;line-height:1.2;}
.bla-nudge-sub{color:#334155;font-size:12px;line-height:1.35;margin-top:2px;}
.bla-nudge .bla-btn{flex:0 0 auto;}

/* Ensure the nudge CTA never inherits disabled/secondary styles */
.bla-nudge .bla-btn.primary{
  background:#6d28d9;
  color:#fff;
  border:1px solid rgba(109,40,217,.55);
  box-shadow:0 14px 28px rgba(109,40,217,.22);
}
.bla-nudge .bla-btn.primary:hover{ filter:brightness(1.03); box-shadow:0 18px 34px rgba(109,40,217,.26); }
.bla-nudge .bla-btn.primary:focus{ outline:2px solid rgba(109,40,217,.35); outline-offset:2px; }

body.bla-dark .bla-nudge .bla-btn.primary{
  border-color:rgba(196,181,253,.45);
  box-shadow:0 16px 34px rgba(109,40,217,.30);
}

body.bla-dark .bla-nudge{
  border-color:rgba(196,181,253,.22);
  background:linear-gradient(180deg, rgba(76,29,149,.22), rgba(30,41,59,.28));
}
body.bla-dark .bla-nudge-title{color:#f8fafc;}
body.bla-dark .bla-nudge-sub{color:rgba(226,232,240,.82);}
body.bla-dark .bla-nudge-dot{ box-shadow:0 14px 28px rgba(109,40,217,.30); }

/* Dashboard nudge - mobile layout */
@media (max-width: 520px){
  .bla-nudge{ flex-direction:column; align-items:stretch; gap:10px; }
  .bla-nudge-left{ align-items:flex-start; }
  .bla-nudge-dot{ width:20px; height:20px; font-size:12px; }
  .bla-nudge-title{ font-size:13px; }
  .bla-nudge-sub{ font-size:12px; }
  .bla-nudge .bla-btn{ width:100%; justify-content:center; }
}
.bla-welcome-left{ display:flex; align-items:center; gap:14px; min-width:0; }
.bla-welcome-photo{
  width:74px;
  height:74px;
  border-radius:18px;
  overflow:hidden;
  border:2px solid rgba(109,40,217,.25);
  box-shadow:0 0 0 6px rgba(109,40,217,.08);
  flex:0 0 auto;
}
.bla-welcome-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.bla-welcome-actions{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.bla-welcome-actions .bla-btn{ min-height:38px; padding:9px 12px; }
.bla-welcome-right{ display:flex; justify-content:flex-end; }
.bla-welcome .ttl{ font-size:26px; font-weight:900; letter-spacing:-.02em; margin:0; }
.bla-welcome .ttl .emoji{ margin-left:6px; }
.bla-welcome .ttl{ font-size:26px; font-weight:800; letter-spacing:-.02em; }
.bla-welcome .sub{ margin-top:6px; color:#64748b; font-size:14px; }

.bla-stats{ display:flex; gap:10px; }
.bla-stat{
  position:relative;
  border-radius:14px;
  padding:10px 12px;
  min-width:140px;
  box-shadow: 0 12px 30px rgba(2,6,23,.10);
  border:1px solid rgba(226,232,240,.9);
  overflow:hidden;
}
.bla-welcome-right .bla-stat{ min-width:120px; }
.bla-stat .ico{ width:18px; height:18px; opacity:.9; }
.bla-stat .top{ display:flex; align-items:center; gap:10px; }
.bla-stat.today{ background:linear-gradient(180deg, rgba(59,130,246,.14), rgba(59,130,246,.06)); }
.bla-stat.completed{ background:linear-gradient(180deg, rgba(34,197,94,.14), rgba(34,197,94,.06)); }
.bla-stat.remaining{ background:linear-gradient(180deg, rgba(148,163,184,.22), rgba(148,163,184,.08)); }
.bla-stat .k{
  font-size:10px;
  letter-spacing:.06em;
  opacity:.85;
}
.bla-stat .v{
  font-size:22px;
  font-weight:800;
  margin-top:6px;
}
.bla-stat .v{ color:#0f172a; }
.bla-stat .v .unit{ font-size:12px; font-weight:800; color:#64748b; }

/* Tooltip helper */
.bla-tip{ position:relative; }
.bla-tip[data-tip]:hover:before{
  content:attr(data-tip);
  position:absolute;
  bottom:calc(100% + 10px);
  left:50%;
  transform:translateX(-50%);
  background:rgba(15,23,42,.95);
  color:#fff;
  font-size:12px;
  line-height:1.25;
  padding:8px 10px;
  border-radius:12px;
  white-space:nowrap;
  z-index:50;
  box-shadow:0 12px 30px rgba(2,6,23,.35);
}
.bla-tip[data-tip]:hover:after{
  content:"";
  position:absolute;
  bottom:calc(100% + 4px);
  left:50%;
  transform:translateX(-50%);
  border:6px solid transparent;
  border-top-color:rgba(15,23,42,.95);
}

/* Rows */
.bla-row-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
  margin-bottom:10px;
}
/* Grid items can overflow if children use max-content widths (e.g. marquees). Allow shrinking. */
.bla-row-2 > *{ min-width:0; }
@media (max-width: 900px){
  /* Mobile-friendly nav: stack and keep tabs scrollable */
  .bla-nav{ grid-template-columns:1fr; }
  .bla-brand{ justify-content:flex-start; }
  .bla-tabs{ width:100%; }

  .bla-welcome{ flex-direction:column; align-items:flex-start; }
  .bla-welcome-right{ width:100%; }
  .bla-stats{ width:100%; flex-wrap:wrap; }
  .bla-stat{ flex:1; min-width:0; }
  .bla-row-2{ grid-template-columns:1fr; }
}

/* Pills (scoped so theme CSS can't clash) */
.bla-portal .pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  background:#eef2ff;
  color:#1d4ed8;
  border:1px solid #e0e7ff;
  margin-bottom:10px;
  width:fit-content;
}
.bla-portal .pill.purple{
  background:#f3e8ff;
  color:#6d28d9;
  border-color:#e9d5ff;
}

/* Speaker pill */
.bla-portal .pill.speaker{
  background:#fffbeb;
  color:#b45309;
  border-color:#fde68a;
}

/* Speaker pill inside headings should not add vertical spacing */
.bla-portal .bla-welcome .ttl .pill{
  margin-bottom:0;
  padding:4px 8px;
  font-size:11px;
}

/* Two-pill rows (e.g. LIVE + Happening now) */
.bla-portal .bla-pill-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.bla-portal .bla-pill-row .pill{ margin-bottom:0; }

/* LIVE pill (separate from the label pill) */
.bla-portal .pill.live{
  background:rgba(239,68,68,.12);
  color:#b91c1c;
  border-color:rgba(239,68,68,.25);
  font-weight:800;
  letter-spacing:.4px;
}
.bla-portal .pill.live .dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#ef4444;
  box-shadow:0 0 0 0 rgba(239,68,68,.55);
  animation:bla-live-pulse 1.4s infinite;
}

/* Glowing LIVE indicator */
.bla-live-indicator{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(239,68,68,.12);
  color:#b91c1c;
  border:1px solid rgba(239,68,68,.25);
  font-weight:800;
  letter-spacing:.4px;
}
.bla-live-indicator .dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#ef4444;
  box-shadow:0 0 0 0 rgba(239,68,68,.55);
  animation:bla-live-pulse 1.4s infinite;
}
@keyframes bla-live-pulse{
  0%{ box-shadow:0 0 0 0 rgba(239,68,68,.55); }
  70%{ box-shadow:0 0 0 10px rgba(239,68,68,0); }
  100%{ box-shadow:0 0 0 0 rgba(239,68,68,0); }
}

/* CTA buttons */
.bla-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  border-radius:12px;
  padding:10px 14px;
  cursor:pointer;
  text-decoration:none;
  font-size:14px;
  line-height:1;
  min-height:40px;
}
.bla-btn.soft{
  background:#eef2f7;
  color:#0f172a;
}
.bla-btn.soft:hover{ background:#e6ebf3; }

/* Coloured buttons */
.bla-btn.primary{
  background:#2563eb;
  color:#fff;
  box-shadow:0 10px 22px rgba(37,99,235,.20);
}
.bla-btn.primary:hover{ background:#1d4ed8; }
.bla-btn.save{
  background:linear-gradient(180deg, rgba(124,58,237,1), rgba(109,40,217,1));
  color:#fff;
  box-shadow:0 12px 26px rgba(124,58,237,.22);
}
.bla-btn.save:hover{ filter:brightness(1.03); transform:translateY(-1px); }
.bla-btn.save:active{ transform:translateY(0); }

/* Projects: make "Add another project" more obvious */
.bla-add-project-row{ margin-top:14px; display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
.bla-add-project-row .bla-add-project{ display:inline-flex; align-items:center; gap:8px; }
.bla-btn-ic{ width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:rgba(255,255,255,.22); font-weight:900; line-height:1; }
.bla-add-project-hint{ max-width:620px; }
@media (max-width: 640px){
  .bla-add-project-row .bla-add-project{ width:100%; justify-content:center; }
}


.bla-btn.danger{
  background:#ef4444;
  color:#fff;
  box-shadow:0 10px 22px rgba(239,68,68,.18);
}
.bla-btn.danger:hover{ background:#dc2626; }

.bla-btn.success{
  background:#22c55e;
  color:#fff;
  box-shadow:0 10px 22px rgba(34,197,94,.18);
}
.bla-btn.success:hover{ background:#16a34a; }

.bla-btn:disabled,
.bla-btn[disabled]{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none;
}

.bla-btn.small{
  min-height:36px;
  padding:9px 12px;
  border-radius:12px;
}

.bla-section{ margin-top:14px; }

/* Dashboard CTA cards: keep Meetings + Vendors blocks matching height and tidy. */
.bla-card.bla-cta{ display:flex; flex-direction:column; }
.bla-card.bla-cta .bla-meetings-preview,
.bla-card.bla-cta .bla-vendor-carousel{ flex:1 1 auto; min-height:0; }
/* Stick primary CTA to the bottom of the card */
.bla-card.bla-cta > .bla-btn{ margin-top:auto; }
/* Vendors card has a divider before the CTA - push it and the button down together */
.bla-card.bla-cta > .bla-hr{ margin-top:auto; }

/* Prevent the marquee from visually pushing outside its card */
.bla-vendor-carousel{ max-width:100%; overflow:hidden; }
.bla-carousel{ max-width:100%; }

/* Vendor cards grid */
.bla-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
@media (max-width: 980px){ .bla-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px){ .bla-grid{ grid-template-columns: 1fr; } }

.bla-vendor-head{ display:flex; gap:12px; align-items:center; margin-bottom:10px; }
.bla-vendor-logo{
  width:80px; height:80px;
  border-radius:14px;
  border:1px solid #e7eaf3;
  background:#fff;
  flex:0 0 auto;
}
.bla-overview{ color:#334155; font-size:14px; line-height:1.55; margin:10px 0 12px; }
.bla-overview-snippet{
  display:-webkit-box;
  -webkit-line-clamp:6;
  -webkit-box-orient:vertical;
  overflow:hidden;
  white-space:normal;
}
body.bla-dark .bla-overview{ color: rgba(226,232,240,.92); }
.bla-link{ font-size:14px; color:#0ea5e9; text-decoration:none; }
.bla-link:hover{ text-decoration:underline; }
.bla-vendor-actions{ display:flex; gap:10px; align-items:center; margin-top:10px; }
.bla-heart{ display:inline-flex; align-items:center; gap:8px; }
.bla-heart .bla-heart-icon{ font-size:18px; line-height:1; }
.bla-heart .bla-heart-label{ font-size:14px; line-height:1; }
.bla-heart.bla-btn{ padding:10px 12px; }
.bla-heart.is-liked{
  background:#f3e8ff;
  border-color:#e9d5ff;
}

/* Meetings list */
.bla-meetings{ list-style:none; padding:0; margin:0; }
.bla-meeting{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px 0;
  border-bottom:1px solid #eef1f7;
}
.bla-meeting:last-child{ border-bottom:0; }

.bla-footer-note{
  text-align:center;
  color:#94a3b8;
  font-size:12px;
  margin-top:12px;
}

/* Login form */
.bla-login form{ margin-top:12px; }
.bla-login label{ display:block; font-size:14px; margin-bottom:6px; color:#0f172a; }
.bla-login input[type="text"], .bla-login input[type="password"]{
  width:100%;
  max-width: 380px;
  border:1px solid #e7eaf3;
  border-radius:12px;
  padding:10px 12px;
  font-size:14px;
}
.bla-login .login-remember{ margin-top:10px; }
.bla-login input[type="submit"]{
  margin-top:12px;
  background:#eef2f7;
  border:0;
  border-radius:12px;
  padding:10px 14px;
  cursor:pointer;
  font-weight:600;
}


/* Profile editor */
.bla-input{
  width:100%;
  max-width: 520px;
  border:1px solid #e7eaf3;
  border-radius:12px;
  padding:10px 12px;
  font-size:14px;
  margin-bottom:10px;
}

/* Profile CV-style header */
.bla-profile-form .bla-input{ max-width:100%; }
.bla-profile-hero{ display:grid; grid-template-columns:140px 1fr; gap:18px; align-items:start; }
.bla-profile-hero-photo{ display:flex; flex-direction:column; }
.bla-profile-hero-avatar{ width:128px; height:128px; border-radius:28px; border:1px solid #e7eaf3; object-fit:cover; background:#fff; }
.bla-profile-hero-name{ font-size:28px; font-weight:900; line-height:1.15; margin:2px 0 6px; color:#0f172a; }
.bla-profile-hero-meta{ font-size:14px; color:#64748b; margin-bottom:10px; }
.bla-profile-hero-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:10px; }
.bla-profile-hero-logos{ display:flex; align-items:center; gap:14px; margin-top:12px; flex-wrap:wrap; }
.bla-profile-company-logo{ width:96px; height:96px; border-radius:18px; border:1px solid #e7eaf3; object-fit:contain; background:#fff; padding:10px; }

.bla-profile-logo-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:4px 0 12px;}
.bla-profile-logo-upload{min-width:220px;flex:1;}
@media (max-width: 900px){
  .bla-profile-logo-upload{min-width:0;flex:1 1 100%;}
}
@media (max-width: 900px){
  .bla-profile-hero{ grid-template-columns:1fr; }
  .bla-profile-hero-grid{ grid-template-columns:1fr; }
}
.bla-profile-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
  margin-bottom:12px;
}
@media (max-width: 900px){
  .bla-profile-grid{ grid-template-columns:1fr; }
}
.bla-profile-label{
  font-size:12px;
  color:#334155;
  font-weight:700;
  margin:8px 0 6px;
}

.bla-required{
  color:#d63638;
  font-weight:700;
}
/* Base avatar (used across sessions, dashboard previews, etc.) */
.bla-avatar{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  overflow:hidden;
  border:1px solid #e7eaf3;
  background:#fff;
  text-decoration:none;
}
.bla-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Avoid overriding the earlier tab spacing rules (gap-based) */

/* Legacy helper classes (keep scoped) */
.bla-portal .bla-meeting-line{flex-direction:column;align-items:flex-start;}
.bla-portal .bla-meeting-line .c{text-align:left;}


/* Agenda */
.bla-agenda{display:flex;flex-direction:column;gap:12px}
.bla-agenda-row{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:14px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#fff}
.bla-agenda-time{font-weight:700;color:#0f172a;white-space:nowrap}
.bla-agenda-title{font-weight:800;color:#0f172a;margin-bottom:6px;font-size:18px;line-height:1.25}
.bla-agenda-title-row{display:flex;align-items:center;justify-content:flex-start;gap:12px}
.bla-agenda-speakers-row{margin-top:8px}
.bla-agenda-speakers{margin-top:8px}


/* Real-time "Now" line through the schedule */
.bla-agenda{position:relative}
.bla-agenda-nowline{position:absolute;left:0;right:0;height:2px;background:rgba(239,68,68,.85);box-shadow:0 6px 18px rgba(239,68,68,.20);z-index:6;pointer-events:none;display:none}
.bla-agenda-nowline .dot{position:absolute;left:108px;top:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:999px;background:rgba(239,68,68,.95);box-shadow:0 6px 18px rgba(239,68,68,.30)}

/* Speaker avatars in the agenda LISTINGS should be compact and tidy (large view is in a modal). */
.bla-speaker-avatars{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.bla-speaker-avatar{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:999px;background:#e2e8f0;border:2px solid #fff;box-shadow:0 8px 18px rgba(15,23,42,.10);overflow:hidden;text-decoration:none}
.bla-speaker-avatar img{width:56px;height:56px;object-fit:cover;display:block}
.bla-speaker-avatar.more{border:2px solid #e2e8f0;background:#fff;color:#334155;font-size:12px;font-weight:800;cursor:pointer}


/* Speaker chips (tiny avatar + name) for Agenda cards */
.bla-speaker-chips{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:10px}
.bla-speaker-chip{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;border-radius:999px;border:1px solid rgba(15,23,42,.10);background:#fff;color:#0f172a;text-decoration:none;font-size:15px;font-weight:700;line-height:1;cursor:default;position:relative;z-index:0}
.bla-speaker-chip img{width:44px;height:44px;border-radius:999px;object-fit:cover;display:block}
.bla-speaker-chip.bla-vendor-chip img{border-radius:12px;object-fit:contain;background:#fff}
.bla-speaker-chip.more{cursor:pointer;background:#fff;color:#334155;font-size:12px;font-weight:800}
.bla-speaker-chip:hover{background:#f6f8fc}


/* Speaker modal (large 300px avatars) */
.bla-speaker-modal .bla-modal-card{max-width:980px}
.bla-speaker-modal .bla-modal-card h3{margin:0 0 12px;font-size:18px}
.bla-speaker-modal-grid{display:flex;flex-wrap:wrap;gap:18px;justify-content:flex-start}
.bla-speaker-modal-item{display:flex;flex-direction:column;align-items:center}
.bla-speaker-modal .bla-speaker-avatar{width:300px;height:300px;border:4px solid #fff;box-shadow:0 12px 28px rgba(15,23,42,.12)}
.bla-speaker-modal .bla-speaker-avatar img{width:300px;height:300px}
.bla-speaker-modal-name{margin-top:10px;font-weight:800;color:#0f172a;font-size:14px;text-align:center}

@media (max-width: 720px){
  .bla-speaker-avatar{width:48px;height:48px}
  .bla-speaker-avatar img{width:48px;height:48px}  .bla-speaker-modal .bla-speaker-avatar{width:240px;height:240px}
  .bla-speaker-modal .bla-speaker-avatar img{width:240px;height:240px}
}
.bla-agenda-meta{font-size:14px;color:#64748b;margin-bottom:4px}
.bla-agenda-desc{font-size:14px;color:#475569;line-height:1.4}
.bla-agenda-desc p{margin:0 0 6px}
.bla-agenda-desc ul,.bla-agenda-desc ol{margin:6px 0 0 18px;padding:0}
.bla-agenda-desc li{margin:4px 0}
.bla-agenda-row.is-now{
  position:relative;
  border-color:rgba(99,102,241,.55);
  background:linear-gradient(90deg, rgba(99,102,241,.10), rgba(99,102,241,0) 48%);
  box-shadow:
    0 12px 34px rgba(99,102,241,.18),
    0 0 0 1px rgba(99,102,241,.18);
  animation:bla-agenda-live-pulse 2.2s ease-in-out infinite;
}

.bla-agenda-row.is-now .bla-agenda-title-row:after{
  content:"LIVE";
  display:inline-flex;
  align-items:center;
  height:22px;
  padding:0 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  color:#fff;
  background:rgba(239,68,68,.92);
  box-shadow:0 10px 24px rgba(239,68,68,.20);
}

@keyframes bla-agenda-live-pulse{
  0%{ box-shadow:0 12px 34px rgba(99,102,241,.16), 0 0 0 1px rgba(99,102,241,.16); }
  50%{ box-shadow:0 16px 46px rgba(99,102,241,.26), 0 0 0 1px rgba(99,102,241,.22); }
  100%{ box-shadow:0 12px 34px rgba(99,102,241,.16), 0 0 0 1px rgba(99,102,241,.16); }
}
.bla-agenda-row.is-next{border-color:rgba(16,185,129,.25)}
@media (max-width:720px){
  .bla-agenda-row{grid-template-columns:1fr}
  .bla-agenda-time{font-size:14px}
}


/* Welcome header avatar + status ring */
.bla-welcome-left{ display:flex; align-items:center; gap:14px; }
.bla-welcome-avatar{ width:64px; height:64px; border-radius:18px; position:relative; flex:0 0 64px; }
.bla-welcome-avatar img{ width:64px; height:64px; border-radius:18px; display:block; object-fit:cover; }
.bla-welcome-avatar:after{
  content:"";
  position:absolute;
  inset:-3px;
  border-radius:22px;
  border:3px solid rgba(148,163,184,.55);
  pointer-events:none;
}
.bla-welcome-avatar.bla-status-live:after{ border-color: rgba(99,102,241,.85); box-shadow:0 0 0 6px rgba(99,102,241,.12); }
.bla-welcome-avatar.bla-status-meeting:after{ border-color: rgba(16,185,129,.9); box-shadow:0 0 0 6px rgba(16,185,129,.12); }

.bla-welcome-text .ttl{ margin:0; }
.bla-edit-profile{
  display:inline-block;
  margin-top:8px;
  font-size:14px;
  color:#334155;
  text-decoration:none;
  border:1px solid rgba(148,163,184,.45);
  border-radius:12px;
  padding:6px 10px;
  background:#fff;
}
.bla-edit-profile:hover{ background:#f8fafc; }

.bla-company-logo{
  width:18px;
  height:18px;
  border-radius:6px;
  vertical-align:-3px;
  object-fit:cover;
  margin-right:6px;
  border:1px solid rgba(148,163,184,.45);
}


/* Meetings styling */
.bla-meetings-preview{display:flex;flex-direction:column;gap:10px;margin:10px 0 14px;}

/* Dashboard empty state (My meetings) */
.bla-empty{padding:12px 12px;border-radius:14px;border:1px dashed rgba(148,163,184,.65);background:rgba(99,102,241,.06);display:flex;flex-direction:column;gap:8px;}
.bla-empty-title{font-weight:900;font-size:14px;color:#0f172a;}
.bla-empty .bla-muted{margin:0;}
.bla-empty .bla-btn{width:max-content;}

@media (max-width:520px){
  .bla-empty .bla-btn{width:100%;text-align:center;}
}
/* Dashboard preview row: logo | vendor+status | time pill */
.bla-meeting-item{
  display:grid;
  /* Keep the logo column the same width as the logo itself to prevent overlap */
  grid-template-columns:64px 1fr auto;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
  background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.03);
}
.bla-meeting-item .bla-meeting-main{min-width:0; display:flex; flex-direction:column; gap:2px;}
.bla-meeting-item .bla-meeting-time{
  font-weight:800;
  font-size:14px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(99,102,241,.10);
  color:#2b2f7a;
  white-space:nowrap;
}
.bla-meeting-item .bla-meeting-vendor{
  font-weight:800;
  font-size:14px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:100%;
}
.bla-meeting-item .bla-meeting-status{font-size:12px;color:rgba(0,0,0,.55);}

/* My meetings list */
.bla-meetings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.bla-meeting{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:18px 18px;
  border:1px solid rgba(0,0,0,.06);
  border-radius:16px;
  background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.03);
}
.bla-meeting-left{display:flex;flex-direction:column;gap:8px;min-width:0;}
.bla-meeting-left .bla-meeting-time{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(99,102,241,.10);
  color:#2b2f7a;
  font-weight:900;
  font-size:14px;
}
.bla-meeting-left .bla-meeting-vendor{
  color:#111827;
  font-weight:900;
  font-size:18px;
  line-height:1.15;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:520px;
}
.bla-meeting-right{display:flex;flex-direction:row;gap:8px;align-items:center;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;}
.bla-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.3px}
.bla-badge.booked{background:rgba(16,185,129,.12);color:#065f46;border:1px solid rgba(16,185,129,.25);}

/* Vendor carousel (dashboard marquee) */
.bla-carousel{
  --bla-carousel-gap: 12px;
  --bla-marquee-duration: 52s; /* slow + subtle */
  position:relative;
  overflow:hidden;
  padding:12px 2px 8px;
  margin:6px 0 2px;
  border-radius:16px;
}
.bla-carousel-track{
  display:flex;
  gap:var(--bla-carousel-gap);
  width:max-content;
  will-change:transform;
  animation: bla-marquee var(--bla-marquee-duration) linear infinite;
}
.bla-carousel:hover .bla-carousel-track,
.bla-carousel:focus-within .bla-carousel-track{ animation-play-state: paused; }

@keyframes bla-marquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

.bla-carousel-item{
  /*
    Width is controlled by a CSS variable set in JS.
    This avoids percentage flex-basis edge cases once the track uses width:max-content.
  */
  flex:0 0 var(--bla-carousel-item-w, 220px);
  min-width: 150px;
  border:1px solid rgba(0,0,0,.06);
  border-radius:16px;
  background:#fff;
  padding:12px;
  box-shadow:0 2px 10px rgba(0,0,0,.03);
  display:flex;
  flex-direction:column;
  gap:8px;
}
/*
  Breakpoints are handled by JS setting --bla-carousel-item-w.
  We keep duration tweaks for mobile.
*/
@media (max-width: 640px){
  /* Mobile: swipeable, snappy carousel (no slow auto-marquee). */
  .bla-carousel{
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    scroll-padding-left: 2px;
    padding:10px 2px 10px;
  }
  .bla-carousel::-webkit-scrollbar{ display:none; }
  .bla-carousel{ scrollbar-width:none; }
  .bla-carousel-track{ animation:none; }
  .bla-carousel-item{ scroll-snap-align:start; padding:10px; }
  .bla-carousel-logo{ width:54px; height:54px; border-radius:12px; }
}

@media (prefers-reduced-motion: reduce){
  .bla-carousel-track{ animation: none; }
}

.bla-carousel-logo{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:14px;border:1px solid rgba(0,0,0,.06);}
.bla-carousel-name{font-weight:800;font-size:14px;line-height:1.2}
.bla-carousel-hit{
  display:flex;
  flex-direction:column;
  gap:8px;
  text-decoration:none;
  color:inherit;
}
.bla-carousel-hit:hover .bla-carousel-name{ text-decoration:underline; }

.bla-carousel-link{font-size:12px;font-weight:700;color:#4f46e5;text-decoration:none;margin-top:auto}
.bla-carousel-link:hover{text-decoration:underline}

.bla-meeting-logo-link{ display:inline-flex; }
.bla-meeting-vendor-link{ text-decoration:none; color:inherit; font-weight:800; }
.bla-meeting-vendor-link:hover{ text-decoration:underline; }

/* Meeting logo */
.bla-meeting-logo{width:64px;height:64px;border-radius:16px;object-fit:contain;border:1px solid rgba(0,0,0,.06);background:#fff}

/* My meetings - mobile layout */
@media (max-width: 720px){
  .bla-meeting{align-items:flex-start;flex-wrap:wrap;}
  .bla-meeting-left{flex:1 1 auto;min-width:0;}
  .bla-meeting-left .bla-meeting-vendor{max-width:100%;}
  .bla-meeting-right{width:100%;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;}
  .bla-meeting-reviewline{width:100%;}
}

/* Sessions (Workshops & Roundtables) */
.bla-page-title{ margin-bottom:16px; }
/* Sessions filter chips */
.bla-session-filters{
  margin-top:10px;
  gap:10px;
}
.bla-filter-chip{
  cursor:pointer;
  user-select:none;
  transition: transform .12s ease, filter .12s ease, background .12s ease, border-color .12s ease;
}
.bla-filter-chip:hover{ filter:brightness(1.03); transform:translateY(-1px); }
.bla-filter-chip:active{ transform:translateY(0); }
.bla-filter-chip.is-active{
  background: rgba(122,63,255,.16);
  border-color: rgba(122,63,255,.32);
}

/* Responsive grid: 3 desktop, 2 tablet, 1 mobile */
.bla-sessions-grid{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:32px;
}
@media (max-width: 1024px){
  .bla-sessions-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px){
  .bla-sessions-grid{ grid-template-columns:1fr; gap:22px; }
}

.bla-session{
  position:relative;
  padding:18px 18px 16px;
  border-radius:12px;
  background:linear-gradient(180deg, #ffffff 0%, #f9fafb 100%);
  transition:transform .2s ease, box-shadow .2s ease;
  overflow:hidden;
}
.bla-session:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(2,6,23,.12);
}
.bla-session:focus-within{
  box-shadow:0 0 0 3px rgba(79,70,229,.20), 0 14px 34px rgba(2,6,23,.12);
}

.bla-session-accent{
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:6px;
  background:rgba(59,130,246,.55);
}
.bla-session-type-roundtable .bla-session-accent{ background:rgba(168,85,247,.55); }
.bla-session-type-workshop .bla-session-accent{ background:rgba(59,130,246,.55); }
.bla-session-type-security .bla-session-accent{ background:rgba(59,130,246,.55); }
.bla-session-type-leadership .bla-session-accent{ background:rgba(168,85,247,.55); }

.bla-session-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.bla-session-time{ font-size:12px; color:rgba(17,24,39,.55) !important; }
.bla-session-title{ font-size:19px; line-height:1.18; font-weight:900; margin:2px 0 6px; }
.bla-session-meta{ font-size:14px; color:rgba(17,24,39,.55) !important; }
.bla-session-desc{margin-top:10px; color:rgba(17,24,39,.82)}
.bla-session-slots{margin-top:12px; font-size:14px; color:rgba(17,24,39,.7)}
.bla-btn.bla-session-book{margin-top:12px;width:100%}
.bla-btn.bla-session-book:hover{ filter:brightness(1.02); }
.bla-btn.bla-session-book:focus{ outline:none; box-shadow:0 0 0 3px rgba(79,70,229,.22); }

.bla-session-speakers{ margin-top:12px; }
.bla-session-speakers .bla-muted{ margin-bottom:6px; font-size:12px; }
.bla-speaker-avatar{ width:42px; height:42px; object-fit:cover; }

/* Booked attendee avatars */

.bla-session-attendees{ margin-top:12px; }
.bla-session-attendees .bla-muted{ margin-bottom:6px; font-size:12px; }
.bla-avatars{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.bla-avatar-wrap{ display:inline-flex; align-items:center; }
.bla-avatar{
  border-radius:999px !important;
  border:2px solid #fff;
  box-shadow:0 6px 14px rgba(15,23,42,.10);
}
.bla-avatar-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:#eef2f7;
  color:#0f172a;
  font-weight:700;
  font-size:12px;
  border:2px solid #fff;
  box-shadow:0 6px 14px rgba(15,23,42,.10);
}

/* Speaker "+X more" pill needs more room */
.bla-session-speakers .bla-avatar-more{
  width:auto;
  padding:0 10px;
}


/* Meeting reviews */
.bla-review-mini{margin-top:6px;line-height:1}
.bla-stars{display:inline-flex;gap:2px;font-size:14px;line-height:1}
.bla-stars .on{color:#f59e0b}
.bla-stars .off{color:rgba(17,24,39,.25)}
.bla-star-icon.on{color:#f59e0b}
.bla-star-icon.off{color:rgba(17,24,39,.25)}

.bla-meeting-reviewline{margin-top:10px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-radius:14px;background:rgba(17,24,39,.03);border:1px solid rgba(17,24,39,.10)}
.bla-meeting-reviewline .bla-stars{font-size:14px}

.bla-review-text{font-size:14px;line-height:1.35;color:rgba(17,24,39,.8)}

.bla-modal{position:fixed;inset:0;display:none;z-index:9999}
.bla-modal.is-open{display:block}
.bla-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.bla-modal-card{position:relative;max-width:520px;width:calc(100% - 32px);margin:72px auto 0;background:#fff;border-radius:18px;padding:18px 18px 14px;box-shadow:0 14px 40px rgba(0,0,0,.25)}
.bla-modal-close{position:absolute;top:10px;right:10px;border:0;background:transparent;font-size:22px;line-height:1;cursor:pointer;opacity:.7}
.bla-modal-close:hover{opacity:1}
.bla-label{display:block;margin-top:12px;margin-bottom:6px;font-weight:800;font-size:12px;color:#111827}
#bla-review-summary{width:100%;border:1px solid rgba(0,0,0,.12);border-radius:14px;padding:10px 12px;font-size:14px;resize:vertical}
.bla-modal-actions{display:flex;gap:10px;margin-top:12px}

/* Session booking interest modal */
#bla-session-interest-text{width:100%;border:1px solid rgba(0,0,0,.12);border-radius:14px;padding:10px 12px;font-size:14px;resize:vertical}
.bla-session-interest-help{margin:6px 0 0;font-size:14px}
.bla-session-interest-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px}
.bla-session-interest-error{color:#b91c1c;font-size:12px;font-weight:800}

/* Wish list reason modal (same UX as session booking) */
#bla-wishlist-reason{width:100%;border:1px solid rgba(0,0,0,.12);border-radius:14px;padding:10px 12px;font-size:14px;resize:vertical}
.bla-wishlist-help{margin:6px 0 0;font-size:14px}
.bla-wishlist-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px}
.bla-wishlist-error{color:#b91c1c;font-size:12px;font-weight:800}

.bla-rating{display:flex;gap:6px;margin-top:8px}
.bla-star{border:1px solid rgba(0,0,0,.12);background:#fff;border-radius:12px;padding:8px 10px;cursor:pointer;font-size:16px;line-height:1}
.bla-star.is-on{border-color:rgba(79,70,229,.35);background:rgba(79,70,229,.10)}

@media (max-width: 640px){
  .bla-modal-card{margin:48px auto 0}
}


/* Vendor portal additions */
.bla-vendor-dash-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width: 980px){ .bla-vendor-dash-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px){ .bla-vendor-dash-grid{ grid-template-columns: 1fr; } }


/* Make workshop attendance tile wider (desktop: 2 columns, tablet: full width) */
@media (min-width: 981px){
  .bla-vendor-dash-grid .bla-hosted-sessions{ grid-column: span 2; }
}
@media (max-width: 980px){
  .bla-vendor-dash-grid .bla-hosted-sessions{ grid-column: 1 / -1; }
}
.bla-tile{ display:flex; flex-direction:column; min-height: 220px; }
.bla-tile-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.bla-tile-head h3{ margin:0; font-size:16px; }
.bla-tile-footer{ margin-top:auto; padding-top:12px; }

.bla-list{ display:flex; flex-direction:column; gap:10px; }
.bla-list-row{ display:flex; justify-content:space-between; gap:12px; padding:10px; border:1px solid #eef1f7; border-radius:14px; background:#fff; }
.bla-list-main{ display:flex; flex-direction:column; gap:2px; }
.bla-list-side{ color:#64748b; font-size:12px; align-self:center; }

.bla-meetings-list{ display:flex; flex-direction:column; gap:12px; }
.bla-meeting-row{ display:grid; grid-template-columns: 56px 1fr auto; gap:14px; align-items:center; padding:14px; border:1px solid #eef1f7; border-radius:16px; background:#fff; }
.bla-meeting-time{ font-weight:700; color:#0f172a; }
.bla-meeting-title{ font-weight:700; margin-top:2px; }
.bla-meeting-actions{ display:flex; flex-direction:column; gap:10px; align-items:flex-end; }
@media (max-width: 640px){
  .bla-meeting-row{ grid-template-columns: 56px 1fr; }
  .bla-meeting-actions{ grid-column: 1 / -1; flex-direction:row; justify-content:flex-end; }
}

.bla-review-inline{ display:flex; align-items:center; gap:10px; margin-top:8px; }
.bla-review-text{ color:#334155; font-size:14px; }

.bla-stars{ display:inline-flex; gap:2px; line-height:1; }
.bla-star{ color:#cbd5e1; font-size:14px; }
.bla-star.is-on{ color:#f59e0b; }

.bla-review-summary{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.bla-review-avg{ font-size:22px; font-weight:800; color:#0f172a; }
.bla-reviews-list{ display:flex; flex-direction:column; gap:12px; }
.bla-review-row{ padding:14px; border:1px solid #eef1f7; border-radius:16px; background:#fff; }
.bla-review-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.bla-review-body{ color:#334155; font-size:14px; line-height:1.55; margin-bottom:8px; }

.bla-attendees-toolbar{ margin-bottom:14px; }
.bla-attendee-card .bla-vendor-actions{ justify-content:flex-start; }


/* Attendees directory filters (vendor drill-down) */
.bla-filters{ margin-bottom:14px; }
.bla-filters__form{ width:100%; }
.bla-filters__top{ display:flex; gap:14px; align-items:flex-end; flex-wrap:wrap; }
.bla-filters__grid{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px; flex:1 1 640px; }
.bla-filters__grid--more{ margin-top:12px; grid-template-columns:repeat(3, minmax(0,1fr)); }
.bla-field{ min-width:0; }
.bla-field--inline{ display:flex; align-items:center; padding-top:24px; }
.bla-filters__actions{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:flex-end; flex:1 1 260px; }
.bla-filters__count{ font-size:12px; white-space:nowrap; }
.bla-view-toggle{ display:inline-flex; border:1px solid rgba(0,0,0,0.10); border-radius:999px; overflow:hidden; }
body.bla-dark .bla-view-toggle{ border-color:rgba(255,255,255,0.12); }
.bla-view-btn{ padding:8px 12px; font-size:12px; text-decoration:none; color:inherit; background:transparent; }
.bla-view-btn.active{ background:rgba(124,58,237,0.14); }
body.bla-dark .bla-view-btn.active{ background:rgba(124,58,237,0.22); }

.bla-select--small{ width:auto; padding:8px 10px; font-size:12px; }


.bla-label{ display:block; font-size:12px; font-weight:600; margin:0 0 6px 0; color:var(--bla-text, #111827); opacity:0.9; }
.bla-input, .bla-select{ width:100%; border-radius:12px; border:1px solid rgba(0,0,0,0.10); padding:10px 12px; background:rgba(255,255,255,0.9); color:inherit; }
body.bla-dark .bla-input, body.bla-dark .bla-select{ background:rgba(255,255,255,0.05); border-color:rgba(255,255,255,0.12); }

.bla-check{ display:inline-flex; gap:10px; align-items:center; font-size:14px; color:inherit; user-select:none; }
.bla-check input{ width:16px; height:16px; }

.bla-filters__more{ margin-top:12px; }
.bla-filters__more summary{ cursor:pointer; list-style:none; font-weight:600; font-size:14px; padding:10px 12px; border-radius:12px; background:rgba(0,0,0,0.03); }
body.bla-dark .bla-filters__more summary{ background:rgba(255,255,255,0.06); }
.bla-filters__more[open] summary{ margin-bottom:10px; }

.bla-filters__tech{ margin-top:10px; }
.bla-tech-group{ margin-top:10px; padding-top:10px; border-top:1px solid rgba(0,0,0,0.06); }
body.bla-dark .bla-tech-group{ border-top-color:rgba(255,255,255,0.08); }
.bla-tech-group__title{ font-size:12px; font-weight:700; opacity:0.9; margin-bottom:8px; }
.bla-tech-group__items{ display:flex; flex-wrap:wrap; gap:8px; }
.bla-check--pill{ position:relative; }
.bla-check--pill input{ position:absolute; opacity:0; pointer-events:none; }
.bla-check--pill span{ display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; border:1px solid rgba(0,0,0,0.10); background:rgba(255,255,255,0.8); font-size:12px; line-height:1; }
body.bla-dark .bla-check--pill span{ background:rgba(255,255,255,0.06); border-color:rgba(255,255,255,0.12); }
.bla-check--pill input:checked + span{ border-color:rgba(124,58,237,0.55); box-shadow:0 0 0 3px rgba(124,58,237,0.12); }

/* Attendees -> More filters -> Tech interests with descriptions */
.bla-filters__tech .bla-check--pill{ display:flex; align-items:center; gap:10px; }
.bla-filters__tech .bla-check--pill .bla-tech-desc{ display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; border:1px solid rgba(0,0,0,0.08); background:rgba(0,0,0,0.03); font-size:12px; line-height:1; }
body.bla-dark .bla-filters__tech .bla-check--pill .bla-tech-desc{ border-color:rgba(255,255,255,0.10); background:rgba(255,255,255,0.05); }

@media (max-width: 900px){
  .bla-filters__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .bla-filters__grid--more{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .bla-field--inline{ padding-top:0; }
}
@media (max-width: 560px){
  .bla-filters__grid{ grid-template-columns:1fr; }
  .bla-filters__grid--more{ grid-template-columns:1fr; }
  .bla-filters__actions{ justify-content:flex-start; }
  .bla-filters__count{ width:100%; }
}


/* Vendor dashboard: upcoming meetings */
.bla-meet-mini{ align-items:center; }
.bla-meet-mini-left{ width:36px; flex:0 0 36px; display:flex; align-items:center; justify-content:center; }
.bla-mini-logo{ width:34px; height:34px; border-radius:12px; object-fit:cover; border:1px solid #eef1f7; background:#fff; }
.bla-att-link{ color:#4f46e5; font-weight:800; text-decoration:none; }
.bla-att-link:hover{ text-decoration:underline; }
.bla-dot{ opacity:.65; margin:0 4px; }

/* Vendor dashboard: recent reviews */
.bla-review-mini-list{ display:flex; flex-direction:column; gap:10px; margin-top:8px; }
.bla-review-mini{ padding:10px; border:1px solid #eef1f7; border-radius:14px; background:#fff; }
.bla-review-mini-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:6px; }
.bla-review-mini-name a{ font-weight:800; color:#0f172a; text-decoration:none; }
.bla-review-mini-name a:hover{ text-decoration:underline; }
.bla-review-mini-text{ font-size:14px; color:#334155; line-height:1.35; }

/* Vendor dashboard: attendee avatar grid */
.bla-avatar-grid{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; max-height:170px; overflow:auto; padding-right:4px; }
.bla-avatar-chip{ display:inline-flex; width:38px; height:38px; border-radius:14px; overflow:hidden; border:1px solid #eef1f7; background:#fff; box-shadow:0 2px 8px rgba(15,23,42,.06); transition:transform .12s ease, box-shadow .12s ease; }
.bla-avatar-chip img{ width:100%; height:100%; object-fit:cover; }
.bla-avatar-chip:hover{ transform:translateY(-1px); box-shadow:0 6px 14px rgba(15,23,42,.10); }

/* Attendee profile: new sections */
.bla-profile-section{ margin-top:24px; padding-top:20px; border-top:1px solid rgba(0,0,0,0.08); }
.bla-profile-section-title{ font-size:18px; font-weight:800; margin:0 0 14px 0; }

/* Yes/No option tabs */
.bla-toggle{ display:flex; gap:8px; align-items:center; }
.bla-toggle input{ position:absolute; opacity:0; pointer-events:none; }
.bla-toggle label{ padding:8px 12px; border-radius:999px; border:1px solid #e5e7eb; background:#fff; font-weight:700; cursor:pointer; transition:all .12s ease; }
.bla-toggle input:checked + label{ border-color:#c7d2fe; background:#eef2ff; color:#3730a3; }

/* Checkbox grid */
.bla-check-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 10px; }
.bla-check-grid-2col{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.bla-check-grid-3col{ grid-template-columns:repeat(3,minmax(0,1fr)); }

.bla-check-grid-compact{ grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (min-width: 980px){ .bla-check-grid-compact{ grid-template-columns:repeat(3,minmax(0,1fr)); } }

@media (max-width: 760px){
  .bla-check-grid-2col,
  .bla-check-grid-3col{ grid-template-columns:1fr; }
}

.bla-check{ display:flex; align-items:center; gap:7px; padding:7px 9px; border:1px solid #eef1f7; border-radius:12px; background:#fff; }
.bla-check--small{ padding:6px 8px; border-radius:10px; }

.bla-check input{ width:13px; height:13px; }
.bla-check span{ font-weight:600; color:#0f172a; font-size:12px; }

/* Project cards */
.bla-project-card{ padding:14px; border:1px solid #eef1f7; border-radius:18px; background:#fff; margin-bottom:14px; }
.bla-project-title{ font-weight:900; font-size:14px; margin:0 0 10px 0; }

/* Profile page - organise into portal-style cards */
.bla-profile-cards{ margin-top:16px; }
.bla-profile-card h3{ margin:0 0 12px; font-size:18px; font-weight:800; }
.bla-profile-form .bla-btn.soft{ margin-top:16px; }
.bla-profile-help{ font-size:14px; color:#64748b; margin-top:6px; }

.bla-profile-sub{margin:14px 0 6px;font-size:14px;font-weight:800;color:#0f172a;}

/* Projects accordion */
.bla-projects-accordion{display:flex;flex-direction:column;gap:10px;margin-top:10px;}
.bla-projects-accordion details{border:1px solid rgba(15,23,42,.10);border-radius:14px;background:#fff;overflow:hidden;}
.bla-projects-accordion summary{list-style:none;cursor:pointer;padding:12px 14px;font-weight:800;color:#0f172a;display:flex;align-items:center;gap:12px;}
.bla-projects-accordion summary:after{ content:'›'; margin-left:auto; color:#64748b; font-size:22px; line-height:1; display:inline-block; transform:rotate(90deg); transform-origin:center; transition:transform .18s ease, color .18s ease; }
.bla-projects-accordion details[open] summary:after{ transform:rotate(-90deg); }
.bla-projects-accordion summary::-webkit-details-marker{display:none;}
.bla-projects-accordion details[open] summary{background:rgba(99,102,241,.08);}
.bla-projects-accordion .bla-project-body{padding:12px 14px 14px;}
.bla-projects-accordion .bla-project-title{margin:0;font-size:14px;font-weight:900;}
.bla-projects-accordion .bla-project-hint{font-size:12px;color:#64748b;font-weight:700;}

.bla-input{ width:100%; }

@media (max-width: 640px){
  .bla-check-grid{ grid-template-columns:1fr; }
}

/* Projects accordion */
.bla-accordion details{
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 14px;
  padding: 10px 12px;
  margin-bottom: 10px;
  background: #fff;
}
.bla-accordion summary{
  cursor: pointer;
  font-weight: 700;
  outline: none;
}
.bla-accordion summary::-webkit-details-marker{ display:none; }
.bla-accordion-body{ margin-top: 10px; }

/* Footer */
.bla-footer{
  margin-top:12px;
  padding:14px 16px;
  border:1px solid #e7eaf3;
  border-radius:16px;
  background:linear-gradient(180deg, #ffffff, #f8fafc);
  box-shadow: 0 8px 24px rgba(15,23,42,.06);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.bla-footer .left{ display:flex; align-items:center; gap:10px; }
.bla-footer .links{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; justify-content:flex-end; margin-left:auto; }
.bla-footer a{ color:#4338ca; text-decoration:none; font-weight:700; font-size:14px; }
.bla-footer a:hover{ text-decoration:underline; }

/* Icon-only theme toggle (footer bottom-left) */
.bla-theme-toggle--icon{
  width:38px;
  height:38px;
  padding:0;
  border-radius:999px;
  justify-content:center;
}
.bla-theme-toggle--icon .ico{
  width:auto;
  height:auto;
  font-size:16px;
  line-height:1;
  opacity:1;
}

/* Logout is treated as an account action, not a standard link */
.bla-footer a.bla-footer-logout{
  color:#111827;
  text-decoration:none;
  border:1px solid rgba(17,24,39,.12);
  background:#ffffff;
  padding:8px 12px;
  border-radius:999px;
}
.bla-footer a.bla-footer-logout:hover{
  background:#f6f8fc;
  text-decoration:none;
}
.bla-backtop{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  border-radius:999px;
  padding:10px 12px;
  box-shadow: 0 14px 32px rgba(15,23,42,.18);
  display:none;
}
.bla-backtop.is-show{ display:inline-flex; }

/* Disable any theme/plugin "scroll to top" widgets on portal pages */
.wpb_scroll_to_top,
#scrollUp,
.scroll-to-top,
.back-to-top,
.to-top,
.scroll-top{
  display:none !important;
}


/* --- Profile UX upgrades (accordion, sticky save, completeness, toast) --- */
.bla-profile-hero-avatar{ border-radius:999px; border:3px solid rgba(99,102,241,.22); box-shadow:0 10px 30px rgba(99,102,241,.12); }
.bla-profile-hero-photo{ position:relative; width:128px; }
.bla-photo-upload{ position:absolute; inset:0; display:flex; align-items:end; justify-content:center; border-radius:999px; overflow:hidden; }
.bla-photo-upload input{ position:absolute; inset:0; opacity:0; cursor:pointer; }
.bla-photo-upload-overlay{ width:100%; text-align:center; padding:8px 10px; font-size:12px; font-weight:800; color:#0f172a; background:rgba(255,255,255,.85); backdrop-filter:blur(6px); transform:translateY(100%); transition:transform .18s ease; }
.bla-profile-hero-photo:hover .bla-photo-upload-overlay{ transform:translateY(0); }

.bla-profile-meter{ margin:12px 0 14px; max-width:560px; padding:10px 12px; border-radius:14px; background:linear-gradient(180deg, rgba(99,102,241,.08) 0%, rgba(16,185,129,.06) 100%); border:1px solid rgba(99,102,241,.12); }
.bla-profile-meter-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:6px; }
.bla-profile-meter-label{ font-size:12px; color:#475569; font-weight:800; letter-spacing:.2px; }
.bla-profile-meter-pct{ font-size:12px; color:#0f172a; font-weight:900; }
.bla-profile-meter-bar{ height:12px; border-radius:999px; background:rgba(15,23,42,.08); overflow:hidden; }
.bla-profile-meter-fill{ height:12px; border-radius:999px; background:linear-gradient(90deg, rgba(99,102,241,1) 0%, rgba(16,185,129,1) 100%); box-shadow:0 8px 18px rgba(15,23,42,.10); }

/* My profile header name row */
.bla-profile-hero-name-row{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.bla-profile-hero-name-row .pill{ margin:0; }

/* Save button inside cards */
.bla-card-actions{display:flex;justify-content:flex-start;align-items:center;gap:10px;margin-top:14px;}

/* Accordion sections */
.bla-acc{ border:1px solid rgba(15,23,42,.08); border-radius:16px; background:#fff; margin-top:16px; box-shadow:0 12px 26px rgba(15,23,42,.06); overflow:hidden; }
.bla-acc summary{ list-style:none; cursor:pointer; padding:14px 16px; display:flex; align-items:center; gap:10px; font-weight:900; color:#0f172a; }
.bla-acc summary::-webkit-details-marker{ display:none; }
.bla-acc summary:after{ content:'›'; margin-left:auto; color:#64748b; font-size:22px; line-height:1; display:inline-block; transform:rotate(90deg); transform-origin:center; transition:transform .18s ease, color .18s ease; }
.bla-acc[open] summary:after{ transform:rotate(-90deg); }
.bla-acc-ic{ display:inline-flex; width:28px; height:28px; border-radius:10px; align-items:center; justify-content:center; background:rgba(99,102,241,.12); }
.bla-acc-body{ padding:0 16px 14px; }

/* Mini accordion (used for long checkbox lists inside a section) */
.bla-tech-groups{ display:flex; flex-direction:column; gap:10px; margin-top:10px; }
.bla-mini-acc{ border:1px solid rgba(15,23,42,.08); border-radius:14px; background:rgba(248,250,252,.9); overflow:hidden; }
.bla-mini-acc summary{ list-style:none; cursor:pointer; padding:10px 12px; display:flex; align-items:center; gap:10px; font-weight:800; color:#0f172a; }
.bla-mini-acc summary::-webkit-details-marker{ display:none; }
.bla-mini-acc summary:after{ content:'▾'; margin-left:auto; color:#64748b; font-size:22px; line-height:1; transition:transform .18s ease; }
.bla-mini-acc[open] summary:after{ transform:rotate(180deg); }
.bla-mini-acc-body{ padding:0 12px 12px; }

/* Responsibility pills */
.bla-check-grid{ display:flex; flex-wrap:wrap; gap:10px; }
.bla-check{ display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(15,23,42,.10); border-radius:999px; padding:8px 12px; background:#fff; cursor:pointer; user-select:none; }
.bla-check input{ position:absolute; opacity:0; pointer-events:none; }
.bla-check span{ font-size:14px; font-weight:700; color:#334155; }
.bla-check:focus-within{ outline:2px solid rgba(99,102,241,.4); outline-offset:2px; }
.bla-check input:checked + span,
.bla-check input:checked ~ span{ color:#111827; }
.bla-check:has(input:checked){ border-color:rgba(99,102,241,.35); background:rgba(99,102,241,.08); }

/* Toast */
.bla-toast{ position:fixed; left:50%; bottom:20px; transform:translate(-50%, 14px); opacity:0; background:#0f172a; color:#fff; padding:10px 14px; border-radius:999px; font-size:14px; font-weight:800; box-shadow:0 18px 40px rgba(15,23,42,.24); transition:opacity .18s ease, transform .18s ease; z-index:10000; }
.bla-toast.is-show{ opacity:1; transform:translate(-50%, 0); }
.bla-notice.is-fade{ opacity:.85; }

@media (max-width: 720px){
}



/* Passwordless login notices */
.bla-alert{
  border:1px solid rgba(15,23,42,.10);
  border-radius:14px;
  padding:10px 12px;
  margin:12px 0 0;
  font-size:14px;
  line-height:1.35;
}
.bla-alert.success{
  background: rgba(16, 185, 129, .10);
  border-color: rgba(16, 185, 129, .25);
}
.bla-alert.warning{
  background: rgba(245, 158, 11, .10);
  border-color: rgba(245, 158, 11, .25);
}
/* v0.8.58 - My meetings page improvements */
.bla-title-with-actions .bla-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.bla-title-with-actions .bla-title-left{ min-width:0; }
.bla-title-with-actions .bla-title-h2{ display:flex; align-items:center; gap:10px; margin:0; }
.bla-title-with-actions .bla-title-link{
  align-self:center;
  font-size:14px;
  padding:10px 12px;
  border-radius:12px;
  background: rgba(124,58,237,0.08);
  border: 1px solid rgba(124,58,237,0.15);
  color:#2b2b2b;
  text-decoration:none;
  white-space:nowrap;
}
.bla-title-with-actions .bla-title-link:hover{
  background: rgba(124,58,237,0.12);
}

.bla-meetings-summary{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  padding-top:12px;
  border-top:1px solid rgba(15, 23, 42, 0.08);
}
.bla-meetings-summary-item{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
}
.bla-mi-sep{ opacity:0.45; margin:0 6px; }

.bla-meetings-v2{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:16px; }
/* Some themes inject custom list markers on <li>. Force-remove markers inside meetings list. */
.bla-meetings-v2 > li{ list-style:none !important; }
.bla-meetings-v2 > li::marker{ content:""; }
.bla-meetings.bla-meetings-v2{ padding-left:0 !important; margin-left:0 !important; }

.bla-meeting-card{
  border:1px solid rgba(15, 23, 42, 0.08);
  border-radius:18px;
  padding:16px;
  transition: transform .15s ease, box-shadow .15s ease;
}
.bla-meeting-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(2,6,23,0.08);
}
.bla-meeting-card.status-upcoming{ background: rgba(37, 99, 235, 0.06); }
.bla-meeting-card.status-completed{ background: rgba(34, 197, 94, 0.08); }
.bla-meeting-card.status-cancelled{ background: rgba(148, 163, 184, 0.14); opacity:0.85; }

.bla-meeting-main{ display:flex; align-items:flex-start; gap:14px; }
.bla-meeting-logo{ width:46px; height:46px; border-radius:14px; object-fit:cover; border:1px solid rgba(15,23,42,0.08); background:#fff; }
.bla-meeting-left{ flex:1; min-width:0; }
.bla-meeting-time{
  font-size:14px;
  opacity:0.8;
  display:flex;
  align-items:center;
  gap:8px;
}
.bla-meeting-vendor{ font-weight:700; margin-top:4px; }
.bla-meeting-vendor a{ color:inherit; text-decoration:none; }
.bla-meeting-vendor a:hover{ text-decoration:underline; }

.bla-meeting-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
  min-width:120px;
}

@media (max-width: 640px){
  .bla-meeting-main{ flex-direction:column; align-items:stretch; }
  .bla-meeting-logo-link{ align-self:flex-start; }
  .bla-meeting-right{ flex-direction:row; align-items:center; justify-content:flex-start; flex-wrap:wrap; min-width:0; gap:10px; margin-top:10px; }
}

.bla-completed-pill .bla-checkmark{ display:inline-block; margin-right:6px; }
.bla-completed-pill.pop .bla-checkmark{ animation: blaCheckPop .28s ease-out; }
@keyframes blaCheckPop{
  0%{ transform: scale(0.6); opacity:0.5; }
  100%{ transform: scale(1); opacity:1; }
}

.bla-empty{
  text-align:center;
  padding:26px 18px;
}
.bla-empty-illus{ font-size:34px; margin-bottom:6px; }
.bla-empty-actions{ margin-top:12px; display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }

@media (max-width: 680px){
  .bla-title-with-actions .bla-title-row{ flex-direction:column; align-items:stretch; }
  .bla-title-with-actions .bla-title-link{ width:fit-content; }

  /* Meetings list: stack content for mobile */
  .bla-meeting-main{ flex-direction:column; align-items:stretch; gap:12px; }
  .bla-meeting-logo{ width:56px; height:56px; border-radius:16px; }
  .bla-meeting-logo-link{ width:fit-content; }

  .bla-meeting-time{ font-size:14px; }
  .bla-meeting-right{
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    min-width:0;
    flex-wrap:wrap;
  }
  .bla-meeting-right .bla-btn{ width:auto; }

}


/* Profile: left-align per-card save actions */
.bla-profile .bla-card-actions{display:flex;justify-content:flex-start;align-items:center;gap:10px;margin-top:14px;}

.bla-profile-logo-row-bottom{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,0.06);}

/* Profile completeness nudge banner (shows across portal pages when attendee profile isn't complete) */
.bla-profile-nudge{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:14px 0 14px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(226,232,240,.95);
  background:linear-gradient(180deg, rgba(124,58,237,.10), rgba(124,58,237,.04));
  box-shadow:0 16px 34px rgba(2,6,23,.10);
  text-decoration:none;
  color:inherit;
}
.bla-profile-nudge:hover{ transform:translateY(-1px); box-shadow:0 18px 40px rgba(2,6,23,.12); }
.bla-profile-nudge-title{ font-weight:900; font-size:14px; letter-spacing:-.01em; color:#0f172a; }
.bla-profile-nudge-sub{ margin-top:2px; font-size:12px; color:#475569; }
.bla-profile-nudge-left{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.bla-profile-nudge-right{ display:flex; align-items:flex-end; gap:12px; }
.bla-profile-nudge-pct{ font-weight:900; font-size:16px; color:#4c1d95; }
.bla-profile-nudge-bar{ width:120px; height:8px; border-radius:999px; background:rgba(15,23,42,.10); overflow:hidden; }
.bla-profile-nudge-bar span{ display:block; height:100%; border-radius:999px; background:linear-gradient(90deg, rgba(124,58,237,1), rgba(168,85,247,1)); }
.bla-profile-nudge-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(124,58,237,.25);
  background:rgba(255,255,255,.65);
  font-weight:800;
  font-size:12px;
  color:#4c1d95;
}
.bla-profile-nudge:hover .bla-profile-nudge-cta{ background:rgba(255,255,255,.85); }
@media (max-width: 640px){
  .bla-profile-nudge{ flex-direction:column; align-items:flex-start; }
  .bla-profile-nudge-right{ width:100%; justify-content:space-between; }
  .bla-profile-nudge-bar{ width:100%; }
}

/* Profile completeness card (top of My profile) */
.bla-profile-completion{ margin-bottom:14px; }
.bla-profile-completion-row{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.bla-profile-completion-title{ font-size:15px; font-weight:900; color:#0f172a; }
.bla-profile-completion-sub{ margin-top:4px; font-size:12px; color:#475569; }
.bla-profile-completion-pct{ font-weight:900; font-size:18px; color:#4c1d95; }
.bla-profile-completion-bar{ margin-top:10px; height:10px; border-radius:999px; background:rgba(15,23,42,.10); overflow:hidden; }
.bla-profile-completion-bar span{ display:block; height:100%; border-radius:999px; background:linear-gradient(90deg, rgba(124,58,237,1), rgba(168,85,247,1)); }
.bla-profile-completion-steps{ margin-top:12px; padding-top:12px; border-top:1px solid rgba(226,232,240,.9); }
.bla-profile-completion-steps .lbl{ font-weight:800; font-size:12px; color:#0f172a; margin-bottom:6px; }
.bla-profile-completion-steps ul{ margin:0; padding-left:18px; color:#334155; }
.bla-profile-completion-steps li{ margin:4px 0; font-size:12px; }
.bla-profile-completion-tip{ margin-top:10px; font-size:12px; color:#475569; }


/* Attendee CV (vendor view) + chips */

.bla-chip-grid{ display:flex; flex-wrap:wrap; gap:8px; }
.bla-chip{
  display:inline-flex; align-items:center;
  padding:6px 10px;
  border:1px solid rgba(122,63,255,.18);
  border-radius:999px;
  background: rgba(122,63,255,.06);
  font-size:12px;
  line-height:1;
}
.bla-chip--muted{ background:#f4f4f6; border-color:#e7e7ec; color:#666; }
.bla-chip--status{ background: rgba(16,185,129,.10); border-color: rgba(16,185,129,.18); }

.bla-attendee-cv{ overflow:hidden; }
.bla-attendee-cv__header{
  display:grid;
  grid-template-columns: 110px 1fr 140px;
  gap:18px;
  align-items:center;
}
.bla-attendee-cv__photo img{
  width:110px; height:110px; border-radius:18px; object-fit:cover;
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
}
.bla-attendee-cv__companylogo{ display:flex; justify-content:flex-end; }
.bla-attendee-cv__companylogo img{
  max-width:140px; max-height:70px; object-fit:contain;
  filter: drop-shadow(0 8px 14px rgba(0,0,0,.08));
}
.bla-attendee-cv__name{ margin:0; font-size:24px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.bla-attendee-cv__subtitle{ margin-top:4px; color:#666; }
.bla-attendee-cv__links{ margin-top:8px; display:flex; gap:12px; flex-wrap:wrap; }
.bla-attendee-cv__chips{ margin-top:10px; }

/* Vendor-facing attendee profile layout upgrades */
.bla-attendee-cv__topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.bla-attendee-cv__topbar-right{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.bla-attendee-cv__layout{
  margin-top:16px;
  display:grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap:16px;
}
.bla-attendee-cv__main,
.bla-attendee-cv__side{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.bla-attendee-cv__card--side .bla-mini-grid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 900px){
  .bla-attendee-cv__layout{ grid-template-columns: 1fr; }
  .bla-attendee-cv__card--side .bla-mini-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .bla-attendee-cv__card--side .bla-mini-grid{ grid-template-columns: 1fr; }
}

.bla-attendee-cv__grid{
  margin-top:16px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:16px;
}
.bla-attendee-cv__card h3{ margin-top:0; font-size:16px; }
.bla-attendee-cv__card--full{ grid-column: 1 / -1; }

.bla-kv{ display:flex; flex-direction:column; gap:10px; }
.bla-kv__row{ display:flex; gap:10px; justify-content:space-between; }
.bla-kv__k{ font-weight:600; color:#333; }
.bla-kv__v{ color:#555; text-align:right; }

.bla-attendee-cv__projects{ display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:12px; }
.bla-attendee-cv__project{
  padding:12px;
  border:1px solid #eee;
  border-radius:14px;
  background:#fafafb;
}
.bla-attendee-cv__project-head{ display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.bla-attendee-cv__project h4{ margin:0; font-size:14px; }

@media (max-width: 720px){
  .bla-attendee-cv__header{ grid-template-columns: 84px 1fr; }
  .bla-attendee-cv__companylogo{ grid-column: 1 / -1; justify-content:flex-start; }
  .bla-attendee-cv__photo img{ width:84px; height:84px; border-radius:16px; }
  .bla-attendee-cv__grid{ grid-template-columns: 1fr; }
  .bla-kv__row{ flex-direction:column; align-items:flex-start; }
  .bla-kv__v{ text-align:left; }
}



/* Attendee CV profile polish */
.bla-attendee-cv__name{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.bla-pill{
  display:inline-flex;
  align-items:center;
  padding:3px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  line-height:1;
  background: rgba(124,58,237,.12);
  color: #5b21b6;
  border: 1px solid rgba(124,58,237,.25);
}
.bla-pill--speaker{
  background: rgba(99,102,241,.12);
  color:#3730a3;
  border-color: rgba(99,102,241,.25);
}

/* Liked vendors mini grid */
.bla-mini-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
}
.bla-mini-vendor{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  background: #fff;
  text-decoration:none;
  color: inherit;
  transition: transform .15s ease, box-shadow .15s ease;
}
.bla-mini-vendor:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
}
.bla-mini-vendor__logo{
  width:40px;
  height:40px;
  border-radius:10px;
  overflow:hidden;
  background:#f3f4f6;
  flex:0 0 40px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.bla-mini-vendor__logo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.bla-mini-vendor__logo--empty{
  background: linear-gradient(135deg, rgba(99,102,241,.10), rgba(124,58,237,.10));
}
.bla-mini-vendor__name{
  font-weight:700;
  font-size:14px;
  line-height:1.2;
}

/* Booked session summary */
.bla-session-summary__title{
  font-weight:800;
  font-size:15px;
  margin-bottom:6px;
}
.bla-session-summary__meta{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

/* Responsive tweaks */
@media (max-width: 900px){
  .bla-mini-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .bla-mini-grid{ grid-template-columns: 1fr; }
  .bla-attendee-cv__header{ grid-template-columns: 88px 1fr; }
  .bla-attendee-cv__companylogo{ display:none; }
  .bla-attendee-cv__photo img{ width:88px; height:88px; border-radius:16px; }
}



/* Pagination (vendors - attendees directory) */
.bla-pagination{margin-top:18px;display:flex;justify-content:center;}
.bla-pagination ul{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
.bla-pagination li{margin:0;padding:0;}
.bla-pagination a,
.bla-pagination span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  min-height:40px;
  padding:8px 12px;
  border-radius:12px;
  border:1px solid var(--bla-border, #e7e7ef);
  background:#fff;
  color:inherit;
  text-decoration:none;
}
.bla-pagination span.current{
  background:rgba(99,102,241,.12);
  border-color:rgba(99,102,241,.25);
  font-weight:700;
}
.bla-small{font-size:12px;line-height:1.4;}


/* v0.8.83 - Cleaner vendor view for incomplete attendee profiles */
.bla-callout{
  border-radius: 16px;
  padding: 12px 14px;
  border: 1px solid #e7e7ef;
  background: #fff;
  box-shadow: 0 8px 24px rgba(20,20,60,.06);
}
.bla-callout--info{
  border-color: rgba(124,58,237,0.18);
  background: rgba(124,58,237,0.06);
}
.bla-callout strong{ display:block; margin-bottom:2px; }
.bla-emptytext{ opacity:.92; }
.bla-kv__v.bla-empty{ color:#8b8b95; font-style: italic; }


.bla-attendees-toolbar__row{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}
.bla-attendees-toolbar__right{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}


/* Authorising (magic link sent) */
.bla-authorising-row{
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.bla-spinner{
  width:26px;
  height:26px;
  border-radius:50%;
  border:3px solid rgba(0,0,0,0.12);
  border-top-color: rgba(0,0,0,0.55);
  animation: blaSpin 0.9s linear infinite;
  margin-top:4px;
  flex:0 0 auto;
}
@keyframes blaSpin{
  to{ transform: rotate(360deg); }
}
@media (max-width: 520px){
  .bla-authorising-row{ gap:12px; }
  .bla-spinner{ width:24px; height:24px; }
}


/* Vendor brochures / file lists */
.bla-file-list{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.bla-file-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.bla-file-item a{word-break:break-word;}
.bla-file-item input[type="checkbox"]{margin-right:6px;}



/* Resource cards (vendor brochures) */
.bla-resource-list{display:flex;flex-direction:column;gap:12px;margin-top:10px;}
.bla-resource-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:rgba(255,255,255,.72);backdrop-filter:blur(10px);}
.bla-resource-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:rgba(124,58,237,.12);font-size:18px;flex:0 0 auto;}
.bla-resource-meta{flex:1;min-width:0;}
.bla-resource-name{font-weight:800;color:#0f172a;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bla-resource-sub{font-size:12px;margin-top:2px;}
.bla-resource-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.bla-resource-actions .bla-btn.small{padding:8px 12px;border-radius:14px;font-size:12px;line-height:1;}
@media (max-width: 640px){
  .bla-resource-item{align-items:flex-start;}
  .bla-resource-actions{width:100%;justify-content:flex-start;}
  .bla-resource-name{white-space:normal;}
}

/* Resource editor (vendor self profile) */
.bla-resource-editor{display:flex;flex-direction:column;gap:10px;margin:10px 0;}
.bla-resource-edit-row{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:rgba(255,255,255,.65);backdrop-filter:blur(10px);}
.bla-resource-edit-main{flex:1;min-width:0;}
.bla-resource-edit-main .bla-input{width:100%;}
.bla-resource-edit-links{margin-top:6px;font-size:12px;display:flex;align-items:center;gap:8px;}
.bla-resource-edit-links a{font-weight:700;}
.bla-resource-remove{white-space:nowrap;font-size:12px;margin-top:8px;}

/* Dark mode overrides */
body.bla-dark .bla-resource-item,
body.bla-dark .bla-resource-edit-row{background:rgba(15,23,42,.65);border-color:rgba(148,163,184,.18);}
body.bla-dark .bla-resource-name{color:#f8fafc;}
body.bla-dark .bla-resource-icon{background:rgba(124,58,237,.22);}
body.bla-dark .bla-resource-edit-links a{color:#e9d5ff;}


/* Areas to explore (grouped display) */
.bla-tech-groups-view{ display:flex; flex-direction:column; gap:14px; }
.bla-tech-group-view__title{ font-weight:800; color:#0f172a; font-size:14px; margin-bottom:8px; }


/* Vendor profile hero + layout */
.bla-vendor-hero{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(15,23,42,0.08);
  background: radial-gradient(1200px 520px at 20% 0%, rgba(124,58,237,0.18), transparent 60%),
              radial-gradient(900px 420px at 80% 20%, rgba(59,130,246,0.12), transparent 55%),
              #fff;
  background-size:cover;
  background-position:center;
  margin-bottom:10px;
}
.bla-vendor-hero-overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0.92) 70%, rgba(255,255,255,1) 100%);
}
.bla-vendor-hero-inner{ position:relative; padding:18px 18px 16px; }
.bla-back-link{
  display:inline-flex; align-items:center;
  gap:8px;
  font-weight:700;
  text-decoration:none;
  color:#334155;
  background:rgba(255,255,255,0.85);
  border:1px solid rgba(15,23,42,0.10);
  padding:8px 12px;
  border-radius:999px;
}
.bla-back-link:hover{background:#fff}
.bla-vendor-hero-main{
  margin-top:14px;
  display:flex;
  gap:14px;
  align-items:flex-end;
  justify-content:space-between;
  flex-wrap:wrap;
}
.bla-vendor-hero-left{ display:flex; gap:14px; align-items:center; min-width: 260px; }
.bla-vendor-hero-logo-wrap{
  width:74px; height:74px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(15,23,42,0.10);
  box-shadow:0 10px 28px rgba(15,23,42,0.08);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
}
.bla-vendor-hero-logo{ width:100%; height:100%; object-fit:contain; }
.bla-vendor-hero-title{ margin:0; font-size:26px; letter-spacing:-0.02em; color:#0f172a; }
.bla-vendor-hero-tagline{ margin-top:4px; font-weight:600; color:#334155; }
.bla-vendor-hero-site{ margin-top:6px; }
.bla-vendor-hero-site a{ color:#4f46e5; font-weight:700; text-decoration:none; }
.bla-vendor-hero-site a:hover{ text-decoration:underline; }
.bla-vendor-hero-actions{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }

.bla-vendor-profile-grid{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap:14px;
}
.bla-vendor-main, .bla-vendor-side{ display:flex; flex-direction:column; gap:20px; }

.bla-wishlist-callout{
  border:1px solid rgba(124,58,237,0.20);
  background: radial-gradient(900px 320px at 20% 0%, rgba(124,58,237,0.12), transparent 55%),
              #fff;
}

.bla-banner-preview{
  width:100%;
  max-height:160px;
  object-fit:cover;
  border-radius:14px;
  border:1px solid rgba(15,23,42,0.10);
  margin-bottom:10px;
}

/* Wish list modal */
#bla-wishlist-modal textarea{
  width:100%;
  border:1px solid rgba(15,23,42,0.12);
  border-radius:14px;
  padding:10px 12px;
  font-size:14px;
  line-height:1.45;
  resize:vertical;
}
#bla-wishlist-modal textarea:focus{
  outline:none;
  box-shadow:0 0 0 3px rgba(124,58,237,0.18);
  border-color: rgba(124,58,237,0.45);
}

@media (max-width: 860px){
  .bla-vendor-profile-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 520px){
  .bla-vendor-hero-inner{ padding:16px 14px 14px; }
  .bla-vendor-hero-title{ font-size:22px; }
  .bla-vendor-hero-logo-wrap{ width:64px; height:64px; border-radius:16px; }
  .bla-vendor-hero-main{ align-items:flex-start; }
}

/* Theme toggle (Dark mode) */
.bla-theme-toggle{
  appearance:none;
  border:1px solid #e7eaf3;
  background:#ffffff;
  color:#0f172a;
  border-radius:12px;
  padding:9px 12px;
  font-size:14px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  transition: background .15s ease, color .15s ease, transform .15s ease, border-color .15s ease;
}
.bla-theme-toggle .ico{ width:16px; height:16px; display:inline-flex; align-items:center; justify-content:center; opacity:.85; }
.bla-theme-toggle .ico svg{ width:16px; height:16px; display:block; }
.bla-theme-toggle:hover{ background:#f6f8fc; transform:translateY(-1px); }

/* Dark mode palette (scoped to portal pages via body.bla-dark)
   Goal: consistent surfaces + readable text (no blinding white cards). */
body.bla-dark{
  color-scheme: dark;
  background:
    radial-gradient(1200px 600px at 20% 0%, rgba(124,58,237,.18), transparent 55%),
    radial-gradient(1000px 600px at 85% 15%, rgba(59,130,246,.10), transparent 60%),
    #0b0d12;
}
body.bla-dark .bla-portal{ color:#e5e7eb; }
body.bla-dark .bla-muted{ color:#94a3b8; }
body.bla-dark a{ color:#7dd3fc; }
body.bla-dark a:hover{ color:#bae6fd; }

/* Core surfaces */
body.bla-dark .bla-card{
  background:#0f172a;
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 12px 30px rgba(0,0,0,.45);
}
body.bla-dark .bla-card.bla-live{
  border-color: rgba(167,139,250,.28);
  background: linear-gradient(135deg, rgba(124,58,237,.16), rgba(15,23,42,1) 60%);
  box-shadow: 0 18px 48px rgba(124,58,237,.14), 0 12px 30px rgba(0,0,0,.45);
}
body.bla-dark .bla-card.bla-upnext{
  background:#0f172a;
  border-color: rgba(255,255,255,.08);
}

/* Dashboard empty states */
body.bla-dark .bla-empty{border-color:rgba(255,255,255,.18);background:rgba(124,58,237,.10);} 
body.bla-dark .bla-empty-title{color:#f1f5f9;}

/* Navigation */
body.bla-dark .bla-nav{
  background:#0f172a;
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 12px 30px rgba(0,0,0,.45);
}
body.bla-dark .bla-tab{ color:#e5e7eb; }
body.bla-dark .bla-tab:hover{ background: rgba(255,255,255,.06); }
body.bla-dark .bla-tab.is-active{
  background: rgba(124,58,237,.18);
  border-color: rgba(167,139,250,.28);
}
body.bla-dark .bla-tab.is-active:after{ background: rgba(167,139,250,.75); }

/* (Removed) nav glow attention state - replaced by badge */

/* Ensure headings inside the portal stay readable in dark mode (themes may override heading colours) */
body.bla-dark .bla-portal h1,
body.bla-dark .bla-portal h2,
body.bla-dark .bla-portal h3,
body.bla-dark .bla-portal h4{
  color:#f1f5f9;
}

/* Live + Up next card text */
body.bla-dark #bla-agenda-now-title,
body.bla-dark #bla-agenda-next-title{ color:#f1f5f9; }
body.bla-dark #bla-agenda-now-details,
body.bla-dark #bla-agenda-next-details{ color:#cbd5e1; }

/* Buttons (soft) */
body.bla-dark .bla-btn.soft{
  background: rgba(255,255,255,.06);
  color:#e5e7eb;
  border:1px solid rgba(255,255,255,.10);
}
body.bla-dark .bla-btn.soft:hover{ background: rgba(255,255,255,.10); }
body.bla-dark .bla-btn.soft:active{ background: rgba(255,255,255,.08); }

/* Welcome + stats */
body.bla-dark .bla-welcome{
  border-color: rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow: 0 12px 30px rgba(0,0,0,.45);
}
body.bla-dark .bla-welcome .ttl{ color:#f1f5f9; }
body.bla-dark .bla-welcome .sub{ color:#94a3b8; }
body.bla-dark .bla-welcome-photo{
  border-color: rgba(167,139,250,.35);
  box-shadow:0 0 0 6px rgba(167,139,250,.10);
}
body.bla-dark .bla-stat{
  border-color: rgba(255,255,255,.10);
  box-shadow: 0 12px 30px rgba(0,0,0,.45);
}
body.bla-dark .bla-stat .v{ color:#f1f5f9; }
body.bla-dark .bla-stat.today{ background: rgba(59,130,246,.10); }
body.bla-dark .bla-stat.completed{ background: rgba(34,197,94,.10); }
body.bla-dark .bla-stat.remaining{ background: rgba(148,163,184,.10); }

/* Profile completion banner */
body.bla-dark .bla-profile-nudge{
  border-color: rgba(167,139,250,.22);
  background: linear-gradient(180deg, rgba(124,58,237,.16), rgba(15,23,42,1));
  box-shadow: 0 12px 30px rgba(0,0,0,.45);
}
body.bla-dark .bla-profile-nudge-title{ color:#f1f5f9; }
body.bla-dark .bla-profile-nudge-sub{ color:#cbd5e1; }
body.bla-dark .bla-profile-nudge-pct{ color:#e9d5ff; }
body.bla-dark .bla-profile-nudge-cta{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.10);
  color:#e5e7eb;
}
body.bla-dark .bla-profile-nudge-cta:hover{ background: rgba(255,255,255,.10); }

/* Lists + rows that were hardcoded white */
body.bla-dark .bla-list-row,
body.bla-dark .bla-meeting-row{
  background:#0b1220;
  border-color: rgba(255,255,255,.08);
}
body.bla-dark .bla-list-side{ color:#94a3b8; }

/* Mini vendor tiles (e.g. wishlist/liked vendors) */
body.bla-dark .bla-mini-vendor{
  background:#0b1220;
  border-color: rgba(255,255,255,.08);
}
body.bla-dark .bla-mini-vendor:hover{ box-shadow: 0 12px 30px rgba(0,0,0,.45); }
body.bla-dark .bla-mini-vendor__logo{ background: rgba(255,255,255,.06); }

/* Inputs */
body.bla-dark .bla-input,
body.bla-dark .bla-login input[type="text"],
body.bla-dark .bla-login input[type="password"]{
  background:#0b1220;
  border-color: rgba(255,255,255,.10);
  color:#e5e7eb;
}
body.bla-dark .bla-login label{ color:#e5e7eb; }

/* Footer */
body.bla-dark .bla-footer{
  border-color: rgba(255,255,255,.08);
  background: linear-gradient(180deg, #0f172a, #0b1220);
  box-shadow: 0 12px 30px rgba(0,0,0,.45);
}
body.bla-dark .bla-footer a{ color:#cbd5e1; }
body.bla-dark .bla-footer a:hover{ color:#ffffff; }
body.bla-dark .bla-footer-logout,
body.bla-dark .bla-theme-toggle{
  background:#0b1220;
  border-color: rgba(255,255,255,.10);
  color:#e5e7eb;
}
body.bla-dark .bla-footer-logout:hover,
body.bla-dark .bla-theme-toggle:hover{ background: rgba(255,255,255,.06); }

body.bla-dark .bla-hr{ border-top-color: rgba(255,255,255,.10); }
body.bla-dark .bla-meeting{ border-bottom-color: rgba(255,255,255,.08); }

/* Dashboard previews (meetings + vendor carousel) */
body.bla-dark .bla-meeting-item{ background:#0b1220; border-color: rgba(255,255,255,.10); }
body.bla-dark .bla-meeting-logo{ background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.10); }
body.bla-dark .bla-meeting-item .tt{ color:#f1f5f9; }
body.bla-dark .bla-meeting-item .sub{ color:#cbd5e1; }
body.bla-dark .bla-meeting-item .time{ background: rgba(167,139,250,.12); color:#e9d5ff; }

body.bla-dark .bla-carousel-item{ background:#0b1220; border-color: rgba(255,255,255,.10); box-shadow: 0 12px 30px rgba(0,0,0,.45); }
body.bla-dark .bla-carousel-logo{ background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.10); }
body.bla-dark .bla-carousel-hit{ color:#e5e7eb; }
body.bla-dark .bla-carousel-link{ color:#a5b4fc; }
body.bla-dark .bla-carousel-link:hover{ color:#ffffff; }

/* Live + up next text contrast */
body.bla-dark .bla-live h3,
body.bla-dark .bla-upnext h3{ color:#f1f5f9; }
body.bla-dark .bla-live-desc,
body.bla-dark #bla-agenda-now-details,
body.bla-dark #bla-agenda-next-details{ color:#cbd5e1; }

body.bla-dark .bla-meeting{ background:#0b1220; }



/* Vendor dashboard sub-stats (interested + liked) */
.bla-substats{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
@media (max-width: 820px){
  .bla-substats{ justify-content:flex-start; }
}

/* Tight avatar grid for dashboard previews */
.bla-avatar-grid-tight{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.bla-avatar-grid-tight .bla-avatar{
  width:34px;
  height:34px;
  border-radius:999px;
  overflow:hidden;
  border:1px solid rgba(122,63,255,.18);
  display:inline-flex;
}
.bla-avatar-grid-tight .bla-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Two actions in tile footer */
.bla-tile-footer.bla-two-actions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}
.bla-pill.mini{
  margin-left:6px;
  padding:2px 8px;
  font-size:11px;
  line-height:1.2;
}




/* Vendor profile v2 (modern layout) */
.bla-vendor-profile{ --bla-vendor-accent:#7c3aed; }
.bla-vendor-profile .bla-ico{ display:inline-flex; width:20px; justify-content:center; margin-right:8px; opacity:.9; }

.bla-vendor-hero2{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.08);
  background: radial-gradient(1200px 500px at 20% 10%, rgba(124,58,237,.18), rgba(255,255,255,0) 55%),
              radial-gradient(900px 500px at 90% 0%, rgba(56,189,248,.14), rgba(255,255,255,0) 55%),
              #fff;
  background-size:cover;
  background-position:center;
  margin-bottom:16px;
}
.bla-vendor-hero2-overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.96));
}
body.bla-dark .bla-vendor-hero2{
  border-color: rgba(255,255,255,.10);
  background: radial-gradient(1200px 500px at 20% 10%, rgba(124,58,237,.20), rgba(15,23,42,0) 55%),
              radial-gradient(900px 500px at 90% 0%, rgba(56,189,248,.16), rgba(15,23,42,0) 55%),
              #0b1220;
}
body.bla-dark .bla-vendor-hero2-overlay{
  background: linear-gradient(180deg, rgba(11,18,32,.70), rgba(11,18,32,.92));
}

.bla-vendor-hero2-inner{ position:relative; padding:16px; }
.bla-vendor-hero2-grid{ display:flex; gap:18px; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; }
.bla-vendor-hero2-brand{ display:flex; gap:14px; align-items:flex-start; min-width:260px; flex: 1 1 520px; }
.bla-vendor-logo{
  width:80px; height:80px; border-radius:18px; overflow:hidden;
  background:#fff; border:1px solid rgba(15,23,42,.10);
  box-shadow: 0 12px 26px rgba(0,0,0,.10);
  display:flex; align-items:center; justify-content:center;
}
.bla-vendor-logo img{ width:100%; height:100%; object-fit:cover; }
body.bla-dark .bla-vendor-logo{ background:#0f172a; border-color: rgba(255,255,255,.10); }

.bla-vendor-name{ font-size:28px; line-height:1.1; margin:0 0 4px; }
.bla-vendor-tagline{ margin:0 0 8px; font-weight:600; opacity:.9; }
.bla-vendor-summary{ margin:0 0 12px; max-width:68ch; }
.bla-vendor-site a{ font-size:14px; text-decoration:none; }
.bla-vendor-site a:hover{ text-decoration:underline; }
.bla-vendor-hero2-cta{
  flex: 0 1 360px;
  display:flex; flex-direction:column; gap:10px;
  align-items:stretch;
}
.bla-wishlist-nudge{ font-size:12px; }

.bla-btn.primary{ background: var(--bla-vendor-accent); border-color: rgba(0,0,0,0); color:#fff; }
body.bla-dark .bla-btn.primary{ color:#fff; }

.bla-vendor-layout{ display:grid; grid-template-columns: 2fr 1fr; gap:20px; }
.bla-vendor-main2{ display:flex; flex-direction:column; gap:20px; }
@media (max-width: 980px){
  .bla-vendor-layout{ grid-template-columns: 1fr; }
  .bla-vendor-hero2-grid{ flex-direction:column; }
  .bla-vendor-hero2-cta{ width:100%; flex: 1 1 auto; }
}

@media (max-width: 640px){
  .bla-vendor-hero2-inner{ padding:14px; }
  .bla-vendor-hero2-brand{ min-width:0; flex:1 1 auto; align-items:center; text-align:center; flex-direction:column; }
  .bla-vendor-name{ font-size:22px; }
  .bla-vendor-tagline{ margin-bottom:10px; }
  .bla-vendor-logo{ width:84px; height:84px; border-radius:22px; }
  .bla-vendor-hero2-cta .bla-btn{ width:100%; }
}

.bla-section-title{
  margin:0 0 12px;
  font-size:16px;
  display:flex; align-items:center;
}
.bla-vendor-card{ padding:18px; }
.bla-bullets{ margin:8px 0 0 18px; }
.bla-bullets li{ margin:6px 0; }

.bla-accordion{ padding:0; }
.bla-accordion-summary{
  list-style:none;
  cursor:pointer;
  padding:16px;
  font-weight:700;
  display:flex; align-items:center;
}
.bla-accordion[open] .bla-accordion-summary{ border-bottom:1px solid rgba(15,23,42,.08); }
body.bla-dark .bla-accordion[open] .bla-accordion-summary{ border-bottom-color: rgba(255,255,255,.10); }
.bla-accordion .bla-content, .bla-accordion .bla-bullets, .bla-accordion .bla-empty{ padding:14px 16px 16px; }

.bla-empty{ padding:10px 0 0; }

.bla-vendor-bottom-cta{ border-style:dashed; border-color: rgba(124,58,237,.35); background: rgba(124,58,237,.06); }
body.bla-dark .bla-vendor-bottom-cta{ background: rgba(124,58,237,.12); border-color: rgba(167,139,250,.35); }
.bla-vendor-bottom-cta-inner{ display:flex; gap:14px; align-items:center; justify-content:space-between; flex-wrap:wrap; }

.bla-resource-grid{ display:flex; flex-direction:column; gap:10px; }
.bla-resource-card{
  display:grid;
  grid-template-columns: 48px 1fr auto;
  gap:12px;
  align-items:center;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.7);
}
body.bla-dark .bla-resource-card{
  background: rgba(15,23,42,.7);
  border-color: rgba(255,255,255,.10);
}
.bla-resource-icon{
  width:48px; height:48px;
  border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  font-weight:900;
  background: rgba(124,58,237,.12);
  color: var(--bla-vendor-accent);
  border:1px solid rgba(124,58,237,.18);
}
body.bla-dark .bla-resource-icon{
  background: rgba(124,58,237,.18);
  border-color: rgba(167,139,250,.22);
}
.bla-resource-meta{ min-width:0; }
.bla-resource-name{
  font-weight:700;
  line-height:1.25;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.bla-resource-sub{
  margin-top:2px;
  font-size:12px;
  opacity:.75;
}
.bla-resource-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.bla-resource-actions .bla-btn{ padding:8px 10px; font-size:12px; }
@media (max-width: 520px){
  .bla-resource-card{ grid-template-columns: 48px 1fr; }
  .bla-resource-actions{ grid-column: 1 / -1; justify-content:flex-start; }
}

.bla-kv{ display:flex; flex-direction:column; gap:10px; }
.bla-kv-row{ display:flex; justify-content:space-between; gap:10px; }
.bla-k{ font-weight:700; font-size:12px; opacity:.85; }
.bla-v{ text-align:right; overflow-wrap:anywhere; }

.bla-divider{ height:1px; background: rgba(15,23,42,.08); margin:14px 0; }
body.bla-dark .bla-divider{ background: rgba(255,255,255,.10); }
.bla-subtitle{ margin:0 0 8px; font-size:14px; opacity:.92; }

.bla-stats-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:10px; margin-bottom:10px; }
.bla-stat{ border:1px solid rgba(15,23,42,.10); border-radius:14px; padding:12px; background: rgba(255,255,255,.65); text-align:center; }
body.bla-dark .bla-stat{ border-color: rgba(255,255,255,.10); background: rgba(15,23,42,.65); }
.bla-stat-num{ font-size:22px; font-weight:900; }
.bla-stat-label{ font-size:11px; opacity:.75; }

.bla-vendor-float-cta{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:14px;
  z-index:999;
  display:none;
  gap:10px;
  padding:10px;
  border-radius:999px;
  background: rgba(255,255,255,.92);
  border:1px solid rgba(15,23,42,.10);
  box-shadow: 0 18px 46px rgba(15,23,42,.20);
}
body.bla-dark .bla-vendor-float-cta{
  background: rgba(15,23,42,.92);
  border-color: rgba(255,255,255,.10);
  box-shadow: 0 18px 46px rgba(0,0,0,.55);
}
@media (max-width: 820px){
  .bla-vendor-float-cta{ display:flex; }
  .bla-portal{ padding-bottom:90px; }
}

/* Dark mode: breadcrumb + agenda list (avoid white blocks on dark pages) */
body.bla-dark .bla-breadcrumb{
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.10);
}
body.bla-dark .bla-breadcrumb a{ color:#7dd3fc; }
body.bla-dark .bla-breadcrumb a:hover{ color:#bae6fd; }
body.bla-dark .bla-breadcrumb .sep{ color:#94a3b8; }
body.bla-dark .bla-breadcrumb .cur{ color:#f1f5f9; }

body.bla-dark .bla-agenda-row{
  background:#0b1220;
  border-color: rgba(255,255,255,.08);
}
body.bla-dark .bla-agenda-time{ color:#e5e7eb; }
body.bla-dark .bla-agenda-title{ color:#f1f5f9; }
body.bla-dark .bla-agenda-meta{ color:#94a3b8; }
body.bla-dark .bla-agenda-desc{ color:#cbd5e1; }

body.bla-dark .bla-speaker-avatar{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 10px 24px rgba(0,0,0,.45);
}
body.bla-dark .bla-speaker-avatar.more{
  background: rgba(255,255,255,.06);
  color:#e5e7eb;
  border-color: rgba(255,255,255,.14);
}
body.bla-dark .bla-speaker-modal-name{ color:#f1f5f9; }
body.bla-dark .bla-speaker-modal .bla-speaker-avatar{
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 18px 44px rgba(0,0,0,.55);
}


/* Session booking buttons - force portal palette (theme-safe) */
.bla-portal .bla-btn.bla-session-book.primary{
  background:#2563eb !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 10px 22px rgba(37,99,235,.20) !important;
}
.bla-portal .bla-btn.bla-session-book.primary:hover{ background:#1d4ed8 !important; }

.bla-portal .bla-btn.bla-session-book.success{
  background:#16a34a !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 10px 22px rgba(22,163,74,.18) !important;
}
.bla-portal .bla-btn.bla-session-book.success:hover{ background:#15803d !important; }

.bla-portal .bla-btn.bla-session-book.soft{
  background:#eef2f7 !important;
  color:#0f172a !important;
  border:1px solid rgba(226,232,240,.95) !important;
  box-shadow:none !important;
}
body.bla-dark .bla-portal .bla-btn.bla-session-book.soft{
  background: rgba(255,255,255,.06) !important;
  color:#e5e7eb !important;
  border:1px solid rgba(255,255,255,.10) !important;
}
.bla-portal .bla-btn.bla-session-book:disabled{
  opacity:.75 !important;
  cursor:not-allowed !important;
}


/* Login button - force portal primary (theme-safe) */
.bla-portal button.bla-btn.primary,
.bla-portal input[type="submit"].bla-btn.primary,
.bla-portal .bla-magic-login button.bla-btn.primary{
  background:#2563eb !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 10px 22px rgba(37,99,235,.20) !important;
}
.bla-portal button.bla-btn.primary:hover,
.bla-portal input[type="submit"].bla-btn.primary:hover,
.bla-portal .bla-magic-login button.bla-btn.primary:hover{
  background:#1d4ed8 !important;
}


/* Modal header actions (LinkedIn icon) */
.bla-portal .bla-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-right:28px; /* leave space for close button */
}
.bla-portal .bla-modal-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.bla-portal .bla-icon-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background:rgba(37,99,235,.10);
  color:#2563eb;
  text-decoration:none;
}
.bla-portal .bla-icon-link:hover{
  background:rgba(37,99,235,.16);
}
body.bla-dark .bla-portal .bla-icon-link{
  background:rgba(37,99,235,.18);
  color:#93c5fd;
}


/* Session card spacing tweaks (no attendee avatars / tighter actions) */
.bla-portal .bla-session-card .bla-vendor-actions{
  margin-top:8px !important;
}




/* Login layout improvements */
.bla-portal .bla-login-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.bla-portal .bla-login-note{
  margin-top:10px;
}
.bla-portal .bla-login-actions{
  flex-direction: column;
  align-items: stretch;
}
.bla-portal .bla-login-actions .bla-btn.primary{
  min-width: 0;
  width: 100%;
}
.bla-portal .bla-login-switch{
  display:inline-flex;
  justify-content:center;
  padding:10px 12px;
  border-radius:12px;
  text-decoration:none;
  color:#475569;
  background:rgba(148,163,184,.18);
  font-weight:600;
}
.bla-portal .bla-login-switch:hover{
  background:rgba(148,163,184,.26);
  text-decoration:none;
}
.bla-portal .bla-login-help{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:12px;
  font-size:14px;
  color:#64748b;
}
.bla-portal .bla-login-help .bla-dot{
  opacity:.6;
}
body.bla-dark .bla-portal .bla-login-switch{
  color:rgba(226,232,240,.92);
  background:rgba(148,163,184,.10);
}
body.bla-dark .bla-portal .bla-login-switch:hover{
  background:rgba(148,163,184,.16);
}
body.bla-dark .bla-portal .bla-login-help{
  color:rgba(203,213,225,.88);
}

.bla-portal .bla-login{
  max-width: 720px;
  margin: 0 auto;
}
.bla-portal .bla-login .bla-magic-login{
  margin-top: 10px;
}
.bla-portal .bla-login-actions{
  display:flex;
  gap:12px;
  align-items:center;
  margin-top: 12px;
}
.bla-portal .bla-login-actions .bla-btn.primary{
  flex: 1 1 auto;
  min-width: 260px;
}
.bla-portal .bla-login-actions .bla-login-toggle{
  flex: 0 0 auto;
  white-space: nowrap;
}
@media (max-width: 520px){
  .bla-portal .bla-login-actions{
    flex-direction: column;
    align-items: stretch;
  }
  .bla-portal .bla-login-actions .bla-login-toggle{
    text-align: center;
  }
}

/* Password form styling */
.bla-portal .bla-pw-wrap #loginform{
  margin: 0;
}
.bla-portal .bla-pw-wrap #loginform p{
  margin: 0 0 12px 0;
}
.bla-portal .bla-pw-wrap #loginform label{
  display:block;
  font-weight:600;
  margin-bottom:6px;
}
.bla-portal .bla-pw-wrap #loginform input[type="text"],
.bla-portal .bla-pw-wrap #loginform input[type="password"]{
  width:100%;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  background:#fff;
}
body.bla-dark .bla-portal .bla-pw-wrap #loginform input[type="text"],
body.bla-dark .bla-portal .bla-pw-wrap #loginform input[type="password"]{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.14);
  color: #fff;
}
.bla-portal .bla-pw-wrap #loginform input[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 16px;
  border-radius: 12px;
  border: 0;
  cursor: pointer;
}


/* Login welcoming copy */
.bla-portal .bla-login h2{
  font-size: 34px;
  line-height: 1.15;
  margin-bottom: 10px;
}
.bla-portal .bla-login-intro{
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 18px 0;
  color: rgba(17,24,39,.78);
}
body.bla-dark .bla-portal .bla-login-intro{
  color: rgba(255,255,255,.75);
}
.bla-portal .bla-login .bla-card{
  border-radius: 22px;
}
.bla-portal .bla-login-actions .bla-btn.primary{
  border-radius: 14px;
}
.bla-portal .bla-login-actions .bla-login-toggle{
  border-radius: 14px;
}


/* Login alternate option row */
.bla-portal .bla-login-alt{
  display:flex;
  justify-content:flex-start;
}
.bla-portal .bla-login-alt .bla-btn{
  border-radius: 14px;
}


/* Dark mode - profile accordions (details.bla-acc) */
body.bla-dark .bla-acc{
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 14px 30px rgba(0,0,0,.45);
}
body.bla-dark .bla-acc summary{
  color: #f1f5f9;
}
body.bla-dark .bla-acc summary:after{
  color: rgba(226,232,240,.85);
}
body.bla-dark .bla-acc-body{
  border-top: 1px solid rgba(255,255,255,.08);
}


/* Dark mode - mini accordions (profile tech explore groups) */
body.bla-dark .bla-mini-acc{
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.12);
}
body.bla-dark .bla-mini-acc summary{
  color:#f1f5f9;
}
body.bla-dark .bla-mini-acc summary:after{
  color: rgba(226,232,240,.85);
  font-size:22px;
}
body.bla-dark .bla-mini-acc-body{
  border-top: 1px solid rgba(255,255,255,.08);
}

/* Dark mode - projects accordion (profile) */
body.bla-dark .bla-projects-accordion details{
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.12);
}
body.bla-dark .bla-projects-accordion summary{
  color:#f1f5f9;
}
body.bla-dark .bla-projects-accordion details[open] summary{
  background: rgba(99,102,241,.16);
}

body.bla-dark .bla-projects-accordion summary:after{ color: rgba(226,232,240,.85); }


/* Dark mode - selection pills (plain .bla-check) */
body.bla-dark .bla-check{
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.12);
  color:#e2e8f0;
}
body.bla-dark .bla-check:hover{
  border-color: rgba(167,139,250,.45);
}
body.bla-dark .bla-check.bla-on{
  background: rgba(124,58,237,.20);
  border-color: rgba(167,139,250,.45);
}

/* v0.10.1 - Agenda + Profile dark mode polish */

/* Speaker chips: improved dark mode readability */
body.bla-dark .bla-speaker-chip{
  background: rgba(15,23,42,.55);
  border-color: rgba(148,163,184,.22);
  color:#f1f5f9;
}
body.bla-dark .bla-speaker-chip.bla-vendor-chip img{background:rgba(255,255,255,.10)}
body.bla-dark .bla-speaker-chip:hover{ background: rgba(255,255,255,.06); }
body.bla-dark .bla-speaker-chip.more{ color:#cbd5e1; }

/* Agenda: make speaker images a touch smaller so the layout breathes */
.bla-agenda .bla-speaker-chip{ gap:10px; padding:8px 12px; font-size:14px; }
.bla-agenda .bla-speaker-chip img{ width:36px; height:36px; }
#bla-agenda-status .bla-speaker-chip{ gap:10px; padding:8px 12px; font-size:14px; }
#bla-agenda-status .bla-speaker-chip img{ width:36px; height:36px; }

/* Agenda: mobile optimisation */
@media (max-width: 640px){
  .bla-agenda-row{ padding:12px; gap:10px; }
  .bla-agenda-title{ font-size:17px; }
  .bla-agenda-desc{ font-size:13px; }
  .bla-agenda-speakers-row{ margin-top:6px; }
  .bla-agenda .bla-speaker-chip{ padding:7px 10px; gap:9px; font-size:13px; }
  .bla-agenda .bla-speaker-chip img{ width:32px; height:32px; }
  #bla-agenda-status .bla-speaker-chip{ padding:7px 10px; gap:9px; font-size:13px; }
  #bla-agenda-status .bla-speaker-chip img{ width:32px; height:32px; }

  /* When the agenda rows collapse to one column, the now-line dot should sit near the left edge */
  .bla-agenda-nowline .dot{ left:10px !important; }
}

/* My profile: dark mode fixes for leftover light-only colours */
body.bla-dark .bla-profile-hero-name,
body.bla-dark .bla-profile-sub,
body.bla-dark .bla-profile-completion-title,
body.bla-dark .bla-profile-completion-steps .lbl{
  color:#f1f5f9;
}
body.bla-dark .bla-profile-hero-meta,
body.bla-dark .bla-profile-help,
body.bla-dark .bla-profile-completion-sub,
body.bla-dark .bla-profile-completion-tip,
body.bla-dark .bla-profile-completion-steps ul{
  color:#cbd5e1;
}
body.bla-dark .bla-profile-section{ border-top-color: rgba(255,255,255,.10); }
body.bla-dark .bla-profile-hero-avatar,
body.bla-dark .bla-profile-company-logo{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.14);
}
body.bla-dark .bla-profile-meter{
  background: linear-gradient(180deg, rgba(99,102,241,.14) 0%, rgba(16,185,129,.10) 100%);
  border-color: rgba(167,139,250,.22);
}
body.bla-dark .bla-profile-meter-label{ color:#cbd5e1; }
body.bla-dark .bla-profile-meter-pct{ color:#e9d5ff; }
body.bla-dark .bla-profile-meter-bar{ background: rgba(255,255,255,.08); }
body.bla-dark .bla-profile-logo-row-bottom{ border-top-color: rgba(255,255,255,.10); }

body.bla-dark .bla-profile-completion-bar{ background: rgba(255,255,255,.10); }
body.bla-dark .bla-profile-completion-steps{ border-top-color: rgba(255,255,255,.10); }

/* My profile: form controls + labels (some fields are not using .bla-input consistently) */
body.bla-dark .bla-profile-label{ color:#cbd5e1; }
body.bla-dark .bla-profile input[type="text"],
body.bla-dark .bla-profile input[type="email"],
body.bla-dark .bla-profile input[type="url"],
body.bla-dark .bla-profile input[type="number"],
body.bla-dark .bla-profile textarea,
body.bla-dark .bla-profile select{
  background:#0b1220;
  border:1px solid rgba(255,255,255,.12);
  color:#e5e7eb;
}
body.bla-dark .bla-profile input::placeholder,
body.bla-dark .bla-profile textarea::placeholder{ color: rgba(148,163,184,.85); }
body.bla-dark .bla-profile input:focus,
body.bla-dark .bla-profile textarea:focus,
body.bla-dark .bla-profile select:focus{
  outline:none;
  border-color: rgba(167,139,250,.55);
  box-shadow: 0 0 0 4px rgba(124,58,237,.18);
}

/* File inputs look rough in dark mode (native control) */
body.bla-dark .bla-profile input[type="file"]{ color:#cbd5e1; }

/* Tag/interest pills inside profile sections */
body.bla-dark .bla-check--pill span{
  color:#e5e7eb;
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.14);
}
body.bla-dark .bla-check--pill span:hover{ background: rgba(255,255,255,.09); }
body.bla-dark .bla-check--pill input:checked + span{
  background: rgba(124,58,237,.22);
  border-color: rgba(167,139,250,.55);
  box-shadow: 0 0 0 4px rgba(124,58,237,.16);
}


/* Login page polish */
.bla-login-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.bla-theme-toggle{
  width:40px;
  height:40px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,0.10);
  background: rgba(255,255,255,0.70);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.bla-link{
  background:none;
  border:0;
  padding:0;
  font: inherit;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor:pointer;
}
.bla-login-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:12px;
  flex-wrap:wrap;
}
.bla-login-actions .bla-btn.primary{
  flex: 1 1 260px;
}
.bla-login-helptext{
  margin-top:10px;
  opacity:0.85;
}
.bla-login-helprow{
  margin-top:12px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.bla-login-helprow .bla-dot{
  opacity:0.6;
}
.bla-input:focus{
  outline:none;
  border-color: rgba(123, 72, 245, 0.60);
  box-shadow: 0 0 0 4px rgba(123, 72, 245, 0.18);
}
@media (max-width: 520px){
  .bla-login-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .bla-login-actions .bla-btn.primary{
    flex: 0 0 auto;
    width:100%;
  }
  .bla-login-actions .bla-link{
    text-align:center;
    width:100%;
    padding:10px 0;
    text-decoration:none;
    opacity:0.9;
  }
}

body.bla-dark .bla-theme-toggle{
  border-color: rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
}
body.bla-dark .bla-input:focus{
  border-color: rgba(160, 130, 255, 0.75);
  box-shadow: 0 0 0 4px rgba(160, 130, 255, 0.20);
}
body.bla-dark .bla-login-helptext{
  opacity:0.92;
}

/* ============================================================
   v40 - Dashboard welcome layout tidy-up
   - tighter greeting/subline spacing
   - profile photo top-left
   - nudge banner full-width row on mobile
   ============================================================ */

/* Tighten greeting + job title spacing */
.bla-welcome .ttl,
.bla-welcome-text .ttl{
  line-height: 1.08;
  margin: 0;
}
.bla-welcome .sub,
.bla-welcome-text .sub{
  margin-top: 2px;
  line-height: 1.25;
}

/* Ensure photo aligns to the top of the welcome block */
.bla-welcome-left{
  align-items: flex-start !important;
}
.bla-welcome-photo,
.bla-welcome-avatar{
  margin-top: 2px;
}

/* v46: tighten Meetings Today stat label spacing */
.bla-welcome-right .bla-stat .top{
  gap:8px;
}
.bla-welcome-right .bla-stat .k{
  line-height:1.15;
  text-align:center;
}
.bla-welcome-right .bla-stat .k br{
  display:block;
  content:"";
  margin:0;
}


/* ------------------------------------------------------------------
   Attendees page - tidy hero + filters spacing
   ------------------------------------------------------------------ */
.bla-attendees-toolbar{
  margin-bottom:18px;
}
.bla-filters{
  margin-top:8px;
  margin-bottom:22px;
}
.bla-filters__top{
  gap:18px;
}
.bla-filters__grid{
  gap:14px;
}
.bla-filters__actions{
  gap:10px;
}
.bla-filters__count{
  margin-top:6px;
  opacity:.85;
}

/* Desktop: lock filters into two columns (fields left, actions right) */
@media (min-width: 960px){
  .bla-filters__top{
    display:grid;
    grid-template-columns: 1fr auto;
    align-items:end;
    gap:18px;
  }
  .bla-filters__grid{
    grid-template-columns: repeat(4, minmax(160px, 1fr));
  }
  .bla-filters__actions{
    justify-content:flex-end;
    align-items:flex-end;
    flex-wrap:wrap;
    max-width: 520px;
  }
}

/* Tablet: 2 columns for fields */
@media (max-width: 959px){
  .bla-filters__grid{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .bla-filters__actions{
    justify-content:flex-start;
  }
}

/* Mobile: 1 column for fields, actions full width */
@media (max-width: 560px){
  .bla-filters__grid{
    grid-template-columns: 1fr;
  }
  .bla-filters__actions{
    width:100%;
    justify-content:space-between;
  }
  .bla-view-toggle{
    width:100%;
    justify-content:space-between;
  }
  .bla-view-btn{
    flex:1 1 auto;
    text-align:center;
  }
}


/* Vendor dashboard: hosted workshop attendance */
.bla-hosted-sessions .bla-hosted-session { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(20,20,40,0.08); }
.bla-hosted-sessions .bla-hosted-session-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.bla-hosted-sessions .bla-hosted-session-title { font-weight: 700; font-size: 14px; line-height: 1.3; }
.bla-hosted-sessions .bla-hosted-attendees .bla-hosted-attendee { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:10px 0; }
.bla-hosted-sessions .bla-hosted-attendee .left .n { font-weight: 600; }
.bla-hosted-sessions .bla-hosted-attendee .left .c { font-size: 12px; opacity: 0.75; margin-top: 2px; }
.bla-hosted-sessions .bla-hosted-attendee .right { text-align:right; max-width: 55%; }
.bla-hosted-sessions .bla-why { font-size: 12px; opacity: 0.85; display:inline-block; }
@media (max-width: 900px) {
  .bla-hosted-sessions .bla-hosted-attendee .right { max-width: 100%; text-align:left; }
  .bla-hosted-sessions .bla-hosted-attendees .bla-hosted-attendee { flex-direction: column; }
}


/* Vendor dashboard: hosted workshop attendance (next upcoming) */
.bla-hosted-sessions .bla-tile-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.bla-hosted-sessions .bla-tile-head h3{ margin:0; }
.bla-hosted-sessions .bla-link{
  font-size:12px;
  font-weight:600;
  text-decoration:none;
  white-space:nowrap;
}

@media (max-width: 650px){
  .bla-hosted-sessions .bla-tile-head{
    flex-direction:column;
    align-items:flex-start;
  }
}
.bla-hosted-sessions .bla-hosted-session-next{
  margin-top:12px;
  padding-top:0;
  border-top:0;
}
.bla-hosted-sessions .bla-hosted-session-head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:8px;
  margin-bottom:12px;
}
.bla-hosted-sessions .bla-hosted-session-title{
  font-size:14px;
  font-weight:800;
  line-height:1.25;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.bla-hosted-sessions .bla-hosted-session-meta-line{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.bla-hosted-sessions .bla-meta{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(120,90,255,0.08);
  font-size:12px;
  font-weight:600;
}
.bla-hosted-sessions .bla-meta.strong{
  background:rgba(0,0,0,0.06);
}

/* Scrollable attendee list */
.bla-hosted-sessions .bla-hosted-attendees-scroll{
  max-height: 260px;
  overflow-y: auto;
  padding-right: 4px; /* room for scrollbar */
}

@media (max-width: 640px){
  .bla-hosted-sessions .bla-tile-head{ flex-direction:column; align-items:flex-start; }
  .bla-hosted-sessions .bla-link{ white-space:normal; }
}

@media (max-width: 600px){
  .bla-hosted-sessions .bla-tile-head{ flex-direction:column; align-items:flex-start; }
  .bla-hosted-sessions .bla-link{ white-space:normal; }
}
.bla-hosted-sessions .bla-hosted-attendee{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 0;
}

/* Fix alignment: hosted attendee rows should not inherit space-between from .bla-list-row */
.bla-hosted-sessions .bla-hosted-attendee.bla-list-row{
  justify-content:flex-start;
  align-items:center;
}
.bla-hosted-sessions .bla-hosted-attendee .ava{
  flex:0 0 32px;
  width:32px;
  height:32px;
}
.bla-hosted-sessions .bla-hosted-attendee .mid{
  flex:1 1 auto;
  min-width:0;
  text-align:left;
}
.bla-hosted-sessions .bla-hosted-attendee .mid .n,
.bla-hosted-sessions .bla-hosted-attendee .mid .c,
.bla-hosted-sessions .bla-hosted-attendee .mid .why{
  text-align:left;
}
.bla-hosted-sessions .bla-hosted-attendee .ava img{
  border-radius:999px;
}
.bla-hosted-sessions .bla-hosted-attendee .mid .n{
  font-weight:700;
  line-height:1.2;
}
.bla-hosted-sessions .bla-hosted-attendee .mid .c{
  font-size:12px;
  opacity:0.75;
  margin-top:2px;
}
.bla-hosted-sessions .bla-hosted-attendee .mid .why{
  font-size:12px;
  opacity:0.9;
  margin-top:6px;
  line-height:1.3;
}
/* Vendor dashboard: hosted session attendance (shown only when vendor nav is enabled) */
.bla-hosted-attendance .bla-hosted-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.bla-hosted-attendance .bla-hosted-head .bla-link,
.bla-hosted-attendance .bla-hosted-head a{
  white-space:nowrap;
}
.bla-hosted-attendance .bla-hosted-title{
  font-weight:800;
  margin-top:8px;
}
.bla-hosted-attendance .bla-hosted-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
}
.bla-hosted-attendance .bla-hosted-scroll{
  margin-top:14px;
  max-height:220px;
  overflow:auto;
  padding-right:4px;
}
.bla-hosted-attendance .bla-hosted-row{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px;
  border:1px solid rgba(30,41,59,0.08);
  border-radius:14px;
  background:#fff;
  margin-bottom:10px;
}
.bla-hosted-attendance .bla-hosted-avatar{
  width:44px;
  flex:0 0 44px;
}
.bla-hosted-attendance .bla-hosted-avatar img{
  width:44px;
  height:44px;
  border-radius:999px;
  object-fit:cover;
}
.bla-hosted-attendance .bla-hosted-main{
  flex:1;
  min-width:0;
}
.bla-hosted-attendance .bla-hosted-name{
  font-weight:800;
  line-height:1.2;
}
.bla-hosted-attendance .bla-hosted-sub{
  margin-top:4px;
  font-size:13px;
  opacity:0.75;
  line-height:1.3;
}
.bla-hosted-attendance .bla-hosted-why{
  margin-top:8px;
  font-size:13px;
  opacity:0.9;
  line-height:1.35;
}
