/* TSL Safety Rating */

/* Public driver profile - large top-right Safety block */
#tracks.tracks-individual .tsl-profile-hero__content{
    position:relative;
}
#tracks.tracks-individual .tsl-profile-hero__identity{
    padding-right:245px;
}
.tsl-safety-rating-card{
    display:grid;
    grid-template-columns:minmax(105px,1fr) 58px;
    grid-template-areas:
        "label grade"
        "meta grade";
    align-items:center;
    column-gap:15px;
    min-width:205px;
    padding:14px 15px;
    border:1px solid #e0e5ea;
    border-radius:12px;
    background:#f8fafb;
    box-shadow:0 7px 20px rgba(31,38,46,.055);
}
.tsl-safety-rating-card--hero{
    position:absolute;
    top:24px;
    right:24px;
    z-index:2;
}
.tsl-safety-rating-card>span{
    grid-area:label;
    color:#6f7985;
    font-size:10px;
    font-weight:950;
    letter-spacing:.095em;
}
.tsl-safety-rating-card>strong{
    grid-area:grade;
    display:flex;
    width:58px;
    height:58px;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:#20252c;
    color:#fff;
    font-size:32px;
    line-height:1;
    font-weight:950;
}
.tsl-safety-rating-card>small{
    grid-area:meta;
    margin-top:4px;
    color:#717b86;
    font-size:10px;
    font-weight:800;
}
.tsl-safety-rating-card.is-a{border-color:#bfe8d6;background:#f4fcf8}
.tsl-safety-rating-card.is-a>strong{background:#229c6c}
.tsl-safety-rating-card.is-b>strong{background:#4e83c2}
.tsl-safety-rating-card.is-c>strong{background:#d09a2a}
.tsl-safety-rating-card.is-d>strong{background:#d36b35}
.tsl-safety-rating-card.is-f>strong{background:#c94452}
.tsl-safety-rating-card.is-unrated>strong{background:#8b949e}

/* Racing Data commissioners */
.tsl-commissioners{
    margin-top:13px;
    padding:12px 13px;
    border:1px solid #e2e6ea;
    border-radius:9px;
    background:#fafbfc;
}
.tsl-commissioners__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:9px;
}
.tsl-commissioners__head>span{
    color:#ff2c54;
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
}
.tsl-commissioners__head>strong{
    color:#303740;
    font-size:12px;
}
.tsl-commissioners__list{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}
.tsl-commissioner{
    display:flex;
    align-items:center;
    gap:7px;
    min-width:150px;
    padding:7px 9px;
    border:1px solid #e2e6ea;
    border-radius:8px;
    background:#fff;
}
.tsl-commissioner__mark{
    display:flex;
    width:27px;
    height:27px;
    flex:0 0 27px;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    background:#20252c;
    color:#fff;
    font-size:10px;
    font-weight:950;
}
.tsl-commissioner>span:last-child strong{
    display:block;
    color:#303740;
    font-size:10px;
}
.tsl-commissioner>span:last-child small{
    display:block;
    margin-top:1px;
    color:#8a939d;
    font-size:8px;
}

/* Series registration minimum */
.tsl-safety-entry-requirement{
    margin:12px 0 16px;
    padding:12px 14px;
    border:1px solid #e2e6ea;
    border-left:3px solid #8b949e;
    border-radius:9px;
    background:#fafbfc;
}
.tsl-safety-entry-requirement>span{
    display:block;
    color:#ff2c54;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}
.tsl-safety-entry-requirement>strong{
    display:block;
    margin-top:2px;
    color:#303740;
    font-size:12px;
}
.tsl-safety-entry-requirement>small{
    display:block;
    margin-top:3px;
    color:#7d8792;
    font-size:9px;
}
.tsl-safety-entry-requirement.is-ok{
    border-left-color:#229c6c;
    background:#f5fbf8;
}
.tsl-safety-entry-requirement.is-blocked{
    border-left-color:#c94452;
    background:#fff7f8;
}
.tsl-safety-registration-disabled{
    opacity:.5!important;
    cursor:not-allowed!important;
    pointer-events:auto!important;
}

@media(max-width:767px){
    .tsl-safety-rating-card{
        width:100%;
        margin-left:0;
    }
    .tsl-commissioners__list{
        display:grid;
        grid-template-columns:1fr;
    }
}


/* v0.1.1 - Safety beside/before Overall */
.tsl-safety-summary-card{
    display:flex;
    min-width:118px;
    min-height:72px;
    box-sizing:border-box;
    flex-direction:column;
    justify-content:center;
    padding:11px 13px;
    border:1px solid #dfe4e8;
    border-left:3px solid #20252c;
    border-radius:9px;
    background:#fff;
}
.tsl-safety-summary-card>span{
    color:#7d8792;
    font-size:8px;
    font-weight:950;
    letter-spacing:.08em;
}
.tsl-safety-summary-card>strong{
    margin-top:2px;
    color:#20252c;
    font-size:25px;
    line-height:1;
    font-weight:950;
}
.tsl-safety-summary-card>small{
    margin-top:4px;
    color:#88919b;
    font-size:8px;
    font-weight:700;
}
.tsl-safety-summary-card.is-a{border-left-color:#229c6c}
.tsl-safety-summary-card.is-b{border-left-color:#4e83c2}
.tsl-safety-summary-card.is-c{border-left-color:#d09a2a}
.tsl-safety-summary-card.is-d{border-left-color:#d36b35}
.tsl-safety-summary-card.is-f{border-left-color:#c94452}
.tsl-safety-summary-card.is-unrated{border-left-color:#8b949e}

.tsl-safety-stat-head{
    text-align:center!important;
}
.tsl-safety-stat-cell{
    text-align:center!important;
}
.tsl-safety-stat-grade{
    display:inline-flex;
    min-width:34px;
    height:30px;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    background:#20252c;
    color:#fff;
    font-size:14px;
    font-weight:950;
}
.tsl-safety-stat-grade.is-a{background:#229c6c}
.tsl-safety-stat-grade.is-b{background:#4e83c2}
.tsl-safety-stat-grade.is-c{background:#d09a2a}
.tsl-safety-stat-grade.is-d{background:#d36b35}
.tsl-safety-stat-grade.is-f{background:#c94452}
.tsl-safety-stat-grade.is-unrated{background:#8b949e}

@media(max-width:900px){
    #tracks.tracks-individual .tsl-profile-hero__identity{padding-right:0}
    .tsl-safety-rating-card--hero{
        position:static;
        width:100%;
        max-width:260px;
        margin:0 0 16px auto;
    }
}


/* v0.1.2 - compact native Safety + Overall pair */
.tsl-safety-overall-pair{
    display:inline-flex!important;
    align-items:stretch!important;
    justify-content:flex-end!important;
    gap:8px!important;
    margin-left:auto!important;
    vertical-align:top;
}
.tsl-safety-overall-pair > *{
    flex:0 0 auto!important;
    margin-left:0!important;
    margin-right:0!important;
}
.tsl-safety-native-card{
    box-sizing:border-box!important;
}
.tsl-safety-native-card.is-a{border-left-color:#229c6c!important}
.tsl-safety-native-card.is-b{border-left-color:#4e83c2!important}
.tsl-safety-native-card.is-c{border-left-color:#d09a2a!important}
.tsl-safety-native-card.is-d{border-left-color:#d36b35!important}
.tsl-safety-native-card.is-f{border-left-color:#c94452!important}
.tsl-safety-native-card.is-unrated{border-left-color:#8b949e!important}
.tsl-safety-native-card__grade{
    white-space:nowrap;
}
.tsl-safety-native-card__meta{
    white-space:nowrap;
}

/* Disable the old standalone public-profile Safety card from v0.1.1. */
#tracks.tracks-individual .tsl-safety-rating-card--hero{
    display:none!important;
}

@media(max-width:700px){
    .tsl-safety-overall-pair{
        gap:6px!important;
        max-width:100%;
    }
    .tsl-safety-overall-pair > *{
        min-width:0!important;
    }
}

/* v0.1.3 - restore the original public Driver Profile Safety Rating card. */
#tracks.tracks-individual .tsl-safety-rating-card--hero{
    display:grid!important;
}

/*
 * The compact Safety + Overall pair remains enabled in Racing Data.
 * It is no longer injected on the public individual profile.
 */

/* v0.1.4 - Racing Data Safety uses the public-profile visual language,
   but is dimensioned to sit directly beside Overall. */
.tsl-safety-rating-card--racing-summary{
    position:static!important;
    display:grid!important;
    grid-template-columns:minmax(68px,1fr) 40px!important;
    grid-template-areas:
        "label grade"
        "meta grade"!important;
    align-items:center!important;
    column-gap:9px!important;
    min-width:132px!important;
    max-width:190px;
    margin:0!important;
    padding:8px 10px!important;
    border-radius:10px!important;
    box-shadow:none!important;
}
.tsl-safety-rating-card--racing-summary>span{
    font-size:8px!important;
    line-height:1.15!important;
}
.tsl-safety-rating-card--racing-summary>strong{
    width:40px!important;
    height:40px!important;
    border-radius:10px!important;
    font-size:23px!important;
}
.tsl-safety-rating-card--racing-summary>small{
    margin-top:2px!important;
    font-size:8px!important;
    line-height:1!important;
}

.tsl-safety-overall-pair{
    display:inline-flex!important;
    align-items:stretch!important;
    justify-content:flex-end!important;
    gap:8px!important;
    margin-left:auto!important;
    vertical-align:middle;
}
.tsl-safety-overall-pair > *{
    flex:0 0 auto!important;
}

/* Public Driver Rating - Overall next to Recent Form */
.tsl-public-driver-overall{
    display:flex;
    align-items:baseline;
    gap:5px;
    box-sizing:border-box;
    padding:11px 14px;
    border:1px solid #dfe4e8;
    border-radius:10px;
    background:#f5f6f8;
    color:#252b32;
}
.tsl-public-driver-overall>span{
    color:#7d8792;
    font-size:9px;
    font-weight:950;
    letter-spacing:.08em;
}
.tsl-public-driver-overall>strong{
    margin-left:auto;
    font-size:24px;
    line-height:1;
    font-weight:950;
}
.tsl-public-driver-overall>small{
    color:#9aa2ab;
    font-size:9px;
    font-weight:800;
}

@media(max-width:700px){
    .tsl-safety-overall-pair{
        gap:6px!important;
    }
    .tsl-safety-rating-card--racing-summary{
        min-width:118px!important;
    }
}
