.cp-learning-table { display: grid; gap: 12px; }
.cp-learning-toolbar { display: flex; flex-wrap: wrap; gap: 8px; }
.cp-learning-toolbar button {
    min-height: 34px;
    padding: 7px 12px;
    border: 1px solid #d5deeb;
    border-radius: 999px;
    background: #fff;
    color: #43506a;
    font: inherit;
    font-size: 13px;
    font-weight: 750;
    cursor: pointer;
}
.cp-learning-toolbar button:hover,
.cp-learning-toolbar button:focus-visible { border-color: #2457d6; color: #173f9f; }
.cp-learning-toolbar button.is-active { border-color: #2457d6; background: #edf3ff; color: #173f9f; }
.cp-campus-table--learning tr.is-updating { opacity: .58; pointer-events: none; }
.cp-campus-table--learning .cp-campus-material { position: relative; padding-right: 40px; }
.cp-learning-favorite {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-flex !important;
    width: 32px;
    height: 32px;
    min-width:32px;
    min-height:32px;
    align-items:center;
    justify-content:center;
    padding:0 !important;
    border: 1px solid #d5deeb;
    border-radius: 999px;
    background: #fff;
    color: #8994a8;
    font-size:0 !important;
    line-height:0 !important;
    cursor: pointer;
}
.cp-learning-favorite > span { position:absolute; top:50%; left:50%; display:block !important; width:17px; height:17px; margin:0 !important; line-height:0 !important; transform:translate(-50%,-50%); }
.cp-learning-favorite svg { display:block !important; width:100% !important; height:100% !important; margin:0 !important; overflow:visible; }
.cp-learning-favorite svg path { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linejoin:round; }
.cp-learning-favorite.is-active svg path { fill:currentColor; }
.cp-learning-favorite.is-active { border-color: #e1aa24; background: #fff9e8; color: #be8200; }
.cp-learning-progress-select {
    min-width: 132px;
    min-height: 36px;
    padding: 6px 28px 6px 10px;
    border: 1px solid #ccd6e5;
    border-radius: 9px;
    background: #fff;
    color: #172033;
    font-size: 13px;
}
.cp-learning-live { min-height: 18px; margin: 10px 0 0; color: #157347; font-size: 13px; }
.cp-learning-live.is-error,
.cp-dashboard-live.is-error { color: #a52626; }
@media (max-width: 760px) {
    .cp-learning-toolbar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cp-learning-toolbar button { width: 100%; }
}
