.legal-hero { background: radial-gradient(circle at 85% 25%, rgba(216,180,106,.2), transparent 28%), linear-gradient(145deg, #17243a, #0c1321); }
.legal-draft { max-width: 900px; margin-top: 1.5rem; padding: 1rem 1.15rem; border: 1px solid rgba(216,180,106,.45); border-radius: 14px; background: rgba(216,180,106,.09); }
.legal-draft strong { color: #f5dca7; }
.legal-draft p { margin: .35rem 0 0; font-size: .95rem; }
.legal-shell { padding-top: 2rem; }
.legal-nav { display: flex; gap: .45rem; overflow-x: auto; margin-bottom: 1.5rem; padding: .7rem; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); scrollbar-width: thin; }
.legal-nav a { flex: 0 0 auto; padding: .55rem .72rem; border-radius: 9px; color: var(--muted); font-size: .88rem; }
.legal-nav a:hover,.legal-nav a:focus-visible { color: #fff; background: rgba(255,255,255,.07); outline: 2px solid rgba(216,180,106,.4); }
.legal-grid,.legal-language-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.legal-language-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.legal-card { padding: 1.35rem; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.legal-card-accent { background: linear-gradient(145deg, rgba(216,180,106,.12), var(--surface)); }
.legal-card h2 { margin: .8rem 0 .55rem; font-size: 1.35rem; }
.legal-card p { color: var(--muted); }
.legal-card small { color: var(--muted); font-size: .65em; text-transform: uppercase; }
.status-pill { display: inline-flex; padding: .3rem .55rem; border: 1px solid var(--line); border-radius: 999px; color: #d9e1ed; font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.status-draft { border-color: rgba(216,180,106,.45); background: rgba(216,180,106,.08); color: #f1d9a6; }
.status-master { border-color: rgba(61,168,121,.5); background: rgba(61,168,121,.1); color: #a9e9cc; }
.legal-document { max-width: 980px; margin-inline: auto; padding: clamp(1.3rem,4vw,3rem); border: 1px solid var(--line); border-radius: 22px; background: var(--surface); color: #cbd4e1; }
.legal-document section + section { margin-top: 2.3rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.legal-document h2 { color: #fff; font-size: clamp(1.45rem,2.5vw,2rem); }
.legal-document h3 { margin-top: 1.2rem; color: #fff; }
.legal-document li { margin: .55rem 0; }
.legal-document details { padding: 1rem 0; border-bottom: 1px solid var(--line); }
.legal-document summary { color: #fff; cursor: pointer; font-weight: 750; }
.legal-table-wrap { overflow-x: auto; margin: 1rem 0 1.5rem; }
.legal-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: .9rem; }
.legal-table th,.legal-table td { padding: .75rem; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.legal-table th { color: #fff; background: rgba(255,255,255,.05); }
.market-links { display: flex; flex-wrap: wrap; gap: .35rem; }
.market-links a { min-width: 2.5rem; padding: .32rem .45rem; border: 1px solid var(--line); border-radius: 7px; color: var(--gold); text-align: center; font: 750 .78rem ui-monospace,monospace; }
.legal-form { max-width: 780px; margin-inline: auto; padding: clamp(1.2rem,4vw,2.5rem); border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
.legal-form label { display: grid; gap: .42rem; margin: 1.2rem 0 .35rem; color: #fff; font-weight: 700; }
.legal-form input,.legal-form select,.legal-form textarea { width: 100%; padding: .75rem .85rem; border: 1px solid rgba(255,255,255,.2); border-radius: 10px; background: #0d1728; color: #fff; }
.legal-form textarea { resize: vertical; }
.legal-form small,.form-note { color: var(--muted); }
.form-errors,.form-success { max-width: 780px; margin: 0 auto 1rem; padding: 1rem; border-radius: 12px; }
.form-errors { border: 1px solid rgba(179,45,69,.65); background: rgba(179,45,69,.13); }
.form-success { border: 1px solid rgba(61,168,121,.6); background: rgba(61,168,121,.12); }
.privacy-dialog { width: min(620px,calc(100% - 2rem)); padding: 0; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); color: var(--text); box-shadow: var(--shadow); }
.privacy-dialog::backdrop { background: rgba(0,0,0,.7); backdrop-filter: blur(4px); }
.privacy-dialog-inner { padding: 1.5rem; }
.privacy-dialog h2 { margin-bottom: .6rem; }
.privacy-choice { display: grid; grid-template-columns: auto 1fr; gap: .75rem; margin: .75rem 0; padding: .9rem; border: 1px solid var(--line); border-radius: 12px; }
.privacy-choice span { color: var(--muted); font-size: .88rem; }
.privacy-dialog-actions { display: flex; justify-content: flex-end; gap: .7rem; margin-top: 1.2rem; }
.footer-button { padding: 0; border: 0; background: none; color: inherit; cursor: pointer; }
.footer-button:hover { color: #fff; }
@media (max-width:900px){.legal-grid,.legal-language-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.legal-grid,.legal-language-grid{grid-template-columns:1fr}.privacy-dialog-actions{flex-direction:column-reverse}.privacy-dialog-actions .button{width:100%}}
