.reviews { color: var(--text, #181b20); line-height: 1.65; letter-spacing: 0; min-width: 0; }
.reviews, .reviews * { box-sizing: border-box; }
.reviews h2, .reviews h3 { font-size: 20px; line-height: 1.4; margin: 0 0 16px; letter-spacing: 0; }
.reviews p { margin: 10px 0; }
.reviews [hidden] { display: none !important; }
.reviews-head, .review-row header, .reviews-pager, .review-actions, .reviews-filter { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.reviews-head h3 { margin: 0; }
.review-row { border-bottom: 1px solid var(--border, #dce0e5); padding: 20px 0; min-width: 0; }
.review-row .review-row { border: 0; padding: 0; }
.review-row header, .review-row small, .review-row time { font-size: 13px; color: var(--text-2, #525864); }
.review-row header strong { color: var(--text, #181b20); }
.review-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.review-row blockquote { margin: 16px 0 0; padding-left: 16px; border-left: 3px solid var(--border, #dce0e5); }
.reviews button, .reviews select, .reviews input, .reviews textarea { font: inherit; letter-spacing: 0; max-width: 100%; }
.reviews button, .reviews select, .reviews input:not([type=radio]), .reviews textarea { min-height: 44px; border: 1px solid var(--border, #c9cfd7); border-radius: 6px; padding: 8px 12px; background: var(--bg-card, #fff); color: inherit; }
.reviews button, .reviews summary { cursor: pointer; }
.reviews button:hover { border-color: var(--text-2, #525864); }
.reviews button:disabled { opacity: .5; cursor: default; }
.reviews :focus-visible { outline: 2px solid var(--text, #181b20); outline-offset: 3px; }
.reviews-pager { margin: 16px 0; justify-content: flex-end; }
.reviews-pager button { width: 44px; padding: 0; font-size: 24px; }
.reviews-own { margin-top: 32px; border-top: 1px solid var(--border, #dce0e5); padding-top: 24px; }
.review-form { display: grid; gap: 16px; max-width: 700px; padding: 16px 0; }
.review-form label, .reviews-filter label { display: grid; gap: 6px; min-width: 0; }
.review-form textarea { width: 100%; resize: vertical; }
.review-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.review-rating { display: flex; gap: 16px; flex-wrap: wrap; }
.review-rating label { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }
.reviews [role=alert] { color: #b12333; }
.reviews-filter { align-items: flex-end; margin-bottom: 16px; }
.reviews-filter input { width: 280px; }
.admin-mfa-dialog { width: min(440px, calc(100% - 32px)); padding: 24px; border: 1px solid #c9cfd7; border-radius: 8px; }
.admin-mfa-dialog::backdrop { background: rgb(0 0 0 / 45%); }
.admin-mfa-dialog label { display: grid; gap: 8px; }
.admin-mfa-secret { display: block; overflow-wrap: anywhere; padding: 16px; border: 1px solid var(--border, #c9cfd7); }
@media (max-width: 540px) { .reviews-filter { display: grid; } .reviews-filter input { width: 100%; } .review-row header { gap: 8px; } .review-row time { flex-basis: 100%; } }
