.star-display{display:inline-flex;align-items:center;gap:2px}.star-display__star{color:var(--line);line-height:1}.star-display__star--filled{color:#f59e0b}.star-display--sm .star-display__star{font-size:14px}.star-display--md .star-display__star{font-size:18px}.star-display--lg .star-display__star{font-size:24px}.star-display__value{margin-left:6px;font-size:15px;font-weight:700;color:var(--text)}.review-section{gap:.6rem}.review-section-header{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.review-section-title{font-size:1.16rem;font-weight:800;color:var(--text);margin:0}.review-section-summary{display:flex;align-items:center;gap:5px}.review-section-count{font-size:13px;color:var(--muted)}.review-list{display:flex;flex-direction:column;gap:.5rem}.review-item{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem}.review-item-header{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:.25rem}.review-item-name{font-size:13px;font-weight:600;color:var(--text)}.review-item-date{font-size:12px;color:var(--muted);margin-right:auto}.review-item-text{font-size:13px;color:var(--text);line-height:1.55;margin:0}.review-page{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.review-page-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--line);background:var(--surface)}.review-logo{font-size:1.3rem;font-weight:800;color:var(--text);text-decoration:none}.review-logo span{color:var(--taupe)}.review-page-main{flex:1 1;display:flex;align-items:flex-start;justify-content:center;padding:2.5rem 1rem}.review-page-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;width:100%;max-width:540px;box-shadow:0 2px 12px #0000000f}.review-page-card--error{text-align:center}.review-page-title{font-size:1.4rem;font-weight:800;color:var(--text);margin:0 0 .5rem}.review-page-subtitle{font-size:14px;color:var(--muted);margin:0 0 1.5rem}.review-form{display:flex;flex-direction:column;gap:1.25rem}.review-order-card{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:.875rem 1rem}.review-order-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:0 0 4px}.review-order-product{font-size:15px;font-weight:700;color:var(--text);margin:0 0 3px}.review-order-date{font-size:13px;color:var(--muted);margin:0}.review-stars-section{display:flex;flex-direction:column;gap:.5rem}.review-stars-label{font-size:14px;font-weight:600;color:var(--text);margin:0}.review-stars-row{display:flex;align-items:center;gap:4px}.review-star{background:none;border:none;font-size:36px;color:var(--line);cursor:pointer;padding:0;line-height:1;transition:color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.review-star.active,.review-star:hover{color:#f59e0b;transform:scale(1.1)}.review-star-label{font-size:13px;color:var(--muted);margin-left:8px}.review-field{display:flex;flex-direction:column;gap:.375rem}.review-field-label{font-size:14px;font-weight:600;color:var(--text)}.review-field-optional{font-weight:400;color:var(--muted)}.review-input,.review-textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:.625rem .875rem;font-size:14px;font-family:inherit;color:var(--text);background:var(--surface);transition:border-color var(--duration-fast) var(--ease-standard);resize:vertical}.review-input:focus,.review-textarea:focus{outline:none;border-color:var(--accent)}.review-input:disabled,.review-textarea:disabled{opacity:.5;cursor:not-allowed}.review-char-count{font-size:12px;color:var(--muted);text-align:right;margin:0}.review-anonymous-label{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:var(--text);cursor:pointer}.review-checkbox{margin-top:2px;accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}.review-error{background:color-mix(in oklab,var(--danger) 12%,#0000);border:1px solid var(--danger);border-radius:8px;padding:.625rem .875rem;font-size:14px;color:var(--text);margin:0}.review-submit-btn{background:var(--accent);color:var(--surface);border:none;border-radius:10px;padding:.875rem 1.5rem;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}.review-submit-btn:hover:not(:disabled){background:var(--accent-dark)}.review-submit-btn:disabled{opacity:.5;cursor:not-allowed}.review-page-success{text-align:center;padding:1rem 0;display:flex;flex-direction:column;align-items:center;gap:.75rem}.review-success-icon{width:56px;height:56px;border-radius:50%;background:color-mix(in oklab,var(--accent) 12%,#0000);color:var(--accent);font-size:24px;font-weight:700;display:flex;align-items:center;justify-content:center}.review-success-title{font-size:1.25rem;font-weight:800;color:var(--text);margin:0}.review-success-body{font-size:14px;color:var(--muted);max-width:34ch;text-align:center;margin:0;line-height:1.6}.review-back-link,.review-error-icon+.review-page-title~.review-back-link{margin-top:.5rem;font-size:14px;color:var(--accent);text-decoration:none;font-weight:600}.review-error-icon{width:56px;height:56px;border-radius:50%;background:color-mix(in oklab,var(--danger) 12%,#0000);color:var(--danger);font-size:22px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}.admin-review-request-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.admin-review-request-btn{background:var(--surface);border:1.5px solid var(--accent);color:var(--accent);border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast);white-space:nowrap}.admin-review-request-btn:hover:not(:disabled){background:var(--accent);color:var(--surface)}.admin-review-request-btn--sent,.admin-review-request-btn--sent:hover{background:color-mix(in oklab,var(--accent) 10%,#0000);border-color:var(--accent);color:var(--accent);cursor:default}.admin-review-request-btn:disabled{opacity:.65;cursor:not-allowed}.admin-review-request-error{font-size:12px;color:var(--danger);margin:0;max-width:220px;text-align:right}.admin-reviews{display:flex;flex-direction:column;gap:1.5rem}.admin-badge-count{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--surface);border-radius:999px;font-size:12px;font-weight:700;min-width:20px;height:20px;padding:0 6px;margin-left:8px;vertical-align:middle}.admin-tabs{display:flex;gap:0;border-bottom:2px solid var(--line)}.admin-tab{background:none;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.5rem 1.25rem;font-size:14px;font-weight:600;font-family:inherit;color:var(--muted);cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast)}.admin-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.admin-reviews-filters{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.admin-reviews-tab,.admin-send-tab{display:flex;flex-direction:column}.admin-send-description{font-size:14px;color:var(--muted);margin:0 0 1rem}.admin-bulk-result{background:color-mix(in oklab,var(--accent) 10%,#0000);border:1px solid var(--accent);border-radius:8px;padding:.625rem 1rem;font-size:14px;color:var(--text);margin-bottom:1rem}.admin-bulk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.admin-bulk-select-all{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text);cursor:pointer}.admin-row--selected{background:color-mix(in oklab,var(--accent) 5%,#0000)}.admin-cell-product{display:flex;flex-direction:column;gap:2px}.admin-link-muted{font-size:12px;color:var(--muted);text-decoration:none}.admin-link-muted:hover{text-decoration:underline}.admin-stars{color:#f59e0b;font-size:14px;letter-spacing:1px}.admin-rating-num{font-size:12px;color:var(--muted);margin-left:4px}.admin-cell-text{max-width:240px;font-size:13px;color:var(--text);white-space:pre-wrap;word-break:break-word}.admin-cell-date{font-size:13px;color:var(--muted);white-space:nowrap}.admin-cell-actions{display:flex;gap:6px;flex-wrap:wrap;white-space:nowrap}.admin-action-btn{border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity var(--duration-fast)}.admin-action-btn:disabled{opacity:.5;cursor:not-allowed}.admin-action-btn--approve{background:color-mix(in oklab,var(--tropical-teal) 15%,#0000);color:var(--accent-dark)}.admin-action-btn--reject{background:color-mix(in oklab,var(--danger) 12%,#0000);color:var(--danger)}.admin-action-btn--delete{background:color-mix(in oklab,var(--taupe) 18%,#0000);color:var(--text)}.admin-manual-review-form{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:.875rem 1rem;margin-bottom:.75rem;display:flex;flex-direction:column;gap:0}.admin-manual-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem}.admin-form-row{display:flex;flex-direction:column;gap:.25rem}.admin-check-inline{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;margin-bottom:.25rem}.admin-star-input{display:flex;gap:2px}.admin-star-btn{background:none;border:none;font-size:22px;color:var(--line);cursor:pointer;padding:0;line-height:1;transition:color .1s}.admin-star-btn.active,.admin-star-btn:hover{color:#f59e0b}.admin-form-actions{display:flex;gap:.5rem}.admin-empty-state{font-size:14px;color:var(--muted);padding:2rem 0;text-align:center}.admin-muted{color:var(--muted);font-size:13px}.admin-link{color:var(--accent);text-decoration:none;font-size:13px;font-weight:600}.admin-link:hover{text-decoration:underline}.review-submit-row{margin-top:.75rem;display:flex;flex-direction:column;align-items:center;gap:.4rem}.review-submit-hint{margin:0;font-size:.75rem;color:var(--text-muted,#4b5563)}.review-submit-cta{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);border-radius:999px;padding:.45rem 1.1rem;font-size:.82rem;font-weight:600;color:var(--text);background:#0000;cursor:pointer;transition:border-color .16s,background .16s,color .16s}.review-submit-cta:hover{border-color:var(--accent);background:var(--accent);color:#fff}.review-popup-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem}.review-popup-backdrop{position:absolute;inset:0;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.review-popup-panel{position:relative;background:#fff;border-radius:18px;padding:2rem 1.75rem 1.75rem;width:100%;max-width:460px;max-height:90dvh;overflow-y:auto;box-shadow:0 20px 60px #00000038}.review-popup-close{position:absolute;top:1rem;right:1rem;width:30px;height:30px;border:0;background:none;font-size:1rem;color:var(--muted);cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .16s}.review-popup-close:hover{background:var(--accent);color:#fff}.review-popup-form{display:flex;flex-direction:column;gap:1rem}.review-popup-title{font-size:1.15rem;font-weight:700;margin:0;color:var(--text)}.review-popup-subtitle{font-size:.85rem;color:var(--muted);margin:-.5rem 0 0}.review-popup-back{align-self:flex-start;border:0;background:none;font-size:.82rem;color:var(--muted);cursor:pointer;padding:0;text-decoration:underline}.review-star-picker{display:flex;gap:6px}.review-star-btn{font-size:2rem;border:0;background:#0000!important;cursor:pointer;color:var(--line);padding:0;line-height:1;transition:color .1s,transform .1s;outline:none;box-shadow:none!important}.review-star-btn.filled,.review-star-btn:focus,.review-star-btn:hover{color:#f59e0b;background:#0000!important}.review-star-btn:hover{transform:scale(1.15)}.review-popup-field{display:flex;flex-direction:column;gap:5px}.review-popup-field label{font-size:.82rem;font-weight:600;color:var(--text)}.review-popup-opt{font-weight:400;color:var(--muted)}.review-popup-field input,.review-popup-field textarea{border:1.5px solid var(--line);border-radius:10px;padding:.55rem .75rem;font-size:.88rem;font-family:inherit;color:var(--text);background:#fff;transition:border-color .16s;resize:vertical}.review-popup-field input:focus,.review-popup-field textarea:focus{outline:none;border-color:var(--accent)}.review-popup-btn{border:0;border-radius:10px;padding:.65rem 1.25rem;font-size:.9rem;font-weight:700;background:var(--accent);color:#fff;cursor:pointer;transition:opacity .16s;text-align:center}.review-popup-btn:disabled{opacity:.45;cursor:not-allowed}.review-popup-btn:not(:disabled):hover{opacity:.88}.review-popup-error{font-size:.82rem;color:#e63946;margin:0}.review-popup-done{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;padding:1rem 0 .5rem}.review-popup-done-icon{font-size:2.5rem;color:#22c55e;font-weight:700;line-height:1}@media (max-width:480px){.review-popup-panel{border-radius:16px 16px 0 0;position:fixed;bottom:0;left:0;right:0;max-width:100%;max-height:92dvh;margin:0;padding:1.5rem 1.25rem 2rem}.review-popup-overlay{align-items:flex-end;padding:0}}