.les-profile {
    display: flex;
    flex-direction: column;
    gap: 18px;
    color: #173f60;
}

.les-profile-stage,
.les-history-stage {
    overflow: hidden;
    border: 1px solid #d7e3ec;
    border-radius: 10px;
    background: #fff;
}

.les-profile-heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 7px 20px 9px;
    background: #123f63;
    text-align: center;
}

.les-profile-heading small,
.les-history-heading small {
    color: #bcd7e9;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .15em;
}

.les-profile-heading h2 {
    margin: 0;
    color: #fff;
    font-size: 19px;
    line-height: 1.15;
}

.les-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: #f5f8fb;
    border-bottom: 1px solid #dfe8ef;
}

.les-summary-kpi {
    position: relative;
    min-width: 0;
    padding: 11px 18px 10px;
    border-right: 1px solid #dfe8ef;
}

.les-summary-kpi:last-child { border-right: 0; }
.les-summary-kpi.is-accent { background: #edf6fc; }
.les-summary-kpi.is-accent::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: #2185c5;
}

.les-summary-kpi-label {
    display: block;
    min-height: 16px;
    color: #637d92;
    font-size: 10px;
    font-weight: 650;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: .045em;
}

.les-summary-kpi-value {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin: 3px 0 2px;
}

.les-summary-kpi-value strong {
    color: #123f63;
    font-family: var(--font-display, "Barlow Condensed", "Arial Narrow", sans-serif);
    font-size: 29px;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.les-summary-kpi-value span {
    color: #496b84;
    font-size: 12px;
    font-weight: 650;
}

.les-summary-kpi small {
    color: #899aa8;
    font-size: 9px;
}

.les-insight-row {
    display: grid;
    grid-template-columns: .85fr 1.15fr 1.15fr 1.05fr;
    gap: 0;
    padding: 0 20px;
}

.les-insight,
.les-insight-status {
    min-width: 0;
    padding: 9px 16px;
    border-right: 1px solid #e7edf2;
}

.les-insight-row > :last-child { border-right: 0; }
.les-insight span,
.les-insight-status span {
    display: block;
    margin-bottom: 4px;
    color: #8496a5;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .1em;
}

.les-insight strong,
.les-insight-status strong {
    display: block;
    overflow: hidden;
    color: #173f60;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.les-insight small {
    display: block;
    overflow: hidden;
    margin-top: 2px;
    color: #7890a3;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.les-insight-status {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.les-insight-status strong { color: #27805e; }
.les-insight-status.is-active strong { color: #b64a43; }

.les-history-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 13px 18px;
    background: #123f63;
}

.les-history-heading > div {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.les-history-heading h3 {
    margin: 0;
    color: #fff;
    font-size: 19px;
}

.les-history-heading > span {
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 5px;
    padding: 6px 10px;
    color: #d8e9f5;
    font-size: 11px;
    font-weight: 650;
}

.les-history-frame { background: #fff; }

.les-profile-empty {
    padding: 58px 20px;
    text-align: center;
}

.les-profile-empty strong { font-size: 18px; }
.les-profile-empty p { margin: 6px 0 0; color: #7890a3; }

@media (max-width: 1050px) {
    .les-summary-grid { grid-template-columns: repeat(2, 1fr); }
    .les-summary-kpi:nth-child(2) { border-right: 0; }
    .les-summary-kpi:nth-child(-n+2) { border-bottom: 1px solid #dfe8ef; }
    .les-insight-row { grid-template-columns: repeat(2, 1fr); }
    .les-insight-row > :nth-child(2) { border-right: 0; }
    .les-insight-row > :nth-child(-n+2) { border-bottom: 1px solid #e7edf2; }
}

@media (max-width: 650px) {
    .les-summary-grid,
    .les-insight-row { grid-template-columns: 1fr; }
    .les-summary-kpi,
    .les-insight,
    .les-insight-status { border-right: 0; border-bottom: 1px solid #e7edf2; }
    .les-history-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
}
