
/* =========================================================
   GranHub 2.7 — UX refinada / versão pública 2.0.1
   ========================================================= */

/* ---------- Movimento confiável em desktop, tablet e mobile ---------- */
html.gh27-motion-enabled .gh27-motion-item{
  opacity:0;
  transform:translateY(12px) scale(.992);
  transition:opacity .52s cubic-bezier(.2,.8,.2,1),transform .52s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,border-color .22s ease!important;
}
html.gh27-motion-enabled .gh27-motion-item.gh27-inview{
  opacity:1;
  transform:none;
}
.btn,.icon-btn,.nav-link,.theme-option,.gh27-social-icon,.calendar-day{
  will-change:transform;
}
.btn:hover,.icon-btn:hover{transform:translateY(-2px)}
.btn:active,.icon-btn:active{transform:translateY(0) scale(.97)!important}
.nav-link:hover{transform:translateX(3px)}
.service-shortcut:hover img{transform:scale(1.06)!important}

/* ---------- Barra superior fixa ---------- */
.portal-topbar,.admin-topbar{
  position:sticky!important;
  top:0!important;
  z-index:320!important;
  isolation:isolate;
}
.portal-topbar:after,.admin-topbar:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(9,114,255,.18),transparent);
  pointer-events:none;
}

/* ---------- Menu mobile: rolagem própria, página travada ---------- */
html.gh-menu-open,body.gh-menu-open{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
@media(max-width:860px){
  .portal-sidebar,.admin-sidebar{
    position:fixed!important;
    top:0!important;
    bottom:auto!important;
    left:0!important;
    height:100dvh!important;
    max-height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    z-index:620!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y!important;
    background:#fff;
  }
  .portal-sidebar .sidebar-nav,.admin-sidebar .sidebar-nav{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:22px!important;
    scrollbar-width:thin;
  }
  .portal-sidebar .sidebar-foot,.admin-sidebar .sidebar-foot{
    flex:0 0 auto!important;
    margin-top:0!important;
    padding-bottom:max(12px,env(safe-area-inset-bottom))!important;
    background:inherit;
  }
  .mobile-overlay{
    position:fixed!important;
    inset:0!important;
    z-index:600!important;
    background:rgba(7,24,47,.46)!important;
    backdrop-filter:blur(4px)!important;
    -webkit-backdrop-filter:blur(4px)!important;
  }
  .portal-sidebar.open,.admin-sidebar.open{transform:translate3d(0,0,0)!important}
  .portal-sidebar:not(.open),.admin-sidebar:not(.open){transform:translate3d(-105%,0,0)!important}
  body.gh-menu-open .portal-main,body.gh-menu-open .admin-main{pointer-events:none}
  body.gh-menu-open .portal-sidebar,body.gh-menu-open .admin-sidebar{pointer-events:auto}
}

/* ---------- Mobile portal reorganizado ---------- */
@media(max-width:760px){
  .portal-content{padding:12px 11px 30px!important}
  .page-head{gap:10px!important;margin-bottom:14px!important}
  .page-head h1{font-size:clamp(1.35rem,7vw,1.8rem)!important}
  .page-head p{font-size:.75rem!important;line-height:1.5!important}
  .dashboard-welcome{grid-template-columns:1fr!important;gap:10px!important}
  .dashboard-welcome-main{padding:18px 15px!important}
  .dashboard-welcome-main h1{font-size:1.65rem!important;line-height:1.08!important}
  .dashboard-welcome-actions{display:grid!important;grid-template-columns:1fr!important}
  .dashboard-welcome-actions .btn{width:100%!important}
  .dashboard-quick-panel{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .dashboard-quick-card{padding:11px!important;align-items:flex-start!important}
  .dashboard-quick-card small{line-height:1.35}
  .company-hero-renewed{min-height:220px!important;border-radius:13px!important}
  .company-hero-renewed .company-hero-content{height:220px!important;padding:15px!important}
  .company-profile-link{width:100%!important;margin-top:8px!important}
  .service-shortcut-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .service-shortcut-image{height:100px!important}
  .service-shortcut-body{padding:10px!important}
  .service-shortcut-body p{display:none!important}
  .viewer-highlight{min-height:165px!important}
  .viewer-highlight-copy strong{font-size:1rem!important}
  .viewer-highlight-copy span{font-size:.67rem!important}
  .compact-metrics{grid-template-columns:1fr 1fr!important}
  .home-summary-grid{grid-template-columns:1fr!important}
  .project-progress-overview{grid-template-columns:1fr!important}
  .progress-donut{width:126px!important}
  .calendar-card{padding:13px!important}
  .calendar-toolbar{align-items:flex-start!important}
  .calendar-weekdays,.calendar-grid{gap:3px!important}
  .calendar-day{min-height:47px!important;padding:4px!important}
  .calendar-event-mini{font-size:.48rem!important;padding:2px 3px!important}
  .topbar-actions .brasilia-clock{display:none!important}
}
@media(max-width:430px){
  .dashboard-quick-panel,.service-shortcut-grid,.compact-metrics{grid-template-columns:1fr!important}
  .service-shortcut{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important}
  .service-shortcut-image{height:100%!important;min-height:104px!important}
  .service-shortcut-body{align-self:center!important}
}

/* ---------- Notificações / toasts ---------- */
.toast-host{
  position:fixed!important;
  top:18px!important;
  right:18px!important;
  left:auto!important;
  width:min(370px,calc(100vw - 28px))!important;
  max-height:calc(100dvh - 36px)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:9px!important;
  z-index:120000!important;
  pointer-events:none!important;
}
.toast.gh27-toast{
  width:100%!important;
  height:auto!important;
  min-height:68px!important;
  max-height:none!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 26px!important;
  grid-template-rows:auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 10px 10px 11px!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.91)!important;
  border:1px solid rgba(212,226,244,.92)!important;
  color:#17375f!important;
  box-shadow:0 18px 46px rgba(14,44,84,.18),inset 0 1px rgba(255,255,255,.85)!important;
  backdrop-filter:blur(18px) saturate(1.3)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.3)!important;
  overflow:hidden!important;
  pointer-events:auto!important;
  animation:gh27ToastIn .46s cubic-bezier(.18,.85,.22,1.08) both!important;
}
.toast.gh27-toast.leaving{animation:gh27ToastOut .24s ease both!important}
.gh27-toast-icon{
  width:42px;height:42px;border-radius:13px;display:grid;place-items:center;
  background:#eef6ff;color:#0972ff;
  box-shadow:inset 0 0 0 1px rgba(9,114,255,.08);
}
.gh27-toast-icon svg{width:19px!important;height:19px!important;padding:0!important;background:none!important}
.gh27-toast-copy{min-width:0}
.toast.gh27-toast strong{display:block!important;color:#17375f!important;font-size:.77rem!important;margin:0 0 3px!important}
.toast.gh27-toast p{margin:0!important;color:#667f9d!important;font-size:.68rem!important;line-height:1.42!important;overflow-wrap:anywhere}
.gh27-toast-close{width:26px;height:26px;border:0;background:transparent;border-radius:8px;color:#8ba0b7;display:grid;place-items:center}
.gh27-toast-close:hover{background:#edf4fc;color:#2c5d94}
.toast.success .gh27-toast-icon{background:#eaf9f2;color:#098258}
.toast.error .gh27-toast-icon{background:#fff0f2;color:#c63849}
.toast.warning .gh27-toast-icon{background:#fff7e8;color:#b47708}
.toast.info .gh27-toast-icon{background:#eef6ff;color:#0972ff}
.gh27-toast-progress{position:absolute!important;left:0!important;bottom:0!important;width:100%!important;height:3px!important;background:linear-gradient(90deg,#0972ff,#68b1ff)!important;transform-origin:left!important;animation:gh27ToastLife 4.2s linear both!important}
.toast.success .gh27-toast-progress{background:linear-gradient(90deg,#0b9b68,#65d6ae)!important}
.toast.error .gh27-toast-progress{background:linear-gradient(90deg,#d94050,#ff9ba6)!important}
.toast.warning .gh27-toast-progress{background:linear-gradient(90deg,#c38312,#ffd072)!important}
.toast.paused .gh27-toast-progress{animation-play-state:paused!important}
@keyframes gh27ToastIn{from{opacity:0;transform:translateX(34px) scale(.96);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes gh27ToastOut{to{opacity:0;transform:translateX(24px) scale(.97)}}
@keyframes gh27ToastLife{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:620px){
  .toast-host{top:10px!important;right:10px!important;width:calc(100vw - 20px)!important}
  .toast.gh27-toast{min-height:62px!important;border-radius:15px!important}
}

/* Dropdown de notificações */
.top-notification-popover{
  width:min(390px,calc(100vw - 24px))!important;
  max-height:min(520px,72dvh)!important;
  overflow:hidden!important;
  border-radius:16px!important;
  border:1px solid #dce9f8!important;
  box-shadow:0 22px 55px rgba(15,54,105,.18)!important;
  background:rgba(255,255,255,.97)!important;
  backdrop-filter:blur(18px)!important;
}
.top-notification-list{max-height:390px!important;overflow-y:auto!important;overscroll-behavior:contain}
.top-notification-item{transition:.2s ease!important}
.top-notification-item:hover{background:#f4f8ff!important;transform:translateX(2px)}
.top-notification-item.unread{background:linear-gradient(90deg,#f1f7ff,#fff)!important}
.top-notification-item .nicon{background:#eaf4ff!important;color:#0972ff!important}

/* ---------- Login: imagem mais visível, benefícios ---------- */
.gh26-login-visual-image{
  filter:saturate(.98) contrast(1.03) brightness(.96)!important;
  transform:scale(1.015)!important;
}
.gh26-login-visual-overlay{
  background:linear-gradient(105deg,rgba(4,33,72,.73) 0%,rgba(6,76,160,.48) 46%,rgba(9,114,255,.24) 100%),radial-gradient(circle at 72% 28%,rgba(132,207,255,.22),transparent 34%)!important;
  backdrop-filter:blur(.35px)!important;
}
.gh27-login-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:24px;max-width:760px}
.gh27-login-benefits>span{
  position:relative;display:grid;grid-template-columns:27px minmax(0,1fr);gap:2px 8px;align-items:center;
  padding:11px;border-radius:13px;border:1px solid rgba(255,255,255,.18);
  background:rgba(9,47,98,.23);backdrop-filter:blur(12px);
  animation:gh27BenefitFloat 5.4s ease-in-out infinite;
}
.gh27-login-benefits>span:nth-child(2){animation-delay:-1.8s}.gh27-login-benefits>span:nth-child(3){animation-delay:-3.5s}
.gh27-login-benefits svg{grid-row:1/3;width:18px;height:18px;color:#bfe2ff}
.gh27-login-benefits b{font-size:.68rem;color:#fff}.gh27-login-benefits small{font-size:.57rem;color:rgba(255,255,255,.7);line-height:1.3}
@keyframes gh27BenefitFloat{50%{transform:translateY(-5px);border-color:rgba(255,255,255,.3)}}
@media(max-width:1080px){.gh27-login-benefits{grid-template-columns:1fr;max-width:390px}.gh27-login-benefits>span:nth-child(n+3){display:none}}
@media(max-width:820px){.gh27-login-benefits{display:none}}

/* ---------- Loader limpo: logo + spinner ---------- */
.access-loader.gh26-access-loader,.gh-page-loader{
  min-height:100dvh!important;
  background:rgba(248,251,255,.97)!important;
  backdrop-filter:blur(10px)!important;
}
.gh27-loader-brand{position:relative}
.gh27-loader-brand:after,.gh-loader-logo:after{
  content:"";position:absolute;inset:-8px -28px;background:linear-gradient(105deg,transparent 20%,rgba(111,181,255,.26) 48%,transparent 76%);
  transform:translateX(-130%);animation:gh27LogoFlash 1.45s ease-in-out infinite;
}
.gh27-loader-brand img{width:min(170px,48vw)!important}
.gh27-loading-ring{
  width:46px;height:46px;border-radius:50%;margin:0 auto 17px;position:relative;
  border:2px solid #dceafa;border-top-color:#0972ff;border-right-color:#6cb4ff;
  animation:ghSpin .78s linear infinite;
  box-shadow:0 7px 24px rgba(9,114,255,.10);
}
@keyframes gh27LogoFlash{0%,18%{transform:translateX(-130%)}70%,100%{transform:translateX(130%)}}

/* ---------- Documentos: preview maior no desktop ---------- */
.modal-lg{
  width:min(1220px,calc(100vw - 42px))!important;
  max-height:calc(100dvh - 34px)!important;
  overflow:hidden!important;
}
.modal-lg .modal-body{padding:12px!important;overflow:auto!important}
.gh27-document-preview{
  width:100%;
  min-height:clamp(520px,76dvh,860px);
  display:grid;place-items:center;background:#eef3f8;border-radius:11px;overflow:hidden;
}
.gh27-document-preview iframe{width:100%;height:clamp(520px,76dvh,860px);border:0;background:#fff}
.gh27-document-preview img{max-width:100%;max-height:78dvh;object-fit:contain;border-radius:8px;box-shadow:0 12px 34px rgba(10,41,78,.12)}
@media(max-width:760px){
  .modal-lg{width:calc(100vw - 12px)!important;max-height:calc(100dvh - 12px)!important}
  .gh27-document-preview,.gh27-document-preview iframe{min-height:68dvh;height:68dvh}
}

/* ---------- Agenda cliente ---------- */
.calendar-toolbar-actions{display:flex;align-items:center;gap:7px}
.gh27-calendar-add{width:34px!important;height:34px!important;border-radius:10px!important;background:#0972ff!important;color:#fff!important;border-color:#0972ff!important;box-shadow:0 7px 16px rgba(9,114,255,.17)}
.gh27-event-intro{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;margin-bottom:14px;border-radius:10px;border:1px solid #dbe9f8;background:#f7fbff}
.gh27-event-intro>span{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#e9f4ff;color:#0972ff;flex:0 0 auto}
.gh27-event-intro strong{display:block;font-size:.77rem}.gh27-event-intro p{margin:3px 0 0;color:#768da7;font-size:.66rem;line-height:1.45}

/* ---------- Home benefícios ---------- */
.gh27-home-benefits{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.gh27-home-benefits span{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:9px;background:rgba(255,255,255,.72);border:1px solid #dbe9fa;color:#52769f;font-size:.63rem;font-weight:720}
.gh27-home-benefits svg{color:#0972ff}

/* ---------- Status operacional ---------- */
.gh27-operational-hero{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:13px;align-items:center;padding:17px;margin-bottom:14px}
.gh27-operational-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#eaf4ff;color:#0972ff}
.gh27-operational-hero h2{margin:3px 0 3px;font-size:1.15rem}.gh27-operational-hero p{margin:0;color:var(--gh-muted);font-size:.7rem}
.gh27-status-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.gh27-status-card{padding:15px!important;min-width:0}
.gh27-status-card-head{display:flex;gap:8px;align-items:center}.gh27-status-card-head>span{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#edf5ff;color:#0972ff}
.gh27-status-card-head h3{margin:0;font-size:.7rem}.gh27-status-card-head small{font-size:.54rem;color:#8da0b6}
.gh27-status-card>strong{display:block;margin:14px 0 5px;font-size:1.12rem;color:#163f70;overflow-wrap:anywhere}.gh27-status-card>p{font-size:.61rem;line-height:1.45}
.gh27-socials{margin-top:14px}.gh27-social-icons{display:flex;gap:9px;flex-wrap:wrap}
.gh27-social-icon{width:46px;height:46px;border-radius:13px;border:1px solid #dce9f7;background:#f8fbff;color:#27639f;display:grid;place-items:center;position:relative}
.gh27-social-icon:hover{background:#0972ff;color:#fff;border-color:#0972ff;transform:translateY(-3px)}
.gh27-social-icon span{position:absolute;left:50%;bottom:-24px;transform:translateX(-50%);opacity:0;pointer-events:none;padding:4px 6px;border-radius:6px;background:#12345c;color:#fff;font-size:.54rem;white-space:nowrap;transition:.18s}
.gh27-social-icon:hover span{opacity:1;bottom:-28px}
.gh27-company-compliance{margin-top:14px;padding:17px}.gh27-company-mini{display:flex;gap:9px;flex-wrap:wrap}.gh27-company-mini span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:9px;background:#f7fbff;border:1px solid #e0ebf8;font-size:.65rem;color:#56718f}
@media(max-width:1180px){.gh27-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:700px){.gh27-status-grid{grid-template-columns:1fr 1fr!important}.gh27-operational-hero{grid-template-columns:42px minmax(0,1fr)}.gh27-operational-hero>.badge{grid-column:1/-1;width:max-content}}
@media(max-width:430px){.gh27-status-grid{grid-template-columns:1fr!important}}

/* ---------- Temas: somente três, realmente distintos ---------- */
.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.theme-preview{height:58px!important;display:grid;place-items:center!important;position:relative;overflow:hidden}
.theme-preview i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.72);color:#17375f;box-shadow:0 5px 14px rgba(0,0,0,.08)}
.theme-preview.padrao{background:linear-gradient(135deg,#ffffff 0%,#edf5ff 52%,#0972ff 100%)!important}
.theme-preview.escuro{background:linear-gradient(135deg,#2c3037 0%,#171a20 60%,#0f1115 100%)!important}
.theme-preview.escuro i{background:rgba(255,255,255,.12);color:#fff}
.theme-preview.sst{background:linear-gradient(135deg,#f4fff9 0%,#dff7eb 52%,#11905e 100%)!important}
.theme-preview.sst i{color:#0b784f}
@media(max-width:650px){.theme-grid{grid-template-columns:1fr!important}}

/* Dark cinza real */
html[data-gh-theme="escuro"]{
  --gh-blue:#8dbfff;
  --gh-blue-700:#6ca9f7;
  --gh-bg:#202329;
  --gh-bg-2:#272b31;
  --gh-surface:#2b2f36;
  --gh-border:#3a4049;
  --gh-border-strong:#4b525d;
  --gh-text:#f0f3f7;
  --gh-muted:#aeb7c3;
  --gh-navy:#f4f7fb;
}
html[data-gh-theme="escuro"] body{background:linear-gradient(180deg,#1f2227,#24282e)!important}
html[data-gh-theme="escuro"] .portal-sidebar,
html[data-gh-theme="escuro"] .portal-topbar,
html[data-gh-theme="escuro"] .card,
html[data-gh-theme="escuro"] .metric-card,
html[data-gh-theme="escuro"] .dashboard-welcome-main,
html[data-gh-theme="escuro"] .dashboard-quick-card,
html[data-gh-theme="escuro"] .service-shortcut,
html[data-gh-theme="escuro"] .user-chip,
html[data-gh-theme="escuro"] .icon-btn,
html[data-gh-theme="escuro"] .field input,
html[data-gh-theme="escuro"] .field textarea,
html[data-gh-theme="escuro"] .field select{
  background:#2b2f36!important;color:#f0f3f7!important;border-color:#3b424c!important;
}
html[data-gh-theme="escuro"] .portal-sidebar{background:#24272d!important}
html[data-gh-theme="escuro"] .nav-link{color:#c1cad4!important}
html[data-gh-theme="escuro"] .nav-link:hover,html[data-gh-theme="escuro"] .nav-link.active{background:#343941!important;color:#fff!important}
html[data-gh-theme="escuro"] .dashboard-welcome-main h1,
html[data-gh-theme="escuro"] .page-head h1{color:#fff!important}
html[data-gh-theme="escuro"] .gh27-home-benefits span{background:#343941;border-color:#454c57;color:#d3dbe4}
html[data-gh-theme="escuro"] .sidebar-status{background:#29382f!important;border-color:#385243!important;color:#bfe1c9!important}

/* SST: verde substitui destaques azuis */
html[data-gh-theme="sst"]{
  --gh-blue:#0d9662;
  --gh-blue-700:#08784f;
  --gh-bg:#f2faf6;
  --gh-bg-2:#e9f6ef;
  --gh-border:#d3eadf;
  --gh-border-strong:#b9dccb;
  --gh-text:#164837;
  --gh-muted:#658c7d;
}
html[data-gh-theme="sst"] body{background:linear-gradient(180deg,#f8fdf9,#edf8f2)!important}
html[data-gh-theme="sst"] .btn-primary,
html[data-gh-theme="sst"] .gh27-calendar-add{background:linear-gradient(135deg,#0d9662,#27ad7a)!important;border-color:#0d9662!important}
html[data-gh-theme="sst"] .metric-icon,
html[data-gh-theme="sst"] .qicon,
html[data-gh-theme="sst"] .gh27-operational-icon,
html[data-gh-theme="sst"] .gh27-status-card-head>span{background:#e7f7ef!important;color:#0d9662!important}
html[data-gh-theme="sst"] .nav-link.active{background:linear-gradient(90deg,#e5f6ed,#f5fbf8)!important;color:#08784f!important;box-shadow:inset 3px 0 0 #0d9662!important}
html[data-gh-theme="sst"] .gh27-home-benefits svg{color:#0d9662!important}

/* ---------- Legal / transparência ---------- */
.legal-contact-box{display:grid;gap:4px;padding:15px 16px;margin:24px 0;border:1px solid #dce9f7;border-radius:11px;background:#f8fbff;color:#5d7692;font-size:.75rem}
.legal-contact-box strong{font-size:.84rem;color:#214c79}
.legal-footer a{color:#1764bd;font-weight:750}
.gh27-company-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}
.gh27-company-data-item{padding:13px;border:1px solid #dfe9f5;border-radius:10px;background:#fbfdff}.gh27-company-data-item small{display:block;color:#8497ad;font-size:.62rem}.gh27-company-data-item strong{display:block;margin-top:3px;color:#284f7b;font-size:.78rem;overflow-wrap:anywhere}
@media(max-width:620px){.gh27-company-data-grid{grid-template-columns:1fr}}

/* ---------- Logout / sessão ---------- */
.session-warning-v22{padding:4px 3px!important}
.session-clock-visual{box-shadow:0 12px 28px rgba(9,114,255,.11)!important}
.gh26-logout-card{max-width:440px!important}

/* Load inicial das páginas internas: logo + spinner somente */
.gh-page-loader strong,.gh-page-loader p,.gh-page-loader .gh-load-line{display:none!important}
.gh-page-loader-inner{position:relative!important;z-index:2!important}
.gh-page-loader .gh-loader-logo{width:min(168px,48vw)!important;margin:0 auto 24px!important;position:relative!important;filter:none!important}
.gh-page-loader .gh-loader-motion{
  width:46px!important;height:46px!important;margin:0 auto!important;border-radius:50%!important;
  border:2px solid #dceafa!important;border-top-color:#0972ff!important;border-right-color:#67adff!important;
  background:transparent!important;animation:ghSpin .78s linear infinite!important;
}
.gh-page-loader .gh-loader-motion:before,.gh-page-loader .gh-loader-motion:after{display:none!important}

/* Identidade lateral exclusiva por tema */
html[data-gh-theme="escuro"] .portal-sidebar{background:#24272d!important}
html[data-gh-theme="sst"] .portal-sidebar{
  background:linear-gradient(180deg,#0d7753,#0b6246)!important;
  border-right-color:#0b6949!important;
}
html[data-gh-theme="sst"] .sidebar-brand{border-bottom-color:rgba(255,255,255,.14)!important}
html[data-gh-theme="sst"] .portal-sidebar .nav-section{color:rgba(255,255,255,.58)!important}
html[data-gh-theme="sst"] .portal-sidebar .nav-link{color:rgba(255,255,255,.82)!important}
html[data-gh-theme="sst"] .portal-sidebar .nav-link:hover{background:rgba(255,255,255,.09)!important;color:#fff!important}
html[data-gh-theme="sst"] .portal-sidebar .nav-link.active{
  background:rgba(255,255,255,.14)!important;color:#fff!important;box-shadow:inset 3px 0 0 #b6f0d2!important
}
html[data-gh-theme="sst"] .portal-sidebar .sidebar-foot{border-top-color:rgba(255,255,255,.14)!important}
html[data-gh-theme="sst"] .portal-sidebar .sidebar-status{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.16)!important;color:#eafff4!important}
html[data-gh-theme="sst"] .portal-sidebar .sidebar-mini-links a{color:rgba(255,255,255,.7)!important}

.toast.gh27-toast:after{display:none!important}


/* =========================================================
   GranHub 2.7.1 — correções de navegação, perfil e velocidade
   ========================================================= */

/* O cabeçalho superior do portal é o elemento que permanece fixo durante a rolagem. */
.portal-topbar{
  position:fixed!important;
  top:0!important;
  left:var(--gh-sidebar)!important;
  right:0!important;
  width:auto!important;
  z-index:560!important;
  box-shadow:0 8px 24px rgba(17,55,103,.06)!important;
}
.portal-content{
  padding-top:calc(var(--gh-header) + 22px)!important;
}

/* Perfil: ações de salvar/cancelar só aparecem depois de clicar em Editar perfil. */
.profile-form.is-readonly .gh26-edit-actions{display:none!important}
.profile-form.is-readonly .gh26-edit-profile{display:inline-flex!important}
.profile-form.is-editing .gh26-edit-actions{display:flex!important}
.profile-form.is-editing .gh26-edit-profile{display:none!important}
.profile-form.is-readonly input:not(:disabled){cursor:default!important}

/* Volta o menu lateral mobile ao comportamento simples da versão anterior. */
html.gh-menu-open,body.gh-menu-open{overflow:auto!important;overscroll-behavior:auto!important}
@media(max-width:860px){
  .portal-topbar{left:0!important}
  .portal-content{padding-top:calc(var(--gh-header) + 16px)!important}
  .portal-sidebar,.admin-sidebar{
    bottom:0!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
  }
  .portal-sidebar .sidebar-nav,.admin-sidebar .sidebar-nav{
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.gh-menu-open .portal-main,body.gh-menu-open .admin-main{pointer-events:auto!important}
}

/* Loader mais rápido e discreto. */
.gh-page-loader .gh-loader-logo{animation-duration:.36s!important}
.gh-page-loader .gh-loader-motion,.gh27-loading-ring{animation-duration:.7s!important}
