.legal-manager { margin-top:24px; border-top:1px solid #ebdce5; padding-top:20px; }
.legal-manager h4 { font-size:17px; margin:0 0 10px; }
.legal-source { border:1px solid #e9dfe5; border-radius:16px; padding:20px; margin:16px 0; background:#fff; }
.legal-upload { position:relative; display:inline-flex; cursor:pointer; align-items:center; overflow:hidden; }
.legal-upload input[type=file] { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%; }
.legal-upload:focus-within { outline:2px solid #eb028e; outline-offset:3px; }
.legal-public-links,.legal-actions { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0; }
.legal-public-links a { color:#a30064; overflow-wrap:anywhere; }
.legal-history h5 { font-size:15px; margin:16px 0; }
.legal-history-item { border-top:1px solid #eee; padding:16px 0; overflow-wrap:anywhere; }
.legal-history-item p { margin:8px 0; }
.legal-history-item small { color:#665b63; }
.legal-publish { display:flex; flex-wrap:wrap; gap:12px; align-items:end; margin-top:12px; }
.legal-publish label { display:flex; flex-direction:column; gap:6px; }
.legal-publish .legal-confirm { flex-basis:100%; flex-direction:row; align-items:center; }
.legal-confirm input { width:18px; height:18px; flex-shrink:0; }
.legal-publish input:not([type=checkbox]) { max-width:220px; }
.legal-error { color:#9a1733; }
.legal-preview-dialog { width:min(900px,94vw); max-height:92dvh; padding:20px; border:1px solid #ebdce5; border-radius:16px; }
.legal-preview-dialog::backdrop { background:#0006; }
.legal-preview-dialog header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.legal-preview-dialog h2 { font-size:18px; }
.legal-preview-dialog iframe { display:block; width:100%; height:70dvh; border:1px solid #ddd; margin-top:16px; }
.legal-public { margin:0; background:#faf7f9; color:#252025; font:17px/1.65 system-ui,sans-serif; }
.legal-public main { max-width:900px; margin:0 auto; padding:32px 24px 64px; }
.legal-public article { overflow-wrap:anywhere; }
.legal-public h1 { font-size:1.65em; line-height:1.3; margin:1.5em 0 .6em; }
.legal-public h2 { font-size:1.35em; }
.legal-public table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; }
.legal-public td,.legal-public th { border:1px solid #c8bdc4; padding:10px; min-width:110px; }
.legal-public .legal-revision { color:#65515e; font-size:14px; }
.legal-public .legal-draft { padding:12px; background:#fff2d3; }
@media(max-width:480px) { .legal-source { padding:14px; } .legal-actions .button { width:100%; } .legal-public main { padding:20px 16px 40px; } .legal-public { font-size:16px; } .legal-preview-dialog { padding:12px; } }
