/* ESPFlight release-audit additions — UI-safe revision 2026-09-15.
   This sheet only styles newly introduced release/legal/protocol elements and
   intentionally preserves the established ESPFlight table/button system. */
.releaseStatus,.securityNotice,.statusNotice,.conceptDisclaimer,.privacyNotice,.contactNotice{
  border:1px solid var(--line);border-radius:18px;padding:18px 20px;background:var(--panel);margin:20px 0;color:var(--text)
}
.releaseStatus{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.releaseStatus strong{font-size:.92rem}.releaseStatus span{color:var(--muted)}
.releaseBadge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:750;letter-spacing:.02em;background:var(--panel);color:var(--text);margin-top:16px}
.releaseBadge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accentSoft)}
.releaseMetaGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:18px 0;width:100%;text-align:start}
.releaseMetaGrid>div{display:block!important;padding:12px 0;border-bottom:1px solid var(--line);min-width:0}
.releaseMetaGrid strong{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:5px}
.releaseMetaGrid code{overflow-wrap:anywhere;word-break:break-word;color:var(--text)}
.securityNotice{display:block!important;border-color:rgba(180,105,0,.35);background:rgba(245,158,11,.09);text-align:start}
.securityNotice strong,.privacyNotice strong{display:block;margin-bottom:6px;color:var(--text)}
.securityNotice span,.privacyNotice span,.contactNotice span{color:var(--muted)}
.statusNotice{border-color:rgba(37,99,235,.28);background:rgba(59,130,246,.07)}
.conceptDisclaimer{border-style:dashed}.conceptDisclaimer strong{display:block;margin-bottom:4px}
html[data-theme="dark"] .securityNotice{border-color:rgba(245,158,11,.34);background:rgba(245,158,11,.10)}
html[data-theme="dark"] .statusNotice{border-color:rgba(96,165,250,.30);background:rgba(59,130,246,.10)}
.docsProtocolExample{margin:14px 0 20px}.docsProtocolExample pre{white-space:pre-wrap;overflow:auto;direction:ltr;text-align:left}.docsProtocolExample code{direction:ltr;text-align:left}
/* Keep table visuals/direction entirely controlled by the established docs + FA styles. */
.docsFieldTable code,.ltrToken{unicode-bidi:isolate}
.partnerClosedCta{cursor:default}
.privacyDataTable td:first-child{font-weight:700}
.contactChannels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.contactChannels>article{border:1px solid var(--line);border-radius:18px;padding:20px;background:var(--panel);color:var(--text)}
.contactChannels h3{margin-top:0}.contactChannels p:last-child{margin-bottom:0}
html[dir="rtl"] .releaseMetaGrid code,html[dir="rtl"] .docsProtocolExample,html[dir="rtl"] .ltrToken{direction:ltr;text-align:left}
.buttonRow{display:flex!important;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
/* Correct the late base .button color rule so ghost buttons retain contrast in both themes. */
a.button.buttonGhost,.button.buttonGhost{background:var(--panel)!important;color:var(--text)!important;border-color:var(--line)!important}
a.button.buttonGhost:hover,.button.buttonGhost:hover{background:var(--accentSoft)!important;color:var(--text)!important;border-color:rgba(66,184,131,.45)!important}
/* Footer now has four intentional groups after Contact/Privacy/Terms were added. */
.footerCols{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1020px){.footerCols{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}}
@media(max-width:720px){.releaseMetaGrid,.contactChannels{grid-template-columns:1fr}.releaseStatus,.securityNotice,.statusNotice,.conceptDisclaimer,.privacyNotice,.contactNotice{padding:16px}.releaseMetaGrid>div{padding:10px 0}.buttonRow{align-items:stretch}.buttonRow .button{width:100%}}
