/* Gestão Associativa V6.14.1 — correções de navegação e interface */

/* O cabeçalho acompanha sempre o utilizador. A reserva no body evita que
   fique por cima do conteúdo quando passa de sticky para fixed. */
body.logged-in{padding-top:var(--unified-header)}
body:not(.logged-in){padding-top:0}
body.logged-in>#appHeader{
  position:fixed!important;
  inset:0 0 auto 0;
  width:100%;
  z-index:210;
}
body.logged-in.teacher-mode,
body.logged-in.pos62Kiosk{padding-top:0}
body.pos62Kiosk>#appHeader{display:none!important}

/* A grelha antiga do login tinha uma segunda coluna invisível. */
#loginView.loginUnifiedShell{
  grid-template-columns:minmax(0,1fr)!important;
  grid-auto-columns:minmax(0,1fr)!important;
  gap:0!important;
  place-items:center!important;
}
.loginUnifiedCard{justify-self:center;align-self:center}

/* Confirma visualmente o clique enquanto o módulo consulta os dados. */
body.navigation-pending::after{
  content:"";
  position:fixed;
  top:calc(var(--unified-header) - 3px);
  right:0;
  left:var(--unified-sidebar);
  z-index:225;
  height:3px;
  background:linear-gradient(90deg,transparent,var(--brand3),#fff,var(--brand3),transparent);
  background-size:220% 100%;
  animation:navigationProgressV6141 .85s linear infinite;
  pointer-events:none;
}
body.sidebar-collapsed.navigation-pending::after{left:var(--unified-sidebar-compact)}
@keyframes navigationProgressV6141{to{background-position:-220% 0}}

/* Página Sobre: rótulos legíveis e logótipo configurado da associação. */
.aboutInstallationCard .row{align-items:flex-start}
.aboutInstallationCard .row>span{
  flex:0 0 126px;
  min-width:126px;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
}
.aboutInstallationCard .row>b,
.aboutInstallationCard .row>code{min-width:0;text-align:right;overflow-wrap:anywhere}
.aboutHero img{object-fit:contain}

@media(max-width:1050px){
  body.navigation-pending::after,
  body.sidebar-collapsed.navigation-pending::after{left:0}
}

@media(max-width:760px){
  /* O painel inicial mantém botões confortáveis sem ocupar vários ecrãs. */
  .dashboardHero{gap:10px;margin-bottom:12px}
  .dashboardHeroMain{padding:18px 17px;border-radius:20px}
  .dashboardHeroValue{margin:8px 0 14px;font-size:36px}
  .dashboardHeroBreakdown{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }
  .dashboardHeroBreakdown b{font-size:15px}
  .dashboardHeroBreakdown small{font-size:10.5px}
  .dashboardUpdated{margin-top:14px}
  .dashboardQuickPanel{padding:13px;border-radius:18px}
  .dashboardQuickTitle{margin-bottom:9px}
  .dashboardQuickActions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px;
  }
  .dashboardQuickActions button{
    min-height:66px;
    padding:9px 7px;
    gap:4px;
    border-radius:13px;
    font-size:13px;
    line-height:1.15;
  }
  .dashboardQuickActions button span{font-size:20px}
  .dashboardQuickActions button:last-child:nth-child(odd){grid-column:1/-1!important}
  .dashboardMetricCard{padding:13px}
  .dashboardStatusCard{padding:11px}

  .aboutInstallationCard .row{
    display:grid;
    grid-template-columns:minmax(112px,36%) minmax(0,1fr);
    align-items:start;
  }
  .aboutInstallationCard .row>span{min-width:0;white-space:nowrap}
  .aboutInstallationCard .row>b,
  .aboutInstallationCard .row>code{text-align:right}
}

@media(max-width:370px){
  .dashboardHeroBreakdown{grid-template-columns:1fr 1fr}
  .dashboardQuickActions{grid-template-columns:1fr!important}
  .dashboardQuickActions button:last-child:nth-child(odd){grid-column:auto!important}
  .aboutInstallationCard .row{grid-template-columns:1fr}
  .aboutInstallationCard .row>b,
  .aboutInstallationCard .row>code{padding-top:3px;text-align:left}
}

@media print{
  body.logged-in{padding-top:0}
  body.logged-in>#appHeader,body.navigation-pending::after{display:none!important}
}
