.challenge-intro{display:flex;justify-content:space-between;align-items:center;border:1px solid #39412a;background:linear-gradient(120deg,#20291a,#101510);border-radius:16px;padding:30px;margin:0 0 24px}.challenge-intro h2{font-size:clamp(24px,3vw,38px);margin:10px 0}.challenge-intro p{color:#b5bea7;line-height:1.6}.challenge-emblem{font-size:74px;color:#d5ff5f;margin:0 25px}.challenge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.challenge-card{background:#131912;border:1px solid #323b29;border-radius:16px;padding:26px;min-width:0}.challenge-card.complete{border-color:#7a9832;background:linear-gradient(155deg,#25331b,#11180f)}.challenge-top,.challenge-progress{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.challenge-card h2{font-size:24px;margin:26px 0 12px}.challenge-card p{color:#b7bfaf;min-height:48px;line-height:1.65}.challenge-target{display:block;font-size:38px;letter-spacing:-1.5px;margin-top:22px}.challenge-card small{color:#a7b198}.challenge-card progress{display:block;width:100%;height:8px;accent-color:#d5ff5f;margin:26px 0 12px}.challenge-progress{font-size:13px}.challenge-reward{border-top:1px solid #323b29;margin-top:25px;padding-top:18px;color:#d5ff5f;font-weight:600}.challenge-badges{display:flex;gap:14px;flex-wrap:wrap;padding:22px}.challenge-badge{display:grid;grid-template-columns:36px 1fr;gap:4px 12px;border:1px solid #424c30;border-radius:12px;padding:14px 18px;background:#172012}.challenge-badge>span{grid-row:span 2;color:#d5ff5f;font-size:32px}.challenge-badge small{color:#b3bea5}.case-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.case-toolbar select,.case-toolbar input{min-height:42px}.case-toolbar .search{flex:1;min-width:230px}.case-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.case-metrics>div{border:1px solid #323b29;padding:18px;border-radius:12px;background:#141b12}.case-metrics strong{display:block;font-size:26px;margin-top:8px}.case-metrics span{color:#b3bea5;font-size:12px}.case-list{display:grid;gap:12px}.case-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px;background:#141b12;border:1px solid #323b29;border-radius:12px}.case-person{display:flex;gap:14px;align-items:center;min-width:0}.case-person>div{min-width:0}.case-person strong,.case-person small{display:block;overflow-wrap:anywhere}.case-person small{margin-top:5px;color:#b3bea5}.case-row-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.case-priority-high{border-left:3px solid #edbb70}.case-priority-urgent{border-left:3px solid #ef867b}.case-detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr);gap:20px;align-items:start}.case-detail-grid>*{min-width:0}.case-detail-grid textarea,.case-detail-grid select,.case-detail-grid input:not([type=checkbox]){width:100%;box-sizing:border-box}.case-checks{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.case-checks label{display:flex;align-items:center;gap:6px}.case-checks input[type=checkbox]{width:auto;accent-color:#d5ff5f}.case-review-note{border-left:3px solid #d5ff5f;padding:12px 16px;background:#1d2617;margin:16px 0;color:#c9d4bd}.case-evidence{margin:12px 0;border:1px solid #36412c;border-radius:12px;padding:14px}.case-evidence summary{cursor:pointer;font-weight:600;line-height:1.7}.case-evidence pre{max-height:300px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:12px}.case-evidence .player-combat{margin:18px 0}.case-case-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.case-saved-notes{white-space:pre-wrap;overflow-wrap:anywhere}.season-date{font-size:26px;font-weight:700;color:#d5ff5f;line-height:1.4}.case-link{color:#d5ff5f}.case-player-search{margin-bottom:20px}.case-private{color:#b3bea5;font-size:12px;letter-spacing:.08em}.case-due{color:#edbb70}.challenge-trophies{margin-top:22px}.case-readonly{color:#b3bea5}.case-detail-grid .record-form{display:grid;gap:12px}.case-detail-grid .record-form label{font-size:13px;font-weight:600}.case-detail-grid .record-form textarea{min-height:85px}.case-detail-grid .panel{margin-bottom:20px}
@media(max-width:1000px){.challenge-grid{grid-template-columns:1fr}.challenge-card p{min-height:0}.case-detail-grid{grid-template-columns:1fr}.case-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.case-row{align-items:flex-start;flex-wrap:wrap}.challenge-emblem{font-size:48px;margin:0 10px}.challenge-intro{padding:22px}}

.case-detail-grid fieldset{display:grid;gap:12px;border:0;padding:0;margin:0;min-width:0}.case-detail-grid fieldset label{margin-top:5px}.case-workspace .case-review-column{scroll-margin-top:100px}@media(max-width:1000px){.case-workspace>.case-review-column{order:-1}}
.case-detail-grid .panel-body > a.button{display:inline-flex;align-items:center;margin:12px 0}.case-detail-grid .panel-body > a.button + .hint{margin-top:10px}

/* Keep long player lists inside their own scroll region. */
.player-list-scroll{max-height:min(62vh,640px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#899667 #151b12}.player-list-scroll:focus-visible{outline:2px solid #d5ff5f;outline-offset:-2px}.player-list-scroll::-webkit-scrollbar{width:12px;height:12px}.player-list-scroll::-webkit-scrollbar-track{background:#151b12}.player-list-scroll::-webkit-scrollbar-thumb{background:#899667;border:3px solid #151b12;border-radius:10px}.player-list-scroll::-webkit-scrollbar-thumb:hover{background:#d5ff5f}.player-list-scroll th{position:sticky;top:0;z-index:2;background:#171e14}.staff-shell #history-player-list.player-list-scroll{max-height:min(62vh,640px)}.case-list.player-list-scroll{padding-right:8px}.challenge-top:empty{display:none}.challenge-card h2{margin-top:18px}
@media(max-width:620px){.player-list-scroll,.staff-shell #history-player-list.player-list-scroll{max-height:58vh}}
@media(min-width:1001px){.staff-shell .records-layout.staff-records{grid-template-columns:minmax(300px,.9fr) minmax(0,2fr)}}

.ticket-conversation{max-height:560px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:4px 12px 4px 0;margin-bottom:24px}
.ticket-message{border:1px solid #363c35;background:#171b16;border-radius:10px;margin:0 0 12px;padding:16px;overflow-wrap:anywhere}
.ticket-message.from-staff{border-left:3px solid #c6f151;background:#1d2319}
.ticket-message header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ticket-message time{font-size:12px;color:#a5af9e}.ticket-message p{white-space:pre-wrap;line-height:1.65;margin:10px 0}
.ticket-attachments{list-style:none;padding:0;margin:12px 0 0;display:flex;gap:8px;flex-wrap:wrap}.ticket-attachments li{padding:8px 10px;background:#0e120e;border:1px solid #394333;border-radius:6px}.ticket-attachments small{color:#a5af9e}
#ticket-workspace{min-width:0}#ticket-workspace input[type=file]{max-width:100%}#own-reports .record-choice{width:100%}

.ticket-link-editor{display:grid;gap:10px;min-width:0}.ticket-link-row{display:flex;gap:8px;align-items:center}.ticket-link-row input{flex:1;min-width:0}.ticket-link-editor>[data-link-add]{justify-self:start}.ticket-message-links{padding-left:20px;line-height:1.7;overflow-wrap:anywhere}

/* Ticket tracking: compact queue, readable timeline and authenticated previews. */
.records-layout.staff-records{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,2fr);gap:20px;align-items:start}.records-layout.staff-records>*{min-width:0}.staff-records .record-form{display:grid;gap:10px}.staff-records .record-form label{margin-top:8px}.staff-records .record-form .hint{margin:0 0 6px}.staff-records .selected-record{display:grid;gap:8px;margin-bottom:14px}.staff-records .selected-record .eyebrow{margin:0}.staff-records .selected-record strong{font-size:18px}.staff-records .selected-record code{color:#a3b38f}
.staff-shell .toolbar:has(#ticket-search-form){display:grid;grid-template-columns:auto minmax(170px,220px) auto minmax(240px,1fr)}.staff-shell #ticket-search-form{display:flex;gap:8px;margin:0}.staff-shell #ticket-search-form input{max-width:none}
.ticket-queue{max-height:min(70vh,760px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:6px}
.ticket-choice{width:100%;text-align:left;margin:8px 0;padding:16px!important;display:grid!important;gap:8px;min-width:0}
.ticket-choice.selected{border-color:#c6f151!important;background:#20271a!important}
.ticket-choice strong{font-size:15px}.ticket-choice small{line-height:1.5}.ticket-snippet{font-size:13px;color:#b2bba7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.ticket-tags{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ticket-status,.ticket-unread{display:inline-flex;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700;line-height:1.3;border:1px solid #48533c;background:#252e20;color:#dfebcf}
.ticket-status.status-reviewing{color:#b5d8fa;background:#1b2935;border-color:#3b5369}.ticket-status.status-resolved{color:#ace2b9;background:#203226;border-color:#365b41}.ticket-status.status-dismissed{color:#bcc3b6;background:#282d25;border-color:#464e3f}
.ticket-unread{background:#c6f151;border-color:#c6f151;color:#182008}
.ticket-summary{padding:16px 18px;border:1px solid #424e34;background:#1b2316;border-radius:10px;display:grid;gap:8px;margin:16px 0 22px}.ticket-summary small{color:#afbaa3}
.ticket-thread-tools,.ticket-thread-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.ticket-thread-tools{margin:16px 0 10px}.ticket-thread-tools h3{margin:0;font-size:15px}
.ticket-event{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;margin:8px 0 16px;border-left:2px solid #879b64;color:#c0cbb1;font-size:12px;background:#141a11}.ticket-event time{color:#98a28d;font-size:11px}
.ticket-unread-divider{color:#c6f151;border-top:1px solid #8caa47;padding:10px 0;text-align:center;font-size:12px;font-weight:700}
.ticket-attachments{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:12px}
.ticket-attachments li{min-width:0;padding:10px;display:flex;flex-direction:column;gap:8px}
.ticket-attachments img,.ticket-attachments video{display:block;width:100%;height:158px;object-fit:contain;border-radius:5px;background:#080b07}
.ticket-attachments img:hover{outline:1px solid #c6f151}.ticket-download{font-size:12px;overflow-wrap:anywhere}.ticket-file-icon{display:grid;place-items:center;height:72px;font-size:22px;font-weight:700;color:#d0ddc0;background:#1f281a;border-radius:5px}
.ticket-private-history{border-top:1px solid #35402b;padding-top:18px;margin-top:22px}.ticket-private-history summary{cursor:pointer;color:#b3bea5;font-size:13px}
#ticket-search-form{flex:1;min-width:min(100%,250px)}#ticket-search-form input{min-width:0;width:100%}#own-ticket-filter{width:100%;margin:8px 0 12px}
@media(max-width:680px){.ticket-queue{max-height:34vh}.ticket-event{align-items:flex-start;flex-direction:column;gap:5px}.ticket-conversation{max-height:65vh}.ticket-summary{padding:12px}.ticket-thread-actions button{padding:8px 10px!important}}
@media(max-width:1000px){.records-layout.staff-records{grid-template-columns:minmax(0,1fr)}.staff-shell .toolbar:has(#ticket-search-form){grid-template-columns:auto minmax(0,1fr) auto}.staff-shell #ticket-search-form{grid-column:1/-1}}
