/* Tela da ocorrência do agente (C3 e C5): celular, uma mão, botões grandes. Vale na página /agente/<token> e na aba
   Ocorrência do app do agente. Prefixo oc- para não bater no estilo do app. */
.oc { display: flex; flex-direction: column; gap: 12px; max-width: 520px; margin: 0 auto; width: 100%; }
.oc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; }
/* vermelho da central (#c62828): texto branco de 15 px passa de 4,5:1, o que o vermelho do app (#e3262a) não dá */
.oc-topo { --cor: #c62828; --ink: #fff; background: var(--cor); color: var(--ink); border-radius: 22px; padding: 18px; }
.oc-topo.oc-medica { --cor: #2f6fd6; }
.oc-topo.oc-central { --cor: #c9a24a; --ink: #141414; }
.oc-topo.oc-fim { --cor: #202024; --ink: #fff; }
.oc-tipo { font-size: 15px; font-weight: 700; letter-spacing: 0.08em; line-height: 1.3; margin: 0; }
.oc-tipo:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; border-radius: 4px; }
.oc-estado { font-size: 24px; line-height: 30px; font-weight: 700; margin: 6px 0 0; }
.oc-quando { font-size: 15px; margin: 4px 0 0; }
.oc-selos { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; background: #17171a; border-radius: 16px; padding: 12px 16px; }
.oc-selo { font-size: 12px; font-weight: 800; letter-spacing: 0.06em; padding: 4px 10px; border-radius: 6px; color: #fff; }
.oc-pessoa { display: flex; align-items: center; gap: 14px; background: #17171a; border-radius: 16px; padding: 12px 16px; }
.oc-foto { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; object-position: 50% 30%; background: #2a2a2f; flex: none; display: block; }
.oc-nome { display: block; font-size: 22px; line-height: 26px; }
.oc-sub { display: block; color: #b4b4b8; font-size: 15px; line-height: 20px; margin-top: 2px; }
.oc-acoes { display: flex; flex-direction: column; gap: 10px; }
.oc-acoes[hidden] { display: none; }
.oc-btn { display: flex; align-items: center; justify-content: center; min-height: 56px; padding: 0 20px; border-radius: 999px; font: inherit; font-size: 18px; font-weight: 700; text-decoration: none; border: 0; cursor: pointer; width: 100%; text-align: center; }
.oc-btn:disabled { opacity: 0.6; cursor: default; }
.oc-btn-1 { background: #fff; color: #0e0e10; min-height: 64px; font-size: 20px; }
.oc-btn-2 { background: #202024; color: #fff; }
.oc-btn-3 { background: transparent; color: #b4b4b8; border: 1px solid #38383e; min-height: 48px; font-size: 16px; font-weight: 600; }
.oc-btn-190 { background: #e3262a; color: #fff; }
.oc-eta { margin: 0; font-size: 17px; font-weight: 600; }
.oc-mapa { height: 280px; border-radius: 16px; overflow: hidden; background: #17171a; }
.oc-mapa[hidden] { display: none; }
.oc-rotas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.oc-rotas > [hidden] { display: none; }
.oc-moveu { display: flex; flex-direction: column; gap: 8px; background: #241d10; border: 1px solid rgba(224, 160, 32, 0.4); border-radius: 14px; padding: 12px 14px; font-size: 15px; }
.oc-moveu[hidden] { display: none; }
.oc-cartao { background: #17171a; border-radius: 16px; padding: 14px 16px; }
/* a orientação discreta da central (contrato do agente, cláusula 5.5): cartão comum, sem cor de alarme nem palavra que
   denuncie o pedido a quem olhar a tela */
.oc-orientacao { display: flex; flex-direction: column; gap: 8px; border: 1px solid rgba(255, 255, 255, 0.18); }
/* a nova oferta e o reforço chamado para outro alarme (01/11, tarde) */
.oc-aviso { display: flex; flex-direction: column; gap: 8px; border: 1px solid rgba(201, 162, 74, 0.6); }
.oc-h2 { font-size: 13px; text-transform: uppercase; letter-spacing: 0.06em; color: #8e8e93; margin: 0 0 6px; font-weight: 600; }
.oc-breve { margin: 0; white-space: pre-wrap; font-size: 16px; line-height: 22px; }
.oc-meta { color: #8e8e93; font-size: 13px; line-height: 18px; margin: 0; }
.oc .leaflet-control-attribution a { text-decoration: underline; }
@media (prefers-reduced-motion: reduce) { .oc * { transition: none !important; animation: none !important; } }

/* F2: ensaio com o agente, marcado TESTE */
.oc-selo-teste { background: #6b4fbb; }
