/*
 * RadarČeska — Rail Live Intelligence v1.0.0
 */

.rli-shell{
    margin-top:18px;
    padding:20px;

    border:1px solid #dce5e7;
    border-radius:20px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.98),
            rgba(248,251,251,.98)
        );

    box-shadow:
        0 14px 34px rgba(23,48,55,.055);
}

.rli-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;

    margin-bottom:16px;
}

.rli-eyebrow{
    display:block;

    margin-bottom:4px;

    color:#6d8085;

    font-size:11px;
    font-weight:800;
    letter-spacing:.09em;
}

.rli-head h2{
    margin:0;

    color:#20353b;

    font-size:22px;
    line-height:1.15;
    letter-spacing:-.025em;
}

.rli-head-right{
    display:flex;
    align-items:center;
    gap:8px;

    flex:0 0 auto;

    color:#667a80;

    font-size:12px;
    font-weight:600;
}

.rli-live-dot{
    width:8px;
    height:8px;

    border-radius:50%;

    background:#1aa77d;

    box-shadow:
        0 0 0 4px rgba(26,167,125,.10);
}

.rli-kpis{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;

    margin-bottom:14px;
}

.rli-kpi{
    min-width:0;

    padding:14px 15px;

    border:1px solid #e1e8ea;
    border-radius:15px;

    background:#fff;
}

.rli-kpi span{
    display:block;

    margin-bottom:6px;

    color:#74858a;

    font-size:11px;
    font-weight:750;
    line-height:1.25;
}

.rli-kpi strong{
    display:block;

    color:#21383e;

    font-size:23px;
    font-weight:800;
    line-height:1;
    letter-spacing:-.035em;
}

.rli-grid{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    gap:12px;
}

.rli-card{
    min-width:0;

    overflow:hidden;

    border:1px solid #dde6e8;
    border-radius:16px;

    background:#fff;
}

.rli-card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;

    min-height:62px;
    padding:13px 15px;

    border-bottom:1px solid #edf1f2;
}

.rli-card-head span{
    display:block;

    margin-bottom:2px;

    color:#77898e;

    font-size:10px;
    font-weight:800;
    letter-spacing:.075em;
}

.rli-card-head h3{
    margin:0;

    color:#263d43;

    font-size:16px;
    line-height:1.2;
}

.rli-card-head small{
    color:#809095;

    font-size:11px;
    font-weight:600;
    text-align:right;
}

.rli-train-list{
    display:flex;
    flex-direction:column;
}

.rli-train-row{
    position:relative;

    display:grid;
    grid-template-columns:8px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;

    min-height:66px;
    padding:10px 14px;

    border-bottom:1px solid #eef2f3;

    color:inherit;
    text-decoration:none;

    transition:
        background .14s ease,
        opacity .14s ease;
}

.rli-train-row:last-child{
    border-bottom:0;
}

.rli-train-row:hover,
.rli-train-row:focus-visible{
    background:#f7faf9;

    outline:none;
}

.rli-train-row.is-resolving{
    opacity:.58;
}

.rli-rank-dot{
    width:7px;
    height:7px;

    border-radius:50%;

    background:#aab8bc;
}

.rli-train-copy{
    display:block;

    min-width:0;
}

.rli-train-copy strong,
.rli-train-copy span,
.rli-train-copy small{
    display:block;

    overflow:hidden;

    text-overflow:ellipsis;
    white-space:nowrap;
}

.rli-train-copy strong{
    margin-bottom:2px;

    color:#20383e;

    font-size:14px;
    font-weight:780;
}

.rli-train-copy span{
    color:#546b71;

    font-size:12px;
}

.rli-train-copy small{
    margin-top:2px;

    color:#8a999d;

    font-size:10px;
}

.rli-value{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:68px;

    padding:6px 8px;

    border-radius:10px;

    font-size:12px;
    font-weight:800;
    white-space:nowrap;

    background:#f0f4f5;
    color:#566b70;
}

.rli-value.is-ok{
    background:#edf7f2;
    color:#32745e;
}

.rli-value.is-delay{
    background:#fff5e7;
    color:#9a671f;
}

.rli-value.is-major{
    background:#fff0ea;
    color:#a85536;
}

.rli-value.is-critical{
    background:#fdeceb;
    color:#a94642;
}

.rli-value.is-gained{
    background:#fff0ea;
    color:#a85536;
}

.rli-value.is-recovered{
    background:#edf7f2;
    color:#277257;
}

.rli-trend-section + .rli-trend-section{
    border-top:1px solid #e8edef;
}

.rli-trend-label{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;

    padding:10px 14px 8px;

    background:#fafcfc;

    color:#718388;

    font-size:10px;
    font-weight:850;
    letter-spacing:.065em;
}

.rli-trend-label b{
    color:#90a0a4;

    font-size:9px;
    font-weight:700;
    letter-spacing:0;
}

.rli-empty{
    padding:17px 15px;

    color:#77898e;

    font-size:12px;
    line-height:1.45;
}

.rli-method{
    display:flex;
    justify-content:space-between;
    gap:16px;

    margin:12px 2px 0;

    color:#87969a;

    font-size:10px;
    line-height:1.4;
}

.rli-method span:last-child{
    text-align:right;
}

.rli-shell:not(.is-ready) .rli-kpi strong{
    color:#9aa7aa;
}

.rli-shell.is-error .rli-live-dot{
    background:#aeb9bc;

    box-shadow:none;
}


@media(max-width:780px){

    .rli-shell{
        margin-top:12px;
        padding:13px;

        border-radius:17px;
    }

    .rli-head{
        gap:10px;

        margin-bottom:12px;
    }

    .rli-head h2{
        font-size:19px;
    }

    .rli-head-right{
        margin-top:2px;

        font-size:10px;
    }

    .rli-kpis{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;

        margin-bottom:10px;
    }

    .rli-kpi{
        padding:11px 12px;

        border-radius:13px;
    }

    .rli-kpi span{
        min-height:27px;

        margin-bottom:4px;

        font-size:10px;
    }

    .rli-kpi strong{
        font-size:20px;
    }

    .rli-grid{
        grid-template-columns:1fr;
        gap:10px;
    }

    .rli-card{
        border-radius:14px;
    }

    .rli-card-head{
        min-height:55px;
        padding:11px 12px;
    }

    .rli-card-head h3{
        font-size:15px;
    }

    .rli-card-head small{
        max-width:125px;

        font-size:9px;
    }

    .rli-train-row{
        min-height:61px;
        padding:9px 11px;

        grid-template-columns:7px minmax(0,1fr) auto;
        gap:8px;
    }

    .rli-train-copy strong{
        font-size:13px;
    }

    .rli-train-copy span{
        font-size:11px;
    }

    .rli-value{
        min-width:61px;

        padding:5px 7px;

        font-size:11px;
    }

    .rli-method{
        display:block;

        margin-top:10px;
    }

    .rli-method span{
        display:block;
    }

    .rli-method span:last-child{
        margin-top:3px;

        text-align:left;
    }
}


@media(max-width:430px){

    .rli-head-right{
        max-width:110px;

        text-align:right;
    }

    .rli-train-copy small{
        display:none;
    }

    .rli-train-row{
        min-height:57px;
    }
}

/* v1.0.1 semantic + mobile polish */

.rli-kpi small{
    display:block;

    margin-top:5px;

    color:#94a1a5;

    font-size:9px;
    font-weight:600;
    line-height:1.25;
}


@media(max-width:780px){

    /*
     * Keep the live dashboard compact on mobile.
     * Data remain in the API; only the first rows are
     * shown in the landing-page overview.
     */

    #rliDelayedList
    .rli-train-row:nth-child(n+5){
        display:none;
    }

    #rliGainedList
    .rli-train-row:nth-child(n+4),
    #rliRecoveredList
    .rli-train-row:nth-child(n+4){
        display:none;
    }

    .rli-kpi small{
        font-size:8px;
    }
}
