.progress{height:8px;background:rgba(255,255,255,.1);border-radius:var(--radius-sm);overflow:hidden}.progress--lg{height:12px}.progress--xl{height:20px;border-radius:10px}.progress__fill{height:100%;border-radius:inherit;transition:width var(--transition-base)}.progress__fill--primary{background:var(--gradient-accent)}.progress__fill--success{background:var(--gradient-success)}.progress__fill--warning{background:var(--gradient-warning)}.progress__fill--danger{background:var(--gradient-danger)}.progress__fill--info{background:var(--gradient-info)}.progress--animated .progress__fill{position:relative;overflow:hidden}.progress--animated .progress__fill::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:1.5s infinite progress-shimmer}@keyframes progress-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.progress-labeled{margin-bottom:var(--space-md)}.progress-labeled__header{display:flex;justify-content:space-between;margin-bottom:var(--space-xs)}.progress-labeled__name{font-size:var(--font-sm);color:var(--text-secondary)}.progress-labeled__value{font-size:var(--font-sm);font-weight:var(--font-weight-medium)}.progress-labeled__value--complete{color:var(--success)}.progress-labeled__value--partial{color:var(--warning)}.progress-labeled__value--low{color:var(--danger)}.progress-labeled__footer{font-size:var(--font-xs);color:var(--text-muted);margin-top:var(--space-xs)}.cap-mini{display:flex;flex-direction:column;gap:var(--space-xs)}.cap-mini__row{display:flex;align-items:center;gap:var(--space-sm)}.cap-mini__label{font-size:var(--font-xs);color:var(--text-muted);width:40px;flex-shrink:0}.cap-mini__bar{flex:1;height:6px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden}.cap-mini__fill{height:100%;border-radius:3px;transition:width var(--transition-base)}.cap-mini__fill--complete{background:var(--success)}.cap-mini__fill--partial{background:var(--warning)}.cap-mini__fill--low{background:var(--danger)}.cap-mini__value{font-size:var(--font-xs);color:var(--text-secondary);width:50px;text-align:right;flex-shrink:0}