/* SkyEye HF12 MEASURED ROUTE V3 */

.hf12-measured-controls{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px;
    margin:8px 0 10px;
    padding:10px 11px;
    border:1px solid #cfe0eb;
    border-radius:10px;
    background:#f7fbfe;
}

.hf12-measured-title{
    flex:1 1 420px;
}

.hf12-measured-title strong{
    display:block;
    font-size:12px;
    color:#1f2937;
}

.hf12-measured-title span{
    display:block;
    margin-top:3px;
    max-width:760px;
    font-size:10px;
    line-height:1.4;
    color:#667085;
}

.hf12-measured-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:6px;
}

.hf12-measured-live{
    display:none;
    min-height:32px;
    align-items:center;
    padding:0 10px;
    border-radius:7px;
    background:#e7f4fb;
    color:#126b9c;
    font-size:11px;
    font-weight:900;
    white-space:nowrap;
}

.hf12-measured-live.active{
    display:inline-flex;
}


/* Appearance editor */

.hf12-route-style-panel{
    margin:10px 0;
    border:1px solid #d8dee5;
    border-radius:11px;
    background:#fff;
    overflow:hidden;
}

.hf12-route-style-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    padding:10px 12px;
    border-bottom:1px solid #e8ebef;
    background:#fafbfc;
}

.hf12-route-style-heading>div{
    flex:1;
}

.hf12-route-style-heading>div>strong{
    display:block;
    font-size:12px;
    color:#1f2937;
}

.hf12-route-style-heading>div>span{
    display:block;
    margin-top:2px;
    color:#667085;
    font-size:10px;
}

.hf12-route-style-heading label{
    min-width:260px;
    margin:0!important;
    font-size:9px!important;
    color:#667085;
}

.hf12-route-style-heading select{
    display:block;
    width:100%;
    height:34px;
    margin-top:3px;
    font-size:10px;
}

.hf12-route-style-grid{
    display:grid;
    grid-template-columns:
        minmax(190px,0.8fr)
        minmax(240px,1fr)
        minmax(240px,1fr)
        minmax(220px,0.9fr);
    gap:12px;
    padding:12px;
}

.hf12-style-field{
    min-width:0;
}

.hf12-style-field>label{
    display:block;
    margin:0 0 6px!important;
    color:#667085;
    font-size:9px!important;
    font-weight:800!important;
}

.hf12-style-field select{
    width:100%;
    height:36px;
    font-size:10px;
}

.hf12-color-controls{
    display:grid;
    grid-template-columns:48px 1fr;
    gap:6px;
}

#hf12RouteColor{
    width:48px;
    min-width:48px;
    height:36px;
    padding:2px;
    border-radius:6px;
    cursor:pointer;
}

#hf12RouteHex{
    height:36px;
    font-family:
        ui-monospace,
        SFMono-Regular,
        Consolas,
        monospace;
    text-transform:uppercase;
}

.hf12-range-controls{
    display:grid;
    grid-template-columns:1fr 68px;
    align-items:center;
    gap:8px;
}

.hf12-range-controls input[type="range"]{
    width:100%;
    min-width:100px;
}

.hf12-range-controls input[type="number"]{
    height:34px;
    min-width:0;
}

.hf12-number-suffix{
    position:relative;
}

.hf12-number-suffix input{
    width:100%;
    padding-right:22px!important;
}

.hf12-number-suffix span{
    position:absolute;
    right:8px;
    top:50%;
    transform:translateY(-50%);
    color:#667085;
    font-size:10px;
    pointer-events:none;
}

.hf12-route-style-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:50px;
    gap:12px;
    padding:8px 12px;
    border-top:1px solid #e8ebef;
    background:#fafbfc;
}

.hf12-route-style-footer>span{
    color:#667085;
    font-size:10px;
}

.hf12-route-style-footer>div{
    display:flex;
    gap:6px;
}


/* Saved-route selector */

.hf12-measured-saved{
    display:grid;
    gap:6px;
    margin:8px 0 12px;
}

.hf12-measured-route-row{
    position:relative;
    display:grid;
    grid-template-columns:42px 1fr auto;
    align-items:center;
    width:100%;
    gap:10px;
    padding:8px 10px;
    border:1px solid #d9e4eb;
    border-radius:8px;
    background:#fff;
    text-align:left;
    cursor:pointer;
}

.hf12-measured-route-row:hover{
    border-color:#a8cadf;
    background:#fafdff;
}

.hf12-measured-route-row.selected{
    border-color:#278dcc;
    box-shadow:0 0 0 1px rgba(39,141,204,.12);
}

.hf12-measured-swatch{
    display:block;
    width:36px;
    border-radius:999px;
}

.hf12-measured-route-name strong,
.hf12-measured-route-name small,
.hf12-measured-route-stats strong,
.hf12-measured-route-stats small{
    display:block;
}

.hf12-measured-route-name strong{
    font-size:11px;
    color:#1f2937;
}

.hf12-measured-route-name small{
    margin-top:2px;
    color:#667085;
    font-size:9px;
}

.hf12-measured-route-stats{
    text-align:right;
    white-space:nowrap;
}

.hf12-measured-route-stats strong{
    color:#1475aa;
    font-size:14px;
    font-weight:900;
}

.hf12-measured-route-stats small{
    margin-top:1px;
    color:#667085;
    font-size:9px;
}

.hf12-measured-empty{
    padding:7px 9px;
    border-radius:7px;
    background:#f3f4f6;
    color:#667085;
    font-size:10px;
}


/*
 * Leaflet round joins.
 * Feature-specific lineCap/lineJoin is also set from JS.
 */
#courseMap .leaflet-overlay-pane svg path{
    stroke-linecap:round;
    stroke-linejoin:round;
}


@media(max-width:1150px){
    .hf12-route-style-grid{
        grid-template-columns:
            repeat(2,minmax(220px,1fr));
    }
}

@media(max-width:760px){
    .hf12-measured-actions{
        width:100%;
        justify-content:flex-start;
    }

    .hf12-measured-live{
        width:100%;
    }

    .hf12-route-style-heading{
        align-items:stretch;
        flex-direction:column;
    }

    .hf12-route-style-heading label{
        min-width:0;
    }

    .hf12-route-style-grid{
        grid-template-columns:1fr;
    }

    .hf12-route-style-footer{
        align-items:stretch;
        flex-direction:column;
    }

    .hf12-route-style-footer>div{
        justify-content:flex-end;
    }
}
