.protest-back{display:inline-block;margin:0 0 20px}.protest-step{display:inline-flex;justify-content:center;align-items:center;width:25px;height:25px;margin-right:8px;border:1px solid #0092ff;border-radius:6px;color:#0092ff;font-size:13px}.protest-submit-form .panel{margin-bottom:20px}.protest-submit-form textarea,.protest-admin-review textarea{resize:vertical}.protest-upload-box{margin-top:20px;padding:18px;background:#171717;border:1px solid #383838;border-radius:8px}.protest-upload-box h3{font-size:15px;color:#fff;margin:0 0 7px}.protest-upload-box [type=file]{margin-top:12px}.protest-submit-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;padding:20px;background:#171717;border:1px solid #383838;border-radius:8px}.protest-submit-footer>p{color:#aaa;line-height:1.6;max-width:720px;font-size:13px}.protest-submit-footer>p.notice{flex-basis:100%;max-width:none}.protest-news-card{background:#171717;border:1px solid #383838;border-radius:8px;padding:20px}.protest-news-top,.protest-news-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px}.protest-news-top small,.protest-news-bottom>span{color:#999;font-size:12px}.protest-news-card h3{font-size:18px;line-height:1.45;color:#fff;margin:12px 0 16px}.protest-card-riders{display:grid;grid-template-columns:1fr 1fr;gap:14px}.protest-card-riders>span{display:flex;flex-direction:column;color:#888;font-size:11px;gap:4px}.protest-card-riders strong{font-size:13px;color:#ddd;font-weight:600}.protest-card-verdict{color:#bfbfbf;font-size:13px;line-height:1.65;min-height:43px;margin:18px 0}.protest-news-bottom{padding-top:14px;border-top:1px solid #333;font-size:13px}.protest-case-list{display:flex;flex-direction:column;gap:0}.protest-case-row{display:flex;align-items:center;gap:18px;padding:18px 4px;border-bottom:1px solid #353535}.protest-case-row:first-child{padding-top:8px}.protest-case-row:last-child{border-bottom:0}.protest-case-row>div:first-child{flex:1;min-width:0}.protest-case-row strong{color:#fff;display:block;font-size:15px;font-weight:600}.protest-case-row span:not(.chip){display:block;color:#aaa;font-size:12px;margin-top:5px}.protest-case-row>div:nth-child(2){display:flex;align-items:flex-end;flex-direction:column;gap:6px}.protest-case-row small{color:#888;font-size:11px}.protest-case-row>span.blue{font-size:22px;color:#0092ff}.protest-detail-heading{text-align:center;padding:22px 12px 26px}.protest-detail-heading h1{margin:10px 0 8px}.protest-detail-heading>p{color:#aaa}.protest-detail-heading .chip{margin-right:10px}.protest-detail-heading>span.muted{font-size:12px}.protest-detail>.panel{margin:20px 0}.protest-rider-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:4px 0 16px;border-bottom:1px solid #383838}.protest-rider-pair>div{display:flex;flex-direction:column;gap:7px}.protest-rider-pair span{color:#aaa;font-size:12px}.protest-rider-pair strong{font-size:20px;color:#fff}.protest-rider-pair small{color:#888;font-size:12px}.protest-person{color:#fff}.protest-person:hover{color:#0092ff}.protest-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;color:#d7d7d7;font-size:14px}.protest-evidence-media{max-width:960px;margin:10px auto 0}.protest-evidence-media video,.protest-evidence-media img{display:block;max-width:100%;max-height:600px;margin:0 auto;background:#090909;border-radius:6px}.protest-evidence-media video{width:100%}.protest-evidence-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:12px;color:#888}.protest-loop-preview{margin:12px 0}.protest-loop-preview summary{color:#0092ff;cursor:pointer;font-size:13px;margin-bottom:12px}.protest-verdict{border-left:1px solid #2e2e2e}.protest-sanction{margin-top:20px;padding:15px 18px;background:#202020;border-radius:6px;border:1px solid #3c3c3c}.protest-sanction>strong{font-size:12px;color:#0092ff;text-transform:uppercase;letter-spacing:.6px}.protest-sanction p{margin:7px 0 0}.protest-comment{padding:18px 0;border-bottom:1px solid #353535}.protest-comment:first-child{padding-top:0}.protest-comment-heading{display:flex;align-items:center;gap:12px}.protest-comment-heading>strong{flex:1}.protest-comment-heading small{color:#888;font-size:11px}.protest-comment p{margin-bottom:0}.protest-admin-list .tabs button span{font-size:11px;opacity:.65;margin-left:5px}.protest-submit-form label[hidden]{display:none}.protest-submit-form .row>label{min-width:180px}.protest-comments form{padding-top:20px}
@media(max-width:700px){.protest-rider-pair{gap:12px}.protest-rider-pair strong{font-size:17px}.protest-case-row{gap:12px;align-items:flex-start}.protest-case-row strong{font-size:13px}.protest-case-row>div:nth-child(2) small{display:none}.protest-submit-footer .primary{width:100%}.protest-comment-heading{flex-wrap:wrap}.protest-news-card{padding:16px}}

/* Keep uploaded footage together; the simulator recording is a separate file. */
.protest-review-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:22px;align-items:start;margin:22px 0}
.protest-review-grid>.panel{min-width:0;margin:0}.protest-review-grid .panel-title{gap:14px;align-items:center}.protest-review-grid .panel-title h2{font-size:15px}.protest-review-grid .panel-title>.muted{font-size:11px;text-align:right}
.protest-evidence-media{max-width:none;margin:0;display:grid;gap:20px}.protest-evidence-media>figure{margin:0;min-width:0;border:1px solid #383838;background:#131313;overflow:hidden}
.protest-evidence-media figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #383838;font-size:12px}.protest-evidence-media figcaption strong{color:#fff;font-size:13px;font-weight:600}.protest-evidence-media figcaption span{font-size:11px;color:#a4b0bd;text-align:right}
.protest-evidence-media video,.protest-evidence-media img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;background:transparent;border-radius:0;margin:0}.protest-gif-evidence img{max-height:none}
.protest-evidence-open{display:block;padding:12px 14px;border-top:1px solid #303030;font-size:12px}.protest-playback-notice{margin:0;padding:12px 14px;color:#d2a763;background:#211c14;font-size:12px;line-height:1.5}.protest-playback-notice[hidden]{display:none}
.protest-external-evidence{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #383838;background:#141414;padding:16px;margin-top:20px}.protest-external-evidence:first-child{margin-top:0}.protest-external-evidence h3{font-size:13px;color:#fff}.protest-external-evidence .form-help{margin-top:5px}.protest-external-evidence>.button{flex-shrink:0;font-size:12px}
.protest-admin-review .protest-review-help{margin:0 0 20px;font-size:12px;line-height:1.6;color:#a4b0bd}.protest-admin-review textarea{margin-top:8px;background:#121212;line-height:1.6}.protest-admin-review form>label{margin-bottom:17px}.protest-review-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.protest-review-actions button{width:100%;justify-content:center}.protest-review-secondary{padding-top:16px;margin-top:17px;border-top:1px solid #303030}.protest-review-secondary button{background:transparent;font-size:11px;min-height:31px;padding:6px 10px;color:#a4b0bd}.protest-review-grid .protest-verdict{border-left:1px solid #2e2e2e}.protest-review-grid .protest-verdict .protest-text{margin:0}.protest-review-grid .protest-sanction{border-radius:0;margin-top:18px;padding:14px}.protest-review-grid .protest-sanction p{margin-top:7px}
.protest-demo-panel .panel-title>.muted{font-size:11px}.protest-demo-download{display:flex;justify-content:space-between;align-items:center;gap:20px}.protest-demo-download>div{min-width:0}.protest-demo-download strong{font-size:13px;line-height:1.5;color:#fff;overflow-wrap:anywhere}.protest-demo-download .form-help{margin-top:7px;line-height:1.6}.protest-demo-download>.button{flex-shrink:0;font-size:12px}
.protest-submit-form #protest-clip-preview:not(:empty){margin-top:18px}.protest-submit-form .protest-evidence-media video,.protest-submit-form .protest-evidence-media img{max-height:300px}
@media(max-width:900px){.protest-review-grid{grid-template-columns:1fr}.protest-review-actions{flex-direction:row}.protest-review-actions button{width:auto;flex:1}.protest-review-secondary button{width:auto}.protest-admin-review textarea{min-height:95px}}
@media(max-width:600px){.protest-review-grid{gap:18px;margin:18px 0}.protest-evidence-media figcaption{align-items:flex-start}.protest-evidence-media figcaption span{max-width:52%;line-height:1.5}.protest-external-evidence,.protest-demo-download{align-items:flex-start;flex-direction:column;gap:14px}.protest-external-evidence>.button,.protest-demo-download>.button{width:100%;justify-content:center}.protest-review-actions{flex-direction:column}.protest-review-actions button{width:100%}.protest-evidence-media video{min-height:120px}}
/* One full video and a compact, structured review. */
.protest-detail{max-width:1280px;margin:0 auto}.protest-detail-heading{padding:18px 8px 22px}.protest-detail-heading h1{font-size:28px;line-height:1.25}.protest-detail-heading>p:not(.eyebrow){font-size:13px;margin:8px 0 12px}.protest-rider-pair{gap:18px;padding-bottom:13px}.protest-rider-pair strong{font-size:17px}.protest-text{line-height:1.65}.protest-detail>.panel{margin:16px 0}.protest-review-grid{gap:18px;margin:18px 0;grid-template-columns:minmax(0,1.8fr) minmax(310px,1fr)}.protest-evidence-media{display:block}.protest-evidence-media>figure{border-radius:5px}.protest-evidence-media video,.protest-evidence-media img{max-height:520px}.protest-evidence-open{padding:10px 14px}.protest-admin-review form>label{margin-bottom:15px}.protest-admin-review textarea{min-height:110px}.protest-penalty-fields{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px;align-items:end}.protest-penalty-fields label[hidden]{display:none}.protest-penalty-fields:has(label[hidden]){grid-template-columns:1fr}.protest-penalty-fields select,.protest-penalty-fields input{margin-top:8px}.protest-review-actions{margin-top:15px}.protest-review-secondary .form-help{font-size:11px;margin:10px 0 0}.protest-legacy-sanction{margin:14px 0;font-size:12px}.protest-legacy-sanction summary{color:#aaa;cursor:pointer}.protest-legacy-sanction p{font-size:12px}.protest-sanction .form-help{font-size:12px}.protest-demo-panel .panel-body{padding-top:15px;padding-bottom:15px}
@media(max-width:900px){.protest-review-grid{grid-template-columns:1fr}.protest-detail-heading h1{font-size:24px}}

/* Details sit above evidence; the incident and verdict form the matching side. */
.protest-review-grid{align-items:stretch}
.protest-evidence-side,.protest-review-side{display:grid;grid-template-rows:auto minmax(0,1fr);gap:18px;min-width:0}
.protest-evidence-side>.panel,.protest-review-side>.panel{display:flex;flex-direction:column;margin:0;min-width:0}
.protest-evidence-side>.panel>.panel-body,.protest-review-side>.panel>.panel-body{flex:1}
.protest-evidence-side>.protest-evidence-panel>.panel-body{display:flex;flex-direction:column;justify-content:center}
.protest-metadata-panel .protest-rider-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.protest-metadata-panel .protest-rider-pair strong{font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.protest-metadata-panel .protest-rider-pair span,.protest-metadata-panel .protest-rider-pair small{font-size:11px}
.protest-metadata-panel .info-list{grid-template-columns:105px minmax(0,1fr);gap:8px 12px;font-size:12px}
.protest-metadata-panel .info-list dd{overflow-wrap:anywhere}
.protest-metadata-panel .info-list dd>small{display:block;font-size:11px;color:#888;margin-top:5px}
.protest-metadata-demo{display:inline-block;line-height:1.5}
.protest-incident-panel .protest-text{font-size:13px;line-height:1.65;margin:0}
@media(max-width:900px){.protest-evidence-side,.protest-review-side{grid-template-rows:auto auto}.protest-evidence-side>.protest-evidence-panel>.panel-body{justify-content:flex-start}.protest-metadata-panel .protest-rider-pair strong{font-size:17px}}
@media(max-width:600px){.protest-metadata-panel .info-list{grid-template-columns:100px minmax(0,1fr);gap:8px 10px}.protest-metadata-panel .protest-rider-pair strong{font-size:15px}}
.protest-card-media{margin:0 0 17px;background:transparent;border:1px solid #ffffff24;border-radius:5px;overflow:hidden}.protest-card-media img,.protest-card-media video{display:block;width:100%;height:auto;aspect-ratio:auto;max-height:none;object-fit:contain}.protest-card-media iframe{display:block;width:100%;aspect-ratio:16/9;border:0}.protest-card-external{margin-bottom:17px}.protest-news-card{display:flex;flex-direction:column}.protest-news-card .protest-news-bottom{margin-top:auto}.protest-news-card .protest-card-verdict{min-height:0}
/* Listing evidence is a thumbnail; full case evidence keeps its existing size. */
.protest-news-card .protest-card-media{align-self:flex-start;width:fit-content;max-width:100%;margin-bottom:14px}
.protest-news-card .protest-card-media img,.protest-news-card .protest-card-media video{width:auto;height:auto;max-width:min(100%,240px);max-height:135px;aspect-ratio:auto;object-fit:contain}
.protest-news-card .protest-card-media iframe{width:240px;max-width:100%;height:auto;aspect-ratio:16/9}
/* Uploaded evidence keeps its own proportions; only administrators have a player. */
.protest-detail .protest-evidence-media video,.protest-detail .protest-evidence-media img{height:auto;max-height:none;min-height:0;aspect-ratio:auto;background:transparent}
.protest-video-loop,.protest-loop-embed{pointer-events:none;user-select:none}

/* Matching review columns, with the discussion underneath both. */
.protest-review-grid{grid-template-columns:minmax(0,1.4fr) minmax(310px,1fr)}
.protest-evidence-side,.protest-review-side{display:contents}
.protest-metadata-panel{grid-column:1;grid-row:1}.protest-incident-panel{grid-column:2;grid-row:1}.protest-evidence-panel{grid-column:1;grid-row:2}.protest-review-side>.protest-verdict{grid-column:2;grid-row:2}
.protest-evidence-side>.protest-evidence-panel{min-height:0}
.protest-evidence-side>.protest-evidence-panel>.panel-body{justify-content:flex-end}
.protest-incident-panel{min-height:190px}
.protest-review-side>.protest-verdict>.panel-body{flex:1}
.protest-review-grid>.protest-comments{grid-column:1/-1;grid-row:3;min-width:0;min-height:0}
.protest-comments>.panel-body{display:flex;flex-direction:column;min-height:0;gap:10px;padding:12px 18px}
.protest-comment-list{min-height:0;max-height:420px;overflow:auto;scrollbar-width:thin;overflow-wrap:anywhere}
.protest-comments .protest-comment{padding:10px 0}.protest-comments .protest-comment p{font-size:12px}.protest-comments .protest-comment-heading{gap:8px;flex-wrap:wrap;font-size:12px}
.protest-comments form.section{margin:0;padding-top:10px;border-top:1px solid #333}.protest-comments form label{font-size:12px;margin:0 0 6px}.protest-comments form textarea{font-size:13px;min-height:58px;line-height:1.45}.protest-comments .form-help{font-size:11px;line-height:1.5}
@media(max-width:900px){.protest-review-grid{grid-template-columns:1fr}.protest-evidence-side>.panel,.protest-review-side>.panel,.protest-review-grid>.protest-comments{grid-column:1;grid-row:auto}.protest-incident-panel{min-height:150px}.protest-comments{min-height:0}}

/* Let the video set its own height, and use the incident space above the review. */
@media(min-width:901px){
.is-admin-review .protest-evidence-side{display:grid;grid-column:1;grid-row:1;grid-template-rows:minmax(min-content,1fr) auto;align-self:stretch;gap:18px}
.is-admin-review .protest-review-side{display:grid;grid-column:2;grid-row:1;grid-template-rows:minmax(min-content,1fr) auto;gap:18px}
.is-admin-review .protest-evidence-side>.panel,.is-admin-review .protest-review-side>.panel{grid-column:1;grid-row:auto;min-height:0}
.is-admin-review .protest-evidence-panel>.panel-body{flex:none;justify-content:flex-start}
.is-admin-review .protest-review-grid>.protest-comments{grid-row:2}
}

.protest-review-grid>.protest-comments>.panel-title{min-height:42px;padding:10px 18px}
.protest-comment-list>.empty{padding:10px;font-size:12px}
.protest-comments .form-help{margin-top:6px}
.protest-comments form>button{margin-top:8px;font-size:12px;padding:7px 12px;min-height:32px}

/* Keep the heading clean and the incident focused on what happened. */
.protest-detail-heading{padding-bottom:6px}
.protest-case-published{font-size:11px;line-height:1.5;color:#a4b0bd}
.protest-case-feedback{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding-top:13px;margin-top:14px;border-top:1px solid #ffffff16}
.protest-case-feedback>span{font-size:11px;color:#9caab6}
.protest-case-feedback .protest-reactions{margin:0;flex:none}
.protest-case-feedback .protest-reactions button{min-height:32px;padding:5px 9px}
.protest-case-feedback .protest-reactions svg{width:16px;height:16px}
.protest-metadata-panel>.panel-title .chip{margin:0;font-size:10px;padding:4px 8px;flex:none}
