.hugo-exam-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: end;
    margin: 6px 0 18px;
    padding: 16px 18px;
    border-block: 1px solid rgba(137, 93, 113, 0.18);
    background: rgba(255, 250, 252, 0.56);
}

.hugo-part-filter {
    min-width: 0;
}

.hugo-part-filter__label {
    display: flex;
    gap: 10px;
    align-items: baseline;
    margin-bottom: 9px;
}

.hugo-part-filter__label strong {
    color: #40363b;
    font-size: 0.82rem;
}

.hugo-part-filter__label span {
    color: #786c72;
    font-size: 0.72rem;
}

.hugo-part-filter__buttons {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    max-width: 620px;
}

.hugo-part-btn {
    display: flex;
    min-height: 40px;
    gap: 8px;
    align-items: center;
    justify-content: center;
    padding: 8px 11px;
    border: 1px solid #d9cdd3;
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.78);
    color: #51464b;
    cursor: pointer;
    font: inherit;
    font-size: 0.78rem;
    font-weight: 800;
}

.hugo-part-btn > span {
    min-width: 24px;
    padding: 2px 5px;
    border-radius: 4px;
    background: #eee7ea;
    color: #73666c;
    font-size: 0.65rem;
}

.hugo-part-btn:hover,
.hugo-part-btn:focus-visible {
    border-color: #a85f7d;
    outline: none;
}

.hugo-part-btn.is-active {
    border-color: #a85f7d;
    background: #a85f7d;
    color: #fff;
}

.hugo-part-btn.is-active > span {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.hugo-suite-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(150px, 1fr));
    gap: 8px;
}

.hugo-suite-btn {
    display: grid;
    min-height: 58px;
    align-content: center;
    padding: 9px 13px;
    border: 1px solid #c9b9c1;
    border-radius: 7px;
    background: #fff;
    color: #514149;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.hugo-suite-btn strong {
    font-size: 0.8rem;
}

.hugo-suite-btn span {
    margin-top: 3px;
    color: #80727a;
    font-size: 0.66rem;
}

.hugo-suite-btn:hover,
.hugo-suite-btn:focus-visible {
    border-color: #7a8eaf;
    background: #f5f7fb;
    outline: none;
}

.hugo-suite-btn--primary {
    border-color: #647fa9;
    background: #647fa9;
    color: #fff;
}

.hugo-suite-btn--primary span {
    color: rgba(255, 255, 255, 0.78);
}

.hugo-suite-btn--primary:hover,
.hugo-suite-btn--primary:focus-visible {
    border-color: #526b92;
    background: #526b92;
}

.hugo-suite-btn:disabled {
    cursor: wait;
    opacity: 0.62;
}

.hugo-dashboard-v2 #browse-view #type-filter-buttons {
    display: none;
}

body.bloom-dark-mode .hugo-exam-toolbar,
body.blue-dark-mode .hugo-exam-toolbar {
    background: color-mix(in srgb, var(--text-primary) 48%, transparent);
}

body.bloom-dark-mode .hugo-part-filter__label strong,
body.blue-dark-mode .hugo-part-filter__label strong,
body.bloom-dark-mode .hugo-part-btn,
body.blue-dark-mode .hugo-part-btn,
body.bloom-dark-mode .hugo-suite-btn,
body.blue-dark-mode .hugo-suite-btn {
    color: var(--surface-subtle);
}

body.bloom-dark-mode .hugo-part-filter__label span,
body.blue-dark-mode .hugo-part-filter__label span,
body.bloom-dark-mode .hugo-suite-btn span,
body.blue-dark-mode .hugo-suite-btn span {
    color: color-mix(in srgb, var(--surface-subtle) 74%, transparent);
}

body.bloom-dark-mode .hugo-part-btn,
body.blue-dark-mode .hugo-part-btn,
body.bloom-dark-mode .hugo-suite-btn,
body.blue-dark-mode .hugo-suite-btn {
    background: color-mix(in srgb, var(--text-primary) 66%, transparent);
}

body.bloom-dark-mode .hugo-part-btn.is-active,
body.blue-dark-mode .hugo-part-btn.is-active {
    background: #a85f7d;
}

body.bloom-dark-mode .hugo-suite-btn--primary,
body.blue-dark-mode .hugo-suite-btn--primary {
    background: #647fa9;
}

@media (max-width: 980px) {
    .hugo-exam-toolbar {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
}

@media (max-width: 720px) {
    .hugo-part-filter__buttons,
    .hugo-suite-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
