.votes-main { max-width: 640px; margin: 0 auto; padding: 8px 14px 48px; color: #f5f0e2; font-size: 16px; line-height: 1.4; }
.votes-main h2 { font-size: 20px; margin: 22px 0 10px; }
.votes-banner { background: #2b2a1c; border: 1px solid #c9a227; border-radius: 12px; padding: 12px 14px; margin: 8px 0 16px; }
.votes-banner p { margin: 0 0 8px; font-size: 16px; }
.votes-toggle { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: 16px; }
.votes-toggle input { width: 24px; height: 24px; }
.votes-link { background: none; border: 0; color: #f2c14e; text-decoration: underline; font: inherit; font-size: 16px; min-height: 44px; padding: 0 6px; cursor: pointer; }
.votes-big { display: block; width: 100%; min-height: 52px; background: #f2c14e; color: #2a2227; border: 0; border-radius: 12px; font: inherit; font-size: 18px; font-weight: 700; padding: 10px 16px; cursor: pointer; margin: 8px 0; }
.votes-allgood { font-size: 18px; font-weight: 700; margin: 8px 0 12px; }
.votes-empty { font-size: 17px; }
.votes-card { background: #231f26; border: 1px solid #4a424d; border-radius: 14px; padding: 14px; margin: 0 0 12px; }
.votes-card--owed { border-color: #f2c14e; box-shadow: 0 0 10px rgba(242, 193, 78, 0.35); }
.votes-card h3 { font-size: 18px; margin: 0 0 4px; }
.votes-meta { margin: 0 0 10px; color: #cfc6b4; font-size: 16px; }
.votes-opt { display: flex; justify-content: space-between; align-items: center; gap: 10px; width: 100%; min-height: 48px; margin: 6px 0; padding: 8px 14px; background: #3a3340; color: #f5f0e2; border: 1px solid #6a5f70; border-radius: 10px; font: inherit; font-size: 17px; text-align: left; cursor: pointer; }
.votes-opt--mine { background: #f2c14e; color: #2a2227; border-color: #f2c14e; font-weight: 700; }
.votes-opt[disabled] { cursor: default; opacity: 0.85; }
.votes-count { font-size: 16px; white-space: nowrap; }
.votes-mine { margin: 10px 0 0; font-size: 17px; }
.votes-form { background: #231f26; border: 1px solid #4a424d; border-radius: 14px; padding: 14px; margin: 8px 0 16px; }
.votes-form h2 { margin-top: 0; }
.votes-form label { display: block; margin: 0 0 12px; }
.votes-form label span, .votes-form legend { display: block; font-size: 16px; margin-bottom: 4px; }
.votes-form input[type="text"], .votes-form input[type="date"], .votes-form select { width: 100%; box-sizing: border-box; min-height: 48px; font: inherit; font-size: 16px; padding: 8px 10px; border-radius: 8px; border: 1px solid #6a5f70; background: #14111a; color: #f5f0e2; }
.votes-form fieldset { border: 0; padding: 0; margin: 0 0 12px; }
.votes-form fieldset input { margin-bottom: 8px; }
.votes-row { display: flex; align-items: center; gap: 10px; }
.votes-row .votes-big { flex: 1; }
.votes-error { color: #ff9b8a; font-size: 16px; margin: 0 0 8px; }
.votes-main [hidden] { display: none !important; }
