.privacy-policy-content {
    max-height: min(65vh, 720px);
    overflow: auto;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.privacy-policy-version {
    margin: 12px 0 0;
    color: #637487;
    font-size: 13px;
}

.public-privacy-policy {
    width: min(900px, calc(100% - 40px));
    margin: 0 auto;
    padding: 48px 0 72px;
}

.public-privacy-policy h1 {
    margin: 0 0 8px;
}

.public-privacy-policy .privacy-policy-content {
    max-height: none;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #dce6ec;
}

.public-privacy-policy-status {
    min-height: 1.5em;
    color: #637487;
}

.admin-policy-editor {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.admin-policy-editor label {
    display: grid;
    gap: 8px;
    color: #637487;
    font-size: 14px;
    font-weight: 700;
}

.admin-policy-editor textarea {
    width: 100%;
    min-height: 360px;
    padding: 12px;
    border: 1px solid #dce6ec;
    background: #fff;
    color: #17324d;
    font: inherit;
    line-height: 1.6;
    resize: vertical;
}

.policy-admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.published-policy-versions {
    margin: 0;
    padding-left: 20px;
    color: #637487;
}

.published-policy-versions li + li {
    margin-top: 8px;
}

@media (max-width: 760px) {
    .admin-policy-editor {
        grid-template-columns: minmax(0, 1fr);
    }
}