/* P025-P027: Global navigation + notifications */

.bldv-navbar{
  position:sticky;
  top:0;
  z-index:5600;
  border-bottom:1px solid rgba(248,113,113,.34) !important;
  background:linear-gradient(180deg, rgba(8,12,20,.98), rgba(5,7,12,.96)) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.48);
  backdrop-filter:blur(14px);
}

.bldv-navbar .bldv-nav-container{
  max-width:1340px;
  padding-top:.58rem !important;
  padding-bottom:.58rem !important;
}

.bldv-brand{
  display:inline-flex;
  align-items:center;
  gap:.62rem;
  min-width:0;
  padding:0 !important;
  color:#f8fafc !important;
  text-decoration:none;
  text-shadow:none !important;
}

.bldv-brand-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border:1px solid rgba(248,113,113,.5);
  border-radius:6px;
  background:linear-gradient(180deg, rgba(248,113,113,.22), rgba(127,29,29,.34));
  color:#fff !important;
  font-size:.86rem;
  font-weight:950;
}

.bldv-brand-text{
  display:grid;
  gap:0;
  line-height:1;
}

.bldv-brand-text strong{
  color:#fff !important;
  font-size:1rem;
  font-weight:950;
  letter-spacing:0;
}

.bldv-brand-text small{
  color:#94a3b8 !important;
  font-size:.78rem;
  font-weight:760;
  letter-spacing:0;
}

.bldv-main-links,
.bldv-nav-tools{
  align-items:center;
  gap:.22rem;
}

.bldv-navbar .nav-link,
.bldv-user-toggle,
.bldv-nav-icon-btn{
  min-height:36px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#cbd5e1 !important;
  font-size:.9rem;
  font-weight:760;
  letter-spacing:0;
}

.bldv-navbar .nav-link:hover,
.bldv-navbar .nav-link:focus-visible,
.bldv-user-toggle:hover,
.bldv-user-toggle:focus-visible,
.bldv-nav-icon-btn:hover,
.bldv-nav-icon-btn:focus-visible{
  background:rgba(255,255,255,.06);
  color:#fff !important;
  outline:none;
}

.bldv-navbar .nav-link.active,
.bldv-navbar .nav-item.show > .nav-link,
.bldv-navbar .nav-link[aria-current="page"],
.bldv-user-dd.show > .bldv-user-toggle,
.bldv-user-toggle[aria-expanded="true"]{
  background:rgba(248,113,113,.14);
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(248,113,113,.34);
}

.bldv-nav-profile-main{
  font-weight:900 !important;
}

.bldv-navbar .nav-item .nav-link.active::after{
  display:none !important;
}

.bldv-nav-toggler{
  border-color:rgba(148,163,184,.28) !important;
  border-radius:6px;
  box-shadow:none !important;
}

.bldv-nav-menu,
.bldv-notif-menu,
.bldv-userhub{
  overflow:hidden;
  padding:.35rem !important;
  border:1px solid rgba(148,163,184,.2) !important;
  border-radius:6px !important;
  background:#0b111c !important;
  box-shadow:0 24px 70px rgba(0,0,0,.52);
}

.bldv-nav-menu{
  min-width:270px;
}

.bldv-nav-menu--club{
  width:min(360px, calc(100vw - 24px));
  max-height:calc(100vh - 92px);
  overflow:auto;
  padding:.4rem !important;
}

.bldv-navbar .dropdown-menu.bldv-nav-menu--club.show{
  display:grid;
  gap:.18rem;
}

.bldv-nav-club-head{
  display:grid;
  gap:.08rem;
  padding:.65rem .72rem .58rem;
  border-bottom:1px solid rgba(148,163,184,.14);
  margin-bottom:.18rem;
}

.bldv-nav-club-head strong{
  overflow:hidden;
  color:#f8fafc !important;
  font-size:.94rem;
  font-weight:920;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bldv-nav-club-head span{
  color:#94a3b8 !important;
  font-size:.72rem;
  font-weight:820;
}

.bldv-nav-menu-split{
  height:1px;
  margin:.22rem .45rem;
  background:rgba(148,163,184,.14);
}

.bldv-nav-menu-item--primary{
  border:1px solid rgba(248,113,113,.3);
  background:rgba(248,113,113,.08) !important;
}

.bldv-nav-group{
  display:grid;
  align-content:start;
  gap:.12rem;
  min-width:0;
  padding:.28rem;
  border:1px solid rgba(148,163,184,.14);
  border-radius:6px;
  background:rgba(15,23,42,.5);
}

.bldv-nav-group--wide{
  grid-column:1 / -1;
}

.bldv-nav-group-title{
  padding:.18rem .45rem .32rem;
  color:#94a3b8;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.2;
  text-transform:uppercase;
}

.bldv-nav-menu--club .bldv-nav-menu-item{
  padding:.55rem .66rem !important;
}

.bldv-nav-menu-item{
  display:grid;
  gap:.12rem;
  padding:.62rem .7rem !important;
  border-radius:4px;
  white-space:normal;
}

.bldv-nav-menu-item span{
  color:#f8fafc !important;
  font-size:.92rem;
  font-weight:860;
}

.bldv-nav-menu-item small{
  color:#94a3b8 !important;
  font-size:.76rem;
  font-weight:650;
}

.bldv-nav-menu .dropdown-item:hover,
.bldv-nav-menu .dropdown-item:focus,
.bldv-userhub .dropdown-item:hover,
.bldv-userhub .dropdown-item:focus{
  background:#172033 !important;
}

.bldv-nav-action-wrap,
.bldv-nav-pill-wrap{
  display:flex;
  align-items:center;
}

.bldv-nav-action,
.bldv-nav-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:.38rem .72rem;
  border-radius:6px;
  font-size:.84rem;
  font-weight:850;
  text-decoration:none;
  white-space:nowrap;
}

.bldv-nav-action{
  border:1px solid rgba(248,113,113,.56);
  background:#b91c1c;
  color:#fff !important;
}

.bldv-nav-action:hover,
.bldv-nav-action:focus-visible{
  background:#dc2626;
  color:#fff !important;
}

.bldv-nav-pill--coins{
  border:1px solid rgba(251,191,36,.38);
  background:rgba(251,191,36,.1);
  color:#fde68a !important;
}

.bldv-nav-icon-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  padding:0 !important;
}

.bldv-nav-icon-btn::after,
.bldv-notif-dd .dropdown-toggle::after{
  display:none !important;
}

.bldv-nav-badge{
  position:absolute;
  top:1px;
  right:0;
  min-width:18px;
  height:18px;
  padding:0 4px;
  border:2px solid #070b12;
  border-radius:999px;
  background:#ef4444;
  color:#fff !important;
  font-size:.66rem;
  font-weight:950;
  line-height:14px;
  text-align:center;
}

.bldv-notif-menu{
  width:390px !important;
  max-width:calc(100vw - 20px);
  padding:0 !important;
}

.bldv-notif-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:13px 14px;
  border-bottom:1px solid rgba(148,163,184,.15);
  background:linear-gradient(180deg, rgba(248,113,113,.08), rgba(15,23,42,.3));
}

.bldv-notif-head strong{
  display:block;
  color:#fff !important;
  font-size:.96rem;
  font-weight:920;
}

.bldv-notif-head span{
  display:block;
  margin-top:2px;
  color:#94a3b8 !important;
  font-size:.78rem;
}

.bldv-notif-head-form{
  margin:0;
}

.bldv-notif-head-form button{
  border:1px solid rgba(248,113,113,.38);
  border-radius:4px;
  background:rgba(248,113,113,.1);
  color:#fecaca;
  font-size:.76rem;
  font-weight:820;
  padding:.28rem .5rem;
}

.bldv-notif-head-form button:hover,
.bldv-notif-head-form button:focus-visible{
  background:rgba(248,113,113,.2);
  color:#fff;
}

.bldv-notif-empty{
  display:grid;
  gap:.18rem;
  padding:18px 14px;
}

.bldv-notif-empty strong{
  color:#f8fafc !important;
  font-size:.92rem;
}

.bldv-notif-empty span{
  color:#94a3b8 !important;
  font-size:.8rem;
}

.bldv-notif-list{
  max-height:390px;
  overflow:auto;
}

.bldv-notif-item{
  display:grid !important;
  grid-template-columns:9px minmax(0,1fr);
  gap:10px;
  padding:11px 14px !important;
  border-bottom:1px solid rgba(148,163,184,.13);
  color:#e2e8f0 !important;
  text-decoration:none;
  white-space:normal !important;
}

.bldv-notif-item:hover,
.bldv-notif-item:focus{
  background:#172033 !important;
}

.bldv-notif-state{
  width:8px;
  height:8px;
  margin-top:6px;
  border-radius:999px;
  background:#475569;
}

.bldv-notif-item.is-unread .bldv-notif-state{
  background:#ef4444;
  box-shadow:0 0 0 4px rgba(239,68,68,.12);
}

.bldv-notif-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}

.bldv-notif-title-row strong{
  min-width:0;
  color:#f8fafc !important;
  font-size:.9rem;
  font-weight:900;
  line-height:1.2;
}

.bldv-notif-title-row em{
  flex:0 0 auto;
  padding:.12rem .4rem;
  border:1px solid rgba(148,163,184,.2);
  border-radius:4px;
  color:#cbd5e1 !important;
  font-size:.68rem;
  font-style:normal;
  font-weight:850;
}

.bldv-notif-item--team .bldv-notif-title-row em,
.bldv-notification-row--team .bldv-notification-row__top em{
  border-color:rgba(56,189,248,.36);
  color:#bae6fd !important;
}

.bldv-notif-item--match .bldv-notif-title-row em,
.bldv-notification-row--match .bldv-notification-row__top em{
  border-color:rgba(34,197,94,.34);
  color:#bbf7d0 !important;
}

.bldv-notif-item--tournament .bldv-notif-title-row em,
.bldv-notification-row--tournament .bldv-notification-row__top em{
  border-color:rgba(251,191,36,.34);
  color:#fde68a !important;
}

.bldv-notif-msg,
.bldv-notif-time{
  display:block;
}

.bldv-notif-msg{
  margin-top:4px;
  color:#cbd5e1 !important;
  font-size:.8rem;
  line-height:1.35;
}

.bldv-notif-time{
  margin-top:5px;
  color:#94a3b8 !important;
  font-size:.72rem;
}

.bldv-notif-foot{
  padding:10px 14px;
  text-align:center;
  background:#080d15;
}

.bldv-notif-foot a{
  color:#fecaca !important;
  font-size:.83rem;
  font-weight:850;
  text-decoration:none;
}

.bldv-user-toggle{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  max-width:220px;
  padding:.16rem .35rem .16rem .2rem !important;
  border:1px solid rgba(148,163,184,.18);
  background:#0a0f18;
  text-align:left;
}

.bldv-user-toggle::after{
  display:none !important;
}

.bldv-avatar-wrap,
.bldv-uh-avatar-wrap{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.28);
  border-radius:6px;
  background:#101827;
}

.bldv-avatar-wrap,
.navbar.bldv-navbar img.bldv-nav-avatar,
.navbar.bldv-navbar .bldv-nav-avatar.bldv-nav-avatar--initial{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  min-height:30px !important;
  max-width:30px !important;
  max-height:30px !important;
  border-radius:6px !important;
}

.bldv-nav-avatar,
.bldv-nav-avatar--initial,
.bldv-uh-avatar-img,
.bldv-uh-avatar{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  color:#fff !important;
  font-size:.82rem;
  font-weight:900;
}

.bldv-nav-name{
  display:grid;
  gap:0;
  line-height:1.05;
  max-width:142px;
}

.bldv-nav-name strong,
.bldv-nav-name small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bldv-nav-name strong{
  color:#fff !important;
  font-size:.85rem;
  font-weight:850;
}

.bldv-nav-name small{
  color:#94a3b8 !important;
  font-size:.68rem;
  font-weight:650;
}

.bldv-userhub{
  width:330px;
  max-width:calc(100vw - 20px);
  padding:0 !important;
}

.bldv-uh-header{
  padding:14px;
  border-bottom:1px solid rgba(148,163,184,.14);
}

.bldv-uh-top{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:10px;
  align-items:center;
}

.bldv-uh-avatar-wrap,
.navbar.bldv-navbar .dropdown-menu.bldv-userhub img.bldv-uh-avatar-img,
.navbar.bldv-navbar .dropdown-menu.bldv-userhub .bldv-uh-avatar{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  max-width:42px !important;
  max-height:42px !important;
  border-radius:6px !important;
}

.bldv-userhub-links{
  display:grid;
  gap:.18rem;
  padding:.4rem;
}

.bldv-uh-item{
  display:grid;
  gap:.12rem;
  padding:.58rem .65rem !important;
  border:1px solid transparent;
  border-radius:6px;
  color:#e2e8f0 !important;
  white-space:normal;
}

.bldv-uh-item--primary{
  border-color:rgba(248,113,113,.32);
  background:rgba(127,29,29,.16) !important;
}

.bldv-uh-item span{
  color:#f8fafc !important;
  font-size:.9rem;
  font-weight:900;
  line-height:1.18;
}

.bldv-uh-item small{
  overflow:hidden;
  color:#94a3b8 !important;
  font-size:.74rem;
  font-weight:700;
  line-height:1.25;
  text-overflow:ellipsis;
}

.bldv-userhub-footer{
  padding:.4rem .7rem .75rem;
}

.bldv-notifications-page{
  min-height:70vh;
  padding:30px 0 54px;
  background:
    linear-gradient(180deg, rgba(248,113,113,.05), rgba(56,189,248,.025) 42%, rgba(0,0,0,0) 72%),
    #070b12;
}

.bldv-notifications-page .container{
  max-width:1060px;
}

.bldv-notifications-flash{
  margin-bottom:12px;
  padding:10px 12px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:6px;
  background:#101827;
  color:#e2e8f0 !important;
  font-weight:760;
}

.bldv-notifications-flash--success{
  border-color:rgba(34,197,94,.34);
  color:#bbf7d0 !important;
}

.bldv-notifications-flash--error{
  border-color:rgba(248,113,113,.4);
  color:#fecaca !important;
}

.bldv-notifications-hero,
.bldv-notifications-toolbar,
.bldv-notifications-panel{
  border:1px solid rgba(148,163,184,.18);
  border-radius:6px;
  background:#0f1724;
  box-shadow:0 22px 60px rgba(0,0,0,.28);
}

.bldv-notifications-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:18px;
  border-bottom-color:rgba(248,113,113,.34);
  background:linear-gradient(180deg, #141d2b, #0c121d);
}

.bldv-notifications-kicker{
  margin-bottom:4px;
  color:#94a3b8 !important;
  font-size:.76rem;
  font-weight:850;
  text-transform:uppercase;
}

.bldv-notifications-hero h1{
  margin:0;
  color:#fff !important;
  font-size:1.75rem;
  font-weight:950;
  line-height:1.15;
  letter-spacing:0;
}

.bldv-notifications-hero p{
  margin:7px 0 0;
  color:#cbd5e1 !important;
}

.bldv-notifications-summary{
  display:flex;
  gap:8px;
  flex:0 0 auto;
}

.bldv-notifications-summary div{
  min-width:94px;
  padding:9px 10px;
  border:1px solid rgba(148,163,184,.16);
  border-radius:4px;
  background:#0a0f18;
  text-align:right;
}

.bldv-notifications-summary span,
.bldv-notifications-summary small{
  display:block;
}

.bldv-notifications-summary span{
  color:#fff !important;
  font-size:1.15rem;
  font-weight:950;
}

.bldv-notifications-summary small{
  color:#94a3b8 !important;
  font-size:.76rem;
}

.bldv-notifications-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  padding:10px;
}

.bldv-notifications-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.bldv-notifications-tabs a,
.bldv-notifications-pagination a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:.35rem .68rem;
  border:1px solid rgba(148,163,184,.18);
  border-radius:4px;
  background:#0a0f18;
  color:#cbd5e1 !important;
  font-size:.84rem;
  font-weight:820;
  text-decoration:none;
}

.bldv-notifications-tabs a:hover,
.bldv-notifications-pagination a:hover{
  background:#172033;
  color:#fff !important;
}

.bldv-notifications-tabs a.active,
.bldv-notifications-pagination a.active{
  border-color:rgba(248,113,113,.44);
  background:rgba(248,113,113,.14);
  color:#fff !important;
}

.bldv-notifications-tabs span{
  margin-left:.4rem;
  color:#94a3b8 !important;
  font-size:.76rem;
}

.bldv-notifications-markread{
  margin:0;
  flex:0 0 auto;
}

.bldv-notifications-panel{
  margin-top:14px;
  overflow:hidden;
}

.bldv-notifications-list{
  display:grid;
}

.bldv-notification-row{
  display:grid;
  grid-template-columns:10px minmax(0,1fr) 140px;
  gap:12px;
  align-items:center;
  min-height:76px;
  padding:13px 14px;
  border-top:1px solid rgba(148,163,184,.13);
  color:#e2e8f0 !important;
  text-decoration:none;
}

.bldv-notification-row:first-child{
  border-top:0;
}

.bldv-notification-row:hover{
  background:#141d2b;
}

.bldv-notification-row__state{
  width:9px;
  height:9px;
  border-radius:999px;
  background:#475569;
}

.bldv-notification-row.is-unread .bldv-notification-row__state{
  background:#ef4444;
  box-shadow:0 0 0 5px rgba(239,68,68,.12);
}

.bldv-notification-row__main,
.bldv-notification-row__top,
.bldv-notification-row__msg,
.bldv-notification-row__meta{
  min-width:0;
}

.bldv-notification-row__top{
  display:flex;
  align-items:center;
  gap:8px;
}

.bldv-notification-row__top strong{
  color:#f8fafc !important;
  font-size:.96rem;
  font-weight:920;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bldv-notification-row__top em{
  flex:0 0 auto;
  padding:.14rem .4rem;
  border:1px solid rgba(148,163,184,.2);
  border-radius:4px;
  color:#cbd5e1 !important;
  font-size:.7rem;
  font-style:normal;
  font-weight:850;
}

.bldv-notification-row__msg{
  display:block;
  margin-top:4px;
  color:#cbd5e1 !important;
  font-size:.86rem;
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bldv-notification-row__meta{
  display:grid;
  justify-items:end;
  gap:5px;
  text-align:right;
}

.bldv-notification-row__meta span{
  display:inline-flex;
  min-height:22px;
  align-items:center;
  padding:.12rem .45rem;
  border:1px solid rgba(248,113,113,.36);
  border-radius:4px;
  background:rgba(248,113,113,.1);
  color:#fecaca !important;
  font-size:.72rem;
  font-weight:850;
}

.bldv-notification-row__meta small{
  color:#94a3b8 !important;
  font-size:.78rem;
}

.bldv-notifications-empty{
  display:grid;
  gap:4px;
  padding:22px 16px;
  color:#cbd5e1 !important;
}

.bldv-notifications-empty strong{
  color:#fff !important;
  font-size:1rem;
}

.bldv-notifications-empty span{
  color:#94a3b8 !important;
}

.bldv-notifications-pagination{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  justify-content:flex-end;
  margin-top:14px;
}

@media (max-width:1199.98px){
  .bldv-navbar .dropdown-menu,
  .bldv-navbar .dropdown-menu[data-bs-popper]{
    position:static !important;
    inset:auto !important;
    transform:none !important;
  }

  .bldv-main-links,
  .bldv-nav-tools{
    align-items:stretch;
    gap:.32rem;
    padding-top:.7rem;
  }

  .bldv-nav-action,
  .bldv-nav-pill,
  .bldv-navbar .nav-link,
  .bldv-user-toggle{
    justify-content:flex-start;
    width:100%;
    max-width:none;
  }

  .bldv-nav-icon-btn{
    width:100%;
    justify-content:flex-start;
    padding:0 .75rem !important;
  }

  .bldv-notif-menu,
  .bldv-userhub,
  .bldv-nav-menu{
    width:100% !important;
    max-width:100%;
    margin-top:.25rem !important;
  }

  .bldv-nav-name{
    max-width:none;
  }
}

@media (max-width:720px){
  .bldv-nav-menu--club{
    grid-template-columns:1fr;
    max-height:none;
    overflow:visible;
  }

  .bldv-nav-group--wide{
    grid-column:auto;
  }

  .bldv-notifications-hero,
  .bldv-notifications-toolbar{
    align-items:stretch;
    flex-direction:column;
  }

  .bldv-notifications-summary{
    width:100%;
  }

  .bldv-notifications-summary div{
    flex:1 1 0;
    text-align:left;
  }

  .bldv-notification-row{
    grid-template-columns:10px minmax(0,1fr);
  }

  .bldv-notification-row__meta{
    grid-column:2;
    justify-items:start;
    text-align:left;
  }

  .bldv-notification-row__msg,
  .bldv-notification-row__top strong{
    white-space:normal;
  }
}

@media (max-width:420px){
  .bldv-brand-text small{
    display:none;
  }

  .bldv-notifications-tabs a{
    flex:1 1 auto;
  }
}
