.qf1-box{
    padding:20px;
    border:1px solid #ddd;
    background:#f9f9f9;
}

.qf1-box h2{
    margin-top:0;
}

.qf1-ranking table{
    border-collapse:collapse;
    width:100%;
}

.qf1-ranking th,
.qf1-ranking td{
    border:1px solid #ddd;
    padding:8px;
    text-align:center;
}

.ok{
    color:#27ae60;
    font-weight:bold;
}

.error{
    color:#c0392b;
    font-weight:bold;
}

.qf1-resultados table {
    width:100%;
    border-collapse:collapse;
    margin-top:15px;
}

.qf1-resultados th,
.qf1-resultados td {
    border:1px solid #ddd;
    padding:6px;
    text-align:center;
}

.qf1-resultados th {
    background:#f4f4f4;
}

table.qf1-table thead {
    font-size: .8em;
}

.qf1-table {
    width:100%;
    border-collapse: collapse;
}

.qf1-table th,
.qf1-table td {
    padding:8px;
    text-align:center;
}

.qf1-pro-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:20px;
}

.qf1-pro-card{
    background:#111;
    color:#fff;
    padding:20px;
    border-radius:12px;
    border:1px solid #222;
    box-shadow:0 10px 25px rgba(0,0,0,0.4);
}

.qf1-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.qf1-pos{
    background:#e10600;
    padding:5px 10px;
    border-radius:20px;
    font-weight:bold;
}

.qf1-main-stats{
    display:flex;
    justify-content:space-between;
    margin:15px 0;
}

.qf1-main-stats div{
    text-align:center;
}

.qf1-main-stats span{
    display:block;
    font-size:12px;
    opacity:0.7;
}

.qf1-ultima{
    background:#1c1c1c;
    padding:10px;
    border-radius:8px;
    margin-bottom:10px;
}

.badge{
    background:gold;
    color:#000;
    padding:3px 8px;
    border-radius:10px;
    margin-left:8px;
    font-size:12px;
}

.qf1-wildcard .usada{
    color:#e10600;
}

.qf1-wildcard .disponible{
    color:#2ecc71;
}

.qf1-btn{
    display:inline-block;
    margin-top:10px;
    padding:8px 15px;
    background:#e10600;
    color:#fff;
    text-decoration:none;
    border-radius:5px;
}

.qf1-btn:hover{
    background:#b00000;
}

.qf1-login-box{
    max-width:400px;
    margin:60px auto;
    padding:30px;
    background:#111;
    color:#fff;
    border-radius:12px;
}

.qf1-login-box input{
    width:100%;
    padding:10px;
    margin-bottom:15px;
}

.qf1-login-box button{
    width:100%;
    padding:12px;
    background:#e10600;
    color:#fff;
    border:none;
    border-radius:6px;
    font-weight:bold;
}

.qf1-historial-pro {
    margin-top:20px;
}

.qf1-carrera-pro {
    margin-bottom:15px;
    border-radius:10px;
    overflow:hidden;
    border:1px solid #e5e5e5;
}

.qf1-carrera-header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:#111;
    color:#fff;
    padding:12px 15px;
    cursor:pointer;
    font-weight:600;
}

.qf1-badge-pos {
    background:#e10600;
    padding:4px 8px;
    border-radius:6px;
}

.qf1-total-carrera {
    font-size:18px;
    font-weight:bold;
}

.qf1-carrera-body {
    display:none;
    padding:15px;
    background:#fafafa;
}

.qf1-carrera-body.open {
    display:block;
}

.qf1-desglose p {
    margin:5px 0;
}

.qf1-total-line {
    font-weight:bold;
    margin-top:10px;
    border-top:1px solid #ddd;
    padding-top:8px;
}

.qf1-seleccion-usada ul {
    margin:10px 0 0 15px;
}

.qf1-race-header {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    padding: 12px 15px;
    background: #373434;
    color: #fff;
    border-radius: 6px;
}

.qf1-race-content {
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease;
    background: #302c2c;
    padding: 0 15px;
}

.qf1-race-content.open {
    max-height: 500px;
    padding: 15px;
}

.arrow {
    display:inline-block;
    margin-right:6px;
    transition: transform .3s ease;
}

.qf1-race-content.open ~ .arrow {
    transform: rotate(90deg);
}

.qf1-breakdown{
    font-size:14px;
}

.qf1-driver-row,
.qf1-constructor-row{
    margin-bottom: 10px;
    padding: 10px;
    background: black;
    border-radius: 6px;
}

.qf1-points-line{
    font-size:13px;
    margin-top:4px;
}

.qf1-wildcard-badge{
    background:#c0392b;
    color:#fff;
    padding:2px 6px;
    border-radius:4px;
    font-size:11px;
    margin-left:6px;
}

.qf1-total-final{
    font-size:16px;
    margin-top:10px;
}

.qf1-sprint-badge{
    background: linear-gradient(90deg,#ff0000,#ff7a00);
    color:#fff;
    font-size:10px;
    font-weight:800;
    padding:4px 10px;
    border-radius:4px;
    text-transform:uppercase;
}

@media(max-width:768px){
    .qf1-table thead {
        display:none;
    }

    .qf1-table tr {
        display:block;
        margin-bottom:10px;
        background:#f9f9f9;
        padding:10px;
    }

    .qf1-table td {
        display:flex;
        justify-content:space-between;
    }
}