/* Review surfaces share Outilo's colour and icon system, not their container width. */
.reviews-section,.reviews-admin{--review-green:var(--color-brand-600,#059669);--review-ink:#0f172a;--review-muted:#64748b;color:var(--review-ink);font-size:.875rem;line-height:1.6}
.reviews-section{margin:3rem 0;padding:0;scroll-margin-top:13rem}
.reviews-section h1,.reviews-section h2,.reviews-admin h1,.reviews-admin h2{font-weight:750;letter-spacing:-.025em;line-height:1.25;color:var(--review-ink)}
.reviews-section h1,.reviews-section h2,.reviews-admin h1{font-size:1.75rem}.reviews-section h3,.reviews-admin h3{font-weight:650;font-size:1rem}
.review-heading,.review-card-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.review-heading{margin-bottom:1.75rem}
.review-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:42px;border:1px solid transparent;border-radius:8px;padding:.65rem 1rem;font-size:.85rem;font-weight:650;text-decoration:none!important;line-height:1.25;cursor:pointer;transition:background-color .15s,box-shadow .15s;white-space:nowrap}
.review-button-primary{background:var(--review-green,#059669);color:#fff!important;border-color:var(--review-green,#059669)}.review-button-primary:hover{background:#047857;border-color:#047857}.review-button-secondary{background:#fff;color:#334155!important;border-color:#e2e8f0}.review-button-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.review-button:disabled{opacity:.55;cursor:wait}
.review-button i{font-size:1.1rem}.review-button:focus-visible,.review-queue-item:focus-visible{outline:3px solid #059669;outline-offset:3px}
.review-public-layout{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:2.5rem;align-items:start}.review-public-feed{min-width:0}
.review-summary{background:#ecfdf5;border-radius:10px;padding:1.5rem}.review-score{display:block;font-size:3.5rem;font-weight:750;letter-spacing:-.05em;line-height:1.15;margin-bottom:.65rem}.review-score small{font-size:1.25rem;letter-spacing:0;color:#64748b;font-weight:500}.review-summary>p{margin-top:.5rem;color:#475569}
.review-stars{display:inline-flex;gap:3px;color:var(--review-green,#059669);font-size:18px;line-height:1;vertical-align:middle}.review-star{position:relative;display:inline-block;width:1em;height:1em;flex:none}.review-star>i{display:block;color:#94a3b8}.review-star>span{position:absolute;left:0;top:0;height:100%;overflow:hidden;display:block;color:var(--review-green,#059669)}.review-star>span>i{display:block;width:1em}.review-summary>.review-stars{font-size:23px;gap:5px}
.review-distribution{margin-top:1.5rem}.review-distribution>div{display:grid;grid-template-columns:2rem 1fr 1.5rem;align-items:center;gap:.6rem;margin:.55rem 0;font-size:.75rem;color:#475569}.review-distribution>div>span:first-child{display:flex;align-items:center;gap:.3rem}.review-distribution>div>span:last-child{text-align:right;font-variant-numeric:tabular-nums}.review-track{height:7px;display:block;background:#dce9e5;border-radius:20px;overflow:hidden}.review-track>span{display:block;height:100%;background:var(--review-green,#059669);border-radius:inherit}
.review-list{display:grid}.review-card{border-bottom:1px solid #e2e8f0;padding:1.5rem 0;overflow-wrap:anywhere;min-width:0}.review-list>.review-card:first-child{padding-top:.5rem}.review-card-heading>time{font-size:.75rem}.review-author{display:flex;align-items:center;gap:.75rem}.review-avatar{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#d1fae5;color:#065f46;font-weight:650;flex-shrink:0}.review-author strong{display:block;font-size:.9rem;margin-bottom:.3rem}.review-author .review-stars{font-size:15px}.review-body{line-height:1.85;margin:1rem 0;font-size:.9rem;overflow-wrap:anywhere}.review-dates{display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.7rem;color:#64748b}.review-dates>div{display:flex;gap:.3rem}.review-reply{background:#ecfdf5;margin-top:1rem;padding:1rem 1.25rem;border-radius:8px}.review-reply strong{display:inline-flex;gap:.4rem;align-items:center}.review-reply time{font-size:.7rem;color:#64748b}.review-reply p{margin-top:.5rem;white-space:pre-wrap;line-height:1.75}.review-report{margin-top:.6rem;font-size:.75rem;color:#64748b}.review-report summary{display:flex;align-items:center;gap:.35rem;cursor:pointer;width:fit-content}.review-report summary:hover{color:#047857}
.review-filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end;margin-bottom:1.5rem}.review-filters>label{flex:1;min-width:125px}.review-filters .review-button{min-height:40px}.review-date-filters{flex-basis:100%;order:2;font-size:.75rem}.review-date-filters summary{cursor:pointer;color:#64748b;width:fit-content}.review-date-filters>div{display:flex;gap:.75rem;max-width:400px;margin-top:.5rem}.review-date-filters label{flex:1}
.reviews-section label,.reviews-admin label{display:grid;gap:.4rem;font-size:.8rem;font-weight:550}.reviews-section input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.reviews-section select,.reviews-section textarea,.reviews-admin input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.reviews-admin select,.reviews-admin textarea{border:1px solid #d5dfe8;border-radius:7px;padding:.65rem .8rem;color:#0f172a;background:#fff;min-width:0;max-width:100%;width:100%;font-family:inherit;font-size:.85rem;line-height:1.4;font-weight:400}
.reviews-section textarea,.reviews-admin textarea{resize:vertical}.reviews-section input:focus-visible,.reviews-section textarea:focus-visible,.reviews-section select:focus-visible,.reviews-section summary:focus-visible,.reviews-admin input:focus-visible,.reviews-admin textarea:focus-visible,.reviews-admin select:focus-visible,.reviews-admin summary:focus-visible{outline:2px solid #059669;outline-offset:3px}
.review-form,.review-report form,.review-private form{display:grid;gap:1.25rem;margin:1.5rem 0}.review-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:1rem}.review-form fieldset{border:0;padding:0;margin:0;min-width:0}.review-form legend{font-size:.8rem;font-weight:550;margin-bottom:.7rem}.review-rating-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.review-star-options{display:flex;gap:.35rem}.review-star-options label{position:relative;display:flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:transform .12s,color .12s;color:#94a3b8}.review-star-options input{position:absolute;opacity:0;width:100%;height:100%;inset:0;cursor:pointer}.review-star-options i{font-size:34px;pointer-events:none}.review-star-options label:has(input:focus-visible){outline:2px solid #059669;outline-offset:3px}.review-star-options label.is-filled{color:var(--review-green,#059669)}.review-star-options label:hover{transform:translateY(-2px)}.review-rating-label{font-size:.8rem;font-weight:600;color:#475569;min-height:1.3rem}
.review-textarea-wrap{display:block;position:relative}.review-textarea-wrap textarea{padding-bottom:2rem}.review-textarea-wrap small{position:absolute;bottom:.65rem;right:.8rem;color:#64748b;font-size:.7rem;font-weight:400;pointer-events:none}.review-form-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.review-form-footer>div{max-width:38rem}.review-form-footer .review-button{flex-shrink:0}.review-form-footer .review-muted{font-size:.7rem;margin:.2rem 0}
.review-muted{font-size:.8rem;color:#64748b;line-height:1.7}.reviews-section a:not(.review-button):not(.btn-primary):not(.btn-secondary),.reviews-admin a:not(.review-button):not(.review-queue-item):not(.review-tab){color:#047857;text-underline-offset:3px}.review-links{display:flex;gap:.5rem 1.25rem;flex-wrap:wrap;margin-top:1rem;font-size:.7rem}.review-links a:hover{text-decoration:underline}
.review-feedback{padding:.85rem 1rem;border:1px solid #a7f3d0;border-radius:8px;background:#ecfdf5;white-space:pre-wrap;outline-offset:3px;margin:.75rem 0}.review-feedback[data-error=true]{background:#fef2f2;border-color:#fecaca;color:#991b1b}.review-field-error{color:#b91c1c;font-size:.75rem}.reviews-section [aria-invalid=true],.reviews-admin [aria-invalid=true]{border-color:#dc2626!important}.review-check{display:flex!important;align-items:center;gap:.5rem!important;font-size:.75rem!important;font-weight:400!important}.review-check input{accent-color:#059669;width:16px;height:16px;flex-shrink:0}
.review-compose{margin-top:2rem;border-top:1px solid #e2e8f0;padding-top:1.5rem;scroll-margin-top:13rem}.review-compose>summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;list-style:none}.review-compose>summary::-webkit-details-marker{display:none}.review-compose[open]>summary>i{transform:rotate(45deg)}.review-compose>summary>i{font-size:20px;color:#059669;transition:transform .15s}.review-empty{display:flex;align-items:center;gap:1rem;padding:1.5rem 0}.review-empty>i{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#ecfdf5;color:#059669;width:54px;height:54px;font-size:28px;border-radius:12px}.review-empty p{margin-top:.2rem}
.review-pagination{display:flex;gap:.75rem;align-items:center;justify-content:center;margin:1.5rem 0;font-size:.8rem}.review-pagination a[aria-current=page]{background:#059669;color:white!important;border-radius:6px;padding:.3rem .65rem}.review-danger{color:#b91c1c;border:1px solid #fecaca;border-radius:7px;padding:.7rem 1rem;justify-self:start}.review-private{max-width:800px;margin:3rem auto;padding:0 1rem}.review-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tool-title-actions{flex-wrap:wrap;justify-content:flex-end}.review-title-link{display:inline-flex;align-items:center;gap:.5rem;min-height:40px;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem .7rem;font-size:.8rem;font-weight:600;white-space:nowrap;color:#047857;background:#fff;transition:background-color .15s}.review-title-link:hover{background:#ecfdf5;border-color:#a7f3d0}.review-title-link>i{font-size:20px}.review-title-link:has(.ph:not(.ph-fill)){color:#64748b}.review-title-scale,.review-title-count{font-weight:400;color:#64748b}.review-admin-count{display:inline-flex;min-width:1.4rem;justify-content:center;margin-left:auto;border-radius:999px;padding:.1rem .35rem;font-size:.7rem;font-weight:700;background:#059669;color:#fff}.review-admin-count[hidden],[hidden]{display:none!important}
/* Administration uses the entire available main area. */
.reviews-admin{width:100%;min-width:0}.reviews-admin h2{font-size:1.1rem}.review-admin-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.75rem}.review-admin-head p{margin-top:.4rem}.review-admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0 0 1.75rem}.review-admin-metrics>div{padding:.2rem 1.5rem;border-right:1px solid #e2e8f0}.review-admin-metrics>div:first-child{padding-left:0}.review-admin-metrics>div:last-child{border:0}.review-admin-metrics strong{display:block;font-size:1.9rem;font-weight:700;letter-spacing:-.04em;line-height:1.25}.review-admin-metrics span{font-size:.75rem;color:#64748b}.review-admin-nav{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;border-bottom:1px solid #e2e8f0;margin-bottom:1.5rem}.review-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 0;color:#64748b;border-bottom:2px solid transparent;font-weight:550;font-size:.8rem;text-decoration:none}.review-tab[aria-current=page]{color:#047857;border-color:#059669}.review-tab small{background:#ecfdf5;padding:0 .35rem;border-radius:4px;color:#047857}.review-admin-alert{border-left:3px solid #d97706;background:#fffbeb;padding:.75rem 1rem;margin-bottom:1rem;color:#92400e;font-size:.8rem}
.review-workbench{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;align-items:start}.review-panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:0;overflow:hidden}.review-panel-pad{padding:1.5rem}.review-panel-title{padding:1.25rem 1.25rem 0}.review-queue-filters{padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0}.review-queue-filters .review-filters{margin:0}.review-filter-extra{margin-top:.6rem}.review-filter-extra>summary{cursor:pointer;font-size:.75rem;color:#64748b}.review-filter-extra>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.75rem}.review-queue-item{display:block;color:#334155;text-decoration:none;padding:1.25rem;border-left:3px solid transparent;border-bottom:1px solid #edf2f7;transition:background-color .12s}.review-queue-item:hover{background:#f8fafc}.review-queue-item[aria-current=true]{border-left-color:#059669;background:#f0fdf8}.review-queue-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.review-queue-top strong{color:#0f172a;font-size:.85rem}.review-queue-top time{color:#64748b;font-size:.7rem;white-space:nowrap}.review-queue-item .review-stars{font-size:14px}.review-queue-meta{display:flex;align-items:center;gap:.75rem;justify-content:space-between;margin:.3rem 0}.review-queue-meta span:first-child{font-size:.75rem;color:#64748b}.review-queue-item>p{font-size:.8rem;line-height:1.65;margin:.5rem 0;color:#475569;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.review-queue-bottom{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap;font-size:.7rem;color:#64748b}
.review-inspector:empty{display:none}.review-status{display:inline-block;background:#f1f5f9;color:#475569;border-radius:5px;font-size:.7rem;padding:.25rem .5rem;font-weight:550}.review-status-pending_moderation{color:#065f46;background:#d1fae5}.review-status-rejected,.review-status-hidden{color:#92400e;background:#fef3c7}.review-status-published{color:#065f46;background:#ecfdf5}.review-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.review-detail-head p{margin-top:.3rem}.review-detail-score{margin-top:1.5rem}.review-detail-score .review-stars{font-size:24px;gap:5px}.review-detail-score>span:last-child{margin-left:.6rem;color:#64748b;font-size:.75rem}.review-metadata{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:1rem 0;margin:1.5rem 0;font-size:.75rem}.review-metadata dt{color:#64748b;margin-bottom:.25rem}.review-admin-form{display:grid;gap:1rem;margin:1rem 0}.review-decision-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.review-decision-bar>label{flex:1;min-width:170px}.review-decision-fields{display:grid;gap:1rem;background:#f8fafc;border-radius:8px;padding:1rem}.review-decision-fields .review-form-grid{grid-template-columns:1fr}.review-fold{border-top:1px solid #e2e8f0;padding:1rem 0}.review-fold>summary{cursor:pointer;font-weight:600;font-size:.8rem;color:#334155}.review-fold>div{margin-top:1rem}.review-fold .review-card{padding:1rem 0}.review-history{font-size:.75rem;white-space:pre-wrap;overflow-wrap:anywhere}.review-history code{font-family:inherit}.review-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1rem;margin:1rem 0}.review-version{border:1px solid #e2e8f0;border-radius:8px;padding:1rem;background:#f8fafc}.review-version h3{font-size:.8rem}.review-version .review-body{font-size:.8rem}.review-support-form{display:grid;gap:1rem}.review-admin-back{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;margin-bottom:1rem}.review-mobile-open{display:none}.review-table-wrap{overflow:auto}.review-table{width:100%;border-collapse:collapse;font-size:.8rem}.review-table td,.review-table th{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:1rem}.review-table th{color:#64748b;font-size:.7rem;font-weight:550;background:#f8fafc}.review-table tbody tr:last-child td{border-bottom:0}.review-analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin:1.25rem 0}.review-analytics-grid .review-panel h2{margin-bottom:1rem}.review-evolution{display:flex;align-items:end;gap:5px;height:150px;border-bottom:1px solid #cbd5e1;margin:1rem 0}.review-evolution>div{flex:1;min-width:4px;max-width:35px;background:#059669;border-radius:3px 3px 0 0}.review-topic{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid #f1f5f9}.reviews-admin .review-empty{padding:2rem 1.25rem}.review-admin-direct{max-width:none}.review-admin-direct .review-inspector{max-width:none}.review-admin-direct .review-detail-columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:2.5rem}
@media(min-width:1200px){.review-workbench{grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr)}.review-inspector{position:sticky;top:1.5rem;max-height:calc(100vh - 3rem);overflow-y:auto;scrollbar-gutter:stable}}
@media(max-width:1199px){.review-workbench>.review-inspector{display:none}.review-mobile-open{display:inline}.review-admin-direct .review-detail-columns{grid-template-columns:1fr}.review-queue-item[aria-current=true]{background:#fff;border-left-color:transparent}}
@media(max-width:767px){.review-public-layout{grid-template-columns:1fr;gap:1.5rem}.review-summary{display:grid;grid-template-columns:auto 1fr;gap:0 1.5rem;align-items:center}.review-summary>.review-distribution{grid-column:2;grid-row:1/4;margin:0}.review-summary>.review-score{font-size:2.75rem}.review-summary>.review-stars{font-size:18px;gap:3px}.review-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.review-admin-metrics>div{padding:.25rem .5rem!important;border:0}.review-admin-metrics strong{font-size:1.65rem}.review-analytics-grid{grid-template-columns:1fr}.review-metadata{grid-template-columns:1fr 1fr}.review-admin-head{align-items:flex-start}.review-panel-pad{padding:1.1rem}}
@media(max-width:480px){.reviews-section{margin:2rem 0}.review-heading{align-items:center;gap:.75rem;margin-bottom:1.25rem}.review-heading h2{font-size:1.35rem}.review-heading .review-button{font-size:.75rem;padding:.6rem .75rem}.review-form-footer{display:grid;gap:1rem}.review-form-footer .review-button{width:100%}.review-filters>label{min-width:115px}.review-card-heading{gap:.6rem}.review-form-grid{grid-template-columns:1fr}.review-compose>summary{font-size:1.2rem}.review-summary{padding:1rem;gap:0 1rem}.review-title-link{font-size:.75rem;padding:.5rem}.tool-title-actions{max-width:13rem}.review-admin-nav{gap:.2rem 1rem}.review-tab{font-size:.75rem}.review-star-options{gap:.2rem}.review-star-options label{width:42px;height:44px}.review-rating-label{font-size:.75rem}.review-admin-head h1{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.reviews-section *,.reviews-admin *,.review-title-link{transition:none!important;scroll-behavior:auto!important}}
/* Responsive sizing must survive the existing GodUI select enhancement. */
.reviews-section .outilo-react-choice.outilo-react-select,.reviews-admin .outilo-react-choice.outilo-react-select{width:100%!important;min-width:0;display:block}
.reviews-section button.outilo-react-select,.reviews-admin button.outilo-react-select{width:100%;min-width:0}
.reviews-section .outilo-react-select [data-slot=select-value],.reviews-admin .outilo-react-select [data-slot=select-value]{overflow:hidden;text-overflow:ellipsis}
.review-date-filters>summary,.review-fold>summary,.review-filter-extra>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;list-style:none}
.review-date-filters>summary::-webkit-details-marker,.review-fold>summary::-webkit-details-marker,.review-filter-extra>summary::-webkit-details-marker{display:none}
.review-date-filters>summary>i,.review-fold>summary>i,.review-filter-extra>summary>i{font-size:12px;color:#64748b;flex-shrink:0}
.review-date-filters[open]>summary>i,.review-fold[open]>summary>i,.review-filter-extra[open]>summary>i{transform:rotate(180deg)}
.review-button-primary{background:#047857;border-color:#047857}.review-button-primary:hover{background:#065f46;border-color:#065f46}
.reviews-section input::placeholder,.reviews-section textarea::placeholder,.reviews-admin input::placeholder,.reviews-admin textarea::placeholder{color:#64748b;opacity:1}
