.vof-box{max-width:880px;margin:1.5rem auto;padding:24px;border:1px solid #d9dfe5;border-radius:12px;background:#fff;color:#20252a;font:inherit}.vof-public-form label{display:block;font-weight:600;margin:14px 0}.vof-public-form input:not([type=file]),.vof-public-form textarea,.vof-public-form select,.vof-review select{display:block;width:100%;box-sizing:border-box;padding:10px;border:1px solid #b9c4ce;border-radius:6px;margin-top:5px;font:inherit}.vof-public-form input[type=file]{display:block;margin-top:8px}.vof-box button{padding:9px 16px;border-radius:6px;border:1px solid #325889;background:#325889;color:white;cursor:pointer;margin:5px 6px 5px 0}.vof-box button:disabled{opacity:.5;cursor:wait}.vof-box progress{display:block;width:100%;height:16px;margin:12px 0}.vof-status{margin:12px 0;font-weight:600}.vof-hp{position:absolute!important;left:-99999px!important;opacity:0!important}.vof-entry{border:1px solid #d8dfe8;border-radius:8px;padding:16px;margin:12px 0}.vof-entry h3{margin:0 0 8px}.vof-entry p{margin:7px 0}.vof-file{padding:8px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #eee}.vof-actions{margin-top:12px}.vof-review .vof-filter{max-width:220px}

.vof-file{align-items:center;justify-content:flex-start}.vof-file-preview{flex:0 0 112px;width:112px;height:78px;border-radius:6px;background:#e8eef3;border:1px solid #cbd5df;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;letter-spacing:.04em;color:#36516b;overflow:hidden}.vof-file-preview img{width:100%;height:100%;object-fit:contain}.vof-file-details{min-width:0;flex:1;display:flex;flex-direction:column;gap:8px;overflow-wrap:anywhere}.vof-file-details a{align-self:flex-start}

/* Public uploader: large, accessible, clearly labelled confirmed transfer progress. */
.vof-progress-wrap{position:relative;width:100%;margin:16px 0 12px;height:38px}
.vof-progress-wrap[hidden]{display:none!important}
.vof-progress-wrap progress{display:block;width:100%;height:38px;margin:0;border-radius:9px;overflow:hidden;border:1px solid #7894ae;background:#e8eef4;appearance:none;-webkit-appearance:none}
.vof-progress-wrap progress::-webkit-progress-bar{background:#e8eef4;border-radius:9px}
.vof-progress-wrap progress::-webkit-progress-value{background:#256eaa;border-radius:9px;transition:width .15s ease}
.vof-progress-wrap progress::-moz-progress-bar{background:#256eaa;border-radius:9px}
.vof-progress-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#132a3c;text-shadow:0 1px 2px #fff,0 -1px 2px #fff;pointer-events:none}
.vof-progress-processing .vof-progress-label{font-size:14px}
.vof-progress-failed progress::-webkit-progress-value{background:#ad4040}
.vof-progress-failed progress::-moz-progress-bar{background:#ad4040}

.vof-again[hidden]{display:none!important}.vof-modal{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:999999;display:flex;align-items:center;justify-content:center;padding:16px}.vof-modal-panel{background:white;color:#111;border-radius:10px;max-width:min(1100px,96vw);max-height:95vh;width:100%;overflow:auto;padding:16px}.vof-modal-panel video,.vof-modal-panel img,.vof-modal-panel iframe{display:block;width:100%;max-height:78vh;object-fit:contain}.vof-modal-panel iframe{min-height:65vh}.vof-modal-panel audio{display:block;width:100%}.vof-entry select{max-width:260px;padding:8px;margin:8px 0}.vof-modal-panel button{margin-bottom:12px}

.vof-complete[hidden]{display:none!important}.vof-complete{padding:16px;border:2px solid #276749;border-radius:8px;background:#edf9f0;color:#163d28;margin:12px 0}.vof-again:not([hidden]){display:inline-block!important}.vof-public-form button[type=submit][hidden]{display:none!important}

.vof-manual-warning{color:#953300;font-size:13px}.vof-complete:not([hidden]){display:block!important}

/* Clearly styled secure download link: still a native anchor so file downloads work normally. */
.vof-review .vof-download-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;padding:9px 16px;margin:5px 6px 5px 0;border-radius:6px;border:1px solid #325889;background:#325889;color:#fff;text-decoration:none;font-weight:600;line-height:1.35;cursor:pointer}
.vof-review .vof-download-button:hover,.vof-review .vof-download-button:focus{background:#23446e;color:#fff;text-decoration:none}
.vof-review .vof-download-button:focus-visible{outline:3px solid #ecb84d;outline-offset:2px}

/* v0.1.11: Reviewer category/search controls and compact preview actions. */
.vof-review-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:12px 0 16px}
.vof-review-controls label{flex:1 1 155px;min-width:130px;font-weight:600}
.vof-review .vof-review-controls select,.vof-review .vof-review-controls input{display:block;width:100%;box-sizing:border-box;padding:9px;border:1px solid #b9c4ce;border-radius:6px;margin-top:5px;font:inherit}
.vof-review .vof-review-controls .vof-filter{max-width:none}
.vof-review .vof-review-controls .vof-clear-filters{padding:9px 12px;white-space:nowrap}
.vof-review-count{font-weight:600;color:#526477;margin:5px 0 10px}
.vof-review .vof-file-details .vof-preview-button,.vof-review .vof-file-details .vof-download-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;flex:0 0 auto;width:auto!important;height:auto!important;min-height:36px;padding:7px 12px;margin:0 0 6px;font-size:14px;line-height:20px;border-radius:6px;box-sizing:border-box;text-decoration:none}
.vof-review .vof-file-details .vof-preview-button{max-width:160px}

/* v0.1.13 — select and manage several submissions in one operation. */
.vof-bulk-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:10px 0 18px;padding:12px;border:1px solid #c3cfd9;border-radius:8px;background:#f5f8fb}
.vof-bulk-tools .vof-select-all-label{display:inline-flex;gap:6px;align-items:center;font-weight:600;white-space:nowrap}
.vof-bulk-tools input[type=checkbox],.vof-bulk-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}
.vof-selected-count{color:#394f65;min-width:85px}
.vof-bulk-action{max-width:260px;min-width:180px;padding:8px}
.vof-bulk-apply{padding:8px 14px}.vof-bulk-apply:disabled{opacity:.5;cursor:not-allowed}
.vof-bulk-item{display:inline-flex;align-items:center;gap:6px;font-weight:600;margin-bottom:7px}
