.policy-edit-button,.policy-save { background:#172554; color:white; border:0; border-radius:8px; padding:12px 18px; cursor:pointer; font-weight:700; }
.policy-edit-button { margin:16px 0; }
.policy-edit-dialog { width:min(900px,94vw); max-height:90vh; padding:24px; border:1px solid #cbd5e1; border-radius:12px; margin:auto; }
.policy-edit-dialog::backdrop { background:#0f172a99; }
.policy-edit-dialog textarea { display:block; box-sizing:border-box; width:100%; height:52vh; margin:10px 0; padding:12px; font:16px/1.6 Arial,sans-serif; border:1px solid #94a3b8; border-radius:6px; }
.policy-edit-actions { display:flex; justify-content:flex-end; gap:12px; }
.policy-edit-actions button { padding:12px 18px; cursor:pointer; }
.policy-edit-status { color:#b45309; }
.policy-editor-toolbar { max-width:1200px; margin:16px auto; padding:0 20px; box-sizing:border-box; width:100%; }
.policy-editor-toolbar p:empty { display:none; }
.container.policy-without-toc { grid-template-columns:minmax(0,1fr); }
.container > .content { min-width:0; overflow-wrap:anywhere; }
.container > .toc[hidden] { display:none !important; }
.portal-main > .container { width:100%; max-width:1200px; box-sizing:border-box; grid-template-columns:270px minmax(0,1fr); }
.portal-main > .container.policy-without-toc { grid-template-columns:minmax(0,1fr); }
.content > h2 { margin:24px 0 12px; font-size:22px; color:#172554; }
.content > p { margin:0 0 16px; line-height:1.8; }
@media(max-width:1000px) { .portal-main > .container { grid-template-columns:minmax(0,1fr); } .portal-main > .container > .toc { position:static; } }
.policy-version-overview { background:white; border:1px solid #dce3ec; border-radius:12px; padding:20px; }
.policy-version-overview h2,.policy-version-overview h3 { margin:0 0 16px; }
.policy-version-stats,.policy-version-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; margin-bottom:20px; }
.policy-version-stats small,.policy-version-stats strong { display:block; margin:6px 0; }
.policy-version-fields input { box-sizing:border-box; width:100%; padding:10px; border:1px solid #94a3b8; border-radius:6px; }
.policy-version-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:12px 0; border-top:1px solid #e2e8f0; }
.policy-version-row > div { flex:1; min-width:180px; }
.policy-version-row p { margin:6px 0; font-size:13px; color:#64748b; }
.policy-version-row button { padding:8px; cursor:pointer; }
