/* CPE Tools - telas do controle de acesso dentro das ferramentas */
html.cpe-wait body { visibility: hidden; }
html.cpe-wait::after { content: ""; position: fixed; inset: 0; background: #f3f8fc; }
.cpe-screen { position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center; padding: 16px; background: rgba(7, 29, 51, .55); font: 15px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.cpe-screen:not(.cpe-modal) { background: #f3f8fc; }
.cpe-card { max-width: 440px; width: 100%; background: #fff; color: #182634; border-radius: 16px; padding: 28px 28px 24px; box-shadow: 0 22px 50px rgba(7, 29, 51, .18); border-top: 5px solid #18abeb; }
.cpe-card h2 { margin: 0 0 10px; font-size: 20px; color: #071d33; }
.cpe-card p { margin: 0 0 18px; color: #4a5b6b; }
.cpe-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.cpe-btn { display: inline-block; padding: 9px 18px; border-radius: 999px; background: #0a7cb4; color: #fff !important; text-decoration: none; font-weight: 650; }
.cpe-btn.ghost { background: transparent; color: #0a7cb4 !important; box-shadow: inset 0 0 0 2px #0a7cb4; }
.cpe-acct-btn { display: inline-flex; align-items: center; gap: 6px; flex: none; white-space: nowrap; text-decoration: none; font: 600 14px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: #0a7cb4 !important; background: #fff; box-shadow: inset 0 0 0 1.5px #0a7cb4; padding: 8px 16px; border-radius: 999px; transition: background .2s, color .2s; }
.cpe-acct-btn:hover { background: #0a7cb4; color: #fff !important; }
.cpe-acct-btn .cpe-demo { background: #f0a020; color: #071d33; border-radius: 4px; padding: 1px 5px; font-weight: 700; font-size: 10px; letter-spacing: .05em; }
@media (max-width: 700px) { .cpe-acct-btn { padding: 6px 11px; font-size: 13px; } }
@media (pointer: coarse) { .cpe-acct-btn, .cpe-btn { min-height: 40px; } .cpe-btn { display: inline-flex; align-items: center; } }
.cpe-locked { opacity: .55; }
#tabs [data-tab].cpe-locked::after { content: " 🔒"; font-size: .85em; }
[data-regions] button.cpe-locked .go::before { content: "🔒 "; }
@media print { .cpe-acct-btn { display: none; } }
/* CoastalWatch: com o botao "Minha conta" no topo, o subtitulo do cabecalho so cabe em telas largas */
@media (max-width: 1240px) { .cw-header .cw-ttl { display: none; } }
/* BayShape: com o botao "Minha conta", o subtitulo quebra em ate duas linhas em vez de ser cortado com "..." */
html[data-cpe-product="bayshape"] header h1 span { white-space: normal; line-height: 1.2; max-width: 300px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
@media (max-width: 1240px) { html[data-cpe-product="bayshape"] header h1 span { display: none; } }
