/*
 * NOVA Team — Header / Menu Admin commun
 * Référence visuelle : /admin/
 * Utilisé par index.php, access.php et account.php
 */

.top{
  background:linear-gradient(120deg,#03152f,#0a2d50) !important;
  color:#fff !important;
  padding:28px 24px !important;
}
.top .wrap{
  width:100%;
  max-width:980px !important;
  margin:0 auto !important;
  padding:0 !important;
}
.top .headerline{
  min-height:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:0 !important;
}
.brand-admin h1{
  font-family:"Playfair Display",serif !important;
  margin:0 !important;
  font-size:32px !important;
  line-height:1.08 !important;
  color:#fff !important;
}
.brand-admin p{
  margin:7px 0 0 !important;
  color:#fff !important;
  opacity:.8 !important;
  font-size:inherit !important;
}

.nova-admin-head{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
  min-width:0;
}
.nova-admin-identity{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:0;
}
.nova-admin-avatar{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:50%;
  object-fit:cover;
  background:#fff;
  border:1px solid rgba(255,255,255,.35);
}
.nova-admin-name{
  color:#fff;
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
}
.role-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:5px 9px !important;
  border-radius:999px !important;
  font-size:11px !important;
  font-weight:700 !important;
  line-height:1.15 !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  white-space:nowrap;
  text-decoration:none;
  cursor:default;
}
.role-badge[href]{cursor:pointer}
.role-badge-active{
  background:#e4b536 !important;
  color:#0c2340 !important;
  box-shadow:0 3px 10px rgba(0,0,0,.16);
}

.nova-admin-nav{
  display:flex !important;
  align-items:stretch;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:7px;
  min-width:0;
}
.nova-admin-nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.30);
  border-radius:9px;
  color:#fff !important;
  background:transparent;
  text-decoration:none !important;
  font-size:12px;
  font-weight:500;
  line-height:1.15;
  white-space:nowrap;
  box-sizing:border-box;
}
.nova-admin-nav-link:hover{
  background:rgba(255,255,255,.08);
}
.nova-admin-nav-link.is-active{
  border-color:#e4b536;
  background:rgba(228,181,54,.16);
}
.nova-user-menu{position:relative}
.nova-user-menu>summary{list-style:none;cursor:pointer;gap:6px}
.nova-user-menu>summary::-webkit-details-marker{display:none}
.nova-user-menu-panel{
  position:absolute;
  z-index:100;
  top:calc(100% + 7px);
  right:0;
  min-width:165px;
  padding:7px;
  border:1px solid #dce5ee;
  border-radius:11px;
  background:#fff;
  box-shadow:0 16px 36px rgba(3,21,47,.2);
}
.nova-user-menu-panel a{display:block;padding:10px 11px;border-radius:8px;color:#0c2340;text-decoration:none;font-size:12px;font-weight:700}
.nova-user-menu-panel a:hover{background:#f1f5f9}
.nova-user-menu-separator{display:block;height:1px;margin:6px 5px;background:#e1e7ee}

/* Web App / mobile */
@media (max-width:760px){
  .top{
    padding:20px 16px 22px !important;
  }
  .top .wrap{
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
  }
  .top .headerline{
    display:block !important;
  }
  .brand-admin h1{
    font-size:30px !important;
    line-height:1.05 !important;
  }
  .brand-admin p{
    margin-top:7px !important;
    font-size:14px !important;
    line-height:1.4 !important;
  }

  .nova-admin-head{
    width:100%;
    margin-top:20px;
    align-items:stretch;
    gap:13px;
  }
  .nova-admin-identity{
    justify-content:flex-start;
    gap:10px;
  }
  .nova-admin-name{
    font-size:16px;
  }

  .nova-admin-nav{
    width:100%;
    display:flex !important;
    flex-wrap:nowrap;
    justify-content:flex-start;
    gap:5px;
  }
  .nova-admin-nav-link{
    width:auto !important;
    min-width:0;
    height:36px !important;
    min-height:36px !important;
    max-height:36px !important;
    padding:0 8px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:10px;
    font-weight:600;
    letter-spacing:-.15px;
    line-height:1.1;
    text-align:center;
    white-space:nowrap;
    overflow:visible;
    text-overflow:clip;
  }
  .nova-user-menu{min-width:0;width:auto;flex:0 0 auto}
  .nova-user-menu-panel{
    left:auto;
    right:0;
    width:max-content;
    min-width:190px;
    max-width:calc(100vw - 32px);
  }
}

@media (max-width:390px){
  .top{
    padding-left:13px !important;
    padding-right:13px !important;
  }
  .nova-admin-nav{
    gap:5px;
  }
  .nova-admin-nav-link{
    padding-left:6px !important;
    padding-right:6px !important;
    font-size:10px;
    letter-spacing:-.15px;
  }
}

/* Menu mobile commun : dimensions strictement identiques à l'espace membre. */
@media (max-width:760px){
  .nova-admin-top .nova-admin-nav{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-auto-flow:column!important;
    grid-auto-columns:auto!important;
    gap:5px!important;
    width:100%!important;
  }
  .nova-admin-top .nova-admin-nav>.nova-admin-nav-link,
  .nova-admin-top .nova-admin-nav>.nova-user-menu,
  .nova-admin-top .nova-user-menu>summary{
    width:100%!important;
    min-width:0!important;
  }
  .nova-admin-top .nova-admin-nav-link{
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    padding-left:3px!important;
    padding-right:3px!important;
    font-size:10px!important;
    font-weight:600!important;
    line-height:1.1!important;
    letter-spacing:-.15px!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .nova-admin-top .nova-user-menu-panel{
    width:max-content!important;
    min-width:190px!important;
    max-width:calc(100vw - 32px)!important;
    left:auto!important;
    right:0!important;
  }
}
