.wdf-jp{max-width:1180px;margin:24px auto;color:#1f2f3d;font-family:Arial,sans-serif}.wdf-jp *{box-sizing:border-box}.wdf-jp-head{padding:22px;border-bottom:4px solid #b9944e;background:linear-gradient(135deg,#173752,#285277);color:#fff}.wdf-jp-head h1{margin:0;font-size:28px}.wdf-jp-head p{margin:8px 0 0}.wdf-jp-body{padding:20px;border:1px solid #d8e0e8;border-top:0;background:#f4f7fa}.wdf-jp-card{padding:16px;border:1px solid #d3dde7;border-radius:10px;background:#fff}.wdf-jp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.wdf-jp-btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:10px 16px;border:0;border-radius:9px;background:#22629a;color:#fff!important;font-weight:700;text-decoration:none!important;cursor:pointer}.wdf-jp-btn.green{background:#27734b}.wdf-jp-btn.gray{background:#687d91}.wdf-jp-btn.red{background:#a33a3a}.wdf-jp-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf3f8;color:#35526c;font-size:12px;font-weight:700}.wdf-jp-status.done{background:#eaf8ef;color:#286140}.wdf-jp-table{width:100%;border-collapse:collapse;background:#fff}.wdf-jp-table th,.wdf-jp-table td{padding:10px;border:1px solid #d5dee8;text-align:left}.wdf-jp-table th{background:#edf3f8}.wdf-jp-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-bottom:15px}.wdf-jp-meta div{padding:10px;border:1px solid #d5dee8;background:#fff}.wdf-jp-meta small{display:block;margin-bottom:5px;color:#637587;font-weight:700;text-transform:uppercase}.wdf-jp-section{margin:22px 0 10px;color:#173752;font-size:18px}.wdf-jp-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:8px}.wdf-jp-choice{position:relative}.wdf-jp-choice input{position:absolute;opacity:0}.wdf-jp-choice label{min-height:50px;display:flex;align-items:center;justify-content:center;padding:9px;border:1px solid #bdcad8;border-radius:9px;background:#fff;color:#334f68;font-weight:700;text-align:center;cursor:pointer}.wdf-jp-choice input:checked+label{border-color:#22629a;background:#eaf4ff;color:#134f82;box-shadow:inset 0 0 0 2px rgba(34,98,154,.12)}.wdf-jp-question{display:grid;grid-template-columns:1fr 1.6fr;gap:12px;align-items:center;padding:12px;border:1px solid #d5dee8;background:#fff}.wdf-jp-question strong{color:#29445d}.wdf-jp-notes{width:100%;min-height:130px;padding:12px;border:1px solid #cbd6e1;border-radius:8px;font:15px/1.5 Arial,sans-serif}.wdf-jp-result{display:grid;grid-template-columns:130px 1fr;gap:14px;align-items:center;padding:16px;border:1px solid #d5dee8;background:#fff}.wdf-jp-score{width:115px;height:115px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:8px solid #d8e6f2;border-radius:50%;background:#f8fbfe}.wdf-jp-score strong{font-size:25px;color:#173752}.wdf-jp-qual{padding:12px;border-radius:9px;background:#edf3f8;color:#29445d;font-size:20px;font-weight:800}.wdf-jp-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:16px 0}.wdf-jp-save{min-height:24px;color:#637587;font-size:13px}.wdf-jp-error{margin-bottom:14px;padding:11px;border-left:4px solid #a33a3a;background:#fff0f0;color:#842b2b}.wdf-jp-login{max-width:460px;margin:22px auto 0;padding:18px;border:1px solid #d5dee8;border-radius:10px;background:#fff;text-align:center}.wdf-jp-login label{display:block;margin-bottom:8px;font-weight:700}.wdf-jp-login input{width:100%;min-height:58px;padding:8px;border:2px solid #b9c8d6;border-radius:9px;font-size:30px;letter-spacing:12px;text-align:center}.wdf-jp-login .wdf-jp-btn{width:100%;margin-top:14px}.wdf-jp fieldset{margin:0;padding:0;border:0}.wdf-jp fieldset:disabled{opacity:.82}.wdf-jp fieldset:disabled label{cursor:default}@media(max-width:720px){.wdf-jp{margin:0}.wdf-jp-head,.wdf-jp-body{padding:14px}.wdf-jp-choice-grid,.wdf-jp-question,.wdf-jp-result{grid-template-columns:1fr}.wdf-jp-score{margin:auto}.wdf-jp-table thead{display:none}.wdf-jp-table tr{display:block;margin-bottom:12px;border:1px solid #d5dee8}.wdf-jp-table td{display:block;border:0;border-bottom:1px solid #edf1f5}}
.wdf-jp-diagram{display:flex;align-items:center;justify-content:center;min-height:290px;padding:16px;border:1px solid #d5dee8;background:#fff}.wdf-jp-diagram img{display:block;max-width:100%;height:auto;max-height:430px}
.wdf-jp-ranking-list{display:grid;gap:10px}.wdf-jp-rank-row{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid #d5dee8;border-radius:10px;background:#fff}.wdf-jp-rank-row.automatic{border-left:5px solid #27734b}.wdf-jp-rank-number{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#22629a;color:#fff;font-weight:800}.wdf-jp-tie-group{padding:15px;border:2px solid #d7b56b;border-radius:12px;background:#fffaf0}.wdf-jp-tie-group h2{margin:0 0 5px;color:#173752}.wdf-jp-tie-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:13px 0}.wdf-jp-tie-card{position:relative;min-height:100px;padding:14px;border:2px solid #c9d5e1;border-radius:11px;background:#fff;color:#29445d;text-align:left;cursor:pointer}.wdf-jp-tie-card strong,.wdf-jp-tie-card span{display:block}.wdf-jp-tie-card.selected{border-color:#22629a;background:#eaf4ff}.wdf-jp-tie-rank{position:absolute;top:8px;right:8px;min-width:34px;height:34px;display:flex!important;align-items:center;justify-content:center;border-radius:50%;background:#22629a;color:#fff;font-weight:800}@media(max-width:720px){.wdf-jp-rank-row{grid-template-columns:50px 1fr}.wdf-jp-rank-row>strong{grid-column:2}.wdf-jp-tie-cards{grid-template-columns:1fr}}

/* Percorsi finali per razza */
.wdf-jp-stage-grid,
.wdf-jp-stage-final {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.wdf-jp-stage-card {
    display: block;
    margin-bottom: 10px;
    cursor: pointer;
}

.wdf-jp-stage-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.wdf-jp-stage-card > span {
    display: block;
    min-height: 78px;
    padding: 13px 14px;
    border: 2px solid #d3dce5;
    border-radius: 12px;
    background: #fff;
    line-height: 1.45;
}

.wdf-jp-stage-card input:checked + span {
    border-color: #2271b1;
    background: #edf7ff;
    box-shadow: inset 0 0 0 2px rgba(34, 113, 177, .12);
}

.wdf-jp-stage-card b {
    display: inline-block;
    margin-top: 5px;
    color: #174f7e;
    font-size: 18px;
}

@media (max-width: 760px) {
    .wdf-jp-stage-grid,
    .wdf-jp-stage-final {
        grid-template-columns: 1fr;
    }
}


.wdf-jp-stage-titles {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 10px;
}

.wdf-jp-stage-title {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid #cdd8e3;
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
}

.wdf-jp-stage-title input {
    width: 19px;
    height: 19px;
}

.wdf-jp-disqualification {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 18px 0;
    padding: 16px;
    border: 2px solid #b42318;
    border-radius: 10px;
    background: #fff4f2;
    color: #7a271a;
}

.wdf-jp-disqualification.active {
    border-width: 3px;
    background: #fee4e2;
    box-shadow: 0 0 0 4px rgba(180, 35, 24, .1);
}

.wdf-jp-disqualification input {
    width: 25px;
    height: 25px;
    margin: 1px 0 0;
    accent-color: #b42318;
}

.wdf-jp-disqualification label {
    display: grid;
    gap: 4px;
    cursor: pointer;
}

.wdf-jp-disqualification strong {
    font-size: 19px;
    text-transform: uppercase;
}

.wdf-jp-disqualification span {
    line-height: 1.45;
}

.wdf-jp-result.disqualified {
    border: 3px solid #b42318;
    background: #fff4f2;
}

.wdf-jp-result.disqualified .wdf-jp-score {
    border-color: #f3b7b2;
}

.wdf-jp-result.disqualified .wdf-jp-qual {
    background: #b42318;
    color: #fff;
}
