.gcIcon{width:1.12em;height:1.12em;display:inline-block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.15em}.sideNav button>svg,.navTools button>svg{width:20px;height:20px;flex:0 0 20px}.sideNav button>i .gcIcon,.navTools summary>i .gcIcon{width:20px;height:20px}
.gcPreference{border-top:1px solid var(--line);padding-top:14px}
body.institutionalPalette:not(.theme-dark){--accent:#234f7d;--accent-solid:#1b4268}
.institutionalPalette .appSidebar{background:radial-gradient(circle at 15% 0%,rgb(46 87 125 / 18%),transparent 28%),var(--navy)}
.institutionalPalette .brandMark,.institutionalPalette .loginMark{background:linear-gradient(145deg,#315f89,#1b4268)}
.institutionalPalette .sideNav button.active{background:rgb(49 95 137 / 24%);box-shadow:inset 3px 0 #6f9bc0}
body.institutionalPalette:not(.theme-dark) button.primary{background:linear-gradient(#2d5f8e,#1b4268);border-color:var(--accent-solid);box-shadow:0 1px 2px rgb(27 66 104 / 25%)}
.gcModalOverlay{position:fixed;inset:0;background:#11182799;backdrop-filter:blur(5px);display:none;z-index:2500;align-items:flex-start;justify-content:center;padding-top:min(15vh,130px)}.gcModalOverlay.on{display:flex}.commandPalette{width:min(680px,calc(100vw - 28px));max-height:70vh;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 80px #0005;overflow:hidden;color:var(--ink)}.commandSearch{display:flex;gap:12px;align-items:center;padding:15px 17px;border-bottom:1px solid var(--line)}.commandSearch .gcIcon{width:22px;height:22px;color:var(--muted)}.commandSearch input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:600 16px/1.4 inherit}.commandResults{padding:7px;max-height:52vh;overflow:auto}.commandResults button{width:100%;display:grid;grid-template-columns:24px 1fr auto;gap:11px;align-items:center;text-align:left;border:0;background:transparent;color:var(--ink);padding:10px;border-radius:8px;cursor:pointer}.commandResults button.on,.commandResults button:hover{background:color-mix(in srgb,var(--accent) 11%,transparent)}.commandResults span{display:grid;gap:2px}.commandResults small{color:var(--muted)}.commandResults kbd{font:11px inherit;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:2px 5px}.commandPalette footer{display:flex;gap:18px;padding:8px 14px;background:var(--bg);color:var(--muted);font-size:11px;border-top:1px solid var(--line)}
.gcEnhancementOverlay{z-index:20}.gcEnhancementDrawer{z-index:30}.guidedEmpty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:30px}.guidedEmpty .gcIcon{width:38px;height:38px;color:var(--accent)}.guidedEmpty.error .gcIcon{color:var(--vermelho)}.completionIntro{padding:5px 2px 18px}.completionIntro h2{margin:5px 0}.completionIntro p{color:var(--muted);max-width:620px}.completionQueue{display:grid;gap:9px}.completionItem{display:grid;grid-template-columns:32px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:9px;padding:12px;background:var(--panel)}.completionItem.critico{border-left-color:var(--vermelho)}.completionItem.aviso{border-left-color:#b57600}.completionItem h3{font-size:14px;margin:3px 0}.completionItem p{font-size:12px;color:var(--muted);margin:0;max-width:650px}.completionActions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.completionItem.semNumero{grid-template-columns:1fr auto}.completionDismissed{margin-top:18px}.completionDismissed>summary{cursor:pointer;font-size:13px;color:var(--muted);padding:8px 2px;list-style:none}.completionDismissed>summary::-webkit-details-marker{display:none}.completionDismissed>summary:before{content:"\25b8 ";display:inline-block;transition:transform .15s}.completionDismissed[open]>summary:before{transform:rotate(90deg)}.completionDismissed .completionQueue{margin-top:8px}.queueNumber{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--bg);font-weight:700;color:var(--muted)}
.gcTourOverlay{position:fixed;inset:0;display:none;z-index:2500;pointer-events:auto}.gcTourOverlay.on{display:block}.gcTourSpotlight{position:fixed;border:2px solid color-mix(in srgb,var(--accent) 75%,white);border-radius:13px;box-shadow:0 0 0 9999px #0f172ab8,0 0 0 5px color-mix(in srgb,var(--accent) 18%,transparent);transition:left .2s ease,top .2s ease,width .2s ease,height .2s ease;pointer-events:none}.gcTour{position:fixed;width:min(430px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 24px 80px #0008;pointer-events:auto;transition:opacity .12s ease}.tourIcon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);margin-bottom:15px}.tourIcon .gcIcon{width:24px;height:24px}.gcTour h2{margin:7px 0 9px}.gcTour p{color:var(--muted);line-height:1.58;margin-bottom:0}.tourDots{display:flex;gap:6px;margin:19px 0}.tourDots i{width:18px;height:4px;border-radius:4px;background:var(--line)}.tourDots i.on{background:var(--accent)}.tourActions,.tourActions>span{display:flex;align-items:center;gap:8px}.tourActions{justify-content:space-between}.tourActions>span{justify-content:flex-end}
.stateCue{display:inline-flex!important;align-items:center;gap:5px}.stateCue .gcIcon{width:13px;height:13px}.guidedEmpty.inline{min-height:150px;border:1px dashed var(--line);border-radius:10px;margin:8px 0}
.progressoPasso{margin:0;font-size:var(--txt-md);color:var(--ink)}.prog.indeterminada>i{width:100%;background:repeating-linear-gradient(115deg,var(--accent) 0 14px,color-mix(in srgb,var(--accent) 55%,transparent) 14px 28px);background-size:28px 100%;animation:progIndet .9s linear infinite}@keyframes progIndet{to{background-position:28px 0}}@media(prefers-reduced-motion:reduce){.prog.indeterminada>i{animation:none}}
.priorityAge b .gcIcon{width:19px;height:19px}.priorityItem>em .gcIcon,.summaryCard>i .gcIcon,.rowActionAbrir .gcIcon{width:15px;height:15px}.lapis .gcIcon{width:15px;height:15px}.backDetail{display:inline-flex;align-items:center;gap:5px}.backDetail .gcIcon{width:16px;height:16px}#btnVerPendencias .gcIcon{width:14px;height:14px}
@media(max-width:800px){.completionItem{grid-template-columns:28px 1fr}.completionItem>button,.completionActions{grid-column:2}.completionItem.semNumero{grid-template-columns:1fr}.completionItem.semNumero>.completionActions{grid-column:1}}
/* As barras de aviso no telemóvel. Duas gerações de erro no mesmo tabuleiro,
   e as duas pela mesma causa: o × de dispensar tratado como uma COLUNA.

   Primeiro a terceira coluna era fixa em 30 px - a medida do × -, e "Já remeti",
   que na barra da remessa mensal ocupa a mesma coluna, saía do cartão pela
   direita com o texto cortado. Passou a `auto`. Depois o × da barra mensal, que
   nem sequer tinha posição declarada, foi auto-colocado nessa coluna `auto`
   larga o suficiente para "Já remeti": ficava um × solto a meio da altura, com
   50 px de vazio à volta, e o texto espremido a dois terços da largura do
   cartão.

   O × NÃO É UMA COLUNA - é um afixe do canto superior direito, como em qualquer
   cartão que se fecha. Sai da grelha (`position:absolute`), e com ele sai a
   causa das duas avarias: a largura do botão de dispensar deixa de ter qualquer
   efeito sobre a largura do texto. O texto passa a atravessar o tabuleiro todo
   (`grid-column:2/-1`) e só reserva a goteira de que precisa para não passar por
   baixo do ×. Duas colunas por omissão; a terceira é da barra mensal, que tem
   dois botões lado a lado, e só dela - senão as outras ficavam com uma goteira
   de 10 px à direita. */
@media(max-width:620px){.avisoBar.on{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px}#avisoRelatorios.avisoBar.on{grid-template-columns:30px minmax(0,1fr) auto}.avisoBar .icone{grid-column:1;grid-row:1;align-self:start;margin-top:2px}.avisoBar .icone .gcIcon{width:22px;height:22px}.avisoBar #avisoTexto,.avisoBar #avisoRelatoriosTexto,.avisoBar #avisoAjudaTexto{grid-column:2/-1;grid-row:1;min-width:0;font-size:var(--txt-md)}.avisoBar .avisoDismiss{position:absolute;top:6px;right:6px}.avisoBar #avisoTexto,.avisoBar #avisoRelatoriosTexto{padding-right:28px}.avisoBar #avisoAbrir{grid-column:2;grid-row:2}.avisoBar #avisoRelatoriosAbrir{grid-column:2;grid-row:2}.avisoBar #avisoRelatoriosAdiar{grid-column:3;grid-row:2;white-space:nowrap}.avisoBar #avisoAjudaAbrir{grid-column:2;grid-row:2}}
@media(max-width:620px){.gcTour{left:14px!important;right:14px!important;top:auto!important;bottom:14px;width:auto;max-height:min(58vh,520px);padding:19px}.tourIcon{width:38px;height:38px;margin-bottom:10px}.gcTour h2{font-size:var(--txt-xl)}.tourActions{align-items:flex-end}.tourActions>span{flex-wrap:wrap}}

/* Linha temporal da EOP: módulo novo, mantido fora do monólito design.css. */
.eopTimeline{position:relative;overflow:hidden}.timelineHeader{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px}.timelineHeader h3,.recentActivityHead h3{margin:3px 0 5px}.timelineHeader p{margin:0;max-width:720px;color:var(--muted)}.timelineLoadState{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:var(--muted);font-size:12px;background:var(--bg)}.timelineTools{display:grid;gap:12px;margin-bottom:20px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.timelineTools>input{width:100%;margin:0;background:var(--panel)}.timelineFilters{display:flex;flex-wrap:wrap;gap:7px}.timelineFilters button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:var(--panel);color:var(--muted);cursor:pointer;font:600 12px/1.2 inherit}.timelineFilters button.on{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--panel));color:var(--ink)}.timelineFilters .gcIcon{width:15px;height:15px}.timelineList{position:relative;padding-left:3px}.timelineList:before{content:"";position:absolute;left:20px;top:41px;bottom:16px;width:2px;background:var(--line)}.timelineDay{position:relative;z-index:1;width:max-content;max-width:100%;margin:20px 0 10px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font-size:12px}.timelineDay:first-child{margin-top:0}.timelineEvent{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:start;padding:11px 8px 11px 0}.timelineMarker{position:relative;z-index:1;display:grid;place-items:center;width:38px;height:38px;border:5px solid var(--panel);border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent)}.timelineMarker .gcIcon{width:17px;height:17px}.timeline-documento .timelineMarker{color:#2563a6;background:#eaf3fb}.timeline-alteracao .timelineMarker{color:#7357a7;background:#f2eef9}.timeline-ingestao .timelineMarker{color:#8b5b12;background:#fff4dc}.timeline-base .timelineMarker{color:#156f74;background:#e5f7f6}.timeline-relatorio .timelineMarker{color:#9a3e62;background:#fbeaf0}.timeline-conformidade .timelineMarker{color:#417428;background:#edf7e8}.timelineEventMeta{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:11px}.timelineEventMeta span{border-radius:999px;background:var(--bg);padding:2px 7px}.timelineEvent h4{margin:4px 0 2px;font-size:14px}.timelineEvent p{margin:0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.timelineEventAction{align-self:center;white-space:nowrap}.timelineEmpty{display:grid;justify-items:center;text-align:center;padding:38px 20px;color:var(--muted)}.timelineEmpty .gcIcon{width:30px;height:30px;margin-bottom:6px}.timelineEmpty h4{margin:5px 0}.timelineEmpty p{margin:0}.recentActivity{padding-top:15px!important;padding-bottom:15px!important}.recentActivityHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.recentActivityHead .textButton{white-space:nowrap}.recentActivityList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.recentActivityItem{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start;padding:9px;border-radius:9px;background:var(--bg)}.recentActivityItem>.gcIcon{width:18px;height:18px;margin-top:1px;color:var(--accent)}.recentActivityItem div{display:grid;gap:2px;min-width:0}.recentActivityItem b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recentActivityItem span{color:var(--muted);font-size:10px}
@media(max-width:900px){.recentActivityList{grid-template-columns:1fr}.timelineHeader{display:grid;gap:10px}.timelineLoadState{justify-self:start}.timelineEvent{grid-template-columns:42px minmax(0,1fr)}.timelineEventAction{grid-column:2;justify-self:start;margin-top:2px}}
@media(max-width:700px){.timelineTools{padding:10px}.timelineFilters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.timelineFilters button{justify-content:flex-start}.timelineEvent{gap:7px}.timelineList:before{left:19px}.recentActivityHead{display:grid;gap:6px}.recentActivityHead .textButton{justify-self:start}}

/* A pesquisa temporal era o único campo da ficha ainda com o aspeto nativo do
   browser. Os destinos de cada acontecimento funcionam como ligações de
   contexto e não como botões primários concorrentes. */
.timelineTools > input[type="search"] {
  height: 42px;
  padding: 0 12px;
  appearance: none;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  outline: 0;
  color: var(--ink);
  font: inherit;
}

.timelineTools > input[type="search"]:focus-visible {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent);
}

.timelineEventAction {
  min-height: 34px;
  padding: 4px 7px;
  border-color: transparent;
  background: transparent;
  color: var(--accent);
}

.timelineEventAction::after { content: " →"; }
.timelineEventAction:hover { background: color-mix(in srgb, var(--accent) 8%, transparent); }

@media (max-width: 700px) {
  .timelineFilters button { min-height: 44px; }
  .timelineEventAction { min-height: 44px; margin-top: 0; }
}
.gcDemoBanner{position:fixed;left:50%;transform:translateX(-50%);top:10px;z-index:2600;display:flex;align-items:center;gap:9px;max-width:min(680px,calc(100vw - 24px));padding:9px 15px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 14%,var(--panel));color:var(--ink);box-shadow:0 10px 30px #0004;font-size:var(--txt-sm);line-height:1.4;pointer-events:none}.gcDemoBanner[hidden]{display:none}.gcDemoBanner .gcIcon{flex:0 0 17px;width:17px;height:17px;color:var(--accent)}@media(max-width:620px){.gcDemoBanner{top:6px;left:8px;right:8px;transform:none;max-width:none;border-radius:12px;padding:8px 12px;font-size:var(--txt-sm);line-height:1.35}}
button.small.danger{color:var(--vermelho,#b42318);border-color:color-mix(in srgb,var(--vermelho,#b42318) 35%,var(--line))}button.small.danger:hover:not(:disabled){background:color-mix(in srgb,var(--vermelho,#b42318) 10%,transparent);border-color:color-mix(in srgb,var(--vermelho,#b42318) 55%,var(--line))}
.passwordField{display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);padding-right:2px}.passwordField:focus-within{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.passwordField>input{flex:1;min-width:0;border:0;background:transparent;box-shadow:none}.passwordField>input:focus{outline:none;box-shadow:none}

/* Ver a plataforma pelos olhos de outra conta. A faixa é permanente enquanto
   durar - quem se esquece de que está a observar conclui que a plataforma está
   avariada - e leva a saída consigo, porque a gestão de contas fecha durante a
   observação e daí não se chega ao botão. */
.simBanner{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid color-mix(in srgb,var(--amarelo) 40%,var(--line));background:color-mix(in srgb,var(--amarelo) 13%,var(--panel));color:var(--ink);font-size:var(--txt-sm);line-height:1.35}
.simBanner[hidden]{display:none}
.simBanner .simEye{flex:0 0 auto;color:var(--amarelo);font-size:15px}
.simBanner .simTexto{display:flex;flex-direction:column;min-width:0}
.simBanner .simTexto small{color:var(--muted);font-size:var(--txt-xs)}
.simBanner button{margin-left:auto;flex:0 0 auto}
@media(max-width:620px){.simBanner{flex-wrap:wrap;padding:8px 12px}.simBanner button{margin-left:0;width:100%}}
.teamImpersonate .teamImpersonateRow{gap:10px;flex-wrap:wrap;margin-top:10px}
/* Era o único seletor da plataforma sem estilo nenhum: moldura cinzenta do
   sistema, cantos direitos e 21px de altura contra os 38px de todos os outros
   - abaixo do alvo de toque no telemóvel. Toma a forma dos campos de
   `.formRow`, que é o que está à volta dele. */
.teamImpersonate .teamImpersonateSelect{flex:1 1 240px;min-width:0;min-height:38px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);color:var(--ink);font:inherit;font-size:var(--txt-sm)}

/* A ficha normaliza h3/h4 históricos para h2/h3, preservando aqui a
   apresentação própria da linha temporal. */
.timelineHeader h2,.recentActivityHead h2{margin:3px 0 5px}
.timelineEvent h3{margin:4px 0 2px;font-size:14px}
.timelineEmpty h3{margin:5px 0}
