#voted-r1-root{display:block;}
#voted-upload-box { border: 1px solid #eee; border-radius: 8px; background: #f0f0f0; }
#voted-upload-box .row { display:flex; gap:12px; align-items:flex-start; flex-wrap:wrap; }
#voted-upload-box .left { max-width:500px; }
#voted-upload-box .card { border-radius:6px; overflow:hidden; position:relative; }
#voted-upload-box .card img { width:100%; height:100%; object-fit:cover; display:block; }
#voted-upload-box .badges { position:absolute; top:8px; right:8px; display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; max-width:90%; }
.badge { padding: 4px 8px; font-size: 12px; font-weight: 600; border-radius: 6px; border: 2px solid #333; color:#333; background:#fc0; }
.badge.pending   { background: #fc0; color:#333; }
.badge.approved  { background: #34c759; color:#fff; border-color:#2a9c47; }
.badge.rejected  { background: #ff3b30; color:#fff; border-color:#c12a22; }
.badge.ineligible{ background: #8e8e93; color:#fff; border-color:#6d6d72; }

#voted-upload-box .current-meta{ margin-top:6px; color:#444; }
#voted-upload-box .current-meta .t{     font-weight: 600;
    font-size: 1.5em;
    line-height: 1.5;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    text-align: center; }
#voted-upload-box .current-meta .d{     color: #666;
    height: 3em;
    line-height: 1.5;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis; }

#voted-upload-box .form { flex:1; min-width:260px; }
#voted-upload-box .form .form-row { margin-bottom:8px; }
#voted-upload-box .form label { display:inline-block; margin-bottom:4px; color:#333; }
#voted-upload-box .form input[type="text"],
#voted-upload-box .form textarea { width:100%; box-sizing:border-box; padding:8px; border:1px solid #ccc; border-radius:4px; }
#voted-upload-box .form input[type="file"] { display:block; }
#voted-upload-box .actions { margin-top:10px; }
#voted-upload-box .btn { padding:.5em 1em; border:1px solid #2b7; background:#2b7; color:#fff; border-radius:4px; cursor:pointer; }
#voted-upload-box .btn[disabled]{ opacity:.7; cursor:not-allowed; }

#voted-list-box { margin-top: 18px; }
#voted-list-box .hdr { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
#voted-list-box .hdr .t { font-weight:700; }
.voted-grid { display:flex; flex-wrap:wrap; gap:1em; margin-top:1em; }
.vcard { width: calc(25% - 1em); border:1px solid #ccc; border-radius:6px; background:#eee; }
@media (max-width: 768px){  .vcard{ width: calc(100% - 1em);} }
.vcard .thumb { width:100%; display:inline-grid; }
.vcard .thumb img { object-fit:cover; border-radius:6px; margin-bottom:.5em; aspect-ratio:16/9; width:100%; height:auto; }
.vcard .meta { padding:8px; }
.vcard .meta .title { font-size:1.2em; font-weight:600; margin-bottom:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:center; }
.vcard .meta .desc {color: #666;
    height: 3em;
    line-height: 1.5;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;}
.my { border: 3px solid #e10 !important;	box-shadow: 0px -5px 0px 0px #e10; }
.vcard a.open-full { text-decoration:none; color:inherit; }

/* 票数 + 按钮样式（新增） */
.vcard .meta .votes-label { font-weight:600; margin-right:4px;font-size: 0.7em; }
.vcard .meta .vote-count { font-variant-numeric: tabular-nums; }
.vcard .actions { margin-top:6px; }
.vcard .btn-vote { }
.vcard .btn-vote.voted, .vcard .btn-vote[disabled] { opacity:.75; cursor:not-allowed; }
.btn-vote.is-disabled { opacity: .55; cursor: not-allowed; }
