/* Owner-moderated reviews. All styles are scoped to these views. */
.reviews-main{padding-bottom:80px}.reviews-intro{max-width:780px;padding:30px 0 38px}.reviews-intro .eyebrow{margin-bottom:16px}.reviews-intro>p:last-child{color:var(--muted);max-width:680px}.reviews-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:start}.reviews-section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.reviews-page h2,.review-dialog h2{font-size:1.65rem;letter-spacing:-.5px}.review-form-card{padding:30px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.review-form-card>.eyebrow{font-size:.7rem;margin-bottom:12px}.review-form-card>p{color:var(--muted)}.review-form-card fieldset{border:0;padding:0;margin:0;min-width:0}.review-form-card label:not(.review-check){display:block;font-weight:700;margin:22px 0 7px}.review-form-card input:not([type=checkbox]),.review-form-card textarea{font:inherit;line-height:1.6;width:100%;min-height:48px;padding:10px 12px;border:1px solid #aaa0b6;border-radius:7px;background:#fff;color:var(--deep)}.review-form-card textarea{resize:vertical;min-height:160px}.review-form-card .field-help{font-size:.85rem;line-height:1.6;color:var(--muted);margin:7px 0 17px}.review-form-card .character-count{text-align:right}.review-warning{font-size:.88rem;line-height:1.65;background:#fff5e7;color:#633d0d;border-left:3px solid #c87812;padding:12px 15px;border-radius:0 7px 7px 0}.review-form-card .review-check{display:flex;align-items:flex-start;gap:12px;font-size:.9rem;margin:22px 0;line-height:1.65;cursor:pointer}.review-check input{flex-shrink:0;accent-color:var(--purple);height:20px;width:20px;margin:3px 0 0}.reviews-page button,.reviews-home button{cursor:pointer}.reviews-page button:disabled,.reviews-home button:disabled{cursor:wait;opacity:.6}.review-form-card fieldset:disabled{opacity:.65}.review-form-card fieldset:disabled button{cursor:not-allowed}.reviews-page .button,.reviews-home .button{border:1px solid var(--purple);min-height:48px;gap:12px}.review-link-button{font:inherit;font-size:.88rem;font-weight:700;color:var(--purple);padding:10px 8px;border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;min-height:44px}.review-status:empty{display:none}.review-status,.reviews-notice{font-size:.95rem;line-height:1.65;margin:16px 0;padding:17px 20px;border:1px solid #d4c7e6;background:#f4effa;border-radius:10px;color:#4b316c}.review-status[data-tone=error]{border-color:#dfb6b0;background:#fff3f0;color:#822e20}.review-status[data-tone=success]{border-color:#b5d0c1;background:#eff8f3;color:#215b3c}.review-list{display:grid;gap:18px}.review-card{border:1px solid var(--line);border-radius:12px;padding:25px;background:#fff;min-width:0}.review-label{color:var(--purple);font-weight:700;font-size:1rem;margin:0 0 6px;overflow-wrap:anywhere}.review-comment{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;margin:14px 0;font-size:1rem}.review-meta{font-size:.8rem;color:var(--muted);margin:0}.review-footnote{font-size:.85rem;color:var(--muted);line-height:1.7;margin-top:20px}.review-footnote a{text-decoration:underline;text-underline-offset:3px}.review-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reviews-home{background:#f7f4fb;padding:65px 0;border-top:1px solid #ece4f5}.reviews-home-heading{display:flex;justify-content:space-between;align-items:center;gap:40px}.reviews-home-heading>div{max-width:680px}.reviews-home-heading .eyebrow{margin-bottom:15px}.reviews-home-heading p:last-child{color:var(--muted);margin-bottom:0}.reviews-home-heading>.button{flex-shrink:0}.reviews-home-list{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:25px}.review-toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:28px}.auth-card{max-width:530px;margin-top:30px}.auth-card .button{margin-top:18px}.recovery-details{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.recovery-details>p{font-size:.9rem;color:var(--muted)}.review-filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.review-filters button{font:inherit;font-weight:700;font-size:.9rem;border:1px solid #cec4dc;border-radius:7px;background:#fff;padding:12px 16px;min-height:48px;color:var(--purple)}.review-filters [aria-pressed=true]{color:#fff;background:var(--purple);border-color:var(--purple)}.review-filters span{font-size:.8rem;padding-left:8px}.review-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.review-badge{display:inline-block;font-size:.75rem;font-weight:700;color:#57466d;background:#f0ebf7;border-radius:5px;padding:4px 10px;margin-bottom:12px}.review-dialog{border:1px solid var(--line);border-radius:16px;max-width:650px;width:calc(100% - 36px);max-height:85dvh;overflow:auto;padding:32px;box-shadow:0 20px 80px #281b3930;color:var(--text)}.review-dialog::backdrop{background:#281b3999}.review-dialog .button{min-height:48px;border:1px solid var(--purple);font:inherit;font-weight:700;cursor:pointer}.review-dialog .review-comment{max-height:35dvh;overflow:auto;padding-right:10px}.admin-main{max-width:1050px}.admin-main #moderation-panel{margin-top:30px}.admin-main #admin-reviews{max-width:850px}
@media(max-width:900px){.reviews-layout{gap:28px}.review-form-card{padding:24px}.reviews-home-heading{align-items:flex-start;flex-direction:column;gap:25px}.reviews-home-list{grid-template-columns:1fr}}
@media(max-width:760px){.reviews-layout{grid-template-columns:1fr;gap:30px}.reviews-intro{padding:15px 0 25px}.reviews-main{padding-bottom:48px}.reviews-home{padding:45px 0}.review-form-card{padding:22px 18px}.review-card{padding:21px}.reviews-page h2,.review-dialog h2{font-size:1.5rem}.review-dialog{padding:24px 20px}.review-filters{gap:8px}.review-filters button{flex:1 1 auto}.reviews-page .text-link{overflow-wrap:anywhere}.review-toolbar{gap:10px}}
@media(prefers-reduced-motion:reduce){.reviews-page .button,.reviews-home .button{transition:none;transform:none}.reviews-page{scroll-behavior:auto}}

/* Manual retention controls; never imply automatic cleanup. */
.admin-main .review-retention-note{margin:24px 0;padding:20px 22px;border:1px solid #d4c7e6;border-radius:12px;background:#f7f4fb;line-height:1.7}.review-retention-note h3{font-size:1rem;color:var(--purple);margin:0 0 10px}.review-retention-note p{font-size:.9rem;margin:8px 0}.admin-main .review-retention{font-size:.85rem;line-height:1.7;color:var(--muted);margin:12px 0 0}.admin-main .review-retention-due{font-weight:700;color:#7a3f09}.admin-main .review-delete-button{border-color:#94372d;color:#94372d;background:#fff}.admin-main .review-delete-confirm{border-color:#822e20;color:#fff;background:#822e20}.admin-main .review-delete-button:hover{background:#fff3f0}.admin-main .review-delete-confirm:hover{background:#6e2116}.admin-main .review-filters [data-filter=due]:not([aria-pressed=true]){border-color:#b96b14;color:#743b09;background:#fff8ee}.admin-main button:focus-visible{outline:3px solid #aa7ccf;outline-offset:3px}
