:root{--rr-navy:#152235;--rr-blue:#245bff;--rr-orange:#ff6b00;--rr-bg:#f3f6fa;--rr-line:#dfe5ec;--rr-muted:#687386;--rr-green:#0b8f62;--rr-red:#c13d3d}*{box-sizing:border-box}.referee-page{min-height:100vh;background:linear-gradient(180deg,#edf2f8,#f8fafc);padding:34px 16px 60px;color:var(--rr-navy);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.referee-wrap{width:min(900px,100%);margin:auto}.referee-back{display:inline-flex;margin-bottom:14px;color:#40516a;text-decoration:none;font-weight:800}.referee-hero{background:linear-gradient(135deg,#152235,#253953);color:#fff;border-radius:28px;padding:25px;box-shadow:0 22px 55px #14243a20}.referee-hero small{color:#8ec5ff;font-weight:900;letter-spacing:.12em}.referee-hero h1{margin:8px 0 7px;font-size:clamp(27px,5vw,43px);line-height:1}.referee-hero p{margin:0;color:#ccd5df;max-width:720px;line-height:1.55}.referee-event{display:inline-flex;margin-top:15px;background:#ffffff12;border:1px solid #ffffff25;border-radius:999px;padding:8px 12px;font-weight:800;font-size:12px}.referee-card{background:#fff;border:1px solid var(--rr-line);border-radius:24px;padding:22px;margin-top:14px;box-shadow:0 16px 42px #18283e0c}.referee-card h2{margin:0 0 5px}.referee-card>p{color:var(--rr-muted);margin:0 0 18px}.rr-upload{display:block;border:2px dashed #b9c7d8;border-radius:20px;padding:19px;background:#f8fbff;cursor:pointer}.rr-upload input{display:none}.rr-upload strong,.rr-upload span{display:block}.rr-upload strong{font-size:15px}.rr-upload span{color:var(--rr-muted);font-size:12px;margin-top:4px}.rr-status{margin-top:10px;padding:11px 13px;border-radius:13px;background:#eef3f8;color:#506078;font-size:12px;font-weight:800}.rr-status.busy{background:#fff4e8;color:#95530f}.rr-status.ok{background:#eaf8f2;color:#08734f}.rr-status.error{background:#fff0f0;color:#a13232}.rr-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px}.rr-grid .wide{grid-column:1/-1}.rr-grid label{display:block;font-size:11px;font-weight:900;color:#45546a;text-transform:uppercase;letter-spacing:.04em}.rr-grid input{width:100%;margin-top:6px;border:1px solid #d8e0ea;border-radius:14px;padding:13px 14px;font:inherit;color:#132237;background:#fff}.rr-grid input[readonly]{background:#f3f6f9;color:#526177}.rr-locked-note{display:flex;gap:8px;align-items:flex-start;margin-top:12px;color:#5e6b7e;font-size:12px}.rr-submit{width:100%;margin-top:19px;border:0;border-radius:15px;padding:15px;background:linear-gradient(135deg,var(--rr-orange),#ff8a36);color:#fff;font-weight:950;font-size:14px;cursor:pointer}.rr-submit:disabled{opacity:.45;cursor:not-allowed}.rr-alert{margin-top:14px;border-radius:15px;padding:13px 15px;font-weight:750}.rr-alert.error{background:#fff1f1;color:#9c2f2f;border:1px solid #ffd2d2}.rr-alert.success{background:#eaf9f2;color:#08714f;border:1px solid #bfead7}.rr-result{display:grid;gap:8px;margin-top:13px}.rr-result a{display:inline-flex;justify-content:center;text-decoration:none;padding:12px;border-radius:13px;background:#15304f;color:#fff;font-weight:900}.rr-footnote{margin-top:14px;color:#6d7786;font-size:11px;line-height:1.55}@media(max-width:650px){.referee-page{padding:18px 11px 42px}.referee-card,.referee-hero{border-radius:20px;padding:17px}.rr-grid{grid-template-columns:1fr}.rr-grid .wide{grid-column:auto}}

/* v388 — area KTP Wasit memakai visual upload + scanner OCR yang sama dengan form Kejurda. */
.rr-identity-document-box{margin-top:18px;margin-bottom:0}
.referee-card .rr-identity-document-box .identity-upload-empty.identity-upload-empty-compact{margin:0}
.referee-card .rr-identity-document-box .identity-ocr-preview{margin:0!important}
.referee-card .rr-identity-document-box .identity-preview-stage img{object-fit:contain!important}

/* v391 — Foto Diri Wasit memakai komponen visual dan aturan yang sama dengan Foto Diri Kejurda. */
.rr-section-title{margin:26px 0 5px!important;padding-top:20px;border-top:1px solid #edf1f5}
.rr-section-copy{margin:0 0 15px!important;color:var(--rr-muted);line-height:1.55}
.rr-referee-photo{margin:12px auto 0;max-width:420px}
.rr-photo-rules{display:grid;gap:5px;margin:13px 0 4px;padding:13px 15px;border:1px solid #e0e7ef;border-radius:15px;background:#f8fbff;color:#5c6a7e;font-size:11px;line-height:1.45}
.rr-photo-rules b{color:#293a50;font-size:12px}
.rr-referee-photo .premium-photo-input-v180{cursor:pointer}
