.rate-toolbar { display:flex; align-items:end; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
.rate-toolbar label, .rate-row label { display:block; font-size:0.8rem; margin-bottom:6px; color:var(--ink-3,#6B6058); }
.rate-toolbar select, .rate-row input { border:1px solid #D9CEC2; border-radius:10px; background:white; color:#1F1A17; padding:10px 12px; font:inherit; }
.rate-toolbar select { min-width:180px; }
.rate-row { display:grid; grid-template-columns:1fr 1.5fr auto; align-items:center; gap:20px; padding:20px 0; border-bottom:1px solid #E8DFD6; }
.rate-row:last-child { border-bottom:0; }
.rate-row input { width:100%; max-width:240px; }
.rate-row input:focus { outline:2px solid #B85757; outline-offset:2px; }
.rate-row .btn-refresh { background:#8B2E2E; color:white; border-color:#8B2E2E; justify-content:center; }
.rate-row .btn-refresh:hover { background:#722424; border-color:#722424; }
.rate-toolbar .btn-refresh { background:#FBEFEF; color:#8B2E2E; border-color:#D9CEC2; }
.rate-row input:disabled, .rate-row button:disabled { opacity:0.55; cursor:not-allowed; }
.rate-note { font-size:0.82rem; color:#6B6058; margin-top:5px; }
.rate-draft { font-size:0.8rem; color:#9a6700; margin-top:4px; }
.rate-status { padding:12px 16px; border-radius:10px; background:#F0E8DF; margin-bottom:12px; }
.rate-status.rate-ready { background:#E4F0EA; color:#1C5A3F; }
.rate-message { min-height:1.6em; color:#1C5A3F; margin:12px 0; }
.rate-message.rate-error { color:#b42318; }
@media(max-width:640px) { .rate-row { grid-template-columns:1fr; gap:10px; } .rate-row input { max-width:none; } .rate-row button { width:100%; } }
