/* reviews, report notice, forms and the cases page */
.stars { display:inline-flex; gap:1px; vertical-align:middle; }
.stars .st { color:#C5CEDD; display:inline-flex; }
.stars .st.on { color:#F59E0B; }
.stars .st.on svg { fill:currentColor; }
.rv h2 { display:flex; align-items:center; gap:8px; margin:0; font-size:1.1rem; }
.rv h2 svg { color:var(--primary); }
.rv-head { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.rv-hint { margin:6px 0 4px; }
.rv-sum { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px 28px; align-items:center; margin:14px 0; padding:14px 16px; border-radius:14px; background:var(--primary-soft); }
.rv-avg { display:flex; flex-direction:column; align-items:center; gap:2px; }
.rv-avg b { font-size:2.2rem; line-height:1; }
.rv-dist { display:flex; flex-direction:column; gap:3px; font-size:.75rem; color:var(--muted); }
.rv-dist > div { display:grid; grid-template-columns:10px 12px 1fr 22px; align-items:center; gap:6px; }
.rv-dist svg { color:#F59E0B; fill:currentColor; }
.rv-dist i { height:6px; border-radius:99px; background:rgba(100,116,139,.25); overflow:hidden; display:block; }
.rv-dist u { display:block; height:100%; background:#F59E0B; text-decoration:none; }
.rv-dist em { font-style:normal; text-align:right; }
.rv-agent { grid-column:1 / -1; display:flex; align-items:center; gap:6px; }
.rv-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.rv-item { padding:16px 0; border-top:1px solid var(--border); }
.rv-top { display:flex; align-items:center; gap:12px; }
.rv-av { flex:none; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,#4F8DF7,#2563EB); color:#fff; font-weight:700; }
.rv-who { min-width:0; flex:1; display:flex; flex-direction:column; }
.rv-who b small { font-weight:400; color:var(--muted); }
.rv-verified { display:inline-flex; align-items:center; gap:4px; color:#15803D; font-size:.75rem; font-weight:600; }
.rv-meta { display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.rv-tags { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 0; }
.rv-tag { padding:3px 10px; border-radius:999px; background:rgba(34,197,94,.14); color:#15803D; font-size:.76rem; font-weight:600; }
.rv-tag.bad { background:rgba(239,68,68,.12); color:#B91C1C; }
.rv-text { margin:10px 0 0; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.rv-reply { display:flex; gap:10px; margin:12px 0 0; padding:10px 14px; border-radius:12px; background:var(--primary-soft); }
.rv-reply svg { flex:none; margin-top:2px; color:var(--primary); }
.rv-reply p { margin:2px 0 0; font-size:.9rem; white-space:pre-wrap; overflow-wrap:anywhere; }
.rv-acts { display:flex; flex-wrap:wrap; gap:14px; margin-top:10px; font-size:.82rem; }
.rv-acts .link { display:inline-flex; align-items:center; gap:4px; }
.rv-removed { display:flex; gap:10px; align-items:flex-start; margin:10px 0; padding:12px 14px; border-radius:12px; background:rgba(245,158,11,.14); color:#92400E; }
.rv-removed div { display:flex; flex-direction:column; font-size:.88rem; }
.rv-empty { margin:16px 0 4px; }
.report-btn { display:inline-flex; align-items:center; gap:6px; margin:6px 0; color:var(--muted); font-size:.82rem; }
.report-btn:hover { color:#DC2626; }
.trust-notice { display:flex; gap:14px; align-items:flex-start; margin:0 0 16px; padding:16px 18px; border-radius:16px; background:#FEF3C7; border:1px solid #F59E0B; color:#78350F; }
.trust-notice > svg { flex:none; margin-top:2px; }
.trust-notice p { margin:4px 0; }
.trust-notice small { opacity:.85; }

/* forms (modals) */
.aod-card.wide { width:min(520px,100%); max-height:92vh; overflow-y:auto; text-align:left; }
.aod-card.wide h2 { margin:0 0 4px; }
.trm-sub { margin:0 0 14px !important; font-size:.85rem !important; }
.trm-body { display:flex; flex-direction:column; gap:12px; margin-bottom:14px; }
.trm-radios { display:flex; flex-direction:column; gap:6px; }
.trm-radio { display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--border); border-radius:12px; cursor:pointer; transition:border-color .15s, background .15s; }
.trm-radio:hover { border-color:var(--primary); }
.trm-radio:has(input:checked) { border-color:var(--primary); background:var(--primary-soft); }
.trm-radio input { accent-color:var(--primary); }
.trm-area { position:relative; }
.trm-area textarea { width:100%; box-sizing:border-box; padding:10px 12px 24px; border:1px solid var(--border); border-radius:12px; background:var(--card); color:var(--fg); font:inherit; resize:vertical; }
.trm-area textarea:focus { outline:2px solid var(--primary); outline-offset:1px; }
.trm-count { position:absolute; right:12px; bottom:8px; font-size:.7rem; color:var(--muted); }
.trm-err { margin:0 0 10px; color:#DC2626; font-size:.85rem; }
.trm-stars { display:flex; align-items:center; gap:2px; }
.trm-stars button { padding:2px; border:0; background:transparent; color:#C5CEDD; cursor:pointer; transition:transform .12s, color .12s; }
.trm-stars button.on { color:#F59E0B; }
.trm-stars button.on svg { fill:currentColor; }
.trm-stars button:hover { transform:scale(1.15); }
.trm-rate-label { margin-left:10px; font-weight:600; color:var(--muted); }
.trm-tags { display:flex; flex-wrap:wrap; gap:8px; }
.trm-tag { padding:6px 12px; border:1px solid var(--border); border-radius:999px; background:transparent; color:var(--fg); font:inherit; font-size:.82rem; cursor:pointer; transition:background .15s, color .15s, border-color .15s; }
.trm-tag[aria-pressed="true"] { background:var(--primary); border-color:var(--primary); color:#fff; }
.trm-tag.bad[aria-pressed="true"] { background:#DC2626; border-color:#DC2626; }

/* cases page */
.cases h1 { margin:0 0 4px; }
.cases-filter { display:flex; gap:8px; flex-wrap:wrap; margin:16px 0; }
.cases-filter button { padding:7px 14px; border:1px solid var(--border); border-radius:999px; background:transparent; color:var(--muted); font:inherit; font-weight:600; font-size:.85rem; cursor:pointer; }
.cases-filter button[aria-pressed="true"] { background:var(--primary); border-color:var(--primary); color:#fff; }
.case { margin-bottom:16px; padding:20px; }
.case-top { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.case-ico { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:var(--primary-soft); color:var(--primary); }
.case-top h3 { margin:0; font-size:1rem; }
.case-top small { color:var(--muted); }
.case-chip { margin-left:auto; padding:3px 12px; border-radius:999px; font-size:.75rem; font-weight:700; background:rgba(245,158,11,.18); color:#92400E; }
.case-chip.ok { background:rgba(34,197,94,.18); color:#166534; }
.case-chip.no { background:rgba(100,116,139,.2); color:#334155; }
.case-chip.bad { background:rgba(239,68,68,.15); color:#B91C1C; }
.case-quote { margin:12px 0; padding:10px 14px; border-left:3px solid var(--primary); background:var(--primary-soft); border-radius:0 10px 10px 0; font-size:.9rem; white-space:pre-wrap; }
.case-tl { list-style:none; margin:14px 0 0; padding:0 0 0 18px; border-left:2px solid var(--border); display:flex; flex-direction:column; gap:14px; }
.case-tl li { position:relative; }
.case-tl li::before { content:""; position:absolute; left:-25px; top:4px; width:12px; height:12px; border-radius:50%; background:var(--card); border:2px solid var(--primary); }
.case-tl li.admin::before { background:var(--primary); }
.case-tl b { font-size:.85rem; }
.case-tl time { margin-left:8px; font-size:.75rem; color:var(--muted); }
.case-tl p { margin:2px 0 0; font-size:.9rem; white-space:pre-wrap; overflow-wrap:anywhere; }
.case-acts { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.case-decide { margin-top:16px; padding:14px; border:1px dashed var(--primary); border-radius:14px; }
.case-decide textarea { width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid var(--border); border-radius:12px; background:var(--card); color:var(--fg); font:inherit; margin-bottom:10px; }
.case-decide .case-acts { margin:0; }
.cases-empty { display:flex; flex-direction:column; align-items:center; gap:6px; padding:40px 16px; text-align:center; color:var(--muted); }
@media (max-width:560px) { .rv-sum { grid-template-columns:1fr; } .rv-top { flex-wrap:wrap; } .rv-meta { align-items:flex-start; } }

.case-action { display:flex; flex-direction:column; gap:6px; margin:8px 0; }
.case-action select { width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid var(--border); border-radius:12px; background:var(--card); color:var(--fg); font:inherit; }
:root[data-theme="dark"] .case-action select { background:#010736; border-color:#22396F; }
