/* Painel 50 Hz — ajudas de leitura para quem não é especialista (fase 1): glossário, hora contada, «Espanha a zero»,
   bloco «Hoje e amanhã em 3 frases». Gaspar do Amaral · 7 nov 2026 · com recurso a IA · © Aprecisa.com */
.gl { border-bottom: 1.5px dotted currentColor; cursor: help; text-decoration: none; }
.gl:focus-visible { outline: 2px solid var(--dourado); outline-offset: 2px; border-radius: 2px; }
.gl-dica { position: absolute; z-index: 50; background: #fff; color: var(--texto, #1F2933); border: 1px solid var(--linha); border-left: 4px solid var(--dourado);
  border-radius: 8px; box-shadow: 0 8px 26px rgba(28, 29, 56, .18); padding: 10px 12px; font: 400 .9rem/1.45 system-ui, -apple-system, "Segoe UI", sans-serif; }
.gl-dica strong { color: var(--noite); }

/* linhas novas nos gráficos */
.ln-ntc { fill: none; stroke: var(--noite); stroke-width: 1.6; stroke-dasharray: 5 4; opacity: .85; }
.pt.pt-ntc { height: 0; border-top: 2px dashed var(--noite); border-radius: 0; vertical-align: 3px; background: none; }
.ln.ln-preco-es { fill: none; stroke: #D55E00; stroke-width: 1.6; stroke-dasharray: 4 3; }
.pt.ln-preco-es { height: 0; border-top: 2px dashed #D55E00; border-radius: 0; vertical-align: 3px; background: none; }
.pt.pt-cent { display: none; }

/* faixas «Espanha a zero» (cores Okabe-Ito, translúcidas; a razão também vai no texto) */
.mz { pointer-events: none; opacity: .22; }
.mz-fechada { fill: #86272E; background: #86272E; }
.mz-naocomp { fill: #8C96A0; background: #8C96A0; }
.mz-vende { fill: #56B4E9; background: #56B4E9; }
.mz-naosabe { fill: #B0871F; background: #B0871F; }
.legenda .pt.mz { opacity: .45; }
.mz-rot { font: 600 11px system-ui, sans-serif; fill: var(--noite); text-anchor: middle; pointer-events: none; paint-order: stroke; stroke: rgba(255, 255, 255, .85); stroke-width: 3px; }

/* a hora escolhida, contada */
.m-hora { margin: 16px 0 6px; padding: 14px 16px; background: #FBF8F1; border: 1px solid var(--linha); border-radius: 10px; font-size: 1rem; line-height: 1.55; }
.m-hora p { margin: 0 0 8px; } .m-hora p:last-child { margin-bottom: 0; }
.m-hora .fh-cab { font-family: var(--serif); font-size: 1.08rem; color: var(--noite); }
.m-hora .fh-n { display: inline-block; min-width: 1.3em; font-weight: 700; color: #8A2A2F; }
.m-hora strong { color: var(--noite); }
.m-naosabe { margin: 14px 0 0; border: 1px solid var(--linha); border-radius: 10px; padding: 10px 14px; background: #fff; }
.m-naosabe summary { cursor: pointer; font-weight: 600; color: var(--noite); }
.m-naosabe ul { margin: 10px 0 2px; padding-left: 20px; } .m-naosabe li { margin: 0 0 6px; line-height: 1.5; }

/* página inicial: «Hoje e amanhã em 3 frases» */
.hoje3 { padding: 28px 0 8px; }
.hoje3 h2 { margin: 0 0 12px; }
.hoje3 ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.hoje3 li { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: start; padding: 12px 14px; background: #fff; border: 1px solid var(--linha); border-radius: 10px; font-size: 1.02rem; line-height: 1.5; }
.hoje3 .h3-n { font: 700 1.05rem var(--serif); color: #8A2A2F; text-align: center; }
.semaforo { display: inline-flex; gap: 4px; padding: 4px 5px; background: var(--noite); border-radius: 12px; vertical-align: middle; margin-right: 8px; }
.semaforo i { width: 11px; height: 11px; border-radius: 50%; background: #3B3D5C; display: block; }
.semaforo.s-normal i.v, .semaforo.s-atencao i.a, .semaforo.s-risco i.r { box-shadow: 0 0 6px currentColor; }
.semaforo.s-normal i.v { background: #2E9E5B; color: #2E9E5B; }
.semaforo.s-atencao i.a { background: #E6A700; color: #E6A700; }
.semaforo.s-risco i.r { background: #D0343C; color: #D0343C; }
.semaforo.s-espera i { background: #6B6E8A; }
.hoje3 .h3-pe { font-size: .85rem; color: var(--texto-3); margin: 10px 0 0; }
@media (max-width: 620px) { .hoje3 li { grid-template-columns: 26px 1fr; padding: 10px 12px; font-size: .98rem; } .m-hora { padding: 12px; font-size: .96rem; } }
@media (max-width: 620px) { .m-tip .tip-tot td { white-space: normal; } .m-tip { overflow-x: hidden; } }
/* fase 1b-4: partilhar a hora escolhida */
.fh-partilha { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; margin-top: 12px !important; padding-top: 10px; border-top: 1px solid var(--linha); }
.fh-bt { font: 600 .92rem system-ui, sans-serif; color: var(--noite); background: #fff; border: 1.5px solid var(--noite); border-radius: 8px; padding: 7px 12px; cursor: pointer; text-decoration: none; }
.fh-bt:hover, .fh-bt:focus-visible { background: var(--noite); color: #fff; }
.fh-ok { font-size: .85rem; color: var(--texto-3); word-break: break-all; }
/* lista dos grupos parados em Espanha (07/11/2026) */
.fh-lista { margin: 4px 0 10px 1.3em; }
.fh-lista summary { cursor: pointer; font-weight: 600; color: var(--noite); }
.fh-tab-w { overflow-x: auto; margin-top: 8px; }
.fh-tab { border-collapse: collapse; font-size: .88rem; min-width: 560px; background: #fff; }
.fh-tab th, .fh-tab td { text-align: left; padding: 5px 8px; border-bottom: 1px solid var(--linha); white-space: nowrap; }
.fh-tab th { font-weight: 600; color: var(--texto-3); }
.fh-tab td.num, .fh-tab th:nth-child(4) { text-align: right; font-variant-numeric: tabular-nums; }
.fh-tab tr.tot td { font-weight: 700; border-bottom: 0; }
.fh-nota { font-size: .82rem; color: var(--texto-3); margin: 6px 0 0 !important; }
