.approve-inline{justify-content:flex-end;margin:-8px 0 16px;display:flex}.approve-inline-btn{background:var(--accent-600);border:1px solid var(--accent-600);border-radius:var(--r-md);color:var(--canvas-raised);cursor:pointer;font-family:var(--font-ui);letter-spacing:.02em;transition:background-color .2s var(--ease-out),border-color .2s var(--ease-out),transform .12s var(--ease-out);padding:8px 16px;font-size:13px;font-weight:600}.approve-inline-btn:hover:not(:disabled){background:var(--accent-700);border-color:var(--accent-700)}.approve-inline-btn:active:not(:disabled){transform:translateY(1px)}.approve-inline-btn:disabled{cursor:progress;opacity:.7}
.rating-stars{color:var(--accent-600);align-items:center;gap:2px;display:inline-flex}.rating-stars--sm svg{width:14px;height:14px}.rating-stars--md svg{width:20px;height:20px}.rating-stars--display{line-height:1}.rating-stars--input{cursor:default;border-radius:6px;outline:none}.rating-stars--input:focus-visible{box-shadow:0 0 0 2px var(--accent-600)}.rating-star-btn{appearance:none;color:inherit;cursor:pointer;height:28px;transition:transform .15s var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;width:28px;padding:0 2px;display:inline-flex}.rating-star-btn:hover{transform:scale(1.15)}.rating-star-btn:focus-visible{outline:1px dashed var(--accent-700);outline-offset:1px}
.reviews-summary{color:var(--ink-700);font-family:var(--font-ui);flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 0 18px;font-size:14px;line-height:1.4;display:flex}.reviews-summary-avg{color:var(--ink-900);font-family:var(--font-display);letter-spacing:-.01em;font-size:28px;font-weight:500;line-height:1}.reviews-summary-count{color:var(--ink-500)}.reviews-summary-empty{color:var(--ink-500);font-style:italic}.reviews-list{border-top:1px solid var(--ink-100);margin:0;padding:0;list-style:none}.review-row{border-bottom:1px solid var(--ink-100);padding:16px 0}.review-row:last-child{border-bottom:0}.review-row-head{color:var(--ink-700);font-family:var(--font-ui);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px;font-size:13px;line-height:1.4;display:flex}.review-row-name{color:var(--ink-900);font-weight:500}.review-row-when{color:var(--ink-500)}.review-row-body{color:var(--ink-700);font-family:var(--font-ui);white-space:pre-wrap;margin:0;font-size:15px;line-height:1.6}.reviews-empty{color:var(--ink-500);font-family:var(--font-ui);margin:0 0 18px;font-size:14px;font-style:italic}.review-write{background:var(--canvas-raised);border:1px solid var(--ink-100);border-radius:var(--r-lg,12px);margin-top:24px;padding:20px}.review-write-heading{color:var(--ink-900);font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 12px;font-size:20px;font-weight:500;line-height:1.2}.review-write-stars-row{border:0;margin:0 0 16px;padding:0}.review-write-label{color:var(--ink-900);font-family:var(--font-ui);margin:0 0 6px;padding:0;font-size:13px;font-weight:500;display:block}.review-write-hint{color:var(--ink-500);font-family:var(--font-ui);margin:6px 0 0;font-size:12px;line-height:1.5}.review-write-textarea{appearance:none;background:var(--canvas);border:1px solid var(--ink-100);color:var(--ink-900);font-family:var(--font-ui);resize:vertical;transition:border-color .2s var(--ease-out);border-radius:8px;width:100%;margin-top:4px;padding:10px 12px;font-size:15px;line-height:1.5;display:block}.review-write-textarea:focus{border-color:var(--accent-600);outline:none}.review-write-pending{background:var(--canvas);border-left:2px solid var(--accent-600);color:var(--ink-700);font-family:var(--font-ui);margin:14px 0 0;padding:10px 12px;font-size:13px}.review-write-submit{appearance:none;background:var(--accent-600);color:var(--canvas);cursor:pointer;font-family:var(--font-ui);letter-spacing:.01em;transition:background-color .2s var(--ease-out);border:0;border-radius:999px;margin-top:16px;padding:10px 22px;font-size:14px;font-weight:500}.review-write-submit:hover:not(:disabled){background:var(--accent-700)}.review-write-submit:disabled{cursor:not-allowed;opacity:.55}.reviews-login-cta{color:var(--accent-700);font-family:var(--font-ui);transition:color .2s var(--ease-out);margin-top:18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-block}.reviews-login-cta:hover{color:var(--accent-600)}
