/* ==========================================
   goods.css — 商品管理（B2.1）
   ========================================== */

.gds-toolbar {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-lg);
    flex-wrap: wrap;
}

.gds-toolbar .gds-search {
    width: 280px;
    min-width: 180px;
}

.gds-toolbar .gds-filter {
    width: 140px;
}

/* 输入框 + 字典选择按钮 */
.gds-field-with-btn {
    display: flex;
    gap: 6px;
    align-items: center;
}

.gds-field-with-btn .form-control,
.gds-field-with-btn .form-select {
    flex: 1;
    min-width: 0;
}

.gds-field-with-btn .btn {
    flex-shrink: 0;
}

.gds-table-wrap {
    overflow-x: auto;
    background: var(--color-card);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.gds-table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
}

.gds-table th,
.gds-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--color-border-light);
    font-size: var(--font-size-sm);
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
}

.gds-table th {
    color: var(--color-text-tertiary);
    font-weight: 600;
    background: var(--color-bg);
}

.gds-table tbody tr:last-child td {
    border-bottom: none;
}

.gds-table tbody tr:hover {
    background: var(--color-table-hover);
}

.gds-table .gds-code {
    font-family: 'SF Mono', 'Consolas', 'Menlo', monospace;
    font-size: 12px;
    color: var(--color-text-secondary);
}

.gds-table .gds-name {
    font-weight: 500;
    color: var(--color-text);
}

.gds-row-inactive .gds-name {
    color: var(--color-text-tertiary);
    text-decoration: line-through;
}

.gds-actions {
    display: flex;
    gap: 4px;
    justify-content: flex-end;
}

/* 分页 */
.gds-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-md) 0 0;
    flex-wrap: wrap;
}

.gds-pagination .page-info {
    font-size: 13px;
    color: var(--color-text-tertiary);
}

.gds-pagination .page-btns {
    display: flex;
    gap: 4px;
}

.gds-pagination .page-btns button {
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    border: 1px solid var(--color-border-light);
    background: var(--color-card);
    color: var(--color-text-secondary);
    border-radius: var(--radius-sm);
    font-size: 13px;
    cursor: pointer;
    transition: all var(--transition-fast) var(--ease-out);
}

.gds-pagination .page-btns button:hover:not(:disabled) {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.gds-pagination .page-btns button.active {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
}

.gds-pagination .page-btns button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* 商品选择器（合同内） */
.gds-picker-toolbar {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-md);
    flex-wrap: wrap;
}

.gds-picker-toolbar input {
    flex: 1 1 260px;
    min-width: 0;
    max-width: 100%;
}

.gds-picker-wrap {
    max-height: 50vh;
    overflow: auto;
    border: 1px solid var(--color-border);
    border-radius: 8px;
}

.gds-picker-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.gds-picker-table th,
.gds-picker-table td {
    padding: 8px 10px;
    border-bottom: 1px solid var(--color-border-light);
    text-align: left;
    white-space: nowrap;
}

.gds-picker-table th {
    position: sticky;
    top: 0;
    background: var(--color-card);
    color: var(--color-text-tertiary);
    font-weight: 600;
    z-index: 1;
}

.gds-picker-row {
    cursor: pointer;
}

.gds-picker-row:hover {
    background: var(--color-table-hover);
}

.gds-picker-row.active {
    background: var(--color-primary-bg);
}

.gds-picker-row:last-child td {
    border-bottom: none;
}

[data-theme="dark"] .gds-table th {
    background: rgba(255, 255, 255, 0.04);
}

[data-theme="dark"] .gds-table th,
[data-theme="dark"] .gds-table td {
    border-bottom-color: var(--color-border);
}

[data-theme="dark"] .gds-pagination .page-btns button {
    background: var(--color-card);
    border-color: var(--color-border);
}

@media (max-width: 768px) {
    .gds-toolbar .gds-search {
        width: 100%;
    }

    .gds-toolbar .gds-filter {
        flex: 1;
        min-width: 120px;
    }

    .gds-toolbar .ms-auto {
        margin-left: 0 !important;
        width: 100%;
    }
}
