/* AptoYa · la porta de /app/ (injectada per construeix.sh a totes les pàgines).
   Fins que porta.js no posa html.porta-oberta, del <body> només es veu #porta. */
html:not(.porta-oberta) body > :not(#porta) { display: none !important; }
html.porta-oberta #porta { display: none !important; }

#porta {
  --porta-fons: #f6f5f1;
  --porta-caixa: #ffffff;
  --porta-tinta: #15171a;
  --porta-suau: #5f646b;
  --porta-accent: #15803d;
  --porta-vora: #e4e2dc;
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: grid;
  place-items: center;
  padding: 16px;
  background: var(--porta-fons);
  color: var(--porta-tinta);
  font: 400 16px/1.5 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
@media (prefers-color-scheme: dark) {
  #porta {
    --porta-fons: #0e1012;
    --porta-caixa: #16191c;
    --porta-tinta: #ecedee;
    --porta-suau: #9ba1a8;
    --porta-accent: #4ade80;
    --porta-vora: #2a2f34;
  }
}
#porta [hidden] { display: none !important; }
#porta .porta-caixa {
  width: 100%;
  max-width: 340px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  text-align: center;
}
#porta .porta-marca {
  font-size: 44px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
}
#porta .porta-marca span { color: var(--porta-accent); }
#porta .porta-msg { margin: 0; font-size: 16px; color: var(--porta-suau); }
#porta[data-fase="denegat"] .porta-msg { color: var(--porta-tinta); font-weight: 600; }
#porta .porta-codi {
  margin: -10px 0 0;
  font: 12px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
  color: var(--porta-suau);
}
#porta .porta-google {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 22px;
  border: 1px solid var(--porta-vora);
  border-radius: 10px;
  background: var(--porta-caixa);
  color: var(--porta-tinta);
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
}
#porta .porta-google:hover { border-color: var(--porta-suau); }
#porta .porta-google:focus-visible { outline: 2px solid var(--porta-accent); outline-offset: 2px; }
#porta .porta-google:disabled { opacity: .6; cursor: default; }
#porta .porta-legal { margin: 6px 0 0; font-size: 13px; line-height: 1.45; color: var(--porta-suau); overflow-wrap: anywhere; }
