/* Página pública de status: cartões por serviço, faixa de 24 horas e calendário de 90 dias. */
.st-page { --st-up:#16a34a; --st-degraded:#d97706; --st-down:#dc2626; --st-nodata:#dbe3ee; --st-ink:#0f1e33; --st-muted:#526176; --st-line:#d8e1ec; }
.st-hero { padding:128px 24px 56px; background:linear-gradient(180deg,#eef3fb 0%,#f8fafc 100%); border-bottom:1px solid var(--st-line); }
.st-hero h1 { margin-top:14px; font-size:clamp(30px,4vw,44px); font-weight:800; letter-spacing:-.03em; color:var(--st-ink); }
.st-overall { display:flex; flex-wrap:wrap; align-items:center; gap:18px 22px; margin-top:28px; padding:22px 24px; border:1px solid var(--st-line); border-left:5px solid var(--st-nodata); border-radius:16px; background:#fff; box-shadow:0 18px 40px -30px #12294566; }
.st-overall[data-state="operational"] { border-left-color:var(--st-up); }
.st-overall[data-state="degraded"] { border-left-color:var(--st-degraded); }
.st-overall[data-state="partial"], .st-overall[data-state="outage"], .st-overall[data-state="stale"] { border-left-color:var(--st-down); }
.st-pulse { position:relative; flex:0 0 14px; width:14px; height:14px; border-radius:50%; background:var(--st-nodata); }
.st-overall[data-state="operational"] .st-pulse { background:var(--st-up); }
.st-overall[data-state="degraded"] .st-pulse { background:var(--st-degraded); }
.st-overall[data-state="partial"] .st-pulse, .st-overall[data-state="outage"] .st-pulse, .st-overall[data-state="stale"] .st-pulse { background:var(--st-down); }
.st-overall[data-state="operational"] .st-pulse::after { content:""; position:absolute; inset:-5px; border-radius:50%; border:2px solid var(--st-up); opacity:.4; animation:st-ping 2.4s ease-out infinite; }
@keyframes st-ping { from { transform:scale(.6); opacity:.5; } to { transform:scale(1.6); opacity:0; } }
.st-overall-text { display:grid; flex:1 1 280px; gap:2px; min-width:0; }
.st-overall-text strong { font-size:20px; font-weight:700; color:var(--st-ink); }
.st-overall-text span, .st-muted { font-size:14px; line-height:1.7; color:var(--st-muted); }
.st-small { font-size:12px; }
.st-overall-meta { display:flex; flex-wrap:wrap; align-items:center; gap:12px; font-size:13px; color:var(--st-muted); }
.st-refresh { padding:8px 14px; border:1px solid var(--st-line); border-radius:10px; background:#f8fafc; font-size:13px; font-weight:600; color:#1d4ed8; cursor:pointer; }
.st-refresh:hover { background:#eef3fb; }
.st-refresh:focus-visible, .st-card:focus-within { outline:2px solid #2563eb; outline-offset:2px; }
.st-notices { display:grid; gap:10px; margin-top:16px; }
.st-notice { padding:14px 18px; border:1px solid #f3d19c; border-radius:12px; background:#fffaf0; font-size:14px; line-height:1.6; color:#6b4410; }
.st-notice strong { display:block; color:#4a2e06; }

.st-section-head { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:28px; }
.st-section h2 { margin-top:8px; font-size:clamp(24px,3vw,32px); font-weight:700; letter-spacing:-.02em; color:var(--st-ink); }
.st-legend { display:flex; flex-wrap:wrap; gap:14px; font-size:12px; color:var(--st-muted); }
.st-legend li { display:flex; align-items:center; gap:6px; }
.st-legend i, .st-dot { display:inline-block; width:10px; height:10px; border-radius:3px; background:var(--st-nodata); }
.is-up { background:var(--st-up) !important; }
.is-degraded { background:var(--st-degraded) !important; }
.is-down { background:var(--st-down) !important; }
.is-nodata { background:var(--st-nodata) !important; }

.st-components { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.st-card { display:grid; gap:14px; padding:22px; border:1px solid var(--st-line); border-radius:14px; background:#f8fafc; }
.st-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.st-card h3 { font-size:17px; font-weight:650; color:var(--st-ink); }
.st-card p { margin-top:4px; font-size:13px; line-height:1.6; color:var(--st-muted); }
.st-pill { flex-shrink:0; display:inline-flex; align-items:center; gap:6px; padding:5px 10px; border-radius:999px; background:#eef2f7; font-size:12px; font-weight:700; color:#334155; white-space:nowrap; }
.st-pill[data-status="up"] { background:#e8f7ee; color:#166534; }
.st-pill[data-status="degraded"] { background:#fdf2e3; color:#92400e; }
.st-pill[data-status="down"] { background:#fdecec; color:#991b1b; }
.st-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0; }
.st-metrics div { padding:10px 12px; border:1px solid var(--st-line); border-radius:10px; background:#fff; }
.st-metrics dt { font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--st-muted); }
.st-metrics dd { margin:2px 0 0; font-size:16px; font-weight:700; font-variant-numeric:tabular-nums; color:var(--st-ink); }
.st-hours { display:grid; grid-template-columns:repeat(24,minmax(0,1fr)); gap:3px; }
.st-hours span { height:26px; border-radius:4px; background:var(--st-nodata); }
.st-hours-scale { display:flex; justify-content:space-between; margin-top:-8px; font-size:11px; color:var(--st-muted); }

.st-split { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:56px; align-items:start; }
.st-uptime { display:grid; margin-top:24px; }
.st-uptime strong { font-size:40px; font-weight:800; letter-spacing:-.03em; font-variant-numeric:tabular-nums; color:var(--st-ink); }
.st-uptime span { font-size:13px; color:var(--st-muted); }
.st-calendar-wrap { padding:22px; border:1px solid var(--st-line); border-radius:14px; background:#fff; overflow-x:auto; }
.st-calendar { display:grid; grid-auto-flow:column; grid-template-rows:repeat(7,16px); grid-auto-columns:16px; gap:4px; justify-content:start; }
.st-calendar span { border-radius:4px; background:var(--st-nodata); }
.st-calendar span.is-future { background:transparent; }
.st-calendar-wrap .st-muted { margin-top:14px; }

.st-incidents { display:grid; gap:12px; max-width:920px; }
.st-incident { display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 14px; padding:18px 20px; border:1px solid var(--st-line); border-radius:12px; background:#fff; }
.st-incident .st-dot { margin-top:6px; }
.st-incident strong { font-size:15px; color:var(--st-ink); }
.st-incident span { grid-column:2; font-size:13px; line-height:1.6; color:var(--st-muted); }
.st-empty { padding:22px; border:1px dashed var(--st-line); border-radius:12px; font-size:14px; color:var(--st-muted); }

.st-info { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.st-info article { padding:24px; border:1px solid var(--st-line); border-radius:14px; background:#fff; }
.st-info h3 { font-size:16px; font-weight:650; color:var(--st-ink); }
.st-info p { margin-top:10px; font-size:14px; line-height:1.75; color:var(--st-muted); }
.st-info a, .st-notice a { color:#1d4ed8; }

@media (max-width:1023px) {
  .st-split { grid-template-columns:1fr; gap:28px; }
  .st-info { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  .st-hero { padding:104px 16px 40px; }
  .st-components { grid-template-columns:1fr; }
  .st-metrics dd { font-size:14px; }
  .st-hours { gap:2px; }
  .st-hours span { height:22px; border-radius:3px; }
  .st-calendar { grid-template-rows:repeat(7,12px); grid-auto-columns:12px; gap:3px; }
}
@media (prefers-reduced-motion:reduce) { .st-overall .st-pulse::after { animation:none; } }

/* Identidade institucional e painel de acompanhamento. */
.st-page { --st-up:#139568; --st-degraded:#d48b17; --st-down:#d54451; --st-nodata:#e1e7ef; }
.st-page [hidden] { display:none !important; }
.st-page section[id] { scroll-margin-top:100px; }
.st-hero { position:relative; padding:126px 32px 40px; background:radial-gradient(ellipse at 85% 10%,#224a7980,transparent 55%),linear-gradient(120deg,#0d2039,#142f52); border:0; }
.st-hero .pp-breadcrumb { color:#a7bbd4; }
.st-hero .pp-breadcrumb a { color:#dce7f5; }
.st-hero .pp-eyebrow { color:#90b8f5; }
.st-hero-heading { display:flex; justify-content:space-between; align-items:center; gap:48px; margin:30px 0; }
.st-hero h1 { margin:14px 0 18px; font-size:clamp(36px,4.4vw,58px); line-height:1.12; color:#fff; font-weight:800; letter-spacing:-.045em; }
.st-hero h1 em { font-style:normal; color:#a4c8ff; }
.st-hero-description { max-width:620px; color:#c1d0e2; font-size:16px; line-height:1.8; }
.st-hero-mark { width:240px; flex-shrink:0; color:#8ebafb; text-align:center; }
.st-hero-mark svg { width:100%; filter:drop-shadow(0 0 18px #6aabff50); }
.st-hero-mark span { display:block; margin-top:14px; font-size:10px; letter-spacing:.22em; color:#9fb9d9; }
.st-overall { margin-top:32px; border-radius:18px; padding:26px; background:#fff; box-shadow:0 12px 32px #0000000d; }
.st-overall-text strong { font-weight:800; }
.st-overall-meta { flex-direction:column; align-items:flex-end; gap:8px; }
.st-refresh { display:flex; align-items:center; gap:8px; padding:10px 16px; background:#eff5ff; border-color:#d8e5fa; }
.st-refresh span { font-size:20px; line-height:1; }
.st-refresh:disabled { cursor:wait; opacity:.65; }
.st-auto { margin:14px 0 26px; font-size:12px; color:#afc4df; }
.st-auto span { margin-right:5px; }
.st-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.st-summary>div { padding:22px; border:1px solid #6484b24a; border-radius:14px; background:#ffffff08; }
.st-summary dt { font-size:12px; color:#c1d0e2; }
.st-summary dd { margin:10px 0 5px; font-size:clamp(23px,2.8vw,34px); line-height:1.2; font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:-.04em; color:#fff; }
.st-summary span { font-size:11px; line-height:1.6; color:#9db4d1; }
.st-jump { background:#fff; border-bottom:1px solid var(--st-line); padding:0 32px; }
.st-jump>div { display:flex; flex-wrap:wrap; gap:8px 30px; }
.st-jump a { padding:20px 0; font-size:13px; font-weight:700; color:var(--st-muted); }
.st-jump a:hover { color:#2563eb; }
.corporate-subpage main>section.pp-section.st-section { padding:64px 32px; }
.st-section-head .st-muted { margin-top:10px; }
.st-filter { display:flex; flex-wrap:wrap; gap:4px; padding:5px; border:1px solid #dfe6ef; border-radius:12px; background:#f1f5f9; }
.st-filter button { padding:8px 12px; border-radius:8px; font-size:12px; font-weight:700; color:#5d6c80; cursor:pointer; }
.st-filter button[aria-pressed="true"] { background:#fff; color:#1d4ed8; box-shadow:0 2px 6px #18345212; }
.st-page :is(a,button,summary):focus-visible { outline:3px solid #609bfa; outline-offset:4px; }
.st-components { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.st-card { position:relative; padding:24px; border-radius:18px; background:#fff; box-shadow:0 6px 22px #132e4e06; gap:18px; }
.st-card-head { flex-wrap:wrap; }
.st-card-heading { display:flex; gap:12px; align-items:flex-start; width:100%; }
.st-service-icon { display:grid; place-items:center; width:40px; height:40px; flex-shrink:0; border-radius:12px; color:#245cb2; background:#edf3fe; }
.st-service-icon svg { width:21px; height:21px; }
.st-card h3 { font-size:15px; font-weight:800; }
.st-card p { font-size:12px; min-height:38px; }
.st-card .st-pill { margin-top:2px; }
.st-metrics { gap:6px; }
.st-metrics div { padding:11px 8px; border:0; background:#f3f6fa; border-radius:9px; }
.st-metrics dt { font-size:9px; letter-spacing:.03em; }
.st-metrics dd { font-size:15px; }
.st-hours span { height:30px; }
.st-hours-caption { margin:0 !important; min-height:0 !important; font-size:10px !important; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.st-section>.pp-container>.st-legend { margin-top:24px; }
.st-split { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:48px; align-items:center; }
.st-split .st-muted { margin-top:14px; }
.st-uptime strong { color:#176644; font-size:52px; }
.st-calendar-wrap { padding:28px; border-radius:18px; box-shadow:0 8px 26px #132e4e06; overflow:visible; }
.st-calendar-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin-bottom:26px; }
.st-calendar-head>strong { font-size:14px; color:var(--st-ink); }
.st-calendar-layout { display:flex; gap:10px; }
.st-weekdays { display:grid; grid-template-rows:repeat(7,24px); gap:5px; font-size:10px; text-align:center; color:var(--st-muted); }
.st-weekdays span { display:grid; place-items:center; }
.st-calendar { flex:1; min-width:0; grid-template-rows:repeat(7,24px); grid-auto-columns:minmax(0,1fr); gap:5px; }
.st-calendar :is(span,button) { min-width:0; border:0; border-radius:5px; background:var(--st-nodata); }
.st-calendar button { cursor:pointer; }
.st-calendar button:hover { opacity:.75; }
.st-calendar button[aria-pressed="true"] { outline:2px solid #173f72; outline-offset:2px; }
.st-calendar-scale { display:flex; justify-content:space-between; margin:14px 0 0 22px; color:var(--st-muted); font-size:11px; }
.st-day-detail { min-height:48px; padding:14px; border-radius:10px; background:#f1f5fa; font-size:12px; line-height:1.7; color:#334761; margin:18px 0; }
.st-count { padding:8px 14px; border-radius:99px; background:#eef3fb; color:#476080; font-size:12px; font-weight:700; }
.st-incidents { max-width:none; }
.st-incident { padding:22px; border-radius:14px; border-left:3px solid var(--st-down); }
.st-incident.is-resolved { border-left-color:var(--st-up); }
.st-empty { display:flex; align-items:center; gap:18px; padding:26px; border-style:solid; background:#f8fafc; line-height:1.7; }
.st-empty-symbol { display:grid; place-items:center; flex-shrink:0; width:42px; height:42px; border-radius:50%; color:#21784f; background:#e3f2eb; font-size:20px; }
.st-empty strong { display:block; color:var(--st-ink); font-size:15px; }
.st-empty p { font-size:13px; }
.st-notices { margin-top:0; }
.st-notice { padding:22px; border-radius:14px; display:grid; gap:8px; }
.st-notice time { font-size:12px; }
.st-info { gap:20px; }
.st-info article { padding:28px; border-radius:18px; background:#f8fafc; }
.st-info-icon { display:grid; place-items:center; width:42px; height:42px; margin-bottom:20px; border-radius:12px; background:#e8effc; color:#245cb2; font-size:22px; }
.st-info h3 { font-weight:800; }
.st-text-link { display:inline-block; margin-top:18px; font-size:13px; font-weight:800; }
.st-faq { padding:14px 0; border-bottom:1px solid var(--st-line); }
.st-faq:last-child { border:0; padding-bottom:0; }
.st-faq summary { cursor:pointer; font-size:12px; font-weight:700; line-height:1.7; color:var(--st-ink); }
.st-faq p { font-size:12px; }
.st-help { display:flex; justify-content:space-between; align-items:center; gap:28px; margin-top:40px; padding:36px; border-radius:20px; background:#edf3fc; border:1px solid #d8e5f8; }
.st-help h2 { font-size:26px; }
.st-help p { margin-top:10px; font-size:13px; line-height:1.7; color:var(--st-muted); }
.st-help-actions { display:grid; gap:14px; text-align:center; flex-shrink:0; font-size:12px; color:#245cb2; }
.st-help-primary { display:block; padding:14px 20px; border-radius:10px; background:#2563eb; color:#fff; font-size:13px; font-weight:700; }
@media (max-width:1100px) { .st-components { grid-template-columns:repeat(2,minmax(0,1fr)); } .st-split { grid-template-columns:1fr; gap:28px; } .st-info { grid-template-columns:1fr; } }
@media (max-width:767px) {
  .st-hero { padding:105px 20px 30px; }
  .st-hero-heading { margin:22px 0; }
  .st-hero-mark { display:none; }
  .st-hero h1 { font-size:37px; }
  .st-hero-description { font-size:14px; }
  .st-overall { padding:22px; gap:14px; }
  .st-overall-text { flex-basis:calc(100% - 40px); }
  .st-overall-text strong { font-size:17px; }
  .st-overall-text span { font-size:12px; }
  .st-overall-meta { align-items:flex-start; width:100%; }
  .st-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .st-summary>div { padding:16px; }
  .st-summary dt { font-size:11px; }
  .st-summary dd { font-size:27px; }
  .st-summary span { font-size:10px; }
  .st-jump { padding:0 20px; }
  .st-jump>div { gap:0 20px; }
  .st-jump a { padding:12px 0; font-size:11px; }
  .corporate-subpage main>section.pp-section.st-section { padding:44px 20px; }
  .st-components { grid-template-columns:1fr; }
  .st-card { padding:22px; }
  .st-metrics dt { font-size:10px; }
  .st-calendar-wrap { padding:20px; }
  .st-calendar { grid-template-rows:repeat(7,18px); gap:4px; }
  .st-weekdays { grid-template-rows:repeat(7,18px); gap:4px; }
  .st-calendar :is(span,button) { border-radius:3px; }
  .st-filter button { padding:8px 10px; font-size:11px; }
  .st-help { padding:24px; flex-direction:column; align-items:stretch; }
  .st-help-actions { flex-shrink:1; }
  .st-empty { padding:20px; gap:12px; }
}
@media print { .st-hero { background:#fff; } .st-hero h1,.st-summary dd { color:#0f1e33; } .st-jump,.st-refresh,.st-filter,.st-help-actions { display:none; } .st-card { break-inside:avoid; } }
