/* =========================================================
   QUARZEO V11 — SHELL UNIFIÉ
   PRO / PILOT / ADMIN
   ========================================================= */

:root{
  --qz-shell-navy-950:#05192c;
  --qz-shell-navy-900:#082743;
  --qz-shell-navy-850:#0b3455;
  --qz-shell-cyan:#31d7e6;
  --qz-shell-cyan-soft:rgba(49,215,230,.16);
  --qz-shell-white:#ffffff;
  --qz-shell-text:#12314c;
  --qz-shell-muted:#6d879d;
  --qz-shell-border:#d8e6ef;
  --qz-shell-panel:#f6fbfe;
  --qz-shell-shadow:0 18px 45px rgba(5,25,44,.16);
}

/* ---------- structure globale ---------- */
html.qz-shell-ready body{
  background:
    radial-gradient(circle at top right, rgba(49,215,230,.06), transparent 32%),
    #eef5f9;
}

/* ---------- sidebar : harmonisation ---------- */
#app .sidebar{
  background:
    linear-gradient(180deg,var(--qz-shell-navy-950),var(--qz-shell-navy-900) 58%,var(--qz-shell-navy-850));
  color:#d6e8f4;
}

#app .sidebar .sideBrand,
#app .sidebar .sidebarBrand,
#app .sidebar .brandCard,
#app .sidebar .brand{
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;

  min-height:76px;
  padding:16px 18px !important;
  margin:12px 12px 18px !important;

  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);

  background:
    linear-gradient(135deg,#0c5c90,#0b3558 78%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 10px 25px rgba(0,0,0,.16);

  text-decoration:none !important;
  color:#fff !important;
}

#app .sidebar .sideBrand img,
#app .sidebar .sidebarBrand img,
#app .sidebar .brandCard img,
#app .sidebar .brand img{
  display:none !important;
}

#app .sidebar .qz-shell-brand-word{
  font-size:22px;
  line-height:1;
  font-weight:900;
  letter-spacing:.04em;
  color:#dff7fb;
}

#app .sidebar .qz-shell-brand-role{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:0 10px;

  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);

  background:rgba(255,255,255,.08);
  color:#ffffff;

  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* blocs compte / centre sous le logo => cachés */
#app .sidebar .centerMini,
#app .sidebar #centerMini,
#app .sidebar .profileMini,
#app .sidebar #profileMini,
#app .sidebar .userMini,
#app .sidebar #userMini,
#app .sidebar .sidebarIdentity,
#app .sidebar .sidebarProfile,
#app .sidebar .accountMini,
#app .sidebar .orgMini,
#app .sidebar .qz-shell-hidden-meta{
  display:none !important;
}

/* menu latéral */
#app .sidebar nav,
#app .sidebar #sideNav{
  margin-top:0 !important;
}

#app .sidebar .navGroup{
  margin:0 10px 14px !important;
}

#app .sidebar .navGroup > span{
  display:block;
  margin:0 8px 9px;
  color:rgba(214,232,244,.58) !important;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

#app .sidebar .navGroup a,
#app .sidebar #sideNav a{
  position:relative;
  display:flex !important;
  align-items:center;
  gap:10px;

  min-height:42px;
  padding:0 14px 0 14px !important;
  margin:4px 0 !important;

  border-radius:14px;
  border:1px solid transparent;

  color:#dceaf4 !important;
  text-decoration:none !important;
  font-weight:700;

  transition:
    background .16s ease,
    border-color .16s ease,
    color .16s ease,
    transform .16s ease;
}

#app .sidebar .navGroup a::before,
#app .sidebar #sideNav a::before{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  flex:0 0 18px;

  border-radius:6px;
  background:rgba(49,215,230,.10);
  color:#8ff4ff;

  font-size:10px;
  font-weight:900;
  content:attr(data-qz-icon);
}

#app .sidebar .navGroup a:hover,
#app .sidebar #sideNav a:hover{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.08);
  transform:translateX(2px);
}

#app .sidebar .navGroup a.active,
#app .sidebar #sideNav a.active{
  background:linear-gradient(90deg, rgba(49,215,230,.24), rgba(49,215,230,.08));
  border-color:rgba(49,215,230,.32);
  color:#ffffff !important;
  box-shadow:inset 3px 0 0 var(--qz-shell-cyan);
}

#app .sidebar .sidebarFoot{
  border-top:1px solid rgba(255,255,255,.08);
  margin:18px 10px 0 !important;
  padding-top:14px !important;
}

#app .sidebar .sidebarFoot a,
#app .sidebar .sidebarFoot button{
  color:#dceaf4 !important;
}

/* ---------- topbar unifiée ---------- */
#app .workspace .topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  margin:10px 0 18px !important;
  padding:16px 18px !important;

  border:none !important;
  border-radius:20px;

  background:
    linear-gradient(120deg,var(--qz-shell-navy-950),var(--qz-shell-navy-900) 62%,#0d5a88);
  box-shadow:var(--qz-shell-shadow);
}

#app .workspace .topbar .pageHeading span,
#app .workspace .topbar #pageEyebrow{
  color:rgba(255,255,255,.72) !important;
}

#app .workspace .topbar .pageHeading h1,
#app .workspace .topbar #pageTitle{
  color:#ffffff !important;
}

#app .workspace .topbar .globalSearch,
#app .workspace .topbar .profileChip,
#app .workspace .topbar .iconBtn{
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:none !important;
  color:#12314c !important;
}

#app .workspace .topbar .globalSearch input{
  color:#12314c !important;
}

#app .workspace .topbar .globalSearch input::placeholder{
  color:#6f879a !important;
}

#app .workspace .topbar .profileChip{
  min-height:42px;
}

#app .workspace .topbar .iconBtn{
  width:42px;
  height:42px;
  border-radius:14px !important;
}

/* ---------- ancien dock => masqué ---------- */
#app .qzp-pro-dock,
#app .qz9-dock,
#app .qz-bottom-dock,
#app [data-qz-dock],
#app [class*="quickDock"],
#app [class*="bottomDock"],
#app [class*="footerDock"]{
  display:none !important;
}

/* ---------- nouveau dock ---------- */
#app .qz-shell-dock{
  position:fixed;
  left:calc(50% + 40px);
  bottom:14px;
  z-index:80;
  transform:translateX(-50%);

  display:flex;
  align-items:center;
  gap:6px;

  max-width:min(780px, calc(100vw - 90px));
  padding:7px;

  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);

  background:
    linear-gradient(110deg,var(--qz-shell-navy-950),var(--qz-shell-navy-900) 60%,#0b4a73);
  box-shadow:
    0 18px 46px rgba(5,25,44,.28),
    inset 0 1px 0 rgba(255,255,255,.05);

  backdrop-filter:blur(14px);
  overflow:auto;
}

#app .qz-shell-dock button{
  display:flex;
  align-items:center;
  gap:8px;

  min-height:36px;
  padding:0 12px;

  border:none;
  border-radius:12px;

  background:transparent;
  color:#dceaf4;

  font-size:11px;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
}

#app .qz-shell-dock button::before{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  flex:0 0 18px;
  border-radius:6px;
  background:rgba(49,215,230,.10);
  color:#9ef7ff;
  font-size:10px;
  font-weight:900;
  content:attr(data-qz-dock-icon);
}

#app .qz-shell-dock button:hover{
  background:rgba(255,255,255,.07);
  color:#fff;
}

#app .qz-shell-dock button.active{
  background:linear-gradient(90deg, rgba(49,215,230,.24), rgba(49,215,230,.09));
  color:#fff;
  box-shadow:inset 0 -2px 0 var(--qz-shell-cyan);
}

#app .qz-shell-dock button.active::before{
  background:rgba(49,215,230,.20);
}

/* ---------- responsive ---------- */
@media (max-width: 1100px){
  #app .qz-shell-dock{
    left:50%;
    max-width:calc(100vw - 24px);
  }
}

@media (max-width: 760px){
  #app .workspace .topbar{
    flex-direction:column;
    align-items:stretch;
  }
}
