.review-container{max-width:1000px;margin:0 auto;padding:24px 20px 60px}.review-page-title{color:var(--text-title,#111);margin:0 0 8px;font-size:1.75rem;font-weight:700}.review-page-desc{color:var(--text-muted,#888);margin:0 0 24px;font-size:.95rem}.review-inline-link{color:var(--color-primary,#b30d0d);font-weight:600;text-decoration:none}.review-inline-link:hover{text-decoration:underline}.review-table-wrap{border:1px solid var(--line,#eaeaea);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.review-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.9rem}.review-table th{text-align:center;background:var(--color-primary,#b30d0d);color:#fff;white-space:nowrap;border-bottom:none;padding:14px 12px;font-weight:600}.review-table th:first-child{width:52px}.review-table th:nth-child(2){width:28%;min-width:120px}.review-table th:nth-child(3){width:90px}.review-table th:nth-child(4){width:120px}.review-table th:nth-child(5){width:70px}.review-table th:nth-child(6){width:64px}.review-table th:nth-child(7){width:55px}.review-table th:nth-child(8){width:90px}.review-table td{border-bottom:1px solid var(--line-soft,#f2f2f2);color:var(--text-body,#444);text-align:center;vertical-align:middle;padding:14px 12px}.review-table tbody tr:hover{background:rgba(var(--color-primary-rgb,179,13,13),.04)}.review-table tbody tr:last-child td{border-bottom:none}.review-table .review-cell-num{text-align:center;color:var(--text-muted,#888);font-size:.85rem}.review-table .review-cell-title{color:var(--text-title,#111);text-align:center;font-weight:600}.review-table .review-cell-title a{color:inherit;text-decoration:none}.review-table .review-cell-title a:hover{color:var(--color-primary,#b30d0d);text-decoration:underline}.review-stars{color:#f2c318;letter-spacing:1px}.review-detail-card{border:1px solid var(--line,#eaeaea);background:#fff;border-radius:12px;margin-bottom:20px;padding:24px}.review-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.review-detail-title{color:var(--text-title,#111);margin:0;font-size:1.35rem;font-weight:700}.review-detail-meta{color:var(--text-muted,#888);font-size:.9rem}.review-detail-content{white-space:pre-wrap;background:var(--surface-soft,#fcfdff);border:1px solid var(--line-soft,#f2f2f2);color:var(--text-body,#444);border-radius:8px;margin:16px 0 0;padding:16px;font-size:1rem;line-height:1.7}.review-detail-actions{flex-wrap:wrap;gap:8px;margin-top:1rem;display:flex}.review-btn-like{border-color:var(--line,#eaeaea);color:var(--text-body,#444);background:#fff}.review-btn-like:hover{background:rgba(var(--color-primary-rgb,179,13,13),.06);border-color:var(--color-primary,#b30d0d);color:var(--color-primary,#b30d0d)}.review-btn{border:1px solid var(--line,#eaeaea);cursor:pointer;color:var(--text-body,#444);background:#fff;border-radius:8px;padding:8px 16px;font-size:.9rem}.review-btn:hover{background:rgba(var(--color-primary-rgb,179,13,13),.06);border-color:var(--color-primary,#b30d0d);color:var(--color-primary,#b30d0d)}.review-btn-primary{background:var(--color-primary,#b30d0d);border-color:var(--color-primary,#b30d0d);color:#fff}.review-btn-primary:hover{opacity:.9;background:var(--color-primary,#b30d0d);color:#fff}.review-btn-like.review-btn-like--active{background:var(--color-primary,#b30d0d);border-color:var(--color-primary,#b30d0d);color:#fff}.review-btn-like.review-btn-like--active:hover{opacity:.9;background:var(--color-primary,#b30d0d);border-color:var(--color-primary,#b30d0d);color:#fff}.review-comments{margin-top:24px}.review-comments h4{color:var(--text-title,#111);margin:0 0 12px;font-size:1.1rem}.review-comment-form{margin-bottom:16px}.review-comment-form textarea{border:1px solid var(--line,#eaeaea);resize:vertical;box-sizing:border-box;border-radius:8px;width:100%;height:80px;padding:12px 14px;font-size:.95rem}.review-comment-form textarea:focus{border-color:var(--color-primary,#b30d0d);outline:none}.review-comment-list{margin:0;padding:0;list-style:none}.review-comment-item{border-bottom:1px solid var(--line-soft,#f2f2f2);padding:12px 14px;font-size:.9rem}.review-comment-item:last-child{border-bottom:none}.review-comment-meta{color:var(--text-muted,#888);margin-bottom:4px;font-size:.8rem}.review-form{max-width:640px}.review-form-group{margin-bottom:1.25rem}.review-form-group label{color:var(--text-title,#111);margin-bottom:6px;font-size:.95rem;font-weight:600;display:block}.review-form-group input,.review-form-group select,.review-form-group textarea{border:1px solid var(--line,#eaeaea);box-sizing:border-box;border-radius:8px;width:100%;padding:10px 14px;font-size:.95rem}.review-form-group input:focus,.review-form-group select:focus,.review-form-group textarea:focus{border-color:var(--color-primary,#b30d0d);outline:none}.review-form-group textarea{resize:vertical;min-height:120px}.review-form-actions{gap:10px;margin-top:1.5rem;display:flex}.review-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.review-filter-select{border:1px solid var(--line,#eaeaea);background:#fff;border-radius:8px;min-width:200px;padding:8px 12px;font-size:.9rem}@media (max-width:640px){.review-container{padding:16px 14px 40px}.review-table th,.review-table td{padding:10px 12px;font-size:.85rem}.review-cell-title{max-width:140px}}
