:root{--red:#ff2035;--panel:#0d0b0b;--line:#432027;--muted:#aa8e92;color-scheme:dark}
body{background:radial-gradient(circle at 85% -15%,#550d17 0,transparent 38%),linear-gradient(135deg,#050505,#0d0809 65%,#050505)!important}
body:before{content:"";position:fixed;right:-7vw;top:100px;width:min(58vw,780px);height:78vh;background:url('clan-avatar.jpg') center/contain no-repeat;opacity:.045;pointer-events:none}
.shell{position:relative;max-width:1450px!important;padding:28px 32px 55px!important}
.top{padding-bottom:18px!important;border-bottom:1px solid #551b23!important}
.brand img{width:60px!important;height:60px;object-fit:cover;border:1px solid #7c2833;box-shadow:0 0 32px #ff203533}
.brand h1{text-transform:uppercase;letter-spacing:.09em;font-size:22px}
.tabs{padding:5px;background:#090909;border:1px solid var(--line)}
.tabs button,.tabs .btn{border:0!important;padding:11px 16px!important;font-weight:800}
.tabs .active,.tabs .red{box-shadow:0 0 22px #ff203533}
.view{position:relative}
.head{align-items:end;margin-bottom:18px!important}.head h2{font-size:40px;text-transform:uppercase;letter-spacing:-.04em}
.board,.card{background:#0b0909ee!important;border:1px solid var(--line)!important;box-shadow:0 22px 75px #0009}
th{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
td,th{padding:14px 18px!important}.l1{background:linear-gradient(90deg,#ffd24d18,transparent 55%)}.l2{background:linear-gradient(90deg,#e4ebf318,transparent 55%)}.l3{background:linear-gradient(90deg,#d5884518,transparent 55%)}
.cards{align-items:start;gap:18px!important}.card{padding:26px!important}.card h2{margin-bottom:12px;text-transform:uppercase;letter-spacing:.02em}
input,select{border:1px solid var(--line)!important;background:#080606!important}.red{border:0!important;padding:12px 16px!important;color:#fff;font-weight:850}
.scan{background:#0a0707;line-height:1.45}.ocr-preview{border:1px solid #2d181b}
.csv-summary{display:flex;justify-content:space-between;gap:12px;padding:12px;background:#120c0d;border-bottom:1px solid var(--line)}.csv-summary span{color:var(--muted)}#csvPreview:empty{display:none}#csvPreview table{min-width:650px}
.csv-group{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-bottom:1px solid #291619}.csv-group span{color:var(--muted)}
.ocr-preview table{table-layout:auto}.ocr-preview td,.ocr-preview th{padding:6px!important}.ocr-input{width:82px;min-width:62px;padding:8px!important}.ocr-preview td:first-child .ocr-input{width:150px}.ocr-preview td:nth-last-child(2) .ocr-input{width:110px}.row-remove{padding:7px 11px!important;color:#ff7a87;border-color:#6d202a!important;font-size:18px}.ocr-actions{position:sticky;bottom:0;padding:10px;background:#0b0909;border-top:1px solid var(--line)}.ocr-actions button{color:#fff;border-color:#6d202a!important;font-weight:750}
.officer-login{max-width:520px;margin:45px auto}.invite-link{width:100%;margin-top:10px}.card hr{border:0;border-top:1px solid var(--line);margin:24px 0}
@media(max-width:800px){.shell{padding:18px 14px 40px!important}.head h2{font-size:30px}.tabs{width:100%;overflow:auto;flex-wrap:nowrap!important}.tabs>*{white-space:nowrap}.brand h1{font-size:18px}}
.stage-list{display:grid;gap:12px;margin-top:18px}.stage-day{display:grid;grid-template-columns:minmax(170px,.8fr) repeat(3,minmax(150px,1fr));background:#0b0909;border:1px solid var(--line);box-shadow:0 18px 55px #0006;overflow:hidden}.stage-date{padding:20px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#171011,#0a0808)}.stage-date b{font-size:18px}.stage-date span{color:var(--muted);margin-top:4px}.stage-slot{min-height:92px;padding:16px 18px;border-left:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative}.stage-slot:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--place-color,#604147)}.stage-label{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.1em}.stage-value{font-size:19px;font-weight:850}.place-1{--place-color:#f3c744;background:linear-gradient(120deg,#f3c74416,transparent)}.place-1 .stage-value{color:#ffd85b}.place-2{--place-color:#cbd4df;background:linear-gradient(120deg,#cbd4df14,transparent)}.place-2 .stage-value{color:#e4ebf3}.place-3{--place-color:#c87832;background:linear-gradient(120deg,#c8783218,transparent)}.place-3 .stage-value{color:#dc8b45}.place-other{--place-color:#ff2035;background:linear-gradient(120deg,#ff203512,transparent)}.place-other .stage-value{color:#ff7a87}.place-missing{--place-color:#39272a;background:#090808}.place-missing .stage-label,.place-missing .stage-value{color:#694d51}.stage-empty{padding:38px;text-align:center;color:var(--muted);border:1px solid var(--line);background:#0b0909}@media(max-width:850px){.stage-list{overflow:auto}.stage-day{min-width:720px}}
.stage-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0;padding:14px;background:#0b0909;border:1px solid var(--line)}.stage-toolbar label{display:flex;align-items:center;gap:8px;margin:0}.stage-toolbar input{padding:8px}.stage-dirty{color:#ffd166;margin-left:auto}.draggable-stage{cursor:grab}.draggable-stage:active{cursor:grabbing}.dragging{opacity:.35}.drag-handle{font-size:20px;color:#93636a;letter-spacing:-5px}.drop-target{outline:1px dashed #683039;outline-offset:-7px}.drop-target.drag-over{outline:2px solid #ff2035;background:#301015}.drop-target.drag-over .stage-value{color:#ffadb5}
.rank-edit-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0 0 10px;padding:10px 12px;background:#100b0c;border:1px solid #432027}.rank-edit-tools span{margin-right:auto;color:#bca4a8}.rank-cell-input{width:92px;min-width:72px;padding:7px;border-color:#71303a;background:#0b0808}.rank-name-input{width:190px;min-width:140px;padding:7px;border-color:#71303a;background:#0b0808}.rank-cell-input:focus,.rank-name-input:focus{outline:1px solid #ff2035;border-color:#ff2035}
