
/* DiagnostiX V371 – legal documents and legal update UI */
.legal-version-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .72rem;border:1px solid rgba(101,199,255,.22);border-radius:999px;background:rgba(46,155,255,.08);color:#a9dcff;font-size:.78rem;font-weight:800;letter-spacing:.05em}
.legal-toc{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.65rem;margin-top:1rem}
.legal-toc a{display:block;padding:.78rem .9rem;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.035);color:#dcecff;text-decoration:none;font-weight:700}
.legal-toc a:hover{border-color:rgba(46,155,255,.4);background:rgba(46,155,255,.08)}
.legal-card[id]{scroll-margin-top:24px}
.legal-card .legal-purpose{margin:.85rem 0;padding:.9rem 1rem;border-left:3px solid #2e9bff;border-radius:0 12px 12px 0;background:rgba(46,155,255,.06)}
.legal-card .legal-purpose strong{color:#eef8ff}
.legal-card code{font-size:.9em;color:#b9e4ff}
.legal-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem;margin-top:1rem}
.legal-fact{padding:1rem;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.legal-fact strong{display:block;margin-bottom:.35rem;color:#f4fbff}
.legal-warning{border-color:rgba(255,181,71,.28)!important;background:linear-gradient(180deg,rgba(255,181,71,.08),rgba(255,255,255,.025))!important}
.legal-success{border-color:rgba(43,213,140,.25)!important;background:linear-gradient(180deg,rgba(43,213,140,.06),rgba(255,255,255,.025))!important}
.legal-source-list a{overflow-wrap:anywhere}
.legal-update-v371{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:18px;background:rgba(2,8,14,.82);backdrop-filter:blur(15px)}
.legal-update-v371[hidden]{display:none!important}
.legal-update-card-v371{width:min(680px,100%);max-height:min(90vh,860px);overflow:auto;border:1px solid rgba(101,199,255,.24);border-radius:24px;background:#0b1722;color:#f5faff;box-shadow:0 28px 90px rgba(0,0,0,.55);padding:24px}
.legal-update-card-v371 h2{margin:.5rem 0 .55rem;font-size:clamp(1.45rem,4vw,2rem)}
.legal-update-card-v371>p{color:#9fb2c3;line-height:1.6}
.legal-update-links-v371{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}
.legal-update-links-v371 a{padding:.65rem .85rem;border:1px solid rgba(255,255,255,.1);border-radius:11px;color:#bfe5ff;text-decoration:none;font-weight:750;background:rgba(255,255,255,.035)}
.legal-update-checks-v371{display:grid;gap:.7rem;margin:1rem 0}
.legal-update-check-v371{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;padding:.9rem;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.025)}
.legal-update-check-v371 input{width:20px;height:20px;margin-top:2px;accent-color:#2e9bff}
.legal-update-check-v371 strong{display:block;margin-bottom:.2rem}.legal-update-check-v371 small{display:block;color:#91a6b8;line-height:1.45}
.legal-update-actions-v371{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}
.legal-update-actions-v371 button{min-height:46px;border-radius:12px;padding:.75rem 1rem;font-weight:800;cursor:pointer}
.legal-update-accept-v371{border:0;background:#2e9bff;color:#fff;flex:1}.legal-update-accept-v371:disabled{opacity:.45;cursor:not-allowed}
.legal-update-logout-v371{border:1px solid rgba(255,255,255,.13);background:transparent;color:#d7e5ef}
.legal-update-status-v371{min-height:1.25rem;margin-top:.7rem;color:#ffb547;font-size:.9rem}
body.legal-update-locked-v371{overflow:hidden!important}
@media(max-width:620px){.legal-update-card-v371{padding:18px;border-radius:20px}.legal-update-actions-v371{flex-direction:column}.legal-update-accept-v371{width:100%}}
@media print{.beta-banner,.legal-topbar,.site-footer,.legal-toc{display:none!important}.legal-shell{max-width:none!important}.legal-card,.legal-hero{box-shadow:none!important;border:1px solid #bbb!important;background:#fff!important;color:#000!important}.legal-card *,.legal-hero *{color:#000!important}}

.legal-update-explainer-v371{margin-top:10px;padding:12px 14px;border-radius:14px;background:rgba(46,155,255,.08);border:1px solid rgba(101,199,255,.16);color:#c8d8e6;font-size:14px;line-height:1.55}
