/* 库存显示样式：数量 / 进度条 / 状态 */
.stock-number,
.stock-status {
    vertical-align: middle;
}

.stock-number {
    font-weight: 600;
    white-space: nowrap;
}

.stock-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
}

.stock-status-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

.stock-status-sufficient {
    color: #1f9d6b;
    background: rgba(66, 210, 157, 0.16);
}

.stock-status-tight {
    color: #b7791f;
    background: rgba(249, 188, 13, 0.18);
}

.stock-status-out {
    color: #d64545;
    background: rgba(250, 103, 103, 0.16);
}

.stock-progress {
    display: block;
    width: 100%;
    min-width: 60px;
    height: 8px;
    border-radius: 999px;
    background: #e9ecef;
    overflow: hidden;
}

.stock-progress-bar {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #000;
    transition: width 0.3s ease;
}

.stock-progress-out {
    background: rgba(250, 103, 103, 0.18);
}

.stock-progress-out .stock-progress-bar {
    background: #fa6767;
}

.stock-progress-tight,
.stock-progress-sufficient {
    background: #e9ecef;
}

.stock-progress-tight .stock-progress-bar,
.stock-progress-sufficient .stock-progress-bar {
    background: #000;
}

td .stock-progress {
    max-width: 160px;
    margin: 0 auto;
}

.home-badge .stock-progress {
    margin-top: 2px;
}

/* 商品卡片：库存展示移到购买按钮下方，避免进度条被浮动按钮遮挡 */
.home-card .stock-display-card {
    clear: both;
    margin-top: 0.35rem;
}

/* 商品详情页：进度条保持行内尺寸，避免独占整行 */
.stock-display-buy .stock-progress {
    display: inline-block;
    width: 120px;
    margin: 0 4px;
    vertical-align: middle;
}
