.progressbar-widget {
    position: relative;
    width: 100%;
    height: 24px;
    /* The fill/label children are absolutely positioned (out of flow),
       so the element has no intrinsic content height.  In a vertical
       Box, the layout forces inline ``height: auto`` on children, which
       would collapse this to 0.  ``min-height`` survives that override
       (and the Box strips it only for stretch>0 children that should be
       free to shrink), keeping the bar visible. */
    min-height: 24px;
    background-color: #ddd;
    border: 1px solid #aaa;
    border-radius: 3px;
    overflow: hidden;
    box-sizing: border-box;
}

.progressbar-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0%;
    background-color: #4080d0;
    transition: width 0.15s ease;
}

.progressbar-label {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: bold;
    color: #333;
    text-shadow:
        -1px -1px 0 rgba(255,255,255,0.7),
         1px -1px 0 rgba(255,255,255,0.7),
        -1px  1px 0 rgba(255,255,255,0.7),
         1px  1px 0 rgba(255,255,255,0.7);
}
