/* auth + users */
#nvaAuthOverlay{
  position:fixed;inset:0;z-index:80;display:grid;place-items:center;
  background:rgba(7,19,28,.72);backdrop-filter:blur(6px)
}
.nva-auth-card{
  width:min(420px,92vw);background:#fff;border-radius:20px;padding:28px 24px;
  text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.28)
}
.nva-auth-card h1{margin:10px 0 8px;font:800 28px/1 Sora,Manrope,sans-serif;color:#0e2a3c}
.nva-auth-card p{margin:0 0 16px;color:#5d7582;font-size:14px;line-height:1.45}
.nva-google-btn{display:flex;justify-content:center;min-height:44px}
.nva-auth-note{min-height:18px;color:#9b3a44;font-size:12px!important}
#nvaUserBar{
  position:sticky;top:0;z-index:50;background:#0e2a3c;color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08)
}
.nva-user-inner{
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;
  padding:8px 16px;font:600 12px/1.2 Manrope,sans-serif
}
.nva-user-who{display:flex;gap:10px;align-items:center}
.nva-user-who img{width:32px;height:32px;border-radius:999px;object-fit:cover}
.nva-user-who small{display:block;opacity:.75;font-weight:500}
.nva-user-email{opacity:.8;margin-left:auto}
#nvaLogoutBtn,#nvaUsersBtn{
  border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;
  border-radius:8px;padding:8px 12px;cursor:pointer;font-weight:700
}
.nva-pending-banner{
  background:#fff4e5;color:#9a6a1a;padding:10px 16px;font:600 13px Manrope,sans-serif
}
body:not(.nva-owner) .owner-only{display:none!important}
body.nva-pending main > :not(#solicitar){opacity:.35;pointer-events:none}
body.nva-pending #solicitar{opacity:1;pointer-events:auto}
body.nva-pending aside{opacity:.55}
/* solicitar.html never blocked */


.nva-invite{margin:0 0 18px;padding:14px;border:1px solid rgba(14,42,60,.1);border-radius:14px;background:#f7fbfb}
.nva-invite h3{margin:0 0 6px;font:700 16px Manrope,sans-serif;color:#0e2a3c}
.nva-invite p{margin:0 0 12px;color:#5d7582;font-size:13px}
.nva-invite-form{display:grid;grid-template-columns:1fr 1.2fr .9fr auto;gap:10px;align-items:end}
.nva-invite-form label{display:grid;gap:6px;font:600 12px Manrope,sans-serif}
.nva-invite-form input,.nva-invite-form select{
  border:1px solid #d5e0e4;border-radius:10px;padding:10px 12px;font:500 14px Manrope,sans-serif
}
.nva-invite-form .primary{
  border:0;border-radius:10px;padding:12px 14px;cursor:pointer;font-weight:700;
  background:linear-gradient(135deg,#2aa8a6,#146f7a);color:#fff
}
.nva-invite .msg{display:none;margin-top:10px;padding:10px 12px;border-radius:10px;font-size:13px}
.nva-invite .msg.ok{display:block;background:#e8f7f1;color:#1d6b52}
.nva-invite .msg.err{display:block;background:#fdecee;color:#9b3a44}
@media(max-width:900px){.nva-invite-form{grid-template-columns:1fr}}

/* Foto acima da logo NVA no menu */
.nva-sidebar-user{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  margin:8px 0 16px;
  padding:0 2px 14px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.nva-sidebar-user img{
  width:56px;
  height:56px;
  border-radius:999px;
  object-fit:cover;
  border:2px solid rgba(42,168,166,.45);
  display:block;
}
.nva-sidebar-user-text b{
  display:block;
  color:#fff;
  font:700 13px/1.25 Manrope,sans-serif;
}
.nva-sidebar-user-text small{
  display:block;
  margin-top:4px;
  color:#9eb3bc;
  font:500 11px/1.3 Manrope,sans-serif;
}
aside .logo{
  margin-top:4px;
  margin-bottom:8px;
}
#nvaUserBar .nva-brand-mini{
  font:800 12px/1 Sora,Manrope,sans-serif;
  letter-spacing:.08em;
  opacity:.85;
}
#nvaUserBar .nva-user-who{display:none}
body.sidebar-collapsed .nva-sidebar-user-text{display:none}
body.sidebar-collapsed .nva-sidebar-user{
  align-items:center;
  padding-bottom:10px;
}
body.sidebar-collapsed .nva-sidebar-user img{
  width:36px;height:36px;
}


/* nva-topbar-removed */
#nvaUserBar{display:none!important;height:0!important;padding:0!important;border:0!important}
body{padding-top:0!important}
.nva-sidebar-email{
  display:block;margin-top:6px;color:#9eb3bc;font:500 10px/1.3 Manrope,sans-serif;
  word-break:break-all;opacity:.9
}
.nva-sidebar-actions{
  display:flex;flex-wrap:wrap;gap:8px;width:100%;margin-top:4px
}
.nva-sidebar-actions button{
  border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;
  border-radius:8px;padding:7px 10px;cursor:pointer;font:700 11px Manrope,sans-serif
}
.nva-sidebar-actions button:hover{border-color:#2aa8a6;color:#9fe3e0}
body.sidebar-collapsed .nva-sidebar-actions,
body.sidebar-collapsed .nva-sidebar-email{display:none}


/* === NVA layout v10: sidebar user column + logo top-right === */
#nvaUserBar{display:none!important}

aside{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-top:18px!important;
}

.nva-logo-sidebar-hidden{display:none!important}

.nva-sidebar-user{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  margin:4px 0 18px;
  padding:0 2px 14px;
  border-bottom:1px solid rgba(255,255,255,.12);
  flex:0 0 auto;
}

.nva-sidebar-user img{
  width:56px;height:56px;border-radius:999px;object-fit:cover;
  border:2px solid rgba(42,168,166,.45);display:block
}

.nva-sidebar-user-text b{display:block;color:#fff;font:700 13px/1.25 Manrope,sans-serif}
.nva-sidebar-user-text small{display:block;margin-top:4px;color:#9eb3bc;font:500 11px/1.3 Manrope,sans-serif}
.nva-sidebar-email{display:block;margin-top:6px;color:#9eb3bc;font:500 10px/1.3 Manrope,sans-serif;word-break:break-all}

.nva-sidebar-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin-top:4px}
.nva-sidebar-actions button{
  border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;
  border-radius:8px;padding:7px 10px;cursor:pointer;font:700 11px Manrope,sans-serif
}
.nva-sidebar-actions button:hover{border-color:#2aa8a6;color:#9fe3e0}

header.clean-header,
header.nva-header-with-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px;
  margin-bottom:18px;
}

.nva-header-brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
  text-decoration:none;
  color:#0e2a3c;
  flex:0 0 auto;
}
.nva-header-brand img{
  width:48px;height:48px;object-fit:contain;display:block;
  filter:drop-shadow(0 2px 6px rgba(14,42,60,.18));
}
.nva-header-brand span{
  font:800 18px/1 Sora,Manrope,sans-serif;letter-spacing:.04em;color:#146f7a
}

body.sidebar-collapsed .nva-sidebar-user-text,
body.sidebar-collapsed .nva-sidebar-actions{display:none}
body.sidebar-collapsed .nva-sidebar-user{align-items:center}
body.sidebar-collapsed .nva-sidebar-user img{width:36px;height:36px}

@media(max-width:720px){
  .nva-header-brand span{display:none}
}
