.review-write-btn{margin-bottom:1.4rem}.reviews-list{display:flex;flex-direction:column;gap:1rem}.review-card{padding:1.2rem 1.4rem}.review-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.review-card-name{font-weight:700}.review-card-date{color:var(--text-muted);font-size:.78rem;white-space:nowrap}.review-stars{display:inline-flex;gap:.1rem;color:var(--line-strong);font-size:1.05rem;margin:.3rem 0 .6rem}.review-stars .star-filled{color:#f5a623}.review-text{font-size:.92rem;line-height:1.6;white-space:pre-wrap}.review-text.is-truncated{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.review-more-btn{display:inline-block;margin-top:.4rem;padding:0;border:none;background:none;color:var(--accent);font-weight:700;font-size:.82rem;cursor:pointer}.review-files{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.review-file-thumb{display:block;width:64px;height:64px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--line)}.review-file-thumb img{width:100%;height:100%;object-fit:cover;display:block}.review-file-doc{font-size:.82rem;font-weight:700;color:var(--accent);text-decoration:underline;align-self:center}.review-contact{margin-top:.7rem;font-size:.82rem;color:var(--text-muted)}.review-contact a{color:var(--accent);font-weight:700;text-decoration:none}.review-contact a:hover{text-decoration:underline}.review-reply{margin-top:.9rem;padding:.7rem .9rem;border-radius:var(--radius-md);background:var(--accent-soft);border:1px solid var(--line);font-size:.86rem}.review-reply-label{display:block;font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin-bottom:.25rem}.review-show-more-btn{display:block;margin:1.2rem auto 0}.review-modal{overflow-y:auto}.review-field{display:flex;flex-direction:column;gap:.4rem;margin:.9rem 0;font-size:.85rem;font-weight:600;color:var(--text-muted)}.review-field input[type=text],.review-field textarea{width:100%;padding:.65rem .8rem;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--panel-soft);color:var(--text);font:inherit;font-size:.95rem;resize:vertical}.review-field input[type=text]:focus,.review-field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.review-file-picker{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.review-muted{color:var(--text-muted);font-size:.82rem}.review-checkbox{display:flex;align-items:center;gap:.5rem;font-weight:600;cursor:pointer}.review-checkbox input{width:1.05rem;height:1.05rem;accent-color:var(--accent);cursor:pointer}.review-hint{margin:0;font-size:.76rem;color:var(--warning)}.star-rating-input{display:flex;gap:.3rem}.star-input{padding:0;border:none;background:none;font-size:1.7rem;line-height:1;color:var(--line-strong);cursor:pointer;transition:color .15s ease,transform .1s ease}.star-input:active{transform:scale(.9)}.star-input.is-active{color:#f5a623}.review-field input.is-invalid,.review-field textarea.is-invalid{border-color:var(--danger)}.star-rating-input.is-invalid{outline:1px solid var(--danger);outline-offset:4px;border-radius:999px}.review-modal.has-error{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.my-reviews-list{display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.review-reply.is-unread{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.review-alert{display:inline-flex;align-items:center;gap:.4rem;margin-top:.7rem;padding:.55rem 1rem;border-radius:999px;font-weight:700;font-size:.85rem}.review-alert-icon{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border-radius:50%;font-size:.7rem;flex-shrink:0}.review-alert--error{color:var(--danger);background:#c4313a1a}.review-alert--success{color:var(--success);background:#2ea0431f}.review-alert--success .review-alert-icon{background:var(--success);color:#fff}@media(prefers-reduced-motion:reduce){.star-input{transition:none}}
